The first a bug in pax and should be commited to FBSD, too.
[dragonfly.git] / contrib / gcc / ChangeLog
1 2001-10-02  Zack Weinberg  <zack@codesourcery.com>
2
3         * gcc.c (main): Set this_file_error if the appropriate
4         compiler for a language has not been installed.
5
6 2001-09-17  Philip Blundell  <philb@gnu.org>
7
8         * cccp.c (print_help): Fix typos.
9
10 2001-08-29  David O'Brien  <obrien@FreeBSD.org>
11
12         * config/alpha/crtbegin.asm: The normal calling convention for alpha is
13         to re-initialize gp using 'ldgp gp,0(ra)' after a jsr instruction.
14
15 2001-06-19  Bernd Schmidt  <bernds@redhat.com>
16
17         * regmove.c (optimize_reg_copy_3): Do nothing if previous insn
18         carries a REG_EQUIV note.  If it carries REG_EQUAL, delete the
19         note.
20
21 2001-05-22  Bernd Schmidt  <bernds@redhat.com>
22
23         * sparc.md (movsf, movdf): Allow constant to integer reg moves.
24         (movsf, movdf splitters): Always split if there's an alignment
25         problem.
26
27 2001-05-22  David Edelsohn  <dje@watson.ibm.com>
28
29         * rs6000.md (movsfcc,movdfcc): Remove NE case.
30
31 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
32
33         * function.c: Small formatting change to prevent compilation errors
34         on broken hpux systems.
35
36         * expr.c (protect_from_queue): Protect against subsequent calls to
37         emit_queue.
38         (expand_expr, case ADDR_EXPR): Prevent protect_from_queue from being
39         too clever.
40
41 2001-04-06  Bernd Schmidt  <bernds@redhat.com>
42
43         2000-10-17  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
44         * function.c (locate_and_pad_parm): Don't align stack unconditionally.
45
46         Thu Oct 28 10:20:02 1999  Geoffrey Keating  <geoffk@cygnus.com>
47         * config/rs6000/rs6000.md (movsf): Don't convert a SUBREG
48         of the function return register into a plain REG until
49         after function inlining is done.
50
51 2001-04-04  Bernd Schmidt  <bernds@redhat.com>
52
53         Fri Nov  5 10:07:25 1999  Nick Clifton  <nickc@cygnus.com>
54         * function.c (is_addressof): New function.  Returns true if
55         the given piece of RTL is an ADDRESSOF.
56         (purge_addressof_1): Make boolean.  Return false if the
57         ADDRESSOFs could not be purged.
58         (purge_addressof): If ADDRESSOFs could not be purged from the
59         notes attached to an insn, remove the offending note(s),
60         unless they are attached to a libcall.
61
62 2001-04-03  Bernd Schmidt  <bernds@redhat.com>
63
64         2001-03-16  Jakub Jelinek  <jakub@redhat.com>
65         * crtstuff.c (init_dummy): Use CRT_END_INIT_DUMMY if defined.
66         Remove ia32 linux PIC kludge and move it...
67         * config/i386/linux.h (CRT_END_INIT_DUMMY): ...here.
68
69         * loop.c (combine_movables): Restrict combinations of constants with
70         different modes so that we don't introduce SUBREGs into memory
71         addresses.
72
73         2001-02-02  Philip Blundell  <philb@gnu.org>
74         * arm/linux-elf.h (MAKE_DECL_ONE_ONLY, UNIQUE_SECTION_P): Define.
75         (UNIQUE_SECTION): Define.                                  
76
77         Wed Aug 25 15:27:22 1999  Gavin Romig-Koch  <gavin@cygnus.com>
78         * combine.c (nonzero_bits) : Allow single-ly set registers to be
79         anywere in the function only if they are pseudos and set before
80         being used (not live at the start of the function).
81         (num_sign_bit_copies) : Same.
82         (get_last_value_validate) : Same.
83         (get_last_value) : Same.
84
85         Fri Mar  3 12:49:28 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
86         * reload1.c (reload_combine_note_use): Handle return register USEs.
87         REG case: Handle multi-hard-register hard regs.
88
89 2001-03-30  Bernd Schmidt  <bernds@redhat.com>
90
91         * jump.c (delete_barrier_successors): Fix error in last change.
92
93         * reload1.c (delete_output_reload): Call eliminate_regs on substed.
94         (reload_as_needed): Call update_eliminable_offsets a bit later.
95
96         * final.c (cleanup_subreg_operands): Also clean up inside MEMs.
97
98         Mon Oct  4 02:31:20 1999  Mark Mitchell  <mark@codesourcery.com>
99         * mips.md: Define conditional move patterns for floating point
100         operands and DI mode conditions.
101
102         2000-11-25  Jakub Jelinek  <jakub@redhat.com>
103         * config/sparc/sparc.md (muldi3_v8plus): Remove H constraint.
104         Handle CONST_INT as second argument.
105
106 2001-03-28  Bernd Schmidt  <bernds@redhat.com>
107
108         * flow.c (propagate_block): When trying to delete a case vector, cope
109         if its label has LABEL_PRESERVE_P set.
110         * jump.c (jump_optimize_1): Move call to delete_barrier_successors to
111         a point where JUMP_LABELS and LABEL_NUSES are set up properly.
112         (delete_barrier_successors): If deleting a table jump, delete the case
113         vector as well.
114         * varasm.c (force_const_mem): If we have a label, set LABEL_PRESERVE_P
115         so it won't get deleted.
116
117 Tue Mar 20 18:31:48 2001  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
118
119         1999-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
120         * c-lex.c (yylex): With -Wtraditional, when the ANSI type of an
121         integer constant does not match the traditional type, limit the
122         warnings to cases where the base of the type is ten.
123
124         * invoke.texi (-Wtraditional): Document it.
125
126 2001-03-20  David O'Brien  <obrien@FreeBSD.org>
127
128         from 2000-07-12  Zack Weinberg  <zack@wolery.cumb.org>
129         * final.c (profile_function): Do not emit profile counters in
130         the data section, if NO_PROFILE_COUNTERS is defined.
131         * tm.texi: Document NO_PROFILE_COUNTERS.  Update doc for
132         FUNCTION_PROFILER.
133
134         from 2000-10-02  David O'Brien  <obrien@dragon.nuxi.com>
135         * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Define.
136
137 2001-03-19  Bernd Schmidt  <bernds@redhat.com>
138
139         * version.c: Bump.
140
141         2000-01-18  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
142         * c-parse.in (SAVE_WARN_FLAGS): Create an INTEGER_CST.
143         (RESTORE_WARN_FLAGS): Unpack it.
144         Change semantic type of extension to ttype.
145         * c-common.c (split_specs_attrs): Expect an INTEGER_CST.
146         * c-parse.y, c-parse.c, objc/objc-parse.y,
147         objc/objc-parse.c: Regenerate.
148
149         Wed Sep  1 09:12:02 1999  Jim Kingdon  <http://developer.redhat.com>
150         * c-parse.in: save and restore warn_pointer_arith on __extension__
151         along with pedantic.
152         (SAVE_WARN_FLAGS, RESTORE_WARN_FLAGS): Added.
153         Set the type of extension to itype rather than $<itype>1 kludge.
154         * extend.texi (Alternate Keywords): Adjust documentation.
155
156         Bring back the sjlj eh fixes.
157         * expr.c (expand_builtin_setjmp_setup): New.
158         (expand_builtin_setjmp_receiver): New.
159         (expand_builtin_setjmp): Split out _setup and _receiver functions.
160         Move argument parsing in from ...
161         (expand_builtin): ... here.
162         * except.c (receive_exception_label): Branch around receiver
163         unless new-style exceptions.  Call expand_builtin_setjmp_receiver.
164         (start_dynamic_handler): Call expand_builtin_setjmp_setup.
165         * expr.h: Update builtin setjmp decls.
166
167 Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt  (bernds@redhat.com)
168
169         * gcc-2.95.3 Released.
170
171 2001-03-12  Kazu Hirata  <kazu@hxi.com>
172
173         * config/h8300/h8300.md (movsi_h8300hs): Split the 2nd alternative
174         into two parts.
175
176 2001-03-12  Bernd Schmidt  <bernds@redhat.co.uk>
177
178         * version.c: Bump.
179
180         * final.c (alter_subreg): Use plus_constant_for_output to match
181         what offsettable_address_p does.
182
183 2001-02-19  Bernd Schmidt  <bernds@redhat.co.uk>
184
185         * version.c: Bump.
186
187         Back out sjlj eh fixes.
188         * varasm.c (force_const_mem): Revert previous change.
189         * except.c (receive_exception_label, start_dynamic_handler):
190         Likewise.
191         * expr.c (expand_builtin_setjmp, expand_builtin_setjmp_setup,
192         expand_builtin_setjmp_receiver, expand_builtin): Likewise.
193         * expr.h (expand_builtin_setjmp, expand_builtin_setjmp_receiver):
194         Likewise.
195
196 2001-01-25  Bernd Schmidt  <bernds@redhat.co.uk>
197
198         * version.c: Bump.
199
200         * varasm.c (force_const_mem): When putting a LABEL_REF into the
201         constant pool, also put it on forced_labels list so that it won't
202         be deleted.
203
204         2000-05-25  Alexandre Oliva  <aoliva@cygnus.com>
205         * emit-rtl.c (reset_used_decls): New function.
206         (unshare_all_rtl_again): Call it.
207
208         2000-05-24  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
209         * emit-rtl.c (unshare_all_decls): New function.
210         (unshare_all_rtl): Call it.
211
212         2000-05-20  Alexandre Oliva  <aoliva@cygnus.com>
213         * emit-rtl.c (unshare_all_rtl): Store the copied rtx.
214
215         2000-04-15  Richard Earnshaw (rearnsah@arm.com)
216         * emit-rtl.c (unshare_all_rtl_again): Unmark everything, then
217         call unshare_all_rtl.
218
219         2000-01-27  Geoffrey Keating  <geoffk@cygnus.com>
220         * emit-rtl.c (unshare_all_rtl): Unshare virtual parameters too.
221         Use unshare_all_rtl_1.
222         (unshare_all_rtl_again): New function.
223         (unshare_all_rtl_1): New function split out of unshare_all_rtl.
224         * function.c (purge_addressof_1): Use unshare_all_rtl_again
225         rather than resetting the 'used' flags ourself.
226         * toplev.c (rest_of_compilation): Add current_function_decl
227         to the unshare_all_rtl call.
228         * tree.h: Prototype unshare_all_rtl.
229         * rtl.h: Prototype unshare_all_rtl_again here.
230
231 2001-01-12  Bernd Schmidt  <bernds@redhat.co.uk>
232
233         * version.c: Bump.
234
235         * expr.c (expand_builtin_setjmp_receiver): Emit a scheduling barrier
236         as last insn.
237
238 2001-01-11  Bernd Schmidt  <bernds@redhat.co.uk>
239
240         * version.c: Bump.
241
242         2001-01-09  Mark Mitchell  <mark@codesourcery.com>
243         Remove support for using UWIN as a host machine.
244         * configure.in: Issue an error message.
245         * configure: Regenerated.
246         * config.gcc: Remove xm_* UWIN configury.
247         * config/i386/xm-uwin.h: Remove.
248
249         * config/mips/vxworks.h: Don't terminate comment before its end.
250
251         * invoke.texi: Update -fvtable-thunks documentation.
252
253         * loop.c (scan_loop): Disable copy propagation if we find a REG_LABEL
254         note.
255
256         Revert this patch:
257         2000-12-18  David Edelsohn  <edelsohn@gnu.org>
258         * rs6000.c (and64_operand): Use logical_u_operand.
259
260         Mon Oct  4 16:56:11 1999  Richard Henderson  <rth@cygnus.com>
261         * tree.c (build1): Set TREE_SIDE_EFFECTS for expressions that
262         always have side-effects.
263
264         Mon Oct  4 02:12:41 1999  Mark Mitchell  <mark@codesourcery.com>
265         * tree.c (make_node): Set TREE_SIDE_EFFECTS for expressions that
266         always have side-effects.
267
268 2001-01-01  Bernd Schmidt  <bernds@redhat.co.uk>
269
270         * version.c: Bump.
271
272         * loop.c (instrument_loop_bct): Set JUMP_LABEL on new jump.
273
274         2000-12-27  Geoffrey Keating  <geoffk@redhat.com>
275         * config/rs6000/rs6000.md (define_attr "length"): Correct
276         calculation.
277
278 2001-01-01  Philipp Thomas <pthomas@suse.de>
279
280         * configure.in: Make the help for --enable-nls make it
281         clear that this is an experimental feature.
282         * configure: Regenerate.
283         * ABOUT-GCC-NLS: Explain why NLS support is buggy.
284
285 2000-12-29  Bernd Schmidt  <bernds@redhat.co.uk>
286
287         * version.c: Bump.
288
289         * combine.c (cant_combine_insn_p): Only restrict hard register
290         combinations for SMALL_REGISTER_CLASSES machines.
291
292         * config/sparc/sparc.c (pic_address_needs_scratch): LABEL_REFs are
293         not valid pic operands.
294
295         2000-12-26  Kazu Hirata  <kazu@hxi.com>
296         * config/h8300/h8300.c (get_shift_alg): Fix a typo in the
297         assembly code for 12-bit ASHIFTRT in HImode.
298
299         2000-07-17  Kazu Hirata  <kazu@hxi.com>
300         * h8300.md: Fix the format of mac.
301         (movsi_h8300hs): Output a tab after stmac instead of a space.
302
303         2000-10-07  Will Cohen  <wcohen@redhat.com>, Kazu Hirata  <kazu@hxi.com>
304         * config/h8300/h8300.md: Remove the memory alternative and correct
305         the insn lengths in the templates for sign extention and zero
306         extention.
307
308         2000-12-23  Philip Blundell  <philb@gnu.org>
309         * config/arm/linux-elf.h (CPP_PREDEFINES): Don't define `arm' or
310         `arm_elf'; do define `__arm__'.
311
312         2000-08-22  Richard Henderson  <rth@cygnus.com>
313         * alias.c (init_alias_analysis): Do not register
314         struct_value_incoming_rtx or static_chain_rtx as pointing
315         to stack memory.
316
317         Tue Dec  5 20:09:14 2000  Jeffrey A Law  (law@cygnus.com)
318         * builtins.c (expand_builtin_setjmp_setup): Set
319         current_function_has_nonlocal_label.
320
321         2000-12-03  Richard Henderson  <rth@redhat.com>
322         * builtins.c (expand_builtin_setjmp_setup): New.
323         (expand_builtin_setjmp_receiver): New.
324         (expand_builtin_setjmp): Split out _setup and _receiver functions.
325         Move argument parsing in from ...
326         (expand_builtin): ... here.
327         * except.c (receive_exception_label): Branch around receiver
328         unless new-style exceptions.  Call expand_builtin_setjmp_receiver.
329         (start_dynamic_handler): Call expand_builtin_setjmp_setup.
330         * expr.h: Update builtin setjmp decls.
331
332 2000-12-22  Bernd Schmidt  <bernds@redhat.co.uk>
333
334         * calls.c (emit_call_1): Fall back to call_pop/call_value_pop if no
335         non-popping calls are available.
336
337         * flow.c (propagate_block): Use flow_delete_insn instead of
338         NOTEifying a dead ADDR_VEC.
339
340         Fri Sep 10 11:43:07 1999  Philip Blundell <pb@futuretv.com>
341         * configure.in, config/arm/linux-oldld.h,
342         config/arm/linux-elf26.h, config/arm/linux-elf.h: Backport latest
343         ARM GNU/Linux config from mainline.
344         * configure: Regenerate.
345
346         2000-02-08  Geoff Keating  <geoffk@cygnus.com>
347         * dwarf2.h (DW_CFA_GNU_negative_offset_extended): New constant.
348         * dwarf2out.c (dwarf_cfi_name): Print name of new constant.
349         (reg_save): Use DW_CFA_GNU_negative_offset_extended when needed.
350         (output_cfi): Handle output of DW_CFA_GNU_negative_offset_extended.
351         * frame.c (execute_cfa_insn): Handle
352         DW_CFA_GNU_negative_offset_extended.
353
354         2000-03-06  Mark Mitchell  <mark@codesourcery.com>
355         * function.c (free_temps_for_rtl_expr): Don't free slots
356         that have been pushed into a higher level.
357
358         1999-12-16  David S. Miller  <davem@redhat.com>
359         * expr.c (emit_move_insn_1): Only emit clobbers if one of
360         the outputs is a SUBREG.
361
362         Wed Sep 22 17:35:55 1999  Michael Meissner  <meissner@cygnus.com>
363         * expr.c (emit_move_insn_1): If we are copying a complex that fits
364         in one word or less (complex char, complex short, or on 64 bit
365         systems complex float) to/from a hard register, copy it through
366         memory instead of dying in gen_{real,imag}part.  If we have a
367         short complex type, prevent inlining since it allocates stack
368         memory.
369
370         Fri Dec 15 15:32:16 MET 2000  Jan Hubicka  <jh@suse.cz>
371         * combine.c (cant_combine_insn_p): Get around SUBREGs when determining
372         hardreg<->reg moves.
373
374         2000-12-01  Bernd Schmidt  <bernds@redhat.co.uk>
375         * combine.c (cant_combine_insn_p): Only disallow insns involving
376         hard regs if they are reg-reg moves.
377
378         2000-11-24  Bernd Schmidt  <bernds@redhat.co.uk>
379         * combine.c (cant_combine_insn_p): New function.
380         (try_combine): Use it.
381
382 2000-12-20  Bernd Schmidt  <bernds@redhat.co.uk>
383
384         * version.c: Bump.
385
386         * reload1.c (free_for_value_p): Fix error in last change.
387
388         2000-03-22  Richard Henderson  <rth@cygnus.com>
389         * stmt.c (expand_asm_operands): Don't promote the temporary.
390
391         Sun Sep 19 09:03:40 1999  Mark Mitchell  <mark@codesourcery.com>
392         * rtl.h (insns_safe_to_move_p): New function.
393         * loop.c (find_and_verify_loops): Use it.
394         * rtlanal.c (insns_safe_to_move_p): Define it.
395
396         Thu Nov  2 19:20:12 2000  J"orn Rennecke <amylaar@redhat.com>
397         * reload.c (find_equiv_reg): Test all hard registers for membership
398         in the requested class.
399
400         Sun Apr 23 16:24:35 2000  Denis Chertykov  <denisc@overta.ru>
401         * reload.c (find_equiv_reg): Checks all valueno regs
402         as a reload_reg_p regs.
403
404         Fri Apr 21 14:58:29 2000  Denis Chertykov  <denisc@overta.ru>
405         * reload.c (find_equiv_reg): Checks all valueno and regno regs
406         as a call-clobbered regs.
407
408 2000-12-18  Bernd Schmidt  <bernds@redhat.co.uk>
409
410         2000-09-15  Bernd Schmidt  <bernds@redhat.co.uk>
411         * optabs.c (emit_libcall_block): If target is a user variable,
412         copy to a temporary first.
413
414         2000-04-28  Kazu Hirata  <kazu@hxi.com>
415         * h8300.c (function_epilogue): Clean up flags when the last insn
416         in a function is a barrier.
417
418         Mon Aug 30 01:02:09 1999  Jeffrey A Law  (law@cygnus.com)
419         * emit-rtl.c (copy_rtx_if_shared): A MEM which references
420         virtual_stack_vars_rtx or virtual_incoming_args_rtx can not
421         be shared.
422
423         2000-03-24  Geoff Keating  <geoffk@cygnus.com>
424         * flow.c (propagate_block): When we delete an ADDR_VEC,
425         also delete the BARRIER following it if there is one.
426
427         Wed Oct 27 14:10:27 1999  Geoffrey Keating  <geoffk@cygnus.com>
428         * flow.c (propagate_block): When the last reference to a label
429         before an ADDR_VEC is deleted because the reference is a dead
430         store, delete the ADDR_VEC.
431
432         2000-03-19  Richard Henderson  <rth@cygnus.com>
433         * flow.c (delete_block): Delete the addr_vec along with the block.
434         (flow_delete_insn): Decrement LABEL_NUSES when deleting insns that
435         reference labels.
436
437         2000-12-02  Bernd Schmidt  <bernds@redhat.co.uk>
438         * reload1.c (free_for_value_p): New function, frontend to
439         reload_reg_free_for_value_p.  All callers of the latter now call
440         this function with an additional mode argument.
441
442         2000-11-10  Bernd Schmidt  <bernds@redhat.co.uk>
443         (regno_clobbered_p): New arg SETS.  Examine SETs if it's nonzero.  All
444         callers changed.
445         * reload1.c (choose_reload_regs): Registers set in the insn can't be
446         used for RELOAD_OTHER reloads.
447
448         2000-10-28  Bernd Schmidt  <bernds@redhat.co.uk>
449         * reload1.c (choose_reload_regs): Never set reload_override_in for an
450         optional reload.
451
452         2000-09-07  Bernd Schmidt  <bernds@redhat.co.uk>
453         * reload.c (regno_clobbered_p): Accept new arg, MODE, and use it
454         to handle multiword modes correctly.  All callers and the declaration
455         changed.
456
457 2000-12-18  David Edelsohn  <edelsohn@gnu.org>
458
459         * rs6000.c (and64_operand): Use logical_u_operand.
460         (first_reg_to_save): Don't save fixed or call-used registers
461         except PIC_OFFSET_TABLE_REGNUM when -fpic even though it is fixed.
462         * rs6000.md (anddi3): Prefer rldic? over andis instruction.
463
464 2000-12-18  Zack Weinberg <zackw@Stanford.EDU>:
465
466         * Makefile.in: Rename cpp to cpp0, tradcpp to tradcpp0, and
467         xcpp to cpp throughout.
468         (native): Remove unnecessary dependency on cpp.
469         * gcc.c (C specs): Call cpp0 to do preprocessing, not cpp.
470         * ch/lang-specs.h, cp/lang-specs.h, f/lang-specs.h,
471         objc/lang-specs.h: Call cpp0 to do preprocessing, not cpp.
472
473 2000-12-18  Christian Groessler <cpg@aladdin.de>
474
475         * toplev.c (check_lang_option): Use NUM_ELEM only on arrays, not on
476         pointers.
477
478 2000-12-18  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
479
480         * linux.h (DEFAULT_VTABLE_THUNKS): Switch back to version 1.
481         * alpha/linux-elf.h (DEFAULT_VTABLE_THUNKS): Likewise.
482         * arm/linux-elf (DEFAULT_VTABLE_THUNKS): Likewise.
483         * i386/freebsd-elf.h (DEFAULT_VTABLE_THUNKS): Likewise.
484         * rs6000/linux.h (DEFAULT_VTABLE_THUNKS): Likewise.
485         * sparc/linux.h (DEFAULT_VTABLE_THUNKS): Likewise.
486
487 2000-12-05  Bernd Schmidt  <bernds@redhat.co.uk>
488
489         * version.c: Bump.
490
491         2000-07-03  Nick Clifton  <nickc@cygnus.com>
492         * config/arm/arm.md: Fix post increment and pre increment
493         peepholes so that they do not generate UNPREDICATBLE opcodes.
494         (ie ones where the increment clobbers the source/destination).
495
496         Mon Oct 25 00:42:35 1999  Jeffrey A Law  (law@cygnus.com)
497         * arm.c (arm_override_options): Correct initialization of
498         arm_fast_multiply, arm_arch4, arm_arch5, arm_ld_sched,
499         arm_is_strong, and arm_is_6_or_7.
500
501         Thu Jul 29 19:01:58 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
502         * arm.h (Hint): Delete macro.
503         Substitute HOST_WIDE_INT for Hint in some prototypes.
504         * arm.c: Substitute HOST_WIDE_INT for Hint in one prototype.
505
506 2000-11-30  Bernd Schmidt  <bernds@redhat.co.uk>
507
508         * version.c: Bump.
509
510         Based on a patch from Geoff Keating <geoffk@redhat.com>:
511         * loop.c (basic_induction_var): If a REG is set from something
512         that is not a biv, then the REG is not a biv.  Even if it is
513         earlier set from something that is a biv.
514
515         2000-09-01  Jim Wilson  <wilson@cygnus.com>
516         * loop.c (check_final_value): Check for biv use before checking for
517         giv use.  Check for both biv and giv uses.  Always set last_giv_use
518         if there is a giv use.
519
520         2000-09-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
521         * loop.c (check_final_value): A GIV is not replaceable if used
522         before set.
523
524         Sun Oct 10 13:28:48 1999  Bernd Schmidt  <bernds@redhat.co.uk>
525         * loop.c (find_and_verify_loops): When looking for a BARRIER, don't
526         use one before a jump table.
527
528         Fri Jul  9 10:48:28 1999  Bernd Schmidt  <bernds@redhat.co.uk>
529         * loop.c (check_dbra_loop): When reversing a loop, delete all
530         REG_EQUAL notes referencing the reversed biv except those which are
531         for a giv based on it.
532
533         2000-11-24  Bernd Schmidt  <bernds@redhat.co.uk>
534         * reload1.c (conflicts_with_override): New function.
535         (emit_input_reload_insns): Use it to tighten test for validity
536         of substituting into output of previous insn.
537
538         Wed Oct 27 03:09:23 1999  J"orn Rennecke  <amylaar@redhat.co.uk>
539         * reload.h (earlyclobber_operand_p): Declare.
540         * reload.c (earlyclobber_operand_p): Don't declare.  No longer static.
541         * reload1.c (reload_reg_free_for_value_p):  RELOAD_OTHER reloads with
542         an earlyclobbered output conflict with RELOAD_INPUT reloads - handle
543         case where the RELOAD_OTHER reload is new.  Use
544         earlyclobber_operand_p.
545
546         2000-01-12  Bernd Schmidt  <bernds@redhat.co.uk>
547         * reload1.c (reload_reg_unavailable): New static variable.
548         (reload_reg_free_p): Test it.
549         (reload_reg_free_for_value_p): Test it instead of reload_reg_used.
550         (choose_reload_regs_init): Compute it.
551
552         Thu Jul  6 18:30:36 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
553         * reload.c (push_reload): When seeing if can reuse a register,
554         check extra registers against widest of INMODE and OUTMODE.
555
556         1999-11-29  Bernd Schmidt  <bernds@redhat.co.uk>
557         * reload.c (push_reload): When looking for a register to put into
558         reg_rtx, make sure all hard regs in a multi-reg register are in the
559         right class and nonfixed.
560
561         1999-11-29  Joern Rennecke  <amylaar@redhat.co.uk>
562         * reload1.c (reloads_conflict): Reverse test comparing operand
563         numbers when testing for conflict between output/outaddr reloads.
564
565         2000-07-12  Richard Henderson  <rth@redhat.com>
566         * reload.c (push_secondary_reload): Make sure to add the new
567         reload at the end, after acquiring secondary memory.
568
569         2000-09-14  Alexandre Oliva  <aoliva@redhat.com>, Bernd Schmidt  <bernds@redhat.co.uk>
570         * reload.c (find_reloads_address_1): Generate reloads for auto_inc
571         pseudos that refer to the original pseudos, not only to their
572         equivalent memory locations.
573
574         2000-09-18  Bernd Schmidt  <bernds@redhat.co.uk>
575         * reload1.c (forget_old_reloads_1): If a hard reg is stored, clear
576         its entry in spill_reg_store.
577
578         Tue Oct 26 00:41:54 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
579         * reload1.c (reload_reg_free_for_value_p): Show
580         RELOAD_FOR_OTHER_ADDRESS reloads can conflict with RELOAD_OTHER
581         reloads.
582
583         2000-02-26  Geoff Keating  <geoffk@cygnus.com>
584         * reload1.c (do_output_reload): Check reg_reloaded_valid before
585         looking at reg_reloaded_contents.
586
587         Thu Apr 13 19:39:56 2000  Clinton Popetz  <cpopetz@cygnus.com>
588         * emit-rtl.c (try_split): Avoid infinite loop if the split
589         results in a sequence that contains the original insn.
590
591         1999-12-14  Bernd Schmidt  <bernds@cygnus.co.uk>
592         * combine.c (combine_simplify_rtx): Don't make shared rtl.
593         (simplify_logical): Likewise.
594
595         Sat May 20 07:27:35 2000  Alexandre Oliva  <aoliva@cygnus.com>
596         * fold-const.c (make_range): Handle degenerated intervals.
597         Fixes c-torture/execute/991221-1.c
598
599         2000-07-15  Michael Meissner  <meissner@redhat.com>
600         * fold-const.c (fold): When optimizing FOO++ == CONST into ++FOO
601         == CONST + INCREMENT, don't overwrite the tree node for FOO++,
602         create a new node instead.
603
604         2000-01-01  Bernd Schmidt  <bernds@cygnus.co.uk>
605         * expmed.c (emit_store_flag): Prevent losing a pending stack
606         adjust the same way we prevent losing queued increments.
607
608 2000-10-27  Bernd Schmidt  <bernds@redhat.co.uk>
609
610         * expr.c (expand_expr, case INDIRECT_REF): If the address is a
611         PLUS, that does not prove the object is in a structure.
612
613 2000-08-25  David Edelsohn  <edelsohn@gnu.org>
614
615         * collect2.c (use_import_list): Always return 0 (disable).
616
617 2000-07-07  Manfred Hollstein  <manfredh@redhat.com>
618
619         * i386.md (exception_receiver): Add missing parameter in
620         call to load_pic_register.
621
622 Fri May 26 10:30:02 2000  Richard Earnshaw (rearnsha@arm.com)
623
624         * arm.md (negdi2): Add clobber of condition code register.
625
626 Wed May 24 00:25:45 2000  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
627
628         2000-05-22  Richard Henderson  <rth@cygnus.com>
629         * function.c (thread_prologue_and_epilogue_insns): Make sure 
630         existing line number notes appear after the prologue.
631
632 2000-05-16  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
633  
634         * sysv4.h (CPP_OS_LINUX_SPEC): Define __unix and __linux according
635         to given options.
636
637 2000-05-14  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
638
639         * rs6000/rs6000.md (nonlocal_goto_receiver): Add length attribute.
640
641 Wed Apr 12 00:42:19 2000  Jeffrey A Law  (law@cygnus.com)
642
643         2000-02-19  Richard Henderson  <rth@cygnus.com>
644         * c-typeck.c (add_pending_init): Don't abort for multiple
645         fields at the same offset.
646         (pending_init_member): Test the correct member.
647
648         Wed Apr 12 00:44:31 2000  Jeffrey A Law  (law@cygnus.com)
649         * config/i386/freebsd-elf.h (DEFAULT_VTABLE_THUNKS): Changed to 2.
650
651         Tue Nov  9 17:14:40 1999  H.J. Lu  <hjl@gnu.org>
652         * invoke.texi (-fvtable-thunks): Document that Linux/GNU uses
653         version 2 as default.
654
655         Tue Nov  9 10:16:55 1999  H.J. Lu  <hjl@gnu.org>
656         * alpha/linux-elf.h (DEFAULT_VTABLE_THUNKS): Changed to 2.
657         * arm/linux-elf.h: Likewise.
658         * rs6000/linux.h: Likewise.
659         * sparc/linux.h: Likewise.
660
661         Mon Nov  8 14:41:34 1999  H.J. Lu  <hjl@gnu.org>
662         * config/linux.h (DEFAULT_VTABLE_THUNKS): Changed to 2.
663
664         Sun May  2 08:49:27 1999  Martin von Löwis  <loewis@informatik.hu-berlin.de>
665         * invoke.texi (-fvtable-thunks): Document numeric argument.
666
667 2000-04-11  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
668
669         * config/elfos.h (SELECT_SECTION): Decide whether to use a data or
670         const section to output a CONSTRUCTOR based on the same conditions
671         used for VAR_DECLs.
672
673 Mon Apr  3 02:31:32 2000  Jeffrey A Law  (law@cygnus.com)
674
675         2000-01-20  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
676         * unroll.c (loop_iterations): Don't abort if REG_USERVAR_P set
677         on iteration_var.
678
679 Wed Mar 22 13:11:54 2000  David Edelsohn  <edelsohn@gnu.org>
680
681         * rs6000.c (reg_or_u_cint_operand): New function.
682         (logical_operand): Handle 64-bit hosts.
683         (logical_u_operand): New function.
684         (non_logical_cint_operand): Handle 64-bit hosts.
685         (non_logical_u_cint_operand): New function.
686         (expand_block_move): Allow 8 DImode loads for PowerPC64.
687         * rs6000.h (PREDICATE_CODES): Define new functions.
688         * rs6000.md (iordi3, xordi3): Constant int must be unsigned 32-bits.
689         (movdi_64): Bracket code intended for 64-bit hosts.  Create
690         CONST_DOUBLE for 32-bit values.
691
692         * glimits.h (__LONG_MAX__): Recognize 64-bit AIX too.
693
694 Wed Mar 22 13:11:54 2000  Gabriel Paubert  <paubert@iram.es>
695
696         * rs6000.md: Correct instructions length attributes and
697         constraints on unsigned compare instructions.
698         (*ne0): Disable for PowerPC64.
699         
700 Tue Mar  7 21:41:17 2000  Jeffrey A Law  (law@cygnus.com)
701
702         * cccp.c (handle_directive): Initialize backslash_newlines_p.
703
704         Wed Jan 19 20:39:17 2000  Jim Wilson  <wilson@cygnus.com>
705         * fixinc/inclhack.tpl: Test for directory before trying to cd into it.
706         * fixinc/fixincl.sh, fixinc/inclhack.sh: Regenerate.
707
708         Tue Oct 12 09:45:19 1999  Jonathan Larmour  <jlarmour@cygnus.co.uk>
709         * config/rs6000/eabi-ctors.c (__do_global_ctors): Run through
710         __CTOR_LIST__ in opposite order, which is the correct order for sorted
711         constructors.
712         (__do_global_dtors): similarly for __DTOR_LIST__.
713
714         2000-01-05  Bernd Schmidt  <bernds@cygnus.co.uk>
715         * reload1.c (choose_reload_regs): When disabling a reload, also
716         set reload_spill_index to -1.
717
718         Thu Nov  4 15:52:35 1999  Andrew Haley  <aph@cygnus.com>
719         * reload1.c (reload_reg_free_for_value_p): Don't use a register
720         that is in reload_reg_used.
721
722         2000-01-18  Clinton Popetz  <cpopetz@cygnus.com>
723         * loop.c (check_dbra_loop): When checking a loop for
724         reversability, check the source of any stores to ensure they 
725         don't depend on an initial value.
726
727         Sat Jan  8 12:12:46 2000  Nick Clifton  <nickc@cygnus.com>
728         * config/v850/v850.c (expand_epilogue): Interrupt functions no
729         longer allocate extra stack for function calls.
730
731 Fri Feb 18 13:32:32 2000  Martin von Loewis  <loewis@informatik.hu-berlin.de>
732
733         * gcc.texi (Bug Reporting): Refer to bugs.html.
734         (Bug Lists): Likewise.
735         * system.h (GCCBUGURL): New preprocessor define.
736         (abort): Use it.
737         * gcc.c (main): Likewise.
738
739 Thu Feb  3 10:53:45 2000  Richard Henderson  <rth@cygnus.com>
740
741         Wed Nov  3 10:10:58 1999  Richard Henderson  <rth@cygnus.com>
742         * c-decl.c (duplicate_decls): Copy DECL_MODE too.
743
744 Thu Jan 20 10:02:07 2000  Richard Henderson  <rth@cygnus.com>
745
746         2000-01-03  Anthony Green  <green@cygnus.com>
747         * config/i386/i386.md (builtin_setjmp_receiver): New pattern.
748         Restore the pic register if required.
749
750 Fri Jan  7 14:40:05 2000  Richard Henderson  <rth@cygnus.com>
751
752         Thu Oct 28 18:06:50 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
753         * stmt.c (expand_value_return): Correctly convert VAL when promoting
754         function return.
755
756 Tue Jan  4 02:22:27 2000  Jeffrey A Law  (law@cygnus.com)
757
758         Mon Oct 18 18:50:51 1999  Andreas Schwab  <schwab@suse.de>
759         * config/m68k/m68k.h (INITIAL_FRAME_POINTER_OFFSET): Add one word
760         if the pic register is used.
761
762         Sat Sep 25 13:11:07 1999  Jeffrey A Law  (law@cygnus.com)
763         * cse.c: Update comments.
764         (cse_insn): When converting a conditional/computed jump into
765         an unconditional jump, always make sure a BARRIER immediately
766         follows the converted jump.  Do not delete unreachable code.
767         (cse_basic_block): Do not delete unreachable code.
768         * toplev.c (rest_of_compilation): Move call to
769         delete_trivially_dead_insns after the conditional call to
770         jump_optimize.
771
772
773 Wed Dec 29 22:47:43 1999  Jeffrey A Law  (law@cygnus.com)
774
775         1999-12-12  Stephen L Moshier <moshier@mediaone.net>
776         * loop.c (load_mems): Don't hoist written floating point mem
777         if -ffloat-store.
778
779         * cppinit.c (is_idchar): Only use special initialization for
780         gcc-2.8 and later versions of the compiler.
781
782         Wed Oct 27 01:42:26 1999  Scott Christley  <scottc@net-community.com>
783         * sparc.md (call): Don't bound structure return size to 0xfff.
784
785 Mon Dec 27 07:32:59 1999  Jeffrey A Law  (law@cygnus.com)
786
787         Fri Sep  3 10:16:37 HST 1999  Glen Nakamura  <glen.nakamura@usa.net>
788         * cccp.c (rescan): Fixed obp pointer handling around call to
789         check_expand subroutine.
790
791         Thu Sep 16 00:46:35 1999  Geoff Keating  <geoffk@cygnus.com>
792         * loop.c (basic_induction_var): A non-integer variable which is
793         being set by a paradoxical subreg is probably not a biv.
794
795         1999-08-31 12:20 -0700 Zack Weinberg <zack@bitmover.com>
796         * loop.c (check_dbra_loop): Check bl->biv->add_val is a
797         CONST_INT before using its INTVAL.
798
799         Tue Nov  2 15:27:31 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
800         * configure.in (m68k-hp-hpux*, xm_alloca.h): The underscore should
801         have been an hyphen, fixed.
802         * configure: Rebuilt.
803
804 Thu Dec 23 11:59:56 1999  Jeffrey A Law  (law@cygnus.com)
805
806         1999-12-23  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
807         * fold-const.c (operand_equal_p): Use memcmp to compare string
808         constants.
809         Suggested by D. J. Bernstein
810
811         Thu Dec 16 02:26:11 1999  Jeffrey A Law  (law@cygnus.com)
812         * h8300.md (HImode preinc peephole): Fix typo.
813
814         1999-12-14  Bernd Schmidt  <bernds@cygnus.co.uk>
815         * loop.c (check_dbra_loop): Can't reverse a biv that has
816         maybe_multiple set.
817
818 1999-12-07  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
819
820         * invoke.texi (C Dialect Options): Remove -flang-c9x, add -std
821         documentation.
822
823 Sun Oct 31 22:32:17 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
824
825         * config/i386/sol2gas.h: I had installed the wrong version of Sept
826         22's patch in the release branch.  Fixed.
827         * configure.in: Likewise.
828         * configure: Rebuilt.
829         Reported by Jason Beardsley <jbeardsley@origin.ea.com>
830
831 Sun Oct 24 23:54:10 PDT 1999 Jeff Law  (law@cygnus.com)
832
833         * gcc-2.95.2 Released.
834
835 Mon Oct 25 00:43:05 1999  Jeffrey A Law  (law@cygnus.com)
836
837         * loop.c (note_set_pseudo_multiple_uses_retval): New variable.
838         (note_set_pseudo_multiple_uses): New function.
839         (check_dbra_loop): Use not_set_pseudo_multiple_uses to determine
840         if a pseudo set in the loop exit is used elsewhere.
841
842 Wed Oct 20 10:46:41 1999  Richard Earnshaw (rearnsha@arm.com)
843
844         * jump.c (jump_optimize_1): More accurately detect casesi insns.
845
846 Wed Oct 20 22:57:58 1999  Jeffrey A Law  (law@cygnus.com)
847
848         * toplev.c (main): Do not turn on strict aliasing by default.
849         * invoke.texi: Corresponding changes.
850
851         * sparc.md (movsf_const_intreg): If splitting, length must be > 1.
852         (movdf_const_intreg_sp64): Similarly.
853
854         * local-alloc.c (update_equiv_regs): Check the correct insn
855         for pre-existing REG_EQUIV notes.
856
857 Tue Oct 19 02:03:00 1999  Jeffrey A Law  (law@cygnus.com)
858
859         Revert this change.  Gavin's patch to operand_equal_p is a better fix.
860         * fold-const.c (fold_range_test): Do not try to fold the range
861         test if the rhs or lhs has side effects.
862
863         Fri Sep 17 15:05:27 1999  Gavin Romig-Koch  <gavin@cygnus.com>
864         * fold-const.c (operand_equal_p): Pay attention to side effects.
865
866         * reg-stack.c (stack_result): Aggregates are not returned in
867         stack registers.
868
869 Mon Oct 18 01:41:35 1999  Jeffrey A Law  (law@cygnus.com)
870
871         * combine.c (get_last_value): If the last set of a register
872         is after subst_low_cuid, then we can not use it to determine
873         the register's last value.
874
875 Sat Oct 16 15:20:15 1999  Jeffrey A Law  (law@cygnus.com)
876
877         Sat Oct 16 00:07:01 1999  Richard Henderson  <rth@cygnus.com>
878         * gcse.c (hash_expr_1): Add in MEM_ALIAS_SET.
879         (expr_equiv_p): Reject memories with different alias sets.
880
881 Wed Oct 13 01:46:14 1999  Jeffrey A Law  (law@cygnus.com)
882
883         Wed Oct 13 01:44:29 1999  Carol LePage  <carolo@hal.com>
884         * configure.in (sparc-hal-solaris2*): Fix xm_file, xm_defines,
885         float_format and thread_file definitions.
886         * configure: Rebuilt.
887
888 Tue Oct 12 17:09:38 1999  David Edelsohn  <edelsohn@gnu.org>
889
890         * collect2.c (main): Do preliminary link on AIX if rflag.
891
892 Mon Oct 11 23:35:19 1999  Jeffrey A Law  (law@cygnus.com)
893
894         Fri Sep  3 09:14:32 1999  Marc Espie <espie@tetto.liafa.jussieu.fr>
895         * tlink.c (scan_linker_output): Skip the initial underscore in
896         a mangled name if appropriate.
897
898         Fri Aug 27 19:19:43 CEST 1999   Marc Espie <espie@cvs.openbsd.org>
899         * config/openbsd.h (SET_ASM_OP): Define.
900
901         Mon Oct  4 08:54:12 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
902         * cppinit.c (is_idchar initializer): Loosen tests to accept
903         gcc 2.>6 and >2.
904
905         Tue Jun 29 01:37:53 1999  Jeffrey A Law  (law@cygnus.com)
906         * pa.h (CPP_SPEC): Conditionally add -D__STDC_EXT__ to the cpp
907         command line.
908
909         Thu Sep  2 20:08:23 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
910         * regmove.c (fixup_match_1): Don't change an unchanging register.
911         (stable_but_for_p): Renamed to:
912         (stable_and_no_regs_but_for_p).  Reject unchanging registers too.
913         Changed all callers.
914
915         Tue Aug 17 22:06:11 1999  Jan Hubicka  <hubicka@freesoft.cz>
916         * haifa-sched.c (insn_unit): Fix typo on out of range test.
917         * sched.c (insn_unit): Likewise.
918
919 Sun Oct 10 20:58:27 1999  David Edelsohn  <edelsohn@gnu.org>
920
921         * rs6000.md (scc patterns): Disable most SImode variants if
922         TARGET_POWERPC64.
923         * rs6000.c (expand_block_move): Fix gen_movsi typos.
924
925         Thu Oct  7 23:06:50 1999  Richard Henderson  <rth@cygnus.com>
926         * rs6000.md (fix_truncdfsi2_internal+1): Emit a clobber
927         before the fctiwz insn.
928
929         Thu Oct  7 00:36:17 1999  Diego Novillo  <dnovillo@cygnus.com>
930         * config/rs6000/rs6000.c (secondary_reload_class): For TARGET_ELF
931         make sure that HIGH instructions are copied into BASE_REGS.
932         
933 Thu Sep 30 05:40:34 1999  Richard Earnshaw <rearnsha@arm.com>
934
935         * c-lang.c (finish_file case ndef ASM_OUTPUT_{CON,DE}STRUCTOR): 
936         Correctly build argument list to constructor and destructor functions.
937
938 Wed Sep 22 17:55:31 1999  David Edelsohn  <edelsohn@gnu.org>
939
940         * rs6000.c (expand_block_move): DImode loads and stores require
941         word-aligned displacements.  Increment address registers with
942         adddi3 on 64-bit platform.  Use TARGET_POWERPC64 not TARGET_64BIT.
943
944 Wed Sep 22 07:07:44 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
945
946         * config/i386/sol2.h (PREFERRED_DEBUGGING_TYPE): Use stabs.
947         (ASM_SPEC): Moved from sol2dbg.h.  Added work-around for gas.
948         * config/i386/sol2dbg.h: Removed.
949         * config/i386/sol2gas.h: New file, to enable gas work-around.
950         * configure.in: Use i386/sol2gas.h on Solaris/x86 --with-gas.
951         Don't use sol2dbg.h.
952         * configure: Rebuilt.
953
954 Wed Sep 15 21:20:38 1999  Mark Mitchell  <mark@codesourcery.com>
955
956         * c-typeck.c (qualify_type): Merge qualifiers from both types.
957
958 Wed Sep 15 10:07:27 1999  Scott Bambrough <scottb@netwinder.org>
959  
960         * config/arm/linux-elf.h: define NO_IMPLICIT_EXTERN_C
961
962 Tue Sep  7 16:50:59 1999  David Edelsohn  <edelsohn@gnu.org>
963
964         * rs6000.h (ASM_FILE_START): Specify complete filename, including
965         path, in .file directive.
966
967 Tue Sep  7 01:27:21 1999  Jeffrey A Law  (law@cygnus.com)
968
969         Thu Sep  2 00:06:43 1999  Jeffrey A Law  (law@cygnus.com)
970         * fold-const.c (fold_range_test): Do not try to fold the range
971         test if the rhs or lhs has side effects.
972
973         Sun Aug 29 03:27:23 1999  Scott Weikart <scott@igc.apc.org>
974         * fix-header.c (main): Do not pass a null pointer to strcmp.
975
976         Thu Aug 19 14:42:38 1999  Mike Stump <mrs@wrs.com>
977                                   Mark Mitchell <mark@codesourcery.com>
978         * c-common.c (c_get_alias_set): Fix support for pointers and
979         references.
980
981         Fri Aug 27 01:03:48 1999  Jim Kingdon  <http://developer.redhat.com>
982         with much help from Jeffrey A Law and Richard Henderson
983         * i386.md: In the 6 insns which call output_fix_trunc,
984         earlyclobber operands[0].
985
986         Fri Aug 27 01:01:51 1999  Philip Blundell  <pb@nexus.co.uk>
987         * jump.c (duplicate_loop_exit_test): Call reg_scan_update after
988         creating new registers.
989
990         Fri Aug 27 15:35:24 1999  Jeffrey A Law  (law@cygnus.com)
991         * cse.c (fold_rtx): Work around bug in Sun V5.0 compilers.
992         * pa.c (emit_move_sequence): Do not stop on SUBREG_WORD of an
993         operand.
994
995         Tue Aug 31 11:51:06 1999  Jim Kingdon  <http://developer.redhat.com>
996         * i386.c (output_strlen_unroll): Don't write xops[7]
997         label if it wasn't set.
998
999         Fri Aug 27 09:36:17 1999  Andreas Schwab  <schwab@suse.de>
1000         * function.c (assign_stack_temp_for_type): Fix change of Mar 5 for
1001         the fact that ALIGN is measured in bits, not bytes.
1002
1003         Wed Aug 25 14:00:18 1999  Jason Merrill  <jason@yorick.cygnus.com>
1004         * c-common.c (combine_strings): Always set TREE_CONSTANT.
1005
1006 Wed Aug 18 01:16:43 1999  David S. Miller  <davem@redhat.com>
1007
1008         * config/sparc/sparc.c (sparc_block_profiler): Fix typo in Aug 2
1009         change.
1010
1011 Mon Aug 16 01:29:24 PDT 1999 Jeff Law  (law@cygnus.com)
1012
1013         * gcc-2.95.1 Released.
1014
1015 1999-08-13  Michael Meissner  <meissner@cygnus.com>
1016
1017         * Makefile.in (GCC_FOR_TARGET): Move -B./ after the tooldir -B.
1018
1019 Fri Aug 13 01:42:24 1999  Jeffrey A Law  (law@cygnus.com)
1020
1021         Tue Aug  3 00:03:41 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1022         * fixincludes: Fix the return type of bsearch, char* -> void*.
1023         * fixinc/inclhack.def: Likewise.
1024
1025 Fri Aug 13 01:29:57 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
1026
1027         * dwarfout.c (fundamental_type_code): Return FT_boolean for
1028         INTEGER_TYPE with precision==1, it's __java_boolean.
1029
1030 1999-08-11  Richard Earnshaw (rearnsha@arm.com)
1031
1032         * emit-rtl.c (mark_reg_pointer): Don't increase the alignment of
1033         a register that is already known to be a pointer.
1034
1035 1999-08-11  Bruce Korb  <ddsinc09@ix.netcom.com>
1036
1037         * fixinc/inclhack.tpl: Only install assert.h conditionally.
1038         * fixinc/inclhack.sh: Regenerated.
1039         * fixinc/fixincl.sh: Regenerated.
1040
1041 Wed Aug 11 00:34:22 1999  Joe Buck  <jbuck@synopsys.com>
1042
1043         * invoke.texi: s/GNU CC/GCC/ for consistency with gcc.texi.
1044         Fix documentation of -ansi flag to describe its C++ behavior.
1045         Remove bogus reference to GCC 2.9.
1046
1047 Tue Aug 10 22:40:36 1999  Jeffrey A Law  (law@cygnus.com)
1048
1049         Thu Aug  5 22:27:15 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1050         * config/sh/lib1funcs.asm (___movstrSI0): Change or r0,r0,r0 to nop.
1051         (___mulsi3): Use '!' comment character.
1052
1053 Sat Aug  7 00:06:30 1999  Jeffrey A Law  (law@cygnus.com)
1054
1055         * gcc.texi: Update bug reporting text.
1056
1057         Tue Jul 20 17:07:54 1999  Richard Henderson  <rth@cygnus.com>
1058         * rs6000.h (struct rs6000_args): Add sysv_gregno.
1059         * rs6000.c (init_cumulative_args): Init sysv_gregno.
1060         (function_arg_boundary): Align DFmode.
1061         (function_arg_advance): Restructure for ABI_V4; use sysv_gregno
1062         to get fp reg and stack overflow correct.
1063         (function_arg): Likewise.
1064         (function_arg_pass_by_reference): True for TFmode for ABI_V4.
1065         (setup_incoming_varargs): Restructure for ABI_V4; use
1066         function_arg_advance to skip final named argument.
1067         (expand_builtin_saveregs): Properly unskip the last integer arg
1068         when doing varargs.  Adjust overflow location calculation.
1069         * ginclude/va-ppc.h (struct __va_list_tag): Make gpr and fpr
1070         explicitly unsigned.
1071         (__VA_FP_REGSAVE): Use new OFS argument instead of AP->fpr directly.
1072         (__VA_GP_REGSAVE): Similarly.
1073         (__va_longlong_p): Delete.
1074         (__va_arg_type_violation): New declaration.
1075         (va_arg): Restructure.  Flag promotion errors.  Align double.
1076         TFmode passed by reference.
1077         * rs6000.md (movdi_32+1): Use GEN_INT after arithmetic
1078         in the HOST_BITS_PER_WIDE_INT > 32 case.
1079
1080 1999-08-6 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1081
1082         * reg-stack.c (change_stack) Fixed problem with negative array index.
1083
1084 Fri Aug  6 20:41:08 1999  Jeffrey A Law  (law@cygnus.com)
1085
1086         Mon Jul 19 15:09:29 1999  David Edelsohn  <edelsohn@gnu.org>
1087         * rs6000.md (arithmetic, logical, and shift Rc combiner patterns):
1088         Disable patterns performing SImode comparisons with SImode values
1089         if TARGET_POWERPC64 and instruction does not sign-extend or does
1090         not mask to narrower than SImode, i.e. where bit 31 and bit 63 may
1091         differ for signed quantities.
1092         (indirect_jump): Add expander to choose RTL based on TARGET_64BIT.
1093         (tablejump): Patterns contingent on TARGET_64BIT not TARGET_POWERPC64.
1094         (decrement_and_branch_on_count): Add 64-bit variant.
1095
1096 Thu Aug  5 02:40:42 1999  Jeffrey A Law  (law@cygnus.com)
1097
1098         * gcc.c: Update URLs and mail addresses.
1099         * gcc.texi: Likewise.
1100
1101 Thu Aug  5 01:14:13 1999  Daniel Jacobowitz <drow@false.org>
1102
1103         * rs6000.c (current_file_function_operand): Return zero for
1104         weak functions.
1105         (rs6000_encode_section_info): Do not set SYMBOL_REF_FLAG for
1106         weak symbols.
1107         * rs6000.h (ENCODE_SECTION_NIFO): Do not set SYMBOL_REF_FLAG
1108         for weak symbols.
1109
1110 Thu Aug  5 00:56:30 1999  Geoffrey Keating   <geoffk@cygnus.com>
1111
1112         * rs6000.c (rs6000_stack_info): For ABI_V4/ABI_SOLARIS -fpic, always
1113         allocate space in the stack frame for the PIC register.
1114
1115 Thu Aug  5 00:20:47 1999  Jeffrey A Law  (law@cygnus.com)
1116
1117         * m68k.md (xordi3, anddi3): These patterns are not available on
1118         the coldfire.
1119
1120 Wed Aug  4 23:39:20 1999  Mark Mitchell  <mark@codesourcery.com>
1121
1122         * real.c (GET_REAL): Don't violate ANSI/ISO aliasing rules.
1123         (PUT_REAL): Likewise.
1124
1125 Wed Aug  4 02:15:32 1999  Richard Henderson <rth@cygnus.com>
1126
1127         * jump.c (delete_insn): Delete the addr_vec when deleting a tablejump.
1128
1129 Wed Aug  4 01:08:44 1999  Jeffrey A Law  (law@cygnus.com)
1130
1131         * flow.c (delete_unreachable_blocks): Do not call merge_blocks
1132         or tidy_fallthru_edge if the last insn in the block is not
1133         an unconditional jump or a simple conditional jump.
1134
1135 Tue Aug  3 03:51:20 1999  Jeffrey A Law  (law@cygnus.com)
1136
1137         * cse.c (cse_insn): Fix dumb thinko in last change.
1138
1139 Mon Aug  2 23:45:45 1999  Hans-Peter Nilsson  <hp@bitrange.com>
1140
1141         * dwarf2out.c (add_location_or_const_value_attribute): Correct
1142         test for sizes of passed and declared parameter types.
1143
1144 Mon Aug  2 12:45:09 1999  Richard Henderson  <rth@cygnus.com>
1145
1146         * alpha.c (override_options): Don't force ALPHA_TP_PROG for ev6.
1147
1148 Mon Aug  2 01:34:22 1999  Jeffrey A Law  (law@cygnus.com)
1149
1150         * fix-header.c (main): When testing for CONTINUED, use string
1151         equality, not pointer equality.
1152
1153 Mon Aug  2 01:27:24 1999  Dan Nicolaescu  <dann@ics.uci.edu>
1154
1155         * sparc.c (sparc_block_profiler): Use the %g2 register, not %o0.
1156
1157 Sun Aug  1 22:46:42 1999  Jeffrey A Law  (law@cygnus.com)
1158
1159         * cse.c (cse_insn): Fix loop which deletes insns after a jump
1160         that has become an unconditional jump.
1161
1162         * m68k.c (output_function_prologue): Fix typo in CPU32 case.
1163         (output_function_epilogue): Similarly.
1164
1165         Tue Jul 20 12:37:30 1999  Hans-Peter Nilsson  <hp@bitrange.com>
1166         * dwarf2out.c (output_abbrev_section): Terminate with a zero.
1167
1168         Thu Jul 15 15:40:09 1999  Jim Wilson  <wilson@cygnus.com>
1169         * tree.c (build_type_attribute_variant): Move current_obstack restore
1170         after build_qualified_type call.
1171
1172         Fri Jun  4 03:20:40 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1173         * sh.c (fixup_addr_diff_vecs): Emit braf reference label.
1174         (braf_label_ref_operand): Delete.
1175         * sh.h (PREDICATE_CODES): Remove braf_label_ref_operand.
1176         * sh.md (casesi_jump_2): Operand1 is now the inside of a
1177         label_ref, and has no predicate.
1178         The patten has a predicate to guard against invalid substitutions.
1179         (dummy_jump): Delete.
1180         (casesi): Update use of casesi_jump_2.
1181
1182 Thu Jul 31 12:34:45 1999  Joe Buck  <jbuck@synopsys.com>
1183
1184         * gcc.texi: Use terms "GNU Compiler Collection" and "GCC".
1185         Also update copyright.
1186
1187 Wed Jul 28 21:39:31 PDT 1999 Jeff Law  (law@cygnus.com)
1188
1189         * gcc-2.95 Released.
1190
1191         * verison.c: No longer a prerelease.
1192
1193 Wed Jul 28 13:49:03 1999  Jeffrey A Law  (law@cygnus.com)
1194
1195         * README: Update.
1196
1197 Sun Jul 25 21:40:33 1999  Jeffrey A Law  (law@cygnus.com)
1198
1199         * gcc.texi: More changes related to list conversion.
1200         * invoke.texi: Likewise.
1201
1202 Sat Jul 17 23:58:24 1999  David Edelsohn  <edelsohn@gnu.org>
1203
1204         * rs6000.md (insv, extzv): Remove SImode dependence in named
1205         patterns.  Explicitly generate DImode RTL if PowerPC64 and
1206         operand is DImode.
1207         (insvdi): Reverse start and size in instruction template.
1208
1209 1999-07-17  Alexandre Oliva  <oliva@dcc.unicamp.br>
1210         
1211         * gcc.texi: Update e-mail addresses and URLs to gcc.gnu.org.
1212         Removed paragraph about compression of files and size limitation,
1213         duplicated in the FAQ.  Use gcc-patches for posting patches.
1214         * gcc.c (main): Updated URL with bug reporting instructions to
1215         gcc.gnu.org.  Removed e-mail address.
1216         * system.h (abort): Likewise.
1217
1218 1999-07-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1219
1220         * Makefile.in (stmp-multilib-sub): Make the files extracted
1221         from $(LIBGCC1) writable.
1222
1223 Fri Jul 16 01:39:57 1999  Jeffrey A Law  (law@cygnus.com)
1224
1225         * m68k.c (output_function_prologue): Fix computation of save mask
1226         when generating PIC code.
1227
1228 1999-07-12  Joseph S. Myers  <jsm28@cam.ac.uk>
1229
1230         * invoke.texi: Typo fixes.
1231
1232 Wed Jul 14 23:28:06 1999  Jeffrey A Law  (law@cygnus.com)
1233
1234         * emit-rtl.c (gen_realpart): Issue an error for cases GCC can not
1235         handle at this time instead of silently generating incorrect code.
1236         (gen_imagpart): Likewise.
1237
1238         * reload.c (find_reloads): Emit a USE for a pseudo register without
1239         a hard register if we could not create an optional reload for the
1240         pseudo.
1241
1242 Wed Jul 14 01:57:39 1999  Richard Henderson  <rth@cygnus.com>
1243
1244         * regclass.c (scan_one_insn): Notice subregs that change the
1245         size of their operand.
1246         (record_reg_classes): Use that to obey CLASS_CANNOT_CHANGE_SIZE.
1247
1248 Wed Jul 14 01:37:06 1999  Jeffrey A Law  (law@cygnus.com)
1249
1250         * configure.in (alpha*-*-*): Include alpha/t-ieee.
1251         * configure: Rebuilt.
1252         * alpha/t-ieee: New file.
1253
1254 Tue Jul 13 10:44:14 1999  Jeffrey A Law  (law@cygnus.com)
1255
1256         Wed Jun 16 20:29:00 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1257         * cse.c (cse_insn): Don't put hard register source into tables for
1258         the last insn of a libcall.
1259
1260         * rs6000.c (find_addr_reg): Do not select r0 as an address
1261         register.
1262
1263 Tue Jul 13 00:46:18 1999  Philippe De Muyter  <phdm@macqel.be>
1264
1265         * m68k/x-mot3300 (XCFLAGS): List of big files now includes `cse.o'.
1266
1267 Mon Jul 12 23:39:08 1999  Jeffrey A Law  (law@cygnus.com)
1268
1269         * rs6000.md (movsf): Do not force easy FP constants into memory.
1270
1271 Sun Jul 11 11:21:24 1999  Jason Merrill  <jason@yorick.cygnus.com>
1272
1273         * toplev.c (main): Don't complain about saying -gdwarf.
1274
1275 Fri Jul  9 03:51:52 1999  Jeffrey A Law  (law@cygnus.com)
1276
1277         * version.c: Drop "gcc-" prefix from version #.
1278
1279 Thu Jul  8 19:15:51 1999  Jim Wilson  <wilson@cygnus.com>
1280
1281         * unroll.c (unroll_loops): Don't delete named CODE_LABEL or
1282         NOTE_INSN_DELETED_LABEL note.
1283
1284 Thu Jul  8 14:18:46 1999  Richard Henderson  <rth@cygnus.com>
1285
1286         * m68k.c (output_function_prologue): Add pic register to mask
1287         if live and flag_pic.
1288         (output_function_epilogue): Likewise.
1289
1290 Thu Jul  8 10:28:25 1999  Craig Burley  <craig@jcb-sc.com>
1291
1292         * invoke.texi (DEC Alpha Options): Put @end table at
1293         beginning of line, to avoid confusing texi2html.
1294
1295 Wed Jul  7 02:00:04 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1296
1297         * reload1.c (gen_reload): When synthesizing a 3 operand add 
1298         sequence, improve test for when to reload OP1 into the reload
1299         register instead of OP0.
1300
1301 Wed Jul  7 01:38:03 1999  Jim Wilson  <wilson@cygnus.com>
1302
1303         * unroll.c (unroll_loop): Don't delete NOTE_INSN_DELETED_LABEL notes.
1304
1305 1999-07-07  Manfred Hollstein  <mhollstein@cygnus.com>
1306
1307         * m88k/dguxbcs.h (CPP_SPEC): Add missing \ in multi-line
1308         string literal.
1309
1310 Wed Jul  7 01:16:43 1999  Richard Henderson  <rth@cygnus.com>
1311
1312         * ginclude/varargs.h (__builtin_va_alist_t): New typedef.
1313         (va_dcl): Use __builtin_va_alist_t.
1314
1315 Wed Jul  7 01:13:31 1999  Jason Merrill  <jason@yorick.cygnus.com>
1316
1317         * dwarf2out.c (gen_struct_or_union_type_die): Only remember types
1318         on the permanent_obstack.
1319         * dwarfout.c (output_type): Likewise.
1320
1321 Fri Jul  2 03:05:13 1999  Jeffrey A Law  (law@cygnus.com)
1322
1323         * dwarfout.c (field_byte_offset): Correctly compute the object's
1324         byte offset for the first bit of a field which crosses an alignment
1325         boundary on a !BYTES_BIG_ENDIAN target.
1326
1327 Fri Jul  2 01:36:36 1999  Robert Lipe  <robertlipe@usa.net>
1328
1329         * fixinc.svr4: Fix <arpa/inet.h> by deleting protos for htons and
1330         ntohs.
1331
1332 Fri Jul  2 00:46:47 1999  Richard Henderson  <rth@cygnus.com>
1333                           Jeff Law <law@cygnus.com>
1334
1335         * ginclude/varargs.h (va_dcl): Use word_mode for type of
1336         __builtin_va_list.
1337
1338         * except.c: Include intl.h.
1339         (expand_eh_return): Set current_function_cannot_inline.
1340         (save_eh_status, restore_eh_status): Twiddle eh_return_stub_label.
1341         * function.h (struct function): Add eh_return_stub_label.
1342         * flow.c (delete_unreachable_blocks): Don't merge across EH edges.
1343         * Makefile.in (except.o): Depend on intl.h.
1344
1345 Fri Jul  2 00:04:23 1999  David Edelsohn  <edelsohn@gnu.org>
1346
1347         * rs6000.md (movdf_hardfloat32): Handle PRE_INC and PRE_DEC the
1348         same as offsettable in cases 1 and 2.
1349
1350 1999-07-01  Mark Kettenis  <kettenis@gnu.org>
1351
1352         * config/i386/gnu.h (CPP_SPEC): Define __PIC__ and __pic__ if
1353         -fPIC or -fpic is specified.
1354
1355 Wed Jun 30 23:56:01 1999  Jeffrey A Law  (law@cygnus.com)
1356
1357         * expr.c (emit_block_move): Use copy_to_mode_reg for
1358         !TARGET_MEM_FUNCTIONS case too.
1359
1360 Tue Jun 29 01:37:53 1999  Jeffrey A Law  (law@cygnus.com)
1361
1362         * mips.md (leasi, leadi): New patterns.
1363
1364         * expr.c (emit_block_move): Properly handle case where one of the
1365         block move arguments has a queued increment or decrement.
1366         (clear_storage): Similarly.  Fix formatting goof.
1367
1368 Mon Jun 28 05:32:09 1999  Jeffrey A Law  (law@cygnus.com)
1369
1370         * m68k.h (CONDITIONAL_REGISTER_USAGE): Define for !SUN_FPA
1371         case.  Also make the PIC register call_used.
1372
1373         * m68k.h (FINALIZE_PIC): Delete.
1374         * m68k.c (finalize_pic): Delete.
1375
1376         * m68k.h (CONDITIONAL_REGISTER_USAGE): Make the PIC register fixed
1377         when -fpic/-fPIC.
1378
1379 Mon Jun 28 05:16:35 1999  Richard Henderson  <rth@cygnus.com>
1380
1381         * m68k.h (PREFERRED_RELOAD_CLASS): Don't force any FP const_doubles
1382         to memory.
1383
1384 Mon Jun 28 04:07:27 1999  David Edelsohn  <edelsohn@gnu.org>
1385
1386         * rs6000.c (output_toc): Always use hex values for floating-point
1387         constants.  Store single-precision values in upper-half of TOC
1388         entry in 64-bit mode.
1389         * rs6000.md (floatsidf2, floatunssidf2): Add !TARGET_POWERPC64
1390         to final constraints.
1391         (fix_truncdfsi2 splitter): Change pattern matching fctiwz.
1392         (fctiwz): Improve accuracy of RTL for pattern.
1393
1394         * rs6000.c (print_operand, case 'L'): Use plus_constant_for_output.
1395
1396         * expmed.c (expand_divmod): Ensure unsigned value fits in reg_note.
1397
1398 Fri Jun 25 06:06:37 1999  Richard Henderson  <rth@cygnus.com>
1399
1400         * alpha.h (MASK_SUPPORT_ARCH, MASK_CPU_EV5, MASK_CPU_EV6): Define
1401         such that MASK_SUPPORT_ARCH is not negative.
1402
1403 Fri Jun 25 05:35:44 1999  Jeffrey A Law  (law@cygnus.com)
1404
1405         * loop.c (verify_dominator): Properly handle ADDR_VEC and
1406         ADDR_DIFF_VEC insns that appear inside loops.
1407
1408 Thu Jun 24 22:54:05 1999  David Edelsohn  <edelsohn@gnu.org>
1409                           Jeff Law <law@cygnus.com>
1410
1411         * rs6000.md (movdf_hardfloat32): Revert previous patch.
1412         Handle LO_SUM the same as offsettable in cases 1 and 2.
1413         * rs6000.c (find_addr_reg): Revert previous patch.
1414
1415 Thu Jun 24 22:43:12 1999  Philippe De Muyter  <phdm@macqel.be>
1416
1417         * system.h (strstr): New external function declaration.
1418         * acconfig.h (NEED_DECLARATION_STRSTR): New define slot.
1419         * configure.in (GCC_NEED_DECLARATIONS): Check for strstr.
1420         * config.in, configure: Rebuilt.
1421
1422 1999-06-24  Tom Tromey  <tromey@cygnus.com>
1423
1424         * gcc.c (main): Read user-specified specs files after computing
1425         additional startfile_prefixes.
1426
1427 1999-06-24  Bruce Korb <ddsinc09@ix.netcom.com>
1428
1429         *fixinc/inclhack.def(end_else_label): combined else_label
1430         and endif_label and fixed the sed expression.
1431         *fixinc/{fixincl.x|inclhack.sh}: regen
1432
1433 Tue Jun 22 01:58:18 1999  Jeffrey A Law  (law@cygnus.com)
1434
1435         * rs6000.md (movdf_hardfloat32): Use %X instead of always emitting
1436         'x' when handling non-offsettable addresses
1437
1438 Tue Jun 22 00:20:05 1999  Richard Earnshaw (rearnsha@arm.com)
1439
1440         * final.c (shorten_branches): Don't try to split an insn that has
1441         been deleted.
1442
1443 Mon Jun 21 23:32:17 1999  Jeffrey A Law  (law@cygnus.com)
1444
1445         Thu Jun 17 15:07 1999  Bruce Korb <ddsinc09@ix.netcom.com>
1446         * fixincludes: ISCNTL patch
1447
1448 Mon Jun 21 22:15:50 1999  Jeffrey A Law  (law@cygnus.com)
1449
1450         * rs6000.c (find_addr_reg): Handle LO_SUM addresses.
1451
1452 Mon Jun 21 22:14:05 1999  David Edelsohn  <edelsohn@gnu.org>
1453
1454         * rs6000.md (movdf_hardfloat32): Fix typo.
1455
1456 Mon Jun 21 20:10:42 1999  Richard Henderson  <rth@cygnus.com>
1457
1458         * collect2.c (main): Log frame table count.
1459         (GCC_OK_SYMBOL) [ECOFF]: Accept stGlobal.
1460         (scan_prog_file) [COFF]: Handle frame tables.
1461
1462         * alpha/alpha.h (UNALIGNED_SHORT_ASM_OP): Define.
1463         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Define.
1464         * alpha/elf.h: Undef them again.
1465         * alpha/vms.h: Remove their definitions.
1466
1467 1999-06-21  Jakub Jelinek  <jj@ultra.linux.cz>
1468
1469         * real.c (ereal_from_double): Fix for 64-bit big endian hosts.
1470         * emit-rtl.c (gen_lowpart_common): Add case for hosts where double
1471         fits in HOST_WIDE_INT and one uses union to access a long constant
1472         as double.
1473
1474 Mon Jun 21 17:18:25 1999  Richard Henderson  <rth@cygnus.com>
1475
1476         * sparc.c (sparc_override_options): Don't allow profiling for
1477         code models other than medlow.
1478         (sparc_function_profiler): New function from old FUNCTION_PROFILER
1479         macro.  Use ASM_GENERATE_INTERNAL_LABEL and MCOUNT_FUNCTION.
1480         (sparc_function_block_profiler): Likewise.  Use user_label_prefix.
1481         (sparc_block_profiler): Likewise.
1482         (sparc_function_block_profiler_exit): Likewise.
1483         * sparc.h (FUNCTION_PROFILER): Call new sparc.c function.
1484         (FUNCTION_BLOCK_PROFILER): Likewise.
1485         (BLOCK_PROFILER): Likewise.
1486         (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
1487         (MCOUNT_FUNCTION): New.
1488         * sparc/pbd.h (FUNCTION_PROFILER): Delete.
1489         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Delete.
1490         * sparc/sun4o3.h (FUNCTION_PROFILER): Delete.
1491         (MCOUNT_FUNCTION): New.
1492         * sparc/sysv4.h (FUNCTION_BLOCK_PROFILER): Delete.
1493         (BLOCK_PROFILER): Delete.
1494         (MCOUNT_FUNCTION): New.
1495
1496 Mon Jun 21 06:22:21 1999  Mark Elbrecht <snowball3@bigfoot.com>
1497
1498         * i386/djgpp.h (LIB_SPEC): New.
1499         (STARTFILE_SPEC): New.
1500
1501         * i386/xm-djgpp.h (NO_SYS_SIGLIST): Deleted. Now obsolete.
1502
1503 Mon Jun 21 06:19:33 1999  Philippe De Muyter  <phdm@macqel.be>
1504
1505         * fixinc/Makefile.in (gnu-regex.o): Do not define STDC_HEADERS in
1506         compiler flags.
1507
1508         * system.h (WSTOPSIG): New macro.
1509
1510 Mon Jun 21 05:33:15 1999  Mumit Khan  <khan@xraylith.wisc.edu>
1511
1512         * c-pragma.c (push_alignment): Don't ignore alignments greater than
1513         4 bytes.
1514         (insert_pack_attributes): Take into account member natural 
1515         alignment.
1516
1517         * i386/winnt.c (exports_head): New static variable.
1518         (i386_pe_record_exported_symbol): New function.
1519         (i386_pe_asm_file_end): Use.
1520         * i386/cygwin.h (ASM_OUTPUT_COMMON): Record the exported
1521         symbols to be emitted at end of assembly.
1522         (ASM_DECLARE_OBJECT_NAME): Likewise.
1523         (ASM_DECLARE_FUNCTION_NAME): Likewise.
1524
1525         * i386/uwin.h (CPP_SPEC): Use -idirafter instead -iprefix and
1526         -iwithprefix.
1527
1528 Mon Jun 21 05:17:00 1999  David Edelsohn  <edelsohn@gnu.org>
1529
1530         * rs6000.md (movdf_hardfloat32): Use worst case insn length
1531         attributes for cases 1 and 2.
1532
1533         * rs6000.c (find_addr_reg): New function.
1534         * rs6000.h (find_addr_reg): Declare.
1535         (offsettable_addr_operand): Delete.
1536         * rs6000.md (movdf_hardfloat32): Handle non-offsettable loads
1537         from and stores to GPRs.
1538
1539 Mon Jun 21 04:44:31 1999  Jeffrey A Law  (law@cygnus.com)
1540
1541         * sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Fix paren error introduced
1542         in last change.
1543
1544 Sun Jun 20 17:24:35 1999  Richard Henderson  <rth@cygnus.com>
1545
1546         * haifa-sched.c (sched_analyze): Don't clear reg_last_uses on calls.
1547
1548 Sat Jun 19 22:52:55 1999  Richard Henderson  <rth@cygnus.com>
1549
1550         * haifa-sched.c (sched_analyze): Mark call-user regs as clobbered
1551         instead of set.
1552
1553 Sat Jun 19 05:40:07 1999  Philip Blundell <pb@nexus.co.uk>
1554
1555         * arm.c (arm_reload_in_hi): Invert sense of test on BYTES_BIG_ENDIAN.
1556
1557 Sat Jun 19 05:25:05 1999  Richard Earnshaw (rearnsha@arm.com)
1558
1559         * arm.h (CONDITIONAL_REGISTER_USAGE): If flag_pic, never use
1560         PIC_OFFSET_TABLE_REGNUM for general alloaction.
1561         (INITIAL_ELIMINATION_OFFSET): Count the fact that the PIC register
1562         must be stacked if it is used for PIC accesses.
1563         * arm.c (use_return_insn): Handle PIC register specially.
1564         (output_return_instruction): Likewise.
1565         (output_func_{prologue,epilogue}): Likewise.
1566         (output_expand_prologue): Likewise.
1567
1568         * arm.c (arm_override_options): Remove warning about PIC code
1569         not being supported.
1570
1571 Fri Jun 18 15:44:18 1999  Richard Henderson  <rth@cygnus.com>
1572
1573         * alpha.c (alpha_expand_block_move): Use get_insns rather than
1574         gen_sequence as argument to emit_no_conflict_block.
1575
1576 Fri Jun 18 06:48:30 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1577
1578         * fixinc/inclhack.def (ioctl_fix_ctrl): Fix the definition of _*ISCTRL().
1579         * fixinc/{fixincl.x,inclhack.sh}: regen
1580
1581 Thu Jun 17 13:28:30 1999  David O'Brien <obrien@FreeBSD.org>
1582
1583         * i386/freebsd-elf.h (LINK_SPEC): Fix typo.
1584
1585         * i386/freebsd-elf.h (FUNCTION_PROFILER): labels are not needed and
1586         the reference to `mcount' was not correct for the ELF on FreeBSD.
1587
1588 Thu Jun 17 02:54:30 1999  Jeffrey A Law  (law@cygnus.com)
1589
1590         * invoke.texi (ia32 options): Fix typo.
1591
1592         * emit-rtl.c (operand_subword): Tighten checks for when it is safe
1593         to safe to extract a subword out of a REG.
1594
1595 Wed Jun 16 10:33:02 1999  Jason Merrill  <jason@yorick.cygnus.com>
1596
1597         * dwarfout.c (add_incomplete_type): New fn.
1598         (output_type): Call it.
1599         (retry_incomplete_types): New fn.
1600         (dwarfout_finish): Call it.
1601
1602         From Eric Raskin <ehr@listworks.com>:
1603         (output_type): Output types for bases.
1604
1605 Tue Jun 15 01:55:20 1999  David O'Brien <obrien@FreeBSD.org>
1606
1607         * i386/freebsd-elf.h (LINK_SPEC): clean up the linking library
1608         specifications and make it realistic.
1609         (LIB_SPEC): Likewise.
1610
1611 Mon Jun 14 03:55:40 1999  Jeffrey A Law  (law@cygnus.com)
1612
1613         * configure.in (rs6000-ibm-aix4.3*, powerpc-ibm-aix4.3*): Do not
1614         require a sub-version #.
1615         * configure: Rebuilt.
1616
1617 1999-06-14  Robert Lipe  (robertlipe@usa.net)
1618
1619         * svr4.h (DWARF2_DEBUGGING_INFO): Check for redefinition.
1620
1621 1999-06-14  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
1622
1623         * gcc.texi: Mention gcc 2.95 instead of egcs 1.00.
1624
1625 Sun Jun 13 01:08:02 1999  Mark Mitchell  <mark@codesourcery.com>
1626
1627         * invoke.texi (node Option Summary): Add -fpermissive flag.
1628
1629 Sat Jun 12 03:40:42 1999  Jeffrey A Law  (law@cygnus.com)
1630
1631         * sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing with operands
1632         that require PIC code sequences.
1633
1634 Fri Jun 11 03:17:51 1999  Jeffrey A Law  (law@cygnus.com)
1635
1636         * Makefile.in (libgcc2): Pass MAYBE_USE_COLLECT2 as an argument.
1637         * libgcc2.c (__CTOR_LIST, __DTOR_LIST); Do not provide
1638         initializers is some circumstances.
1639
1640         * fixinc/inclhack.def (endif_label): Add additional selector for
1641         more bogus stuff after #endif statements.
1642         * fixinc/inclhack.sh, fixinc/fixincl.x: Rebuilt.
1643
1644 Thu Jun 10 20:45:27 1999  Mumit Khan  <khan@xraylith.wisc.edu>
1645
1646         * i386/cygwin.h (SET_ASM_OP): Define.
1647
1648 Thu Jun 10 20:37:57 1999  Mumit Khan  <khan@xraylith.wisc.edu>
1649
1650         * reg-stack.c (stack_reg_life_analysis): Find all the RETURN insns.
1651
1652 Thu Jun 10 14:47:59 1999  Bruce Korb <ddsinc09@ix.netcom.com>
1653
1654         * fixinc/inclhack.def(sun_auth_proto): We do not know how to
1655         test for the presence of valid prototypes.  Delete bypass expr.
1656         (ioctl_fix_ctrl): Correct the selection expression.
1657
1658         * fixinc/inclhack.def(no_double_slash): fixed quoting rules
1659         * fixinc/inclhack.sh: regen
1660         * fixinc/fixincl.x: regen
1661
1662 Thu Jun 10 01:22:59 1999  Jeffrey A Law  (law@cygnus.com)
1663
1664         * loop.c (strength_reduce): Disable biv->giv translations and
1665         giv recombination.  For the release branch only.
1666
1667 Wed Jun  9 15:57:57 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1668
1669         * rs6000.md (movsi_got_internal_mem): Delete.
1670         * rs6000.h (CONDITIONAL_REGISTER_USAGE): Mark PIC_OFFSET_TABLE_REGNUM.
1671         (GOT_TOC_REGNUM): Delete.
1672         (PIC_OFFSET_TABLE_REGNUM): Define.
1673         (FINALIZE_PIC): Disable.
1674         * rs6000.c (rs6000_got_register): New code for fixed pic register.
1675         (rs6000_replace_regno): Delete.
1676         (rs6000_finalize_pic): Likewise.
1677         (output_prolog): Handle PIC_OFFSET_TABLE_REGNUM.
1678
1679 Wed Jun  9 19:44:26 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1680
1681         * loop.c (loop_insn_first_p): Don't compare LUIDs when P
1682         is a note; use <= for the compare; advance P while it is
1683         a NOTE.
1684
1685 Wed Jun  9 13:12:24 1999  Jeffrey A Law  (law@cygnus.com)
1686
1687         * fixinc/inclhack.def (no_double_slash): Fix quoting for test.
1688         * fixinc/inclhack.sh, fixinc/fixincl.x, fixinc/fixincl.sh; Rebuilt.
1689
1690         * varasm.c (remove_from_pending_weak_list): Verify t->name
1691         is non-NULL before passing it to strcmp.
1692
1693 Wed Jun  9 23:01:17 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1694
1695         * invoke.texi: Add C4x invocation docs.
1696
1697 Wed Jun  9 22:42:49 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1698
1699         * config/c4x/c4x.h (TARGET_EXPOSE_LDP, LEGITIMIZE_RELOAD_ADDRESS):
1700         Define new macros. 
1701         * config/c4x/c4x.c (c4x_emit_move_sequence, src_operand): Use
1702         TARGET_EXPOSE_LDP.
1703         (c4x_legitimize_reload_address): New function.
1704         * config/c4x/c4x.md: Update docs.
1705
1706 Wed Jun  9 06:50 1999  Bruce Korb <ddsinc09@ix.netcom.com>
1707
1708         * fixinc/inclhack.def(sun_auth_proto): bypass the patch if
1709         the typed arguments are not part of a comment
1710         (ioctl_fix_ctrl): Added a purpose comment
1711         * fixinc/fixincl.x: regenerate
1712         * fixinc/inclhack.sh: regenerate
1713
1714 Wed Jun  9 04:14:48 1999  Jeffrey A Law  (law@cygnus.com)
1715
1716         * fixincludes: Avoid removing '.'.
1717         * fixinc/fixinc.svr4: Likewise.
1718         * fixinc/fixinc.winnt: Likewise.
1719         * fixinc/inclhack.tpl: Likewise.
1720         * fixinc/fixincl.sh, fixinc/inclhack.sh: Rebuilt.
1721
1722 Wed Jun  9 03:55:34 1999  Jim Wilson <wilson@cygnus.com>
1723
1724         * configure.in (rs6000-ibm-aix4.[12]*): Change rx6000 to rs6000.
1725         * configure: Regenerate.
1726
1727         * configure.in (rs6000-ibm-aix4.[12]*): Delete use of aix41-gld.h.
1728         Add use of x-aix41-gld.
1729
1730 1999-06-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1731
1732         * fixinc/inclhack.def (sun_catmacro): Escape parens in the select
1733         pattern.
1734         * fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
1735
1736 Wed Jun  9 03:10:34 1999  Mumit Khan  <khan@xraylith.wisc.edu>
1737
1738         * c-pragma.c (handle_pragma_token): Handle `#pragma pack()'
1739         correctly.
1740
1741 Tue Jun  8 05:47:48 1999  Richard Earnshaw (rearnsha@arm.com)
1742
1743         * optabs.c (expand_cmplxdiv_wide): Use expand_abs to get the absolute
1744         values.
1745
1746 Mon Jun  7 22:30:37 1999  Jeffrey A Law  (law@cygnus.com)
1747
1748         * fixinc/inclhack.def (bad_lval): Remove bogus selector.
1749         * fixinc/inclhack.sh, fixinc/fixincl.x, fixinc/fixincl.sh; Rebuilt.
1750
1751         * fixinc/inclhack.def (avoid_bool): Also catch
1752         "typedef [unsigned] int bool".
1753         * fixinc/inclhack.sh, fixinc/fixincl.x, fixinc/fixincl.sh: Rebuilt.
1754
1755         * m68k/x-hp3bsd44: Delete obsolete and incorrect file.
1756         * configure.in (m68k-hp-bsd4.4): No longer use x-hp3bsd44.
1757         * configure: Rebuilt.
1758
1759 Mon Jun  7 22:05:03 1999  Mark Kettenis  <kettenis@gnu.org>
1760
1761         * config/i386/gnu.h: Include <gnu.h> right after <i386/linux.h>,
1762         such that we can override its definitions if necessary.
1763         (CPP_SPEC): New define.  Support processor specific predefines via
1764         %(cpp_cpu).
1765         (CC1_SPEC): New define.  Support processor specific compiler
1766         options via %(cc1_cpu).
1767         (STARTFILE_SPEC): New define.  Use crt0.o instead of crt1.o for
1768         -static.
1769
1770 1999-06-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1771
1772         * fixinc/inclhack.def (math_gcc_ifndefs): Insert whitespace
1773         between sed's -e flag, and the open-quote following it.
1774         * fixinc/fixincl.x, fixinc/fixincl.sh: Rebuilt.
1775
1776 Mon Jun  7 20:34:20 1999  Robert Lipe <robertlipe@usa.net>
1777                           Jeffrey A Law  (law@cygnus.com)
1778
1779         * varasm.c (assemble_start_function): Remove the function
1780         from the pending weak decls list when we define a function.
1781         (assemble_variable): Similarly for variables.
1782         (weak_finish): Ignore items on the list with a NULL name.
1783         (remove_from_ending_weak_list); New function to "remove" an item
1784         from the pending weak declarations list.
1785
1786 Mon Jun  7 19:27:07 1999  Jerry Quinn <jquinn@nortelnetworks.com>
1787
1788         * pa.md (fmpyfadd, fmpynfadd, fnegabs): New patterns.
1789
1790 Sun Jun  6 11:58:34 1999  Jakub Jelinek  <jj@ultra.linux.cz>
1791
1792         * sparc.md (abstf2): This should be an expand.
1793         (split after abstf2_notv9): Fix mode.
1794         (abstf2_hq_v9): New pattern.
1795         (abstf2_v9): Only use when no hard quad.
1796         (absdf2_v9): Fix if target is not the same as source.
1797         (ashrsi3_extend, ashrsi3_extend2, lshrsi3_extend, lshrsi3_extend2):
1798         Add correct output constraints.
1799
1800 Sat Jun  5 17:04:16 1999  Craig Burley  <craig@jcb-sc.com>
1801
1802         From Dave Love to egcs-patches on 20 May 1999 17:38:38 +0100:
1803         * invoke.texi: Clarify text vis-a-vis Intel CPUs.
1804
1805 Fri Jun  4 13:30:27 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1806
1807         * alpha/osf.h (CPP_SUBTARGET_SPEC): Handle -threads.
1808         (LIB_SPEC): Likewise.
1809         Link with -lprof1_r for -g/-pg.
1810
1811 1999-06-04  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
1812
1813         * loop.c (check_dbra_loop): Fix change of Jan 19.
1814
1815 Fri Jun  4 00:12:40 1999  Marc Espie <espie@cvs.openbsd.org>
1816
1817         * freebsd-elf.h (SWITCH_TAKES_ARG):  Redefine, not define.
1818         (STARTFILE_SPEC):  Define, override the svr4.h version.
1819         (ENDFILE_SPEC):  Likewise.
1820
1821 Thu Jun  3 23:58:55 1999  Jeffrey A Law  (law@cygnus.com)
1822
1823         * fixinc/inclhack.def (limits_ifndefs): Also apply to sys/limits.h
1824         * fixinc/fixincl.x: Regenerated.
1825         * fixinc/inclhack.sh: Regenerated.
1826
1827 Thu Jun 3 07:48 1999  Bruce Korb <ddsinc09@ix.netcom.com>
1828
1829         * fixinc/inclhack.def(Io_Def_Quotes): corrected sed expression
1830         * fixinc/fixincl.x: regenerate
1831         * fixinc/inclhack.sh: regenerate
1832
1833 Thu Jun  3 22:27:50 1999  Robert Lipe  <robertlipe@usa.net>
1834
1835         * i386/udk.h (LINK_SPEC): Correct linker search path for
1836         system libraries.
1837
1838 Thu Jun  3 02:15:07 1999  Jason Merrill  <jason@yorick.cygnus.com>
1839
1840         * dwarf2out.c (add_incomplete_type): New fn.
1841         (gen_struct_or_union_type_die): Call it.
1842         (retry_incomplete_types): New fn.
1843         (dwarf2out_finish): Call it.
1844
1845 Thu Jun  3 01:19:03 1999  Jeffrey A Law  (law@cygnus.com)
1846
1847         * gcse.c (insert_insn_end_bb): Correct placement of insns when the
1848         current block starts with a CODE_LABEL and ends with a CALL and
1849         we can not find all the argument setup instructions for the CALL.
1850
1851 Wed Jun  2 12:25:55 1999  Richard Henderson  <rth@cygnus.com>
1852
1853         * alpha.c (override_options): Thinko in last patch.
1854
1855         * alpha/osf.h (CPP_SUBTARGET_SPEC): Define.
1856         (LIB_SPEC): Recognize -pthread.
1857
1858 Wed Jun  2 07:07 1999 Bruce Korb <ddsinc09@ix.netcom.com>
1859
1860         * fixinc/fixincl.c(global def): Add FD_SHELL_SCRIPT to mark
1861         fixes that need "file=xxx\n" prepended before invocation
1862         (start_fixer - new): starting the fixer process is complex enough
1863         to warrent its own routine.  It prepends the "file=xxx\n" stuff.
1864         (process): uses the new routine; omit usage of putenv()
1865         * fixinc/fixincl.tpl: mark shell scripts with FD_SHELL_SCRIPT
1866         * fixinc/fixincl.x: regenerate
1867
1868 Wed Jun  2 06:36:14 1999  Richard Earnshaw (rearnsha@arm.com)
1869
1870         * arm.md (zero_extendqidi2): Don't allow operand1 to be a memory
1871         reference.  Temporary work-around for problems with constant
1872         pool handling.
1873
1874 Wed Jun  2 02:40:43 1999  Jeffrey A Law  (law@cygnus.com)
1875
1876         * README, configure.in, gcc.1, gcc.texi: Update name (egcs -> gcc)
1877         and version #s (1.1 -> 2.95) as needed.
1878         * README.g77: Kill way out of date file in the toplevel directory.
1879
1880 Wed Jun  2 00:52:34 1999  David O'Brien <obrien@FreeBSD.org>
1881
1882         * configure.in (i[34567]86-*-freebsdelf): Don't include linux.h,
1883         i386/freebsd-elf.h no longer requires it.  Instead include svr4.h.
1884         * configure: Rebuilt.
1885         * i386/freebsd-elf.h (DEFAULT_VTABLE_THUNKS): Define.
1886         (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, SET_ASM_OP): Likewise.
1887         (PREFERRED_DEBUGGING_TYPE, WCHAR_UNSIGNED): Likewise.
1888         (SWITCH_TAKES_ARG): Likewise.
1889         * i386/freebsd.h: Remove FREEBSD_NATIVE support.
1890         * config/t-freebsd: Moved from config/i386/ so it can used for all
1891         FreeBSD targets.
1892         
1893 Mon May 31 02:22:55 1999  Philippe De Muyter  <phdm@macqel.be>
1894
1895         * m68k/x-mot3300 (XCFLAGS): Fixed to match stb.o, not f/stb.o.
1896
1897 Wed Jun  2 00:08:34 1999  Robert Lipe  <robertlipe@usa.net>
1898
1899         * configure.in (i[34567]86-*-udk*): Install headers with cpio.
1900         * configure: Rebuilt.
1901
1902 Wed Jun  2 00:49:00 EDT 1999  John Wehle  (john@feith.com)
1903
1904         * flow.c (mark_regs_live_at_end, insn_dead_p,
1905         mark_set_1, mark_used_regs): Only give FRAME_POINTER_REGNUM
1906         and HARD_FRAME_POINTER_REGNUM special treatment if reload
1907         hasn't run or the frame pointer is needed.
1908         * haifa-sched.c (attach_deaths): Likewise.
1909         * sched.c (attach_deaths): Likewise.
1910
1911 Thu May 27 22:06:52 1999  Mark Mitchell  <mark@codesourcery.com>
1912
1913         * cccp.c (handle_directive): Handle backslash-newlines in quoted
1914         strings correctly.
1915
1916 Mon May 31 22:42:02 1999  Jeffrey A Law  (law@cygnus.com)
1917
1918         * Remove this patch (from the branch only)
1919         Wed May 26 09:53:05 1999  Mark Mitchell  <mark@codesourcery.com>
1920         * fold-const.c (fold): STRIP_NOPS when deciding whether or not
1921         something is a candidate for optimize_bit_field_compare.
1922
1923 Mon May 31 15:23:23 1999  Richard Henderson  <rth@cygnus.com>
1924
1925         * alpha.md (reload_*_help): New patterns and splitters.
1926         (reload_*): Use them.
1927         (mov[qh]i): Likewise.
1928
1929 Mon May 31 09:36:11 1999  Cort Dougan  <cort@cs.nmt.edu>
1930
1931         * rs6000/linux.h (LINK_SPEC): Use emulation elf32ppclinux.
1932
1933 Sat May 29 19:08:10 1999  Philip Blundell  <philb@gnu.org>
1934
1935         * config/arm/aout.h (ASM_OUTPUT_ALIGN): Only define if not already 
1936         defined.
1937         * config/arm/elf.h (ASM_OUTPUT_ALIGN): Define.
1938         (MAX_OFILE_ALIGNMENT): Likewise.
1939
1940 Mon May 31 00:45:14 1999  Jeffrey A Law  (law@cygnus.com)
1941
1942         * jump.c (jump_optimize_1): Only set CAN_REACH_END if 
1943         calculate_can_reach_end returns nonzero.
1944
1945         * Makefile.in (CFLAGS): Remove warning flags.
1946         (WARN_CFLAGS): Disable.
1947
1948         * configure.in (native gas tests): Search for an assembler in the
1949         same manner that the installed compiler will.
1950         * configure: Rebuilt.
1951         * tm.texi (MD_EXEC_PREFIX): Note need to update configure.in too.
1952
1953         * alias.c (find_base_term): Improve handling of addresses
1954         constructed from binary operations.
1955
1956 Sun May 30 14:43:37 1999  Robert Lipe  <robertlipe@usa.net>
1957
1958         * fixincl.c: Replace local include scheme with #includes of 
1959         gansidecl.h and system.h.
1960         * procopen.c:  Likewise.
1961         * server.c:  Likewise.
1962
1963 Sun May 30 14:18:40 1999  Jeffrey A Law  (law@cygnus.com)
1964
1965         * function.h (cleanup_label, frame_offset): Declare.
1966         (tail_recursion_label, tail_recursion_reentry): Likewise.
1967         (arg_pointer_save_area, rtl_expr_chain): Likewise.
1968         * stmt.c (cleanup_label, frame_offset): Delete extern declarations.
1969         (tail_recursion_label, tail_recursion_reentry): Likewise.
1970         (arg_pointer_save_area, rtl_expr_chain): Likewise.
1971
1972 Fri May 28 03:47:03 1999  Eric Raskin (ehr@listworks.com)
1973
1974         * i386/t-dgux (EXTRA_PARTS): Add crti.o.
1975         (crti.o): Add build rule and dependencies.
1976
1977 Fri May 28 03:07:10 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1978
1979         * rs6000/sysv4.h (CC1_SPEC): Add support for -profile
1980         (LIB_LINUX_SPEC): Likewise.
1981         (LIB_LINUX_SPEC): Add support for -pthread
1982         (CPP_OS_LINUX_SPEC): Likewise.
1983         (CPP_SYSV_SPEC): Avoid redefinitions if both -fpic and -fPIC are
1984         specified
1985
1986         * rs6000.c (output_mi_thunk): Enable full support again.
1987
1988 Thu May 27 13:04:52 1999  H.J. Lu  (hjl@gnu.org)
1989
1990         * i386.c (output_fp_cc0_set): Don't check the JUMP_INSN code for
1991         conditional move.
1992         (notice_update_cc, output_float_compare): Enable TARGET_CMOVE support.
1993         (output_float_compare, output_fp_cc0_set): Fix the FLOAT comparison
1994         for IEEE math and CC_FCOMI.
1995         (put_jump_code): No IEEE if CC_FCOMI is set.
1996
1997 1999-05-27  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
1998
1999         * fold-const.c (fold_truthop): Make the field reference unsigned
2000         when converting a single bit compare.
2001
2002 Thu May 27 03:07:13 1999  Philip Blundell  <pb@nexus.co.uk>
2003
2004         Based on patch by Scott Bambrough and Pat Beirne:
2005         * config/arm/arm.c (making_const_table): New variable.
2006         * config/arm/arm.h (making_const_table): Declare.
2007         (OUTPUT_INT_ADDR_CONST): Mark symbols as position independent if
2008         appropriate.
2009         * config/arm/arm.md (consttable_4, consttable_8, consttable_end):
2010         Keep track of when we are building the constant table.  
2011
2012 Thu May 27 02:52:55 1999  Jeffrey A Law  (law@cygnus.com)
2013
2014         * varasm.c (STRIP_NAME_ENCODING): Remove default definition.
2015         * output.h (STRIP_NAME_ENCODING): Strip '*' like the old varasm
2016         version did.
2017
2018 Thu May 27 02:40:48 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
2019
2020         * loop.c (strength_reduce): Don't do biv->giv conversion on constants.
2021
2022 Thu May 27 02:09:27 1999  Jeffrey A Law  (law@cygnus.com)
2023
2024         * reload.c (push_reload): Do not call remove_address_replacements
2025         when presented with identical optional reloads.
2026
2027 Wed May 26 14:18:05 1999  Richard Henderson  <rth@cygnus.com>
2028
2029         * alpha.h (MASK_FIX, TARGET_FIX): New.
2030         (MASK_*): Reorganize constants.
2031         (CPP_AM_FIX_SPEC): New.
2032         (TARGET_SWITCHES): Add FIX.
2033         (EXTRA_SPECS): Likewise.
2034         (CPP_CPU_EV6_SPEC): Use FIX, not CIX.
2035         (SECONDARY_MEMORY_NEEDED): Likewise.
2036         (REGISTER_MOVE_COST): Likewise.
2037         * alpha.c (override_options): Add FIX support.  Always use 
2038         ALPHA_TP_PROG for ev6.
2039         * alpha.md (sqrt and mov[sd]i patterns): Use FIX, not CIX.
2040         * alpha/elf.h (ASM_FILE_START): Look at FIX too.
2041         * configure.in (target_cpu_default2) [ev6]: Use FIX, not CIX.
2042
2043 Wed May 26 09:53:05 1999  Mark Mitchell  <mark@codesourcery.com>
2044
2045         * fold-const.c (fold): STRIP_NOPS when deciding whether or not
2046         something is a candidate for optimize_bit_field_compare.
2047
2048 Wed May 26 03:54:33 1999  Melissa O'Neill <oneill@cs.sfu.ca>
2049
2050         * fixinc/fixincl.c: (WIFSIGNALED): Define if not already defined.
2051         (WTERMSIG, WIFEXITED, WEXITSTATUS, WIFSTOPPED, WSTOPSIG): Likewise.
2052         (S_IRUSR, S_IWUSR, S_IXUSR, S_IRGRP, S_IWGRP, S_IXGRP): Likewise.
2053         (S_IROTH, S_IWOTH, S_IXOTH, S_IRWXU, S_IRWXG, S_IRWXO): Likewise.
2054
2055 Wed May 26 02:19:31 1999  Philip Blundell  <pb@nexus.co.uk>
2056
2057         * arm.h (NEED_PLT_GOT): Fix mistake in last change.
2058         (GOT_PCREL): New macro.  Define to 1 if not already defined.
2059         * arm/elf.h (GOT_PCREL): Define to 0.
2060         * arm.c (arm_finalize_pic): Take into account the setting of
2061         GOT_PCREL.
2062
2063 Tue May 25 14:06:06 1999  Jeffrey A Law  (law@cygnus.com)
2064
2065         * output.h (STRIP_NAME_ENCODING): Provide default definition.
2066         * dwarf2out.c (ASM_NAME_TO_STRING): Use STRIP_NAME_ENCODING.
2067
2068         * flow.c (mark_set_1): Do not record BLKmode stores as dead
2069         store elimination candidates.
2070
2071 Mon May 24 14:34:31 1999  Jeffrey A Law  (law@cygnus.com)
2072
2073         * loop.c (strength_reduce): Do not clear NOT_EVERY_ITERATION at the
2074         last CODE_LABEL in a loop if we have previously passed a jump
2075         to the top of the loop.
2076
2077 Mon May 24 01:02:58 1999  Mark Mitchell  <mark@codesourcery.com>
2078
2079         * stmt.c (expand_end_bindings): Ignore any elements of VARS that
2080         are not VAR_DECLs.
2081
2082 Sun May 23 20:31:16 1999  Jeffrey A Law  (law@cygnus.com)
2083
2084         * loop.c (strength_reduce): Grow reg_single_usage as needed.
2085
2086 Sun May 23 10:13:20 1999  David O'Brien <obrien@FreeBSD.org>
2087
2088         * i386/freebsd-elf.h (LINK_SPEC): Change -static to -Bstatic.
2089         Also remove a useless comment.
2090
2091 Sun May 23 10:05:23 1999  Jerry Quinn <jquinn@nortelnetworks.com>
2092
2093         * pa.md (negdf2,negsf2):  Use fneg instead of fsub on pa 2.0.
2094
2095 Sat May 22 01:27:49 1999  Mark Mitchell  <mark@codesourcery.com>
2096
2097         * expr.h (lang_expand_constant): Guard with #ifdef TREE_CODE.
2098
2099 Thu May 20 10:00:42 1999   Stephen L Moshier  <moshier@world.std.com>
2100
2101          * Makefile.in (GCC_FOR_TARGET): Add -I$(build_tooldir)/include.
2102                          
2103 Thu May 20 09:58:57 1999  Jan Hubicka <hubicka@freesoft.cz>
2104
2105         * function.c (assign_stack_local): Align stack slot propertly.
2106         (assign_outer_stack_local): Likewise.
2107  
2108 Thu May 20 10:38:43 1999  Mark Mitchell  <mark@codesourcery.com>
2109
2110         * expr.h (lang_expand_constant): Declare.
2111         * toplev.c (lang_expand_constant): Define it.
2112         * varasm.c (output_constant): Use it.
2113
2114 Thu May 20 11:28:53 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2115
2116         * optabs.c (expand_cmplxdiv_straight, expand_cmplxdiv_wide):
2117         Change function definitions to K&R style.
2118
2119 Thu May 20 08:15:00 1999  Bruce Korb <ddsinc09@ix.netcom.com>
2120
2121         * fixinc/fixincl.c(main): we must not ignore SIGCLD now.
2122
2123 Thu May 20 07:06:39 1999  Alexandre Oliva  <aoliva@acm.org>
2124
2125         * fixinc/Makefile.in(gnu-regex.o): add $(INCLUDES) to compile options
2126         * fixinc/fixincl.c(wait_for_pid): K&R-ify arguments
2127         (several places): omit static initialization
2128         (process): use single fd, since only the read fd is used
2129         * fixinc/gnu-regex.c: define 'const' away, if not supported
2130         * fixinc/procopen.c(several places): omit static initialization
2131         * fixinc/server.c: define 'volitile' away, if not supported
2132
2133 1999-05-20  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
2134
2135         * config/dbxcoff.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Use
2136         asm_fprintf and %L to generate the label name.
2137         * config/dbxelf.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Likewise.
2138         (ASM_OUTPUT_SOURCE_LINE): Correct generation of internal labels.
2139
2140 Thu May 20 01:40:55 1999  Jeffrey A Law  (law@cygnus.com)
2141
2142         * jump.c (can_reverse_comparison_p): Do not abort if the comparison
2143         insn for a conditional jump can not be found.
2144
2145 Wed May 19 23:58:58 1999  Jeffrey A Law  (law@cygnus.com)
2146
2147         * mips.h (ENCODE_SECTION_INFO): Do not perform GP optimizations
2148         on variables in specific sections other than .sbss and .sdata.
2149
2150 Tue May 18 11:20:48 1999  Mark Mitchell  <mark@codesourcery.com>
2151
2152         * stmt.c (expand_return): Call start_cleanup_deferral and
2153         end_cleanup_deferral around conditional code.
2154
2155 Wed May 19 03:10:08 1999  Bruce Korb <ddsinc09@ix.netcom.com>
2156
2157         * fixinc/fixincl.tpl: Avoid depending on ANSI C features for
2158         filename lists.  Utilizes new AutoGen function "krstr".
2159         * fixinc/fixincl.x: Rebuilt.
2160
2161 Wed May 19 02:47:11 1999  Jan Hubicka  (hubicka@freesoft.cz)
2162
2163         * i386.c (output_float_compare): Avoid GNU-C extensions.
2164
2165 Wed May 19 00:50:24 1999  Jeffrey A Law  (law@cygnus.com)
2166
2167         * version.c: Bump version to gcc-2.95 prerelease.
2168
2169 Tue May 18 03:53:37 1999  Craig Burley  <craig@jcb-sc.com>
2170
2171         Improve open-coding of complex divide:
2172         * flags.h: Declare new front-end-malleable flag.
2173         * toplev.c: Define new flag.
2174         * optabs.c (expand_cmplxdiv_straight): New function to do original
2175         open-coding.
2176         (expand_cmplxdiv_wide): New function to do new open-coding,
2177         from Toon Moene, with changes (call to emit_barrier, dropping
2178         of spurious `ok = 1;', plus the obvious `break;' -> `return 0;').
2179         (expand_binop): A bit of spacing fixing, while at it.
2180         Use new functions instead of inlining the open-coding code.
2181
2182 Tue May 18 00:51:46 1999  Krister Walfridsson <cato@df.lth.se>
2183
2184         * configure.in (arm*-*-netbsd*): Use collect2.
2185         (i[34567]86-*-netbsd*): Likewise.
2186         (m68k*-*-netbsd*): Likewise.
2187         (ns32k-*-netbsd*): Likewise.
2188         (sparc-*-netbsd*): Likewise.
2189         (vax-*-netbsd*): Likewise.
2190         * configure: Rebuilt.
2191
2192 Tue May 18 00:21:34 1999  Zack Weinberg  <zack@rabi.phys.columbia.edu>
2193
2194         * cppspec.c: Insert -no-gcc into command line unless -gcc was
2195         given by user.
2196         * gcc.c (default_compilers): Define __GNUC__ and
2197         __GNUC_MINOR__ only if -no-gcc was not given.
2198         * objc/lang-specs.h: Likewise.
2199         * cpp.texi: Document -x and -std options; explain that -lang
2200         is no longer supported.  Minor related corrections.
2201
2202 Mon May 17 23:56:39 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
2203
2204         * Makefile.in (stmp-fixproto): Pass location of mkinstalldirs to
2205         fixproto.
2206         * fixproto: Avoid unportable constructs such as `basename' and
2207         `mkdir -p'.  Use mkinstalldirs from the environment if `mkdir -p'
2208         fails.
2209
2210         * fixinc/fixincl.c: Remove #error, it is not portable.
2211
2212 Mon May 17 23:50:41 1999  Marc Espie <espie@cvs.openbsd.org>
2213
2214         * collect2.c (main):  Fix typo in COLLECT2_HOST_INITIALIZATION.
2215
2216 Mon May 17 19:45:41 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2217
2218         * fixinc/fixincl.c (process): Wait for children from chain_open()
2219         to avoid creating zombies.
2220
2221         * fixinc/inclhack.tpl: Removed no-op pipe.
2222
2223         * fixinc/inclhack.sh fixinc/fixincl.sh: regenerate
2224
2225 Mon May 17 07:23:34 1999  Mark Mitchell  <mark@codesourcery.com>
2226
2227         * tree.def (TYPE_NONCOPIED_PARTS): Revise documentation to match
2228         reality.
2229         * expr.c (init_noncopied_parts): Don't generate initializers for
2230         parts that don't need them.
2231
2232 Mon May 17 02:56:35 PDT 1999 Jeff Law  (law@cygnus.com)
2233
2234         * version.c: Bump for snapshot.
2235
2236 Sat Oct 31 05:08:34 CET 1998 Jan Hubicka  (hubicka@freesoft.cz)
2237
2238         * reg-stack.c: Do not emit pop insns after cc0 setter.
2239         (emit_pop_insn): Do not emit insn in case WHEN is NULL.
2240         (compare_for_stack_reg): Update REG_DEAD note and 
2241         do not emit push insn.
2242
2243         * i386.c: (output_float_compare): Handle new REG_DEAD notes.
2244
2245 Mon May 17 01:57:37 1999  David Daney <daney@ibw.com.ni>
2246
2247         * i386/sol2.h (LINK_SPEC): Do not pass "-z text" to the linker
2248         if -mimpure-text.
2249
2250 1999-05-17  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
2251
2252         * m68k.c (standard_68881_constant_p): Don't accept -0.0 as valid
2253         68881 constant.
2254
2255         * fold-const.c (fold_truthop): When converting a one-bit
2256         comparison don't sign extend the constant.
2257
2258         * cse.c (cse_insn): Copy SRC_CONST before putting it in the
2259         REG_EQUAL note.
2260
2261 1999-05-17  Mike Stump  <mrs@wrs.com>
2262
2263         * rs6000/vxppc.h (CPP_SPEC): Fix support for vararg functions.
2264
2265 Sat May 15 14:22:40 1999  Jeffrey A Law  (law@cygnus.com)
2266
2267         * fixinc/hackshell.tpl: Fix mis-applied patch.
2268         * fixinc/inclhack.sh: Regenerated.
2269
2270 Thu May 13 21:05:55 1999  Mark Kettenis  <kettenis@gnu.org>
2271
2272         * fixinc/mkfixinc.sh: Add the Hurd (*-*-gnu*) to the list of
2273         targets that do not need any fixes.
2274
2275 Sat May 15 14:12:38 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2276
2277         * config/c4x/c4x.md (set_lo_sum+2): New splitter to load large
2278         const_ints.
2279
2280 Sat May 15 14:09:08 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2281
2282         * config/c4x/c4x.md (decrement_and_branch_on_count): Disabled.
2283         (doloop_begin, doloop_end): New patterns.
2284         (*rptb_init): Added extra operands.
2285
2286 Fri May 14 21:31:36 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2287
2288         * config/c4x/c4x.md (*umulqi3_highpart_clobber): Fix operand 2
2289         constraints order.
2290
2291 1999-05-14  Ulrich Drepper  <drepper@cygnus.com>
2292
2293         * fixinc/fixinc.x86-linux-gnu (FD_ZERO): Fix operand numbers in
2294         asm input operands.
2295
2296 Thu May 13 15:34:18 1999  David Edelsohn  <edelsohn@gnu.org>
2297
2298         * rs6000.c (mask_constant): Delete.
2299         (mask_operand): Move mask_constant() body to here.
2300         * rs6000.h (mask_constant): Delete declaration.
2301         * rs6000.md (nabsdi2): Reverse subtraction in splitter.
2302
2303 Thu May 13 02:25:01 1999  Jeffrey A Law  (law@cygnus.com)
2304
2305         * cpp.texi: Fix some typos.
2306
2307 Thu May 13 01:49:55 1999  Graham Stott <GrahamS@RCP.co.uk>
2308
2309         * loop.c (maybe_eliminate_biv): Check regno against
2310         max_reg_before_loop.
2311
2312         * i386.c (memory_address_info): Correct the scale
2313         factor test.
2314
2315 Thu May 13 01:31:19 1999  Nick Burrett  <nick.burrett@btinternet.com>
2316
2317         * arm.md (nop): Backout Apr 27 change. Ensure REGISTER_PREFIX is
2318         applied to each register.
2319         * aof.h (ASM_FILE_START): Define register `r0'.
2320
2321 1999-05-12 20:22 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
2322
2323         * configure.in: Make --enable-cpp and --with-cpp-install-dir
2324         documented options.  Enable the cpp driver by default.
2325         * configure: Rebuilt.
2326
2327 Wed May 12 18:08:48 1999  David Edelsohn     <edelsohn@gnu.org>
2328                           Richard Henderson  <rth@cygnus.com>
2329
2330         * rs6000.c (print_operand) [w]: Calculate signed constant more clearly.
2331         (rs6000_allocate_stack_space): Print as hexadecimal value.
2332         * rs6000.h (CONST_OK_FOR_LETTER_P): 'L' checks for a signed,
2333         16-bit shifted constant.  Fix typo for 'P'.
2334         (EXTRA_CONSTARINT): 'T' checks for a 32-bit mask operand.
2335         * rs6000.md (movsi, addsi3_internal1, movdi, adddi3_internal1):
2336         Use 'L' for shifted constant.
2337         (anddi3_internal3): Fix typo.
2338         (32-bit mask patterns): Use 'T'.
2339
2340 Wed May 12 07:30:31 1999  Bruce Korb <ddsinc09@ix.netcom.com>
2341
2342         * fixinc/fixincl.c(quoted_file_exists): new procedure to ensure that
2343         a file exists before trying to copy it into the destination
2344         (extract_quoted_files): use that routine.
2345
2346 Wed May 12 07:27:31 1999  Craig Burley  <craig@jcb-sc.com>
2347
2348         Allow front end (like g77's) to override maintenance of errno:
2349         * expr.c (expand_builtin): Bother with errno only if
2350         flag_errno_math.
2351         * flags.h: Declare flag_errno_math.
2352         * toplev.c: Define flag_errno_math.
2353
2354 Tue May 11 23:55:49 1999  Jeffrey A Law  (law@cygnus.com)
2355
2356         * fixproto: Change "mkdir" calls to "mkdir -p"
2357
2358         * fixinc/inclhack.def (io_def_quotes): Consistently allow multiple
2359         whitespace characters between the "define" and the name of the macro.
2360         * fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
2361
2362 Tue May 11 20:46:37 1999  Richard Henderson  <rth@cygnus.com>
2363
2364         * alpha.c (alpha_expand_block_move): Handle TImode registers
2365         used with ADDRESSOF.
2366         (alpha_expand_block_clear): Handle ADDRESSOF specially.
2367
2368 1999-05-11  Ulrich Drepper  <drepper@cygnus.com>
2369
2370         * fixinc/fixinc.x86-linux-gnu (FD_ZERO): Remove unneccessary
2371         memory output operand which irritates gcc.
2372
2373 Tue May 11 11:45:16 1999  Dave Brolley  <brolley@cygnus.com>
2374
2375         * toplev.c (documented_lang_options): Add -MD, -MMD, -M and -MM for
2376         cpplib-enabled compilers.
2377
2378 Tue May 11 11:34:56 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
2379
2380         * config/sparc/sparc.h (GO_IF_LEGITIMATE_ADDRESS): Add parentheses
2381         around &&.
2382
2383 Mon May 10 13:51:24 1999  Nick Clifton  <nickc@cygnus.com>
2384
2385         * tm.texi (FUNCTION_ARG): Stack element of PARALLEL must come
2386         first.
2387
2388 Tue May 11 01:32:01 1999  Jeffrey A Law  (law@cygnus.com)
2389
2390         * fixinc/inclhack.def (sun_auth_proto): Apply to all targets.
2391         (sysz_stdlib_for_sun): Similarly.
2392         * fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
2393
2394 Mon May 10 20:34:10 1999  Jim Wilson  <wilson@cygnus.com>
2395
2396         * config/mips/elf.h (UNIQUE_SECTION_P): Undef.
2397         * config/mips/elf64.h (UNIQUE_SECTION_P): Undef.
2398         * config/mips/mips.h (UNIQUE_SECTION_P): Define to 0.
2399
2400 1999-05-10 18:21 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
2401
2402         * cppfiles.c (initialize_input_buffer): New function.
2403         (finclude): Call it, if pfile->input_buffer is NULL.  Accept
2404         any character device as an input file.
2405         (read_and_prescan): Use pfile->input_buffer and
2406         pfile->input_speccase.
2407         * cppinit.c (cpp_cleanup): Free pfile->input_buffer and
2408         pfile->input_speccase.
2409         * cpplib.h (cpp_reader): Add input_buffer, input_speccase, and
2410         input_buffer_len members.  Use memcpy in CPP_PUTS_Q.
2411
2412         * cppmain.c: Buffer output in the token_buffer; throttle
2413         number of calls to fwrite; check for errors from fwrite.
2414
2415 1999-05-10 18:21 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>
2416
2417         * cppspec.c: Treat two non-option arguments as input and
2418         output file.  Three or more non-option args is an error.
2419         Clean up.
2420         * gcc.c (default_compilers): Pass -$ to the preprocessor.
2421         * objc/lang-specs.h: Likewise.
2422
2423 Mon May 10 12:59:20 1999  Jeffrey A Law  (law@cygnus.com)
2424
2425         * optabs.c (emit_cmp_and_jump_insns): Handle the case where both
2426         operands to the comparison are constants.
2427
2428 Mon May 10 07:28:10 1999  Bruce Korb <autogen@autogen.freeservers.com>
2429
2430         * fixinc/inclhack.def(arm_norcroft_hint): check before fixing
2431         (no_double_slash): portability
2432         (math_exception): added reminder comment
2433
2434 Mon May 10 01:28:10 1999  Craig Burley  <craig@jcb-sc.com>
2435
2436         From Fri May 7  9:31:41 1999 Donn Terry (donn@interix.com):
2437         * varasm.c (mark_constant_pool): Add some transitive closure.
2438
2439 Sun May  9 22:51:04 1999  Craig Burley  <craig@jcb-sc.com>
2440
2441         Fix gcc.dg/990506-0.c:
2442         * c-typeck.c (require_complete_type): Handle ERROR_MARK input.
2443
2444 Sun May  9 13:19:12 1999  Jeffrey A Law  (law@cygnus.com)
2445
2446         * gcse.c (cprop_insn): Do not try to simplify a simple jump.
2447
2448 Sun May  9 11:12:19 1999  Philip Blundell <bp@nexus.co.uk>
2449
2450         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Add (PLT) to branch if
2451         necessary.  Reported by jim@federated.com.
2452
2453 Sat May  8 23:05:35 1999  Jeffrey A Law  (law@cygnus.com)
2454
2455         * pa.h (PRINT_OPERAND_ADDRESS): Output "%r0", not "r0" for the
2456         base register in an absolute memory address.
2457         * pa.md (conditional moves): Avoid using immediate zero for
2458         register zero.
2459
2460 Sat May  8 06:23:21 1999  Philip Blundell  <pb@nexus.co.uk>
2461
2462         Based on patch by Scott Bambrough:
2463         * config/arm/arm.h (NEED_PLT_GOT): New macro.  Set to 0 if not
2464         already defined.
2465         * config/arm/elf.h (NEED_PLT_GOT): Define to flag_pic.
2466         * config/arm/arm.md (call_symbol, call_value_symbol et al.): If
2467         NEED_PLT_GOT is true, add explicit "(PLT)" to generated branches.
2468         * config/arm/arm.c (output_func_epilogue,
2469         output_return_instruction): Likewise for calls to abort.
2470
2471 Sat May  8 01:57:58 1999  Donn Terry (donn@interix.com)
2472
2473         * calls.c (rtx_for_function_call): Extend function pointer being
2474         passed to chkr_check_exec_libfunc, if needed.
2475
2476 Sat May  8 01:51:50 1999  David Edelsohn  <edelsohn@gnu.org>
2477
2478         * ginclude/stdarg.h (__va_rounded_size): Use long type for
2479         rounding on AIX.
2480         * ginclude/varargs.h: Likewise.
2481
2482 Sat May  8 01:47:20 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
2483
2484         * invoke.texi: Remove duplicates in the description of -d
2485         letters.  Fix use of @item vs. @itemx.
2486
2487 Sat May  8 01:43:02 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2488
2489         * rs6000.h (RS6000_VARARGS_OFFSET): Die die die.
2490         (CUMULATIVE_ARGS): Remove varargs_offset; update commentary.
2491         * rs6000.c (setup_incoming_varargs): Fix typo last change.
2492         (init_cumulative_args): Remove varargs_offset references.
2493
2494         * rs6000/linux.h (NO_IMPLICIT_EXTERN_C): Define.
2495         (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Undefine.
2496
2497 Sat May  8 01:34:19 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
2498
2499         * reload1.c (gen_mode_int): New function.
2500         (reload_cse_move2add): Use it to generate the new constants.
2501
2502 Sat May  8 01:25:09 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
2503
2504         * varasm.c (output_constant): Do nothing if -fsyntax-only.
2505
2506 Fri May  7 19:10:15 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
2507
2508         * sparc.h (GO_IF_LEGITIMATE_ADDRESS): Prohibit REG+REG addressing
2509         for TFmode when there are no instructions which accept REG+REG
2510         instructions.
2511
2512 Fri May  7 12:38:54 1999  Jim Wilson  <wilson@cygnus.com>
2513
2514         * mips/elf64.h (MAKE_DECL_ONE_ONLY, UNIQUE_SECTION_P): Define.
2515         * mips/mips.c (mips_select_rtx_section): When TARGET_MIPS16, use
2516         function_section instead of text_section.
2517         * mips/mips.h (ENCODE_SECTION_INFO): Add check for UNIQUE_SECTION_P
2518         in TARGET_MIPS16 STRING_CST handling.
2519
2520 Fri May  7 09:54:11 1999  Nick Clifton  <nickc@cygnus.com>
2521
2522         Patch from: Nick Burrett  <nick.burrett@btinternet.com>
2523
2524         * arm.c (arm_poke_function_name): New function to implement
2525         -mpoke-function-name.
2526         * aof.h (ASM_DECLARE_FUNCTION_NAME): Call it.
2527         * aout.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2528         * elf.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2529         * arm.h: Prototype it.
2530         (TARGET_SWITCHES): Add `no-poke-function-name'.
2531
2532 Fri May  7 14:19:31 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2533
2534         * fixinc/server.c (load_data): Cast text_size to long, adapt
2535         format.
2536         * fixinc/server.c (read_pipe_timeout): Declare volatile, modified
2537         in signal handler.
2538         (sig_handler): Add debug code.
2539         * fixinc/server.c (run_shell): Don't \-escape cd, it breaks the
2540         Ultrix V4.3 /bin/sh.
2541         * fixinc/server.c (def_args): Use static instead of STATIC to
2542         avoid redefinition error from linker iff DEBUG.
2543
2544         * fixinc/hackshell.tpl: Don't strip trailing directory from
2545         DESTDIR - that is already done
2546
2547         * fixinc/fixincl.c (run_compiles): fix memory leak
2548
2549 Thu May  6 20:34:00 1999  Mark Mitchell  <mark@codesourcery.com>
2550
2551         * resource.c (mark_referenced_resources): Make volatil
2552         monotonically increasing.
2553         (mark_set_resources): Likewise.
2554
2555 Thu May  6 20:02:33 1999  Fred Fish  <fnf@be.com>
2556
2557         * rs6000/xm-beos.h (HAVE_VPRINTF): Don't redefine if already defined.
2558         (HAVE_PUTENV, HAVE_ATEXIT, HAVE_RENAME): Likewise.
2559
2560 Wed May  5 20:28:32 1999  Jason Merrill  <jason@yorick.cygnus.com>
2561
2562         * install.texi (Header Dirs): s/GPLUS/GPLUSPLUS/.
2563
2564 Wed May  5 23:44:15 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
2565
2566         * unroll.c (copy_loop_body): Don't copy VTOP notes from copy_notes_from.
2567
2568 Wed May  5 16:26:13 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
2569
2570         * function.c (purge_addressof_replacements): Rename into
2571         purge_bitfield_addressof_replacements.
2572         (purge_addressof_replacements): New variable.
2573         (purge_addressof_1): Add code for changing addressof in notes for
2574         field values which are extracted by usage MEM with narrower mode.
2575         (purge_addressof): Initialize purge_bitfield_addressof_replacements.
2576
2577 Wed May  5 07:40:02 1999  Nick Clifton  <nickc@cygnus.com>
2578
2579         Patch from: Nick Burrett  <nick.burrett@btinternet.com>
2580         * config/arm/arm.h (ARM_MCOUNT_NAME): Define.
2581         (FUNCTION_PROFILER): Remove assembler dialect dependency and use
2582         ARM_MCOUNT_NAME.
2583         (TRAMPOLINE_TEMPLATE): Remove assembler dialect dependency.
2584
2585         * config/arm/aof.h (ARM_MCOUNT_NAME): Define.
2586
2587 1999-05-05 09:58 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
2588
2589         * gcc.c (default_compilers): Fix brace nesting bug.
2590         * objc/lang-specs.h: Use %i, not %g.mi, for the input file
2591         when processing an .mi file.
2592
2593 Tue May  4 13:17:55 1999  Mark Mitchell  <mark@codesourcery.com>
2594
2595         * resource.c (mark_set_resources): Handle UNSPEC_VOLATILE,
2596         ASM_INPUT, TRAP_IF, and ASM_OPERANDS just like in
2597         mark_referenced_resources.
2598
2599 Mon May  3 22:38:41 1999  David Edelsohn  <edelsohn@gnu.org>
2600
2601         * rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Change non-PowerPC
2602         and AIX64 combination to warning.  Add warning for disabling
2603         PowerPC64 support when using 64-bit mode.
2604         (LIB_SPEC): Do not link with libg.a in 64-bit mode.
2605         (LINK_SPEC): Do not export libg.exp symbols in 64-bit mode.
2606         * rs6000/rs6000.h (MY_ISCOFF): Treat import/export files as valid
2607         XCOFF files.
2608         (read_only_data_section, private_data_section,
2609         read_only_private_data_section): Always align CSECTs to doubleword
2610         boundary regardless of mode.
2611         (TEXT_SECTION_ASM_OP): Align text CSECT on doubleword boundary in
2612         64-bit mode.
2613         (DATA_SECTION_ASM_OP): Always align CSECT to doubleword boundary.
2614         (ASM_OUTPUT_LOCAL): Use rounded size in 64-bit mode to
2615         maintain doublword alignment.
2616
2617 Mon May  3 14:45:23 1999  Jeffrey A Law  (law@cygnus.com)
2618
2619         * mn10200.md (btst insns): btst does not leave cc0 in a useable
2620         state for redundant tst eliminatino.
2621         * mn10300.md (btst insns): Likewise.
2622
2623 Mon May  3 16:14:32 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2624
2625         * mips.h (Pmode): Revert Oct 14th change which added a cast.
2626
2627 Sun May  2 14:02:21 1999  Mark Mitchell  <mark@codesourcery.com>
2628
2629         * tree.h (struct tree_decl): Add comdat_flag.
2630         (DECL_COMDAT): Define it.
2631         * toplev.c (wrapup_global_declarations): Don't output a
2632         DECL_COMDAT function just because it's public.
2633
2634 Sun May  2 15:16:42 1999  Joseph S. Myers  <jsm28@cam.ac.uk>
2635
2636         * pdp11.h (TARGET_SWITCHES): Fix error in previous change.
2637         (ASSEMBLER_DIALECT): Define.
2638         (CONDITIONAL_REGISTER_USAGE): Rename floating point registers if
2639         required for the UNIX assembler.
2640         (ASM_OUTPUT_INT): Remove.  The compiler will synthesise it.
2641         (ASM_OUTPUT_ADDR_VEC_PROLOGUE): Remove.
2642         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Change to "[" and "]".
2643         (TRAMPOLINE_TEMPLATE): Use ASM_OUTPUT_SHORT.
2644         * pdp11.c (output_addr_const_pdp11): Copy of output_addr_const
2645         adapted to output constants in octal.
2646         * pdp11.c, pdp11.h, pdp11.md: Use output_addr_const_pdp11 instead
2647         of output_addr_const.  Output constants in octal.  Use assembler
2648         dialect alternatives where DEC and UNIX assemblers use different
2649         instruction names.
2650
2651 Sun May 2 01:15:06 PDT 1999 Jeff Law  (law@cygnus.com)
2652
2653         * version.c: Bump for snapshot.
2654
2655 Fri Apr 30 13:55:43 1999  Richard Henderson  <rth@cygnus.com>
2656
2657         * va-ppc.h (__va_start_common): Let __builtin_saveregs do the work.
2658         * rs6000.c (expand_builtin_saveregs): For V4, initialize a private
2659         va_list struct, and return a pointer to it.
2660         (setup_incoming_varargs): V4 save area based off virtual_stack_vars
2661         instead of frame_pointer.
2662
2663 Thu Apr 29 23:02:22 1999  Mark Mitchell  <mark@codesourcery.com>
2664
2665         * emit-rtl.c (start_sequence): Expand comments.
2666         (start_sequence_for_rtl_expr): Likewise.
2667         (push_to_sequence): Likewise.
2668         (end_sequence): Likewise.
2669         * expr.c (inhibit_defer_pop): Likewise.
2670         * expr.h (inhibit_defer_pop): Likewise.
2671         (NO_DEFER_POP): Likewise.
2672         (OK_DEFER_POP): Likewise.
2673
2674 Thu Apr 29 22:13:46 1999  Robert Lipe  <robertlipe@usa.net>
2675
2676         * configure.in (i?86-UnixWare7*-sysv): Set thread_file to 'posix'
2677         --enable-threads[={yes,pthreads,posix}] is passed as a command
2678         line parameter to configure.
2679         * config/i386/sysv5.h (LIB_SPEC): Add support for '-pthread'.
2680         (CPP_SPEC): Likewise.
2681
2682 Thu Apr 29 17:23:59 1999  Richard Henderson  <rth@cygnus.com>
2683
2684         * emit-rtl.c (operand_subword): Religiously mask and sign-extend
2685         from 32-bits to HOST_WIDE_INT.
2686
2687 Thu Apr 29 15:58:52 1999  Robert Lipe  <robertlipe@usa.net>
2688
2689         * fixinc/regex.c, fixinc/regex.h: Removed.   Replace with...
2690         * fixinc/gnu-regex.c, fixinc/gnu-regex.h: Imported from GDB 4.18.
2691         * fixinc/Makefile.in (OBJ, HDR): Handle name changes from above.
2692         (gnu-regex.o): Define REGEX_MALLOC to avoid memory leak.
2693         * fixinc/fixincl.c: new regex.h header name
2694         * Makefile.in: new regex.[ch] file names
2695
2696 Thu Apr 29 12:53:33 1999  Richard Henderson  <rth@cygnus.com>
2697
2698         * calls.c (emit_call_1): Pass rounded_stack_size to emit_call
2699         instead of the unrounded size.
2700
2701 1999-04-28 14:40 Bruce Korb <ddsinc09@ix.netcom.com>
2702
2703         * fixinc/mkfixinc.sh: Makesure the result shell script is writable
2704
2705 Wed Apr 28 10:36:39 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
2706
2707         * config/m68k/m68k.md (cmpsi+1): Use cmp.w when comparing a 16 bit
2708         constant with an address register.
2709
2710 Wed Apr 28 00:14:41 PDT 1999 Jeff Law  (law@cygnus.com)
2711
2712         * version.c: Bump for snapshot.
2713
2714 Tue Apr 27 19:50:25 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
2715
2716         * rtl.h (REG_EH_REGION): Update comment to indicate a value of -1
2717         indicates no throw and no nonlocal gotos.
2718         * optabs.c (emit_libcall_block): Emit REG_EH_REGION with a value
2719         of -1 instead of 0 to indicate a nonlocal goto won't happen either.
2720         * flow.c (count_basic_blocks, find_basic_blocks_1): Ignore libcall
2721         blocks, look for REG_EH_REGION note exclusively.
2722         (make_edges): Check for REG_EH_REGION > 0 for specified handlers.
2723
2724 Tue Apr 27 15:33:42 1999  David Edelsohn  <edelsohn@gnu.org>
2725
2726         * rs6000.h (read_only_data_section, private_data_section,
2727         read_only_private_data_section, toc_section): Align CSECT on
2728         doubleword boundary for 64-bit target.
2729         (DATA_SECTION_ASM_OP): Likewise.
2730         * rs6000.c (rs6000_stack_info): Leaf procedure stack limit is 288.
2731
2732 Tue Apr 27 20:19:47 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
2733
2734         * sh.md (insv): Use copy_addr_to_reg.
2735
2736         * final.c (insn_lengths_max_uid): New variable.
2737         (init_insn_lengths, shorten_branches): Set it.
2738         (get_attr_lengths): Test insn uid against insn_lengths_max_uid.
2739
2740 1999-04-27 08:32 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
2741
2742         * expr.c (emit_move_insn_1): Abort if MODE argument is invalid.
2743         (compare): Punt if TREE_OPERAND (exp, 0) is an ERROR_MARK.
2744
2745 Tue Apr 27 01:33:43 1999  Jeffrey A Law  (law@cygnus.com)
2746
2747         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Renmaed from FLAGS_TO_PASS.
2748         Remove "CC".
2749         (FLAGS_TO_PASS): New variable.
2750
2751 Tue Apr 27 00:36:44 1999  Nick Burrett  <nick.burrett@btinternet.com>
2752
2753         * arm.md (nop): Output instruction using output_asm_insn to fix
2754         assembler dialect problems.
2755
2756 Mon Apr 26 23:55:50 1999  Robert Lipe  <robertlipe@usa.net>
2757
2758         * Makefile.in (fixinc.sh): Fix dependencies.
2759
2760         * fixinc/inclhack.def (avoid_bool): Enable match if typedefs are
2761         prepended by spaces.
2762         (sco5_stat_wrappers): New fix.   Make sys/stat.h C++ safe.
2763         * fixinc/fixincl.sh, fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
2764
2765 Mon Apr 26 23:28:54 1999  Mumit Khan  <khan@xraylith.wisc.edu>
2766                           Donn Terry  <donn@interix.com>
2767
2768         * function.c (put_var_into_stack): Change ptr_mode to Pmode
2769         in setup for chkr_set_right_libfunc calls.
2770         (assign_params): Likewise.
2771         * expr.c (emit_push_insn): Change ptr_mode to Pmode in
2772         setup for chkr_copy_bitmap_libfunc and chkr_set_right_libfunc calls.
2773         (expand_assignment): Change ptr_mode to Pmode in
2774         setup for chkr_add_libfunc and chkr_copy_bitmap_libfunc.
2775         (store_expr): Change ptr_mode to Pmode in
2776         setup for chkr_add_libfunc and chkr_copy_bitmap_libfunc.
2777         (expand_expr): Change ptr_mode to Pmode in
2778         setup for chkr_check_addr_libfunc.
2779         (expand_builtin): Change ptr_mode to Pmode in
2780         setup for chkr_check_str_libfunc, chkr_copy_bitmap_libfunc and
2781         chkr_check_addr_libfunc.
2782         * calls.c (rtx_for_function_call): Change ptr_mode to Pmode in
2783         setup for chkr_check_exec_libfunc.
2784         (expand_call): Change ptr_mode to Pmode in
2785         setup for chkr_set_right_libfunc.
2786         (expand_call): Change ptr_mode to Pmode in
2787         setup for chkr_set_right_libfunc.
2788         (store_one_arg): Change ptr_mode to Pmode in
2789         setup for chkr_set_right_libfunc.
2790
2791         * c-parse.in (absdcl1): Allow attributes in explicit typespecs.
2792         (%expect): Update.
2793         * c-parse.y: Regenerate.
2794         * c-parse.c: Likewise.
2795         * objc/objc-parse.c: Likewise.
2796         * objc/objc-parse.y: Likewise.
2797
2798 Mon Apr 26 21:17:41 1999  Jason Merrill  <jason@yorick.cygnus.com>
2799
2800         * c-pragma.c (push_alignment): Don't ignore alignments greater than
2801         4 bytes.
2802         (handle_pragma_token): Likewise.
2803
2804         * c-pragma.c: Support for #pragma pack (push, <id>, <n>).
2805         (struct align_stack): Add id field.
2806         (push_alignment, pop_alignment): Take id parameter.
2807         (handle_pragma_token): Add necessary states.
2808         * c-pragma.h (enum pragma_state): Add necessary states.
2809
2810 Tue Apr 27 13:58:23 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2811
2812         * config/c4x/c4x.md (*cmpqf, *cmpqf_noov, *cmpqi_test,
2813         *cmpqi_test_noov): Remove ? modifier from constraints list.
2814         (*smulqi3_highpart_clobber, *umulqi3_highpart_clobber): Swap
2815         output strings to match new constraint ordering.
2816
2817 1999-04-26 19:16 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
2818
2819         * cpphash.c (dump_definition): New function.
2820         * cpphash.h: Prototype it.
2821
2822         * cpplib.c (handle_directive): Don't output anything here.
2823         Streamline.
2824         (pass_thru_directive): Take a length, not a pointer to the
2825         end.  All callers changed.
2826         (do_define): Handle -dD, -dN, -g3 entirely here.  Streamline.
2827         (do_include): Handle -dI here.
2828         (do_ident): Correct to match cccp.
2829         (do_pragma): Copy the pragma through here.
2830         (do_assert, do_unassert): Tidy.
2831
2832         * cppinit.c (cpp_finish): If -dM was specified, walk the macro
2833         hash table and call dump_definition on all the entries.
2834         * cppmain.c: cpp_finish may produce output.
2835
2836 Mon Apr 26 15:27:33 1999  Mark Mitchell  <mark@codesourcery.com>
2837
2838         * toplev.c (compile_file): Move call to check_global_declarations
2839         after output_exception_table to restore behavior as it was before
2840         1999-04-22 change.
2841
2842 1999-04-26 10:50 -0700 Bruce Korb <ddsinc09@ix.netcom.com>
2843
2844         * fixinc/fixincl.c:  Improve the handling of child process exits
2845         * fixinc/server.[ch]: Export the interface for shutting down
2846         the server process
2847         * fixinc/inclhack.tpl: Remove unnecessary character quote
2848         * fixinc/fixincl.sh, fixinc/inclhack.sh: Regenerate
2849
2850 Mon Apr 26 10:41:42 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
2851
2852         * alpha.md (builtin_setjmp_receiver): Use a label_ref instead of
2853         a code label.
2854
2855 1999-04-26 09:47 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
2856
2857         * rtl.texi: Document the rtl classes and their relation to
2858         formats.
2859
2860 Mon Apr 26 01:02:38 1999  Richard Henderson  <rth@cygnus.com>
2861
2862         * alpha.md (fix_trunc patterns): Use reg_no_subreg_operand on op0
2863         for less work in reload.
2864         (movsf and movdf patterns): Put fp reg alternatives first.
2865
2866 Mon Apr 26 01:55:56 1999  Marc Espie  <espie@cvs.openbsd.org>
2867
2868         * configure.in (openbsd): Factorize xmake_file.
2869         (ix86 openbsd): Trim obsolete comment.
2870         (vax openbsd): Fix typo.
2871         * configure: Rebuilt.
2872
2873 Mon Apr 26 01:30:59 1999 Donn Terry <donn@interix.com>
2874
2875         * expr.c (expand_assignment): Improve test for pointer type.
2876
2877 Mon Apr 26 00:26:18 1999  Richard Henderson  <rth@cygnus.com>
2878
2879         * alpha.c (print_operand_address): Account for the subreg word.
2880
2881 Mon Apr 26 01:08:36 1999  Toshiyasu Morita  (tm@netcom.com)
2882
2883         * fold-const.c (make_range): Always initialize arg0 and arg1.
2884         (fold): Similarly for alt0 and alt1.
2885         * function.c (fixup_var_refs_insns): Initialize insn_list.
2886         (instantiate_virtual_regs_1): Initialize offset.
2887         * optabs.c (expand_binop): Initialize carry_in, carry_out, op0_xhigh
2888         and op1_xhigh.
2889         * stmt.c (expand_end_case): Initialize minval and maxval.
2890
2891 Mon Apr 26 01:02:34 1999  Nathan Sidwell  <nathan@acm.org>
2892
2893         * toplev.c (report_error_function): Reorder file stack and
2894         function name printing.  Ignore FILE parameter.
2895
2896 Mon Apr 26 00:58:54 1999  Jerry Quinn <jquinn@nortelnetworks.com>
2897
2898         * pa.h (architecture_type): New enum.
2899         (pa_arch_string, pa_arch): Declare.
2900         (MASK_PA_10, MASK_PA_20): New flags.
2901         (TARGET_SWITCHES): Add pa-risc-2-0.  Update docs for PA1.0 codegen.
2902         (TARGET_OPTIONS): Add -march= option.
2903         * pa.c (pa_arch, pa_arch_string):  Define.
2904         (override_options):  Set them.
2905         * pa/pa-hpux10.h (ASM_FILE_START):  Output LEVEL 2.0 asm directive for
2906         2.0 architecture.
2907         * invoke.texi (Option Summary, HPPA Options):  Document new
2908         architecture flags.
2909
2910         * pa/pa-hpux.h, pa/pa-hpux10.h, pa/pa-hpux9.h, pa/pa-osf.h, pa.h,
2911         pa.c, pa.md, configure.in, configure: Replace TARGET_SNAKE by
2912         TARGET_PA_11 and MASK_SNAKE by MASK_PA_11.
2913
2914 Mon Apr 26 00:28:25 1999  Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
2915
2916         * flags.h (inline_max_insns): Declare.
2917         * integrate.c (inline_max_insns): New variable.
2918         (function_cannot_inline_p): Use it.
2919         * toplev.c (main): Add the flag -finline-limit-n.
2920         (display_help): Document -finline-limit-n.
2921         * invoke.texi: Document -finline-limit-n
2922
2923 Sun Apr 25 23:03:32 1999  Richard Henderson  <rth@cygnus.com>
2924
2925         * stmt.c (expand_asm_operands): Reload in-out reg-only memory operands.
2926
2927 Sun Apr 25 13:06:13 1999  Richard Henderson  <rth@cygnus.com>
2928
2929         * function.c (assign_parms/STACK_BYTES): Revert last change,
2930         and that of 19 Nov.
2931
2932 Sun Apr 25 12:30:50 1999  Richard Henderson  <rth@cygnus.com>
2933
2934         * calls.c (emit_call_1): New arg rounded_stack_size; update callers.
2935         Update pending_stack_adjust based on this value.
2936         (compute_argument_block_size): Include pending_stack_adjust in
2937         PREFERRED_STACK_BOUNDARY alignment.
2938         * function.c (assign_parms): Don't round to PREFERRED_STACK_BOUNDARY.
2939
2940 Sun Apr 25 14:38:10 EDT 1999  John Wehle  (john@feith.com)
2941
2942         * stupid.c (stupid_mark_refs): Generate a REG_UNUSED note
2943         for a register which is clobbered even if the register
2944         was used by an earlier instruction.
2945
2946         * i386.md (fix_truncsfdi2, fix_truncdfdi2,
2947         fix_truncxfdi2): Don't bother with the gen_reg_RTX.
2948         (fix_truncsfsi2, fix_truncsfdi2, fix_truncdfsi2,
2949         fix_truncdfdi2, fix_truncxfsi2, fix_truncxfdi2): Update
2950         operand constraints and modes.
2951         * i386.c (output_fix_trunc): Use HImode register to avoid
2952         memory stalls.  Call output_move_double instead of output_to_reg.
2953         (output_to_reg): Remove.
2954         * i386.h: Likewise.
2955
2956         * i386.md (negsf2, negdf2, negxf2): Set the type
2957         attribute to fpop.
2958
2959 Sat Apr 24 23:15:57 1999  Donn Terry (donn@interix.com)
2960
2961         * alpha.md (call_value_nt): Correct subscripts.
2962
2963 Sat Apr 24 20:49:20 1999  Richard Henderson  <rth@cygnus.com>
2964
2965         * alpha.h (PRINT_OPERAND_ADDRESS): Break out to ...
2966         * alpha.c (print_operand_address): here.  Handle subregs.
2967
2968 Fri Apr 23 22:35:41 EDT 1999  John Wehle  (john@feith.com)
2969
2970         * acconfig.h (HAVE_GAS_FILDS_FISTS): Add.
2971         * configure.in: Check assembler instructions.
2972         * configure: Rebuild.
2973         * config.in: Likewise.
2974         * i386.md (floathisf2, floathidf2, floathixf2): New patterns.
2975         * i386.c (print_operand): Use the proper suffix for a 387 HImode
2976         operand.  Abort if a 387 operand has an unsupported size.
2977
2978 Fri Apr 23 16:57:40 1999  Richard Henderson  <rth@cygnus.com>
2979
2980         * alpha.c (alpha_write_verstamp): Mark `file' unused.
2981         * alpha.h (FUNCTION_VALUE): Use gen_rtx_REG not gen_rtx.
2982         (LIBCALL_VALUE): Likewise.
2983         (GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Handle normal subregs.
2984
2985 Fri Apr 23 14:57:33 1999  Donn Terry  <donn@interix.com>
2986
2987         * alpha32.h (INITIALIZE_TRAMPOLINE): Get offsets right.
2988
2989         * alpha.c (alpha_initialize_trampoline): Add covert_memory_address
2990         calls as needed.
2991
2992 Fri Apr 23 14:36:47 1999  Richard Henderson  <rth@cygnus.com>
2993
2994         * alpha.c (alpha_expand_prologue): Don't negate frame size
2995         for use with subq.
2996
2997 Fri Apr 23 09:43:18 1999  Nick Clifton  <nickc@cygnus.com>
2998
2999         * print-rtl.c (print_rtx): Display LABEL_NUSES for labels.
3000
3001 Thu Apr 22 23:08:37 1999  Mark Mitchell  <mark@codesourcery.com>
3002
3003         * toplev.h (wrapup_global_declarations): Declare.
3004         (check_global_declarations): Likewise.
3005         * toplev.c (wrapup_global_declarations): New function, split out
3006         from ...
3007         (check_global_declarations): Likewise...
3008         (compile_file): Here.
3009
3010 Thu Apr 22 22:34:41 1999  Richard Henderson  <rth@cygnus.com>
3011
3012         * c-parse.in (expr_no_commas): Verify we've an expr before
3013         calling C_SET_EXP_ORIGINAL_CODE.
3014
3015 Thu Apr 22 22:22:15 EDT 1999  John Wehle  (john@feith.com)
3016
3017         * toplev.c (rest_of_compilation): Always set
3018         current_function_uses_only_leaf_regs appropriately.
3019
3020 Thu Apr 22 14:39:43 1999  Mumit Khan  <khan@xraylith.wisc.edu>
3021
3022         * i386/xm-cygwin.h (HAVE_BCOPY): Delete unneeded macro.
3023         (HAVE_BZERO): Likewise.
3024         (HAVE_BCMP): Likewise.
3025         (HAVE_RINDEX): Likewise.
3026         (HAVE_INDEX): Likewise.
3027         (DIR_SEPARATOR_2): Define.
3028         (GET_ENV_PATH_LIST): Turn path lists into POSIX.
3029         (PATH_SEPARATOR): Use ':'.
3030
3031 1999-04-22 Bruce Korb <ddsinc09@ix.netcom.com>
3032
3033         * configure.in: enable disabling of fast fixincludes
3034         * configure: regenerate
3035
3036 1999-04-21 14:55 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
3037
3038         * gen-protos.c: #undef abort after including system.h.
3039         Delete defns of fancy_abort and fatal.
3040         * fix-header.c: Delete defn of fancy_abort.
3041
3042 Wed Apr 21 12:09:38 1999  Mumit Khan  <khan@xraylith.wisc.edu>
3043
3044         * cccp.c (simplify_filename): Always preserve leading double slash.
3045
3046 Wed Apr 21 18:15:55 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
3047
3048         * config/c4x/c4x.md: Add new peepholes to remove redundant loads.
3049
3050 Wed Apr 21 17:41:29 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
3051
3052         * config/c4x/c4x.md (binary patterns): Reorder alternatives
3053         so that two operand instructions are chosen before three operand
3054         instructions.
3055
3056 Tue Apr 20 23:38:58 1999  Nathan Sidwell  <nathan@acm.org>
3057
3058         * objc/Make-lang.in (objc-parse.c): Put BISON parameters in correct
3059         order.
3060
3061         * Makefile.in (c-parse.c): Put BISON parameters in correct
3062         order.
3063
3064 Tue Apr 20 16:38:11 1999  Richard Henderson  <rth@cygnus.com>
3065
3066         * alpha.md (nt_lda): New pattern.
3067         * alpha.c (alpha_expand_prologue): Use it for large frames
3068         under windows nt.
3069
3070 Tue Apr 20 17:57:14 1999  Catherine Moore  <clm@cygnus.com>
3071
3072         * config/arm/arm.md (movhi):  Add check for odd offset.
3073
3074 Tue Apr 20 13:14:58 EDT 1999  John Wehle  (john@feith.com)
3075
3076         * i386.c (output_move_double): Abort if a non-offsettable
3077         memory operand is encountered.  Delete unused code.
3078         (find_addr_reg): Remove.
3079
3080 Mon Apr 19 21:13:02 1999  Craig Burley  <craig@jcb-sc.com>
3081
3082         * tree.def (BLOCK): Fix typo in comment.
3083
3084 1999-04-19 14:51 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
3085
3086         * cpplib.c (output_line_command): Drop CONDITIONAL argument.
3087         We can omit unnecessary line commands if file_change ==
3088         same_file and pfile->lineno != 0.  All callers changed.
3089         (cpp_get_token [case '\n']): Don't bump pfile->lineno if
3090         CPP_OPTIONS (pfile)->no_line_commands is set.
3091         * cpplib.h: Fix prototype of output_line_command.
3092
3093 1999-04-18 17:46 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
3094
3095         * cppfiles.c (find_position, read_and_prescan): Use `unsigned
3096         long' variables consistently to count line and column numbers.
3097
3098 Sun Apr 18 15:50:33 EDT 1999  John Wehle  (john@feith.com)
3099
3100         * output.h (current_function_is_leaf,
3101         current_function_uses_only_leaf_regs): Declare.
3102         * function.c (current_function_is_leaf,
3103         current_function_uses_only_leaf_regs): Define.
3104         (init_function_start): Initialize current_function_is_leaf
3105         and current_function_uses_only_leaf_regs.
3106         * final.c (leaf_function): Don't define.
3107         (final_start_function): Replace uses of leaf_function with
3108         current_function_uses_only_leaf_regs.
3109         * toplev.c (rest_of_compilation): Set current_function_is_leaf
3110         prior to invoking local register allocation.
3111         (rest_of_compilation): Replace uses of leaf_function with
3112         current_function_uses_only_leaf_regs.
3113         * dbxout.c (dbxout_symbol, dbxout_parms): Likewise.
3114         * dwarf2out.c (add_location_or_const_vaule_attribute): Likewise.
3115         * dwarfout.c (add_location_or_const_value_attribute): Likewise.
3116         * sdbout.c (sdbout_symbol): Likewise.
3117         * sparc.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Likewise.
3118         * sparc.c (eligible_for_epilogue_delay, output_return,
3119         sparc_return_peephole_ok): Likewise.
3120         * sparc.md (leaf_function attribute, untyped_return): Likewise.
3121         * i386.c (ix86_compute_frame_size): Don't align the stack
3122         for leaf functions which don't allocate any stack slots.
3123         * tm.texi: Update documentation.
3124
3125 Sun Apr 18 02:15:09 PDT 1999 Jeff Law  (law@cygnus.com)
3126
3127         * version.c: Bump for snapshot.
3128
3129 Sun Apr 18 00:08:45 1999  Richard Henderson  <rth@cygnus.com>
3130
3131         * alpha.h (GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Correct last change --
3132         make sure FP_BASE_P registers are only used with an integer.
3133
3134 Sat Apr 17 22:54:17 1999  Richard Henderson  <rth@cygnus.com>
3135
3136         * alpha.h (REG_OK_FP_BASE_P): New macro.
3137         (GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Use it.
3138         * alpha.md (adddi3+1): New insn to handle large constants off
3139         the soft frame pointer.
3140         (adddi3+2): Don't split soft frame pointer or arg pointer additions.
3141
3142 Sun Apr 18 17:24:10 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
3143
3144         * config/c4x/c4x.c (legitimize_operands): Use rtx_cost
3145         to determine if it is worthwhile forcing a constant into a register.
3146         * config/c4x/c4x.h (CONST_COSTS): An integer value of 255 or 65535
3147         used with a logical and or an integer value of 16 or 24 used with
3148         a right shift has zero cost on the C40.
3149
3150 Sat Apr 17 21:30:11 1999  Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
3151
3152         * gcse.c (compute_local_properties): If setp is nonzero, clear
3153         TRANSP instead of setting it to all ones.
3154
3155 Sat Apr 17 21:10:10 1999  Jan Hubicka <hubicka@freesoft.cz>
3156
3157         * i386.c (i386_preferred_stack_boundary_string): New global variable.
3158         (i386_preferred_stack_boundary): New global variable.
3159         (override_functions): Set it.  Tidy option setting code.
3160         * i386.h (TARGET_OPTIONS): New command line option.
3161         (i386_preferred_stack_boundary_string): Declare it.
3162         (i386_preferred_stack_boundary): Likewise.
3163         (PREFERRED_STACK_BOUNDARY): Use i386_preferred_stack_boundary.
3164
3165 Sat Apr 17 19:22:38 1999  Jan Hubicka <hubicka@freesoft.cz>
3166
3167         * i386.c (k6_cost): Take into account the decoding time.
3168
3169 Sat Apr 17 19:13:22 1999  Donn Terry  <donn@interix.com>
3170
3171         * i386.h (PRINT_OPERAND_PUNCT_VALID_P): Allow _.
3172         * i386.c (print_operand): New %_ operator.
3173         (load_pic_register): Proper number of leading _ in GOT literal.
3174         * i386.md (prologue_get_pc_and_set_got): Likewise.
3175         * i386/unix.h (ASM_OUTPUT_MI_THUNK): Likewise.
3176
3177 Sat Apr 17 19:13:07 1999  Richard Henderson  <rth@cygnus.com>
3178
3179         * alpha.c (alpha_expand_prologue): Use gen_adddi3 instead of
3180         emit_move_insn+plus_constant.  For NT, don't use the stack probe
3181         loop pointer to allocate stack space.
3182         * alpha.md (adddi3): Always use lda to set the stack pointer.
3183
3184 1999-04-17 20:11 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
3185
3186         * c-aux-info.c, emit-rtl.c, explow.c, expmed.c, gcse.c,
3187         haifa-sched.c, optabs.c, reorg.c, resource.c, sched.c: Include
3188         toplev.h for real declaration of trim_filename.
3189         * Makefile.in: Update dependencies.
3190
3191 Sat Apr 17 14:36:19 1999  Craig Burley  <craig@jcb-sc.com>
3192
3193         * tree.c (chainon): Check for circularity only if
3194         ENABLE_CHECKING is defined.
3195
3196 1999-04-17 10:15 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
3197
3198         * cccp.c: Make fatal non-static.
3199
3200 Sat Apr 17 23:47:24 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
3201
3202         * config/c4x/c4x.md (*andqi3_255_clobber,*andqi3_65535_clobber):
3203         New logical and patterns using C40 bit-field insert instructions.
3204         (*lshrqi3_24_clobber,*ashrqi3_24_clobber,*lshrqi3_16_clobber,
3205         *ashrqi3_16_clobber): New shift patterns using C40 bit-field insert
3206         instructions.
3207
3208 1999-04-16 22:44 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
3209
3210         * system.h: Always prototype abort.  Prototype fatal.  Define
3211         abort to call fatal, not fprintf/exit.  Define a stub macro
3212         for trim_filename.
3213         * toplev.c: Define DIR_SEPARATOR.  (trim_filename): New
3214         function.
3215         * toplev.h: Prototype trim_filename, and #undef system.h's stub.
3216
3217         * gcc.c, genattr.c, genattrtab.c, gencodes.c, genconfig.c,
3218         genemit.c, genextract.c, genflags.c, genopinit.c, genoutput.c,
3219         genpeep.c, genrecog.c: Make fatal non-static.
3220         * gcov.c, gengenrtl.c, protoize.c: #undef abort after
3221         including system.h.
3222
3223         * config/i386/dgux.h, config/m68k/xm-amix.h: Remove stale code
3224         relating to abort.
3225
3226 Sat Apr 17 11:25:44 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
3227
3228         * config/c4x/c4x.md (mulqf3_clrqf_clobber, mulqi3_clrqi_clobber):
3229         New patterns to support parallel multiply and load of zero.
3230
3231 Fri Apr 16 01:23:47 1999  Jason Merrill  <jason@yorick.cygnus.com>
3232
3233         * tree.c (valid_machine_attribute): If we're modifying the
3234         FUNCTION_TYPE within a POINTER_TYPE and we don't get a decl,
3235         update the POINTER_TYPE.
3236
3237 Fri Apr 16 00:19:31 1999  Jan Hubicka <hubicka@freesoft.cz>
3238
3239         * i386.c (x86_adjust_cost): Move break statement to correct place.
3240
3241 Thu Apr 15 23:17:33 1999  Jerry Quinn <jquinn@nortelnetworks.com>
3242
3243         * pa.h (HAVE_PRE_INCREMENT, HAVE_POST_INCREMENT,
3244         HAVE_PRE_DECREMENT, HAVE_POST_DECREMENT): Fix pa_cpu value from
3245         8000 to PROCESSOR_8000.
3246
3247 Thu Apr 15 20:46:57 1999  Donn Terry (donn@interix.com)
3248
3249         * expr.c (expand_assignment): Force pointers to proper mode if
3250         POINTERS_EXTEND_UNSIGNED is defined.
3251
3252         * xm-alpha.h (alloca.h): Add Interix to list of special machines
3253         that don't like alloca.h, pending using autoconf results.
3254
3255         * except.c (start_catch_hadler): Be sure rtime_address is Pmode
3256         if POINTERS_EXTEND_UNSIGNED.
3257
3258         * except.c (expand_eh_return): Force pointers to proper mode if
3259         POINTERS_EXTEND_UNSIGNED.
3260
3261 Thu Apr 15 23:13:35 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
3262
3263         * config/c4x/c4x.h:  Tweaked comment formatting.
3264         * config/c4x/c4x.c:  Likewise.
3265
3266 Thu Apr 15 02:45:19 1999  Mumit Khan  <khan@xraylith.wisc.edu>
3267
3268         * aclocal.m4 (GCC_FUNC_MKDIR_TAKES_ONE_ARG): Define.
3269         * configure.in: Use.
3270         * configure: Rebuilt.
3271         * acconfig.h (MKDIR_TAKES_ONE_ARG): Add.
3272         * config.in: Rebuilt.
3273         * system.h: Use.
3274
3275 Thu Apr 15 01:03:21 1999  Jan Hubicka <hubicka@freesoft.cz>
3276                           Jeff Law <law@cygnus.com>
3277
3278         * i386.md (QImode add pattern): Support lea instruction.
3279         (HImode add pattern): Likewise.
3280
3281         * i386.md (ashlsi patterns): Call output_ashl instead of output_ashlsi3.
3282         (ashlqi): Use expander, separate LEA and SAL / ADD patterns; call
3283         output_ashl.
3284         (ashlhi): Likewise.
3285         * i386.h (output_ashl): Renamed from output_ashlsi3.
3286         * i386.c (output_ashl): Likewise; support HImode and QImode operands
3287         as well.
3288
3289         * i386.md (notsi, nothi, xorsi, xorhi, and xorqi patterns): Call
3290         memory_address_displacement_length instead of memory_address_length.
3291         * i386.c (memory_address_info): Renamed from memory_address_length.
3292         Accept new argument DISP_LENGTH.  All callers changed.  If DISP_LENGTH,
3293         then return the displacement length.  Else return length of the
3294         entire memory address.  Handle MULT case correctly.
3295         * i386.h (memory_address_info): Update declaration.
3296
3297         * i386.md (memory_bit_test): Fix paren error.
3298
3299 Wed Apr 14 21:29:18 1999  Andrew Haley  <aph@cygnus.com>
3300
3301         * flow.c: (make_edges): Always make edges from a basic block
3302         to its exception handlers, even if the block ends with a jump.
3303
3304 1999-04-14 23:26 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
3305
3306         * graph.c (node_data): Return void.  Ignore result of
3307         print_rtl_single.  Change caller to match.
3308         * integrate.c (subst_constants): Initialize op0_mode to an
3309         invalid mode, and abort before use if it's still invalid.
3310         (Can only happen if the RTX_CLASS, RTX_FORMAT tables are corrupted.)
3311         * objc/objc-act.c (get_objc_string_decl,
3312         build_selector_translation_table, generate_protocol_list,
3313         synth_id_with_class_suffix, build_keyword_selector,
3314         build_selector_expr, gen_declarator): Abort when the tree
3315         structure is corrupted.
3316
3317 Wed Apr 14 19:57:49 1999  Jeffrey A Law  (law@cygnus.com)
3318
3319         * configure.in (alpha interix): Use symbolic names to set
3320         target_cpu_default.
3321         * configure: Rebuilt.
3322
3323         * explow.c (allocate_dynamic_stack_space): Undo last change.  Use
3324         convert_memory_address instead.
3325
3326 Wed Apr 14 19:42:02 1999  Donn Terry (donn@interix.com)
3327
3328         * alpha/lib1funcs.asm: New file.
3329         * alpha/t-interix (lib1funcs.asm): Add to build.
3330
3331         * explow.c (allocate_dynamic_stack_space): Correctly convert TARGET
3332         to Pmode.
3333
3334 Wed Apr 14 14:26:36 1999  John Wehle  (john@feith.com)
3335
3336         * i386.md (truncxfdf): Output the template supplied
3337         by output_move_double with the correct operands.
3338
3339         * i386.md (extendsfdf, extendsfxf, extenddfxf): Use
3340         output_float_extend instead specifying '#' as the template.
3341         * i386.c (output_float_extend): Define.
3342         * i386.h (output_float_extend): Declare.
3343
3344 Wed Apr 14 10:48:03 1999  Catherine Moore  <clm@cygnus.com>
3345
3346         * config/mips/elf.h, config/mips/elf64.h
3347         (CTORS_SECTION_ASM_OP): Define.
3348         (DTORS_SECTION_ASM_OP): Define.
3349         (EXTRA_SECTIONS): Define.
3350         (INVOKE__main): Define.
3351         (NAME__MAIN): Define.
3352         (SYMBOL__MAIN): Define.
3353         (EXTRA_SECTIONS_FUNCTIONS): Define.
3354         (SECTION_FUNCTION_TEMPLATE): Define.
3355         (ASM_OUTPUT_CONSTRUCTOR): Define.
3356         (ASM_OUTPUT_DESTRUCTOR): Define.
3357         (CTOR_LIST_BEGIN): Define.
3358         (CTOR_LIST_END): Define.
3359         (DTOR_LIST_BEGIN): Define.
3360         (DTOR_LIST_END): Define.
3361         (LIB_SPEC): Define.
3362         (STARTFILE_SPEC): Define.
3363         (ENDFILE_SPEC): Define.
3364         * config/mips/linux.h:  Undefine all of the above.
3365         * config/mips/rtems64.h: Likewise.
3366         * config/mips/t-r3900: Likewise.
3367         * config/mips/t-elf: New file.
3368         * config/mips/vxworks.h: New file.
3369         * configure.in (mips-wrs-vxworks): Use mips/vxworks.h.
3370         (mips*-*-*elf*):  Use t-elf instead of t-ecoff.
3371         * configure: Regenerate.
3372
3373 Wed Apr 14 09:59:38 1999  Richard Henderson  <rth@cygnus.com>
3374
3375         * reload1.c (emit_reload_insns): Also find equivalent mems
3376         for subregs of pseudos.
3377
3378         * alpha.c (aligned_memory_operand): Recognize the output of
3379         LEGITIMIZE_RELOAD_ADDRESS.  Examine reg_equiv_memory_loc in
3380         the event of a pseudo.
3381         (unaligned_memory_operand): Likewise.  Don't otherwise accept
3382         completely illegal addresses.
3383         (normal_memory_operand): Likewise.  Handle subregs of pseudos.
3384         (get_aligned_mem): Revert previous change.  Abort if we don't have a
3385         mem.  During reload, call find_replacement on all illegal memories.
3386         (get_unaligned_address): Likewise.
3387         * alpha.h (SECONDARY_INPUT_RELOAD_CLASS): Use !aligned_memory_operand
3388         instead of unaligned_memory_operand.
3389         * alpha.md: Revert extra argument to get_aligned_mem.
3390         (reload_inqi): Use any_memory_operand in constraints.  Abort if
3391         we're not given some sort of mem.
3392         (reload_inhi): Likewise.
3393         (reload_outqi, reload_outhi): Likewise.
3394
3395 Wed Apr 14 09:39:20 1999  Richard Henderson  <rth@cygnus.com>
3396
3397         * i386.md (neghi): Use the whole register when widening the op.
3398
3399 1999-04-14 12:37 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
3400
3401         * cpperror.c, cppexp.c, cpplib.c: Never call abort.
3402         * cpphash.c: Only call abort when we detect corruption of the
3403         malloc arena.
3404         * cppmain.c: Don't define fatal or fancy_abort.
3405
3406 Wed Apr 14 09:19:39 1999  Jan Hubicka <hubicka@freesoft.cz>
3407
3408         * i386.c (x86_adjust_cost): Agi stall takes 1 cycle on Pentium, fst
3409         requires value to be ready one extra cycle.
3410
3411 Wed Apr 14 11:28:34 1999  Dave Brolley  <brolley@cygnus.com>
3412
3413         * config/i386/i386.c (memory_address_length): Add missing parenthesis.
3414
3415 Wed Apr 14 13:59:27 1999  Martin von Loewis  <loewis@informatik.hu-berlin.de>
3416
3417         * extend.texi (Deprecated Features): New node.
3418         * invoke.texi (-Wdeprecated): Document.
3419
3420 Wed Apr 14 00:18:22 1999  Jan Hubicka <hubicka@freesoft.cz>
3421
3422         * i386.md (SImode logical compare): Avoid outputing non-pariable testw
3423         and testl on Pentium.
3424         (register and memory bit tests): Likewise.
3425         (setcc, normal and reversed conditional branches): Use shorter
3426         sequence for testing flags stored in EAX.
3427
3428         * i386.md (xorsi3): Do not output NOT instrctions on Pentium.
3429         (xorqi3): Likewise.
3430         (xorhi3): Likewise.
3431         (notsi2): Likewise.
3432         (notqi2): Likewise.
3433         (nothi2): Likewise; do not output prefixed opcodes when possible.
3434
3435         * i386.md (neghi2): Do not output prefixed opcode when possible.
3436         (ashlhi3): Likewise.
3437
3438 Wed Apr 14 00:08:46 1999  Richard Henderson  <rth@cygnus.com>
3439
3440         * i386.c (memory_address_length): New function.
3441         * i386.h (memory_address_length): Declare it.
3442
3443 Tue Apr 13 22:52:04 1999  Donn Terry (donn@interix.com)
3444                           Martin Heller (Ing.-Buero_Heller@t-online.de)
3445
3446         * configure.in (interix Alpha): Add.
3447         (winnt Alpha): Use alpha32.h
3448         (interix i386): Parallel Alpha32.
3449         * configure: Rebuilt.
3450
3451         * config/interix.h: Move common elements from i386-interix.h.
3452         * config/i386/i386-interix.h: Delete same.
3453         * config/alpha/alpha-interix.h: New file.
3454
3455         * config/alpha/alpha32.h: New file, part fron win-nt.h.
3456         * config/alpha/win-nt.h: Deletions (-> alpha32.h).
3457         * config/alpha/interix.h: New file
3458
3459         * config/alpha/alpha.md (interix): Comment.
3460
3461         * config/alpha/xm-alpha-interix.h: New file.
3462
3463         * config/alpha/t-interix: New file.
3464
3465         * fixinc/mkfixinc.sh (interix/Alpha): Add.
3466
3467 1999-04-13  Mike Stump  <mrs@wrs.com>
3468
3469         * i386/vxi386.h (CPP_CPU_SPEC): Define appropriately for vxworks.
3470         (CPP_PREDEFINES, LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): likewise.
3471
3472 Tue Apr 13 21:01:36 1999  Jason Merrill  <jason@yorick.cygnus.com>
3473
3474         * c-common.c (default_valid_lang_attribute): New fn.
3475         (valid_lang_attribute): New callback ptr.
3476         (decl_attributes): Call it.  Move init_priority support into
3477         C++ frontend.
3478
3479 Tue Apr 13 17:47:14 1999  John Wehle  (john@feith.com)
3480
3481         * i386.md (movdi): Add splitter.
3482
3483 Wed Apr 14 10:04:27 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
3484
3485         * config/c4x/c4x.md (storeqf_int, storeqf_int_clobber, loadqf_int,
3486         loadqf_int_clobber): Add new patterns with corresponding splitters
3487         to handle moves of floating point values into and out of intager
3488         registers by using memory.
3489
3490         * config/c4x/c4x.c (c4x_check_legit_addr): Disallow PRE_INC for modes
3491         other than QFmode and QImode.
3492         (mixed_subreg_operand): New function.
3493         (c4x_emit_move_sequence): If moving a floating point value into or
3494         out of an integer register, use the new patterns storeqf_int_clobber
3495         or loadqf_int_clobber.
3496         (reg_imm_operand, *_reg_operand): Call reg_operand instead of
3497         register_operand.
3498         (reg_operand, src_operand): Disallow operand if it satisifes
3499         mixed_subreg_operand.
3500
3501         * config/c4x/c4x.h (mixed_subreg_operand): Add prototype.
3502
3503 Tue Apr 13 14:49:13 1999  Jan Hubicka  <hubicka@freesoft.cz>
3504
3505         * i386.c (agi_dependent): Handle push operation more correctly.
3506
3507 Tue Apr 13 14:45:17 1999  Jan Hubicka  <hubicka@freesoft.cz>
3508
3509         * i386.md (anddi3): Add % constraint.
3510         (iordi3, xordi3): Likewise.
3511
3512 Tue Apr 13 14:29:58 1999  Jan Hubicka  <hubicka@freesoft.cz>
3513
3514         * i386.md (extendhisi2): Output mov instead of cw instruction for K6
3515         to improve decoding bandwidth.
3516         * i386.md (extendhiqi2): Likewise.
3517
3518 Tue Apr 13 14:26:31 1999  Jan Hubicka  <hubicka@freesoft.cz>
3519
3520         * i386.md (movsf_push): Handle memory to memory case too, new splitter.
3521         (movdf_push, movxf_push): Likewise.
3522         (movsf_push_memory, movdf_push_memory, movxf_push_memory): Remove.
3523
3524 Tue Apr 13 14:14:06 1999  Jan Hubicka  <hubicka@freesoft.cz>
3525
3526         * i386.md: Do not output mov %0,reg on AMD K6.
3527
3528 Tue Apr 13 12:14:07 1999  Dave Brolley  <brolley@cygnus.com>
3529
3530         * cppinit.c (cpp_start_read): Fix buffer overwrite.
3531         * Makefile.in (cppinit.o): Typo in dependencies.
3532
3533 Tue Apr 13 05:04:59 1999  Richard Earnshaw  (rearnsha@arm.com)
3534
3535         * arm.h (function prototypes for arm.c): Ifdef these out if
3536         HAVE_CONFIG_H is not defined.
3537
3538 Tue Apr 13 02:11:11 1999  Jeffrey A Law  (law@cygnus.com)
3539
3540         * pa.c: Avoid Using immediate zero for register zero.
3541         * pa.md: Likewise.
3542
3543         * pa.c (print_operand, case 'f'): New case for FP register or 0.0.
3544         (print_operand, case 'r'): Use %r0 for zero value.
3545         * pa.md (move patterns, fcmp patterns): Use new %f output arg.
3546
3547         * pa.c: Use a register name, not a raw immediate in branch,
3548         compare/clear, sub, subb, uaddcm and vshd instructions.
3549         * pa.md: Likewise.
3550
3551         * pa.md, pa.h, ee.asm, ee_fp.asm, lib2funcs.asm: Likewise.
3552
3553         * pa.c: Use a register name, not a raw immediate in "bv" instructions.
3554         * pa.md, pa.h, ee.asm, ee_fp.asm, lib2funcs.asm: Likewise.
3555
3556         * pa.c: Remove space register specification in memory addresses,
3557         except where it is actually needed.
3558         * pa.md, pa.h, ee.asm, ee_fp.asm, lib2funcs.asm: Likewise.
3559
3560 Mon Apr 12 23:34:35 1999  Jeff Law  (law@cygnus.com)
3561
3562         * version.c: Bump for snapshot.
3563
3564 Mon Apr 12 14:58:30 1999  Jan Hubicka  <hubicka@freesoft.cz>
3565
3566         * reg-stack.c (check_stack_regs_mentioned): Remove variable SIZE.
3567
3568 Mon Apr 12 19:15:17 1999  Daniel Jacobowitz  <dan@debian.org>
3569
3570         * rs6000/sysv4.h (CPP_OS_LINUX_SPEC): Add missing backslash.
3571
3572 Mon Apr 12 19:11:38 1999  Mumit Khan  <khan@xraylith.wisc.edu>
3573
3574         * i386/cygwin.h (SUBTARGET_SWITCHES): Add -mconsole; fix
3575         -mno-nop-fun-dllimport and minor doc fixes.
3576         (STARTFILE_SPEC): Cygwin DLLs don't have dllcrt0.
3577         (LINK_SPEC): Add -mconsole support.
3578         * i386/mingw32.h (LIB_SPEC): Make libraries consistent with
3579         Cygwin.
3580         (LINK_SPEC): Remove. Use Cygwin's version.
3581         (MATH_LIBRARY): Make it null.
3582         * i386/crtdll.h (MATH_LIBRARY): Likewise.
3583
3584 Fri Apr 12 15:00:52 1999  Stan Cox  <scox@cygnus.com>
3585
3586         * c-decl.c (c_decode_option, start_decl, start_function,
3587         finish_function) : Recognize -Wno-main so we can avoid warnings.
3588
3589 1999-04-12  Zack Weinberg  <zack@rabi.columbia.edu>
3590
3591         * cpphash.c (collect_expansion, macroexpand,
3592         push_macro_expansion): Make the escape character in macro
3593         buffers '\r', not '@'.  Remove code to protect literal
3594         occurences of the escape character; '\r' cannot appear
3595         in a macro buffer unless we put it there.
3596         * cpplib.c (skip_comment, copy_comment, cpp_skip_hspace,
3597         copy_rest_of_line, cpp_get_token, parse_string,
3598         parse_assertion): '\r' might be a backslash-newline marker, or
3599         it might be a macro escape marker, depending on
3600         CPP_BUFFER (pfile)->has_escapes.  '@' is not a special
3601         character.
3602         * cpplib.h: Update commentary.
3603
3604 Mon Apr 12 09:30:03 1999  Richard Earnshaw  (rearnsha@arm.com)
3605
3606         * arm.h (target_fp_name, structure_size_string, arm_cpu_select):
3607         Const-ify.
3608         * arm.c (target_fp_name, structure_size_string): Const-ify.
3609
3610         * arm.md (reload_inhi, reload_outhi): Make the scratch DImode.
3611         * arm.c (arm_reload_in_hi): Handle cases when the input is still
3612         a pseudo, make use of scratch registers for reloading the address
3613         as appropriate.
3614         (arm_reload_outhi): Similarly for when the output is still a pseudo.
3615
3616         * riscix.h (SUBTARGET_SWITCHES): Document.
3617
3618 1999-04-12  Bruce Korb  <ddsinc09@ix.netcom.com>
3619
3620         * fixincludes:
3621         make fixincludes behave like the scripts in fixinc/
3622
3623         * Makefile.in( stmp-fixinc ):
3624         ensure the SHELL value is that of the make
3625
3626         * fixincl/inclhack.tpl:
3627         the file name lists ought to be restricted to "*.h" anyway
3628         C++ files may be named .../[a-z]++/... also
3629         Adding copyright year and attribution to output
3630
3631         * fixincl/inclhack.def:
3632         fixed broken expression
3633         Clarify a some comments
3634
3635         * fixincl/fixincl.tpl:
3636         Clarify a some comments
3637         Remove dead template text
3638         Correct the counting of regular expressions
3639
3640 Mon Apr 12 03:07:44 1999  Richard Henderson  <rth@cygnus.com>
3641
3642         * alpha.c (aligned_memory_operand): Handle out of range stack slots.
3643         Take a new SCRATCH argument for the occasion.  Update all callers.
3644         (get_unaligned_address): Abort on out of range stack slots.
3645         * alpha.md (adddi3 splitter): Check s_p_rtx not REGNO.
3646         (reload_inqi): Check for aligned mems before unaligned.
3647         (reload_inhi): Likewise.
3648
3649 Mon Apr 12 03:11:30 1999  Jeffrey A Law  (law@cygnus.com)
3650
3651         * flow.c (flow_delete_insn): If we delete a CODE_LABEL, also remove
3652         it from the nonlocal_goto_handler_labels list.
3653         * jump.c (delete_insn): Likewise.
3654         (jump_optimize_1): Also recompute LABEL_NUSES when we are just
3655         marking labels.
3656         * rtl.h (remove_node_from_expr_list): Declare.
3657         * rtlanal.c (remove_node_from_expr_list): New function.
3658
3659 Mon Apr 12 02:37:02 1999  Jan Hubicka  <hubicka@freesoft.cz>
3660
3661         * reg-stack.c: Update comment, include varray.h.
3662         (stack_regs_mentioned_data): New global variable.
3663         (check_stack_regs_mentioned): New function.
3664         (stack_regs_mentioned): New function.
3665         (reg_to_stack): Initialize and free stack_regs_mentioned_data,
3666         use stack_regs_mentioned.
3667         (record_asm_reg_life): Change insn type cache for changed insn.
3668         (record_reg_life): Do not change the insn mode.
3669         (emit_pop_insn): Likewise.
3670         (emit_swap_insn): Likewise.
3671         (move_for_stack_reg): Likewise.
3672         (stack_reg_life_analysis): Use stack_regs_mentioned.
3673         (emit_swap_insn): Likewise.
3674         (subst_stack_regs): Likewise.
3675         (convert_regs): Likewise.
3676         * jump.c (find_cross_jump): Use stack_regs_mentioned.
3677         * rtl.h (stack_regs_mentioned): Declare.
3678
3679 Mon Apr 12 00:57:10 1999  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
3680
3681         * integrate.c (INTEGRATE_THRESHOLD): Sync it with the comment.
3682
3683 Sun Apr 11 10:24:18 1999  Mark Mitchell  <mark@codesourcery.com>
3684
3685         * rtl.h (rtx_def): Update documentation for jump and call.
3686
3687 Sun Apr 11 07:43:44 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3688
3689         * jump.c (jump_optimize_1): Make the definition static to match
3690         the prototype.
3691
3692 Sat Apr 10 22:51:53 1999  Jan Hubicka  <hubicka@limax.paru.cas.cz>
3693
3694         * flow.c (life_analysis): New parameter remove_dead_code.
3695         (life_analysis_1): Likewise.
3696         (propagate_block): Likewise; use it.
3697         * output.h: Update prototype.
3698         * toplev.c: Update calls to life_analysis.
3699
3700 Sat Apr 10 22:12:12 1999  Jan Hubicka  <hubicka@freesoft.cz>
3701
3702         * recog.c (constrain_operands): Ignore unary operators when
3703         matching operands.  Recognize '5'..'9' as well.
3704
3705 Sat Apr 10 21:53:02 1999  Philipp Thomas  (kthomas@gwdg.de)
3706                           Richard Henderson  <rth@cygnus.com>
3707
3708         * configure.in: Set target_cpu_default2 for target_alias k6.
3709         * i386.h (TARGET_SWITCHES): Remove no-<cpu> entries.
3710         (CC1_CPU_SPEC): Likewise.
3711         (CPP_CPU_DEFAULT_SPEC): Streamline definition.  Add K6 version.
3712         (CPP_K6_SPEC): New.
3713         (CPP_CPU_SPEC): Add K6 variant.
3714         (EXTRA_SPECS): Likewise.
3715
3716 Fri Apr  9 11:29:17 1999  Richard Henderson  <rth@cygnus.com>
3717
3718         * flow.c (merge_blocks_nomove): Rewrite to properly handle two
3719         blocks that vanish entirely during merging.
3720
3721 Sat Apr 10 20:09:55 1999  John Wehle  (john@feith.com)
3722
3723         * i386.md (floatsisf2, floatdisf2, floatsidf2, floatdidf2,
3724         floatsixf2, floatdixf2, movsicc, movhicc, movsfcc, movdfcc,
3725         movxfcc, movdicc): Remove unused register constraints from
3726         the splitters.
3727
3728         * i386.md (fixuns_truncsfsi2, fixuns_truncdfsi2,
3729         fixuns_truncxfsi2): Delete.
3730
3731         * reg-stack.c (delete_insn_for_stacker): Ensure that
3732         the only side effects of a PARALLEL are clobbers.
3733         (subst_stack_regs): Handle subst_stack_regs_pat deleting
3734         a PARALLEL.
3735         * i386.md (extendsfdf2, extenddfxf2,
3736         extendsfxf2): Rewrite using a splitter.
3737         * i386.c (output_op_from_reg): Remove.
3738         * i386.h: Likewise.
3739
3740 Sat Apr 10 13:09:18 1999  Nick Clifton  <nickc@cygnus.com>
3741
3742         * config/arm/arm.c (di_operand): Allow SUBREGs as well.
3743         (soft_df_operand): Allow SUBREGs as well.
3744
3745 Sat Apr 10 06:14:31 1999  Jan Hubicka  <hubicka@paru.cas.cz>
3746
3747         * extend.texi (Assembler Instructions with C Expression Operands):
3748         Document the i386 floating point operands.
3749
3750 1999-04-10  Mike Stump  <mrs@wrs.com>
3751
3752         * configure.in (*-*-vxworks): Add vxWorks thread support for all
3753         vxWorks targets.
3754         * configure.in (thumb-wrs-xvworks): Add vxWorks support for thumb.
3755         * configure: Rebuilt.
3756
3757 Sat Apr 10 06:04:50 1999  Donn Terry  (donn@interix.com)
3758
3759         * i386/t-interix: Use mostly system headers unchanged.
3760         Use system assert.h
3761         * fixinc/fixinc.interix: Ditto (make almost no-op).
3762         * config/x-interix.h (_ALL_SOURCE): add -D
3763         * config/x-interix.h (crti.o): Delete dependency.
3764         * config/xm-interix.h (ONLY_INT_FIELDS): Define only when bootstrapping.
3765         * i386/xm-i386-interix.h: New file.
3766         * i386/interix.h (ASM_OUTPUT_LIMITED_STRING): Fix warnings.
3767         * i386/i386-interix.h: Renamed from interix.h.
3768         * configure.in (interix): Use new files.
3769         * configure: Rebuilt.
3770
3771 Sat Apr 10 05:25:28 1999  Daniel Jacobowitz  <dan@debian.org>
3772
3773         * rs6000/sysv4.h (CPP_OS_LINUX_SPEC): Fix conditions
3774         for -Dunix and -Dlinux, and remove duplicate definition.
3775         Change -Asystem(linux) to -Asystem(posix).
3776         (CPP_OS_SOLARIS_SPEC): Fix conditions for -Dunix, -Dsun,
3777         -DSVR4, -D__EXTENSIONS__.
3778
3779         * rs6000/linux.h (CPP_PREDEFINES): Remove -Dunix,
3780         -Dlinux, -Asystem(linux), and -Asystem(unix).
3781
3782 Sat Apr 10 05:14:50 1999  Mark Elbrecht  <snowball3@usa.net>
3783
3784         * i386/djgpp.h (SET_ASM_OP): Define.
3785
3786         * cccp.c (DIR_SEPARATOR): Move to the top of the file.
3787         (is_dir_separator): New function.
3788         (simplify_filename): Use it.
3789         * collect2.c (find_a_file): Use HAVE_DOS_BASED_FILE_SYSTEM in place
3790         of the DIR_SEPARATOR test.
3791         Consider any file starting with a drivename to be absolute.
3792         If the absolute filename test fails and EXECUTABLE_SUFFIX is
3793         defined, append EXECUTABLE_SUFFIX to the file and try again.
3794         * cppinit.c (base_name): Use HAVE_DOS_BASED_FILE_SYSTEM
3795         in place of __MSDOS__ and _WIN32.
3796         * cppfiles.c (simplify_pathname): Likewise.
3797         * gcc.c (IS_DIR_SEPARATOR): Define new macro. Returns true if a
3798         character is a directory separator.
3799         (find_a_file): Use it.
3800         (convert_filename): Likewise.
3801         (process_command): Likewise.
3802         (do_spec_1): Likewise.
3803         (is_directory): Likewise.
3804         (main): Likewise.
3805         * prefix.c (IS_DIR_SEPARATOR): Define. Tests whether a character is
3806         a directory separator.
3807         (translate_name): Use it.
3808         (update_path): Change DIR_SEPARATOR_2 to DIR_SEPARATOR. Fix
3809         warning in block where '/' is changed to DIR_SEPARATOR.
3810         * i386/xm-djgpp.h (DIR_SEPARATOR): Set to '/'.
3811         (DIR_SEPARATOR_2): New macro. Set to '\'.
3812         (HAVE_DOS_BASED_FILESYS): Define.
3813         * i386/xm-mingw32.h: Updated copyright. Set
3814         DIR_SEPARATOR_2 to '/'. Define HAVE_DOS_BASED_FILE_SYSTEM.
3815         * i386/xm-os2.h: Likewise.
3816         * winnt/xm-winnt.h: Likewise.
3817         * i386/xm-dos.h: Likewise.  Add copyright.
3818
3819 1999-04-10  Joseph S. Myers  <jsm28@cam.ac.uk>
3820
3821         * pdp11.h (TARGET_SWITCHES): Add option to vary assembler syntax.
3822         (TARGET_DEFAULT): Possibly use UNIX syntax.
3823         (TARGET_UNIX_ASM, TARGET_UNIX_ASM_DEFAULT): New macros.
3824         (REGISTER_NAMES): Use "r5" instead of "fp".
3825         (ASM_OUTPUT_ALIGN): Use ".even" directive, and abort for any
3826         greater alignment.
3827         * 2bsd.h (TARGET_UNIX_ASM_DEFAULT): Default to UNIX assembler
3828         syntax for 2BSD.
3829         * pdp11.c (output_ascii): Use working syntax for ".byte".
3830         (print_operand_address): Use "*" instead of "@" when using UNIX
3831         assembler syntax.
3832
3833 Sat Apr 10 03:50:12 1999  Jeffrey A Law  (law@cygnus.com)
3834
3835         * rtl.h (rebuild_jump_labels): Declare.
3836         * jump.c (jump_optimize_1): Renamed from jump_optimize.  Make static.
3837         Add new argument MARK_LABELS_ONLY.  Quit after mark_all_labels if
3838         requested.
3839         (jump_optimize, rebuild_jump_labels): New wrapper functions for
3840         jump_optimize_1.
3841         * toplev.c (rest_of_compilation): Use rebuild_jump_labels instead of
3842         running the entire jump optimizer.
3843
3844         * rtl.h (local_alloc): Returns an integer now.
3845         * local-alloc.c (recorded_label_ref): New file scoped variable.
3846         (local_alloc): Initialize recorded_label_ref to zero.  Return its
3847         value when local allocation has completed.
3848         (update_equiv_regs); If we create an equivalence for a LABEL_REF,
3849         set recorded_label_ref.
3850         * toplev.c (rest_of_compilation): Run the jump optimizer after
3851         register allocation and reloading if needed.
3852
3853 Fri Apr  9 21:02:57 1999  Krister Walfridsson  (cato@df.lth.se)
3854
3855         * i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Fix typo.
3856         * i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
3857
3858 1999-04-09  Zack Weinberg  <zack@rabi.columbia.edu>
3859
3860         * cpphash.c (special_symbol): When expanding __LINE__, use the
3861         top file buffer, not the top buffer.
3862
3863 Fri Apr  9 13:41:04 1999  Jim Wilson  <wilson@cygnus.com>
3864
3865         * Makefile.in (check-g++, check-gcc, check-g77, check-objc): Add
3866         cd .. to TCL_LIBRARY command.
3867
3868 Fri Apr  9 13:04:52 1999  Nick Clifton  <nickc@cygnus.com>
3869
3870         * config/arm/unknown-elf.h (SUBTARGET_CPU_DEFAULT): Only define if
3871         not already specified.
3872
3873 Fri Apr  9 11:18:55 1999  Jason Merrill  <jason@yorick.cygnus.com>
3874
3875         * c-common.c (decl_attributes, A_INIT_PRIORITY): Allow arrays
3876         of classes, too.
3877
3878 Fri Apr  9 10:40:10 1999  Kaveh R. Ghazi  <ghazi@snafu.rutgers.edu>
3879
3880         * rs6000.c (rs6000_override_options, ptt, rs6000_file_start,
3881         rs6000_float_const, rs6000_replace_regno, debug_stack_info,
3882         rs6000_output_load_toc_table, output_prolog, output_epilog):
3883         Const-ify a char*.
3884         (output_mi_thunk): Likewise.  Mark parameter `thunk_fndecl' with
3885         ATTRIBUTE_UNUSED.  Hide unused variables `r0', `sp', `toc',
3886         `schain', `r12', `buf' and `labelno'.
3887         (output_ascii): Const-ify a char*.
3888         (rs6000_gen_section_name): Initialize variable `last_period'.
3889         (rs6000_adjust_priority): Mark parameter `insn' with
3890         ATTRIBUTE_UNUSED.
3891         (rs6000_trampoline_template, rs6000_dll_import_ref,
3892         rs6000_longcall_ref, rs6000_encode_section_info): Const-ify a char*.
3893
3894         * rs6000.h (offsettable_mem_operand, optimization_options): Add
3895         prototypes.
3896
3897         * rs6000.md (movdi, define_split): Cast a value to HOST_WIDE_INT
3898         when comparing against one.
3899
3900 Thu Apr  8 19:20:18 1999  Jeffrey A Law  (law@cygnus.com)
3901
3902         * expr.c (expand_expr, case ARRAY_REF, COMPONENT_REF, BIT_FIELD_REF):
3903         Do not try to optimize a aggregate address which has VOIDmode.
3904         Mirrors March 23 change to expand_assignment.
3905
3906         * flow.c (delete_unreachable_blocks): Do not require EDGE_FALLTHRU
3907         for an edge when tidying an edge which connects consecutive basic
3908         blocks.
3909
3910         * flow.c (can_delete_label_p): Do not convert a label into a
3911         deleted label here.
3912
3913         * cse.c (flush_hash_table): New function.
3914         (cse_insn): Flush the hash table when we encounter a volatile asm.
3915         (cse_basic_block): Use flush_hash_table instead of doing it
3916         inline.
3917
3918         * reload1.c (reload_cse_regs_1): Flush known register values if
3919         we encounter a volatile asm.
3920
3921         * loop.c (strength_reduce): Re-enable Joern's loop improvements.
3922
3923 Thu Apr  8 09:37:40 1999  Nick Clifton  <nickc@cygnus.com>
3924
3925         * config/arm/arm.c (arm_print_operand): Undo previous change -
3926         always print large constants in decimal.
3927
3928 Thu Apr  8 10:22:23 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3929
3930         * configure.in (host_xm_file, build_xm_file): Include hwint.h.
3931         Use case statements instead of "if test -a ... -a ... -a ..."
3932
3933         * machmode.h: Don't define HOST_WIDE_INT, etc. Wrap use of
3934         HOST_WIDE_INT in #ifdef.
3935
3936         * mips.h: Include hwint.h instead of providing definitions for
3937         HOST_WIDE_INT, etc.  Wrap uses of HOST_WIDE_INT in #ifdef.
3938
3939 Thu Apr  8 06:16:14 1999  John Wehle  (john@feith.com)
3940
3941         * i386.md (truncdfsf2, truncxfsf2,
3942         truncxfdf2): Rewrite using a splitter.
3943
3944 Thu Apr  8 01:26:05 1999  Arg Haas  (ahaas@neosoft.com)
3945                           Jeffrey A Law  (law@cygnus.com)
3946
3947         * freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Avoid ambiguous
3948         else statement.
3949         * gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
3950         * linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
3951         * openbsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
3952
3953 Wed Apr  7 22:40:19 1999  Jim Wilson  <wilson@cygnus.com>
3954
3955         * i960/i960.c (i960_function_prologue): Don't save static chain
3956         pointer.
3957         * i960/i960.h (STACK_CHAIN_REGNUM): Change from r3 to g12.
3958         (TRAMPOLINE_TEMPLATE): Likewise.
3959         (FRAME_POINTER_REQUIRED): Check current_function_has_nonlocal_goto.
3960         * i960/i960.md (nonlocal_goto): Rewrite.
3961
3962 Tue Apr  6 17:49:49 1999  Philip Blundell  <pb@nexus.co.uk>
3963
3964         * config/arm/lib1funcs.asm: Test for __ELF__ not __elf__.
3965
3966 Wed Apr  7 14:07:34 1999  Jeffrey A Law  (law@cygnus.com)
3967
3968         * h8300.c (h8300_adjust_insn_length): Also avoid recognizing
3969         ADDR_VEC and ADDR_DIFF_VEC insns.
3970
3971         * h8300.c (h8300_adjust_insn_length): Avoid trying to recognize
3972         USE, CLOBBER or SEQUENCE insns.
3973
3974         * unroll.c (unroll_loop): For HAVE_cc0 machines, adjust copy_end_luid
3975         to account for the uncopied insn that sets cc0 at the end of the loop.
3976
3977         * unroll.c (copy_loop_body): Always ensure at least two insns
3978         are in the copied loop.
3979
3980 Wed Apr  7 14:52:18 1999  Catherine Moore  <clm@cygnus.com>
3981
3982         * config/mips/elf.h (MAKE_DECL_ONE_ONLY): Define.
3983         (UNIQUE_SECTION_P): Define.
3984
3985 1999-04-07  Bruce Korb  <ddsinc09@ix.netcom.com>
3986
3987         * fixinc/inclhack.tpl & fixincl.tpl:
3988         Remove dynamic content from generated files
3989
3990 Wed Apr  7 13:16:22 1999  John Wehle  (john@feith.com)
3991
3992         * i386.c (output_move_memory): Remove.
3993         * i386.h: Likewise.
3994
3995         * i386.md (movsi, movhi, movstricthi, movqi, movstrictqi,
3996         movsf, movdf, movxf, movdi): Check no_new_pseudos instead
3997         of (reload_in_progress | reload_completed).
3998
3999 Wed Apr  7 03:16:45 1999  Richard Henderson  <rth@cygnus.com>
4000
4001         * alpha.c (reg_no_subreg_operand): New function.
4002         * alpha.h (PREDICATE_CODES): Add it.
4003         * alpha.md (floatdi?f patterns): Use it for op1.
4004
4005         * alpha.c (alpha_end_function): Don't flag weak functions.
4006
4007 Wed Apr  7 02:11:55 1999  Richard Henderson  <rth@cygnus.com>
4008
4009         * expr.c (expand_builtin) [BUILT_IN_RETURN_ADDRESS]: Use
4010         copy_to_mode_reg; don't force constants into a register.
4011
4012 Tue Apr  6 22:55:25 1999  Richard Henderson  <rth@cygnus.com>
4013
4014         * toplev.c (compile_file): Typo flow_dump -> flow2_dump.
4015
4016 1999-04-06  Joseph S. Myers  <jsm28@cam.ac.uk>
4017
4018         * pdp11.c (simple_memory_operand): Add default case in switch.
4019         * pdp11.h (TARGET_SWITCHES): Add help strings.
4020         (NOTICE_UPDATE_CC): Don't include excess argument to format.
4021         (ASM_OUTPUT_DOUBLE_INT): Remove.
4022
4023 Tue Apr  6 22:09:40 1999  Richard Henderson  <rth@cygnus.com>
4024
4025         * expr.c (expand_builtin_setjmp): Put setjmp return label on
4026         nonlocal_goto_handler_labels for flow.
4027
4028 Tue Apr  6 22:05:21 1999  Jan Hubicka  <hubicka@paru.cas.cz>
4029                           Richard Henderson  <rth@cygnus.com>
4030
4031         * flow.c (verify_flow_info): New function.
4032         (find_basic_blocks): Call it if ENABLE_CHECKING.
4033         (merge_blocks): Don't merge if there are non-deletable labels.
4034         * toplev.c (fatal_insn): Allow a printf-style arg list.
4035         * toplev.h (fatal_insn): Update prototype.
4036
4037 Tue Apr  6 16:18:58 1999  Jan Hubicka  <hubicka@paru.cas.cz>
4038
4039         * flow.c (split_edge) update correctly flow graph, disable
4040         EDGE_CRITICAL flag on the split edge, update NUSES for new label.
4041
4042 Tue Apr  6 15:47:51 1999  Richard Henderson  <rth@cygnus.com>
4043
4044         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Use XWINT not XINT.
4045         Clear third and following slots, if they exist.
4046
4047 Tue Apr  6 15:45:28 1999  Richard Henderson  <rth@cygnus.com>
4048
4049         * flow.c (create_basic_block): Make sure the bb note is in the block.
4050         (can_delete_note_p): Rename from delete_note_p.
4051         (delete_insn_chain): Preserve undeleteable labels too.
4052         (tidy_fallthru_edge): Use next_real_insn instead of confusing
4053         inline code.
4054
4055 1999-04-06  Zack Weinberg  <zack@rabi.columbia.edu>
4056
4057         * cppexp.c (parse_charconst): Initialize c.
4058         (cpp_parse_expr): Initialize rprio.
4059         * cppfiles.c (merge_include_chains): Initialize prev.
4060         (finclude): Set fp->line_base to fp->buf before returning.
4061         * cpphash.c (macroexpand): Initialize token.
4062         * cppspec.c (lang_specific_driver): Change suff to
4063         const char *const *.
4064
4065 1999-04-06  Zack Weinberg  <zack@rabi.columbia.edu>
4066
4067         * cppinit.c (install_predefs): Delete function.
4068         (cpp_start_read): Don't call install_predefs.
4069         (cpp_handle_option): Remove case 'u' and all refs to
4070         opts->inhibit_predefs.
4071         (print_help): Don't mention -undef.
4072         (initialize_builtins): Define __HAVE_BUILTIN_SETJMP__, to
4073         match cccp.
4074         * cpplib.h (struct cpp_options): Remove inhibit_predefs
4075         member.
4076
4077         * cccp.c (predefs): Delete variable.
4078         (main): Remove case 'u' in argument parse loop,
4079         'inhibit_predefs' variable, and the code block that would
4080         process CPP_PREDEFINES.
4081         (initialize_builtins): Don't define __OBJC__, the driver will
4082         do that.
4083
4084         * gcc.c (default_compilers): Remove -undef from all specs that
4085         invoke a C preprocessor.
4086         * ch/lang-specs.h: Likewise.
4087         * cp/lang-specs.h: Likewise.
4088         * f/lang-specs.h: Likewise.
4089         * objc/lang-specs.h: Likewise.
4090
4091 Mon Apr  5 11:55:31 1999  Donn Terry  (donn@interix.com)
4092
4093         * Makefile.in (SUBDIR_FLAGS_TO_PASS): Fix misapplied patch.
4094
4095 Mon Apr  5 11:51:38 1999  Jeffrey A Law  (law@cygnus.com)
4096
4097         * m68k.md (movdf): Hide GPR sources & destinations from regclass.
4098
4099 Mon Apr  5 09:54:42 1999  Jeff Law  (law@cygnus.com)
4100
4101         * version.c: Bump for snapshot.
4102
4103 Mon Apr  5 05:55:15 1999  Bruce Korb  <ddsinc09@ix.netcom.com>
4104
4105         * fixincl.tpl: Separate "-e" from its argument, a la
4106         the Sat Apr  3 17:05:13 1999 fix.
4107         * genfixes: Ensure that the server shell is _NOT_ csh.
4108
4109 Mon Apr  5 03:52:30 1999  Jeff Law  (law@cygnus.com)
4110
4111         * version.c: Bump for snapshot.
4112
4113 Mon Apr  5 04:47:14 1999  Jeffrey A Law  (law@cygnus.com)
4114
4115         * i386.c (x86_double_with_add): Turn off for Pentium and PPro.
4116         (small_shift_operand, output_ashlsi3): New functions.
4117         * i386.h (small_shift_operand, output_ashlsi3): Declare.
4118         * i386.md (ashlsi3): Simplify ahlsi3 patterns.  Remove splitters
4119         that are no longer needed.
4120
4121 Sun Apr  4 04:05:04 1999  Jeffrey A Law  (law@cygnus.com)
4122
4123         * stmt.c (expand_loop_end): When copying the loop exit test,
4124         do not walk into a nested loop.
4125
4126 Sun Apr  4 00:14:54 1999  Jeffrey A Law  (law@cygnus.com)
4127
4128         * fixinc/hackshell.tpl: Skip links to directories, to avoid
4129         removing them.
4130         * fixinc/inclhack.tpl: Likewise.
4131         * fixinc/fixinc.sh, fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
4132
4133 Sat Apr  3 23:46:13 1999  David Edelsohn  <edelsohn@gnu.org>
4134
4135         * rs6000.md (addsi3, iorsi3, xorsi3, adddi3, iordi3, xordi3,
4136         movsi_got, movsi, movsf): Use no_new_pseudos.
4137         * rs6000.c (rs6000_got_register): Likewise.
4138         (offsettable_mem_opereand): Use || not |.
4139
4140 Sat Apr  3 22:02:56 1999  Jeffrey A Law  (law@cygnus.com)
4141
4142         * acconfig.h (ENABLE_CHECKING): Remove redundant #undef.
4143         * config.in: Rebuilt.
4144
4145 Sat Apr  3 16:22:59 1999  Toshiyasu Morita  (tm@netcom.com)
4146
4147         * gcc.texi: Add info on regmove pass.
4148
4149         * regmove.c (fixup_match_1): Consistently evaluate
4150         HAVE_POST_INCREMENT and HAVE_POST_DECREMENT.
4151
4152 Sat Apr  3 19:21:05 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
4153
4154         * configure.in (DEFAULT_LINKER, DEFAULT_ASSEMBLER): Use grep
4155         instead of test and sed to check whether they're GNU programs.
4156         * configure: Rebuilt.
4157
4158 Sat Apr  3 17:57:35 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
4159
4160         * Makefile.in (install-headers-tar, install-headers-cpio): Avoid
4161         problems with CDPATH.
4162         Reported by Ralf Canis <canis@bigfoot.com>
4163
4164 Sat Apr  3 13:50:16 1999  Jeffrey A Law  (law@cygnus.com)
4165
4166         * fixinc.x86-linux-gnu: Deleted.
4167
4168 Sat Apr  3 17:05:13 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
4169
4170         * inclhack.tpl: Insert spaces between `sed -e' and '...'.
4171         Reported by Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4172         * fixinc/fixincl.sh, fixinc/fixincl.x, fixinc/inclhack.sh: Regen.
4173
4174 Sat Apr  3 14:54:46 1999  Craig Burley  <craig@jcb-sc.com>
4175
4176         * tree.def (BLOCK): Fix typo in comment.
4177
4178 Sat Apr  3 00:53:29 1999  John Wehle  (john@feith.com)
4179
4180         * i386.md (floatsisf2, floatdisf2, floatsidf2, floatdidf2,
4181         floatsixf2, floatdixf2): Rewrite using a splitter.
4182
4183 Fri Apr  2 17:36:10 1999  Nick Clifton  <nickc@cygnus.com>
4184
4185         * config/arm/arm.c (arm_print_operand): Print large constants in
4186         hex rather than decimal.
4187
4188 Fri Apr  2 17:23:58 1999  Nick Clifton  <nickc@cygnus.com>
4189
4190         * print-rtl.c (print_rtx): Use both HOST_WIDE_INT_PRINT_DEC
4191         and HOST_WIDE_INT_PRINT_HEX to display constants.
4192
4193 1999-04-02  Zack Weinberg  <zack@rabi.columbia.edu>
4194
4195         * config/i386/i386.h: Document all TARGET_SWITCHES or add
4196         explicit null initializer.
4197
4198         * config/i386/cygwin.h: Document all SUBTARGET_SWITCHES.
4199         * config/i386/dgux.h: Likewise.
4200         * config/i386/osf1elf.h: Likewise.
4201         * config/i386/win32.h: Likewise.
4202         * config/i386/osfrose.h: Likewise.  Drop obsolete -mno-ident option.
4203
4204 Fri Apr  2 17:49:44 1999  Toshiyasu Morita  <tm@netcom.com>
4205
4206         * regmove.c (fixup_match_1): Remove now useless if (0).
4207
4208 Sat Apr  3 11:37:20 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4209
4210         * tm.texi (USE_LOAD_POST_DECREMENT, USE_LOAD_PRE_DECREMENT,
4211         USE_STORE_POST_DECREMENT, USE_STORE_PRE_DECREMENT): Document.
4212         (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_INCREMENT,
4213         USE_STORE_POST_INCREMENT, USE_STORE_PRE_INCREMENT): Fix documentation.
4214
4215         * rtl.h (USE_LOAD_POST_DECREMENT, USE_LOAD_PRE_DECREMENT,
4216         USE_STORE_POST_DECREMENT, USE_STORE_PRE_DECREMENT,
4217         USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_INCREMENT,
4218         USE_STORE_POST_INCREMENT, USE_STORE_PRE_INCREMENT): Provide default
4219         definition.
4220
4221         * expr.c (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_INCREMENT,
4222         USE_STORE_POST_INCREMENT, USE_STORE_PRE_INCREMENT): Delete default
4223         definition.
4224
4225 Fri Apr  2 16:03:05 1999  Jeffrey A Law  (law@cygnus.com)
4226
4227         * fixinc.dgux, fixinc.interix, fixinc.irix, fixinc.ptx: Deleted.
4228         * fixinc.sco, fixinc.svr4, fixinc.winnt, fixinc.wrap: Likewise.
4229
4230 Fri Apr  2 15:46:25 1999  Donn Terry  (donn@interix.com)
4231
4232         * configure.in: Set and substitute quoted_cc_set_by_configure.
4233         * configure: Rebuilt.
4234         * Makefile.in (SUBDIR_FLAGS_TO_PASS): Fix quoting problem with ``.
4235
4236 Fri Apr  2 14:35:45 1999  Stan Cox  <scox@cygnus.com>
4237
4238         * config/i386/cygwin.h (CPP_SPEC): Use mingw_include_path instead
4239         of a hardcoded path for -mno-cygwin.
4240         (mingw_include_path): New.
4241
4242 1999-04-02  Joseph S. Myers  <jsm28@cam.ac.uk>
4243
4244         * pdp11.c: Include "recog.h".
4245         (output_function_prologue): Remove unused variables `nregs', `i',
4246         `offset'.
4247         (output_function_epilogue): Remove unused variables
4248         `may_call_alloca', `nregs', `regno', `adjust_fp'.
4249         (output_ascii): Mark as returning void.
4250         (print_operand_address: Likewise.
4251         (simple_memory_operand): Remove unused variables `plus0', `plus1',
4252         `offset'.
4253         * pdp11.h: Declare functions `arith_operand',
4254         `const_immediate_operand', `expand_shift_operand',
4255         `legitimate_address_p', `notice_update_cc_on_set', `output_ascii',
4256         `output_function_epilogue', `output_function_prologue',
4257         `print_operand_address', `register_move_cost',
4258         `simple_memory_operand'.
4259         (HARD_REGNO_MODE_OK): Parenthesize `REGNO' arg.
4260         (REGNO_REG_CLASS): Likewise.
4261         * pdp11.md: Add explicit `int' to `static count' (in two places).
4262         (addhi3): Add explicit braces to avoid ambiguous else.
4263         (addqi3): Likewise.
4264         (ashlhi3): Likewise.
4265
4266 Fri Apr  2 14:17:10 1999  Jerry James  <jerry@cs.ucsb.edu>
4267
4268         * gcc/invoke.texi: Add documentation for additional supported
4269         MIPS CPU types, options -mips16 and -mentry, and ABI and ISA
4270         defaults.
4271
4272 Fri Apr  2 14:12:06 1999  John Wehle  (john@feith.com)
4273
4274         * i386.md: Delete floating point compare, add, subtract,
4275         multiply, and divide patterns which allowed integer
4276         operands.
4277         * i386.c (output_387_binary_op): Delete unused code.
4278         (output_float_compare): Likewise.
4279
4280 Fri Apr  2 11:53:37 1999  John Wehle  (john@feith.com)
4281
4282         * i386.md (movsf+1, movdf+1, movxf+1): Update constraints
4283         so that SECONDARY_MEMORY_RELOAD is used.  Remove dead code.
4284
4285 1999-04-02  Bruce Korb  <ddsinc09@ix.netcom.com>
4286
4287         * fixinc/mkfixinc.sh: Added support for x86-interix.
4288         * fixinc/fixinc.interix: Fixincludes script, slight changes
4289         from ./fixinc.interix.  Untested (needs interix box).
4290         * fixinc/inclhack.def:
4291         Complete the change to the 'fixinc.tmp' file.
4292         Fixed regex for finding C++ headers.
4293         * fixincl.x, fixincl.sh, inclhack.sh: Regenerate.
4294
4295 Fri Apr  2 11:36:12 1999  Jan Hubicka  (hubicka@paru.cas.cz)
4296
4297         * i386.c (print_operand_address, case REG): Do not use ESI addressing
4298         mode for the K6.
4299
4300         * i386.c (print_operand_address, case MULT): Use more efficient
4301         encoding (mult (reg) (const_int 2)).
4302
4303 Thu Apr  1 17:01:50 1999  Richard Henderson  <rth@cygnus.com>
4304
4305         Move over patch from Bernd Schmidt from GC branch:
4306         * emit-rtl.c (gen_rtx_CONST_DOUBLE): New function.
4307         (gen_rtx): Call it.  Tidy cases.
4308         * rtl.h (gen_rtx_CONST_DOUBLE): Prototype it.
4309         * gengenrtl.c: Add commentary.
4310         (special_rtx): Also match CONST_DOUBLE.
4311         (gencode): Emit call to memset instead of bzero.
4312
4313 Fri Apr  2 12:58:26 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4314
4315         * config/c4x/c4x.md (ashlhi3, lshrhi3, ashrhi3): Force operand 1
4316         into a register if shift count not constant.
4317         (ashlhi3_reg, lshrhi3_reg, ashrhi3_reg): Ensure that operand 1
4318         is a register.
4319
4320 Fri Apr  2 12:19:17 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4321
4322         * config/c4x/c4x.md (*db): Enable pattern if TARGET_LOOP_UNSIGNED
4323         is non-zero.
4324         (movstrqi_small, movstrqi_large, *cmpstrqi): Add + modifier to address
4325         register constraints.
4326         (*movhi_clobber+1): Modify splitter pattern to handle destination
4327         register that is used in the source address.
4328         (*xorhi3_clobber): Replace AND with XOR in call to legitimize_operands.
4329
4330 Fri Apr  2 12:16:15 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4331
4332         * config/c4x/c4x.h: Added more comments.
4333
4334 Fri Apr  2 11:58:22 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4335
4336         * config/c4x/c4x.c (c4x_emit_move_sequence): Force invalid QImode
4337         constants into memory if we get called directly from gen_move_insn
4338         rather than emit_move_insn.
4339         (c4x_legitimize_address): Fix up LABEL_REF addresses.
4340
4341 Thu Apr  1 12:04:05 1999  Jim Wilson  <wilson@cygnus.com>
4342
4343         * expr.c (store_field): When check direct_store, assume all complex
4344         modes can be directly stored.
4345
4346 1999-04-01  Bruce Korb  <ddsinc09@ix.netcom.com>
4347
4348         * fixinc/genfixes: New shell script that runs autogen
4349         to create the generated files.
4350
4351 1999-04-01  Manfred Hollstein  <manfred@s-direktnet.de>
4352
4353         * Makefile.in (cppmain$(exeext)): Depend on intl.o.  Link in intl.o.
4354
4355 Thu Apr  1 03:48:34 1999  H.J. Lu  (hjl@gnu.org)
4356
4357         * i386.c (output_fp_conditional_move): Abort for LT, LE, GE, and GT
4358         signed integer comparisons.
4359
4360         * i386.c (output_int_conditional_move): Use "enum rtx_code" for code
4361         type.
4362
4363         * i386.c (notice_update_cc): No need to check the INT mode for
4364         conditional moves since FLOAT conditional moves don't affect cc0.
4365
4366 Thu Apr  1 02:17:18 1999  Jeffrey A Law  (law@cygnus.com)
4367
4368         * fixinc/inclhack.def (zzz_ki_syscalls, zzz_time): Fix trigger
4369         string to only match on hpux11.
4370         * fixinc/fixincl.x, fixinc/inclhack.sh, fixinc/fixinc.sh: Rebuilt.
4371
4372 Thu Apr  1 01:09:27 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
4373
4374         * fixinc/hackshell.tpl: Complete transition to fixinc.tmp.
4375         * fixinc/inclhack.sh: Rebuilt.
4376
4377         * fixinc/inclhack.def: Fix typos in c_asm.h fix.
4378         * fixinc/fixincl.x, fixinc/inclhack.sh, fixinc/fixinc.sh: Rebuilt.
4379
4380 Wed Mar 31 17:20:11 1999  Jeffrey A Law  (law@cygnus.com)
4381
4382         * toplev.c (rest_of_compilation): Allow dbr_schedule to write to
4383         the dump file too.
4384
4385 Wed Mar 31 12:32:43 1999  Richard Henderson  <rth@cygnus.com>
4386
4387         * flow.c (find_basic_blocks): New argument `do_cleanup'.
4388         Conditionally call delete_unreachable_blocks.
4389         (free_basic_block_vars): Zero ENTRY/EXIT data.
4390         (allocate_for_life_analysis): Kill.  Split into...
4391         (allocate_bb_life_data, allocate_reg_life_data): ... new functions.
4392         (life_analysis_1): Update.
4393         * gcse.c (gcse_main): Update find_basic_blocks call.
4394         * toplev.c (rest_of_compilation): Likewise.
4395         * stupid.c (stupid_life_analysis): Update life data calls.
4396         * rtl.h, output.h: Update prototypes.
4397
4398 Wed Mar 31 12:10:00 1999  Bruce Korb  <ddsinc09@ix.netcom.com>
4399
4400         * inclhack.def (several): Added spaces in tests to ensure
4401         correct shell syntax.  Added c_asm.h fix from fixincludes.
4402         Also corrected the corrected fix to C++ comments :-}
4403
4404         * inclhack.tpl: Changed method of traversing symlink trees
4405         so that file name matching will work correctly.
4406
4407         * fixincl.c, hackshell.tpl: Fallout from above.
4408         * fixincl.x, inclhack.sh, fixincl.sh: Rebuilt.
4409
4410 Tue Mar 30 10:43:49 1999  Philip Blundell  <pb@nexus.co.uk>
4411
4412         * config/arm/aout.h (DBX_DEBUGGING_INFO): Avoid redefinition if
4413         dbxelf.h was previously included.
4414         (CPP_APCS_PC_DEFAULT_SPEC): No need to undefine.
4415
4416         * config/arm/linux-elf.h (FP_DEFAULT): Correctly override the
4417         definition from arm.h.
4418
4419 Wed Mar 31 10:33:37 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4420
4421         * Makefile.in (c-gperf.h): Generate using gperf language 'C', not
4422         'KR-C', so gperf uses the `const' keyword on strings.
4423
4424         * c-parse.gperf (resword): Const-ify a char*.
4425
4426 Wed Mar 31 01:49:31 1999  Ian Lance Taylor  <ian@zembu.com>
4427
4428         * t-rtems (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
4429
4430 Wed Mar 31 00:50:48 1999  Jeffrey A Law  (law@cygnus.com)
4431
4432         * system.h (STDERR_FILENO): Fix typo.
4433
4434         * inclhack.def (bool): Also fix bogus bool in curses_colr/curses.h.
4435         * fixincl.x, inclhack.sh, fixincl.sh: Rebuilt.
4436
4437 Tue Mar 30 20:51:40 1999  Mark Mitchell  <mark@codesourcery.com>
4438
4439         * alias.c (alias_set_compare): Remove.
4440         (record_alias_subset): Use splay_tree_compare_ints instead of
4441         alias_set_compare.
4442         (init_alias_once): Likewise.
4443         * cse.c: Include splay-tree.h.
4444         (reg_qty): Remove.
4445         (reg_tick): Likewise.
4446         (reg_table): Likewise.
4447         (cse_reg_info): New structure.
4448         (cse_reg_info_free_list): New variable.
4449         (cse_reg_info_tree): Likewise.
4450         (cached_regno): Likewise.
4451         (cached_cse_reg_info): Likewise.
4452         (all_minus_one): Remove.
4453         (consec_ints): Likewise.
4454         (GET_CSE_REG_INFO): New macro.
4455         (REG_TICK): Likewise.  Use throughout instead of reg_tick.
4456         (REG_IN_TABLE): Likewise.  Use throughout instead of reg_in_table.
4457         (REG_QTY): Likewise.  Use throughout instead of reg_qty.
4458         (get_cse_reg_info): New function.
4459         (free_cse_reg_info): Likewise.
4460         (new_basic_block): Reinitialize cse_reg_info_tree instead of
4461         reg_tick, all_minus_one, and consec_ints.
4462         * Makefile.in (cse.o): Depend on splay-tree.h
4463
4464 Tue Mar 30 13:19:36 1999  Jason Merrill  <jason@yorick.cygnus.com>
4465
4466         * libgcc2.c (throw_helper): Just return the SP offset, rather than
4467         a whole udata.  Include args_size in the offset.
4468         (__throw, __rethrow): Adjust.
4469
4470 Tue Mar 30 11:39:27 1999  Craig Burley  <craig@jcb-sc.com>
4471
4472         * extend.texi (Extended Asm): Delete spurious `b' before
4473         `@end example', which was confusing texi2html.
4474
4475 Tue Mar 30 00:26:34 1999  Jason Merrill  <jason@yorick.cygnus.com>
4476
4477         * dwarf2out.c (output_line_info): Don't emit redundant info.
4478         Do start a new row if the file changes and the line # doesn't.
4479
4480 Mon Mar 29 15:48:39 1999  Jason Merrill  <jason@yorick.cygnus.com>
4481
4482         * invoke.texi (Invoking G++, C++ Dialect Options): Update.
4483
4484 Mon Mar 29 15:05:39 1999  Richard Henderson  <rth@cygnus.com>
4485
4486         * except.c (start_dynamic_handler): Force jmp_buf address to
4487         and operand before moving to memory.
4488
4489 Mon Mar 29 15:11:10 1999  Craig Burley  <craig@jcb-sc.com>
4490
4491         * invoke.texi (Code Gen Options): Attempt to clarify
4492         -fcheck-memory-usage.  Minor edits to -fprefix-function-name.
4493
4494 Mon Mar 29 20:52:47 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
4495
4496         * loop.c (maybe_eliminate_biv): For libcalls that set a giv, skip to
4497         end of libcall.
4498
4499 Mon Mar 29 20:35:49 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
4500
4501         * sh.md (mulsi3): Tag an extra REG_EQUAL note to the middle insn.
4502
4503 Mon Mar 29 11:50:34 1999  Jerry Quinn  <jquinn@nortelnetworks.com>
4504
4505         * pa.h (HAVE_PRE_INCREMENT): Disable when optimizing for a PA8000
4506         class machine.
4507         (HAVE_PRE_DECREMENT, HAVE_POST_INCREMENT): Likewise.
4508         (HAVE_POST_DECREMENT): Likewise.
4509
4510 Mon Mar 29 08:24:43 1999  Bruce Korb  <korb@datadesign.com>
4511
4512         * fixinc/mkfixinc.sh: Fix portability problems with old shells.
4513
4514         * fixinc/README: Updated for release announcement
4515
4516 Sun Mar 28 20:26:55 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4517
4518         * recog.h (insn_outfun, insn_operand_predicate): Add prototype
4519         arguments.
4520
4521         * rtl.h (note_stores): Likewise.
4522
4523         * rtlanal.c (note_stores): Likewise.
4524
4525 Sun Mar 28 15:34:28 1999  Richard Henderson  <rth@cygnus.com>
4526
4527         * varasm.c (output_constant_pool): Always mark the constant pool.
4528
4529 Sun Mar 28 16:09:01 1999  Jerry Quinn  <jquinn@nortelnetworks.com>
4530
4531         * pa.md (pa7100LCshiftmem, pa7100LCalu): Change simultaneity.  Use
4532         shift/mem ops in pa7100LCalu.
4533
4534         * pa.c (pa_adjust_cost): Don't do cost adjustments on pa8000.
4535         (pa_reorg): Don't call pa_combine_instructions on pa8000.
4536
4537 Sun Mar 28 15:27:26 1999  Jeffrey A Law  (law@cygnus.com)
4538
4539         * reload1.c (reload): Remove accidental code duplication.
4540
4541 Sun Mar 28 12:22:12 1999  Robert Lipe  (robertlipe@usa.net)
4542
4543         * i386/sysv5.h: New file to describe UnixWare7/SVR5.
4544         * configure.in (i?86-UnixWare7*-sysv): Use it.
4545         * i386/udk.h: Use sysv5.h.  Now uses Dwarf-2.
4546
4547 Sun Mar 28 01:15:04 1999  Jeff Law  (law@cygnus.com)
4548
4549         * version.c: Bump for snapshot.
4550
4551 Sun Mar 28 00:44:27 1999  Jeffrey A Law  (law@cygnus.com)
4552
4553         * sdbout.c (sdbout_symbol): Do not call build_pointer_type, build
4554         one on the fly and do not cache the result.
4555
4556         * gcc.cps, cpp.cps: Delete unwanted files.
4557
4558 Sat Mar 27 23:37:40 1999  John Wehle  (john@feith.com)
4559
4560         * i386.md (movdicc+3, movdicc+4): Rewrite using split_di.
4561         * i386.c (output_int_conditional_move): Delete unused code.
4562
4563 Sat Mar 27 21:17:36 1999  David Edelsohn  <edelsohn@gnu.org>
4564
4565         * rs6000/{aix41.h,aix43.h} (ASM_CPU_SPEC): Add 604e.
4566
4567 Sat Mar 27 16:13:50 1999  Jeffrey A Law  (law@cygnus.com)
4568
4569         * flow.c (mark_used_regs): Improve handling of ASMs.
4570
4571 1999-03-26  Zack Weinberg  <zack@rabi.columbia.edu>
4572
4573         * Makefile.in (xcpp, cppspec.o): New targets.
4574         (CPP_INSTALL_NAME): New macro.
4575         (install-cpp): Install xcpp.  Use CPP_INSTALL_NAME.
4576         (all.build, start.encap): Build xcpp.
4577
4578         * cppspec.c: New file, implements argument filtering for a
4579         user-visible C preprocessor.
4580         * cpp.sh: Removed.
4581
4582 Fri Mar 26 20:41:46 1999  Jim Wilson  <wilson@cygnus.com>
4583
4584         * Makefile.in (stmp-fixinc): Use tooldir instead of gcc_tooldir.
4585
4586 Fri Mar 26 16:02:37 1999  Nick Clifton  <nickc@cygnus.com>
4587
4588         * configure.in (arm-*-vxworks*): Just include arm/vxarm.h.
4589         * configure: Regenerate.
4590         * config/arm/vxarm.h: Define SUBTARGET_CPU_DEFAULT before
4591         including arm/coff.h
4592
4593 1999-02-16  Scott Bambrough  <scottb@corelcomputer.com>
4594
4595         * configure.in (arm*-*-linux-gnu*): Set thread_file to 'posix' if
4596         --enable-threads[={yes,pthreads,posix}] is passed as a command
4597         line parameter to configure.
4598
4599         * configure: Regenerate.
4600
4601         * gcc/config/arm/t-linux (TARGET_LIBGCC2_CFLAGS): Include -fPIC.
4602
4603 Fri Mar 26 19:42:19 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
4604
4605         * loop.c (combine_givs): Fix index into can_combine when doing
4606         benefit adjustment for remaining givs when having combined a giv.
4607
4608 Fri Mar 26 11:38:01 1999  Nick Clifton  <nickc@cygnus.com>
4609
4610         * config/arm/t-arm-elf (EXTRA_MULTILIB_PARTS): Define.
4611
4612 Fri Mar 26 10:48:27 1999  Nick Clifton  <nickc@cygnus.com>
4613
4614         * config/arm/linux-elf.h: Include dbxelf.h
4615
4616 Fri Mar 26 10:43:47 1999  Nick Clifton  <nickc@cygnus.com>
4617
4618         * config/svr4.h: Include new header file dbxelf.h.
4619         (DBX_DEBUGGING_INFO): Remove definition.
4620         (DBX_USE_BINCL): Remove definition.
4621         (DBX_BLOCKS_FUNCTION_RELATIVE): Remove definition.
4622         (ASM_IDENTIFY_GCC): Remove definition.
4623         (ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove definition.
4624         (ASM_OUTPUT_SOURCE_LINE): Remove definition.
4625         (DBX_FUNCTION_FIRST): Remove definition.
4626         (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Remove definition.
4627
4628         * config/elfos.h: Include new header file dbxelf.h.
4629         (DBX_DEBUGGING_INFO): Remove definition.
4630         (DBX_BLOCKS_FUNCTION_RELATIVE): Remove definition.
4631         (ASM_IDENTIFY_GCC): Remove definition.
4632         (ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove definition.
4633         (ASM_OUTPUT_SOURCE_LINE): Remove definition.
4634         (DBX_FUNCTION_FIRST): Remove definition.
4635
4636         * config/dbxelf.h: New header file.
4637         (DBX_DEBUGGING_INFO): Define.
4638         (DBX_BLOCKS_FUNCTION_RELATIVE): Define.
4639         (DBX_FUNCTION_FIRST): Define.
4640         (DBX_USE_BINCL): Define.
4641         (DBX_CONTIN_LENGTH): Define.
4642         (ASM_IDENTIFY_GCC): Define.
4643         (ASM_IDENTIFY_GCC_AFTER_SOURCE): Define.
4644         (ASM_OUTPUT_SOURCE_LINE): Define.
4645         (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Define.
4646
4647 Fri Mar 26 01:59:15 1999  "Charles M. Hannum"  <root@ihack.net>
4648
4649         * fold-const.c (fold_truthop): Optimize bitfield references with
4650         different masks as long as their size and bit position are the same.
4651
4652         * fold-const.c (fold_truthop): Build a type for both the lhs and
4653         rhs and use it appropriately.
4654
4655         * fold-const.c (fold_truthop): Mask the lhs and rhs after merging
4656         adjacent bitfield references.
4657
4658         * fold-const.c (fold_truthop): Verify that the lhs and rhs are
4659         in the same bit position when optimizing bitfield references
4660         which have the same mask.
4661
4662 Thu Mar 25 22:53:27 1999  Martin von Löwis  <loewis@informatik.hu-berlin.de>
4663
4664         * gcc.texi (Copy Assignment): New node.
4665
4666 1999-03-25  Zack Weinberg  <zack@rabi.columbia.edu>
4667
4668         * gcc.c: Compile unconditionally all code formerly dependent
4669         on #ifdef LANG_SPECIFIC_DRIVER.
4670         * gccspec.c: New file with stub lang_specific_driver,
4671         lang_specific_pre_link.
4672         * Makefile.in: Link gccspec.o into xgcc.  Add rule to compile
4673
4674 Thu Mar 25 21:08:02 1999  Jason Merrill  <jason@yorick.cygnus.com>
4675
4676         * gcc.texi (Temporaries): Update.
4677
4678 Thu Mar 25 16:53:53 1999  Richard Henderson  <rth@cygnus.com>
4679
4680         * combine.c (distribute_notes): Place REG_LABEL also where
4681         REG_EQUAL indicates.
4682
4683 Thu Mar 25 12:46:37 1999  Jim Wilson  <wilson@cygnus.com>
4684
4685         * a29k/a29k.h (TARGET_SWITCHES): Add doc strings.
4686         * i960/i960.h (TARGET_SWITCHES): Add doc strings.
4687         * invoke.texi (a29k): Add documentation for -mno-multm option.
4688
4689 Thu Mar 25 14:04:54 1999  Andrew MacLeod  <amacleod@cygnus.com>
4690
4691         * rtl.texi (RTX_FRAME_RELATED_P): Add documentation.
4692         * rtl.h (struct rtx_def): Update comment for frame_related field.
4693         (set_unique_reg_note): Declare prototype.
4694         * dwarf2out.c (dwarf2out_frame_debug_expr): Split out from
4695         'dwarf2out_frame_debug' to handle only expressions, and process
4696         component parts of a PARALLEL expression.
4697         (dwarf2out_frame_debug): Process insns only, and call
4698         new function 'dwarf2out_frame_debug_expr' for patterns.
4699         * emit-rtl.c (set_unique_reg_note): New function to add a reg note,
4700         but if there is an existing one, delete it first.
4701         * expmed.c (expand_mult, expand_divmod): Use set_unique_reg_note.
4702         * optabs.c (add_equal_note, expand_binop): Use set_unique_reg_note.
4703         (emit_no_conflict_block, emit_libcall_block): Use set_unique_reg_note.
4704         (expand_fix): Use set_unique_reg_note.
4705
4706 Thu Mar 25 11:47:49 1999  Art Haas  <ahaas@neosoft.com>
4707
4708         * tlink.c (symbol_hash_newfunc): Remove redundant call to
4709         hash_newfunc.
4710         (file_hash_newfunc, demangled_hash_newfunc): Likewise.
4711
4712 Thu Mar 25 10:05:56 1999  Richard Henderson  <rth@cygnus.com>
4713
4714         * i386.h (PREFERRED_STACK_BOUNDARY): Set to 128.
4715
4716 1999-03-25  Philip Blundell  <pb@nexus.co.uk>
4717
4718         Based on patch from Jim Studt  <jim@federated.com>:
4719         * config/arm/linux-elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Copy
4720         definitions from config/linux.h.
4721         (DBX_BLOCKS_FUNCTION_RELATIVE): Define to 1.
4722
4723 Thu Mar 25 02:12:42 1999  Finn Hakansson  <finn@axis.com>
4724
4725         * loop.c (strength_reduce): Correct a comment.
4726
4727         * rtl.h (MEM_COPY_ATTRIBUTES): Remove unnecessary ending backslash.
4728
4729 Thu Mar 25 02:02:13 1999  Axel Thimm  <Axel.Thimm@physik.fu-berlin.de>
4730
4731         * Makefile.in (RANLIB_TEST): Improve test.
4732
4733 Thu Mar 25 01:15:33 1999  Donn Terry  <donn@interix.com>
4734
4735         * combine.c (force_to_mode, case PLUS): Use sign extended mask
4736         when masking the low bits out of a constant.
4737
4738 Tue Mar 23 15:45:25 1999  Richard Earnshaw  (rearnsha@arm.com)
4739                           Jeff Law  <law@cygnus.com>
4740
4741         * fold-const.c (make_range): If orig_type is unset, set it as soon
4742         as we know the type.  Remove now unnecessary set of orig_type for
4743         conversions.
4744
4745 Wed Mar 24 23:27:25 1999  Mark Elbrecht  <snowball3@usa.net>
4746                           Jeff Law  <law@cygnus.com>
4747
4748         * system.h (STDIN_FILENO): Provide default definition if one is not
4749         provided by the system header files.
4750         (STDOUT_FILENO, STDERR_FILENO): Likewise.
4751
4752         * i386/xm-djgpp.h (COLLECT2_HOST_INITIALIZATION): New macro.
4753         * collect2.c (main): Use it.
4754         (pexecute_pid): New variable. Holds return value from call to pexecute.
4755         (collect2_execute): Rework to use pexecute instead of fork.
4756         (collect2_wait): Use pwait() instead of wait().
4757
4758         * i386/djgpp.h: Fix typo.
4759
4760 Wed Mar 24 23:24:30 1999  Jeffrey A Law  (law@cygnus.com)
4761
4762         * fixinc/mkfixinc.sh: Recognize cygwin* instead of only
4763         cygwin32.
4764
4765 Wed Mar 24 15:44:12 1999  Nick Clifton  <nickc@cygnus.com>
4766
4767         * config/m32r/m32r.c (init_idents): Accept both NAME and __NAME__
4768         versions of attribute names and values.
4769         (m32r_valid_machine_decl_attribute): Likewise.
4770         (m32r_encode_section_info): Likewise.
4771
4772 Wed Mar 24 21:42:15 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
4773
4774         * reload1.c (choose_reload_regs): If output-reloading for a
4775         simple move insn, try to inherit an equivalence for the input.
4776
4777 1999-02-24  Mike Stump  <mrs@wrs.com>
4778
4779         * arm/aout.h (DBX_OUTPUT_MAIN_SOURCE_FILENAME): Fix quoting.
4780
4781 1999-03-24  Jim Blandy  <jimb@zwingli.cygnus.com>
4782
4783         * libgcc2.c (__CTOR_LIST__, __DTOR_LIST__): Initialize on all
4784         platforms.
4785
4786 Wed Mar 24 01:35:01 1999  Geoff Keating  <geoffk@ozemail.com.au>
4787
4788         * fold-const.c (fold): Recognize a rotate by an unsigned amount.
4789
4790 Tue Mar 23 23:32:14 1999  Jeffrey A Law  (law@cygnus.com)
4791
4792         * pa.md (rotlsi3): New expander.  Synthesize a variable rotate
4793         left using a variable rotate right.  Provide anonymous pattern for
4794         rotate left by a constant value.
4795
4796         * expr.c (expand_assignment): Do not try to optimize a aggregate
4797         address which has VOIDmode.
4798
4799 Tue Mar 23 22:51:48 1999  Mumit Khan  <khan@xraylith.wisc.edu>
4800                           Donn Terry  <donn@interix.com>
4801
4802         * protoize.c (abspath): Preserve multiple leading slashes for
4803         _WIN32 and Interix.
4804
4805 1999-01-23  Mike Stump  <mrs@wrs.com>
4806
4807         * arm/vxarm.h: Split out vxWorks support into separate headerfile
4808         and vxify.
4809         * arm/arm.c (cpu_defaults): Allow arm710 as default.
4810
4811         * configure.in: Split out vxWorks support for Arm.
4812         * configure: Rebuilt.
4813
4814 Tue Mar 23 11:20:03 1999  Per Bothner  <bothner@cygnus.com>
4815
4816         * tree.c (first_rtl_op, has_cleanups): Handle GOTO_SUBROUTINE_EXPR.
4817
4818 Tue Mar 23 09:00:39 1999  Nick Clifton  <nickc@cygnus.com>
4819
4820         * config/arm/riscix1.h (SUBTARGET_SWITCHES): Add doc string.
4821         * config/arm/riscix1-1.h (SUBTARGET_SWITCHES): Add doc string.
4822
4823 Tue Mar 23 07:50:20 1999  Mark Mitchell  <mark@codesourcery.com>
4824
4825         * function.c: Include hash.h.
4826         (insns_for_mem_entry): New struct.
4827         (put_reg_into_stack): Take an optional hash-table mapping MEMs to
4828         the INSNs that use them.
4829         (fixup_var_refs): Likewise.
4830         (put_addressof_into_stack): Likewise.
4831         (purge_addressof_1): Likewise.  Keep the hash-table up to date if
4832         we add new instructions.
4833         (fixup_var_refs_insns): Use it to avoid searching the entire
4834         instruction chain.
4835         (insns_for_mem_newfunc): New function.
4836         (insns_for_mem_comp): Likewise.
4837         (insns_for_mem_walk): Likewise.
4838         (compute_insns_for_mem): Likewise.
4839         (pop_function_context_from): Pass NULL for the hash-table.
4840         (put_var_into_stack): Likewise.
4841         (gen_mem_addressof): Likewise.
4842         (flush_addressof): Likewise.
4843         (purge_addressof): Call compute_insns_for_mem to pre-compute the
4844         hash table.
4845         * Makefile.in (OBJS): Include hash.o.
4846         (function.o): Depend on hash.h.
4847
4848 Tue Mar 23 00:39:14 1999  Jeffrey A Law  (law@cygnus.com)
4849
4850         * i386/openbsd.h (TARGET_DEFAULT): Use symbolic names instead of
4851         numbers.
4852         * i386/netbsd.h, i386/freebsd.h: Likewise.
4853
4854         * crtstuff.c: Use ANSI function definitions.  Fix minor whitespace
4855         problems.
4856
4857         * i386/openbsd.h (TARGET_DEFAULT): Define.
4858         * configure.in: Do not set TARGET_CPU_DEFAULT for x86 OpenBSD
4859         configurations.
4860         * configure: Rebuilt.
4861
4862 Tue Mar 23 00:39:10 1999  John Wehle  (john@feith.com)
4863
4864         * i386/freebsd.h (TARGET_DEFAULT): Define instead
4865         of TARGET_CPU_DEFAULT.
4866         * i386/netbsd.h (TARGET_DEFAULT): Likewise.
4867
4868 Mon Mar 22 23:52:01 1999  Mumit Khan  <khan@xraylith.wisc.edu>
4869                           Donn Terry  <donn@interix.com>
4870
4871         * sdbout.c (syms.h): Don't include on Interix.
4872         * toplev.c (main): No sbrk on Interix.
4873
4874         * configure.in: Add i386-pc-interix support.
4875         * configure: Regenerate.
4876         * fixinc.interix: New file.
4877         * config/interix.h: New file.
4878         * config/x-interix: New file.
4879         * config/xm-interix.h: New file.
4880         * i386/interix.h: New file.
4881         * i386/interix.c: New file.
4882         * i386/t-interix: New file.
4883
4884 Mon Mar 22 23:41:49 1999  Jeffrey A Law  (law@cygnus.com)
4885
4886         * i386.h (PREFERRED_STACK_BOUNDARY): Define.
4887
4888 Mon Mar 22 23:41:31 1999  John Wehle  (john@feith.com)
4889
4890         * i386.c (ix86_compute_frame_size): New function.
4891         (ix86_prologue, ix86_epilogue): Use it.
4892         * i386.h (INITIAL_ELIMINATION_OFFSET): Likewise.
4893         * reload1.c: Provide default for PREFERRED_STACK_BOUNDARY.
4894
4895 Mon Mar 22 18:06:59 1999  Jim Wilson  <wilson@cygnus.com>
4896
4897         * mips/mips.h (TARGET_SWITCHES, TARGET_OPTIONS): Add option doc
4898         strings.
4899         * mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Likewise.
4900
4901 Mon Mar 22 16:18:27 1999  Nick Clifton  <nickc@cygnus.com>
4902
4903         * config/arm/elf.h (VALID_MACHINE_DECL_ATTRIBUTE): Do not bother
4904         passing ATTRIBUTES to arm_valid_machine_decl_attribute.
4905
4906         * config/arm/coff.h (VALID_MACHINE_DECL_ATTRIBUTE): Do not bother
4907         passing ATTRIBUTES to arm_valid_machine_decl_attribute.
4908
4909         * config/arm/arm.h (DEFAULT_RTX_COSTS): Do not bother passing
4910         OUTER_CODE to arm_rtx_costs - it is not used.
4911         (arm_compare_fp): Delete declaration.
4912         (FINAL_PRESCAN_INSN): Do not bother passing OPVEC or NOPERANDS to
4913         arm_final_prescan_insn - they are not used.
4914         (const_ok_for_op): Remove prototype.
4915         (arm_rtx_costs): Fix prototype.
4916         (arm_valid_machine_decl_attribute): Fix prototype.
4917         (final_prescan_insn): Fix prototype.
4918
4919         * config/arm/arm.md: Remove references to arm_compare_fp.
4920
4921         * config/arm/arm.c (arm_compare_fp): Delete.
4922         (const_ok_for_op): Make function static.  Add prototype.  Remove
4923         mode parameter - it is unused.
4924         (arm_rtx_costs): Remove outer_code parameter.
4925         (reload_memory_operand): Declare mode parameter unused.
4926         (power_of_two_operand): Declare mode parameter unused.
4927         (equality_operator): Declare mode parameter unused.
4928         (load_multiple_operation): Declare mode parameter unused.
4929         (store_multiple_operation): Declare mode parameter unused.
4930         (multi_register_push): Declare mode parameter unused.
4931         (arm_valid_machine_decl_attribute): Remove attributes parameter -
4932         it is unused.
4933         (select_dominance_cc_mode): Remove op parameter - it is unused.
4934         (gen_compare_reg): Remove fp parameter - it is unused.
4935         (final_prescan_insn): Remove opvec and noperands parameters - they
4936         are unused.
4937
4938 Mon Mar 22 14:35:28 1999  Nick Clifton  <nickc@cygnus.com>
4939
4940         * tm.texi (MD_SCHED_INIT): Add missing closing parenthesis.
4941
4942 Mon Mar 22 22:24:30 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
4943
4944         * reload1.c (reload_as_needed): Set reload_is_output_reload /
4945         reload_has_output_reload for auto_inc expressions that could be
4946         reloaded.  Call forget_old_reloads for REG_INC notes.
4947
4948 Mon Mar 22 21:51:57 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
4949
4950         * cse.c (cse_insn): Don't change the result register of a libcall.
4951
4952 Mon Mar 22 21:08:59 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
4953
4954         * rtl.h (shallow_copy_rtx): Declare.
4955         * rtl.c (shallow_copy_rtx): New function.
4956         * reload.c (find_reloads_toplev): Use shallow_copy_rtx instead of
4957         copy_rtx.
4958
4959 Mon Mar 22 10:44:33 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
4960
4961         * config/h8300/h8300.md (adjust_length): New attribute.
4962         (modhi3+1, andsi3+1, iorsi3+1, extzv+1, extzv+2): Change insn
4963         default value of attribute "adjust_length" onto "no".
4964
4965         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust
4966         length only if the attribute "adjust_length" value is "yes".
4967         Use 0 if the shift is negative.
4968
4969         * final.c (shorten_branches): Check insn length after its
4970         adjusting.
4971
4972 Sun Mar 21 17:33:48 1999  Jeffrey A Law  (law@cygnus.com)
4973
4974         * i860.h (TARGET_SWITCHES): Add documentation for default case.
4975         * i860/paragon.h (TARGET_SWITCHES): Add documentation for default case.
4976         * i370.h (TARGET_SWITCHES): Add documentation for default case.
4977         * fx80.h (TARGET_SWITCHES): Add documentation for default case.
4978         * elxsi.h (TARGET_SWITCHES): Add documentation for default case.
4979         * clipper.h (TARGET_SWITCHES): Add documentation for default case.
4980         * 1750a.h (TARGET_SWITCHES): Add documentation for default case.
4981         * pa.h (TARGET_SWITCHES): Add documentation for default case.
4982         (TARGET_OPTIONS): Likewise for default case.
4983         * mn10300.h (TARGET_SWITCHES): Add documentation for default case.
4984         * h8300.h (TARGET_SWITCHES): Add documentation for default case.
4985
4986         * gcse.c (dump_hash_table): Fix whitespace in declaration.
4987         (compute_transpout): Renamed from pre_compute_transpout.
4988         (compute_pre_*): Deleted.
4989         (pre_expr_reaches_here_p): New argument, CHECK_PRE_COMP.  All
4990         callers changed.
4991         (insert_insn_end_bb): Renamed from pre_insert_insn.
4992         (pre_*): Delete unused variables.  Only leave local properties and
4993         global redundant/optimal computation points.
4994         (alloc_pre_mem, free_pre_mem): Corresponding changes.
4995         (compute_pre_data): Simplify and call pre_lcm to run the lazy
4996         code motion dataflow analysis.
4997         (pre_insert, pre_insert_copies, pre_delete): Revamp to use LCM
4998         based redundant and optimal computation points.
4999
5000         * basic-block.h (pre_lcm, pre_rev_lcm): Declare.
5001
5002         * toplev.c (main): A debug option without a level defaults to
5003         level 2.
5004
5005 Sun Mar 21 12:13:01 1999  Nick Clifton  <nickc@cygnus.com>
5006
5007         * flow.c (can_delete_label_p): Do not allow user specified
5008         labels to be deleted.
5009         * dwarf2out.c (gen_label_die): Generate addresses for deleted
5010         (programmer specified) labels.
5011         * dwarfout.c (output_label_die): Generate addresses for deleted
5012         (programmer specified) labels.
5013
5014 1999-03-21  Manfred Hollstein  <manfred@s-direktnet.de>
5015
5016         * Makefile.in (xgcc$(exeext)): Add intl.o to list of files to be
5017         linked with.
5018
5019 Sun Mar 21 01:15:03 1999  Jeff Law  (law@cygnus.com)
5020
5021         * version.c: Bump for snapshot.
5022
5023 Sat Mar 20 22:26:23 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5024
5025         * sparc.h (TARGET_SWITCHES): Add null description to default case.
5026
5027 Sat Mar 20 21:46:06 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5028
5029         * c-lex.c (yylex): Remove unused variable `bytes'.
5030
5031         * flow.c (print_rtl_with_bb): Cast the return value of alloca.
5032
5033         * function.c (assign_parms): Wrap variable `varargs_setup' in
5034         macro SETUP_INCOMING_VARARGS.
5035         (thread_prologue_and_epilogue_insns): Mark parameter `f' with
5036         ATTRIBUTE_UNUSED.
5037
5038         * local-alloc.c (no_equiv): Likewise for parameter `store'.
5039
5040         * sched.c (schedule_insns): Remove unused variables `insn' and `next'.
5041
5042         * tlink.c (symbol_hash_newfunc, symbol_hash_lookup,
5043         file_hash_newfunc, file_hash_lookup, demangled_hash_newfunc,
5044         demangled_hash_lookup, symbol_push, symbol_pop, file_push,
5045         file_pop, tlink_init, tlink_execute, frob_extension,
5046         obstack_fgets, tfgets, pfgets, freadsym, read_repo_file,
5047         maybe_tweak, recompile_files, read_repo_files,
5048         demangle_new_symbols, scan_linker_output): Add static prototype.
5049
5050         (symbol_hash_newfunc, file_hash_newfunc, demangled_hash_newfunc):
5051         Make the third argument a `hash_table_key'.
5052
5053         * toplev.c (debug_start_source_file): Mark parameter `filename'
5054         with ATTRIBUTE_UNUSED.
5055
5056 Sun Mar 21 02:28:21 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
5057
5058         * tm.texi (Varargs): Don't split argument of @item across lines.
5059
5060         * invoke.texi: Fix use of @item vs @itemx.
5061
5062 Sun Mar 21 09:59:54 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5063
5064         * config/c4x/c4x.h (TARGET_SWITCHES): Add null description to
5065         default case.
5066
5067 Sat Mar 20 23:33:54 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5068
5069         * loop.c (check_dbra_loop): Fix debug message.
5070
5071 Sat Mar 20 15:54:35 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5072
5073         * config/c4x/c4x.md (decrement_and_branch_on_count): Emit rptb_end
5074         pattern instead of decrement_and_branch_until_zero pattern.
5075
5076 Sat Mar 20 11:39:58 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5077
5078         * config/c4x/c4x.h (TARGET_SWITCHES): Add documentation.
5079         * config/c4x/c4x.h (TARGET_OPTIONS): Add documentation.
5080
5081 Fri Mar 19 23:26:29 1999  Martin von Löwis  <loewis@informatik.hu-berlin.de>
5082
5083         * expr.c (expand_expr): Handle ERROR_MARK much earlier.
5084
5085 Fri Mar 19 15:28:38 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5086
5087         * cccp.c (create_definition): Cast to U_CHAR* when assigning to one.
5088
5089         * cppfiles.c (read_and_prescan): Likewise.
5090         Start a #define in column 0.
5091
5092         * cpplib.c (cpp_define): Cast to U_CHAR* when assigning to one.
5093         (cpp_push_buffer): Likewise for cpp_buffer*.
5094         (do_include): Change the type of `fbeg' and `fend' to unsigned char*.
5095         (do_endif): Cast to char* when assigning to one.
5096         (do_assert): Likewise.
5097         (do_unassert): Likewise.
5098         (cpp_read_check_assertion): Change the type of `name' to U_CHAR*.
5099         Don't do unnecessary cast to char* anymore.
5100
5101         * genrecog.c (make_insn_sequence): Cast to char** when assigning
5102         to one.  Cast the first argument of bzero to PTR.
5103
5104         * loop.c (strength_reduce): Remove unused variable `note'.
5105
5106         * reload1.c (new_insn_chain): Cast to struct insn_chain* when
5107         assigning to one.
5108
5109         * rtl.c (copy_rtx): Use memcpy instead of bcopy.
5110
5111 Fri Mar 19 11:19:31 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5112
5113         * calls.c (initialize_argument_information): Mark parameters
5114         `num_actuals' and `n_named_args' with ATTRIBUTE_UNUSED.
5115
5116         * dbxout.c (dbxout_start_new_source_file): Likewise for parameter
5117         `filename'.
5118         (dbxout_finish): Likewise for parameters `file' and `filename'.
5119         (dbxout_prepare_symbol): Likewise for parameter `decl'.
5120         (dbxout_begin_function): Likewise.
5121
5122         * explow.c (hard_function_value): Likewise for parameter `func'.
5123
5124         * function.c (locate_and_pad_parm): Likewise for parameter `fndecl'.
5125
5126         * expmed.c (expand_divmod): Omit unused argument to `expand_abs'.
5127         * expr.c (expand_expr): Likewise.
5128         * expr.h (expand_abs): Delete unused argument from prototype.
5129         * optabs.c (expand_abs): Remove unused parameter `unsignedp'.
5130
5131         * sdbout.c (sdbout_init): Mark parameter `syms' with ATTRIBUTE_UNUSED.
5132         (sdbout_end_block): Likewise for parameter `n'.
5133
5134         * toplev.c (debug_define): Likewise for parameters `lineno' and
5135         `buffer'.
5136         (debug_undef): Likewise.
5137
5138         * varasm.c (named_section): Likewise for parameter 'reloc'.
5139         (assemble_external): Likewise for parameter `decl'.
5140         (assemble_alias): Likewise for parameter `target'.
5141
5142 Fri Mar 19 01:54:30 1999  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
5143
5144         * toplev.c (read_integral_parameter): Constify.  Better control of
5145         error messages.
5146         (main): Use read_integral_parameter to set optimize, id_clash_len,
5147         larger_than_size, and the debugging level.
5148         * toplev.h (read_integral_parameter): Update prototype.
5149
5150 Fri Mar 19 01:42:05 1999  Zack Weinberg  <zack@rabi.phys.columbia.edu>
5151
5152         * system.h: Use putc_unlocked, fputc_unlocked, and
5153         fputs_unlocked only if putc_unlocked has a prototype already.
5154         Prototype fputs_unlocked if necessary.
5155         * configure.in: Check for prototypes of putc_unlocked and
5156         fputs_unlocked.
5157         * acconfig.h: Updated.
5158         * config.in, configure: Rebuilt.
5159
5160 Fri Mar 19 02:45:12 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
5161
5162         * Makefile.in (INTL_TARGETS): New macro.
5163         ($(INTL_TARGETS)): Depend on generated sources; drop dependencies
5164         on cp/parse.c and objc/objc-parse.c.
5165         ($(srcdir)/cp/parse.c): Move to cp/Make-lang.in.
5166         * objc/Make-lang.in ($(INTL_TARGETS)): Depend on objc/objc-parse.c.
5167
5168 Thu Mar 18 22:28:53 1999  Jeffrey A Law  (law@cygnus.com)
5169
5170         * i860.h (TARGET_SWITCHES): Add documentation.
5171         * i860/paragon.h (TARGET_SWITCHES): Add documentation.
5172         * i370.h (TARGET_SWITCHES): Add documentation.
5173         * fx80.h (TARGET_SWITCHES): Add documentation.
5174         * elxsi.h (TARGET_SWITCHES): Add documentation.
5175         * clipper.h (TARGET_SWITCHES): Add documentation.
5176         * 1750a.h (TARGET_SWITCHES): Add documentation.
5177         * pa.h (TARGET_SWITCHES): Add documentation.
5178         (TARGET_OPTIONS): Likewise.
5179         * mn10300.h (TARGET_SWITCHES): Add documentation.
5180         * h8300.h (TARGET_SWITCHES): Add documentation.
5181
5182 Thu Mar 18 15:58:26 1999  Nick Clifton  <nickc@cygnus.com>
5183
5184         * loop.c (strength_reduce): Do not perform pseudo replacements
5185         if the loop contains volatile memory references.
5186
5187 Thu Mar 18 19:09:50 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
5188
5189         * reload.c (find_reloads_toplev): When processing X recursively,
5190         don't alter it destructively except by filling in constants.
5191
5192 Thu Mar 18 10:14:18 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5193
5194         * cccp.c (default_include): Initialize structure members.
5195         (pass_thru_directive): Change the type of 'keyword_length' to int.
5196         (main): Cast `bindtextdomain' and `textdomain' to (void).
5197
5198         * collect2.c (main): Likewise.
5199
5200         * cppmain.c (main): Likewise.
5201
5202         * gcc.c (main): Likewise.
5203
5204         * gcov.c (main): Likewise.
5205
5206         * protoize.c (main): Likewise.
5207
5208         * toplev.c (main): Likewise.
5209
5210 1999-03-18  Gavin Romig-Koch  <gavin@cygnus.com>
5211
5212         * config/mips/mips.c (mips_explicit_type_size_string): Correct
5213         its type.
5214
5215 Thu Mar 18 01:24:25 1999  Jeffrey A Law  (law@cygnus.com)
5216
5217         * configure.in: Use "exit 1", not "exit (1)".
5218         * configure: Rebuilt.
5219
5220 Wed Mar 17 23:17:42 1999  Mark Kettenis  <kettenis@gnu.org>
5221
5222         * config/t-gnu (SYSTEM_HEADER_DIR): New variable.  Set to
5223         `/include' in order to find the system's limits.h.
5224
5225 Wed Mar 17 23:00:18 1999  Robert Lipe  <robertlipe@usa.net>
5226
5227         * fixinc/fixincl.c: Include auto-host.h instead of config.h.
5228         * fixinc/procopen.c: Likewise.
5229         * fixinc/regex.c: Likewise.
5230         * fixinc/server.c: Likewise.
5231
5232 Wed Mar 17 22:46:13 1999  Mark Elbrecht  <snowball3@usa.net.
5233
5234         * config/i386/go32.h: Delete.
5235         * config/i386/djgpp.h: New. Renamed from go32.h.
5236         Added -DDJGPP=2 to CPP_PREDEFINES.
5237         * config/i386/go32-rtems.h: Delete.
5238         * config/i386/djgpp-rtems.h: New. Renamed from go32-rtems.h.
5239         Added -DDJGPP=2 to CPP_PREDEFINES.
5240         * config/i386/xm-go32.h: Delete.
5241         * config/i386/xm-djgpp.h: New. Renamed from xm-go32.h.
5242         * config/i386/x-go32: Delete.
5243         * config/i386/x-djgpp: New. Renamed from x-go32.
5244         * config/i386/t-go32: Delete.
5245         * config/i386/t-djgpp: New. Renamed from t-go32.
5246         * configure.in(pc-msdosdjgpp): Set xm_file to i386/xm-djgpp.h.
5247         Set tm_file to i386/djgpp.h. Set tmake_file to i386/t-djgpp.
5248         Set xmake_file to i386/x-djgpp.
5249         (*-go32-msdos, *-go32*): Remove entries.  Warn that GO32/DJGPP V1.X
5250         is now unsupported and *-pc-msdosdjgpp for DJGPP V2.X should be
5251         used instead.
5252         * configure: Rebuilt.
5253
5254         * gcc.c (process_command): Dump link_command_spec too.
5255
5256 Wed Mar 17 20:38:08 1999  Jerry Quinn  <jquinn@nortelnetworks.com>
5257                           Jeff Law  <law@cygnus.com>
5258
5259         * pa.md: Add real PA8000 scheduling information.
5260
5261         * pa.h (processor_type): Add PROCESSOR_8000 symbol.
5262         (ISSUE_RATE): Revamp, including PA8000 support.
5263         * pa.c (override_options): Add 8000 as -mschedule= option.
5264         Do not call strcmp if pa_cpu_string is null.
5265         * pa.md (attr cpu): Add 8000.
5266         * invoke.texi: Add documentation for PA8000 scheduling.
5267
5268 Wed Mar 17 18:20:24 1999  David S. Miller  <davem@redhat.com>
5269
5270         * config/sparc/sparc.h (TARGET_SWITCHES, TARGET_OPTIONS):
5271         Add descriptions.
5272         * config/sparc/sp64-elf.h (SUBTARGET_SWITCHES): Likewise.
5273         * config/sparc/splet.h (SUBTARGET_SWITCHES): Likewise.
5274
5275 Wed Mar 17 14:51:19 1999  Richard Henderson  <rth@cygnus.com>
5276
5277         * flow.c (compute_immediate_dominators): New function.
5278         * basic-block.h (compute_immediate_dominators): Declare it.
5279
5280         * alpha.h (HARD_REGNO_MODE_OK): Allow only 4 and 8 byte unit modes
5281         in FP regs.
5282         (MODES_TIEABLE_P): Define asymmetricly wrt modes illegal in FP regs.
5283
5284 Wed Mar 17 14:41:41 1999  Nick Clifton  <nickc@cygnus.com>
5285
5286         * config/arm/aout.h (ASM_GENERATE_INTERNAL_LABEL): Fix compile
5287         time warning.
5288         * config/arm/arm.md: Fix various compile time warnings.
5289         * config/arm/arm.h: Fix various compile time warnings.  Add
5290         function prototypes.
5291         * config/arm/arm.c: Fix various compile time warnings.
5292         (arm_override_options): Reorganize to separate tuning from
5293         targetting.
5294         (bit_count): New function: Return a count of the number of bits
5295         set in a word.
5296
5297 Wed Mar 17 21:29:12 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
5298
5299         * reload1.c (eliminate_regs): Don't keep REG_DEAD notes around for
5300         things that were eliminated.
5301
5302 Wed Mar 17 12:16:26 1999  Richard Henderson  <rth@cygnus.com>
5303
5304         * function.c (fixup_var_refs_1): First try moving the expression
5305         directly into a register.  Don't separate cc0 setter and user.
5306
5307 Wed Mar 17 11:20:29 1999  Dave Brolley  <brolley@cygnus.com>
5308
5309         * cppfiles.c (PIPE_BUF): #define PIPE_BUF if not defined already.
5310
5311 Wed Mar 17 09:25:06 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5312
5313         * c-lex.c: Don't include setjmp.h.
5314         (parse_float): New static function.
5315         (pf_args): New struct.
5316         (yylex): Use them in call to `do_float_handler'.
5317
5318 1999-03-16  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
5319
5320         * cexp.y (yyerror): Call verror to get a useful error message.
5321         * cexp.c: Rebuilt.
5322
5323         * .gdbinit: Move command to put breakpoint at abort to end of file
5324         so that gdb does not bail out early.
5325
5326 Tue Mar 16 15:30:19 1999  Nick Clifton  <nickc@cygnus.com>
5327
5328         * rtl.h: Rename prototype for free_bb_memory to free_bb_mem.
5329
5330 Tue Mar 16 23:40:09 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
5331
5332         * sh.md (movsi_i): Move t/r alternative after r/rI alternative.
5333
5334 Tue Mar 16 13:44:50 1999  Jim Wilson  <wilson@cygnus.com>
5335
5336         * mn10200/mn10200.md (addsi3, subsi3, ashlsi3, lshrsi3, ashrsi3):
5337         Delete emit_library_call_value declaration.
5338
5339 1999-03-16  Zack Weinberg  <zack@rabi.columbia.edu>
5340
5341         * cppfiles.c (read_and_prescan): Map backslash-newline to '\r'
5342         (which cannot otherwise appear in the processed buffer) and
5343         move it out of tokens that it appears in the middle of.
5344         Improve performance.
5345         (find_position): New function.
5346
5347         * cpplib.c: \r (one character) indicates backslash
5348         newline, not \\\n (two characters).  It cannot appear in the
5349         middle of a token.  Call CPP_BUMP_LINE (pfile) whenever
5350         parsing moves past \n or \r.  Increment pfile->lineno whenever
5351         a \n is placed into token_buffer.  Only one mark can exist at
5352         a time, and CPP_BUMP_LINE must not be used while it is
5353         active.  It is automatically cleared by cpp_pop_buffer and
5354         parse_goto_mark.  \r is not in is_hor_space or is_space.
5355
5356         (NEWLINE_FIX, NEWLINE_FIX1, adjust_position,
5357         update_position, count_newlines, parse_move_mark): Removed.
5358         (parse_string, copy_comment): New functions.
5359         (parse_name): Returns void.
5360         (parse_set_mark, parse_clear_mark, parse_goto_mark): Take only
5361         one argument, a cpp_reader *.  Change for new marking scheme.
5362         (skip_comment): Handle CHILL line comments too.  Second
5363         argument is now first character of comment marker; all callers
5364         changed.  Issue error for unterminated block comment here.
5365         (cpp_skip_hspace): Recognize CHILL comments.
5366         (copy_rest_of_line): Likewise.  Call skip_comment and
5367         parse_string directly, don't go through cpp_get_token.  Emit
5368         "/**/" for block comments if -traditional (create_definition
5369         needs this).
5370         (do_define): Don't play with put_out_comments.
5371         (cpp_push_buffer): Initialize ->mark to -1.
5372         (cpp_buf_line_and_col): Just read out the values in the buffer
5373         structure.
5374         (output_line_command): Use cpp_buf_line_and_col.  Fix
5375         formatting.  Remove stale code.
5376         (cpp_get_token): Break out string parsing code to
5377         parse_string.  Use skip_comment for CHILL comments too.  Use
5378         copy_comment for put_out_comments instead of dinking with
5379         marks.  Remove stale code.  Don't call output_line_command
5380         unless it's necessary.
5381
5382         * cpplib.h (parse_marker): Removed.
5383         (struct cpp_buffer): Line_base is now a unsigned char *; add
5384         `mark' [long], remove `marks' [struct parse_marker *].
5385         (parse_set_mark, parse_clear_mark, parse_goto_mark): Update
5386         prototypes.
5387         (CPP_BUMP_LINE, CPP_BUMP_BUFFER_LINE): New macros.
5388         * cppinit.c (is_hor_space, is_space): '\r' is not considered
5389         whitespace.
5390         * cppexp.c (cpp_parse_expression): Use cpp_skip_hspace, not
5391         SKIP_WHITE_SPACE.
5392         * cpphash.c (macarg): Disable line commands while expanding.
5393
5394 Tue Mar 16 11:30:19 1999  Gavin Romig-Koch  <gavin@cygnus.com>
5395
5396         * c-lex.c (yylex) : Remove warning for integer literals being
5397         larger than the largest target int.  Add warning for integer
5398         literal being larger than than its chosen type.
5399
5400 Tue Mar 16 10:53:17 1999  Gavin Romig-Koch  <gavin@cygnus.com>
5401
5402         * invoke.texi: Add -mlong32 documentation.
5403         * config/mips/mips.h (mips_explicit_type_size_string): New.
5404         (TARGET_SWITCHES): Add 'long32'.
5405         (TARGET_OPTIONS): Add 'explicit-type-size'.
5406         (CC1_SPECS): Set -mexplicit-type-size.
5407         (LONG_MAX_SPEC): Change a use of 'no-long64' to 'long32'.
5408         * config/mips/abi64.h (LONG_MAX_SPEC): Same.  Add 'mabi=32'.
5409         * config/mips/mips.c (mips_explicit_type_size_string): New.
5410         (override_options): Use it.
5411         * config/mips/osfrose.h (CC1_SPECS): Set -mexplicit-type-size.
5412
5413         * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC):
5414         Pointer size now depends on both size longs and size of GP
5415         registers.
5416
5417 Tue Mar 16 10:22:22 1999  Gavin Romig-Koch  <gavin@cygnus.com>
5418
5419         * config/mips/iris.h (CTORS_SECTION_ASM_OP,DTORS_SECTION_ASM_OP,
5420         dtors_section): Use Pmode == DImode rather than TARGET_LONG64.
5421         * config/mips/mips.c (override_options): Allow -mlong64 and
5422         -mint64 with -mips2 or less.
5423         * config/mips/mips.h (MASK_LONG64): Fix comment.
5424         (POINTER_SIZE): Use Pmode == DImode rather than TARGET_LONG64.
5425         (Pmode): Make Pmode the smaller of longs or gp registers.
5426         * invoke.texi: Note the new size for pointers.
5427
5428 Mon Mar 15 22:45:25 1999  David Edelsohn  <edelsohn@gnu.org>
5429
5430         * rs6000.h (ASM_OUTPUT_{DOUBLE,FLOAT}): Always generate IEEE 754
5431         bit-pattern directly.
5432         (ASM_OUTPUT_REG_{PUSH,POP}): Delete.
5433         * rs6000.c (first_reg_to_save): If profiling and context needed,
5434         allocate a reg to save static chain for all ABIs.  For AIX
5435         profiling, calculate parameter registers to save based on need.
5436         (output_function_profiler): Save and restore static chain around
5437         profile call for all ABIs.
5438
5439 1999-03-15  Zack Weinberg  <zack@rabi.columbia.edu>
5440
5441         * cppinit.c: Instead of one pending list, keep separate lists
5442         for each category of pending option: -D/-U, -A, -include,
5443         -imacros.  Move the four partial include-path lists into the
5444         pending block.  Use head and tail pointers so we don't ever
5445         have to reverse the lists.
5446
5447         (cpp_start_read): Break out blocks of code to their own
5448         functions: install_predefs and initialize_dependency_output.
5449         Use path_include for C_INCLUDE_PATH and friends as well as
5450         CPATH.  Remove include_defaults gunk.  Warn about the
5451         combination of -lang-chill and -trigraphs.  Optimize string
5452         bashing.  Walk each pending list once, deallocating as we go.
5453
5454         (append_include_chain): Brought over from cppfiles.c.  Mark
5455         dirs as system include dirs if and only if appending to
5456         system include path. If opts->verbose, print a notice when a
5457         dir is dropped from the include path because it doesn't
5458         exist.  Fix memory leak: this function is not supposed to copy
5459         its DIR argument.
5460
5461         (nreverse_pending, push_pending): Removed.
5462         (APPEND): New macro for adding to pending lists.
5463         (path_include): Can now add to any partial include path.
5464         (base_name): Bring over from cccp.c.
5465         (cpp_options_init): Allocate the pending block.
5466         (cpp_handle_option): Add --version.  Exit after --help.  Fix
5467         formatting.  Order -ifoo options by frequency of usage.
5468         (install_predefs): New function, simplified version of code
5469         that was in cpp_start_read.
5470         (initialize_dependency_output): Likewise.  Understand OBJECT_SUFFIX.
5471
5472         * cppfiles.c (simplify_pathname): Export.
5473         (merge_include_chains): Don't nreverse the lists.  If
5474         opts->verbose, print a notice when a duplicate dir is detected
5475         and dropped from the include path.
5476         (finclude): Fix excessive cleverness in setting
5477         fp->system_header_p.
5478         (actual_directory): Set x->sysp from
5479         CPP_BUFFER (pfile)->system_header_p so that one system header
5480         may include another with "".
5481         (deps_output): Fix double adjustment of deps_size which would
5482         cause all dependencies after the first two lines to be lost.
5483
5484         * cpplib.c (cpp_unassert): New function.
5485         * cpplib.h: Lay out struct cpp_pending here.  Adjust
5486         prototypes.  Add include_prefix_len to struct cpp_options.
5487
5488 Mon Mar 15 16:01:52 1999  Jim Wilson  <wilson@cygnus.com>
5489
5490         * config/misp/mips.h (REGISTER_MOVE_COST): Make the cost of moving
5491         from HI/LO/HILO/MD into general registers the same as for one
5492         of moving general registers to HI/LO/HILO/MD.
5493
5494 Mon Mar 15 12:39:38 1999  Nick Clifton  <nickc@cygnus.com>
5495
5496         * config/m32r/m32r.c (init_idents): New function.  Initialize
5497         static tree nodes for m32r specific attribute identifiers.  Remove
5498         leading and trailing double underscores from the attribute names.
5499         (m32r_valid_machine_decl_attribute): Call init_idents.
5500         (m32r_encode_section_info): Call init_idents.
5501
5502 Mon Mar 15 10:20:20 1999  Mark Mitchell  <mark@markmitchell.com>
5503
5504         * reload.c (find_reloads): Add a REG_LABEL note if we substitute a
5505         LABEL_REF for something else.
5506
5507 Mon Mar 15 08:24:17 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5508
5509         * fold-const.c (exact_real_inverse): Move variable `float_error'
5510         into the scope where it is used.
5511         (const_binop_1): New static function.
5512         (cb_args): New struct.
5513         (const_binop): Use them in call to `do_float_handler'.
5514         (fold_convert_1): New static function.
5515         (fc_args): New struct.
5516         (fold_convert): Use them in call to `do_float_handler'.
5517
5518 Mon Mar 15 22:50:18 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5519
5520         * rtlanal.c (auto_inc_p): New function.
5521         * rtl.h (auto_inc_p): Prototype it.
5522         * reload1.c (add_auto_inc_notes): New function.
5523         (reload): Strip REG_INC notes and call add_auto_inc_notes
5524         for each insn to restore them correctly.
5525
5526 1999-03-15  Manfred Hollstein  <manfred@s-direktnet.de>
5527
5528         * fixinc/Makefile.in (procopen.o): List the actual
5529         dependencies.
5530
5531 Sun Mar 14 16:22:10 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5532
5533         * cse.c (check_fold_consts): New static function.
5534         (cfc_args): New struct.
5535         (simplify_relational_operation): Use them in call to
5536         `do_float_handler'.
5537
5538         * toplev.c (do_float_handler): New function to wrap calls to
5539         setjmp/set_float_handler.
5540
5541         * toplev.h (do_float_handler): Add extern prototype.
5542
5543         * tree.c (build_real_from_int_cst_1): New static function.
5544         (brfic_args): New struct.
5545         (build_real_from_int_cst): Use them in call to
5546         `do_float_handler'.
5547
5548 Sun Mar 14 01:15:06 1999  Jeff Law  (law@cygnus.com)
5549
5550         * version.c: Bump for snapshot.
5551
5552 Sat Mar 13 17:37:18 1999  Richard Henderson  <rth@cygnus.com>
5553
5554         * haifa-sched.c (sched_analyze_1): Only clear reg_last_uses on a SET.
5555
5556 Sat Mar 13 11:36:16 1999  Richard Earnshaw  (rearnsha@arm.com)
5557
5558         * arm.c (arm_split_constant): Don't try to force a constant to
5559         memory after arm_reorg has run.
5560         (after_arm_reorg): New static variable.
5561         (arm_reorg): Set it.
5562         (output_func_epilogue): Clear it.
5563
5564 Fri Mar 12 20:26:32 1999  David Edelsohn  <edelsohn@gnu.org>
5565
5566         * configure.in ({rs6000,powerpc}-ibm-aix*): Set float_format to none.
5567         * configure: Rebuilt.
5568
5569 Fri Mar 12 20:45:30 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
5570
5571         * unroll.c (loop_iterations): Don't return a final value for EQ
5572         comparison loops.
5573
5574 Fri Mar 12 12:35:01 1999  Jim Wilson  <wilson@cygnus.com>
5575
5576         * reload1.c (calculate_needs_all_insns): When ignore equivalence
5577         setting insn, clear need_elim, need_reload, and need_operand_change.
5578
5579 Fri Mar 12 07:54:43 1999  Bruce Korb  <korb@datadesign.com>
5580
5581         * fixinc/fixinc.*: Some changes from the fixincl-branch
5582         were not applied (??!!).  Corrected.
5583
5584         * fixinc/Makefile.in: Same thing.
5585
5586 Fri Mar 12 00:51:43 1999  Jeffrey A Law  (law@cygnus.com)
5587
5588         * expr.c (expand_expr): Allow a CALL_EXPR with a mode wider than
5589         MAX_INTEGER_COMPUTATION_MODE.
5590
5591 Thu Mar 11 14:00:58 1999  Richard Henderson  <rth@cygnus.com>
5592
5593         * alpha.h (HARD_REGNO_MODE_OK): Disallow QI/HImode in fp regs.
5594         (MODES_TIEABLE_P): Update.
5595
5596         * alpha.md (ev5_e0): Conflict loads and stores.
5597
5598 Thu Mar 11 13:55:52 1999  Richard Henderson  <rth@cygnus.com>
5599
5600         * machmode.h (smallest_mode_for_size): Prototype.
5601         * stor-layout.c (smallest_mode_for_size): Remove static.
5602
5603 Thu Mar 11 21:25:59 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
5604
5605         * loop.c (strength_reduce): Don't do biv increment -> DEST_REG giv
5606         conversion if we don't know the lifetime.
5607
5608 Thu Mar 11 20:37:59 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
5609
5610         * reload.1c (delete_address_reloads_1): Check for reloads of
5611         CURRENT_INSN even if it sets DST.
5612
5613 Thu Mar 11 10:29:50 1999  Jason Merrill  <jason@yorick.cygnus.com>
5614
5615         * dwarf2out.c (add_AT_lbl_offset): Rename from add_AT_section_offset.
5616         (print_die, size_of_die, value_format, output_die): Adjust.
5617
5618 Thu Mar 11 10:27:42 1999  Robert Lipe  <robertlipe@usa.net>
5619
5620         * dwarf2out.c (TEXT_SECTION_LABEL, DEBUG_LINE_SECTION_LABEL,
5621         DEBUG_INFO_SECTION_LABEL, ABBREV_SECTION_LABEL,
5622         text_section_label, debug_line_section_label,
5623         debug_info_section_label, abbrev_section_label): New.
5624         (output_compilation_unit_header): Emit label associated
5625         with section instead of section name itself.
5626         (out_pubnames, output_aranges, output_line_info,
5627         dwarf2out_finish): Likewise.
5628         (dwarf2out_init): Build internal label names for sections
5629         from static labels.
5630
5631 Thu Mar 11 17:28:32 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
5632
5633         * sh.md (mulsi3): End mul.l sequence with a no-op move.
5634
5635 Thu Mar 11 08:52:02 1999  Bruce Korb  <korb@datadesign.com>
5636
5637         * Makefile.in: Activated fixinc/mkfixinc.sh.
5638         * configure.in: Activated fixinc/mkfixinc.sh.
5639
5640 Thu Mar 11 01:38:02 1999  Mumit Khan  <khan@xraylith.wisc.edu>
5641
5642         * cppfiles.c (INO_T_EQ): Handle UWIN.
5643
5644         * c-common.c (decl_attributes): Flag unrecognized attribute
5645         functions as warnings instead of as errors.
5646
5647         Support for i386-pc-uwin.
5648         * i386/uwin.h: New file.
5649         * i386/xm-uwin.h: New file.
5650         * i386/t-uwin: New file.
5651         * i386/uwin.asm: New file.
5652         * configure.in (i[3456]86-*-uwin*): Define.
5653         Add Workaround for vfork bug when hosted on uwin.
5654         * configure: Regenerate.
5655
5656         * cccp.c (INO_T_EQ): Undefine. UWIN has inodes.
5657         (absolute_filename): UWIN uses POSIX pathnames only.
5658         * libgcc2.c (getpagesize): Do not define for UWIN.
5659         (mprotect): Likewise.
5660         * protoize.c (dirent.h): Conditionally include.
5661         (fputc): Prototype only if it's not a macro.
5662
5663 Wed Mar 10 02:49:04 1999  Jason Merrill  <jason@yorick.cygnus.com>
5664
5665         * configure.in: Remove init_priority stuff.
5666
5667 1999-03-11  Colin Smith  <colin@wrs.com>
5668
5669         * sdbout.c (plain_type_1): Make boolean types work better with sdb.
5670
5671 Thu Mar 11 00:20:52 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
5672
5673         * gcc.texi: Update bug reporting instructions to match
5674         current ezmlm list reality.
5675
5676 Wed Mar 10 23:11:19 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5677
5678         * gcc.c (print_file_name, print_prog_name, spec_machine,
5679         read_specs, set_spec, lookup_compiler, build_search_list,
5680         putenv_from_prefixes, find_a_file, record_temp_file,
5681         delete_if_ordinary, handle_braces, do_spec, do_spec_1, find_file,
5682         is_directory, validate_switches, used_arg, default_arg,
5683         pfatal_with_name, perror_with_name, pfatal_pexecute, fatal, error,
5684         notice, add_preprocessor_option, add_assembler_option,
5685         add_linker_option, process_command, execute,
5686         unused_prefix_warnings, clear_args, fatal_error,
5687         lang_specific_driver, user_specs, compiler, link_command_spec,
5688         option_map, translate_options, make_temp_file, temp_name,
5689         programname, path_prefix, machine_suffix, just_machine_suffix,
5690         gcc_exec_prefix, standard_exec_prefix, standard_exec_prefix_1,
5691         md_exec_prefix, md_startfile_prefix, md_startfile_prefix_1,
5692         standard_startfile_prefix, standard_startfile_prefix_1,
5693         standard_startfile_prefix_2, tooldir_base_prefix, tooldir_prefix,
5694         multilib_dir, temp_filename, temp_file, command, switchstr,
5695         infile, outfiles, input_filename, input_basename, input_suffix,
5696         check_live_switch, main): Qualify a char* with the `const' keyword.
5697
5698 Wed Mar 10 20:28:29 1999  Jeffrey A Law  (law@cygnus.com)
5699
5700         * lcm.c: New file.
5701         * Makefile.in (OBJS): Add lcm.o.
5702         (lcm.o): Add dependencies.
5703
5704         * gcse.c (compute_pre_local_properties): Delete.
5705         (compute_pre_data): Use compute_local_properties instead of
5706         compute_pre_local_properties.
5707
5708         * gcse.c: More comments, whitespace and similar fixes.
5709         (dump_cuid_table, maybe_set_rd_gen, dump_cprop_data): Delete.
5710         (dump_pre_data, compute_cprop_local_properties): Likewise.
5711         (one_classic_gcse_pass): Lose unused argument.  All callers changed.
5712         (compute_hash_table, compute_expr_hash_table): Likewise.
5713         (compute_set_hash_table, one_pre_gcse_pass, mark_call): Likewise.
5714         (cprop_insn, cprop, one_cprop_pass): Add new argument ALTER_JUMPS.
5715         All callers changed.  Only alter jumps if ALTER_JUMPS is nonzero.
5716         Lose unused argument.
5717         (gcse_main): Always run a cprop pass after finishing global cse.
5718         (compute_local_properties): New function.
5719         (hash_scan_pat, hash_scan_insn): No longer call maybe_set_rd_gen.
5720         (compute_cprop_data): Use compute_local_properties.
5721
5722         * gcse.c: Update various comments.
5723         (current_function_calls_longjmp): Delete declaration.
5724
5725         * gcse.c (run_jump_opt_after_gcse): New variable.
5726         (gcse_main): Returns an integer.
5727         (hash_scan_set): Record initializations from CONST_DOUBLEs too.
5728         (try_replace_reg): Update some comments.
5729         (cprop_insn): Allow propagation into some JUMP_INSNs too.
5730         * rtl.h (gcse_main): Update prototype.
5731         * toplev.c (rest_of_compilation): If gcse_main returns nonzero,
5732         then run a jump optimization pass.
5733         * jump.c (delete_barrier_successors): Delete nop jumps too.
5734
5735 Wed Mar 10 19:04:31 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
5736
5737         * sh.c (fp_arith_reg_operand): Actually test if reg is suitable
5738         for FP arithmetic.  Changed caller.
5739         * sh.md (subsf3, subsf_i): Use fp_arith_reg_operand.
5740
5741 Wed Mar 10 18:56:31 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
5742
5743         * reload1.c (choose_reload_regs): When inheriting from the frame
5744         pointer, don't clobber it.
5745
5746 Wed Mar 10 08:01:52 1999  Bruce Korb  <korb@datadesign.com>
5747
5748         * fixinc/fixinc.*: Resync-ed with the files in this
5749         directory.
5750
5751         * fixinc/mkfixinc.sh: The machine case elements were
5752         out-of-order.  (the ix86-*-linux-gnu* entry needed to
5753         be earlier).
5754
5755 Wed Mar 10 00:01:24 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
5756
5757         * reload1.c (reload_combine_note_store): Fix calculation of number
5758         of affected registers.
5759
5760 Tue Mar  9 15:48:15 1999  Richard Henderson  <rth@cygnus.com>
5761
5762         * flow.c (tidy_fallthru_edge): Be more careful finding the last
5763         BARRIER of a list.  Delete the cc0 setter as well as a cond jump.
5764
5765 Tue Mar  9 15:26:02 1999  Hans-Peter Nilsson  <hp@bitrange.com>
5766
5767         * i386.md (ashlsi3 splitter): Fix typo in last change.
5768
5769 Tue Mar  9 11:35:20 1999  Richard Henderson  <rth@cygnus.com>
5770
5771         * reg-stack.c (stack_reg_life_analysis): Use returnjump_p
5772         instead of an explicit test for RETURN.
5773
5774 Tue Mar  9 09:33:16 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5775
5776         * Makefile.in (toplev.o): Depend on $(BASIC_BLOCK_H).
5777
5778         * toplev.c: Include basic-block.h.
5779
5780 Tue Mar  9 02:08:17 1999  Jeffrey A Law  (law@cygnus.com)
5781
5782         * calls.c (load_register_parameters): New function.
5783         (expand_call): Use it.
5784
5785         * calls.c (expand_call): Slightly reorganize code.
5786
5787         * calls.c (compute_argument_addresses): New function.
5788         (rtx_for_function_call): New function.
5789         (expand_call): Use them.
5790
5791         * i386.md (zero_extendhisi2): Split into an expander and anonymous
5792         pattern.  Add new anonymous pattern for use when optimizing for
5793         size or for the PPro.
5794         (zero_extendqihi2, zero_extendqisi2): Likewise.
5795
5796 Mon Mar  8 23:43:47 1999  Richard Henderson  <rth@cygnus.com>
5797
5798         * haifa-sched.c (sched_analyze_1): Fix last change -- add clobber
5799         dependencies to sets in the non-hard-reg case too.
5800
5801 Mon Mar  8 18:55:21 1999  Marc Espie  <espie@cvs.openbsd.org>
5802
5803         * config/openbsd.h (HANDLE_SYSV_PRAGMA): Define.
5804
5805 Mon Mar  8 16:04:44 1999  Jim Wilson  <wilson@cygnus.com>
5806
5807         * local-alloc.c (combine_regs): Don't combine if we have a hard reg
5808         for which CLASS_LIKELY_SPILLED_P is true.
5809
5810         * unroll.c (loop_iterations): Only call loop_find_equiv_value if we
5811         have a REG or SUBREG.
5812
5813 Mon Mar  8 15:27:42 1999  Jeffrey A Law  (law@cygnus.com)
5814
5815         * i386.md (ashlsi3): Revise comments.  Provide new anonymous
5816         pattern for Pentium and PPro/PII.  Reverse constraints in
5817         generic ashlsi3 anonymous pattern.
5818
5819         * calls.c (initialize_argument_info): Accept a pointer to
5820         CUMULATIVE_ARGS.
5821         (expand_call): Pass the address of CUMULATIVE_ARGS.
5822
5823         * rs6000/xm-sysv4.h (HOST_BITS_PER_LONGLONG): Remove #if 0.
5824
5825         * mn10300.h (CASE_DROPS_THROUGH): Delete.
5826         * mn10200.h (CASE_DROPS_THROUGH): Delete.
5827         * h8300.h (CASE_DROPS_THROUGH): Delete.
5828
5829         * flow.c (merge_blocks_nomove): For HAVE_cc0 targets, make sure
5830         to also delete the cc0 setter when deleting a conditional branch
5831         to the next block.
5832
5833 Mon Mar  8 18:47:11 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
5834
5835         * regmove.c (copy_src_to_dest): New argument max_old_uid.
5836
5837 Mon Mar  8 08:23:00 1999  Bruce Korb  <korb@datadesign.com>
5838
5839         * ChangeLog: Merged entries from fixincl-branch.
5840
5841 Sun Mar  7 11:48:56 1999  Richard Henderson  <rth@cygnus.com>
5842
5843         * haifa-sched.c (ENCODE_BLOCKAGE): Don't shift unit too far.
5844         (print_exp): Special case addition of a constant.
5845         (print_value) [CONST_INT]: Use HOST_WIDE_INT_PRINT_HEX.
5846
5847 Sun Mar  7 11:21:02 1999  Richard Henderson  <rth@cygnus.com>
5848
5849         * haifa-sched.c (reg_last_clobbers): New.
5850         (reg_pending_clobbers, bb_reg_last_clobbers): New.
5851         (compute_block_backward_dependences): Allocate memory for them.
5852         (schedule_region): Likewise.
5853         (sched_analyze_1): Clobbers don't interfere with one another.
5854         They do interfere with sets ...
5855         (sched_analyze_2): ... and uses.
5856         (sched_analyze): Likewise.
5857         (sched_analyze_insn): Update reg_last_clobbers appropriately.
5858
5859 Sun Mar  7 08:30:37 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5860
5861         * gmon-sol2.c: Include config.h and system.h.  Don't redundantly
5862         include system header files.
5863         (sccsid): Remove.
5864         (moncontrol, monstartup, _mcleanup, internal_mcount): Prototype.
5865         (_mcleanup): Add the `const' keyword to a char*.
5866         (internal_mcount): Declare `etext' as a char[] not a function.
5867         Cast `etext' to char* when calling `monstartup'.
5868
5869         * sparc.c (frame_base_name, save_regs, restore_regs,
5870         build_big_number, sparc_cmodel_string, sparc_align_loops_string,
5871         sparc_align_jumps_string, sparc_align_funcs_string, code_model,
5872         cpu_default, cpu_table, output_function_prologue,
5873         output_function_epilogue, output_return,
5874         sparc_flat_output_function_prologue, ultra_code_names,
5875         sparc_flat_output_function_epilogue): Constify a char*.
5876         (hypersparc_adjust_cost): Add a default case in a switch.
5877
5878         * sparc.h (sparc_cmodel_string, OVERRIDE_OPTIONS,
5879         sparc_cpu_select, sparc_align_loops_string,
5880         sparc_align_jumps_string, sparc_align_funcs_string,
5881         output_return): Constify a char*.
5882
5883         * sparc.md (movdi): Change the comparison of HOST_BITS_PER_WIDE_INT
5884         so that we check "== 32", instead of "!= 64".  Cast a value to
5885         HOST_WIDE_INT when comparing against one.  Hide the declaration
5886         for variable `chain'.
5887
5888 Sun Mar  7 08:05:27 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5889
5890         * system.h (const, inline): Move the stage2 handling of these
5891         keywords-as-macros from here...
5892
5893         * gansidecl.h (const, inline): ...to here.
5894
5895 Sun Mar  7 02:44:15 1999  Richard Henderson  <rth@cygnus.com>
5896
5897         * recog.c (push_operand, pop_operand): VOIDmode needn't match modes.
5898
5899 Sun Mar  7 01:58:47 1999  Richard Henderson  <rth@cygnus.com>
5900
5901         * cse.c (canon_hash): Never reject hard regs in CCmode.
5902
5903 Sun Mar  7 01:15:04 1999  Jeff Law  (law@cygnus.com)
5904
5905         * version.c: Bump for snapshot.
5906
5907 Sat Mar  6 17:18:44 1999  Richard Earnshaw  (rearnsha@arm.com)
5908                           Richard Henderson  <rth@cygnus.com>
5909
5910         * flow.c (make_edges): Handle casesi that jump to default branch.
5911         If CASE_DROPS_THROUGH, force fallthru to block after casesi.
5912
5913 Sat Mar  6 07:49:23 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5914
5915         * c-aux-info.c (data_type, affix_data_type, gen_decl,
5916         gen_formal_list_for_type, gen_formal_list_for_func_def, gen_type):
5917         Qualify a char* with the `const' keyword.
5918
5919         * c-common.c (declare_hidden_char_array, add_attribute, if_elt,
5920         declare_function_name, decl_attributes, format_char_info,
5921         check_format_info, binary_op_error): Likewise.
5922
5923         * cexp.y (yyerror, error, pedwarn, warning, token): Likewise.
5924
5925         * gcse.c (dump_hash_table): Likewise.
5926
5927         * integrate.c (function_cannot_inline_p): Likewise.
5928
5929         * optabs.c: Include insn-config.h earlier.
5930         (init_libfuncs, init_integral_libfuncs, init_floating_libfuncs):
5931         Qualify a char* with the `const' keyword.
5932
5933         * real.c (asctoe24, asctoe53, asctoe64, asctoe113, asctoe,
5934         asctoeg, mtherr, ereal_atof): Likewise.
5935
5936         * real.h (ereal_atof): Likewise.
5937
5938         * sbitmap.c (dump_sbitmap_vector): Likewise.
5939
5940         * sbitmap.h (dump_sbitmap_vector): Likewise.
5941
5942         * stmt.c (nesting, n_occurrences, expand_start_case): Likewise.
5943
5944         * toplev.c (rest_of_compilation): Likewise.
5945
5946         * tree.h (function_cannot_inline_p, expand_start_case): Likewise.
5947
5948 Fri Mar  5 23:16:42 1999  David Edelsohn  <edelsohn@gnu.org>
5949
5950         * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Add 64-bit support and do
5951         not overwrite AIX link register save area.
5952
5953 Fri Mar  5 23:08:01 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
5954
5955         * reload.c (find_reloads_subreg_address): Actually create the USE
5956         for the register, not the new memory location.
5957
5958 Fri Mar  5 21:41:07 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
5959
5960         * reload1.c (emit_reload_insns): If pseudo that can't be replaced
5961         with its equivalent constant, fall back to reload_in.
5962
5963 Fri Mar  5 13:20:39 1999  Richard Henderson  <rth@cygnus.com>
5964
5965         * Makefile.in: Delete .flow2 debugging files.
5966
5967 Fri Mar  5 11:36:11 1999  Nick Clifton  <nickc@cygnus.com>
5968
5969         * config/arm/arm.c (arm_override_options): Change default target
5970         cpu selection so that enabling TARGET_APCS_32 does not override
5971         default target CPU.
5972
5973 Fri Mar  5 19:26:23 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
5974
5975         * sh.h (SLOW_BYTE_ACCESS): Define to 1.
5976         (BOOL_TYPE_SIZE): Define.
5977
5978 Fri Mar  5 02:14:54 1999  John Wehle  (john@feith.com)
5979
5980         * function.c (assign_stack_temp_for_type): Abort
5981         if mode == Blkmode and align is less than
5982         BIGGEST_ALIGNMENT / BITS_PER_UNIT.
5983         (assign_stack_temp_for_type): Round the size parameter
5984         passed to assign_stack_local instead of size itself.
5985
5986 Thu Mar  4 15:00:35 1999  Richard Henderson  <rth@cygnus.com>
5987
5988         * flow.c (delete_unreachable_blocks): Mark blocks as they
5989         are put on to the worklist, not as they are taken off.
5990
5991 Thu Mar  4 00:05:44 1999  Jeffrey A Law  (law@cygnus.com)
5992
5993         * function.c (current_function_has_computed_jump): Remove duplicate
5994         definition.
5995
5996 Wed Mar  3 19:09:11 1999  Jim Wilson  <wilson@cygnus.com>
5997
5998         * m68k/m68020-elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Undef.
5999         (STARTFILE_SPEC, ENDFILE_SPEC): Define to empty string.
6000
6001         * sparc/elf.h (MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL,
6002         MODDI3_LIBCALL, UMODDI3_LIBCALL, STDC_0_IN_SYSTEM_HEADERS): Undef.
6003         (INIT_SUBTARGET_OPTABS): Define to empty.
6004
6005 Wed Mar  3 00:00:37 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
6006
6007         * sh.c (force_into): New function.
6008         (expand_block_move): Use it.
6009
6010 Tue Mar  2 10:39:43 1999  Nick Clifton  <nickc@cygnus.com>
6011
6012         * cccp.c (struct default_include): Add 'included' field.
6013         (main): Set 'included' field when a default include directory
6014         is added to the chain.  If -v is specified list all default
6015         include directories which do not get appended to the chain.
6016
6017 Tue Mar  2 09:24:10 1999  Nick Clifton  <nickc@cygnus.com>
6018
6019         * configure.in (gxx_include_dir): Rename to
6020         gcc_gxx_include_dir in order to prevent it being overridden by
6021         a top level Makefile.
6022         (gcc_tooldir): If $exec_prefix != $prefix then use the
6023         difference between the two as the basis for gcc_tooldir.
6024
6025         * configure: Rebuild.
6026
6027         * Makefile.in: Rename gxx_include_dir to gcc_gxx_include_dir.
6028
6029 Tue Mar  2 16:45:31 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
6030
6031         * unroll.c (copy_loop_body): Don't make extra copies of
6032         NOTE_INSN_LOOP_CONT notes.
6033
6034 Tue Mar  2 07:44:56 1999  Mark Mitchell  <mark@markmitchell.com>
6035
6036         * tree.c (save_tree_status): Don't treat functions with no context
6037         as nested.
6038
6039 Tue Mar  2 09:37:05 1999  Robert Lipe  <robertlipe@usa.net>
6040
6041         * Makefile.in (MAKEINFO): Use makeinfo built from sibling
6042         tree when available.
6043
6044 Tue Mar  2 10:12:48 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6045
6046         * alpha.c (alpha_cpu_name, alpha_cpu_string, alpha_tp_string,
6047         alpha_fprm_string, alpha_fptm_string, alpha_mlat_string,
6048         current_function_file): Add the `const' keyword.
6049         (normal_memory_operand): Mark parameter `mode' with
6050         ATTRIBUTE_UNUSED.
6051         (alpha_expand_unaligned_load): Add a default case to a switch.
6052
6053         * alpha.h (alpha_cpu_string, alpha_fprm_string, alpha_fptm_string,
6054         alpha_tp_string, alpha_mlat_string): Add the `const' keyword.
6055         (normal_memory_operand): Add prototype.
6056
6057         * alpha.md: Cast an expression to `unsigned HOST_WIDE_INT' when
6058         comparing against one.
6059
6060 Tue Mar  2 10:00:21 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6061
6062         * mips.c (abort_with_insn): Make function static, add a prototype,
6063         constify 2nd parameter and mark with ATTRIBUTE_NORETURN.
6064         (current_function_file, mips_cpu_string, mips_isa_string,
6065         mips_abi_string, mips_no_mips16_string, mips_entry_string,
6066         mips_move_1word, mips_move_2words, output_block_move, load_store,
6067         override_options, make_temp_file, mips16_fp_args): Qualify a char*
6068         with the `const' keyword.
6069
6070         * mips.h (current_function_file, mips_cpu_string, mips_isa_string,
6071         mips_abi_string, mips_entry_string, mips_no_mips16_string,
6072         mips_move_1word, mips_move_2words, output_block_move): Likewise.
6073         (abort_with_insn): Remove extern prototype.
6074
6075         * mips.md: Qualify a char* with the `const' keyword.
6076         Remove many unused variables named `label'.
6077
6078 Tue Mar  2 01:27:52 1999  H.J. Lu  (hjl@gnu.org)
6079
6080         * Makefile.in (cpp_install_dir, INSTALL_CPP, UNINSTALL_CPP): New
6081         variables.
6082         (install-cpp, uninstall-cpp): New targets.
6083         (install-normal): Depend on $(INSTALL_CPP).
6084         (uninstall): Depend on $(UNINSTALL_CPP).
6085         * configure.in (cpp_install_dir): New, substitute.
6086         (tmake_file): Added t-install-cpp for --enable-cpp.
6087         * configure: Rebuilt.
6088         * cpp.sh: New cpp script.
6089         * config/t-install-cpp: New target fragment.
6090
6091 Tue Mar  2 01:40:01 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6092                           Jeffrey A Law  (law@cygnus.com)
6093
6094         * cse.c (fold_rtx): Update comments for (const (minus (label) (label)))
6095         case.
6096         (cse_insn): Avoid creating a bogus REG_EQUAL note for
6097         (const (minus (label) (label)))
6098         (record_jump_cond): Fix mismatched paren in comment.
6099
6100 Tue Mar  2 01:07:12 1999  Dan Nicolaescu  <dann@godzilla.ics.uci.edu>
6101
6102         * final.c (end_final): There are 11 words in the "main header"
6103         structure, not 10.
6104
6105 Tue Mar  2 00:09:18 1999  Marc Espie  <espie@cvs.openbsd.org>
6106
6107         * extend.texi: Reference __extension__ in the index.
6108
6109 Mon Mar  1 19:09:32 1999  Jim Wilson  <wilson@cygnus.com>
6110
6111         * Makefile.in (CROSS_FLOAT_H): Delete.
6112         (FLOAT_H): Use float_h_file.
6113         (rest.cross, stmp-int-hdrs): Delete gfloat.h dependency.
6114         (gfloat.h): Delete.
6115         (stmp-int-hdrs): Use FLOAT_H instead of gfloat.h.
6116         (mostlyclean): Delete gloat.h reference.
6117         (install-cross-rest, install-float-h-cross, stmp-headers): Update
6118         comments.
6119         * configure.in (sparcv9-*-solaris2*): Set float_format to none.
6120         (sparc-*-solaris2*): Set float_format to none for 2.5 and higher.
6121         (float_h_file): Set from float_format.  Substitute into Makefile.in.
6122         (float_format): No longer substitute into Makefile.in.
6123         * cross-make (FLOAT_H): Delete.
6124         * config/mips/t-cross64 (FLOAT_H): Delete.
6125         * configure: Rebuilt.
6126
6127 Mon Mar  1 16:36:18 1999  Jeffrey A Law  (law@cygnus.com)
6128
6129         * mips.md (div_trap_normal, div_trap_mips16): Require the dependent
6130         insn to be an INSN before looking at its pattern.
6131
6132 Mon Mar  1 15:03:51 1999  Jim Wilson  <wilson@cygnus.com>
6133
6134         * config/m68k/lb1sf68.asm (udivsi3): Change jmi to jcs.  Fix comments.
6135         * config/m68k/m68k.h (LEGITIMATE_INDEX_REG_P): Reject SIGN_EXTEND of
6136         HImode reg when TARGET_5200.
6137
6138 Mon Mar  1 21:44:30 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
6139
6140         From Toshiyasu Morita:
6141         * sh.h (CACHE_LOG): SH2 has cache, too.
6142
6143 Mon Mar  1 14:23:36 1999  Catherine Moore  <clm@cygnus.com>
6144
6145         * toplev.c (compile_file): Disable -ffunction-sections and
6146         debugging warning if the object format is elf.
6147
6148 Mon Mar  1 11:46:25 1999  Vladimir N. Makarov  <vmakarov@cygnus.com>
6149
6150         * config/h8300/h8300.c (print_operand): Use 16 bit addressing
6151         when the data in 8-bit area and can not be addressed by 8-bit.
6152
6153 Sun Feb 28 16:40:00 1999  Richard Henderson  <rth@cygnus.com>
6154
6155         * flow.c (create_basic_block): Disregard integrated bb notes.
6156
6157 Sun Feb 28 15:57:06 1999  Richard Henderson  <rth@cygnus.com>
6158
6159         * sparc.md (blockage, nonlocal_goto_receiver): Set length to 0.
6160
6161 Sun Feb 28 14:47:53 1999  Arturo Montes  <mitosys@colomsat.com.co>
6162
6163         * config/i386/t-sco5gas (crti.o): New target.
6164
6165 Sun Feb 28 15:10:17 1999  David Edelsohn  <edelsohn@gnu.org>
6166
6167         * rs6000.md (elf_high, movsi_got, *movsi_got_internal,
6168         *movsi_got_internal_mem, GOT splitter, movdf_hardfloat32,
6169         movdf_softfloat32, movdf_hardfloat64, movdf_softfloat64,
6170         load_multiple, allocate_stack, call_indirect_aix32,
6171         call_indirect_aix64, call_value_indirect_aix32,
6172         call_value_indirect_aix64, call_indirect_nt,
6173         call_value_indirect_nt): Use gpc_reg_operand instead of
6174         register_operand.
6175
6176 Sun Feb 28 15:10:17 1999  Michael Meissner  <meissner@cygnus.com>
6177
6178         * rs6000.md (one_cmplsi2, andsi3, iorsi3, xorsi3, *eqvsi3,
6179         *andcsi3, *iorcsi3, *nandsi3, *norsi3): Add alternatives to use CR
6180         other than cr0.
6181         * rs6000.c (and{,64}_operand): If the user did -ffixed-cr0, don't
6182         allow andi. or andis. which always set cr0.
6183
6184 Sun Feb 28 01:15:04 1999  Jeff Law  (law@cygnus.com)
6185
6186         * version.c: Bump for snapshot.
6187
6188 Sun Feb 28 02:00:38 1999  Jeffrey A Law  (law@cygnus.com)
6189
6190         * invoke.texi: Update information for PA scheduling.
6191
6192 Sat Feb 27 23:21:47 1999  Jerry Quinn  <jquinn@nortelnetworks.com>
6193                           Mike Stump  <mrs@wrs.com>
6194
6195         * pa.c (override_options): Change default to 7100LC.
6196
6197         * pa.h (REG_ALLOC_ORDER): Change order to allocate left half of
6198         float regs before right half of float regs.
6199
6200 Sat Feb 27 22:48:38 1999  H.J. Lu  (hjl@gnu.org)
6201                           Jeffrey A Law  (law@cygnus.com)
6202
6203         * frame.h: Update some comments.
6204         * defaults.h (TARGET_ATTRIBUTE_WEAK): Define.
6205         * crtstuff.c (__register_frame_info, __deregister_frame_info): Declare
6206         using TARGET_WEAK_ATTRIBUTE.
6207         (__do_global_dtors_aux): Check if __deregister_frame_info is
6208         zero before calling it.
6209         (__do_global_dtors): Likewise.
6210         (frame_dummy): Check if __register_frame_info is zero before
6211         calling it.
6212         (__frame_dummy): Likewise.
6213
6214 Sat Feb 27 19:18:24 1999  Jeffrey A Law  (law@cygnus.com)
6215
6216         * SERVICE: Update from the FSF.
6217
6218 Sat Feb 27 14:31:22 1999  Arturo Montes  <mitosys@colomsat.com.co>
6219
6220         * config/i386/t-sco5 (crti.o): New target.
6221         * config/i386/sco5.h (STARTFILE_SPEC): Include crti.o when
6222         linking -shared.
6223         * configure.in (i[34567]86-*-sco3.2v5*): Add crti.o.
6224
6225 Sat Feb 27 01:12:40 1999  Jeffrey A Law  (law@cygnus.com)
6226
6227         * md.texi (prologue,epilogue): Document named patterns.
6228
6229 Fri Feb 26 19:31:25 1999  Dave Love  <fx@gnu.org>
6230
6231         * md.texi, invoke.texi: Fix unterminated @xrefs.
6232
6233 Fri Feb 26 15:33:45 1999  Richard Henderson  <rth@cygnus.com>
6234
6235         * genattrtab.c (simplify_knowing): Fix uninitialized read
6236         in Feb 21 change.
6237
6238         * genextract.c (main): Clear recog_operands before extracting.
6239
6240 Fri Feb 26 02:24:57 1999  Jeffrey A Law  (law@cygnus.com)
6241
6242         * c-pragma.c (add_weak); Delete.  Moved into...
6243         * varasm.c (add_weak): New external function.
6244         (declare_weak): If HANDLE_PRAGMA_WEAK, then add the function to
6245         the list of weak functions.
6246         * c-pragma (add_weak): Declare.
6247
6248 Thu Feb 25 23:43:59 1999  Richard Henderson  <rth@cygnus.com>
6249
6250         Flow rewrite to use basic block structures and edge lists:
6251
6252         * basic-block.h (x_basic_block_head, x_basic_block_end): Kill.
6253         (basic_block_computed_jump_target, basic_block_live_at_start): Kill.
6254         (struct edge_def): New.
6255         (struct basic_block_def): New.
6256         (basic_block_info): New.
6257         (BLOCK_HEAD, BLOCK_END): Update.
6258         (ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): New.
6259         (uid_block_number): Kill.
6260         (basic_block_for_insn, BLOCK_FOR_INSN): New.
6261         (BLOCK_NUM): Update.
6262         * flow.c (XNMALLOC): Kill.
6263         (max_uid_for_flow): Kill.
6264         (uid_block_number): Kill.
6265         (uid_volatile): Turn into a bitmap.
6266         (SET_INSN_VOLATILE): New.
6267         (basic_block_info): New.
6268         (entry_exit_blocks): New.
6269         (x_basic_block_head, x_basic_block_end): Kill.
6270         (basic_block_computed_jump_target, basic_block_live_at_start): Kill.
6271         (flow_int_list_blocks, basic_block_succ, basic_block_pred): Kill.
6272         (basic_block_loop_depth): Kill.
6273         (basic_block_for_insn): New.
6274         (find_basic_blocks): Split out initial block counting into
6275         count_basic_blocks.  Call functions split out of find_basic_blocks_1.
6276         (count_basic_blocks): New.
6277         (find_basic_blocks_1): Split out edge recognition, unreachable
6278         block deletion.
6279         (create_basic_block): New.
6280         (compute_bb_for_insn): New.
6281         (clear_edges): New.
6282         (free_bb_memory): Kill.
6283         (add_edge, add_edge_to_label): Kill.
6284         (mark_label_ref): Kill.
6285         (make_edges): Rewrite to use edge lists.
6286         (make_edge, make_label_edge): New.
6287         (mark_critical_edges): New.
6288         (split_edge, insert_insn_on_edge): New.
6289         (commit_one_edge_insertion, commit_edge_insertions): New.
6290         (delete_unreachable_blocks): Rewrite to use edge lists.
6291         Split out EH region manipulation into delete_eh_regions.
6292         Call tidy_fallthru_edge and merge_blocks.
6293         (delete_eh_regions): New.
6294         (delete_note_p): New.
6295         (delete_insn_chain): New.
6296         (delete_block): Split out code into delete_insn_chain and
6297         tidy_fallthru_edge.  Update edge lists.
6298         (expunge_block): New.
6299         (flow_delete_insn): New?
6300         (can_delete_label_p): New?
6301         (merge_blocks_nomove, merge_blocks): New.
6302         (tidy_fallthru_edge): New.
6303         (calculate_loop_depth): New.
6304         (life_analysis): Allocate and free uid_volatile.
6305         (free_basic_block_vars): Update for new structures.
6306         (record_volatile_insns): Use SET_INSN_VOLATILE.
6307         (mark_regs_live_at_end): Tidy EXIT_IGNORE_STACK usage.
6308         (mark_used_regs): Likewise.
6309         (life_analysis_1): Use bb global_live_at_start, global_live_at_end,
6310         local_set regsets.  Use bb->aux to store new_live_at_end.  Begin
6311         life propagation from EXIT_BLOCK rather than last block.  Clear
6312         regs_ever_live after mark_regs_live_at_end.
6313         (allocate_for_life_analysis): Update for new structures.
6314         (propagate_block): Split out loop depth calculation to
6315         calculate_loop_depth.
6316         (regno_uninitialized): Use bb->global_live_at_start.
6317         (regno_clobbered_at_setjmp): Likewise.
6318         (dump_bb_data): Likewise.
6319         (find_auto_inc): Use BLOCK_FOR_INSN instead of BLOCK_NUM.
6320         (dump_flow_info): Update for new structures.
6321         (dump_edge_info): New.
6322         (print_rtl_with_bb): Update for new structures.
6323         (compute_preds_succs): Do no work -- convert edge lists.
6324         (set_block_for_insn): From corpse of old set_block_num.
6325         (set_block_num): Call it.
6326
6327         * rtl.c (note_insn_name): Add NOTE_INSN_BASIC_BLOCK.
6328         * rtl.h (rtunion_def): Add bb entry.
6329         (NOTE_BASIC_BLOCK): New.
6330         (NOTE_INSN_BASIC_BLOCK): New.
6331
6332         * varray.h (varray_data_tag): Add bb entry.
6333         (VARRAY_BB_INIT, VARRAY_BB): New.
6334
6335         * emit-rtl.c (emit_label_before): New.
6336
6337         * except.c (expand_rethrow): Delete insns following the call to
6338         rethrow.  Put the REG_EH_RETHROW on the call.
6339
6340         * jump.c (returnjump_p, returnjump_p_1): New.
6341
6342         * expr.h (nonlocal_goto_handler_labels): New declaration.
6343         * function.c (nonlocal_goto_handler_labels): Define it.
6344         (push_function_context_to): Save it.
6345         (pop_function_context_from): Restore it.
6346         (init_function_start): Clear it.
6347         (nonlocal_label_rtx_list): Kill.
6348         * function.h (struct function): Add storage space for it.
6349         * stmt.c (expand_nl_handler_label): Return the new label.
6350         (expand_nl_goto_receivers): Collect a list of them in
6351         nonlocal_goto_handler_labels.
6352
6353         * Makefile.in (print-rtl.o): Depend on basic-block.h.
6354         (flow.o): Depend on insn-flags.h.
6355
6356         * function.c (thread_prologue_and_epilogue_insns): Do not
6357         half-heartedly update bb structures.
6358
6359         * toplev.c: Add flow2 dump as -dw.
6360         (rest_of_compilation): Finish .greg before flow2.
6361
6362         * graph.c (draw_edge): Handle class 3.
6363         (print_rtl_graph_with_bb): Make abnormal edges red class 2,
6364         change non-fall-thru but adjacent to green class 3.  Update
6365         to use new structures.
6366
6367         * print-rtl.c (print_rtx): Handle NOTE_INSN_BASIC_BLOCK.
6368
6369         * reg-stack.c (BLOCK_NUM): Convert to function.  Abort if
6370         block_number is -1.
6371         (reg_to_stack): Initialize block_num to -1.
6372
6373         * combine.c (set_nonzero_bits_and_sign_copies): Update reference
6374         to basic_block_live_at_start to bb->global_live_at_start.
6375         (try_combine): Likewise.
6376         (reg_dead_at_p): Likewise.
6377         * global.c (global_conflicts): Likewise.
6378         Handle stack regs on all abnormal edges, not just computed jumps.
6379         (mark_elimination): Update reference to basic_block_live_at_start.
6380         (build_insn_chain): Likewise.
6381         * haifa-sched.c (haifa_edge): Rename from edge for conflict.
6382         (is_cfg_nonregular): Look at nonlocal_goto_handler_labels instead
6383         of nonlocal_label_rtx_list.
6384         (check_live_1): Update reference to basic_block_live_at_start.
6385         (update_live_1): Likewise.
6386         (find_pre_sched_live): Likewise.
6387         (find_post_sched_live): Likewise.
6388         * local-alloc.c (update_equiv_regs): Likewise.
6389         (block_alloc): Likewise.
6390         * reload1.c (reload, reload_combine): Likewise.
6391         * regmove.c (mark_flags_life_zones): Likewise.
6392         * resource.c (mark_target_live_regs): Likewise.
6393         * sched.c (schedule_block): Likewise.
6394
6395         * regclass.c (regset_release_memory): Don't free
6396         basic_block_live_at_start.
6397
6398         * unroll.c (copy_loop_body): Don't duplicate NOTE_INSN_BASIC_BLOCK.
6399
6400 Thu Feb 25 21:32:34 1999  Jason Merrill  <jason@yorick.cygnus.com>
6401
6402         * fixinc.wrap: Also handle struct queue in sys/stream.h.
6403         * fixinc.svr4: Likewise.
6404
6405         * dwarf2out.c (scope_die_for): Set scope_die to comp_unit_die
6406         rather than asserting it.
6407
6408 Thu Feb 25 23:33:06 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6409
6410         * cppexp.c (left_shift, right_shift, parse_charconst, COMPARE,
6411         cpp_parse_expr): Replace uses of long/HOST_BITS_PER_LONG with
6412         HOST_WIDEST_INT/HOST_BITS_PER_WIDEST_INT.
6413
6414         * Makefile.in (cppmain.o, cpplib.o, cpphash.o, cppalloc.o,
6415         cpperror.o, cppexp.o, cppfiles.o, cppinit.o, fix-header.o,
6416         scan-decls.o): Don't depend on machmode.h.
6417
6418         * cppexp.c: Don't define CHAR_BIT or HOST_BITS_PER_WIDE_INT anymore.
6419         Replace all instances of HOST_WIDE_INT with HOST_WIDEST_INT.
6420
6421         * cppfiles.c: Likewise.
6422
6423         * cpplib.c: Likewise.
6424
6425         * cpplib.h: Likewise.  Also don't include machmode.h anymore.
6426
6427 Thu Feb 25 18:46:26 1999  Richard Henderson  <rth@cygnus.com>
6428
6429         * gcc.c (default_compilers): Define __FAST_MATH__ when appropriate.
6430         * objc/lang-specs.h: Likewise.
6431
6432 Thu Feb 25 16:19:43 1999  Jeffrey A Law  (law@cygnus.com)
6433
6434         * pa.md (call patterns): Lose unused argument to output_call.
6435
6436         * print-rtl.c (print_rtl): Print /j and /c for the jump/call flags.
6437
6438 1999-02-25  Zack Weinberg  <zack@rabi.columbia.edu>
6439
6440         * cpphash.c (install): Rename to cpp_install, add cpp_reader*
6441         first argument.  All callers changed.
6442         (hashtab): Removed.
6443         (cpp_lookup, cpp_install): Change all refs to hashtab to
6444         pfile->hashtab.
6445         (cpp_hash_cleanup): Removed.
6446         * cpphash.h: Adjust prototypes.
6447         * cpplib.h (struct cpp_reader): Add hashtab pointer.
6448         * cppinit.c (cpp_reader_init): Also allocate space for the
6449         hashtab.
6450         (cpp_cleanup): Delete all macros and free the hashtab.
6451
6452 Thu Feb 25 21:52:54 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
6453
6454         * sh.h (PASS_IN_REG_P): For TARGET_HITACHI, don't pass structures
6455         in registers.
6456
6457         * expr.h (PRETEND_OUTGOING_VARARGS_NAMED): Provide default definition.
6458         * function.c (assign_parms): Honour PRETEND_OUTGOING_VARARGS_NAMED.
6459         * calls.c (expand_call): Likewise.
6460
6461         * sh.c (sh_expand_prologue): For TARGET_HITACHI, don't push varargs /
6462         stdarg arguments.
6463         * sh.h (CPP_SPEC): Add -D__HITACHI__ for -mhitachi.
6464         (FUNCTION_ARG): For TARGET_HITACHI, don't pass unnamed
6465         arguments in registers.
6466         (PRETEND_OUTGOING_VARARGS_NAMED): Define.
6467         * va-sh.h (entire file): If __HITACHI__ is defined, use sh[123]
6468         flavor varargs.
6469
6470 Thu Feb 25 14:32:40 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6471
6472         * cse.c (dump_class): Revert last change and make the prototype
6473         extern.
6474
6475 Thu Feb 25 19:13:42 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
6476
6477         * rtl.h (insn_first_p): Don't declare.
6478         * rtlanal.c (insn_first_p): Delete.
6479         * loop.c (loop_insn_first_p): Faster implementation.
6480
6481 Thu Feb 25 10:44:35 1999  Richard Earnshaw  (rearnsha@arm.com)
6482
6483         * arm.h (TARGET_SWITCHES): Delete deprecated switches -m[236].
6484         (TARGET_3, TARGET_6): Delete.
6485         (ARM_FLAG_ARM[36]): Delete.
6486         (CPP_CPU_ARCH_SPEC): No need to handle -m[236] any more.
6487         (CC1_SPEC): Don't expand -m[236] into new equivalents.
6488         (CPP_APCS_PC_SPEC): No need to handle -m[236] any more.
6489         * arm.c (arm_override_options): Delete warnings about deprecated
6490         options -m[236].
6491
6492         * arm.c (arm_finalize_pic): Build the label into the special pic
6493         adjustment insn instead of issuing it separately.
6494         * arm.md (pic_add_dot_plus_eight): Rework to contain the label
6495         that is needed.
6496
6497         * arm.md (*zeroextractqi_compare0_scratch): Delete.
6498         (*ne_zeroextractsi): New pattern.
6499
6500 Thu Feb 25 18:40:06 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
6501
6502         * stmt.c (expand_end_loop): Grok code emitted by
6503         expand_exit_loop_if_false.
6504
6505 Thu Feb 25 10:17:32 1999  Nick Clifton  <nickc@cygnus.com>
6506
6507         * config/arm/arm.c (return_in_memory): Float fields in unions
6508         force a return in memory.
6509         (load_multiple_sequence): Add comment explaining why two LDR
6510         instructions can be better than an LDMIA instruction.
6511
6512         * config/arm/arm.h (TARGET_SHORT_BY_BYTES): Add comment
6513         describing the real meaning of this option.
6514         (FIXED_REGISTERS): Default r10 to not-fixed.
6515         (CALL_USED_REGISTERS): Default r10 to not-call-used.
6516         (SUBTARGET_CONDITIONAL_REGISTER_USAGE): If not defined, define
6517         as empty.
6518         (CONDITIONAL_REGISTER_USAGE): Fix r10 if TARGET_APCS_STACK is
6519         true.  Invoke SUBTARGET_CONDITIONAL_REGISTER_USAGE after
6520         performing other checks.
6521
6522         * config/arm/arm.md (zero_extendhisi2): Undo previous change.
6523         (extendhisi2): Undo previous change.
6524         Also add comments describing why TARGET_SHORT_BY_BYTES can be
6525         ignored for armv4(t) architectures.
6526
6527         * config/arm/riscix.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE):
6528         Define to fix r10.
6529
6530         * config/arm/riscix1-1.h
6531         (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Define to fix r10.
6532
6533 Thu Feb 25 12:09:04 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6534
6535         * cse.c (dump_class): Make the function definition static to match
6536         the prototype.
6537
6538 Wed Feb 24 17:47:28 1999  Jim Wilson  <wilson@cygnus.com>
6539
6540         * dbxout.c (gstab.h): Use if CROSS_COMPILE.
6541
6542         * dwarf2out.c (add_location_or_const_value_attribute): Add big
6543         endian correction for parms passed in regs but living on the stack.
6544
6545 Wed Feb 24 14:03:54 1999  Jeffrey A Law  (law@cygnus.com)
6546
6547         * calls.c (initialize_argument_information): New function extracted
6548         from expand_call.
6549         (expand_call): Use initialize_argument_information.  Remove variables
6550         which are no longer used due to cleanups.
6551
6552         * calls.c (compute_argument_block_size): New function, extracted from
6553         expand_calls.
6554         (expand_calls): Use compute_argument_block_size.  Delete
6555         original_args_size, use unadjusted_args_size instead.
6556
6557         * calls.c (precompute_arguments): New function, extracted from
6558         expand_call.
6559         (expand_call): Use precompute_arguments.
6560
6561         * calls.c (finalize_must_preallocate): New function, extracted from
6562         expand_call.
6563         (expand_call): Use finalize_must_preallocate.
6564
6565         * calls.c (store_one_arg): Mark "variable_size" as possibly unused.
6566
6567         * regclass.c (record_reg_classes, case 'p'): Set classes appropriately.
6568         An alternative always fails if it needs a pseudo and no suitable
6569         register class can be found.
6570
6571 Wed Feb 24 19:47:56 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
6572
6573         * loop.h (loop_insn_first_p): Declare.
6574         * loop.c (loop_insn_first_p): No longer static.
6575         * unroll.c (iteration_info): Fix comparison to
6576         reg_iv_type->num_elements.
6577         Before accessing reg_biv_class, check index against
6578         max_reg_before_loop.
6579         Fix and enable code for giv iterators.
6580         (loop_iterations): Compare with reg_iv_type->num_elements instead
6581         of with max_reg_before_loop.
6582
6583 Wed Feb 24 19:17:11 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
6584
6585         * unroll.c (unroll_loop): Avoid out-of-bounds index for local_regno.
6586
6587 Wed Feb 24 11:26:41 1999  Vladimir N. Makarov  <vmakarov@cygnus.com>
6588
6589         * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Don't use
6590         PIC_OFFSET_TABLE_REGNUM for register allocation when -fPIC.
6591
6592 Tue Feb 23 16:24:19 1999  Marc Lehmann  <pcg@goof.com>
6593
6594         * config/i386/i386.md: Fix typo.
6595
6596 Mon Feb 22 19:36:33 1999  Andrew Cagney  <cagney@b1.cygnus.com>
6597
6598         * config/mips/mips.c (mips_debugger_offset): When TARGET_MIPS16 &&
6599         frame_pointer_needed adjust frame size.
6600         (function_prologue): Don't MIPS16 .mask GPOFFSET. Already adjusted
6601         in .frame pseudo-op.
6602         Frm Jim Wilson  <wilson@cygnus.com>:
6603         * mips.c (function_prologue): Adjust frame size in .frame pseudo-op
6604         when TARGET_MIPS16 && frame_pointer_needed.
6605
6606 1999-02-22  Nick Clifton  <nickc@cygnus.com>
6607
6608         * config/arm/arm.h: Add TARGET_CPU_strongarm1100.
6609         Add -mno-sched command line switch to disable scheduling of
6610         instructions into the function's prologue.
6611         (enum processor_type): Remove.
6612         (TARGET_OPTIONS): Add "fpe=" option to match documentation.
6613         (struct arm_cpu_select): Replace 'set_tune_p' and 'set_arch_p'
6614         fields with 'processors' field.
6615         (CONDITIONAL_REGISTER_USAGE): Allow r10 to be used if stack
6616         checking is not enabled.
6617         (RETURN_IN_MEMORY): Always call arm_return_in_memory.
6618
6619         * config/arm/arm.c (arm_cpu): Remove.
6620         (tune_flags): Remove.
6621         (arm_is_strong): New variable: true iff the target processor is a
6622         StrongARM.
6623         (arm_is_6_or_7): New variable: true iff the target processor is an
6624         ARM6 or and ARM7.
6625         (arm_select): Fields reorganised.
6626         (struct processors): processor_type field removed.
6627         (all_procs): Remove.
6628         (all_cores): New array: Definitions of all known ARM cpu cores.
6629         (all_architectures): New array: Definitions of all known ARM
6630         architectures.
6631         (streq): New macro.
6632         (FL_SCHED): New processor flag: processor required load
6633         scheduling.
6634         (FL_STRONG): New processor flag: processor is a StrongARM.
6635         (arm_override_options): Reorganized to make code clearer.
6636         (use_return_insn): Test for "not (TARGET_APCS and
6637         frame_pointer_needed)".
6638         (arm_return_in_memory): Improve handling of structures.
6639
6640         * config/arm/arm.md: Remove "cpu" attribute.  Replace with
6641         "is_strongarm" and "is_arm_6_or_7" attributes.
6642         (zero_extendhisi2): Check for TARGET_SHORT_BY_BYTES before
6643         arm_arch4.
6644         (extendhisi2): Check for TARGET_SHORT_BY_BYTES before arm_arch4.
6645
6646         * invoke.texi (ARM Options): Document -mtune= and -mfp= options.
6647
6648 1999-02-22  Philip Blundell  <philb@gnu.org>
6649
6650         * config/arm/linux-gas.h (INITIALIZE_TRAMPOLINE): Replace default
6651         definition with one including cache synchronization.
6652         (CLEAR_INSN_CACHE): Correct syscall number and enable definition.
6653         Move definition of inhibit_libc to...
6654         * config/arm/xm-linux.h: ... here.
6655
6656         * config/arm/t-linux: Disable multilib configurations since the
6657         only effect for most people is to cause builds to fail.
6658
6659         * config/arm/elf.h (ASM_FILE_START): Add .file directive.
6660         (ASM_SPEC): Translate -mapcs-float to -mfloat for the assembler.
6661
6662         * config/arm/linux-elf.h (DEFAULT_VTABLE_THUNKS): Define.
6663         (HANDLE_SYSV_PRAGMA): Likewise.
6664         (LIB_SPEC): Copy definition from generic Linux files.
6665         (LIBGCC_SPEC): Include -lfloat if -msoft-float was given.
6666         (FP_DEFAULT): Set to SOFT3 on 32-bit targets.
6667         (DWARF2_DEBUGGING_INFO): Define.
6668         (PREFERRED_DEBUGGING_TYPE): Define as DBX_DEBUG.
6669
6670 Mon Feb 22 16:54:18 1999  Andrew MacLeod  <amacleod@cygnus.com>
6671
6672         * loop.c (libcall_other_regs): Make extern.
6673         * rtl.h (find_last_value): Add parameter to prototype.
6674         (libcall_other_reg): Add extern declaration.
6675         * rtlanal.c (find_last_value): Add another parameter to allow
6676         a definition using a hardware register to be found as well.
6677
6678 Mon Feb 22 13:33:47 1999  Mark Mitchell  <mark@markmitchell.com>
6679
6680         * cse.c (dump_class): New function.
6681         (invalidate_memory): Fix typo in comment.
6682         * function.c (temp_slot): Add an alias set field.
6683         (assign_stack_temp): Only reuse slots if they will have the
6684         same alias set as before.
6685         (combine_temp_slots): Don't combine if -fstrict-aliasing;
6686         that's unsafe.
6687         * rtl.c (copy_rtx): Copy all the flags (in particular,
6688         MEM_SCALAR_P).
6689
6690 Mon Feb 22 14:13:23 1999  Vladimir N. Makarov  <vmakarov@cygnus.com>
6691
6692         * configure.in (i[34567]86-*-linux-gnu*,
6693         i[34567]86-*-linux-gnulibc1, i[34567]86-*-linux-gnuaout*,
6694         i[34567]86-*-linux-gnuoldld*): Use fixinc.x86-linux-gnu as
6695         fixincludes.
6696
6697         * configure: Rebuilt.
6698
6699         * fixinc.x86-linux-gnu: New script for fixing asm-statements bug
6700         on x86 linux.
6701
6702         * fixinc/fixinc.x86-linux-gnu: Copy of the previous one.
6703
6704         * fixinc/mkfixinc.sh (i[34567]86-*-linux-gnu*,
6705         i[34567]86-*-linux-gnulibc1, i[34567]86-*-linux-gnuaout*,
6706         i[34567]86-*-linux-gnuoldld*): Use fixinc.x86-linux-gnu as
6707         fixincludes.
6708
6709 Mon Feb 22 08:55:05 1999  Ovidiu Predescu  <ovidiu@cup.hp.com>
6710
6711         * objc/objc-act.c (encode_type): Temporary revert to the old
6712         behavior of encoding types as the new one seems to break the
6713         encoding of bitfields.
6714
6715 Mon Feb 22 11:40:44 1999  Craig Burley  <craig@jcb-sc.com>
6716 Sat Feb 20 09:59:36 1999  Craig Burley  <craig@jcb-sc.com>
6717
6718         * Makefile.in (all.internal, all.cross): Depend on `doc'
6719         target, to ensure docs get made before installation.
6720
6721         Decrease spurious warnings from -fsyntax-only:
6722         * stmt.c (expand_expr_stmt): Expand expr even when -fsyntax-only.
6723
6724 Mon Feb 22 10:55:00 1999  Gavin Romig-Koch  <gavin@cygnus.com>
6725
6726         * c-lex.c (yylex): Replace warning about integer constants being
6727         larger than long-longs, with a warning about integer constants
6728         being larger than the largest target integer.
6729
6730 Mon Feb 22 08:35:38 1999  Craig Burley  <craig@jcb-sc.com>
6731
6732         Fix -fsyntax-only ICEs:
6733         * varasm.c (assemble_zeros, assemble_variable,
6734         output_constant_def): Do nothing when -fsyntax-only.
6735
6736 Fri Feb 19 18:18:56 1999  Don Bowman  <don@pixstream.com>
6737
6738         * configure.in (mips*-*-vxworks*): Enable gthreads vxworks support.
6739         * configure: Rebuilt.
6740
6741 Sun Feb 21 20:34:44 1999  Jeff Law  (law@cygnus.com)
6742
6743         * version.c: Bump for snapshot.
6744
6745 Sun Feb 21 20:35:10 1999  Jeffrey A Law  (law@cygnus.com)
6746
6747         * config/aoutos.h (ASM_OUTPUT_CONSTRUCTOR): Delete.
6748         (ASM_OUTPUT_DESTRUCTOR, ASM_OUTPUT_GC_ENTRY): Likewise.
6749         * tm.texi: Update docs for constructors and destructors.
6750
6751 Sun Feb 21 17:11:18 1999  Richard Henderson  <rth@cygnus.com>
6752
6753         * genattrtab.c (check_attr_value): Allow negative const_int if
6754         negative_ok.  Accept integral arithmetic operators.  Accept
6755         direct references to other attributes.  Accept symbol_ref in
6756         non-constant attributes.
6757         (max_attr_value): Add new argument `unknownp'.  Update all callers.
6758         (or_attr_value): Likewise.
6759         (simplify_knowing): Don't optimize if max_attr_value unknown.
6760         (write_length_unit_log): Likewise with or_attr_value.
6761         (find_and_mark_used_attributes): Don't fallthru case.
6762         (write_attr_set): Pass thru all non-cond expressions.
6763         (write_attr_value): Handle symbol_ref, attr, and arithmetic.
6764
6765 Sun Feb 21 13:16:44 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
6766
6767         * regmove.c (discover_flags_reg): Use word_mode instead of SImode.
6768
6769 Sun Feb 21 13:15:40 1999  Richard Henderson  <rth@cygnus.com>
6770
6771         * regmove.c (discover_flags_reg): Remove cc0 code.
6772         (mark_flags_life_zones) [HAVE_cc0]: Force use of cc0; bail if
6773         a potential flags register was identified.
6774
6775 Sat Feb 20 16:16:07 1998  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6776
6777         * rs6000.md (scc plus ltu): Fix typo in last change.
6778
6779 Sat Feb 20 09:08:44 1999  Richard Earnshaw  (rearnsha@arm.com)
6780
6781         * xm-arm.h (HOST_BITS_PER_LONGLONG): Define.
6782
6783 Fri Feb 19 23:02:02 1999  Richard Henderson  <rth@cygnus.com>
6784
6785         * regmove.c (discover_flags_reg): New function.
6786         (flags_set_1, mark_flags_life_zones): New functions.
6787         (regmove_optimize): Call them.
6788         (fixup_match_1): Use insn modes rather than sets_cc0_p.
6789
6790 Fri Feb 19 22:47:01 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
6791
6792         * rtlanal.c (insn_first_p): Fix return value for insn == reference.
6793
6794         * loop.c (strength_reduce, check_final_value, check_dbra_loop):
6795         Use loop_insn_first_p.
6796
6797 Fri Feb 19 15:49:26 1999  Michael Meissner  <meissner@cygnus.com>
6798                           David Edelsohn  <edelsohn@gnu.org>
6799
6800         * rs6000.md (scc plus eq): Fix output template.
6801         (scc plus ltu): Fix output template and collapse variants
6802         correcting early clobbers.
6803         (scc plus geu): Fix output template.
6804         (scc plus gt): Fix output template.
6805         (scc plus gtu): Fix output template and collapse variants.
6806
6807 Fri Feb 19 15:43:59 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6808
6809         * cppinit.c (print_help): Remove unescaped newline in string.
6810
6811 Fri Feb 19 19:55:06 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
6812
6813         * loop.c (strength_reduce): Check for intervening jumps when
6814         converting biv increment to giv.
6815
6816 Thu Feb 18 16:36:58 1999  Per Bothner  <bothner@cygnus.com>
6817
6818         * tree.def (TRY_FINALLY_EXPR, GOTO_SUBROUTINE_EXPR): New tree nodes,
6819         * expr.c (expand_expr): Support new tree nodes.
6820
6821 Fri Feb 19 10:17:56 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
6822
6823         * config/m68k/m68k.c (m68k_align_loops_string,
6824         m68k_align_jumps_string, m68k_align_funcs_string): Add const.
6825         * config/m68k/m68k.h (m68k_align_loops_string,
6826         m68k_align_jumps_string, m68k_align_funcs_string): Likewise.
6827
6828 Thu Feb 18 23:28:35 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6829
6830         * bitmap.c (bitmap_print): Qualify a char* with the `const' keyword.
6831
6832         * bitmap.h (bitmap_print): Likewise.
6833
6834         * c-decl.c (builtin_function, grokdeclarator, grokfield): Likewise.
6835
6836         * c-lang.c (build_objc_string): Likewise.
6837
6838         * c-lex.c (yyerror, extend_token_buffer): Likewise.  Don't include
6839         limits.h or ctype.h.  Remove unused variable `p'.
6840
6841         * c-lex.h (yyerror): Qualify a char* with the `const' keyword.
6842
6843         * c-pragma.c (handle_pragma_token): Likewise.
6844
6845         * c-pragma.h (handle_pragma_token): Likewise.
6846
6847         * c-tree.h (build_objc_string, builtin_function, grokfield,
6848         build_indirect_ref, lvalue_or_else, readonly_warning, error_init,
6849         pedwarn_init): Likewise.
6850
6851         * c-typeck.c (convert_for_assignment, warn_for_assignment,
6852         push_string, warning_init, incomplete_type_error,
6853         build_indirect_ref, lvalue_or_else, readonly_warning,
6854         build_c_cast, spelling, push_member_name, print_spelling,
6855         error_init, pedwarn_init, start_init): Likewise.
6856
6857         * objc/objc-act.c (build_objc_string): Likewise.
6858
6859         * print-tree.c (print_node_brief, print_node): Likewise.
6860
6861         * tree.h (lvalue_or_else, print_node, print_node_brief): Likewise.
6862
6863 Thu Feb 18 20:44:21 1999  David Edelsohn  <edelsohn@gnu.org>
6864
6865         * regclass.c (record_reg_classes): Correctly handle 'p' constraint.
6866
6867 Thu Feb 18 19:59:37 1999  Marc Espie  <espie@cvs.openbsd.org>
6868
6869         * configure.in :Handle OpenBSD platforms.
6870         * configure: Rebuilt.
6871         * config/openbsd.h: New file.
6872         * config/xm-openbsd.h: New file.
6873         * config/t-openbsd: New file.
6874         * config/t-openbsd-thread: New file.
6875
6876 Thu Feb 18 18:47:09 1999  Jeffrey A Law  (law@cygnus.com)
6877
6878         * function.c (assign_stack_temp_for_type): Round SIZE before calling
6879         assign_stack_local for BLKmode slots.
6880
6881 Fri Feb 19 01:45:06 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
6882
6883         * loop.c (strength_reduce): For derived givs, replace the
6884         giv this was derived from with its new_reg.
6885         (recombine_givs): Don't set new_reg for derived giv.
6886         And don't print it, print SUM instead.
6887
6888 Thu Feb 18 15:52:49 1999  Jim Wilson  <wilson@cygnus.com>
6889
6890         * m68kelf.h (ASM_RETURN_CASE_JUMP): Add 5200 support.
6891
6892 1999-02-18  Zack Weinberg  <zack@rabi.columbia.edu>
6893
6894         * cpplib.c: Kill define of STDC_VALUE.  Don't include output.h
6895           or prefix.h. Change CPP_IS_MACRO_BUFFER to not refer to
6896           macro_cleanup.
6897           (GET_ENV_PATH_LIST, PATH_SEPARATOR, STANDARD_INCLUDE_DIR,
6898           predefs, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
6899           CPP_WCHAR_TYPE, USER_LABEL_PREFIX, REGISTER_PREFIX, struct
6900           cpp_pending, version_string, struct default_include,
6901           include_defaults_array, path_include, cpp_options_init,
6902           dump_special_to_buffer, initialize_builtins, cpp_start_read,
6903           cpp_reader_init, nreverse_pending, push_pending, print_help,
6904           cpp_handle_option, cpp_handle_options, cpp_finish,
6905           cpp_cleanup): Move to cppinit.c.
6906           (macro_cleanup, struct arglist, collect_expansion,
6907           create_definition, compare_defs, comp_def_part, ARG_BASE,
6908           struct argdata, macarg, change_newlines, timestamp,
6909           monthnames, special_symbol, unsafe_chars, macroexpand,
6910           push_macro_expansion): Move to cpphash.c.
6911           (quote_string, check_macro_name, cpp_expand_to_buffer,
6912           output_line_command, cpp_undef): Export.
6913           (null_underflow, null_cleanup, handle_directive): Make static.
6914
6915         * cpplib.h: Prototype now-exported functions.  Adjust decls of
6916           syntax tables so we can include cpplib.h in cppinit.c.
6917         * cpphash.h: Prototype all functions exported by cpphash.c.
6918         * cppinit.c: Make syntax tables initialized data if possible
6919           (uses GCC designated-initializer extension).
6920         * cppexp.c: Make cpp_lex static.
6921         * Makefile.in: Move -D switches for the various include dirs
6922           from cpplib.o rule to cppinit.o rule.  Adjust dependencies.
6923
6924 Thu Feb 18 13:15:56 1999  Marc Espie  <espie@cvs.openbsd.org>
6925
6926         * alpha/openbsd.h: New file.
6927         * alpha/xm-openbsd.h: New file.
6928         * sparc/openbsd.h: New file.
6929         * sparc/xm-openbsd.h: New file.
6930         * m68k/openbsd.h: New file.
6931         * m68k/xm-openbsd.h: New file.
6932         * i386/openbsd.h: New file, originally from netbsd.
6933         * i386/xm-openbsd.h: New file.
6934
6935 1999-02-17  Zack Weinberg  <zack@rabi.columbia.edu>
6936
6937         * Makefile.in: Correct dependencies for cpplib object files.
6938
6939 Wed Feb 17 14:04:18 1999  Michael Meissner  <meissner@cygnus.com>
6940
6941         * rs6000.md ({add,sub}si3 `.'): Add alternatives to use CR other
6942         than cr0.
6943
6944 Wed Feb 17 16:59:28 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
6945
6946         * loop.c (strength_reduce): Don't move giv insn for biv turned giv
6947         below scan_start.
6948
6949 Wed Feb 17 10:56:24 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6950
6951         * tree.c (tree_node_kind_names, print_obstack_name,
6952         get_identifier, maybe_get_identifier, build_string,
6953         build_expr_wfl, is_attribute_p, lookup_attribute,
6954         print_obstack_statistics, get_file_function_name_long, tree_check,
6955         tree_class_check, expr_check): Qualify a char* with the `const'
6956         keyword.
6957
6958         * tree.h (get_identifier, maybe_get_identifier, build_string,
6959         build_expr_wfl, is_attribute_p, lookup_attribute,
6960         print_obstack_statistics, print_obstack_name, tree_check,
6961         tree_class_check, expr_check): Likewise.
6962
6963 Tue Feb 16 21:29:38 1999  Jeffrey A Law  (law@cygnus.com)
6964
6965         * i386/freebsd-elf.h, i386/gas.h, i386/linux.h: Fix minor spacing
6966         errors.
6967
6968         * calls.c (store_one_arg): Mark any slots used for the argument
6969         as in-use immediately after we're done saving any slots which
6970         will be overwritten by this argument.
6971
6972 Tue Feb 16 21:02:07 1999  Anton Hartl  <toni@devsoft.com>
6973
6974         * rs6000.md (call_value): Fix typo.
6975
6976 Wed Feb 17 01:29:07 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
6977
6978         * loop.c (strength_reduce): Calculate maybe_dead before
6979         calling recombine_givs.
6980
6981 Wed Feb 17 00:43:12 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
6982
6983         * loop.c (strength_reduce): Dump biv increment -> giv conversions.
6984
6985 Tue Feb 16 15:31:39 1999  Ovidiu Predescu  <ovidiu@cup.hp.com>
6986
6987         * objc/objc-act.c (encode_type): Encode the type instead of
6988         encoding the mode of the type (patch from Richard Frith-Macdonald
6989         <richard@brainstorm.co.uk>).
6990
6991 Tue Feb 16 10:53:51 1999  Richard Earnshaw  (rearnsha@arm.com)
6992
6993         * config/arm/arm.md (*zeroextractqi_compare0_scratch): Re-add load
6994         instruction killed in previous change.  Simplify mask generation.
6995         (*zeroextractsi_compare0_scratch): Simplify mask generation.
6996
6997 Tue Feb 16 09:52:26 1999  Nick Clifton  <nickc@cygnus.com>
6998
6999         * config/arm/arm.md (zeroextractqi_compare0_scratch): Ensure that
7000         bitfield does not overflow a byte boundary.
7001
7002 Tue Feb 16 01:37:33 1999  Charles G Waldman  <cgw@alum.mit.edu>
7003
7004         * c-common.c (shorten_compare): Get the min/max value from the
7005         underlying type of an enumeration, not the enumerated type itself.
7006
7007 Mon Feb 15 23:04:48 1999  Jeffrey A Law  (law@cygnus.com)
7008
7009         * jump.c: Include insn-attr.h.
7010         (delete_computation): If reload has completed and insn scheduling
7011         after reload is enabled, then do not depend on REG_DEAD notes.
7012         * Makefile.in (jump.o): Depend on insn-attr.h.
7013
7014 Mon Feb 15 16:57:38 1999  Richard Henderson  <rth@cygnus.com>
7015
7016         * i386.md (addsi3): Allow lea for any constant_p.
7017
7018 1999-02-15  Zack Weinberg  <zack@rabi.columbia.edu>
7019
7020         * toplev.c (documented_lang_options): Remove -fident and
7021           -fnoident, which are now handled by the language independent
7022           option parser.
7023
7024 1999-02-15  Zack Weinberg  <zack@rabi.columbia.edu>
7025
7026         * c-common.c (UNGETC [USE_CPPLIB=1]): Do nothing if c is EOF.
7027         * c-lex.c: Likewise.
7028         * cpplib.c (cpp_push_buffer, cpp_pop_buffer): Use a linked
7029         list in malloced memory for the buffer stack.
7030         (cpp_get_token): Don't pop the last buffer off the stack.
7031         Calls after CPP_EOF has been returned produce CPP_EOF with no
7032         state change.
7033         (cpp_finish): Pop last buffer here.
7034         (do_line): Don't free ip->last_nominal_fname if it is equal to
7035         ip->fname.
7036         (special_symbol): If a T_CONST is the empty string, push a
7037         single `@ ' escape instead.
7038         (macroexpand): Special symbol buffers have escapes too.
7039         * cpplib.h (struct cpp_buffer): Remove unused fields, add prev
7040         buffer pointer.
7041         (struct cpp_reader): Remove buffer_stack.  Add
7042         buffer_stack_depth.
7043         (CPP_PREV_BUFFER, CPP_NULL_BUFFER): Buffer stack is now a
7044         linked list.
7045
7046 Mon Feb 15 14:44:53 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7047
7048         * cccp.c: Don't define HOST_WIDE_INT.  Replace all occurrences of
7049         WIDE_INT with WIDEST_INT.
7050
7051         * cexp.y: Likewise.
7052         Don't define unsigned_HOST_WIDE_INT, CHAR_BIT or
7053         HOST_BITS_PER_WIDE_INT.  Replace occurrences of PRINTF_PROTO_1()
7054         style with PVPROTO() ATTRIBUTE_PRINTF_1 style macros.  Replace
7055         occurrences of "unsigned_HOST" with "unsigned HOST".  Provide a
7056         definition of variable `c89' when compiling a test binary and set it.
7057
7058         * system.h: Don't define the PRINTF_PROTO_* macros.
7059
7060 Mon Feb 15 11:33:51 1999  Jeffrey A Law  (law@cygnus.com)
7061
7062         * loop.c (mark_loop_jump): Handle LO_SUM.  If we encounter something
7063         we do not understand, mark the loop and containing loops as invalid.
7064
7065 Mon Feb 15 00:40:45 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
7066
7067         * alias.c (init_alias_analysis): Avoid self-referential value
7068         when setting reg_known_value from REG_EQUAL notes.
7069
7070 Sun Feb 14 23:12:10 1999  Richard Henderson  <rth@cygnus.com>
7071
7072         * i386.c (legitimate_address_p): Verify modes of base and index.
7073
7074 Sun Feb 14 23:01:28 1999  Richard Henderson  <rth@cygnus.com>
7075
7076         * i386.c (legitimate_pic_address_disp_p): Remove static.
7077         * i386.h (LEGITIMATE_PIC_OPERAND_P): Use it instead of
7078         open-coding cases.
7079
7080 Sun Feb 14 21:03:28 1999  Jeffrey A Law  (law@cygnus.com)
7081
7082         * except.c (start_catch_handler): Use emit_cmp_and_jump_insns.
7083         * explow.c (probe_stack_range): Likewise.
7084         * expmed.c (do_cmp_and_jump): Likewise.
7085         * expr.c (store_expr, expand_expr, expand_builtin): Likewise.
7086         (do_tablejump): Likewise.
7087         * stmt.c (expand_expr_stmt, expand_end_case): Likewise.
7088         (do_jump_if_equal, emit_case_nodes): Likewise.
7089         * optabs.c (emit_cmp_and_jump_insns): Clarify comments.  If UNSIGNEDP,
7090         then convert comparison to an unsigned code before emitting the jump.
7091         (expand_float, expand_fix): Use emit_cmp_and_jump_insns.
7092
7093 Sun Feb 14 02:24:15 1999  Jeff Law  (law@cygnus.com)
7094
7095         * version.c: Bump for snapshot.
7096
7097 Sun Feb 14 01:15:04 1999  Jeff Law  (law@cygnus.com)
7098
7099         * version.c: Bump for snapshot.
7100
7101 Sun Feb 14 00:45:50 1999  Jeffrey A Law  (law@cygnus.com)
7102
7103         * loop.c: Disable recent loop changes.  Temporary as Joern
7104         continues to fix problems.
7105
7106 Sat Feb 13 23:29:42 1999  Richard Henderson  <rth@cygnus.com>
7107
7108         * loop.c (combine_givs_used_by_other): Delete.
7109         (combine_givs_benefit_from): Delete.
7110         (combine_givs): Deny combination of givs only used once.  Simplify
7111         code with the death of combine_givs_benefit_from.
7112
7113 Sun Feb 14 11:24:05 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7114
7115         * loop.c (scan_loop): Call reg_in_basic_block_p before
7116         loop_reg_used_before_p.
7117
7118 Sat Feb 13 05:32:00 1999  Richard Earnshaw  (rearnsha@arm.com)
7119
7120         * arm.md: Use gen_rtx_FOO instead of gen_rtx (FOO, ...).
7121         * arm.h: Likewise.
7122         * arm.c: Likewise.
7123
7124         * arm.h (TARGET_OPTIONS): Reformat for clarity.
7125         (GO_IF_LEGITIMATE_ADDRESS): When generating PIC, references to symbols
7126         in the constant pool aren't valid.
7127         (LEGITIMATE_PIC_OPERAND_P): Likewise.
7128
7129         * arm.c: Include "system.h", not stdio.h and string.h.
7130
7131 Fri Feb 12 13:06:28 1999  Jim Wilson  <wilson@cygnus.com>
7132
7133         * stmt.c (expand_return): Return if optimize_tail_recursion succeeded.
7134         (optimize_tail_recursion): Change return type from void to int.
7135         Add return statements.
7136         * tree.h (optimize_tail_recursion): Change prototype to match.
7137
7138 Fri Feb 12 21:09:51 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
7139
7140         * reload.c (find_reloads_subreg_address): New function, broken out of
7141         find_reloads_toplev.
7142         (find_reloads_toplev, find_reloads_address_1): Use it.
7143
7144 Fri Feb 12 13:20:52 1999  Jeffrey A Law  (law@cygnus.com)
7145
7146         * h8300.md (zero_extendhisi2 H8/300 variant): Correctly handle
7147         extending a CONST_INT.
7148
7149         * h8300.md (peephole for combining memrefs): Delete incorrect peephole.
7150
7151 Fri Feb 12 18:29:11 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
7152
7153         * loop.c (loop_insn_first_p, biv_elimination_giv_has_0_offset):
7154         New functions.
7155         (maybe_eliminate_biv_1): Use biv_elimination_giv_has_0_offset.
7156
7157 Fri Feb 12 16:56:10 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
7158
7159         * loop.c (load_mems): Don't guess how to do a load / store, use
7160         emit_move_insn.
7161
7162 Fri Feb 12 09:24:26 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7163
7164         * system.h: Provide a definition for HOST_WIDEST_INT, etc.
7165
7166 Fri Feb 12 23:37:26 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7167
7168         * config/c4x/c4x.c (c4x_address_cost): Revert 9 Feb change.
7169
7170 Fri Feb 12 00:51:26 1999  Jeffrey A Law  (law@cygnus.com)
7171
7172         * reload.c (find_reloads_address_1): Fix handling of an autoincremented
7173         pseudo which is homed in the stack.
7174
7175         * mips.c (save_restore_insns): Fix loop to save/restore FP registers.
7176         (compute_frame_size): Change loop over FP regs to be consistent
7177         with the loop in save_restore_insns.
7178
7179 Thu Feb 11 17:38:40 1999  Jim Wilson  <wilson@cygnus.com>
7180
7181         * i960/i960.h (OVERRIDE_OPTIONS): Warn if -mlong-double-64 is used.
7182         (LONG_DOUBLE_TYPE_SIZE): Undef then unconditionally define to 96.
7183
7184 Thu Feb 11 15:11:35 1999  Jeffrey A Law  (law@cygnus.com)
7185
7186         * mn10200.md (bset); Re-enable.
7187
7188 Thu Feb 11 15:20:49 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
7189
7190         * sh.md (is_sfunc): New attribute.
7191         * sh.h (INSN_SETS_ARE_DELAYED, INSN_REFERENCES_ARE_DELAYED): Use it.
7192
7193 Thu Feb 11 01:06:49 1999  Nathan Sidwell  <nathan@acm.org>
7194
7195         * fold-const.c (range_binop): Take account of the bounded nature
7196         of fixed length arithmetic when comparing unbounded ranges.
7197
7198 Thu Feb 11 00:08:17 1999  John Wehle  (john@feith.com)
7199
7200         * function.c (assign_stack_temp_for_type): Clear best_p
7201         when an exact match is found.
7202
7203         * i386.h (LOCAL_ALIGNMENT): Define.
7204         * function.c (assign_stack_local, assign_outer_stack_local): Use it.
7205         (assign_stack_temp_for_type): New function based on assign_stack_temp.
7206         (assign_stack_temp): Call it.
7207         (assign_temp): Use assign_stack_temp_for_type, not assign_stack_temp.
7208         * stmt.c: Use assign_temp, not assign_stack_temp.
7209         * tm.texi: Document LOCAL_ALIGNMENT.
7210
7211 Wed Feb 10 23:28:28 1999  Jeffrey A Law  (law@cygnus.com)
7212
7213         * reorg.c: Finish deleting half-deleted comment.
7214
7215 Wed Feb 10 17:12:21 1999  Jim Wilson  <wilson@cygnus.com>
7216
7217         * emit-rtl.c (operand_subword): Sign extend REAL_VALUE_TO_TARGET_SINGLE
7218         result.
7219         * final.c (split_double): Sign extend REAL_VALUE_TO_TARGET_DOUBLE
7220         result.
7221         * real.c (endian): Delete sign extension code.
7222         * config/m32r/m32r.md (movsf_insn+1): REAL_VALUE_TO_TARGET_SINGLE call
7223         replaced with operand_subword call.
7224
7225 Wed Feb 10 15:16:39 1999  Richard Henderson  <rth@cygnus.com>
7226
7227         * alpha.md (cmov compound patterns): Delete.  Jump can now
7228         create the correct constructs in the first place.
7229
7230 Wed Feb 10 11:03:22 1999  Richard Henderson  <rth@cygnus.com>
7231
7232         * configure.in (alphaev6*): Fix typo in target_cpu_default2.
7233
7234 Wed Feb 10 13:59:18 1999  Dave Brolley  <brolley@cygnus.com>
7235
7236         * mbchar.c (local_mb_cur_max): Handle the case where MB_CUR_MAX is 0.
7237
7238 Wed Feb 10 10:35:05 1999  Jim Wilson  <wilson@cygnus.com>
7239
7240         * tmp-emsgids.c: Delete.
7241
7242 Wed Feb 10 09:57:08 1999  Mark Mitchell  <mark@markmitchell.com>
7243
7244         * rtlanal.c (for_each_rtx): Fix declaration to conform to GNU
7245         coding standards.
7246
7247 Wed Feb 10 10:09:41 1999  Jeffrey A Law  (law@cygnus.com)
7248
7249         * mn10200.md (bset, bclr): Operand 0 is a read/write operand.
7250
7251         * reload1.c (reload_combine_note_store): Second argument is no
7252         longer unused/ignored.  Handle multi-register hard regs.
7253         (move2add_note_store): Simplify.
7254
7255 Wed Feb 10 10:05:23 1999  Mumit Khan  <khan@xraylith.wisc.edu>
7256
7257         * collect2.c (collect_execute): Remove cygwin-specific code.
7258
7259 Tue Feb  9 17:27:29 1999  Nathan Sidwell  <nathan@acm.org>
7260
7261         * system.h (_, N_): Remove dummy i18n macros.
7262         * protoize.c: Move inclusion of intl.h to after system.h.
7263         * cexp.y: Include intl.h.
7264         * cexp.c: Rebuilt.
7265
7266 Tue Feb  9 16:52:22 1999  Mumit Khan  <khan@xraylith.wisc.edu>
7267
7268         * i386/cygwin.h (SUBTARGET_OVERRIDE_OPTIONS): New macro to ignore
7269         fpic/fPIC for windows32 targets.
7270         * i386/xm-cygwin.h (GET_ENV_PATH_LIST): Replace '\\' in windows32
7271         paths with '/'.
7272         * i386/mingw32.h (CPP_SPEC): Define.
7273         (CPP_PREDEFINES): Add MINGW32 version id.
7274         * i386/crtdll.h (CPP_PREDEFINES): Likewise.
7275
7276         * Makefile.in (collect2$(exeext)): Delete redundant dependency and
7277         add missing exeext to target.
7278
7279         * gcc.c (convert_filename): Handle null filename argument.
7280
7281 Wed Feb 10 15:46:10 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7282
7283         * config/c4x/c4x.md (*movhf_noclobber, *movhi_noclobber): Use
7284         m constraint instead of QT.
7285
7286 1999-02-09  Brendan Kehoe  <brendan@cygnus.com>
7287
7288         * cpplib.c (special_symbol): Move IP to be declared in function
7289         scope, rather than individual case statements.
7290
7291 1999-02-09  Zack Weinberg  <zack@rabi.columbia.edu>
7292
7293         * cppfiles.c (finclude): Handle pipes properly under old BSD
7294           derivatives.
7295
7296 1999-02-09  Melissa O'Neill  <oneill@cs.sfu.ca>
7297
7298         * system.h: Provide fallback definitions for S_ISCHR,
7299           S_ISSOCK, S_ISFIFO, O_NONBLOCK, and O_NOCTTY.
7300
7301 1999-02-09  Zack Weinberg  <zack@rabi.columbia.edu>
7302
7303         * cpplib.c (do_define): Allow redefining __STDC__ with -D.
7304
7305 1999-02-09  Jim Blandy  <jimb@zwingli.cygnus.com>
7306
7307         * configure.in: For PowerPC configurations, accept "401", "ec603e",
7308         "740", and "750" as valid arguments to --with-cpu.
7309         * configure: Rebuilt.
7310
7311 Tue Feb  9 00:00:14 1999  Mark Kettenis  <kettenis@gnu.org>
7312
7313         * configure.in (i[34567]86-*gnu*): Set float_format to i386.
7314         * configure: Rebuilt.
7315
7316 Mon Feb  8 22:38:24 1999  Jeffrey A Law  (law@cygnus.com)
7317
7318         * rs6000.md: Revert "alternate use of crs if cr0 not available"
7319         patches from 01-22-1999, 01-24-1999, 01-26-1999, and 02-08-1999.
7320
7321 Mon Feb  8 21:36:44 1999  Richard Henderson  <rth@cygnus.com>
7322
7323         * output.h (current_function_has_computed_jump): Rename from
7324         current_function_addresses_labels.
7325         * function.h (struct function): Likewise for addresses_labels member.
7326         * rtl.h (FUNCTION_FLAGS_HAS_COMPUTED_JUMP): Likewise.
7327         * function.c (current_function_has_computed_jump): Likewise.
7328         Update all references.
7329         * integrate.c (function_cannot_inline_p):
7330         Test current_function_has_computed_jump instead of addresses_labels.
7331         (initialize_for_inline): Likewise save.
7332         (output_inline_function): Likewise restore.
7333
7334         * expr.c (expand_expr): Don't reference addresses_labels variables.
7335         * stmt.c (expand_computed_goto): Set has_computed_jump.
7336
7337 1999-02-08  Michael Meissner  <meissner@cygnus.com>
7338
7339         This is being installed only to get it into the repository to help
7340         with the revert, resubmit & review process for the massive rs6000.md
7341         changes.
7342         * rs6000.md (andsi3_internal1 splitter): Don't split if using the
7343         rlwinm instruction.
7344         (anddi3_internal1): Likewise.
7345         (andsi3_internal{2,3}): Correct some insn lengths.
7346         (anddi3*): Restore missing TARGET_POWERPC64, and don't emit old
7347         mnemonics.
7348
7349 Mon Feb  8 21:31:06 1999  Richard Henderson  <rth@cygnus.com>
7350
7351         * loop.c (reg_single_usage): New file-scope variable ...
7352         (scan_loop): ... moved out of here.  Always initialize.
7353         Test loop_has_call instead of reg_single_usage not zero.
7354         Free reg_single_usage after strength reduction.
7355         (count_loop_regs_set): Assume single_usage non-zero.
7356         (combine_givs_used_by_other): Test reg_single_usage.
7357         (load_mems_and_recount_loop_regs_set): Remove reg_single_usage
7358         as a parameter.  Assume non-zero.
7359
7360 1999-02-08  Zack Weinberg  <zack@midnite.ec.rhno.columbia.edu>
7361
7362         * cpplib.c (special_symbol): Rewrite.  Don't copy things
7363           multiple times.  Handle __STDC__ specially.  T_CONST
7364           indicates a constant /string/.  Don't handle T_*_TYPE and
7365           T_SPEC_DEFINED.  Use cpp_buf_line_and_col instead of
7366           adjust_position.  Determine the file buffer only if needed.
7367           (initialize_builtins): Handle __SIZE_TYPE__,
7368           __PTRDIFF_TYPE__, __WCHAR_TYPE__, __USER_LABEL_PREFIX__, and
7369           __REGISTER_PREFIX__ with T_CONST special hashtab entries.
7370           Don't provide __OBJC__; the driver does that.  Provide
7371           __STDC_VERSION__, using T_CONST.  Use T_STDC for
7372           __STDC__.  Give install the length of all symbols defined.
7373           (eval_if_expression): Drop code to insert and remove the
7374           "defined" special symbol.
7375
7376         * cpplib.h: Remove SELF_DIR_DUMMY (no longer used).  Remove
7377           T_*_TYPE and T_SPEC_DEFINED from enum node_type; add T_STDC.
7378
7379         * cpphash.c (install): Drop the `ivalue' parameter.  Constify
7380           the `value' parameter.  All callers changed.
7381         * cpphash.h (install): Change prototype to match.
7382           (union hashval): Remove `ival' member.
7383         * cppexp.c (cpp_lex): Handle `defined' here.
7384
7385 Mon Feb  8 17:29:42 1999  Jeffrey A Law  (law@cygnus.com)
7386
7387         * pa.h (EXTRA_CONSTRAINT): Fix comment.
7388
7389 Mon Feb  8 18:57:45 1999  Vladimir N. Makarov  <vmakarov@cygnus.com>
7390
7391         * c-typeck.c (check_init_type_bitfields): Use nonincremental
7392         initialization of unions whose first member is a bitfield.
7393         Remove unnecessary code for checking the declaration mode
7394         after DECL_C_BIT_FIELD.
7395
7396         * varasm.c (output_constructor): Additional comment about the
7397         constructor of bitfield union initialization.
7398
7399 Tue Feb  9 11:55:04 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7400
7401         * config/c4x/c4x.md (*movhi_stik): New pattern.
7402         (movhi): Allow some immediate constants to be directly
7403         stored in memory.
7404
7405 Tue Feb  9 11:34:15 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7406
7407         * config/c4x/c4x.md (all call patterns): Add constraints "Ur".
7408         (call, call_value): Force address into a register if not valid
7409         for a call instruction.
7410         (load_immed_address): Emit a USE of the SYMBOL_REF that is
7411         forced into memory.
7412         * config/c4x/c4x.c (c4x_print_operand): Fix 'C' and 'U' modifiers.
7413
7414 Tue Feb  9 11:08:41 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7415
7416         * config/c4x/c4x.c (call_address_operand, symbolic_address_operand):
7417         Rename from call_operand and symbolic_operand respectively.  All
7418         callers changed.
7419         * config/c4x/c4x.md (call_address_operand, symbolic_address_operand):
7420         Likewise.
7421         * config/c4x/c4x.h (call_address_operand, symbolic_address_operand):
7422         Likewise.
7423         (PREDICATE_CODES): Allow CONST, LABEL_REF for call_address_operand.
7424
7425 Tue Feb  9 10:52:27 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7426
7427         * config/c4x/c4x.c (c4x_legitimize_address): Don't generate a
7428         LO_SUM address for HImode or HFmode but instead force address into
7429         a register so that it is offsettable.
7430         (c4x_emit_move_sequence): Handle LO_SUM immediate address.
7431
7432 Tue Feb  9 10:46:42 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7433
7434         * config/c4x/c4x.c (c4x_address_cost): Return cost of 1 for
7435         REG+REG addressing if strength reduction enabled.
7436
7437 Tue Feb  9 10:10:31 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7438
7439         * config/c4x/t-c4x  (LIBGCC2_CFLAGS): Delete.
7440         (TARGET_LIBGCC2_CFLAGS): Define.
7441
7442 1999-02-08  Nick Clifton  <nickc@cygnus.com>
7443
7444         * config/v850/v850.md: Replace \\n\\t with \\;
7445
7446         * config/v850/v850.md: Enforce TARGET_LONG_CALLS option.
7447         * config/v850/v850.c (construct_restore_jr, construct_save_jarl):
7448         Enforce TARGET_LONG_CALLS option.
7449
7450 Mon Feb  8 11:43:07 1999  Donn Terry  <donn@interix.com>
7451
7452         * real.c (PUT_REAL) [XFmode]: Zero the balance of the structure.
7453
7454 Mon Feb  8 11:37:24 1999  Marc Espie  (espie@cvs.openbsd.org)
7455
7456         * m88k/t-luna-gas: Remove bash dependency.
7457
7458 Mon Feb  8 11:34:44 1999  Graham  <grahams@rcp.co.uk>
7459
7460         * collect2.c (xrealloc): Fix typo in last change.
7461
7462 Mon Feb  8 09:13:38 1999  Jeff Law  (law@cygnus.com)
7463
7464         * version.c: Bump for snapshot.
7465
7466 Sun Feb  7 22:18:42 1999  Robert Lipe  <robertlipe@usa.net>
7467
7468         * tree.h (TYPE_CHECK): Make it clear to the preprocessor
7469         that we do not want macro replacement within a character constant.
7470         (TYPE_CHECK1): Likewise.
7471
7472 Sun Feb  7 15:37:10 1999  Jason Merrill  <jason@yorick.cygnus.com>
7473
7474         * tree.h (DECL_P): New macro.
7475
7476 Sun Feb  7 01:15:04 1999  Jeff Law  (law@cygnus.com)
7477
7478         * version.c: Bump for snapshot.
7479
7480 Sat Feb  6 18:14:46 1999  Jeffrey A Law  (law@cygnus.com)
7481
7482         * mn10300.md (reload_insi): Do not earlyclobber the output operand.
7483
7484         * README.g77, gcc.c, gcc.texi: Update email addresses.
7485         * invoke.texi system.h: Likewise.
7486
7487 Sat Feb  6 11:04:08 1999  Jim Wilson  <wilson@cygnus.com>
7488
7489         * unroll.c (find_splittable_givs): After express_from, call replace_rtx
7490         to convert dest_reg to new_reg.
7491
7492 Sat Feb  6 10:31:35 1999  Jeffrey A Law  (law@cygnus.com)
7493
7494         * reload1.c (reload_combine_note_store): Be more careful with
7495         STRICT_LOW_PART, ZERO_EXTRACT and SIGN_EXTRACT.
7496         (move2add_note_store): Likewise.
7497
7498 Sat Feb  6 10:18:01 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7499
7500         * cppfiles.c (read_and_prescan): Cast the result of `xrealloc' to
7501         U_CHAR* when assigning to one.  Ensure the values of a ?: operator
7502         have the same type.
7503
7504         * cppinit.c (initialize_char_syntax): Use K&R function definition.
7505
7506 Sat Feb  6 11:17:03 1999  Richard Earnshaw  <rearnsha@arm.com>
7507
7508         Support for ARM9
7509         * config/arm/arm.c (all_procs): Add arm9 and arm9tdmi.
7510         * config/arm/arm.h ((TARGET_CPU_arm9, TARGET_CPUD_arm9tdmi): Define.
7511         (TARGET_CPU_DEFAULT): Rework to support ARM9.
7512         (CPP_CPU_ARCH_SPEC): Likewise.
7513         (enum processor_type): Likewise.
7514         * config/arm/arm.md (attr cpu): Add arm9.
7515
7516         General scheduling changes
7517         * config/arm/arm.c (MAX_INSNS_SKIPPED): Delete.
7518         (max_insns_skipped): New variable.
7519         (arm_override_options): If generating hard floating point code for
7520         the FPA, emit code for version 3.
7521         When optimizing for space, don't synthesize constants.
7522         Reword several flags based on the requested processor and optimization
7523         level.
7524         (use_return_insn): New argument iscond, all callers changed.  Don't
7525         use a return insn if it will be conditional and that would be
7526         expensive; eg on StrongARM.
7527         (arm_adjust_cost): Anti- and output- dependencies normally have no
7528         cost.
7529         (load_multiple_sequence): Newer ARMs don't benefit from ldm if
7530         the sequence is short.
7531         (final_prescan_insn): Use max_insns_skipped instead of
7532         MAX_INSNS_SKIPPED.  Note whether we will make a return instruction
7533         conditional, and aviod this if it would be expensive.
7534         * config/arm/arm.md (scheduling attributes and function units):
7535         Rewrite to better describe ARM8, 9 and StrongARM.
7536
7537         * config/arm/arm.md (*movhi_insn_littleend): Make op0 predicate
7538         s_register_operand.
7539         (*ifcompare_plus_move): Use arm_rhs_operand in place of
7540         arm_rhsm_operand.  Rework constraints.
7541         (*if_plus_move): Likewise.
7542         (*ifcompare_move_plus): Likewise.
7543         (*if_move_plus): Likewise.
7544         (*ifcompre_arith_move): Likewise.
7545         (*if_arith_move): Likewise.
7546         (*ifcompare_move_arith): Likewise.
7547         (*if_move_arith): Likewise.
7548
7549         * config/arm/xm-netbsd.h: Don't include arm/xm-arm.h.
7550
7551 1999-02-05  Michael Meissner  <meissner@cygnus.com>
7552
7553         * loop.c (check_dbra_loop): A store using an address giv for which
7554         we have no life information is not reversible.
7555
7556 Fri Feb  5 17:08:01 1999  Dave Brolley  <brolley@cygnus.com>
7557
7558         * function.c (fixup_var_refs): Scan catch_clauses too.
7559
7560 Fri Feb  5 11:49:49 1999  Benjamin Kosnik  <bkoz@loony.cygnus.com>
7561
7562         * c-common.c (decl_attributes): Fix reserved space for init_priority.
7563         * tree.h (MAX_RESERVED_INIT_PRIORITY): New macro.
7564
7565 Fri Feb  5 12:37:05 1999  Jeffrey A Law  (law@cygnus.com)
7566
7567         * loop.c (strength_reduce): Clear not_every_iteration when
7568         passing the NOTE_INSN_LOOP_CONT note.
7569
7570         * haifa-sched.c (add_dependence): Do not add a dependency on a
7571         note.
7572
7573 Fri Feb  5 10:55:43 1999  Nick Clifton  <nickc@cygnus.com>
7574
7575         * recog.c (split_block_insns): Only call update_flow_info if
7576         instruction scheduling is enabled.
7577
7578 1999-02-05  Zack Weinberg  <zack@rabi.columbia.edu>
7579
7580         * Makefile.in (gen-protos): Use libcpp.a like everyone else.
7581
7582 Fri Feb  5 07:09:29 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
7583
7584         * loop.c (first_loop_store_insn): New file-scope variable.
7585         (prescan_loop): Set it.
7586         (check_dbra_loop): Check if a store depends on a register
7587         that is set after the store.
7588
7589 Fri Feb  5 06:55:15 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
7590
7591         * unroll.c (entire file): Remove tabs / spaces at end of lines.
7592         Replace spaces with tabs where appropriate.
7593
7594 Thu Feb  4 15:12:41 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
7595
7596         * loop.c (scan_loop): New argument loop_cont.  Changed caller.
7597         (strength_reduce): New argument loop_cont. Changed caller.
7598         Before clearing not_every_iteration after a label, check if
7599         we are not already past LOOP_CONT.
7600
7601 1999-02-04  Zack Weinberg  <zack@rabi.columbia.edu>
7602
7603         * cpperror.c (cpp_print_containing_files): Fix formatting
7604         bug induced by merge.
7605
7606 1999-02-04  Zack Weinberg  <zack@rabi.phys.columbia.edu>
7607
7608         * cpplib.c (initialize_char_syntax): Move to cppinit.c.
7609         (cpp_define): Remove redundant syntax checks.
7610         (make_assertion): Rename cpp_assert, remove redundant syntax
7611         checks, export.
7612         (cpp_options_init): Don't init things to zero twice.
7613         (cpp_expand_to_buffer): Use memcpy, not a char-by-char loop.
7614         (do_include): Kill excessively verbose #import warning that
7615         snuck back in in the gcc2 merge.
7616         (convert_string): Removed.
7617         (do_line): Rewrite with simple last-name-used cache instead of
7618         private hashtable.
7619         (cpp_start_read): Call initialize_char_syntax here, not...
7620         (cpp_reader_init): ...here.
7621         (cpp_handle_options): Support the -std switch.
7622         * cpplib.h (cpp_buffer): Add last_nominal_fname member.
7623         (cpp_options): Add c9x flag.
7624         Declare all the is_* tables and trigraph table here, as const.
7625         Prototype cpp_assert and initialize_char_syntax.
7626         * cppinit.c: New file.
7627         * cppfiles.c (read_and_prescan): Optimize.
7628         * Makefile.in (LIBCPP_OBJS): Add cppinit.o.
7629
7630 Thu Feb  4 10:46:30 1999  Gavin Romig-Koch  <gavin@cygnus.com>
7631
7632         * config/mips/mips.md ([u]divmodsi4,[u]divmoddi4,[u]divsi3,[u]divdi3,
7633         [u]modsi3,[u]moddi3) : Don't copy the "zero" argument to a register
7634         before calling gen_div_trap.
7635
7636 Wed Feb  3 21:56:27 1999  Jeffrey A Law  (law@cygnus.com)
7637
7638         * configure.in (hppa1.1-*-*, hppa2*-*): Use symbolic value rather
7639         than numeric value for target_cpu_default..
7640         * configure: Rebuilt.
7641
7642 Wed Feb  3 21:55:56 1999  Marc Espie  <Marc.Espie@liafa.jussieu.fr>
7643
7644         * Makefile.in (xgcc$(exeext)): Remove choose-temp, pexecute and
7645         mkstemp.  Get them from libiberty.
7646         (COLLECT2_OBJS): Similarly for choose-temp, cplus-dem and mkstemp.
7647         (PROTO_OBJS): Similarly for choose-temp, getopt, getopt1 and pexecute.
7648         (cplus-dem.o, pexecute.o, choose-temp.o): Remove build rules.
7649         (mkstemp.o, getopt1.o, getopt.o): Likewise.
7650
7651         * pa-gas.h (TARGET_DEFAULT): Use symbolic values rather than numeric
7652         values.
7653         * pa-hpux.h (LINK_SPEC): Likewise.
7654         * pa-hpux10.h (LINK_SPEC): Likewise.
7655         * pa-hpux9.h (LINK_SPEC): Likewise.
7656         * pa-osf.h (LINK_SPEC): Likewise.
7657         * pa-pro.h (TARGET_DEFAULT): Likewise.
7658         * pa1.h (TARGET_DEFAULT): Likewise.
7659         * pa.h (MASK_*): New defines.
7660         (TARGET_*): Use symbolic values rather than numeric values.
7661         (TARGET_SWITCHES): Likewise.
7662         (TARGET_DEFAULT): Likewise.
7663         (CPP_SPEC): Likewise.
7664
7665 Wed Feb  3 21:07:38 1999  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
7666
7667         * reload1.c (reload_cse_regs_1): Undo Jan 16 patch.
7668         * reload.c (find_reusable_reload): New function, broken out of
7669         push_reload.  Add code to verify that none of the involved
7670         outputs are subject to earlyclobbers.
7671         (push_reload): Break out new function find_reusable_reload.
7672         Delete "register" keyword for IN, OUT args.
7673
7674 Wed Feb  3 15:51:04 1999  Gavin Romig-Koch  <gavin@cygnus.com>
7675
7676         * config/mips/mips.c (true_reg_or_0_operand) : New function.
7677         * config/mips/mips.h (PREDICATE_CODES): Add true_reg_or_0_operand.
7678         * config/mips/mips.md (div_trap,div_trap_normal,div_trap_mips16):
7679         Use true_reg_or_0_operand for div_trap.
7680
7681 Wed Feb  3 20:44:59 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
7682
7683         * loop.h (express_from): Declare.
7684         (struct induction): Replace derived flag with derived_from pointer.
7685         * loop.c (strength_reduce, record_giv, recombine_givs): Likewise.
7686         (express_from): No longer static.
7687         * unroll.c (find_splittable_givs): Replace derived with derived_from.
7688         When processing an address giv with which another giv has been
7689         combined that has also been derived from a third giv, handle like
7690         having combined with the third giv.
7691         Set splittable_regs_updates appropriately for derived givs.
7692
7693 Wed Feb  3 15:26:58 1999  Gavin Romig-Koch  <gavin@cygnus.com>
7694
7695         * config/mips/mips.md (div_trap_mips16): Remove nop's after branches.
7696
7697 Wed Feb  3 11:56:23 1999  Jeffrey A Law  (law@cygnus.com)
7698
7699         * pa.c (insn_sets_and_refs_are_delayed): New function.
7700         * pa.h (INSN_SETS_ARE_DELAYED): Use it.
7701         (INSN_REFERENCES_ARE_DELAYED): Likewise.
7702
7703 Wed Feb  3 06:24:49 1999  Richard Earnshaw  (rearnsha@arm.com)
7704
7705         * config/arm/t-arm-elf (LIBGCC2_CFLAGS): Delete.
7706         * config/arm/t-linux (LIBGCC2_CFLAGS): Delete.
7707         (TARGET_LIBGCC2_CFLAGS): Define.
7708         (LIBGCC2_DEBUG_CFLAGS): Define.
7709         * config/arm/t-netbsd: Likewise.
7710         * config/arm/t-semi: Likewise.
7711         * config/arm/t-semiaof: Likewise.
7712         * config/arm/t-riscix: Likewise.
7713
7714 Wed Feb  3 10:59:07 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
7715
7716         * config/m68k/m68k.c (print_operand_address): When printing a
7717         SYMBOL_REF that ends in `.<letter>' put parentheses around it.
7718
7719 Tue Feb  2 23:38:35 1999  David O'Brien  <obrien@FreeBSD.org>
7720
7721         * i386/freebsd*.h now allows '$' in label names and does not use the
7722         PCC struct return method.
7723
7724 Tue Feb  2 22:38:23 1999  Jim Wilson  <wilson@cygnus.com>
7725
7726         * Makefile.in: Change all uses of AR to AR_FOR_TARGET.  Change all uses
7727         of HOST_AR to AR.  Likewise for AR_FLAGS, RANLIB, and RANLIB_TEST.
7728         (RANLIB_TEST): Test to see if ranlib exists.  Only test absolute file
7729         names if host == target.
7730         (HOST_AR, HOST_AR_FLAGS, HOST_RANLIB, HOST_RANLIB_TEST): Delete.
7731         (AR_FLAGS_FOR_TARGET): Renamed from AR_FOR_TARGET_FLAGS.
7732         (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Delete rules
7733         setting them to *_FOR_TARGET.
7734         * cross-make (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST):
7735         Delete.
7736
7737 Tue Feb  2 22:38:19 1999  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
7738
7739         * toplev.h (read_integral_parameter): Declare.
7740         * toplev.c (read_integral_parameter): New function.
7741
7742 Fri Jan 29 21:00:56 1999  Bob Manson  <manson@charmed.cygnus.com>
7743
7744         * resource.c, resource.h: New files.
7745         * Makefile.in (OBJS): Add it.
7746
7747         * haifa-sched.c (regno_use_in): Moved to rtlanal.c.
7748         (split_block_insns): Moved to recog.c.
7749         (update_flow_info): Make public.
7750         * rtl.h: Declare them.
7751
7752         * reorg.c: Moved the functions dealing with computing resource
7753         usage to resource.c.
7754
7755         * sched.c (regno_use_in): Moved to rtlanal.c.
7756         (update_flow_info): Make public.
7757         (schedule_insns): Use split_block_insns.
7758
7759         * recog.c (split_block_insns): New function.
7760
7761 Tue Feb  2 22:03:26 1999  David Edelsohn  <edelsohn@gnu.org>
7762
7763         * rs6000/linux.h (LINK_START_DEFAULT_SPEC): Delete, unused.
7764         (LINK_OS_DEFAULT_SPEC): Delete, unused.
7765
7766 Tue Feb  2 20:29:34 1999  Catherine Moore  <clm@cygnus.com>
7767
7768         * configure.in (arm-*-oabi): Support.
7769         * configure: Regenerate.
7770         * config/arm/unknown-elf-oabi.h: New file.
7771
7772 Tue Feb  2 19:43:59 1999  Jeffrey A Law  (law@cygnus.com)
7773
7774         * i386.md (ashlsi3): Turn into a define_expand an anonymous pattern.
7775         Make the anonymous pattern match when ! optimize_size.
7776         (ashlsi3 size optimizer): New pattern.
7777
7778         * intl/Makefile.in (uninstall): Add missing "; \".
7779
7780 Tue Feb  2 18:21:23 1999  Stan Cox  <scox@cygnus.com>
7781
7782         * sparc.h (TARGET_CPU_sparc86x): Added. TARGET_CPU_sparclite86x
7783         synonym.
7784
7785 Tue Feb  2 20:24:11 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
7786
7787         * loop.c (loop_optimize): Fix value max_uid_for_loop is reset
7788         to after find_and_verify_loops call.
7789
7790 Tue Feb  2 19:48:29 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
7791
7792         * (recombine_givs): Don't use a giv that's likely to be dead to
7793         derive others.
7794
7795         * loop.c (recombine_givs): Fix test for lifetime overlaps / loop
7796         wrap around when deriving givs.
7797
7798 Mon Feb  1 20:00:40 1999  Richard Henderson  <rth@cygnus.com>
7799
7800         * recog.c (check_asm_operands): Treat indeterminate operand ok
7801         results as success.  Try harder to resolve a matching constraint.
7802         * stmt.c (expand_asm_operands): Recognize when an output operand's
7803         constraint does not allow memory.  Treat indeterminate operand ok
7804         results as failure.  Try harder to resolve a matching constraint.
7805
7806 Mon Feb  1 15:00:02 1999  Ken Raeburn  <raeburn@cygnus.com>
7807
7808         Use varrays for constant-equivalence data:
7809
7810         * varray.h (struct const_equiv_data): New type.
7811         (union varray_data_tag): New element const_equiv.
7812         (VARRAY_CONST_EQUIV_INIT, VARRAY_CONST_EQUIV): New macros.
7813         (VARRAY_SIZE): New macro, returns number of elements.
7814         * integrate.h: Include varray.h.
7815         (struct inline_remap): Replace const_equiv_map, const_age_map and
7816         const_equiv_map_size with a const_equiv_varray element.
7817         (MAYBE_EXTEND_CONST_EQUIV_VARRAY): New macro; grows varray if
7818         needed.
7819         (SET_CONST_EQUIV_DATA): New macro; sets rtx and age fields
7820         simultaneously, growing the varray if needed.
7821
7822         * integrate.c (global_const_equiv_map,
7823         global_const_equiv_map_size): Deleted, replaced by....
7824         (global_const_equiv_varray): New variable.
7825         (expand_inline_function): References changed.
7826         * integrate.h: Update declarations.
7827
7828         * integrate.c (process_reg_parm, expand_inline_function,
7829         copy_rtx_and_substitute, try_constants, subst_constants,
7830         mark_stores): Use varray allocation and accessor macros, new
7831         integrate.h macros, and global_const_equiv_varray.  Don't
7832         conditionalize non-NULL stores on array size; instead, expand the
7833         array as needed.
7834         * unroll.c (unroll_loop): Likewise.
7835
7836         * unroll.c (unroll_loop): Initialize const_equiv_varray element to
7837         zero.  After allocating varray, always exit through bottom of
7838         function, where it can be deallocated if needed.  Don't explicitly
7839         reallocate const_equiv_map storage; instead, just ensure the
7840         varray has been initialized, and update the global reference.
7841
7842 Mon Feb  1 09:40:25 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7843
7844         * system.h (inline, const): Handle these for stage2 (and later) gcc.
7845
7846         * dwarf2out.c (inline): Don't define.
7847
7848         * dwarfout.c (inline): Likewise.
7849
7850 Sun Jan 31 22:04:37 1999  Richard Henderson  <rth@cygnus.com>
7851
7852         * loop.c (recombine_givs): Dump recombination and derivation data.
7853
7854 Sun Jan 31 20:34:29 1999  Zack Weinberg  <zack@rabi.columbia.edu>
7855
7856         * flags.h: Declare flag_no_ident.
7857         * toplev.c: Define flag_no_ident.  Process -f(no-)ident here.
7858         * c-tree.h: Don't declare flag_no_ident.
7859         * c-decl.c: Don't define flag_no_ident.  Don't process
7860           -f(no-)ident switches here.
7861
7862         * config/elfos.h (ASM_FILE_END): Output final .ident directive
7863           only if !flag_no_ident.
7864         * config/ptx4.h: Likewise.
7865         * config/svr4.h: Likewise.
7866         * config/alpha/elf.h: Likewise.
7867         * config/arm/linux-elf.h: Likewise.
7868         * config/i386/sco5.h: Likewise.
7869         * config/i860/fx2800.h: Likewise.
7870         * config/mips/gnu.h: Likewise.
7871         * config/i386/osfrose.h: Likewise.
7872
7873         * gcc.c (C specs): Map -Qn to -fno-ident.
7874         * objc/lang-specs.h: Likewise.
7875
7876 Mon Feb  1 10:52:07 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7877
7878         * configure.in: Don't remove loop.o and unroll.o when
7879         enable-haifa is selected.
7880         * configure: Rebuilt.
7881
7882 Sun Jan 31 13:22:02 1999  John Wehle  (john@feith.com)
7883
7884         * i386.md (movsicc, movhicc, movsfcc, movdfcc,
7885         movxfcc, movdicc): Delete unconstrained alternatives.
7886         * i386.c (output_fp_conditional_move,
7887         output_int_conditional_move): Delete unused case.
7888
7889 Sun Jan 31 01:15:04 1999  Jeff Law  (law@cygnus.com)
7890
7891         * version.c: Bump for snapshot.
7892
7893 Sun Jan 31 00:52:37 1999  Richard Henderson  <rth@cygnus.com>
7894
7895         * alpha.md (mov patterns): Emit the assembler aliases mov and fmov
7896         instead of bis and cpys.  Combine alternatives where possible.
7897
7898 Sat Jan 30 23:14:13 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7899
7900         * gcov.c (fnotice): Add missing FILE* parameter.
7901         (function_summary): Fix format specifiers in calls to `fnotice'.
7902         (output_data): Likewise.
7903
7904         * toplev.c (fnotice): Constify char* parameter.
7905
7906         * toplev.h (fnotice): Add prototype.
7907         Wrap prototype with BUFSIZ to protect FILE* usage.
7908
7909 Sun Jan 31 15:33:09 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7910
7911         * config/c4x/c4x.h (RTX_COSTS): Explicitly define c4x costs.
7912
7913 Sat Jan 30 08:27:23 1999  Jeffrey A Law  (law@cygnus.com)
7914
7915         * combine.c (distribute_notes): Handle REG_EH_REGION notes.
7916
7917         * alias.c (fixed_scalar_and_varying_struct_p): Add "static" to
7918         function definition.
7919         (aliases_everything_p, write_dependence_p):Likewise.
7920
7921         * install.texi: Fix merge lossages.
7922
7923         * cccp.c (main): Only call setlocale (LC_MESSAGES, ...) if LC_MESSAGES
7924         is defined.
7925         * collect2.c (main): Likewise.
7926         * cppmain.c (main): Likewise.
7927         * gcc.c (main): Likewise.
7928         * gcov.c (main): Likewise.
7929         * protoize.c (main): Likewise.
7930         * toplev.c (main): Likewise.
7931
7932         * pa.md (parallel shift and shiftadd): Mark output of shift as an
7933         earlyclobber.
7934
7935         * loop.c: Disable recent loop changes.  Temporary as Joern
7936         continues to fix problems.
7937
7938 Sat Jan 30 03:24:37 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
7939
7940         * loop.c (strength_reduce): Size reg_map according to reg_iv_type.
7941
7942 Fri Jan 29 18:26:07 1999  Dave Brolley  <brolley@cygnus.com>
7943
7944         * emit-rtl.c (remove_insn): New function.
7945         * rtl.h (remove_insn): Add prototype.
7946         * function.c (reposition_prologue_and_epilogue_notes): Call remove_insn.
7947
7948 Fri Jan 29 22:34:41 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
7949
7950         * loop.c (recombine_givs): Don't try to derive givs that have combined.
7951
7952 Fri Jan 29 15:00:39 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7953
7954         * toplev.c (notice, fnotice): Check ANSI_PROTOTYPES, not __STDC__,
7955         when declaring arguments and calling va_arg() to initialize them.
7956
7957         * collect2.c (notice): Likewise.
7958
7959         * loop.c (find_life_end): Use PROTO() macro in the prototype.
7960
7961 Fri Jan 29 14:36:11 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7962
7963         * collect2.c (error): Fix typo in declaration.
7964
7965         * cpperror.c (cpp_message): Likewise.
7966
7967         * cpplib.c (cpp_warning): Likewise.
7968
7969         * cpplib.h (cpp_notice): Use PVPROTO not VPROTO, also add
7970         ATTRIBUTE_PRINTF_1.
7971
7972         * toplev.c (error): Fix typo in declaration.
7973
7974 Fri Jan 29 15:44:13 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
7975
7976         * loop.c (strength_reduce): Fix HAVE_cc0 handling when scanning
7977         forward from cont dominator.
7978
7979 Fri Jan 29 07:10:27 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7980
7981         * cccp.c (eprint_string): Constify a char*.
7982         (notice): Likewise.  Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1.
7983         (vnotice): Constify a char*.
7984         (error): Likewise.  Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1.
7985         (verror): Constify a char*.
7986         (warning): Likewise.  Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1.
7987         (vwarning): Constify a char*.
7988         (error_with_line): Likewise.  Use PVPROTO not VPROTO, add
7989         ATTRIBUTE_PRINTF_2.
7990         (verror_with_line): Constify a char*.
7991         (vwarning_with_line): Likewise.
7992         (warning_with_line): Likewise.  Use PVPROTO not VPROTO, add
7993         ATTRIBUTE_PRINTF_2.
7994         (pedwarn): Constify a char*.  Use PVPROTO not VPROTO, add
7995         ATTRIBUTE_PRINTF_1.
7996         (pedwarn_with_line): Likewise with ATTRIBUTE_PRINTF_2.
7997         (pedwarn_with_file_and_line): Likewise with ATTRIBUTE_PRINTF_4.
7998         Also correct typo in parameter name declaration.
7999         (make_assertion): Constify a char*.
8000         (quote_string_for_make): Likewise.
8001         (deps_output): Likewise.
8002         (fatal): Likewise.  Use PVPROTO not VPROTO, add
8003         ATTRIBUTE_PRINTF_1.  Use ATTRIBUTE_NORETURN not an explicit
8004         "__attribute__ ((noreturn))".
8005         (fancy_abort): Likewise for ATTRIBUTE_NORETURN.
8006         (pfatal_with_name): Likewise.
8007         (pipe_closed): Likewise.
8008         (memory_full): Likewise.
8009
8010 Fri Jan 29 00:14:55 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
8011
8012         * loop.c (strength_reduce): Grow set_in_loop / n_times_set /
8013         may_not_optimize to proper size when converting biv increments
8014         into givs.
8015         If necessary, reallocate reg_iv_type / reg_iv_info before calling
8016         recombine_givs.
8017
8018 Thu Jan 28 23:24:08 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
8019
8020         * loop.c (recombine_givs): New parameter unroll_p.  If set, don't
8021         generate complex adds.  Changed caller.
8022         Don't generate adds that cost more than the original one.
8023         (strength_reduce): Warning fixes.
8024
8025 Thu Jan 28 09:41:11 1999  Jeffrey A Law  (law@cygnus.com)
8026
8027         * configure.in (hppa1.0-hp-hpux10*): Use t-pa.
8028         * configure: Rebuilt.
8029
8030 Wed Jan 27 23:39:53 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
8031
8032         * rtl.h (insn_first_p, no_jumps_between_p): Declare.
8033         * rtlanal.c (insn_first_p, no_jumps_between_p): New function.
8034         * loop.h (varray.h): Include.
8035         (struct induction): Change combined_with to unsigned.
8036         New members derived, ix and last_use.
8037         (reg_iv_type, reg_iv_info): Now varray_type.  All references changed.
8038         (REG_IV_TYPE, REG_IV_INFO): Define.
8039         (first_increment_giv, last_increment_giv): Declare.
8040         * loop.c (loop_number_loop_cont): New static variable.
8041         (loop_number_cont_dominator): Likewise.
8042         (reg_iv_type, reg_iv_info): Now varray_type.
8043         (first_increment_giv, last_increment_giv): New variables.
8044         (compute_luids, verify_dominator, find_life_end): New functions.
8045         (cmp_recombine_givs_stats, recombine_givs): Likewise.
8046         (loop_optimize): Allocate loop_number_loop_cont and
8047         loop_number_cont_dominator.  Use compute_luids.
8048         (find_and_verify_loops): Initialize loop_number_loop_cont and
8049         loop_number_cont_dominator.
8050         (strength_reduce): Try to find bivs that can be expressed as givs
8051         of another biv, and to convert biv increments into givs.
8052         Call recombine_givs.  Handle derived givs.
8053         (record_biv): New argument location.  All callers changed.
8054         (record_giv): Initialize derived and last_use fields.
8055         (basic_induction_var): New argument location.  All callers changed.
8056         (combine_givs): Don't combine a DEST_REG giv with a DEST_ADDR giv.
8057         Increment combined_with instead of setting to 1.
8058         * unroll.c (derived_regs): New static variable.
8059         (unroll_loop): Initialize it.
8060         Allocate local_regno according to max_reg_num.
8061         (copy_loop_body): Cope with derived givs.
8062         (find_splittable_givs): Check for Givs made from biv increments.
8063         Set derived_regs for givs.
8064         * Makefile.in (stmt.o, loop.o, unroll.o): Depend on loop.h .
8065
8066 Wed Jan 27 19:31:36 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
8067
8068         * function.c (purge_addressof_1): Handle case when a register
8069         has been used in a wider mode.
8070
8071 1999-01-27  Bruce Korb  <autogen@linuxbox.com>
8072
8073         * fixinc/fixincl.c, fixinc/server.[ch]:
8074         Removed the last of the capitalized variable and proc names.
8075
8076         * fixinc/server.c: Removed the process open code.
8077         * fixinc/procopen.c: New file containing the proc open code.
8078         * fixinc/inclhack.tpl: Added code to bypass a readability test
8079         when a file is not present.  A problem on some systems.
8080         * fixinc/inclhack.sh, fixinc/fixincl.sh: Regenerated.
8081
8082 Wed Jan 27 11:58:18 1999  Dave Brolley  <brolley@cygnus.com>
8083
8084         * cpplib.h (cpp_notice): Add prototype.
8085
8086 Wed Jan 27 02:20:48 1999  Jeffrey A Law  (law@cygnus.com)
8087
8088         * Merge gcc2 snapshot 19980929.
8089
8090         * cccp.c (PRINTF_PROTO): Remove.
8091         (PRINTF_PROTO_{1,2,3,4}: Likewise.
8092         * cexp.y: Likewise.
8093         * system.h: Add PRINTF_PROTO and PRINTF_PROTO_{1,2,3,4}.
8094
8095         * fix-header.c (cpp_file_lin_for_message): Delete.  In libcpp.
8096         (cpp_print_containing_files, v_cpp_message, cpp_message): Likewise.
8097         (cpp_fatal, cpp-Pfatal_with_name): Likewise.
8098
8099         * gen-protos.c (hashf): Delete in cpphash.o.
8100         * gen-protos.c (hashf): Delete in cpphash.o.
8101
8102         * expr.c: Do not merge SAVE_STACKAREA_MODE changes.
8103         * expmed.c: Likewise.
8104         * rs6000.md: Likewise.
8105
8106         * rs6000.c, rs6000.md: Do not merge formatting changes yet.
8107
8108 Wed Jan 27 01:13:42 1999  Richard Henderson  <rth@cygnus.com>
8109
8110         * rs6000.c (input_operand): Don't expect CONST around CONSTANT_P_RTX.
8111         * rs6000.md (movsi, movdi): Likewise.
8112
8113 Tue Jan 26 13:31:38 1999  Jim Wilson  <wilson@cygnus.com>
8114
8115         * function.c (expand_function_end): Pass arg_pointer_save_area to
8116         validize_mem before using it.  Emit code into a sequence.
8117
8118 Tue Jan 26 13:41:38 1999  David Edelsohn  <edelsohn@gnu.org>
8119
8120         * rs6000.md (doz + set cr and or + set cr patterns): Add missing
8121         '#' to split patterns.  Correct indentation of some new patterns.
8122
8123 1999-01-26  Zack Weinberg  <zack@midnite.ec.rhno.columbia.edu>
8124
8125         * cppfiles.c (safe_read): Deleted.
8126         (read_and_prescan): New function, replaces safe_read, converts
8127         and/or warns about trigraphs, silently converts odd line
8128         terminators (\r, \n\r, \r\n).  Warns about no newline at EOF.
8129         (finclude): Use read_and_prescan; turn off nonblocking mode on
8130         the input descriptor; remove file-size-examination and
8131         no-newline-at-EOF gunk which is longer necessary; be more
8132         careful about checking that we've been handed a legitimate
8133         file to read (only real files, pipes, and ttys are acceptable).
8134         * cpplib.h (cpp_options): Rename no_trigraphs flag to
8135         `trigraphs' and invert its sense.
8136         (trigraph_table): Declare.
8137         (cpp_warning_with_line): Prototype.
8138         * cpplib.c: Remove all references to trigraph_pcp. Define
8139         trigraph_table; initialize it in initialize_char_syntax.  Open
8140         files in nonblocking mode.  s/no_trigraphs/trigraphs/
8141         throughout, and invert sense.  Put cpp_warning_with_line back
8142         in and export it.
8143
8144 Tue Jan 26 23:21:49 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
8145
8146         * config/c4x/c4x.h (COUNTER_REGS): New register class.
8147         * config/c4x/c4x.md (*rptb_init): Change constraints.
8148         (rptb_end): Emit alternate looping instructions if
8149         RC register not allocated for loop counter.
8150         (decrement_and_branch_on_count): Allow other registers
8151         for loop counter.
8152
8153 1999-01-25  Zack Weinberg  <zack@rabi.columbia.edu>
8154
8155         * cppexp.c (struct arglist): Removed.
8156         (parse_number): Use HOST_WIDE_INT for the accumulator.
8157         Allow two `l' suffixes unless C89.  Clean up.  Make static.
8158         (parse_charconst): New function broken out of cpp_lex.
8159         Code cleaned up drastically.  Don't use a token_buffer.
8160         (token_buffer): Removed.
8161         (cpp_lex): Don't call parse_number on a constant string.
8162         Use parse_charconst.
8163         (cpp_parse_expr): Properly handle an ERROR op returned by
8164         cpp_lex.
8165
8166 1999-01-25  Zack Weinberg  <zack@rabi.phys.columbia.edu>
8167
8168         * cpplib.c: Don't include signal.h, sys/times.h, or
8169         sys/resource.h. Don't declare localtime.
8170         (macroexpand): Handle special symbols here.
8171         (push_macro_expansion): Chop off the trailing '@ ' if possible
8172         here.
8173         (cpp_get_token): Don't do either of the above two things here.
8174         Move `string' label just after case '"' so that wide strings
8175         don't crash the preprocessor.
8176
8177 Sun Jan 24 20:13:45 1999  David Edelsohn  <edelsohn@gnu.org>
8178
8179         * rs6000.md (left shift + set cr patterns): Add missing '#' to
8180         split patterns.
8181         (move register + set cr pattern): Likewise.
8182         (movdi, !TARGET_POWERPC64 splitters): Add back in Jan. 15th patch,
8183         inadvertently deleted.
8184
8185 Sun Jan 24 08:07:59 1999  Jeffrey A Law  (law@cygnus.com)
8186
8187         * stmt.c (stmt_loop_nest_empty): New function.
8188         * tree.h (stmt_loop_nest_empty): Declare it.
8189         * rtl.def (CALL_PLACEHOLDER): New rtx code.
8190
8191 Sun Jan 24 21:24:43 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
8192
8193         * config/c4x/c4x.c (c4x_emit_move_sequence, c4x_encode_section_info):
8194         New functions.
8195         (c4x_check_legit_addr): Remove USE and PLUS, allow
8196         LO_SUM, and disable SYMBOL_REF, LABEL_REF, and CONST cases.
8197         (c4x_legitimize_address): Penalize SYMBOL_REF, LABEL_REF, and
8198         CONST cases.  Add LO_SUM.
8199         (c4x_print_operand): Modified 'C' and 'R' cases for calls.
8200         Added 'U' case.  Remove dependence on SYMBOL_REF_FLAG.
8201         (c4x_print_operand_address): Handle LO_SUM.
8202         (c4x_scan_for_ldp): Delete.  Hooray!
8203         (c4x_process_after_reload): Remove call to c4x_scan_for_ldp.
8204         Split all insns.
8205         (c4x_immed_int_constant): Renamed from c4x_int_constant.  All callers
8206         changed.
8207         (c4x_immed_float_constant): Renamed from c4x_float_constant.  All
8208         callers changed.
8209         (c4x_T_constraint): Allow LO_SUM, disable SYMBOL_REF, LABEL_REF,
8210         and CONST.
8211         (c4x_U_constraint, symbolic_operand): New functions.
8212         (src_operand): Allow 'I' constants in HImode.  Allow LO_SUM,
8213         disable SYMBOL_REF, LABEL_REF, and CONST.
8214         (lsrc_operand, tsrc_operand): Call src_operand instead of
8215         general_operand.
8216         (c4x_operand_subword): Update comments.
8217
8218         * config/c4x/c4x.c (TARGET_LOAD_ADDRESS): New macro.
8219         (LEGITIMATE_CONSTANT_P): Allow SYMBOL_REF, LABEL_REF, CONST,
8220         plus HIGH and LO_SUM for the C40.
8221         (ENCODE_SECTION_INFO): Define macro.
8222         (symbolic_operand, c4x_U_constraint, c4x_emit_move_sequence): New
8223         prototypes.
8224         (PREDICATE_CODES): Add symbolic_operand.
8225
8226         * config/c4x/c4x.md (movqi, movgqf, movhi, movhi): Call
8227         c4x_emit_move_sequence.
8228         (floatunsqiqf2, fixuns_truncqfqi2): Rework emitted RTL
8229         to avoid symbol references.
8230         (all patterns with g constraint): Replace 'g' constraint with 'rIm'.
8231         (set_high): Renamed from set_high_use.
8232         (set_lo_sum): Renamed from set_ior_lo_use.
8233         (all call patterns): Make MEM explicit in call address operands.
8234         Modified output templates to use 'U' modifier.
8235
8236 Sun Jan 24 01:15:05 1999  Jeff Law  (law@cygnus.com)
8237
8238         * version.c: Bump for snapshot.
8239
8240 Sat Jan 23 22:34:57 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8241
8242         * final.c (bb_str): Qualify a char* with the keyword `const'.
8243         (add_bb_string, final_scan_insn, output_asm_insn): Likewise.
8244
8245         * fix-header.c (read_scan_file): Likewise.
8246
8247         * genoutput.c (output_epilogue, process_template): Likewise.
8248
8249         * local-alloc.c (requires_inout, block_alloc): Likewise.
8250
8251         * output.h (output_asm_insn, assemble_string): Likewise.
8252
8253         * recog.c (recog_constraints, check_asm_operands,
8254         decode_asm_operands, extract_insn, preprocess_constraints,
8255         constrain_operands): Likewise.
8256
8257         * recog.h (operand_alternative, recog_constraints, insn_template,
8258         insn_outfun, insn_operand_constraint, insn_name): Likewise.
8259
8260         * regclass.c (record_reg_classes, scan_one_insn): Likewise.
8261
8262         * regmove.c (find_matches): Likewise.
8263
8264         * reload.c (alternative_allows_memconst): Likewise.
8265
8266         * reload1.c (constraint_accepts_reg_p,
8267         reload_cse_simplify_operands): Likewise.
8268
8269         * rtl.h (decode_asm_operands): Likewise.
8270
8271         * scan.h (fn_decl): Likewise.
8272
8273         * varasm.c (assemble_string): Likewise.
8274
8275 Sat Jan 23 01:37:36 1999  Jeffrey A Law  (law@cygnus.com)
8276
8277         * configure.in (gcc_tooldir): Handle case where exec_prefix has
8278         not been explicitly set.
8279         * configure: Rebuilt.
8280
8281         * fold-const.c (lshift_double): Mark 'prec' arguments as possibly
8282         unused.
8283
8284         * bitmap.h (bitmap_head_def): Make indx field unsigned.
8285
8286         * configure.in (gcc_tooldir): When not making a relative gcc_tooldir,
8287         use $exec_prefix/$target_alias for gcc_tooldir.
8288         * configure: Rebuilt.
8289
8290 Fri Jan 22 11:48:56 1999  Richard Henderson  <rth@cygnus.com>
8291
8292         * cppp.c (xrealloc): Fix typo last change.
8293         * cppalloc.c, gcc.c, genattr.c, genattrtab.c, gencodes.c: Likewise.
8294         * genconfig.c, genemit.c, genextract.c, genflags.c: Likewise.
8295         * genopinit.c, genoutput.c, genpeep.c, genrecog.c: Likewise.
8296
8297 1999-01-22  Michael Meissner  <meissner@cygnus.com>
8298
8299         * rs6000.h (CR0_REGNO_P): New macro to test if cr0.
8300         (CR_REGNO_NOT_CR0_P): New macro to test if cr, but not cr0.
8301         (PREDICATE_CODES): Add cc_reg_not_cr0_operand.
8302         (cc_reg_not_cr0_operand): Add declaration.
8303
8304         * rs6000.c (cc_reg_not_cr0_operand): Return true if register is a
8305         pseudo register, or a control register that is not CR0.
8306
8307         * rs6000.md (all combiner patterns building . instructions): For
8308         all `.' instructions that do something and set cr0, add an
8309         alternative that does the operation, and then sets a different
8310         flag, in order to avoid using the costly mcrf instruction and also
8311         allow cr0 to be clobbered in asm statements.  Also fix a few
8312         patterns that used the wrong register.
8313
8314         * rs6000.h (rs6000_cpu_select): Make string, names be const char *.
8315         (rs6000_debug_name): Make const char *, not char *.
8316
8317         * sysv4.h (rs6000_{abi,sdata}_name): Make const char *.
8318
8319         * rs6000.c (rs6000_{debug,abi,sdata}_name): Make const char *.
8320         (rs6000_select): Use const char * in casts.
8321
8322 Fri Jan 22 07:43:01 1999  Jeffrey A Law  (law@cygnus.com)
8323
8324         * Makefile.in (gcc_tooldir): Move before first reference.
8325         Let autoconf substitute in a value.
8326         * configure.in (gcc_tooldir): Only use a relative path to the
8327         tool directory if $exec_prefix == $prefix.
8328         * configure: Rebuilt.
8329
8330         * Makefile.in (tooldir): Replace with gcc_tooldir.
8331
8332 Thu Jan 21 23:21:57 1999  Jeffrey A Law  (law@cygnus.com)
8333
8334         * m68k.md (ashldi_const): Disable for !TARGET_5200.  Fix indentation.
8335         (ashldi3 expander): Similarly.  Update comments.
8336         (ashrdi_const, lshrdi_const): Fix indentation.
8337         (ashrdi3, lshrdi3): Fix indentation.  Update comments.
8338
8339 Thu Jan 21 21:53:36 1999  Richard Henderson  <rth@cygnus.com>
8340
8341         * emit-rtl.c (try_split): Don't try to split non-instructions.
8342
8343 Thu Jan 21 23:47:30 1999  Andrew MacLeod  <amacleod@cygnus.com>
8344
8345         * expr.c (emit_push_insn): Fix dumb typo.
8346
8347 Thu Jan 21 20:24:02 1999  Richard Henderson  <rth@cygnus.com>
8348
8349         * rs6000.h (LEGITIMIZE_RELOAD_ADDRESS): Recognize and accept
8350         transformations that we have performed earlier.
8351         * alpha.h (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
8352
8353         * alpha.md (prologue_stack_probe_loop): Don't do our own label
8354         handling, call gen_label_rtx instead.
8355
8356 Thu Jan 21 17:45:18 1999  Richard Henderson  <rth@cygnus.com>
8357
8358         * configure.in ({rs6000|powerpc}-ibm-aix4.[12]*): Add missing `then'.
8359
8360         * cccp.c (xrealloc): Call malloc given a NULL old pointer.
8361         * collect2.c, cppalloc.c, gcc.c, genattr.c, genattrtab.c: Likewise.
8362         * gencodes.c, genconfig.c, genemit.c, genextract.c: Likewise.
8363         * genflags.c, genopinit.c, genoutput.c, genpeep.c: Likewise.
8364         * genrecog.c, mips-tfile.c, protoize.c: Likewise.
8365
8366 Thu Jan 21 19:44:55 1999  Michael Meissner  <meissner@cygnus.com>
8367
8368         * configure.in ({rs6000|powerpc}-ibm-aix4.[12]*): If
8369         --with-gnu-ld, use x-aix41-gld instead of x-aix41 to suppress
8370         adding -Wl,-bbigtoc to BOOT_LDFLAGS.
8371         * configure: Regenerate.
8372
8373         * config/rs6000/x-aix41-gld: New file, don't set BOOT_LDFLAGS.
8374
8375 Thu Jan 21 15:48:03 1999  Dave Brolley  <brolley@cygnus.com>
8376
8377         * cppexp.c (cpp_lex): Allocate token_buffer dynamically.
8378
8379 Thu Jan 21 14:18:04 1999  Andrew MacLeod  <amacleod@cygnus.com>
8380
8381         * expr.c (MOVE_BY_PIECES_P): Define condition for deciding to use
8382         move_by_pieces.
8383         (MOVE_MAX_PIECES): Define maximum number of bytes to move at once.
8384         (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_DECREMENT): Define defaults.
8385         (USE_STORE_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Define defaults.
8386         (move_by_pieces): Use new macros.
8387         (emit_block_move): Use new macros.
8388         (clear_by_pieces): Use new macros.
8389         (clear_storage): Use new macros.
8390         (emit_push_insn): Use new macros.
8391         (expand_expr): Use new macros.
8392         * config/sh/sh.h (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_DECREMENT):
8393         Define.
8394         (USE_STORE_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Define.
8395         (MOVE_BY_PIECES_P): Define based on alignment and TARGET_SMALLCODE.
8396         (MOVE_MAX_PIECES): Move 8 bytes on SH4.
8397         * tm.texi(MOVE_BY_PIECES_P, MOVE_MAX_PIECES, USE_LOAD_POST_INCREMENT,
8398         USE_LOAD_PRE_DECREMENT, USE_STORE_POST_INCREMENT,
8399         USE_STORE_PRE_DECREMENT): Describe new macros.
8400
8401 Thu Jan 21 14:13:31 1999  Vladimir N. Makarov  <vmakarov@cygnus.com>
8402
8403         * varasm.c (output_constant_pool): Use floor_log2 instead of
8404         exact_log2 for ASM_OUTPUT_ALIGN.
8405
8406         * stor-layout.c (layout_type): Do machine-dependent extra alignment.
8407
8408         * emit-rtl.c (operand_subword): Handle case when a subword outside
8409         the operand.
8410
8411         * tm.texi (ROUND_TYPE_{SIZE,ALIGN}): More accurate descriptions of
8412         the macros.
8413
8414 Thu Jan 21 01:59:30 1999  Richard Henderson  <rth@cygnus.com>
8415
8416         * cse.c (fold_rtx): Revert 29 Dec change.
8417         (cse_insn): Revert 12 Jan change.
8418         * expr.c (expand_builtin): Don't emit CONST around CONSTANT_P_RTX.
8419         * regclass.c (reg_scan_mark_refs): Revert 29 Dec change.
8420         * rtl.def: Likewise.
8421         * rtl.h (CONSTANT_P): Likewise.
8422
8423         * expr.c (emit_move_insn): Never try to flush CONSTANT_P_RTX
8424         to memory.
8425         * recog.c (immediate_operand): Accept CONSTANT_P_RTX.
8426         * alpha.c (input_operand): Likewise.
8427         * c4x.c (const_operand): Likewise.
8428
8429         * explow.c (allocate_dynamic_stack_space): Use register_operand
8430         instead of arith_operand, which does not exist.
8431
8432         * 1750a.h: Fix comment closure.
8433         * a29k.c (a29k_set_memflags): Fix typo in 19 Jan change.
8434         * arc.md (one_cmplsi2_set_cc_insn): Fix set mode mismatch.
8435         * arm.h (TARGET_SWITCHES): Fix typo.
8436         * i370.md (anon mult and div patterns): Fix set mode mismatch.
8437         * i860.c (output_delayed_branch): Fix operands to constrain_operands.
8438         (output_delay_insn): Likewise.
8439         * m88k.md (anon rotate insns): Fix set mode mismatch.
8440         (anon BLKmode moves): Commonize and fix set mode mismatches.
8441         * ns32k.md (udivmoddi[shq]i4_internal): Fix mode mismatch.
8442         * romp.md (movdf): Fix typo.
8443
8444 Thu Jan 21 00:29:35 1999  Nathan Sidwell  <nathan@acm.org>
8445
8446         * Makefile.in (install-common): Remove extraneous chmod for gcov
8447         install.
8448
8449 Wed Jan 20 18:15:08 1999  Dave Brolley  <brolley@cygnus.com>
8450
8451         * function.c (assign_parms): Save and restore setting of
8452         TREE_USED (parm).
8453
8454 Wed Jan 20 12:51:42 1999  Mark Mitchell  <mark@markmitchell.com>
8455
8456         * arm.md: Use MEM_COPY_ATTRIBUTES where appropriate throughout.
8457         Pass MEM_SCALAR_P to arm_gen_store_multiple where appropriate.
8458
8459 Tue Jan 19 21:20:52 1999  Richard Henderson  <rth@cygnus.com>
8460
8461         * recog.c (pop_operand): New function.
8462         * recog.h (pop_operand): Declare it.
8463         * genrecog.c (preds): Define it.
8464
8465         * expr.c (do_jump_for_compare): Handle conditional branch expanders
8466         emitting multiple jump instructions.
8467         * jump.c (condjump_label): New function.
8468         * rtl.h (condjump_label): Declare it.
8469
8470 Tue Jan 19 21:08:20 1999  Richard Henderson  <rth@cygnus.com>
8471
8472         * expr.c (emit_move_insn_1): Revert 17 Dec change.  Don't emit
8473         clobber during or after reload.
8474
8475 Tue Jan 19 16:56:03 1999  Richard Henderson  <rth@cygnus.com>
8476
8477         * genoutput.c (name_for_index): New function.
8478         (scan_operands, validate_insn_alternatives): Use it.
8479         * genrecog.c (insn_name_ptr_size): New variable.
8480         (make_insn_sequence): Fill in insn_name_ptr.
8481         (merge_trees): Use it.
8482
8483 Tue Jan 19 16:37:36 1999  Richard Henderson  <rth@cygnus.com>
8484
8485         * i386/isc.h (TARGET_DEFAULT): Define symbolicly.
8486         * i386/isccoff.h, i386/next.h, i386/sco.h, i386/sco5.h: Likewise.
8487         * i386/scodbx.h, i386/sequent.h, i386.unix.h: Likewise.
8488
8489 Tue Jan 19 15:00:10 1999  Jeffrey A Law  (law@cygnus.com)
8490
8491         * loop.c (NUM_STORES): Delete.
8492         (loop_store_mems): Turn into an EXPR_LIST of MEMs.
8493         (prescan_loop): Properly initialize loop_mems_idx.
8494         (note_addr_stored): Simplify using list structure instead of
8495         fixed sized array.
8496         (invariant_p, check_dbra_loop, load_mems): Similarly.
8497
8498         * flow.c (invalidate_from_autoinc): New function.
8499         (mark_set_1, mark_used_regs): Use it.
8500
8501         * Makefile.in (protoize.o, unprotoize.o): Depend on Makefile.
8502
8503 1999-01-19  Vladimir N. Makarov  <vmakarov@cygnus.com>
8504
8505         * invoke.texi (-mlong-double-64): New option description.
8506
8507 1999-01-19  Jim Wilson  <wilson@cygnus.com>
8508
8509         * libgcc2.c: Change all uses of LONG_DOUBLE_TYPE_SIZE to
8510         LIBGCC2_LONG_DOUBLE_TYPE_SIZE.
8511         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New.  Set to LONG_DOUBLE_TYPE_SIZE
8512         if not defined.
8513         * i960/i960.h (MULTILIB_DEFAULTS): Define to mnumerics.
8514         (CPP_SPECS): Add -mlong-double-64 support.
8515         (TARGET_FLAG_LONG_DOUBLE_64, TARGET_LONG_DOUBLE_64): New.
8516         (TARGET_SWITCHES): Add -mlong-double-64 support.
8517         (LONG_DOUBLE_TYPE_SIZE): Likewise.
8518         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
8519         * i960/vx960-coff.h (MULTILIB_DEFAULTS): Define to msoft-float.
8520         (CPP_SPECS): Add -mlong-double-64 support.
8521         * i960/t-960bare (MULTILIB_OPTIONS): Add mlong-double-64.
8522         (MULTILIB_DIRNAMES): Add ld64.
8523         * i960/t-vxworks960 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Likewise.
8524
8525 Tue Jan 19 11:54:04 1999  Jason Merrill  <jason@yorick.cygnus.com>
8526
8527         * calls.c (expand_call): Strip a TARGET_EXPR if we're passing by
8528         invisible reference.
8529
8530 Tue Jan 19 14:51:36 1999  David Edelsohn  <edelsohn@gnu.org>
8531
8532         * rs6000.c (offsettable_addr_operand): Delete.
8533         (offsettable_mem_operand): New function.
8534         * rs6000.h (PREDICATE_CODES): Reflect function change.
8535         (RS6000_SAVE_TOC): Represent address as MEM.
8536         * win-nt.h (RS6000_SAVE_TOC): Same.
8537         * rs6000.md (indirect calls): Change offsettable address parameter
8538         to offsettable memory parameter.
8539
8540 Tue Jan 19 10:24:53 1999  Mark Mitchell  <mark@markmitchell.com>
8541
8542         * rtl.h (rtx_def): Update documentation.
8543         (MEM_IN_STRUCT_P): Likewise.
8544         (MEM_SCALAR_P): New macro.
8545         (MEM_COPY_ATTRIBUTES): Likewise.
8546         (MEM_SET_IN_STRUCT_P): Likewise.
8547         * rtl.texi (MEM_SCALAR_P): Document.
8548         * alias.c (canon_rtx): Use MEM_COPY_ATTRIBUTES.
8549         (fixed_scalar_and_varying_struct_p): New function.  Use
8550         MEM_SCALAR_P rather than !MEM_IN_STRUCT_P.
8551         (aliases_everything_p): Likewise.
8552         (true_dependence): Use them.
8553         (write_dependence_p): New function, containing code common to
8554         anti_dependence and output_dependence.
8555         (anti_dependence): Use it.
8556         (output_dependence): Likewise.
8557         * calls.c (save_fixed_argument_area): Don't clear
8558         MEM_IN_STRUCT_P.
8559         (expand_call): Use MEM_SET_IN_STRUCT_P.
8560         (emit_library_call): Don't clear MEM_IN_STRUCT_P.
8561         (emit_library_call_value): Likewise.
8562         (store_one_arg): Use MEM_SET_IN_STRUCT_P.
8563         * combine.c (simplify_rtx): Use MEM_COPY_ATTRIBUTES.
8564         (make_extraction): Likewise.
8565         (simplify_shift_const): Likewise.
8566         (gen_lowpart_for_combine): Likewise.
8567         * cse.c (gen_lowpart_if_possible): Use MEM_COPY_ATTRIBUTES.
8568         * emit-rtl.c (operand_subword): Likewise.
8569         (change_address): Likewise.
8570         * explow.c (stabilize): Use MEM_COPY_ATTRIBUTES.
8571         * expr.c (protect_from_queue): Use MEM_COPY_ATTRIBUTES.
8572         (emit_group_store): Use MEM_SET_IN_STRUCT_P.
8573         (copy_blkmode_from_reg): Likewise.
8574         (store_field): Likewise.
8575         (expand_expr): Remove bogus guesswork setting MEM_IN_STRUCT_P
8576         heuristically.  Use MEM_SET_IN_STRUCT_P.
8577         (get_memory_rtx): Likewise.
8578         * final.c (alter_subreg): Use MEM_COPY_ATTRIBUTES.
8579         * function.c (assign_stack_temp): Clear MEM_SCALAR_P and
8580         MEM_ALIAS_SET on newly returned MEMs.
8581         (assign_temp): Use MEM_SET_IN_STRUCT_P.
8582         (put_reg_into_stack): Likewise.
8583         (fixup_var_refs1): Use MEM_COPY_ATTRIBUTES.
8584         (gen_mem_addressof): Use MEM_SET_IN_STRUCT_P.
8585         (assign_parms): Likewise.
8586         (expand_function): Likewise.
8587         * integrate.c (expand_inline_function): Likewise.
8588         (copy_rtx_and_substitute): Use MEM_COPY_ATTRIBUTES.
8589         * loop.c (note_addr_stored): Remove check on MEM_IN_STRUCT_P.
8590         * optabs.c (gen_move_insn): Use MEM_COPY_ATTRIBUTES.
8591         * print-rtl.c (print_rtx): Print /f for frame_related.
8592         * recog.c (validate_replace_rtx_1): Use MEM_COPY_ATTRIBUTES.
8593         * reload1.c (reload): Copy MEM_SCALAR_P as well.
8594         * stmt.c (expand_decl): Use MEM_SET_IN_STRUCT_P.
8595         (expand_anon_union_decl): Use MEM_COPY_ATTRIBUTES.
8596         * varasm.c (make_decl_rtl): Use MEM_SET_IN_STRUCT_P.
8597         (output_constant_def): Likewise.
8598         * a29k.c (a29k_set_memflags_1): Take scalar_p.
8599         Set MEM_SCALAR_P.
8600         (a29k_set_memflags): Use it.
8601         * alpha.c (get_aligned_mem): Use MEM_COPY_ATTRIBUTES.
8602         * c4x.c (c4x_scan_for_ld): Likewise.
8603         * h8300.c (fix_bit_operand): Likewise.
8604         * m88k.c (legitimize_address): Likewise.
8605         (block_move_loop): Likewise.
8606         (block_move_no_loop): Likewise.
8607         (block_move_sequence): Likewise.
8608         (m88k_builtin_saveregs): Use MEM_SET_IN_STRUCT_P.
8609         * mips/abi64.h (SETUP_INCOMING_VARARGS): Likewise.
8610         * rs6000.c (expand_block_move_insn): Use MEM_COPY_ATTRIBUTES.
8611         * sh.c (sh_builtin_saveregs): Use MEM_SET_IN_STRUCT_P.
8612         * arm.h (arm_gen_load_multiple): Take scalar_p.
8613         (arm_store_load_multiple): Likewise.
8614         * arm.c (arm_gen_load_multiple): Likewise.
8615         (arm_gen_store_multiple): Likewise.
8616         (arm_gen_movstrqi): Treat MEM_SCALAR_P like MEM_IN_STRUCT_P.
8617
8618 Tue Jan 19 12:30:37 1999  Andrew MacLeod  <amacleod@cygnus.com>
8619
8620         * optabs.c (emit_libcall_block): Add a REG_EH_REGION reg note to all
8621         calls within a libcall block to indicate no throws are possible.
8622         * flow.c (find_basic_blocks, find_basic_blocks_1): Don't look for
8623         libcall blocks. Don't add edges to exception handlers if we see
8624         a REG_EH_REGION note with a value of 0.
8625         (make_edges): Override active_eh_region vector if the call has a note
8626         indicating the call does not throw.
8627
8628 1999-01-19  Vladimir N. Makarov  <vmakarov@cygnus.com>
8629
8630         * config/rs6000/sysv4.h (CC1_SPEC): Fix correct numbers of {}.
8631
8632 Tue Jan 19 06:26:30 1999  Jeffrey A Law  (law@cygnus.com)
8633
8634         * Makefile.in (cccp.o, cpplib.o): Depend on Makefile.
8635
8636 Mon Jan 18 09:56:41 1999  Jason Merrill  <jason@yorick.cygnus.com>
8637
8638         * invoke.texi (C++ Dialect Options): Document -fno-rtti.
8639
8640 1999-01-18  Vladimir N. Makarov  <vmakarov@cygnus.com>
8641
8642         *  invoke.texi (-mcpu=740, -mcpu=750): New options.
8643         (-m(no-)multiple, -m(no-)string): Describe cases for PPC740 &
8644         PPC750.
8645
8646 1999-01-18  Michael Meissner  <meissner@cygnus.com>
8647
8648         * rs6000.h ({ASM,CPP}_CPU_SPEC): Add support for all machines
8649         supported with -mcpu=xxx.
8650         (processor_type): Add PROCESSOR_PPC750.
8651         (ADJUST_PRIORITY): Call rs6000_adjust_priority.
8652         (RTX_COSTS): Supply costs for 750 multiply/divide operations.
8653         (rs6000_adjust_priority): Add declaration.
8654
8655         * rs6000.c (rs6000_override_options): -mcpu={750,740} now sets the
8656         processor type as 750, not 603.  Allow -mmultiple and -mstring on
8657         little endian 750 systems.
8658         (rs6000_adjust_priority): Stub for now.
8659         (get_issue_rate): The PowerPC 750 can issue 2 instructions/cycle.
8660
8661         * rs6000.md (function/cpu attributes): Add initial ppc750 support.
8662
8663         * sysv4.h (STRICT_ALIGNMENT): Don't force strict alignment if
8664         little endian.
8665         (CC1_SPEC): Pass -mstrict-align if little endian, and not
8666         overridden.
8667         (CC1_ENDIAN_{LITTLE,BIG,DEFAULT}_SPEC): Endian specific configs.
8668         (SUBTARGET_EXTRA_SPECS): Add cc1 endian specs.
8669
8670         * {sysv4,eabi}le.h (CC1_ENDIAN_DEFAULT_SPEC): Override, default is
8671         little endian.
8672
8673         * t-ppcgas (MULTILIB_*): Delete obsolete Solaris multilibs.
8674
8675 Mon Jan 18 12:03:08 1999  Gavin Romig-Koch  <gavin@cygnus.com>
8676
8677         * config/mips/mips.md (div_trap): Split div_trap_mips16
8678         from div_trap.
8679         (div_trap_normal,div_trap_mips16): Correct the length attributes.
8680
8681 Mon Jan 18 11:48:28 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8682
8683         * cpplib.c (special_symbol): Qualify a char* with the `const' keyword.
8684         Instead of writing to const char *buf directly, use a non-const
8685         variable `wbuf' to allocate and write a string, then set buf = wbuf.
8686
8687         * cppulp.c (user_label_prefix): Qualify a char* with the `const'
8688         keyword.
8689
8690         * dyn-string.c (dyn_string_append): Likewise.
8691
8692         * dyn-string.h (dyn_string_append): Likewise.
8693
8694         * final.c (end_final, output_operand_lossage, asm_fprintf): Likewise.
8695
8696         * output.h (end_final, output_operand_lossage, asm_fprintf,
8697         named_section, decode_reg_name, make_decl_rtl, user_label_prefix):
8698         Likewise.
8699
8700         * profile.c (init_branch_prob): Likewise.
8701
8702         * toplev.c (set_target_switch, vmessage,
8703         v_message_with_file_and_line, v_message_with_decl,
8704         v_error_with_file_and_line, v_error_with_decl, v_error_for_asm,
8705         verror, vfatal, v_warning_with_file_and_line, v_warning_with_decl,
8706         v_warning_for_asm, vwarning, vpedwarn, v_pedwarn_with_decl,
8707         v_pedwarn_with_file_and_line, vsorry, v_really_sorry,
8708         open_dump_file, dump_rtl, clean_dump_file,
8709         print_version, print_single_switch, print_switch_values,
8710         dump_base_name, debug_args, lang_independent_options,
8711         user_label_prefix, documented_lang_options, target_switches,
8712         target_options, print_time, pfatal_with_name, fatal_io_error,
8713         fatal_insn, default_print_error_function, print_error_function,
8714         report_error_function, error_with_file_and_line, error_with_decl,
8715         error_for_asm, error, fatal, warning_with_file_and_line,
8716         warning_with_decl, warning_for_asm, warning, pedwarn,
8717         pedwarn_with_decl, pedwarn_with_file_and_line, sorry,
8718         really_sorry, botch, output_quoted_string, output_file_directive,
8719         open_dump_file, rest_of_decl_compilation, display_help, main):
8720         Likewise.
8721
8722         * toplev.h (print_time, fatal, fatal_io_error, pfatal_with_name,
8723         fatal_insn, warning, error, pedwarn, pedwarn_with_file_and_line,
8724         warning_with_file_and_line, error_with_file_and_line, sorry,
8725         really_sorry, default_print_error_function, report_error_function,
8726         rest_of_decl_compilation, pedwarn_with_decl, warning_with_decl,
8727         error_with_decl, error_for_asm, warning_for_asm, output_quoted_string,
8728         output_file_directive, botch): Likewise.
8729
8730         * tree.h (make_decl_rtl): Likewise.
8731
8732         * varasm.c (strip_reg_name, named_section, decode_reg_name,
8733         make_decl_rtl): Likewise.
8734
8735 Mon Jan 18 11:35:49 1999  Gavin Romig-Koch  <gavin@cygnus.com>
8736
8737         * Makefile.in (TCL_LIBRARY): Use 'cd' to find the library
8738         directory logically rather than physically.
8739
8740 Mon Jan 18 09:05:37 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8741
8742         * loop.c (insert_bct): Hide the definition of variables
8743         `increment_direction', `compare_direction', `add_iteration' and
8744         `loop_var_mode'.
8745
8746         * recog.c (mode_dependent_address_p): Mark parameter `addr' with
8747         ATTRIBUTE_UNUSED.  Mark label `win' with ATTRIBUTE_UNUSED_LABEL.
8748         (mode_independent_operand): Mark label `lose' with
8749         ATTRIBUTE_UNUSED_LABEL.
8750
8751         * regclass.c (n_occurrences): Remove prototype and definition.
8752
8753         * reload.c (find_reloads_address_1): Mark variable `tem' with
8754         ATTRIBUTE_UNUSED.
8755
8756         * reload1.c (reload): Cast the first two arguments of `bcopy' to PTR.
8757
8758         * sbitmap.c (sbitmap_copy): Likewise.
8759
8760         * scan-decls.c (scan_decls): Hide label `handle_comma'.
8761
8762         * toplev.c (output_lang_identify): Mark prototype with
8763         ATTRIBUTE_UNUSED.
8764
8765         * tree.c (make_node): Cast the first argument of `bzero' to PTR.
8766         (make_tree_vec): Likewise.
8767         (build1): Likewise.
8768
8769         * varasm.c (assemble_static_space): Mark variable `tem' with
8770         ATTRIBUTE_UNUSED.
8771
8772 Mon Jan 18 04:28:36 1999  Nathan Sidwell  <nathan@acm.org>
8773
8774         * Makefile.in (GCOV_INSTALL_NAME): New macro.
8775         (install-common): Use it.
8776         (uninstall): Use it.
8777         (uninstall): Use correct names for protoize and unprotoize.
8778
8779 Mon Jan 18 03:52:56 1999  Christian Bruel  <Christian.Bruel@st.com>
8780                           Jeffrey A Law  (law@cygnus.com)
8781
8782         * flow.c (last_mem_set): Delete variable.  References removed.
8783         (mem_set_list): New variable.
8784         (life_analysis): Initialize and finalize alias analysis.
8785         (propagate_block); Initialize mem_set_list.  Clear for CALL_INSNs.
8786         (insn_dead_p): For a store to memory, search the entire mem_set_list
8787         for a match.
8788         (mark_set_1): Kill entries on the mem_set_list for aliased writes or
8789         changes to their addresses.  Add new entries to the mem_set_list for
8790         memory writes writes.
8791         (mark_used_regs): Kill entries on the mem_set_list which may be
8792         referenced by a load operation.
8793
8794 Mon Jan 18 01:01:02 1999  Jeffrey A Law  (law@cygnus.com)
8795
8796         * alias.c (base_alias_check): Add missing return for differing
8797         symbols case.
8798
8799 Mon Jan 18 00:36:13 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8800
8801         * mips-tdump.c (print_file_desc): Handle unknown filenames and
8802         missing local symbols.
8803
8804 Sun Jan 17 21:04:31 1999  Richard Henderson  <rth@cygnus.com>
8805
8806         * jump.c (rtx_renumbered_equal_p): Special case CODE_LABEL.
8807
8808         * system.h (bcopy): Implement with memmove not memcpy.
8809
8810 Sun Jan 17 19:23:20 1999  Jeffrey A Law  (law@cygnus.com)
8811
8812         * Makefile.in (cppulp.o): Add dependencies.
8813
8814         * i386.md (integer conditional moves): Add missing earlyclobbers.
8815
8816         * regmove.c (optimize_reg_copy_1): Undo Aug 18 change.  Update
8817         REG_N_CALLS_CROSSED and REG_LIVE_LENGH if and only if we change
8818         where a register is live.
8819
8820 Sun Jan 17 03:20:47 1999  H.J. Lu  (hjl@gnu.org)
8821
8822         * reg-stack.c (subst_stack_regs_pat): Abort if the destination
8823         of a FP conditional move is not on the FP register stack.
8824
8825 Sun Jan 17 01:15:04 1999  Jeff Law  (law@cygnus.com)
8826
8827         * version.c: Bump for snapshot.
8828
8829 Sat Jan 16 23:40:33 1999  Jeffrey A Law  (law@cygnus.com)
8830
8831         * reload1.c (reload_cse_regs_1): Do not call
8832         reload_cse_simplify_operands for an insn with asm operands.
8833
8834         * cccp.c (print_help): Fix typos.
8835         * cpplib.c (print_help): Fix typos.
8836         * toplev.c (f_optiosn): Fix typos.
8837         (documented_lang_options): Fix typos.
8838
8839 Sat Jan 16 21:48:17 1999  Marc Espie  (Marc.Espie@openbsd.org)
8840
8841         * gcc.c (do_spec_1): Fix obvious typo.
8842
8843 Sat Jan 16 19:31:07 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8844
8845         * c-decl.c (duplicate_decls): If `warn_traditional', warn when
8846         a non-static function declaration follows a static one.
8847
8848         * invoke.texi (-Wtraditional): Document the extra check now done
8849         by this flag.
8850
8851 Sat Jan 16 15:13:46 1999  Jeffrey A Law  (law@cygnus.com)
8852
8853         * pa.md (shadd): Create shadd insns, even if the result of the shift is
8854         needed without the addition.
8855
8856 Sat Jan 16 10:48:16 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
8857
8858         * sh.md (movdf, movsf): Temporary workaround for no_new_pseudos lossage.
8859
8860 Fri Jan 15 23:44:37 1999  Richard Henderson  <rth@cygnus.com>
8861
8862         * sparc.c (sparc_issue): Add hypersparc/sparclite86x entries.
8863
8864 Fri Jan 15 22:30:04 1999  David Edelsohn  <edelsohn@gnu.org>
8865
8866         * rs6000.h (CONST_OK_FOR_LETTER_P): Do not assume 32-bit CONST_INT.
8867         * rs6000.c (u_short_cint_operand, add_operand, logical_operand,
8868         non_add_cint_operand, non_logical_cint_operand): Likewise.
8869         (get_issue_rate): Add CPU_PPC604E case.
8870         * rs6000.md (movdi, !TARGET_POWERPC64 splitters): Handle 64-bit hosts.
8871
8872 Fri Jan 15 18:42:12 1999  Richard Henderson  <rth@cygnus.com>
8873
8874         * expr.c (queued_subexp_p): Make public.
8875         * expr.h (queued_subexp_p): Declare it.
8876         * recog.c (asm_operand_ok): New function.
8877         (check_asm_operands): Use it.  After reload, use constrain_operands
8878         instead.
8879         * recog.h (asm_operand_ok): Declare it.
8880         * stmt.c (expand_asm_operands): Use it to try harder to make
8881         asms initially satisfy their constraints.
8882
8883 Fri Jan 15 17:43:59 1999  Jeffrey A. Law  <law@rtl.cygnus.com>
8884
8885         * sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Do not create
8886         (mem (lo_sum (...)) for TFmode unless TARGET_V9.
8887
8888 Sat Jan 16 12:47:15 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
8889
8890         * config/c4x/c4x.md (not_repeat_reg): Allow ldp instruction
8891         in delay slot of RPTBD.
8892
8893 Sat Jan 16 12:26:40 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
8894
8895         * config/c4x/libgcc.S (___divhi3, ___modhi3): Fix long long
8896         divide and modulo sign problem.
8897
8898 Fri Jan 15 11:02:31 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
8899
8900         * unroll.c (loop_iterations): Return 0 if the last loop insn
8901         is not a jump insn or if the loop has multiple back edges.
8902
8903 1999-01-15  Manfred Hollstein  <manfred@s-direktnet.de>
8904
8905         * configure.in (fixinc_defs): Do not define for m[68]8k-motorola-sysv{,3};
8906         it's working properly now.  Remove comment saying "see m68k-motorola-sysv
8907         as an example".
8908         * configure: Regenerate using autoconf.
8909
8910         * fixinc/fixincl.c (main): Do not ignore SIGCHLD.
8911
8912 Thu Jan 14 22:38:41 1999  Jeffrey A Law  (law@cygnus.com)
8913
8914         * unroll.c (find_splittable_givs): For a DEST_ADDR giv, do not share
8915         a register with another DEST_ADDR giv if the address is not valid.
8916
8917         * pa.c (hppa_expand_epilogue): Save and restore the static chain
8918         around the call to mcount.
8919
8920         * h8300.h (ASM_OUTPUT_LABELREF): Use asm_fprintf, not fprintf.
8921
8922         * stmt.c (expand_end_case): Use emit_cmp_and_jump_insns to avoid
8923         generating non-canonical rtl.
8924
8925 1999-01-14  Vladimir N. Makarov  <vmakarov@cygnus.com>
8926
8927         * config/i960/i960.c (i960_output_move_double_zero,
8928         i960_output_move_quad_zero): New functions for moving zeros.
8929         (i960_output_move_double, i960_output_move_quad): Additional code
8930         for situation when moving unaligned register group.
8931
8932         * config/i960/i960.h (i960_output_move_double_zero,
8933         i960_output_move_quad_zero): The function definitions.
8934
8935         * config/i960/i960.md (movdi+1, movti+1): Usage of the functions.
8936
8937 1999-01-13  Vladimir N. Makarov  <vmakarov@cygnus.com>
8938
8939         * config/i960/i960.c (i960_function_prologue): New code (optimal
8940         solution) for saving global registers in local registers.
8941         (form_reg_groups, reg_group_compare, split_reg_group): New
8942         functions used by the code.
8943         (reg_group): New structure definition for the new code.
8944
8945 1999-01-13  Manfred Hollstein  <manfred@s-direktnet.de>
8946
8947         * fixinc/fixincl.c (create_file): Pass file creation mask as
8948         third parameter to "open".  Use O_TRUNC flag to open instead of
8949         explicitly unlink'ing the file.
8950         (process): and forget about the "chmod" stuff.
8951
8952 Wed Jan 13 20:12:37 1999  Richard Henderson  <rth@cygnus.com>
8953
8954         * integrate.c (expand_inline_function): Recognize (mem (addressof))
8955         and substitute.  Copy the return value from there into a new pseudo.
8956
8957 Wed Jan 13 16:47:00 1999  Catherine Moore  <clm@cygnus.com>
8958
8959         * config/arm.c (output_func_epilogue): Check TARGET_ABORT_NORETURN
8960         before generating a call to abort for volatile functions.
8961         * config/arm.h (ARM_FLAG_ABORT_NORETURN): Define.
8962         (TARGET_ABORT_NORETURN): Define.
8963         (abort-on-noreturn): New option.
8964
8965 Thu Jan 14 13:52:42 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
8966
8967         * config/c4x/c4x.md (in_annul_slot_3): Correctly allow unarycc
8968         and binarycc operations in 3rd annulled delay slot!
8969
8970 Wed Jan 13 16:16:44 1999  Catherine Moore  <clm@cygnus.com>
8971
8972         * config/arm.c (output_func_epilogue): Check TARGET_ABORT_NORETURN
8973         before generating a call to abort for volatile functions.
8974         * config/arm.h (ARM_FLAG_ABORT_NORETURN): Define.
8975         (TARGET_ABORT_NORETURN): Define.
8976         (abort-on-noreturn): New option.
8977
8978 Wed Jan 13 13:30:08 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8979
8980         * cccp.c (xstrdup): Renamed from `savestring'.  All callers changed.
8981         Remove prototype which we get from libiberty.h.
8982
8983         * collect2.c (xstrdup): Likewise.
8984
8985         * genextract.c (xstrdup): Likewise for `copystr'.
8986         (mybzero): Remove it and use `memset' instead.
8987
8988         * genoutput.c (mybcopy, mybzero): Remove these.  All callers changed
8989         to use `memcpy' and `memset' instead.
8990
8991         * genrecog.c (xstrdup): Renamed from `copystr'.  All callers
8992         changed.  Remove prototype.
8993         (mybcopy, mybzero): Remove these and use memcpy/memset.
8994
8995 Wed Jan 13 00:59:04 1999  Jeffrey A Law  (law@cygnus.com)
8996
8997         * mips.h (LOAD_EXTEND_OP): Correct for SImode and CCmode moves when
8998         generating code for TARGET_64BIT.
8999
9000 Tue Jan 12 14:05:37 1999  David Edelsohn  <edelsohn@gnu.org>
9001
9002         * rs6000.c (print_operand, cases 'm' and 'M'): Do not depend on
9003         HOST_WIDE_INT word-size.
9004         (rs6000_stack_info): Remove redundant alignment of fpmem.
9005
9006 Tue Jan 12 14:05:37 1999  Richard Henderson  <rth@cygnus.com>
9007
9008         * rs6000.c (short_cint_operand): Remove CONSTANT_P_RTX handling.
9009         (u_short_cint_operand, reg_or_cint_operand, logical_operand): Likewise.
9010         (input_operand): Adjust CONSTANT_P_RTX handling.
9011         * rs6000.h (PREDICATE_CODES): Remove CONSTANT_P_RTX references.
9012         * rs6000.md (movsi): Adjust CONSTANT_P_RTX handling.
9013         (movhi, movqi): Remove CONSTANT_P_RTX handling.
9014         (movdi): Adjust CONSTANT_P_RTX handling.
9015
9016 1999-01-12  Manfred Hollstein  <manfred@s-direktnet.de>
9017
9018         * configure: Regenerate using autoconf.
9019
9020         * fixinc/Makefile.in (INCLUDES): Add -I$(srcdir)/../../include.
9021         * fixinc/fixincl.c (SIGCHLD): Use SIGCLD on (very) old systems.
9022         (process): "fchmod" isn't available on all systems, use "chmod"
9023         instead.
9024         * fixinc/server.c: Add #include <sys/types.h>.
9025         (STDIN_FILENO): Add default definition if no include file defines
9026         it already.
9027         (STDOUT_FILENO): Likewise.
9028
9029 Tue Jan 12 10:23:24 1999  Stan Cox  <scox@cygnus.com>
9030
9031         * mips.md (call_value_internal3c): New pattern for -mips16 -mlong-calls.
9032
9033 1999-01-12  Manfred Hollstein  <manfred@s-direktnet.de>
9034
9035         * m68k/mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
9036         ensure all prototypes necessary for building libio will be available.
9037         * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Remove
9038         definitions here as they are not host specific.
9039         * m88k/sysv3.h, m88k/xm-sysv3.h: Likewise.
9040
9041 Tue Jan 12 02:53:46 1999  Richard Henderson  <rth@cygnus.com>
9042
9043         * cse.c (cse_insn): Never prefer (const (constant_p_rtx)).
9044
9045 Tue Jan 12 02:36:10 1999  Jeff Law  (law@cygnus.com)
9046
9047         * version.c: Bump for snapshot.
9048
9049 Tue Jan 12 01:30:19 1999  Richard Henderson  <rth@cygnus.com>
9050
9051         * rtl.c (rtx_alloc): Use memset instead of inline loop.
9052
9053         * recog.h (recog_op_alt): Declare extern.
9054
9055 Tue Jan 12 00:23:31 1999  Richard Henderson  <rth@cygnus.com>
9056
9057         * function.c (purge_addressof_1): If the note accesses a mem+addressof
9058         in a wider mode than any replacement, adjust the cached replacement.
9059         Cache trivial substitutions as well.
9060
9061 Tue Jan 12 00:06:00 1999  Richard Henderson  <rth@cygnus.com>
9062
9063         * Makefile.in (OBJECTS): Add sbitmap.o.
9064         (BASIC_BLOCK_H): Add sbitmap.h.
9065         * basic-block.h: Move simple bitmap code to sbitmap.h.
9066         * flow.c: Move simple bitmap code to sbitmap.c.
9067         * sbitmap.h, sbitmap.c: New files.
9068
9069 Mon Jan 11 23:51:50 1999  Richard Henderson  <rth@cygnus.com>
9070
9071         * alpha.h (TARGET_SWITCHES): Document switches.
9072         (TARGET_OPTIONS): Likewise.
9073
9074         * alpha/elf.h (ASM_FINISH_DECLARE_OBJECT): Use HOST_WIDE_INT_PRINT_DEC.
9075
9076 Mon Jan 11 22:54:14 1999  Richard Henderson  <rth@cygnus.com>
9077
9078         * tree.c (new_alias_set): Return zero if !flag_strict_aliasing.
9079
9080 Mon Jan 11 22:36:01 1999  Richard Henderson  <rth@cygnus.com>
9081
9082         * basic-block.h (basic_block_head): Rename to x_basic_block_head.
9083         (basic_block_end): Rename to x_basic_block_end.
9084         (BLOCK_HEAD, BLOCK_END): Update.
9085
9086         * caller-save.c: Change basic_block_head/end references to
9087         BLOCK_HEAD/END.
9088         * combine.c, flow.c, function.c, gcse.c, global.c: Likewise.
9089         * graph.c, haifa-sched.c, local-alloc.c, regclass.c: Likewise.
9090         * regmove.c, reload1.c, reorg.c, sched.c: Likewise.
9091
9092 Sat Jan  9 23:54:09 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9093
9094         * gcc.c (xstrerror): Renamed from my_strerror.  All callers
9095         changed.  Remove prototype since we get that from libiberty.h.
9096
9097         * protoize.c (xstrerror): Likewise.
9098
9099 Sat Jan  9 23:22:04 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9100
9101         * gcc.c (read_specs): Ensure format specifiers match their arguments.
9102
9103 Sat Jan  9 20:04:24 1999  Richard Henderson  <rth@cygnus.com>
9104
9105         * tree.c (copy_node): Oops.  That would be copy not zero
9106         in that last change.
9107
9108 Sun Jan 10 15:35:41 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
9109
9110         * config/c4x/c4x.c: Include system.h.
9111         (c4x_caller_save_map): Disable caller save for RC.
9112         (c4x_optimization_options): Disable scheduling before reload.
9113         (valid_parallel_load_store) : Define return type as int.
9114         Remove unused variable regs.
9115         * config/c4x/c4x.h (REGISTER_MOVE_COST): Make independent of register
9116         class.
9117         * config/c4x/c4x.md (rotlqi3, rotrqi3): Fix up emitted RTL to
9118         handle rotations.
9119         (*db, decrement_and_branch_until_zero): Fix up constraints
9120         to keep reload happy.
9121
9122 Sat Jan  9 18:35:29 1999  Richard Henderson  <rth@cygnus.com>
9123
9124         * tree.c (make_node): Call bzero instead of inline clear.
9125         (copy_node, make_tree_vec, build1): Likewise.
9126         (get_identifier): Call strlen instead of inline count.
9127         (maybe_get_identifier): Likewise.
9128
9129 Sun Jan 10 14:04:51 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
9130
9131         * config/c4x/c4x.md (in_annul_slot_3): Allow unarycc and binarycc
9132         operations in 3rd annulled delay slot.
9133         (*lshrqi3_const_set): Disallow c constraint for operand0.
9134         (modhi3+1, modhi3+2): Set attribute type to multi.
9135         * config/c4x/c4x.c (c4x_S_constraint): Removed space in middle of
9136         != operator.
9137
9138 Sat Jan  9 11:44:55 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9139
9140         * gansidecl.h: Allow attribute unused on labels only when we are
9141         version 2.93 or higher.  Not all versions of 2.92 have this feature.
9142
9143         * version.c: Bump minor number to 93.
9144
9145 Fri Jan  8 10:51:13 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
9146
9147         * config/m68k/m68k.h: Declare output_function_epilogue.
9148         * recog.h: Declare next_insn_tests_no_inequality.
9149
9150 Fri Jan  8 01:43:53 1999  Jeffrey A Law  (law@cygnus.com)
9151
9152         * stmt.c (optimize_tail_recursion): New function, extracted from ...
9153         (expand_return): Use optimize_tail_recursion.
9154         * tree.h (optimize_tail_recursion): Declare.
9155
9156         * toplev.c (compile_file): Move call to output_func_start_profiler
9157         to after the loop to emit deferred functions.
9158
9159 Thu Jan  7 19:52:53 1999  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9160
9161         * system.h (abort): Supply more detailed information on how to
9162         report an Internal Compiler Error.
9163
9164 Thu Jan  7 09:25:58 1999  Bruce Korb  (korb@datadesign.com)
9165
9166         * fixinc/fixincl.c (*): More decapitalization of variables
9167         plus some explanatory comments.
9168
9169         * fixinc/Makefile.in fixinc/mkfixinc.sh:
9170         When the fixincl program does not work for a certain system,
9171         we substitute a shell script.  Added user commentary when
9172         this happens.
9173
9174 Thu Jan  7 11:26:17 1999  Mark Mitchell  <mark@markmitchell.com>
9175
9176         * calls.c (store_unaligned_arguments_into_pseudos): Use xmalloc to
9177         allocate memory that will live beyond this function.
9178         (expand_call): Free it here.
9179
9180 Thu Jan  7 03:08:17 1999  Richard Henderson  <rth@cygnus.com>
9181
9182         * sparc.h (PREFERRED_RELOAD_CLASS): Select GENERAL_REGS for
9183         integer data not destined for fp regs.
9184         (LEGITIMIZE_RELOAD_ADDRESS): New.
9185
9186 Thu Jan  7 03:03:42 1999  Stan Cox  <scox@cygnus.com>
9187                           Richard Henderson  <rth@cygnus.com>
9188
9189         Support for Hypersparc and Sparclite86x:
9190         * sparc.h (TARGET_CPU_hypersparc, TARGET_CPU_sparclite86x): New.
9191         (CPP_CPU32_DEFAULT_SPEC): Fix up for the new targets.
9192         (ASM_CPU32_DEFAULT_SPEC): Likewise.
9193         (TARGET_CPU_DEFAULT): Likewise.
9194         (enum processor_type): Likewise.
9195         (CPP_ENDIAN_SPEC): Handle little endian data.
9196         (LIBGCC2_WORDS_BIG_ENDIAN): Likewise.
9197         (ADJUST_COST): Call sparc_adjust_cost.
9198         * sparc.c (sparc_override_options): Fix up for the new targets.
9199         (supersparc_adjust_cost): Make static.
9200         (hypersparc_adjust_cost): New.
9201         (ultrasparc_adjust_cost): Make static.
9202         (sparc_adjust_cost): New.
9203         * sparc.md (attr cpu): Add hypersparc and sparclite86x.
9204         (function_unit): Add hypersparc scheduling rules.
9205
9206         * configure.in (with_cpu handler): Recognize hypersparc.
9207
9208 Thu Jan  7 23:54:05 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
9209
9210         * config/c4x/c4x.c: Added space after negation operator.
9211         * config/c4x/c4x.h: Likewise.
9212         * config/c4x/c4x.md: Likewise.
9213
9214 Thu Jan  7 23:39:27 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
9215
9216         * config/c4x/c4x.c (c4x_preferred_reload_class): Always return class.
9217
9218 Thu Jan  7 00:29:25 1999  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
9219
9220         * combine.c (num_sign_bit_copies): In NEG, MULT, DIV and MOD cases,
9221         when a test can't be performed due to limited width of
9222         HOST_BITS_PER_WIDE_INT, use the more conservative approximation.
9223         Fix UDIV case for cases where the first operand has the highest bit
9224         set.
9225
9226 Thu Jan  7 00:01:38 1999  Lutz Vieweg  <lkv@mania.robin.de>
9227
9228         * pa.h (reg_class): Add FPUPPER_REGS.
9229         (REG_CLASS_NAMES): Similarly.
9230         (REG_CLASS_CONTENTS): Similarly.
9231         (REGNO_REG_CLASS): Handle FPUPPER_REGS.
9232         (FP_REG_CLASS_P): Likewise.
9233         (REG_CLASS_FROM_LETTER): Similarly.
9234         (CLASS_MAX_NREGS): Similarly.
9235
9236 1999-01-06  Brendan Kehoe  <brendan@cygnus.com>
9237
9238         * fixincludes: For HP/UX 10.20, also look in curses_colr/curses.h
9239         for a typedef of bool.  Make sure to have a copy of the file is
9240         in place before we look to fix it.  Fix typo in variable name to
9241         FILE.
9242
9243 Wed Jan  6 07:51:05 1999  Richard Henderson  <rth@cygnus.com>
9244
9245         * expr.c (expand_builtin) [case BUILT_IN_CONSTANT_P]: Use
9246         value_mode for the return mode.
9247
9248 Wed Jan  6 17:55:19 1999  Robert Lipe  <robertlipe@usa.net>
9249
9250         * configure.in: New flag --with-dwarf2.  If set, enables DWARF-2
9251         debugging as default.
9252
9253         * config/tm-dwarf2.h: New file.
9254
9255 Wed Jan  6 16:08:54 1999  Jeffrey A Law  (law@cygnus.com)
9256
9257         * h8300.h (ASM_OUTPUT_LABELREF): Define.
9258
9259         * pa.h (DONT_RECORD_EQUIVALENCE): Kill.
9260         * local-alloc.c (update_equiv_regs): Corresponding changes.
9261         * tm.texi (DONT_RECORD_EQUIVALENCE): Kill.
9262
9263         * calls.c (special_function_p): Push alloca test inside the large
9264         conditional which excludes functions not at file scope or not
9265         extern.
9266
9267         * calls.c (special_function_p): New function broken out of
9268         expand_call.
9269         (precompute_register_parameters): Likewise.
9270         (store_one_arg): Likewise.
9271         (store_unaligned_argumetns_into_pseudos): Likewise.
9272         (save_fixed_argument_area): Likewise.
9273         (restore_fixed_argument_area): Likewise.
9274         (expand_call): Corresponding changes.
9275
9276 Thu Jan  7 00:12:24 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
9277
9278         * config/c4x/c4x.md (addqi3): If the destination operand is
9279         a hard register other than an extended precision register,
9280         emit addqi3_noclobber.
9281         (*addqi3_noclobber_reload): New pattern added so that reload
9282         will recognize a store of a pseudo, equivalent to the sum
9283         of the frame pointer and a constant, as an add insn.
9284
9285 1999-01-06  Manfred Hollstein  <manfred@s-direktnet.de>
9286
9287         * fixinc/fixincl.c: Re-indent according to the GNU standards.
9288         fixinc/server.c: Likewise.
9289         fixinc/server.h: Likewise.
9290
9291 Wed Jan  6 10:43:29 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
9292
9293         * config/m68k/m68k.c (const_uint32_operand): Remove CONSTANT_P_RTX
9294         handling.
9295         (const_sint32_operand): Likewise.
9296
9297 Wed Jan  6 09:44:51 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9298
9299         * toplev.h: In addition to checking _JBLEN, also check if `setjmp'
9300         is a macro when deciding if we can use `jmp_buf' in prototypes.
9301
9302 Wed Jan  6 03:18:53 1999  Mark Elbrecht  <snowball3@usa.net>
9303
9304         * configure.in (pc-msdosdjgpp): Set x_make to x-go32.
9305         * configure: Rebuilt.
9306         * i386/xm-go32.h: Define LIBSTDCXX.
9307         * i386/x-go32: New.
9308         * i386/go32.h (MD_EXEC_PREFIX): Define.
9309         (FILE_NAME_ABSOLUTE_P): Define.
9310         (LINK_COMMAND_SPEC): Define.
9311
9312 Wed Jan  6 02:23:36 1999  "Charles M. Hannum"  <root@ihack.net>
9313
9314         * expr.c (store_expr): If the lhs is a memory location pointed
9315         to be a postincremented (or postdecremented) pointer, always
9316         force the rhs to be evaluated into a pseudo.
9317
9318 Wed Jan  6 00:54:21 1999  Geoff Keating  <geoffk@ozemail.com.au>
9319
9320         * real.c (mtherr): Print more reasonable warning messages.
9321
9322 Tue Jan  5 21:57:42 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9323
9324         * Makefile.in (gcc.o, prefix.o, cccp.o, cpplib.o): Depend on prefix.h.
9325
9326         * cccp.c: Include prefix.h, don't prototype prefix.c functions.
9327         (new_include_prefix): Constify char* parameters.
9328
9329         * cppfiles.c (read_name_map): Likewise.
9330         (append_include_chain): Likewise.  Also, use a writable char* copy
9331         of parameter `dir' which we then modify, rather than using the
9332         parameter itself to store the new writable string.
9333         (remap_filename): Constify some variables.  Also, use a writable
9334         char* to store an allocated string which we will be modifying.
9335
9336         * cpplib.c: Include prefix.h, don't prototype prefix.c functions.
9337         (cpp_start_read): Constify variable `str'.
9338
9339         * cpplib.h (append_include_chain): Constify a char* parameter.
9340
9341         * gcc.c Include prefix.h, don't prototype prefix.c functions.
9342         (add_prefix, save_string): Constify char* parameters.
9343         (fatal, error): Add ATTRIBUTE_PRINTF_1 to prototypes.
9344
9345         * prefix.c: Include prefix.h.
9346         (get_key_value, translate_name, save_string, update_path,
9347         set_std_prefix): Constify various char* parameters and variables.
9348         (save_string): Use xmalloc, not malloc.
9349         (translate_name): Use a writable temporary variable to create and
9350         modify a string before setting it to a const char*.
9351
9352         * prefix.h: New file to prototype functions exported from prefix.c.
9353
9354 Tue Jan  5 08:52:18 1999  Bruce Korb  (korb@datadesign.com)
9355
9356         * fixinc/fixincl.c (various): Added debug code so
9357         Manfred can trace the processing.
9358
9359         * fixinc/inclhack.def (sys/utsname.h): Provide forward declaration of
9360         struct utsname on Ultrix V4.[35].
9361
9362         * fixinc/{fixincl.x|fixincl.sh|inclhack.sh} : Regenerated.
9363
9364 Mon Jan  4 15:37:30 1999  Zack Weinberg  <zack@rabi.phys.columbia.edu>
9365
9366         * cpplib.c (skip_if_group): Split out the logic that handles
9367         directive recognition to its own function.  Don't use
9368         parse markers; use a bare pointer into the buffer.  Use
9369         copy/skip_rest_of_line instead of doing it by hand.  Remove
9370         `return on any directive' mode which was never used, and take
9371         only one argument.
9372         (consider_directive_while_skipping): New function, subroutine
9373         of skip_if_group.  Logic streamlined a bit.
9374         (conditional_skip, do_elif, do_else): Call skip_if_group with
9375         only one argument.
9376
9377 Mon Jan  4 15:27:30 1999  Zack Weinberg  <zack@rabi.phys.columbia.edu>
9378
9379         * cpplib.c (do_undef): EOF immediately after '#undef FOO' is not an
9380         error.
9381
9382 Mon Jan  4 11:55:51 1999  Jason Merrill  <jason@yorick.cygnus.com>
9383
9384         * extend.texi (Bound member functions): Document.
9385
9386 Mon Jan  4 11:01:48 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9387
9388         * mips-tdump.c (st_to_string, sc_to_string, glevel_to_string,
9389         lang_to_string, type_to_string): Make return type const char*.
9390         (print_symbol): Apply `const' keyword to a char*.
9391         (print_file_desc): Cast structure member `crfd' to ulong when
9392         comparing against one.
9393
9394         * mips-tfile.c (pfatal_with_name): Apply `const' keyword to char*.
9395         (fatal, error): Add ATTRIBUTE_PRINTF_1 to prototypes.
9396         (progname, input_name): Apply `const' keyword to a char*.
9397         Don't redundantly include sys/stat.h.
9398         (alloc_info): Apply `const' keyword to a char*.
9399         (st_to_string, sc_to_string): Likewise.
9400         (hash_string): Cast variable `hash_string' to a symint_t when
9401         comparing against one.
9402         (add_string): Cast PAGE_USIZE to Ptrdiff_t when comparing against one.
9403         Likewise cast it to long when comparing against one.
9404         (add_local_symbol): Apply `const' keyword to a char*.
9405         (add_ext_symbol): Likewise.
9406         (add_unknown_tag): Likewise.
9407         (add_procedure): Cast a printf-style field width to an int.
9408         (add_file): Cast PAGE_USIZE to long when comparing against one.
9409         (parse_begin): Cast a printf-style field width to an int.
9410         (parse_bend): Likewise.
9411         (parse_def): Likewise.
9412         (parse_end): Likewise.
9413         (mark_stabs): Mark parameter `start' with ATTRIBUTE_UNUSED.
9414         (parse_stabs_common): Fix format specifier.
9415         (parse_input): Change type of variable `i' to Size_t.
9416         (write_object): Fix arguments to match format specifiers.
9417         Cast variable `num_write' to long when comparing against one.
9418         (read_seek): Cast variable `sys_read' to symint_t when comparing
9419         against one.  Fix arguments to match format specifiers.  Cast
9420         variable `size' to long when comparing against one.
9421         (copy_object): Cast result of `sizeof' to int when comparing
9422         against one.  Fix arguments to match format specifiers.  Cast
9423         variable `ifd' to long when comparing against a signed value.
9424         Likewise, likewise.
9425
9426 Mon Jan  4 10:30:33 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9427
9428         * c-common.c (decl_attributes): Allow applying attribute `unused'
9429         on a LABEL_DECL.
9430
9431         * c-parse.in (label): Parse attributes after a label, and call
9432         `decl_attributes' to handle them.
9433
9434         * gansidecl.h (ATTRIBUTE_UNUSED_LABEL): Define.
9435
9436         * genrecog.c (OUTPUT_LABEL, write_tree_1, write_tree): When
9437         generating labels, mark them with ATTRIBUTE_UNUSED_LABEL.
9438
9439         * invoke.texi: Note that labels can be marked `unused'.
9440
9441 Sun Jan  3 23:32:18 1999  Jeff Law  (law@cygnus.com)
9442
9443         * version.c: Bump for snapshot.
9444
9445 Sun Jan  3 23:00:42 1999  Jeffrey A Law  (law@cygnus.com)
9446
9447         * optabs.c (emit_cmp_and_jump_insns): Use CONSTANT_P canonicalizing
9448         RTL for a compare/jump sequence.
9449
9450 Sun Jan  3 22:58:15 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
9451
9452         * optabs.c (emit_cmp_insn): Abort if asked to emit non-canonical RTL
9453         for a target with HAVE_cc0 defined.
9454         (emit_cmp_and_jump_insns): New function.
9455         * expr.h (emit_cmp_and_jump_insns): Prototype it.
9456         * loop.c (check_dbra_loop): Use it to replace calls
9457         to emit_cmp_insn and emit_jump_insn and to canonicalize
9458         the comparison if necessary.
9459         * unroll.c (unroll_loop): Likewise.
9460
9461 Sun Jan  3 21:01:04 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9462
9463         * fixincludes (sys/utsname.h): Provide forward declaration of
9464         struct utsname on Ultrix V4.[35].
9465
9466         * mips.md (div_trap): Use local labels instead of dot-relative
9467         branches.
9468
9469 Sun Jan  3 20:40:34 1999  Jeffrey A Law  (law@cygnus.com)
9470
9471         * pa.md (branch, negated branch): Handle (const_int 0) as first
9472         source operand.
9473         * pa.c (output_cbranch): Likewise.
9474
9475 Sun Jan  3 03:20:38 1999  David Edelsohn  <edelsohn@gnu.org>
9476
9477         * rs6000.c (rs6000_stack_info): Undo spurious part of last
9478         change.
9479
9480 1999-01-01  Manfred Hollstein  <manfred@s-direktnet.de>
9481
9482         * extend.texi (__builtin_constant_p): Add missing @smallexample.
9483
9484 Fri Jan  1 11:48:20 1999  Jeffrey A Law  (law@cygnus.com)
9485
9486         * i386.md (doubleword shifts): Fix dumb mistakes in previous change.
9487
9488 Wed Dec 30 23:38:55 1998  Jeffrey A Law  (law@cygnus.com)
9489
9490         * m68k.md (adddi_dilshr32): Allow all operands to be registers too.
9491         (adddi_dishl32): Similarly.
9492
9493         * cse.c (invalidate_skipped_block): Call invalidate_from_clobbers
9494         for each insn in the skipped block.
9495
9496         * reload1.c (reload_as_needed): Verify that the insn satisfies its
9497         constraints after replacing a register address with an autoincrement
9498         address for reload inheritance purposes.
9499
9500         * i386.md (doubleword shifts): Avoid namespace pollution.
9501
9502 Wed Dec 30 23:00:28 1998  David O'Brien  <obrien@NUXI.com>
9503
9504         * configure.in (FreeBSD ELF): Needs special crt files.
9505
9506 Wed Dec 30 22:50:13 1998  Geoffrey Noer  <noer@cygnus.com>
9507
9508         * i386/xm-cygwin.h: Change DIR_SEPARATOR to forward slash.
9509
9510 1998-12-30  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
9511
9512         * loop.c (check_dbra_loop): While reversing the loop, if the
9513         comparison value has a VOID mode use the mode of the other operand
9514         to compute the mask.
9515
9516 Wed Dec 30 22:24:00 1998  Michael Meissner  <meissner@cygnus.com>
9517
9518         * rs6000.md ({save,restore}_stack_function): Take 2 operands to
9519         avoid warnings in compiling explow.c.
9520
9521         (patch from Ken Raeburn, raeburn@cygnus.com)
9522         * rs6000.c (rs6000_stack_info): Force 8-byte alignment of
9523         fpmem_offset.  Compute total size after that, and then
9524         rs6000_fpmem_offset using both values.
9525
9526 Mon Dec 28 19:26:32 1998  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9527
9528         * gcc.texi (Non-bugs): ``Empty'' loops will be optimized away in
9529         the future; indeed that already happens in some cases.
9530
9531 Tue Dec 29 11:58:53 1998  Richard Henderson  <rth@cygnus.com>
9532
9533         * sparc.c (input_operand): Recognize (const (constant_p_rtx)).
9534         (arith_operand): Remove constant_p_rtx handling.
9535         (const64_operand, const64_high_operand): Likewise.
9536         (arith11_operand, arith10_operand, arith_double_operand): Likewise.
9537         (arith11_double_operand, arith10_double_operand, small_int): Likewise.
9538         (small_int_or_double, uns_small_int, zero_operand): Likewise.
9539         * sparc.h (PREDICATE_CODES): Likewise.
9540
9541         * rtl.h (CONSTANT_P): Remove CONSTANT_P_RTX.
9542
9543 Tue Dec 29 11:32:54 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9544
9545         * rtl.def (CONSTANT_P_RTX): Clarify commentary.
9546         * expr.c (expand_builtin, case BUILT_IN_CONSTANT_P): Rework to
9547         consider constant CONSTRUCTOR constant and to defer some cases
9548         to cse.
9549         * cse.c (fold_rtx, case CONST): Add handling for CONSTANT_P_RTX.
9550         * regclass.c (reg_scan_mark_refs, case CONST): Likewise.
9551
9552 Tue Dec 29 11:30:10 1998  Richard Henderson  <rth@cygnus.com>
9553
9554         * expr.c (init_expr_once): Kill can_handle_constant_p recognition.
9555         * cse.c (fold_rtx, case 'x'): Remove standalone CONSTANT_P_RTX code.
9556
9557         * alpha.c (reg_or_6bit_operand): Remove CONSTANT_P_RTX handling.
9558         (reg_or_8bit_operand, cint8_operand, add_operand): Likewise.
9559         (sext_add_operand, and_operand, or_operand): Likewise.
9560         (reg_or_cint_operand, some_operand, input_operand): Likewise.
9561         * alpha.h (PREDICATE_CODES): Likewise.
9562
9563 Sat Dec 26 23:26:26 1998  Jeff Law  (law@cygnus.com)
9564
9565         * version.c: Bump for snapshot.
9566
9567 Sat Dec 26 09:17:04 1998  Jeffrey A Law  (law@cygnus.com)
9568
9569         * gengenrtl.c (gencode): Always use bzero to clear memory instead
9570         of dangerous casts and stores.
9571
9572         * Makefile.in (compare, gnucompare): Add missing else true clauses.
9573
9574 Fri Dec 25 23:00:56 1998  Jeffrey A Law  (law@cygnus.com)
9575
9576         * alpha.md (builtin_longjmp): Add missing "DONE".
9577
9578 Thu Dec 24 10:39:57 1998  Stan Cox  <scox@cygnus.com>
9579
9580         * gcc.c (execute): Enable -pipe with win32.
9581
9582 Wed Dec 23 10:27:44 1998  Nick Clifton  <nickc@cygnus.com>
9583
9584         * config/arm/t-arm-elf: Add multiplib option for leading
9585         underscores.
9586
9587         * config/arm/thumb.h (ASM_OUTPUT_LABELREF): Use variable
9588         'user_label_prefix' rather than macro USER_LABEL_PREFIX.
9589
9590         (thumb_shiftable_const): Use macro 'BASE_REG_CLASS' rather
9591         than variable 'reload_address_base_reg_class'.  [Note this
9592         change is unrelated to the others in this patch].
9593
9594         * config/arm/unknown-elf.h (USER_LABEL_PREFIX): Default to no
9595         leading underscore.
9596
9597 Wed Dec 23 09:51:32 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9598
9599         * alias.c (record_alias_subset): Remove ignored `&'.
9600         (init_alias_once): Likewise.
9601
9602         * c-lex.c (UNGETC): Cast first argument of comma expression to void.
9603
9604         * config/mips/mips.c (mips_asm_file_end): Cast the result of
9605         fwrite to `int' when comparing against one.
9606
9607         * config/mips/mips.h (CAN_ELIMINATE): Add parens around && within ||.
9608         (INITIAL_ELIMINATION_OFFSET): Add braces to avoid ambiguous `else'.
9609
9610         * cse.c (rehash_using_reg): Change type of variable `i' to
9611         unsigned int.
9612
9613         * dwarf2out.c (initial_return_save): Cast -1 to unsigned before
9614         assigning it to one.
9615
9616         * except.c (duplicate_eh_handlers): Remove unused variable `tmp'.
9617
9618         * final.c (final_scan_insn): Likewise for variable `i'.
9619         (output_asm_insn): Cast a char to unsigned char when used as an
9620         array index.
9621
9622         * gcse.c (compute_pre_ppinout): Cast -1 to SBITMAP_ELT_TYPE when
9623         assigning it to one.
9624
9625         * loop.c (strength_reduce): Remove unused variables `count' and `temp'.
9626
9627         * recog.c (preprocess_constraints): Cast a char to unsigned char
9628         when used as an array index.
9629
9630         * regmove.c (find_matches): Likewise.
9631
9632         * reload1.c (calculate_needs): Add default case in switch.
9633         (eliminate_regs_in_insn): Initialize variable `offset'.
9634         (set_offsets_for_label): Change type of variable `i' to unsigned.
9635         (reload_as_needed): Wrap variable `i' in macro check on
9636         AUTO_INC_DEC || INSN_CLOBBERS_REGNO_P.
9637
9638         * scan-decls.c (scan_decls): Mark parameters `argc' and `argv'
9639         with ATTRIBUTE_UNUSED.  Cast variable `start_written' to size_t
9640         when comparing against one.
9641
9642         * stor-layout.c (layout_decl): Cast maximum_field_alignment to
9643         unsigned when comparing against one.  Likewise for
9644         GET_MODE_ALIGNMENT().
9645         (layout_record): Cast record_align to int when comparing against a
9646         signed value.
9647         (layout_type): Cast TYPE_ALIGN() to int when comparing against a
9648         signed value.
9649
9650         * tree.c (get_identifier): Cast variable `len' to unsigned when
9651         comparing against one.
9652         (maybe_get_identifier): Likewise
9653
9654 Wed Dec 23 00:10:01 1998  Jeffrey A Law  (law@cygnus.com)
9655
9656         * toplev.c (rest_of_compilation): Do not set reload_completed.
9657         * reload1.c (reload): Set reload_completed before calling
9658         cleanup_subreg_operands.
9659
9660 Tue Dec 22 23:58:31 1998  Richard Henderson  <rth@cygnus.com>
9661
9662         * reload1.c (emit_reload_insns): Check `set' not null before use.
9663
9664 Tue Dec 22 15:15:45 1998  Nick Clifton  <nickc@cygnus.com>
9665
9666         * rtlanal.c (multiple_sets): Change type of 'found' from 'rtx' to
9667         'int'.
9668
9669 Tue Dec 22 13:55:44 1998  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
9670
9671         * halfpic.c (half_pic_encode): Delete redundant code.
9672
9673 Tue Dec 22 13:02:22 1998  Michael Meissner  <meissner@cygnus.com>
9674
9675         * toplev.c (main): Delete handling of -dM as a preprocessor
9676         option.
9677
9678 Mon Dec 21 17:39:38 1998  Michael Meissner  <meissner@cygnus.com>
9679
9680         * toplev.c (main): Don't emit any warnings when using -dD, -dM, or
9681         -dI, which are handled by the preprocessor.
9682
9683 Sun Dec 20 16:13:44 1998  John F. Carr  <jfc@mit.edu>
9684
9685         * configure.in: Handle Digital UNIX 5.x the same as 4.x.
9686         * i386/sol2.h: Define LOCAL_LABEL_PREFIX as ".".
9687
9688 Sun Dec 20 07:39:52 1998  Jeff Law  (law@cygnus.com)
9689
9690         * version.c: Bump for snapshot.
9691
9692 Sat Dec 19 22:24:22 1998  Jeff Law  (law@cygnus.com)
9693
9694         * version.c: Bump for snapshot.
9695
9696 Sat Dec 19 21:41:32 1998  Jeff Law  (law@cygnus.com)
9697
9698         * version.c: Bump for snapshot.
9699
9700 Sat Dec 19 09:52:27 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9701
9702         * genattr.c (fatal): Qualify a char* with the `const' keyword.
9703
9704         * genattrtab.c (fatal, attr_printf, attr_string, write_attr_set,
9705         write_unit_name, write_eligible_delay, expand_units,
9706         make_length_attrs, write_attr_case, find_attr,
9707         make_internal_attr): Likewise.
9708         * gencheck.c (tree_codes): Likewise.
9709         * gencodes.c (fatal): Likewise.
9710         * genconfig.c (fatal): Likewise.
9711         * genemit.c (fatal): Likewise.
9712         * genextract.c (fatal, walk_rtx, copystr): Likewise.
9713         * genflags.c (fatal): Likewise.
9714         * genopinit.c (fatal, optabs, gen_insn): Likewise.
9715         * genoutput.c (fatal, error, predicates): Likewise.
9716         * genpeep.c (fatal): Likewise.
9717         * genrecog.c (fatal, decision, pred_table, add_to_sequence,
9718         write_tree_1, write_tree, change_state, copystr, indents): Likewise.
9719
9720 Thu Dec 17 18:21:49 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9721
9722         * configure.in (with-fast-fixincludes): Fix whitespace.
9723         * configure: Rebuilt.
9724
9725         * fixincludes (c_asm.h): Wrap Digital UNIX V4.0B DEC C specific
9726         asm() etc. function declarations in __DECC.
9727
9728 Thu Dec 17 13:57:23 1998  Nick Clifton  <nickc@cygnus.com>
9729
9730         * expr.c (emit_move_insn_1): Only emit a clobber if the target
9731         is a pseudo register.
9732
9733 Thu Dec 17 13:50:29 1998  Nick Clifton  <nickc@cygnus.com>
9734
9735         * gcse.c: Include expr.h in order to get the prototype for
9736         get_condition() which is used in delete_null_pointer_checks().
9737
9738 Thu Dec 17 15:58:26 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9739
9740         * hwint.h: New file to consolidate HOST_WIDE_INT (etc) macros.
9741
9742 Thu Dec 17 12:31:12 1998  Jim Wilson  <wilson@cygnus.com>
9743
9744         * Makefile.in (INTERNAL_CFLAGS): Add SCHED_CFLAGS.
9745         (ALL_CFLAGS): Delete SCHED_CFLAGS.
9746
9747 1998-12-17  Vladimir N. Makarov  <vmakarov@cygnus.com>
9748
9749         * config/i60/i960.md (extendqihi2): Fix typo (usage ',' instead of
9750         ';').
9751
9752 1998-12-17  Michael Tiemann  <tiemann@axon.cygnus.com>
9753
9754         * i960.md (extend*, zero_extend*): Don't generate rtl that looks
9755         like (subreg:SI (reg:SI N) 0), because it's wrong, and it hides
9756         optimizations from the combiner.
9757
9758 Thu Dec 17 08:27:03 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
9759
9760         * loop.c (combine_givs_used_by_other): Don't depend on n_times_set.
9761
9762 Wed Dec 16 17:30:35 1998  Nick Clifton  <nickc@cygnus.com>
9763
9764         * toplev.c (main): Disable optimize_size if a specific
9765         optimization level is requested.  Always set optimization
9766         level to 2 if -Os is specified.
9767
9768 Wed Dec 16 16:33:04 1998  Dave Brolley  <brolley@cygnus.com>
9769
9770         * objc/lang-specs.h: Pass -MD, -MMD and -MG to cc1obj if configured with
9771         cpplib.
9772         * cpplib.c (cpp_start_read): If in_fname is not initialized, try to
9773         initialize it using fname.
9774
9775 1998-12-16  Zack Weinberg  <zack@rabi.phys.columbia.edu>
9776
9777         * cpplib.c (do_include): Treat #include_next in the
9778         primary source file as #include plus warning.  Treat
9779         #include_next in a file included by absolute path as an
9780         error.  fp == CPP_NULL_BUFFER is a fatal inconsistency.
9781
9782 Wed Dec 16 12:28:54 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9783
9784         * cccp.c: Don't define MIN/MAX anymore.
9785         * cpplib.c: Likewise.
9786         * machmode.h: Likewise.
9787         * system.h: Provide definitions for MIN/MAX.
9788
9789 Tue Dec 15 23:47:42 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
9790
9791         * fix-header.c: Don't define xstrdup here.
9792
9793 Wed Dec 16 05:11:04 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
9794
9795         * loop.c (consec_sets_giv): New argument last_consec_insn.
9796         (strength_reduce): Provide / use it.
9797
9798 Wed Dec 16 17:24:07 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
9799
9800         * loop.h (loop_info): New field 'vtop'.
9801         * loop.c (check_dbra_loop): Use loop_info->vtop rather than
9802         scanning loop for vtop.
9803         * unroll.c (subtract_reg_term, find_common_reg_term): New functions.
9804         (loop_iterations): Use them to determine if loop has a constant
9805         number of iterations.  Set loop_info->vtop.  Don't subtract
9806         common reg term from initial_value and final_value if have a
9807         do-while loop.
9808
9809 Tue Dec 15 13:49:55 1998  Jeffrey A Law  (law@cygnus.com)
9810
9811         * mn10200.md (addsi3 expander): Use "nonmemory_operand" for operand 2.
9812
9813         * mn10300.md (bset, bclr): Operand 0 is a read/write operand.
9814
9815         * mn10200.md (abssf2, negsf2): New expanders.
9816
9817         * mn10300.md (absdf2, abssf2, negdf2, negsf2): New expanders.
9818
9819 Tue Dec 15 11:55:30 1998  Nick Clifton  <nickc@cygnus.com>
9820
9821         * integrate.c (copy_rtx_and_substitute): If a SUBREG is
9822         replaced by a CONCAT whose components do not have the same
9823         mode as the original SUBREG, use a new SUBREG to restore the
9824         mode.
9825
9826         * emit-rtl.c (subreg_realpart_p): Cope with subregs containing
9827         multiword complex values.
9828
9829 1998-12-15  Zack Weinberg  <zack@rabi.phys.columbia.edu>
9830
9831         * cppalloc.c: Add xstrdup here.
9832         * cpplib.h: Remove savestring prototype.
9833         * cpplib.c: Remove savestring function. s/savestring/xstrdup/
9834           throughout.
9835         * cppfiles.c: s/savestring/xstrdup/ throughout.
9836
9837 1998-12-15  Zack Weinberg  <zack@rabi.phys.columbia.edu>
9838
9839         * cpplib.c: Make all directive handlers read their own
9840           arguments.
9841           (struct directive): Remove last two arguments from FUNC
9842           member prototype. Remove `command_reads_line' member
9843           entirely.
9844           (directive_table): Remove initializations of
9845           command_reads_line flag.  Pretty-print.
9846           (eval_if_expression, do_define, do_line, do_include,
9847           do_undef, do_error, do_pragma, do_ident, do_if, do_xifdef,
9848           do_else, do_elif, do_sccs, do_assert, do_unassert,
9849           do_warning): Take only two args.
9850
9851           (cpp_define): Call do_define with two args and the text to
9852           define stuffed into a buffer.
9853           (make_assertion): Call do_assert with two args.
9854           (handle_directive): Call do_line with two args. Call
9855           kt->func with two args.  Remove command_reads_line
9856           processing.
9857           (do_define, do_undef, do_error, do_warning, do_pragma,
9858           do_sccs): Read the rest of the line here.
9859           (do_ident): Gobble rest of line, as cccp does.
9860           (cpp_undef): New function.
9861           (cpp_start_read): Call cpp_undef instead of do_undef.
9862
9863 1998-12-15  Zack Weinberg  <zack@rabi.phys.columbia.edu>
9864
9865         * cpphash.h (union hash_value): Remove `keydef' member, add a
9866           `struct hashnode *aschain' member for #assert.
9867
9868         * cpplib.c (struct tokenlist_list, struct
9869           assertion_hashnode): Delete structure definitions.
9870           (assertion_install, assertion_lookup, delete_assertion,
9871           check_assertion, compare_token_lists, reverse_token_list,
9872           read_token_list, free_token_list): Delete functions.
9873           (parse_assertion): New function.
9874           (cpp_cleanup): Don't destroy the assertion_hashtable.
9875
9876           (do_assert): Gut and rewrite.  #assert foo (bar) places
9877           entries for `#foo' and `#foo(bar)' in the macro hash table,
9878           type T_ASSERT.  The value union's `aschain' member is used
9879           to chain all answers for a given predicate together.
9880           (do_unassert): Also rewritten.  Take an un-asserted
9881           answer off the chain from its predicate and call
9882           delete_macro on the hashnode, or walk a predicate chain
9883           calling delete_macro on all the entries.
9884           (cpp_read_check_assertion): Simply call parse_assertion to
9885           get the canonical assertion name, and look that up in the
9886           hash table.
9887
9888         * cpplib.h (ASSERTION_HASHNODE,ASSERTION_HASHSIZE,assertion_hashtab):
9889         Removed.
9890
9891         * cpphash.c (install): Use bcopy instead of an explicit loop
9892           to copy the macro name.
9893
9894         * cppexp.c (cpp_lex): Convert the result of
9895           cpp_read_check_assertion to a `struct operation' directly;
9896           don't go through parse_number.
9897
9898 Tue Dec 15 18:27:39 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
9899
9900         * loop.h (struct induction): Delete times_used member.
9901         * loop.c (n_times_set): Rename to set_in_loop.  Changed all users.
9902         (n_times_used): Rename to n_times_set.  Changed all users.
9903         (scan_loop): Free reg_single_usage before strength reduction.
9904         (record_giv, combine_givs): Remove handling of times_used member.
9905         (combine_givs_used_once): Rename to:
9906         (combine_givs_used_by_other) .  Changed all callers.
9907
9908 Tue Dec 15 01:45:26 1998  Jason Merrill  <jason@yorick.cygnus.com>
9909
9910         * dwarf2out.c (gen_struct_or_union_type_die): Check AGGREGATE_TYPE_P
9911         instead of TREE_CODE_CLASS == 't'.
9912         (gen_type_die): Likewise.
9913         (scope_die_for): Ignore FUNCTION_TYPE "scopes".
9914
9915 Mon Dec 14 16:23:27 1998  Jim Wilson  <wilson@cygnus.com>
9916
9917         * real.c (endian): Disable last change unless
9918         HOST_BITS_PER_WIDE_INT is greater than 32.
9919
9920 Mon Dec 14 17:13:36 1998  Andrew MacLeod  <amacleod@cygnus.com>
9921
9922         * output.h (force_data_section): New prototype.
9923         * varasm.c (force_data_section): New function to force the
9924         data section, regardless of what in_section thinks.
9925         * dwarf2out.c (output_call_frame_info): Call force_data_section
9926         since varasm may not realize we've changes sections.
9927
9928 Mon Dec 14 14:09:34 1998  Nick Clifton  <nickc@cygnus.com>
9929
9930         * reload1.c (reload): Delete REG_RETVAL and REG_LIBCALL notes
9931           after completing reload.
9932
9933         * rtl.texi: Document that REG_RETVAL and REG_LIBCALL are
9934           deleted after reload.
9935
9936 Mon Dec 14 01:39:28 1998  Jeffrey A Law  (law@cygnus.com)
9937
9938         * rtl.h (multiple_sets): Fix prototype.
9939         * rtlanal.c (multiple_sets): Fix return type.
9940
9941 Sun Dec 13 12:43:58 1998  Jeff Law  (law@cygnus.com)
9942
9943         * version.c: Bump for snapshot.
9944
9945 Sun Dec 13 01:05:22 1998  Jeff Law  (law@cygnus.com)
9946
9947         * version.c: Bump for snapshot.
9948
9949 1998-12-13  Manfred Hollstein  <manfred@s-direktnet.de>
9950
9951         * protoize.c (fputs): Wrap extern declaration in #ifndef fputs.
9952
9953 Sun Dec 13 00:24:14 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
9954
9955         * rtl.h (recompute_reg_usage): Add second argument.
9956         * flow.c (recompute_reg_usage): Likewise.
9957         * toplev.c (rest_of_compilation): Supply second argument to
9958         recompute_reg_usage.
9959
9960         * reload1.c (compute_use_by_pseudos): Allow reg_renumber[regno] < 0
9961         after reload.
9962
9963 Sat Dec 12 23:39:10 1998  Jeffrey A Law  (law@cygnus.com)
9964
9965         * m68k/t-m68kelf (MULTILIB_OPTIONS): Add mcpu32.
9966         (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
9967         (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
9968         mcpu32 or m5200.
9969
9970         * i386/next.h (ASM_OUTPUT_ALIGN): Use 0x90 for fill character.
9971
9972         * rtlanal.c (multiple_sets): New function.
9973         * rtl.h (multiple_sets): Declare it.
9974         * local-alloc.c (wipe_dead_reg): Use it.
9975         * global.c (global_conflicts): Likewise.
9976
9977 Sat Dec 12 22:13:02 1998  Mark Mitchell  <mark@markmitchell.com>
9978
9979         * global.c (record_conflicts): Don't use an array of shorts to
9980         store an array of ints.
9981         (global_conflicts): Likewise.
9982
9983 Sat Dec 12 16:49:24 1998  Richard Henderson  <rth@cygnus.com>
9984
9985         * alpha.c (alpha_expand_block_move): mode_for_size expects
9986         bits, not bytes.  Infer extra alignment from addressof.
9987
9988 1998-12-11  Michael Meissner  <meissner@cygnus.com>
9989
9990         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Put small data in the
9991         .sbss section, not .sdata.
9992
9993 1998-12-11  Manfred Hollstein  <manfred@s-direktnet.de>
9994
9995         * cccp.c: Do not #include <sys/stat.h> here; this is already done
9996         by "system.h".
9997         * collect2.c: Likewise.
9998         * cpplib.h: Likewise.
9999         * gcc.c: Likewise.
10000         * gcov.c: Likewise.
10001         * getpwd.c: Likewise.
10002         * protoize.c: Likewise.
10003         * toplev.c: Likewise.
10004
10005         * cpplib.h (HOST_WIDE_INT): Get definition from "machmode.h"
10006         and don't try to define it here.
10007         * Makefile.in (cppmain.o): Depend on machmode.h.
10008         (cpplib.o): Likewise.
10009         (cpperror.o): Likewise.
10010         (cppexp.o): Likewise.
10011         (cppfiles.o): Likewise.
10012         (cpphash.o): Likewise.
10013         (cppalloc.o): Likewise.
10014         (fix-header.o): Likewise.
10015         (scan-decls.o): Likewise.
10016
10017 Fri Dec 11 11:02:49 1998  Stan Cox  <scox@cygnus.com>
10018
10019         * sh.c (print_operand): Lookup interrupt_handler attribute instead
10020         of relying on static variable.
10021         * (calc_live_regs): Likewise.
10022         * (sh_pragma_insert_attributes): Create interrupt_handler
10023         attribute if a pragma was specified.
10024         * (sh_valid_machine_decl_attribute): Don't set static flag.
10025         * sh.h (PRAGMA_INSERT_ATTRIBUTES): New.
10026
10027 Fri Dec 11 12:56:07 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
10028
10029         * reload1.c (reload_combine): Use BASIC_BLOCK_LIVE_AT_START
10030         to determine if a register is live at a jump destination.
10031         Everything is dead at a BARRIER.
10032
10033 Thu Dec 10 16:02:06 1998  Jim Wilson  <wilson@cygnus.com>
10034
10035         * cse.c (simplify_unary_operation): Sign-extend constants when
10036         they have the most significant bit set for the target.
10037         * real.c (endian): Sign-extend 32 bit output values on a 64 bit
10038         host.
10039         * m32r/m32r.c (m32r_expand_prologue): Store pretend_size in
10040         HOST_WIDE_INT temporary before negating it.
10041         * m32r/m32r.md (movsi_insn+1): Use ~0xffff instead of 0xffff0000.
10042
10043 Thu Dec 10 15:05:59 1998  Dave Brolley  <brolley@cygnus.com>
10044
10045         * objc/objc-act.c (lang_init_options): Enclose cpplib related code in
10046         #if USE_CPPLIB.
10047
10048 Thu Dec 10 13:39:46 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10049
10050         * collect2.h: New header file for prototypes.
10051
10052         * Makefile.in (collect2.o, tlink.o): Depend on collect2.h.
10053
10054         * collect2.c: Include collect2.h.
10055         * tlink.c: Likewise.
10056
10057 Wed Dec  9 23:55:11 1998  Jeffrey A Law  (law@cygnus.com)
10058
10059         * flow.c: Update some comments.
10060
10061 Wed Dec  9 15:29:26 1998  Dave Brolley  <brolley@cygnus.com>
10062
10063         * objc/objc-act.c (cpp_initialized): Removed.
10064         (lang_init_options): Initialize cpplib.
10065         (lang_decode_option): Move initialization of cpplib to
10066         lang_init_options.
10067         * c-lang.c (parse_options,parse_in): Added.
10068         (lang_init_options): Initialized cpplib here.
10069         * c-decl.c (parse_options,cpp_initialized): Removed.
10070         (c_decode_option): Move initialization of cpplib to
10071         lang_init_options.
10072
10073 Wed Dec  9 19:36:57 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
10074
10075         * reload1.c (reload_combine, reload_combine_note_store):
10076         Make STORE_RUID always valid.
10077         (reload_combine): Check if BASE is clobbered too early.
10078
10079 Wed Dec  9 09:53:58 1998  Nick Clifton  <nickc@cygnus.com>
10080
10081         * reload.c (find_reloads): Display the insn that cannot be
10082         reloaded.
10083
10084 Wed Dec  9 12:15:26 1998  Dave Brolley  <brolley@cygnus.com>
10085
10086         * cccp.c (create_definition): Fix end of buffer logic.
10087
10088 Wed Dec  9 10:15:45 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10089
10090         * except.c (duplicate_eh_handlers, rethrow_symbol_map): Function
10091         pointer parameters changed to use the PARAMS() macro.
10092
10093 Wed Dec  9 09:12:40 1998  Andrew MacLeod  <amacleod@cygnus.com>
10094
10095         * except.h (struct handler_info): Add handler_number field.
10096         * except.c (gen_exception_label): EH labels no longer need to be
10097         on the permanent obstack.
10098         (get_new_handler): Set the label number field.
10099         (output_exception_table_entry): Regenerate handler label reference
10100         from the label number field.
10101         (init_eh): Remove a blank line.
10102         * integrate.c (get_label_from_map): Labels no longer need to be
10103         on the permanent obstack.
10104
10105 Tue Dec  8 22:04:33 1998  Jim Wilson  <wilson@cygnus.com>
10106
10107         * i960/i960.h (CONST_COSTS, case CONST_INT): Accept power2_operand
10108         only when OUTER_CODE is SET.
10109
10110 Tue Dec  8 22:47:15 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
10111
10112         * loop.c (strength_reduce): If scan_start points to the loop exit
10113         test, be wary of subversive use of gotos inside expression statements.
10114         Don't set maybe_multiple for a backward jump that does not
10115         include the label under consideration into its range.
10116         * unroll.c (biv_total_increment): Make use of maybe_multiple field.
10117
10118 Tue Dec  8 22:33:18 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
10119
10120         * explow.c (plus_constant_wide): Don't immediately return with
10121         result of recursive call.
10122
10123 Tue Dec  8 15:32:56 1998  Andrew MacLeod  <amacleod@cygnus.com>
10124
10125         * eh-common.h (struct eh_context): Add table_index for rethrows.
10126
10127         * rtl.h (enum reg_note): Add REG_EH_REGION and REG_EH_RETHROW reg notes.
10128         (SYMBOL_REF_NEED_ADJUST): New flag indicating symbol needs to be
10129         processed when inlined or unrolled (ie duplicated in some way).
10130
10131         * rtl.c (reg_note_name): Add strings for new reg_note enums.
10132
10133         * expr.h (rethrow_libfunc): New library decl.
10134
10135         * optabs.c (rethrow_libfunc): Initialize.
10136
10137         * except.h (struct eh_entry): Add new field 'rethrow_label'.
10138         (new_eh_region_entry): No longer exported from except.c.
10139         (duplicate_handlers): Renamed to duplicate_eh_handlers and
10140         different prototype.
10141         (rethrow_symbol_map, rethrow_used): New exported functions.
10142         (eh_region_from_symbol): New exported function.
10143
10144         * except.c (create_rethrow_ref): New function to create a single
10145         SYMBOL_REF for a rethrow region.
10146         (push_eh_entry): Initialize a rethrow ref.
10147         (func_eh_entry): Add a rethrow_label field.
10148         (new_eh_region_entry): Make static, and initialize the rethrow entry.
10149         (duplicate_eh_handlers): Create a new region, and remap labels/symbols.
10150         (eh_region_from_symbol): Find an EH region based on its rethrow symbol.
10151         (rethrow_symbol_map): Given a label map, maps a rethrow symbol for
10152         a region into an appropriate new symbol.
10153         (rethrow_used): Indicate whether a rethrow symbol has been referenced.
10154         (expand_eh_region_end): Don't issue jump around code for new-exceptions.
10155         (end_catch_handler): Emit a barrier for new-exceptions since
10156         control can never drop through the end of a catch block.
10157         (expand_end_all_catch): new-exceptions never fall through a catch
10158         block.
10159         (expand_rethrow): Use __rethrow routine for new exceptions.
10160         (output_exception_table_entry): Generate rethrow labels, if needed.
10161         (output_exception_table): Generate start and end rethrow labels.
10162         (init_eh): Create rethrow symbols for beginning and end of table.
10163         (scan_region): Don't eliminate EH regions which are the targets of
10164         rethrows.
10165
10166         * flow.c (make_edges): Add different edges for rethrow calls,
10167         identified by having the REG_EH_RETHROW reg label.
10168         (delete_unreachable_blocks): Don't delete regions markers which are
10169         the target of a rethrow.
10170
10171         * integrate.c (save_for_inline_eh_labelmap): New callback routine to
10172         allow save_for_inline_copying to call duplicate_eh_handlers.
10173         (save_for_inline_copying): Call duplicate_eh_handlers instead of
10174         exposing internal details of exception regions.
10175         (copy_for_inline): Check if SYMBOL_REFs need adjustment.
10176         (expand_inline_function_eh_labelmap): New callback routine to
10177         allow expand_inline_function to call duplicate_eh_handlers.
10178         (expand_inline_function): Call duplicate_eh_handlers instead of
10179         exposing internal details of exception regions.
10180         (copy_rtx_and_substitute): Adjust SYMBOL_REFS if SYMBOL_REF_NEED_ADJUST
10181         flag is set.
10182
10183         * libgcc2.c (find_exception_handler): Generalize to enable it to
10184         pick up processing where it left off last time for a rethrow.
10185         (__unwinding_cleanup): New function. debug hook which is called before
10186         unwinding when __throw finds there is nothing but cleanups left.
10187         (throw_helper): Common parts of __throw extracted out for reuse.
10188         (__throw): Common parts moved to throw_helper.
10189         (__rethrow): New function for performing rethrows.
10190
10191 Tue Dec  8 13:11:04 1998  Jeffrey A Law  (law@cygnus.com)
10192
10193         * reload1.c (current_function_decl): Tweak declaration.
10194
10195 Tue Dec  8 10:23:52 1998  Richard Henderson  <rth@cygnus.com>
10196
10197         * c-decl.c (flag_isoc9x): Default off.
10198         (c_decode_option): Kill -std=gnu, add -std=gnu89 and -std=gnu9x.
10199         * cccp.c (print_help, main): Likewise.
10200         * gcc.c (default_compilers): Update for -std=gnu*.
10201
10202 Tue Dec  8 01:14:46 1998  Jeffrey A Law  (law@cygnus.com)
10203
10204         * Makefile.in (DEMANGLE_H): Change location to shared demangle.h.
10205         * demangle.h: Deleted.
10206
10207         * reload1.c (current_function_decl): Declare.
10208
10209 Tue Dec  8 11:58:51 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10210
10211         * cpplib.c (convert_string): Use `0x00ff', not `0x00ffU'.
10212
10213 Tue Dec  8 09:28:36 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10214
10215         * dbxout.c: If USG is defined use gstab.h, even if HAVE_STAB_H is set.
10216
10217 1998-12-08  Ulrich Drepper  <drepper@cygnus.com>
10218
10219         * configure.in: Test for availability of putc_unlocked, fputc_unlocked,
10220         and fputs_unlocked.
10221         * configure: Rebuilt.
10222         * system.h: If the *_unlocked functions are available use them
10223         instead of the locked counterparts by defining macros.
10224         * config.in: Regenerated.
10225
10226 Tue Dec  8 00:34:05 1998  Mike Stump  <mrs@wrs.com>
10227
10228         * i386/bsd.h (ASM_FILE_START): Don't use dump_base_name, it is
10229         wrong and should only be used for dump related things, not
10230         debugging information, instead main_input_filename should be used.
10231         Also, reuse output_file_directive if possible.
10232         * i386/aix386ng.h (ASM_FILE_START): Likewise.
10233         * i386/isc.h (ASM_FILE_START): Likewise.
10234         * i386/win-nt.h (ASM_FILE_START): Likewise.
10235         * i386/sun386.h (ASM_FILE_START): Likewise.
10236
10237 Mon Dec  7 23:56:28 1998  Robert Lipe  <robertl@dgii.com>
10238
10239         * configure.in (mips*-*-linux*): Handle big and little endian
10240         systems.
10241         * configure: Rebuilt.
10242
10243 Mon Dec  7 23:14:51 1998  Mike Stump  <mrs@wrs.com>
10244
10245         * emit-rtl.c: Fix typo.
10246
10247 Mon Dec  7 23:07:38 1998  Nathan Sidwell  <nathan@acm.org>
10248
10249         * reload1.c (eliminate_regs): Don't do anything, if we're not
10250         generating code.
10251
10252 Mon Dec  7 15:27:09 1998  DJ Delorie  <dj@cygnus.com>
10253
10254         * mips/mips.h (ENCODE_SECTION_INFO): Handle TARGET_EMBEDDED_DATA.
10255         Add comment.
10256         * mips/mips.c (mips_select_section): Add comment.
10257
10258 Mon Dec  7 17:55:06 1998  Mike Stump  <mrs@wrs.com>
10259
10260         * cccp.c (ignore_escape_flag): Add support for \ as `natural'
10261         characters in file names in #line to be consistent with #include
10262         handling.  We support escape processing in the # 1 "..." version of
10263         the command.  See also support in cp/lex.c.
10264         (handle_directive): Likewise.
10265         (do_line): Likewise.
10266
10267 1998-12-07  Zack Weinberg  <zack@rabi.phys.columbia.edu>
10268
10269         * cpplib.c (initialize_char_syntax): Use ISALPHA and ISALNUM
10270           so it'll work on non-ASCII platforms.  Always consider $ an
10271           identifier character.  Take no arguments.
10272           (cpp_reader_init): Call initialize_char_syntax with no
10273           arguments.
10274           (cpp_start_read): Don't call initialize_char_syntax again.
10275           Clear is_idchar['$'] and is_idstart['$'] if not
10276           opts->dollars_in_ident.
10277
10278         * cpplib.h (struct cpp_reader): Replace void *data element by
10279           cpp_options *opts.  Rearrange elements to make gdb printout
10280           less annoying (put buffer stack at end).
10281           (CPP_OPTIONS): Get rid of now-unnecessary cast.
10282
10283         * cppmain.c: s/data/opts/ when initializing cpp_reader
10284           structure.
10285         * c-decl.c: Likewise.
10286         * objc/objc-act.c: Likewise.
10287         * fix-header.c: Likewise.
10288
10289 1998-12-07  Zack Weinberg  <zack@rabi.phys.columbia.edu>
10290
10291         * cpplib.h (struct cpp_buffer): Replace dir and dlen members
10292         with a struct file_name_list pointer.
10293         (struct cpp_reader): Add pointer to chain of `actual
10294         directory' include searchpath entries.
10295         (struct file_name_list): Add *alloc pointer for the sake of
10296         the actual-directory chain.
10297
10298         Move definition of HOST_WIDE_INT here.
10299         (cpp_parse_escape): Change prototype to match changes in
10300         cppexp.c.
10301
10302         * cppfiles.c (actual_directory): New function.
10303         (finclude): Use it to initialize the buffer's actual_dir
10304         entry.
10305         (find_include_file): We don't need to fix up max_include_len
10306         here.
10307
10308         * cpplib.c (do_include): Don't allocate a file_name_list on
10309         the fly for current directory "" includes, use the one that's
10310         been preallocated in pfile->buffer->actual_dir.  Hoist out
10311         duplicate code from the search_start selection logic.
10312         (cpp_reader_init): Initialize pfile->actual_dirs.
10313
10314         Remove definition of HOST_WIDE_INT.  Change calls
10315         to cpp_parse_escape to match changes in cppexp.c (note
10316         hardcoded MASK, which is safe since this is the source
10317         character set).
10318
10319         * cppexp.c: Bring over changes to cpp_parse_escape from cccp.c
10320         to handle wide character constants in #if directives.  The
10321         function now returns a HOST_WIDE_INT, and takes a third
10322         argument which is a binary mask for all legal values (0x00ff
10323         for 8-bit `char', 0xffff for 16-bit `wchar_t', etc.)  Define
10324         MAX_CHAR_TYPE_MASK and MAX_WCHAR_TYPE_MASK.  Change callers of
10325         cpp_parse_escape to match.  [Fixes c-torture/execute/widechar-1.c]
10326
10327 Mon Dec  7 15:38:25 1998  Dave Brolley  <brolley@cygnus.com>
10328
10329         * gcc.c (default_compilers): Fix typo in USE_CPPLIB spec for cc1.
10330
10331 Mon Dec  7 15:38:25 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10332
10333         * c-aux-info.c (concat): Wrap function definition in !USE_CPPLIB.
10334         * cppalloc.c: Move function `xcalloc' from cpplib.c to here.
10335         * cpplib.c: Move function `xcalloc' from here to cppalloc.c.
10336
10337 Mon Dec  7 11:30:49 1998  Nick Clifton  <nickc@cygnus.com>
10338
10339         * final.c (output_asm_name): Use tabs to separate comments from
10340         assembly text.
10341
10342         Include instruction lengths (if defined) in output.
10343
10344 Mon Dec  7 10:53:38 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10345
10346         * loop.c (check_dbra_loop): Fix initial_value and initial_equiv_value
10347         in the loop_info structure.
10348
10349 Mon Dec  7 11:04:40 1998  Catherine Moore  <clm@cygnus.com>
10350
10351         * configure.in (arm*-*-ecos-elf): New target.
10352         * configure: Regenerated.
10353         * config/arm/elf.h (ASM_WEAKEN_LABEL): Define.
10354         * config/arm/ecos-elf.h: New file.
10355         * config/arm/unknown-elf.h (TARGET_VERSION): Check
10356         for redefinition.
10357
10358 Mon Dec  7 16:15:51 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
10359
10360         * sh.c (output_far_jump): Emit braf only for TARGET_SH2.
10361
10362 Sun Dec  6 04:19:45 1998  Jeff Law  (law@cygnus.com)
10363
10364         * version.c: Bump for snapshot.
10365
10366 Sun Dec  6 05:16:16 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10367
10368         * loop.c (check_dbra_loop): New argument loop_info.  Update fields
10369         as needed.
10370
10371 Sun Dec  6 03:40:13 1998  Jeff Law  (law@cygnus.com)
10372
10373         * version.c: Bump for snapshot.
10374
10375 Sun Dec  6 07:49:29 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
10376
10377         * gcc.texi (Bug Reporting): 40Kb is a soft limit, larger
10378         compressed reports are ok and preferred over URLs.
10379
10380 Sun Dec  6 07:45:33 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
10381
10382         * invoke.texi (Warning Options): Soften the tone of -pedantic.
10383
10384 Sun Dec  6 00:20:44 1998  H.J. Lu  (hjl@gnu.org)
10385
10386         * print-rtl.c (print_rtx): Add prototype.
10387
10388         * unroll.c (iteration_info): Make it static.
10389
10390 Sun Dec  6 01:19:46 1998  Richard Henderson  <rth@cygnus.com>
10391
10392         * alias.c (memrefs_conflict_p): A second ANDed address
10393         disables the aligned address optimization.
10394
10395 Sat Dec  5 18:48:25 1998  Richard Henderson  <rth@cygnus.com>
10396
10397         * alpha.c (alpha_emit_set_const_1): Fix parenthesis error
10398         in -c << n case.
10399
10400 Sat Dec  5 15:14:52 1998  Jason Merrill  <jason@yorick.cygnus.com>
10401
10402         * i960.h (BOOL_TYPE_SIZE): Define.
10403
10404 Sun Dec  6 00:28:16 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10405
10406         * config/c4x/c4x.c (valid_parallel_load_store): Flog functionality
10407         from old valid_parallel_operands_4.
10408         (valid_parallel_operands_4): Check that operands for 4 operand
10409         parallel insns are valid, excluding load/store insns.
10410         * config/c4x/c4x.h (valid_parallel_load_store): Add prototype.
10411         * config/c4x/c4x.md (*movqf_parallel, *movqi_parallel): Use
10412         valid_parallel_load_store instead of valid_parallel_operands_4.
10413         (*absqf2_movqf_clobber, *floatqiqf2_movqf_clobber,
10414         *negqf2_movqf_clobber, *absqi2_movqi_clobber,
10415         *fixqfqi2_movqi_clobber, *negqi2_movqi_clobber,
10416         *notqi_movqi_clobber): Use valid_parallel_operands_4.
10417         (*subqf3_movqf_clobber, *ashlqi3_movqi_clobber,
10418         *ashrqi3_movqi_clobber, *lshrqi3_movqi_clobber,
10419         *subqi3_movqi_clobber): Use valid_parallel_operands_5.
10420
10421 Sat Dec  5 23:52:01 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10422
10423         * config/c4x/c4x.c (iteration_info): Delete extern.
10424
10425 Fri Dec  4 20:15:57 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
10426
10427         * tm.texi (SMALL_REGISTER_CLASSES): Make description match reality.
10428
10429         * final.c (cleanup_subreg_operands): Delete some unused code.
10430
10431         * recog.h (MAX_RECOG_ALTERNATIVES): New macro.
10432         (struct insn_alternative): New structure definition.
10433         (recog_op_alt): Declare variable.
10434         (preprocess_constraints): Declare function.
10435         * recog.c (recog_op_alt): New variable.
10436         (extract_insn): Verify number of alternatives is in range.
10437         (preprocess_constraints): New function.
10438         * reg-stack.c: Include recog.h.
10439         (constrain_asm_operands): Delete.
10440         (get_asm_operand_lengths): Delete.
10441         (get_asm_operand_n_inputs): New function.
10442         (record_asm_reg_life): Delete OPERANDS, CONSTRAINTS, N_INPUTS and
10443         N_OUTPUTS args.  All callers changed.
10444         Compute number of inputs and outputs here by calling
10445         get_asm_operand_n_inputs.
10446         Instead of constrain_asm_operands, call extract_insn,
10447         constrain_operands and preprocess_constraints.  Use information
10448         computed by these functions throughout.
10449         (record_reg_life): Delete code that is unused due to changes in
10450         record_asm_reg_life.
10451         (subst_asm_stack_regs): Delete OPERANDS, OPERAND_LOC, CONSTRAINTS,
10452         N_INPUTS and N_OUTPUTS args.  All callers changed.
10453         Similar changes as in record_asm_reg_life.
10454         (subst_stack_regs): Move n_operands declaration into the if statement
10455         where it's used.
10456         Delete code that is unused due to changes in subst_asm_stack_regs.
10457         * stmt.c (expand_asm_operands): Verify number of alternatives is in
10458         range.
10459         * Makefile.in (reg-stack.o): Depend on recog.h.
10460
10461 Fri Dec  4 02:23:24 1998  Jeffrey A Law  (law@cygnus.com)
10462
10463         * except.c (set_exception_version_code): Argument is an "int".
10464
10465 Fri Dec  4 01:29:28 1998  Jeffrey A Law  (law@cygnus.com)
10466
10467         * configure.in (hppa2*-*-*): Handle like hppa1.1-*-* for now.
10468         * configure: Rebuilt.
10469
10470 Fri Dec  4 01:29:28 1998  Robert Lipe  <robertl@dgii.com>
10471
10472         * configure.in (mipsel-*-linux*): New target.
10473         * mips/linux.h: New file, based on other Linux targets.
10474
10475 Thu Dec  3 11:19:50 1998  Mike Stump  <mrs@wrs.com>
10476
10477         * gthr-vxworks.h (__ehdtor): Fix memory leak.  The delete hook
10478         runs in the context of the deleter, not the deletee, so we must
10479         use taskVarGet to find the correct memory to free.
10480         (__gthread_key_create): Initialize the task
10481         variable subsystem so that the task variable is still active when
10482         the delete hook is run.
10483
10484 1998-12-03  Joseph S. Myers  <jsm28@cam.ac.uk>
10485
10486         * pdp11.h: Use optimize_size for space optimizations.
10487         * pdp11.c: Likewise.
10488         * pdp11.md: Likewise.
10489
10490         * pdp11.h (TARGET_40_PLUS): Fix typo.
10491
10492 Thu Dec  3 11:48:32 1998  Jeffrey A Law  (law@cygnus.com)
10493
10494         * local-alloc.c (block_alloc): Slightly retune heuristic to widen
10495         qty lifetimes.
10496
10497 Thu Dec  3 22:30:18 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10498
10499         * alias.c (addr_side_effect_eval): New function.
10500         (memrefs_conflict_p): Use it.
10501         * rtl.h (addr_side_effect_eval): Prototype it.
10502
10503 1998-12-02  Joseph S. Myers  <jsm28@cam.ac.uk>
10504
10505         * pdp11.md (extendsfdf2): Fix mode mismatch in SET.
10506
10507 Wed Dec  2 11:23:07 1998  Jim Wilson  <wilson@cygnus.com>
10508
10509         * reload.c (find_reloads): When force const to memory, put result
10510         in substed_operand not *recog_operand_loc.
10511
10512 1998-12-02  Ulrich Drepper  <drepper@cygnus.com>
10513
10514         * c-lex.c: Fix indentation from last patch.
10515         Remove trailing whitespace.
10516         * real.c: Likewise.
10517
10518 Wed Dec  2 10:11:12 1998  Jeffrey A Law  (law@cygnus.com)
10519
10520         * flow.c (delete_block): Call set_last_insn after we have reset
10521         NEXT_INSN (kept_tail).
10522
10523 Wed Dec  2 00:47:31 1998  Jeffrey A Law  (law@cygnus.com)
10524
10525         * mips.md (trap_if): Use "$0" for the value zero.
10526
10527 Tue Dec  1 20:49:49 1998  Ulrich Drepper  <drepper@cygnus.com>
10528                           Stephen L Moshier  <moshier@world.std.com>
10529                           Richard Henderson  <rth@cygnus.com>
10530
10531         * c-common.c (declare_function_name): Declare predefined variable
10532         `__func__'.
10533
10534         * c-decl.c (flag_isoc9x): Set to 1 by default.
10535         (c_decode_option): Handle -std= option.  Remove -flang-isoc9x.
10536         (grokdeclarator): Always emit warning about implicit int for ISO C 9x.
10537
10538         * c-parse.in: Allow constructors in ISO C 9x.
10539         Rewrite designator list handling.
10540         Allow [*] parameters.
10541         Don't warn about comma at end of enum definition for ISO C 9x.
10542
10543         * cccp.c (c9x): New variable.
10544         (rest_extension): New variable.
10545         (print_help): Document new -std= option.
10546         (main): Recognize -std= option.  Set c9x appropriately.
10547         (create_definition): Recognize ISO C 9x vararg macros.
10548
10549         * gcc.c (default_compilers): Adjust specs for -std options.
10550         (option_map): Add --std.
10551         (display_help): Document -std.
10552
10553         * toplev.c (documented_lang_options): Add -std and remove
10554         -flang-isoc9x.
10555
10556         * c-lex.c (yylex): Recognize hex FP constants and call REAL_VALUE_ATOF
10557         or REAL_VALUE_HTOF based on base of the constants.
10558         * fold-const.c (real_hex_to_f): New function.  Replacement function
10559         for hex FP conversion if REAL_ARITHMETIC is not defined.
10560         * real.c (asctoeg): Add handling of hex FP constants.
10561         * real.h: Define REAL_VALUE_HTOF if necessary using ereal_atof or
10562         real_hex_to_f.
10563
10564 Tue Dec  1 16:45:49 1998  Stan Cox  <scox@cygnus.com>
10565
10566         * mips.md (divmodsi4*, divmoddi4*, udivmodsi4*, udivmoddi4): Add
10567         -mcheck-range-division/-mcheck-zero-division checking.  Avoid as macro
10568         expansion.  Use hi/lo as destination register.
10569         (div_trap): New.
10570         (divsi3*, divdi3*, modsi3*, moddi3*, udivsi3*, udivdi3*, umodsi3*,
10571         umoddi3*): Add -mcheck-range-division/-mcheck-zero-division checking.
10572         Avoid as macro expansion.  Use hi/lo as destination register.
10573
10574         * mips.h (MASK_CHECK_RANGE_DIV): New.
10575         (MASK_NO_CHECK_ZERO_DIV): New.
10576         (ELIMINABLE_REGS): Added GP_REG_FIRST + 31.
10577         (CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): Allow for getting
10578         return address for leaf functions out of r31 to support
10579         builtin_return_address.
10580
10581 Tue Dec  1 15:03:30 1998  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
10582
10583         * jump.c (jump_optimize): Call regs_set_between_p with PREV_INSN(x),
10584         NEXT_INSN(x) to check insn x.
10585
10586 Tue Dec  1 15:20:44 1998  Jeffrey A Law  (law@cygnus.com)
10587
10588         * flow.c (delete_block): Call set_last_insn if we end up deleting the
10589         last insn in the rtl chain.
10590
10591         * reload1.c (reload): Do not set reload_completed or split insns
10592         here.  Instead...
10593         * toplev.c (rest_of_compilation): Set reload_completed after
10594         reload returns.  Split insns after reload_cse has run.
10595
10596 Tue Dec  1 11:55:04 1998  Richard Henderson  <rth@cygnus.com>
10597
10598         * final.c (final_scan_insn): Abort if block_depth falls below 0.
10599
10600 Tue Dec  1 10:23:16 1998  Nick Clifton  <nickc@cygnus.com>
10601
10602         * config/arm/t-arm-elf (LIBGCC2_CFLAGS): Define inhibit_libc.
10603
10604 Tue Dec  1 10:22:18 1998  Nick Clifton  <nickc@cygnus.com>
10605
10606         * config/arm/unknown-elf.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Remove
10607         use of user-label_prefix.
10608
10609 Tue Dec  1 17:58:26 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
10610
10611         * reload1.c (emit_reload_insns): Clear spill_reg_store
10612         when doing a new non-inherited reload from the same pseudo.
10613
10614         * local-alloc.c (function_invariant_p): New function.
10615         (update_equiv_regs): Use function_invariant_p instead of CONSTANT_P
10616         to decide if an equivalence should be recorded.
10617         * reload1.c (num_eliminable_invariants): New static variable.
10618         (reload): Set it.  Use function_invariant_p instead of CONSTANT_P
10619         to decide if an equivalence should be recorded.
10620         Unshare PLUS.
10621         (calculate_needs_all_insns): Skip insns that only set an equivalence.
10622         Take num_eliminable_invariants into account when deciding
10623         if register elimination should be done.
10624         (reload_as_needed): Take num_eliminable_invariants into account
10625         when deciding if register elimination should be done.
10626         (eliminate_regs): Handle non-constant reg_equiv_constant.
10627         * rtl.h (function_invariant_p): Declare.
10628
10629 Mon Nov 30 02:00:08 1998  Jeff Law  (law@cygnus.com)
10630
10631         * version.c: Bump for snapshot.
10632
10633 Mon Nov 30 00:42:59 1998  Jeff Law  (law@cygnus.com)
10634
10635         * version.c: Bump for snapshot.
10636
10637 Sun Nov 29 22:59:40 1998  Jason Merrill  <jason@yorick.cygnus.com>
10638
10639         * except.c (add_new_handler): Complain about additional handlers
10640         after one that catches everything.
10641
10642 Sat Nov 28 10:56:32 1998  Jeffrey A Law  (law@cygnus.com)
10643
10644         * configure.in (alpha*-*-netbsd): Fix typo.
10645         * configure: Rebuilt.
10646
10647 Fri Nov 27 12:28:56 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10648
10649         * system.h: Include libiberty.h.
10650
10651         * c-aux-info.c: Remove prototypes for concat/concat3.  Change
10652         function `concat' from fixed parameters to variable parameters,
10653         as is done in libiberty.  All callers of concat/concat3
10654         changed to use the new `concat' with variable args.
10655
10656         * cccp.c: Remove things made redundant by libiberty.h and/or
10657         conform to libiberty standards.
10658         * cexp.y: Likewise.
10659         * collect2.c: Likewise.
10660         * config/1750a/1750a.h: Likewise.
10661         * cppalloc.c: Likewise.
10662         * cppexp.c: Likewise.
10663         * cppfiles.c: Likewise.
10664         * cpphash.c: Likewise.
10665         * cpplib.c: Likewise.
10666         * dyn-string.c: Likewise.
10667         * fix-header.c: Likewise.
10668         * gcc.c: Likewise.
10669         * gcov.c: Likewise.
10670         * genattr.c: Likewise.
10671         * genattrtab.c: Likewise.
10672         * gencheck.c: Likewise.
10673         * gencodes.c: Likewise.
10674         * genconfig.c: Likewise.
10675         * genemit.c: Likewise.
10676         * genextract.c: Likewise.
10677         * genflags.c: Likewise.
10678         * gengenrtl.c: Likewise.
10679         * genopinit.c: Likewise.
10680         * genoutput.c: Likewise.
10681         * genpeep.c: Likewise.
10682         * genrecog.c: Likewise.
10683         * getpwd.c: Likewise.
10684         * halfpic.c: Likewise.
10685         * hash.c: Likewise.
10686         * mips-tdump.c: Likewise.  Wrap malloc/realloc/calloc prototypes
10687         in NEED_DECLARATION_* macros.
10688
10689         * mips-tfile.c: Remove things made redundant by libiberty.h and/or
10690         conform to libiberty standards.
10691         (fatal): Fix const-ification of variable `format' in
10692         !ANSI_PROTOTYPES case.
10693
10694         * prefix.c: Remove things made redundant by libiberty.h and/or
10695         conform to libiberty standards.
10696
10697         * print-rtl.c: Rename variable `spaces' to `xspaces' to avoid
10698         conflicting with function `spaces' from libiberty.
10699
10700         * profile.c: Remove things made redundant by libiberty.h and/or
10701         conform to libiberty standards.
10702         * protoize.c: Likewise.
10703         * rtl.h: Likewise.
10704         * scan.h: Likewise.
10705         * tlink.c: Likewise.
10706         * toplev.c: Likewise.
10707         * toplev.h: Likewise.
10708         * tree.h: Likewise.
10709
10710 Thu Nov 26 08:38:06 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10711
10712         * cppfiles.c (simplify_pathname): Un-ANSI-fy function definition.
10713
10714 Thu Nov 26 23:45:37 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10715
10716         * README.C4X: Updated URLs.
10717         * config/c4x/c4x.c (c4x_address_conflict): Fix typo.
10718         (valid_parallel_operands_5): Remove unused variable.
10719
10720 Thu Nov 26 23:40:03 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10721
10722         * config/c4x/c4x.h (TARGET_DEFAULT): Fix typo.
10723
10724 1998-11-26  Manfred Hollstein  <manfred@s-direktnet.de>
10725
10726         * Makefile.in (CONFIG_LANGUAGES): New macro taking all languages
10727         which can be configured.
10728         (LANGUAGES): Use $(CONFIG_LANGUAGES) instead of @all_languages@
10729         (Makefile): Pass actual LANGUAGES through the environment when
10730         re-configuring.
10731         (cstamp-h): Likewise.
10732         (config.status): Likewise.
10733
10734         * configure.in (enable_languages): Add new configuration parameter
10735         "--enable-languages=lang1,lang2,...".
10736         (${srcdir}/*/config-lang.in): Change handling to configure only
10737         those directories, that the user might have enabled; default to
10738         "all" existing languages.
10739         * configure: Regenerate.
10740
10741 Thu Nov 26 00:19:19 1998  Richard Henderson  <rth@cygnus.com>
10742
10743         * rtlanal.c (regs_set_between_p): New function.
10744         * rtl.h (regs_set_between_p): Prototype it.
10745         * jump.c (jump_optimize): Use it instead of modified_between_p
10746         in the Sep 2 change.
10747
10748 Wed Nov 25 23:32:02 1998  Ian Dall  <Ian.Dall@dsto.defence.gov.au>
10749                           Matthias Pfaller  <leo@dachau.marco.de>
10750
10751         * invoke.texi (Option Summary, NS32K Options): Add description
10752         of NS32K specific options.
10753
10754         * ns32k.md (tstdf, cmpdf, movdf, truncdfsf2, fixdfqi2, fixdfhi2,
10755         fixdfsi2, fixunsdfqi2, fixunsdfhi2, fixunsdfsi2, fix_truncdfqi2,
10756         fix_truncdfhi2, fix_truncdfsi2, adddf3, subdf3, muldf3, divdf3,
10757         negdf2, absdf2): Use l instead of f since the double class and
10758         float class are no longer the same.
10759         (cmpsi, truncsiqi2, truncsihi2, addsi3, subsi3, mulsi3, umulsidi3,
10760         divsi3, modsi3, andsi3, iorsi3, xorsi3, negsi2, one_cmplsi2,
10761         ashlsi3, ashlhi3, ashlqi3, rotlsi3, rotlhi3, rotlqi3, abssi2,...):
10762         Use "g" instead of "rmn" since LEGITIMATE_PIC_OPERAND has been
10763         fixed.
10764         (cmpsi, cmphi, cmpqi): Use general_operand instead of
10765         non_immediate_operand. Removes erroneous assumption that can't
10766         compare constants.
10767         (movsf, movsi, movhi, movqi,...): New register numbering scheme.
10768         (movsi, addsi3): Use NS32K_DISPLACEMENT_P instead of hard coded
10769         constants.
10770         (movstrsi, movstrsi1, movstrsi2): Completely new block move
10771         scheme.
10772         (...): Patterns to exploit multiply-add instructions.
10773         (udivmodsi4, udivmodsi_internal4, udivmodhi4,
10774         udivmoddihi4_internal, udivmodqi4, udivmoddiqi4_internal): New
10775         patterns to exploit extended divide insns.
10776         (udivsi3, udivhi3, udivqi3): Remove since superseded by udivmodsi
10777         etc patterns.
10778
10779         * ns32k.h (FUNCTION_VALUE, LIBCALL_VALUE): Use f0 for complex
10780         float return values as well as simple scalar floats.
10781         (TARGET_32381, TARGET_MULT_ADD, TARGET_SWITCHES):
10782         Support new flag to denote 32381 fpu.
10783         (OVERRIDE_OPTIONS): 32381 is a strict superset of 32081.
10784         (CONDITIONAL_REGISTER_USAGE): Disable extra 32381 registers if not
10785         compiling for 32381.
10786         (FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS,
10787         REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES, OUTPUT_REGISTER_NAMES,
10788         REG_ALLOC_ORDER, DBX_REGISTER_NUMBER, R0_REGNUM, F0_REGNUM,
10789         L1_REGNUM, STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM,
10790         LONG_FP_REGS_P, ARG_POINTER_REGNUM, reg_class, REG_CLASS_NAMES,
10791         REG_CLASS_CONTENTS, SUBSET_P,REGNO_REG_CLASS,
10792         REG_CLASS_FROM_LETTER, FUNCTION_PROLOGUE, FUNCTION_EPILOGUE,
10793         REGNO_OK_FOR_INDEX_P, FP_REG_P, REG_OK_FOR_INDEX_P,
10794         REG_OK_FOR_BASE_P, MEM_REG): New register scheme to include 32381
10795         fpu registers and special register classes for new 32381
10796         instructions dotf and polyf.
10797         (MODES_TIEABLE_P): Allow all integer modes, notably DI and SI, to
10798         be tieable.
10799         (INCOMING_RETURN_ADDR_RTX, RETURN_ADDR_RTX,
10800         INCOMING_FRAME_SP_OFFSET): New macros in case DWARF support is
10801         required.
10802         (SMALL_REGISTER_CLASSES): Make dependent on -mmult-add option.
10803         (MOVE_RATIO): Set to zero because of smart movstrsi implementation.
10804         (REGISTER_MOVE_COST): Move code to register_move_cost function for
10805         ease of coding and debugging.
10806         (CLASS_LIKELY_SPILLED_P): Under new register scheme class
10807         LONG_FLOAT_REGO is likely spilled but not caught by default
10808         definition.
10809         (CONSTANT_ADDRESS_P, CONSTANT_ADDRESS_NO_LABEL_P): Use macro
10810         instead of hard coded numbers in range check.
10811         (ASM_OUTPUT_LABELREF_AS_INT): Delete since unused.
10812         (...): Add prototypes for functions in ns32k.c but disable because
10813         of problems when ns32k.h is included in machine independent files.
10814
10815         * ns32k.c: Include "system.h", "tree.h", "expr.h", "flags.h".
10816         (ns32k_reg_class_contents, regcass_map, ns32k_out_reg_names,
10817         hard_regno_mode_ok, secondary_reload_class,
10818         print_operand, print_operand_address): New register scheme to
10819         include 32381 fpu registers and special register classes for new
10820         32381 instructions dotf and polyf.
10821         (gen_indexed_expr): Make static to keep namespace clean.
10822         (check_reg): Remove since never called.
10823         (move_tail, expand_block_move): Helper functions for "movstrsi"
10824         block move insn.
10825         (register_move_cost): Helper function for REGISTER_MOVE_COST macro.
10826         Increase cost of moves which go via memory.
10827         * netbsd.h (TARGET_DEFAULT): Set (new) 32381 fpu flag.
10828         (CPP_PREDEFINES): No longer predefine "unix".
10829
10830         * ns32k.md (movsi, movsi, adddi3, subdi3, subsi3, subhi3, subqi3,...):
10831         Remove erroneous %$. print_operand() can work out from the rtx is
10832         an immediate prefix is required.
10833
10834         * ns32k.h (RETURN_POPS_ARGS, VALID_MACHINE_DECL_ATTRIBUTE,
10835         VALID_MACHINE_TYPE_ATTRIBUTE, COMP_TYPE_ATTRIBUTES,
10836         SET_DEFAULT_TYPE_ATTRIBUTES): Support for -mrtd calling
10837         convention.
10838         (LEGITIMATE_PIC_OPERAND_P, SYMBOLIC_CONST): Correct handling of
10839         pic operands.
10840
10841         * ns32k.c (symbolic_reference_mentioned_p, print_operand):
10842         Correct handling of pic operands.
10843         (ns32k_valid_decl_attribute_p, ns32k_valid_type_attribute_p,
10844         ns32k_comp_type_attributes, ns32k_return_pops_args): Support for
10845         -mrtd calling convention.
10846
10847 Wed Nov 25 23:42:20 1998  Tom Tromey  <tromey@cygnus.com>
10848
10849         * gcc.c (option_map): Recognize --output-class-directory.
10850
10851 Thu Nov 26 18:26:21 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10852
10853         * loop.h (precondition_loop_p): Added new mode argument.
10854         * unroll.c (precondition_loop_p): Likewise.
10855         (approx_final_value): Function deleted and subsumed
10856         into loop_iterations.
10857         (loop_find_equiv_value): New function.
10858         (loop_iterations): Use loop_find_equiv_value to find increments
10859         too large to be immediate constants.  Also use it to find terms
10860         common to initial and final iteration values that can be removed.
10861
10862 Thu Nov 26 18:05:04 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10863
10864         * loop.h (struct loop_info): Define new structure.
10865         (precondition_loop_p): Added prototype.
10866         (unroll_loop): Added new argument loop_info to prototype.
10867         (final_biv_value, final_giv_value): Added new argument n_iterations
10868         to prototype.
10869         * loop.c (strength_reduce): Declare new structure loop_iteration_info
10870         and new pointer loop_info.
10871         (loop_n_iterations): Replace global variable by element in
10872         loop_info structure.
10873         (check_final_value): New argument n_iterations.
10874         (insert_bct): New argument loop_info.
10875         (loop_unroll_factor): Replace global array by element in
10876         loop_info structure.
10877         (loop_optimize): Remove code to allocate and initialize
10878         loop_unroll_factor_array.
10879         * unroll.c (precondition_loop_p): No longer static since
10880         used by branch on count optimization.
10881         (precondition_loop_p, unroll_loop): New argument loop_info.
10882         (final_biv_value, final_giv_value, find_splittable_regs): New
10883         argument n_iterations.
10884         (loop_iteration_var, loop_initial_value, loop_increment,
10885         loop_final_value, loop_comparison_code, loop_unroll_factor):
10886         Replaced global variables by loop_info structure.
10887         (loop_unroll_factor): Replace global array by element in
10888         loop_info structure.
10889
10890 Thu Nov 26 17:49:29 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10891
10892         * loop.c (check_dbra_loop): Update JUMP_LABEL field of jump insn
10893         when loop reversed.
10894
10895         * unroll.c (precondition_loop_p): Return loop_initial_value
10896         for initial_value instead of loop_iteration_var.
10897
10898 Thu Nov 26 17:15:38 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10899
10900         * config/c4x/c4x.md: Fix minor formatting problems.  Update docs.
10901         (*b, *b_rev, *b_noov, *b_noov_rev, *db,
10902         decrement_and_branch_until_zero, rptb_end): Use c4x_output_cbranch
10903         to output the instruction sequences.
10904         (rpts): Delete.
10905         (rptb_top): Provide alternatives to use any register or memory
10906         for loop counter.
10907         (rptb_end): Emit use of operands rather than assigning them
10908         explicitly to the RS and RE registers.
10909
10910 Thu Nov 26 16:37:59 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10911
10912         * config/c4x/c4x.c (c4x_modified_between_p, c4x_mem_set_p,
10913         c4x_mem_set_p, c4x_mem_modified_between_p, c4x_insn_moveable_p,
10914         c4x_parallel_pack, c4x_parallel_find, c4x_update_info_reg,
10915         c4x_update_info_regs, c4x_copy_insn_after, c4x_copy_insns_after,
10916         c4x_merge_notes, c4x_parallel_process,
10917         c4x_combine_parallel_independent, c4x_combine_parallel_dependent,
10918         c4x_combine_parallel): Delete.
10919
10920 Thu Nov 26 15:16:05 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10921
10922         * config/c4x/c4x.c (c4x_override_options): For compatibility
10923         with old target options clear flag_branch_on_count_reg if
10924         -mno-rptb specified and set flag_argument_alias is -mno-aliases
10925         specified.
10926         (c4x_output_cbranch): Handle a sequence of insns rather than a
10927         single insn.
10928         (c4x_rptb_insert): Do not emit a RPTB insn if the RC register
10929         has not been allocated as the loop counter.
10930         (c4x_address_conflict): Do not allow two volatile memory references.
10931         (valid_parallel_operands_4, valid_parallel_operands_5,
10932         valid_parallel_operands_6): Reject pattern if the register destination
10933         of the first set is used as part of an address in the second set.
10934
10935 Thu Nov 26 14:56:32 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10936
10937         * config/c4x/c4x.h (TARGET_DEFAULT): Add PARALEL_MPY_FLAG.
10938         (TARGET_SMALL_REG_CLASS): Set to 0 so that SMALL_REGISTER_CLASSES
10939         is no longer enabled if PARALLEL_MPY_FLAG set.
10940         (HARD_REGNO_CALL_CLOBBERED): Add parentheses to remove ambiguity.
10941         (REG_CLASS_CONTENTS): Add braces around initializers.
10942         (HAVE_MULTIPLE_PACK): Define.
10943         (ASM_OUTPUT_BYTE_FLOAT): Use %lf format specifier with
10944         REAL_VALUE_TO_DECIMAL.
10945         (ASM_OUTPUT_SHORT_FLOAT): Use %lf format specifier with
10946         REAL_VALUE_TO_DECIMAL.
10947         (ar0_reg_operand): Add prototype.
10948         (ar0_mem_operand): Likewise.
10949         (ar1_reg_operand): Likewise.
10950         (ar1_mem_operand): Likewise.
10951         (ar2_reg_operand): Likewise.
10952         (ar2_mem_operand): Likewise.
10953         (ar3_reg_operand): Likewise.
10954         (ar3_mem_operand): Likewise.
10955         (ar4_reg_operand): Likewise.
10956         (ar4_mem_operand): Likewise.
10957         (ar5_reg_operand): Likewise.
10958         (ar5_mem_operand): Likewise.
10959         (ar6_reg_operand): Likewise.
10960         (ar6_mem_operand): Likewise.
10961         (ar7_reg_operand): Likewise.
10962         (ar7_mem_operand): Likewise.
10963         (ir0_reg_operand): Likewise.
10964         (ir0_mem_operand): Likewise.
10965         (ir1_reg_operand): Likewise.
10966         (ir1_mem_operand): Likewise.
10967         (group1_reg_operand): Likewise.
10968         (group1_mem_operand): Likewise.
10969         (ir1_reg_operand): Likewise.
10970         (arx_reg_operand): Likewise.
10971         (not_rc_reg): Likewise.
10972         (not_modify_reg): Likewise.
10973         (c4x_group1_reg_operand): Remove prototype.
10974         (c4x_group1_mem_operand): Likewise.
10975         (c4x_arx_reg_operand): Likewise.
10976
10977 Wed Nov 25 19:02:55 1998  (Stephen L Moshier)  <moshier@world.std.com>
10978
10979         * emit-rtl.c (gen_lowpart_common): Remove earlier change.
10980         * real.c (make_nan): Make SIGN arg actually specify the sign bit.
10981
10982 Thu Nov 26 14:12:05 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10983
10984         * config/c4x/c4x.md (addqi3): Emit addqi3_noclobber pattern
10985         during reload.
10986
10987 Wed Nov 25 22:05:28 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
10988
10989         * config/sh/lib1funcs.asm (___udivsi3_i4): Don't switch to sz == 1
10990         unless FMOVD_WORKS is defined.
10991
10992 Wed Nov 25 20:11:04 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
10993
10994         * regclass.c (init_reg_sets): Move code that calculates tables
10995         dependent on reg_class_contents from here...
10996         (init_reg_sets_1): To here.
10997
10998 Wed Nov 25 14:54:46 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
10999
11000         * cpplib.h: Delete struct import_file.  Add ihash element to
11001         struct cpp_buffer.  Delete dont_repeat_files and
11002         import_hash_table elements from cpp_reader; change
11003         all_include_files to a hash table.  Delete all foobar_include
11004         / last_foobar_include elements from struct cpp_options; put
11005         back four such: quote_include, bracket_include,
11006         system_include, after_include.  Redo struct file_name_list
11007         completely.  Add new structure type include_hash.  Add
11008         prototypes for merge_include_chains and include_hash.  Change
11009         prototypes for finclude, find_include_file, and
11010         append_include_chain to match changes below.
11011
11012         * cppfiles.c (simplify_pathname, include_hash,
11013         remap_filename, merge_include_chains): New functions.
11014         (add_import, lookup_import, open_include_file): Removed.
11015         (INO_T_EQ): Define this (copied from cccp.c).
11016         (hack_vms_include_specification): Remove all calls and #if 0
11017         out the definition.  It was being called incorrectly and at
11018         the wrong times.  Until a VMSie can look at this, it's better
11019         to not pretend to support it.
11020         (append_include_chain): Change calling convention; now takes
11021         only one directory at a time, and sets up the data structure
11022         itself.
11023         (redundant_include_p): Rewritten - this is now used for all
11024         include redundancy, whether by #ifndef, #import, or #pragma
11025         once.  Looks up things in the include hash table.
11026         (file_cleanup): Decrement pfile->system_include_depth here if
11027         it's >0.
11028         (find_include_file): Calling convention changed; now passes
11029         around a struct include_hash instead of 3 separate parameters.
11030         Guts ripped out and replaced with new include_hash mechanism.
11031         (finclude): Calling convention changed as for
11032         find_include_file.  Error exits pulled out-of-line.  Reformat.
11033         (safe_read): Return a long, not an int.
11034         (deps_output): Don't recurse.
11035
11036         * cpplib.c (is_system_include): Deleted.
11037         (path_include): Fix up call to append_include_chain.
11038         (do_include): Fix up calls to find_include_file and finclude.
11039         Clean up dependency output a bit.  Shorten obnoxiously lengthy
11040         #import warning message.  Don't decrement
11041         pfile->system_include_depth here.
11042         (do_pragma): Understand the include_hash structure.  Reformat.
11043         (do_endif): Correct handling of control macros.  Understand
11044         the include_hash.
11045         (cpp_start_read): Fix up calls to finclude.  Call
11046         merge_include_chains.
11047         (cpp_handle_option): Fix up calls to append_include_chain.
11048         Understand the four partial include chains.
11049         (cpp_finish): Add debugging code (#if 0-ed out) for the
11050         include_hash.
11051         (cpp_cleanup): Free the include_hash, not the import hash and
11052         the all_include and dont_repeat lists which no longer exist.
11053
11054 Wed Nov 25 11:26:19 1998  Jeffrey A Law  (law@cygnus.com)
11055
11056         * toplev.c (no_new_pseudos): Define.
11057         (rest_of_compilation): Set no_new_pseudos as needed.
11058         * emit-rtl.c (gen_reg_rtx): Abort if we try to create a new pseudo
11059         if no_new_pseudos is set.
11060         * rtl.h (no_new_pseudos): Declare it.
11061         * reload1.c (reload): Update comments.
11062         * md.texi: Corresponding changes.
11063
11064 Wed Nov 25 11:26:17 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
11065
11066         * reload1.c (reg_used_in_insn): Renamed from reg_used_by_pseudo.
11067         (choose_reload_regs): Rename it here as well.  When computing it,
11068         also merge in used hardregs.
11069
11070 1998-11-25  Zack Weinberg  <zack@rabi.phys.columbia.edu>
11071
11072         * gcc.c: Split out Objective-C specs to...
11073         * objc/lang-specs.h: here. (New file.) Make the specs cpplib
11074         aware.
11075
11076         * c-lex.c (init_parse): Always initialize the filename global.
11077         * objc/objc-act.c (lang_init): Always call check_newline at
11078         beginning of file.
11079
11080 Wed Nov 25 00:48:29 1998  Graham  <grahams@rcp.co.uk>
11081
11082         * reload1.c (reload): Remove unused variable.
11083         (reload_reg_free_for_value_p): Add missing parameter definition.
11084
11085         * jump.c (jump_optimize): Remove unused variable.
11086
11087 Wed Nov 25 00:07:11 1998  Jeffrey A Law  (law@cygnus.com)
11088
11089         * Makefile.in (graph.o): Depend on $(RTL_H), not rtl.h.
11090
11091         * cse.c (fold_rtx): Make autoincrement addressing mode tests be
11092         runtime selectable.
11093         * expr.c (move_by_pieces): Similarly.
11094         (move_by_pieces_1, clear_by_pieces, clear_by_pieces_1): Similarly.
11095         * flow.c (find_auto_inc): Similarly.
11096         (try_pre_increment): Similarly.
11097         * loop.c (strength_reduce): Similarly.
11098         * regclass.c (auto_inc_dec_reg_p): Similarly.
11099         * regmove.c (try_auto_increment): Similarly.
11100         (fixup_match_1): Similarly.
11101         * rtl.h (HAVE_PRE_INCREMENT): Define if not already defined.
11102         (HAVE_PRE_DECREMENT): Similarly.
11103         (HAVE_POST_INCREMENT, HAVE_POST_DECREMENT): Similarly.
11104         * Corresponding changes to all target header files.
11105         * tm.texi: Update docs for autoinc addressing modes.
11106
11107 Tue Nov 24 20:24:59 1998  Jim Wilson  <wilson@cygnus.com>
11108
11109         * configure.in (m68020-*-elf*, m68k-*-elf*): New targets.
11110         * configure: Rebuild.
11111         * config/elfos.h: New file.
11112         * config/m68k/m68020-elf.h, config/m68k/m68kelf.h,
11113         config/m68k/t-m68kelf: New file.
11114
11115 Tue Nov 24 13:40:06 1998  Jeffrey A Law  (law@cygnus.com)
11116
11117         * Makefile.in (HOST_AR): Define.
11118         (HOST_AR_FLAGS, HOST_RANLIB, HOST_RANLIB_TEST): Similarly.
11119         (libcpp.a): Use the host tools explicitly.
11120         (STAGESTUFF): Add libcpp.a.
11121
11122 Tue Nov 24 09:33:49 1998  Nick Clifton  <nickc@cygnus.com>
11123
11124         * config/m32r/m32r.md (movstrsi_internal): Describe changes made
11125         to source and destination registers.
11126
11127 Mon Nov 23 20:28:02 1998  Mike Stump  <mrs@wrs.com>
11128
11129         * libgcc2.c (top_elt): Remove top_elt, it isn't thread safe.
11130         The strategy we now use is to pre allocate the top_elt along
11131         with the EH context so that each thread has its own top_elt.
11132         This is necessary as the dynamic cleanup chain is used on the
11133         top element of the stack and each thread MUST have its own.
11134         (eh_context_static): Likewise.
11135         (new_eh_context): Likewise.
11136         (__sjthrow): Likewise.
11137
11138 Mon Nov 23 20:25:03 1998  Jason Merrill  <jason@yorick.cygnus.com>
11139
11140         * i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Wrap in do...while.
11141         * i386.md (prologue_get_pc): Remove unused variable.
11142
11143 Mon Nov 23 17:05:40 1998  Geoffrey Noer  <noer@cygnus.com>
11144
11145         * i386/xm-cygwin.h: Rename cygwin_ path funcs back to cygwin32_.
11146
11147 Mon Nov 23 16:40:00 1998  Ulrich Drepper  <drepper@cygnus.com>
11148
11149         * Makefile.in (OBJS): Add graph.o.
11150         (graph.o): New dependency list.
11151         * flags.h: Declare dump_for_graph and define graph_dump_types type.
11152         * print-rtl.c (dump_for_graph): Define new variable.
11153         (print_rtx): Rewrite to allow use in graph dumping functions.
11154         * toplev.c: Declare print_rtl_graph_with_bb, clean_graph_dump_file,
11155         finish_graph_dump_file.
11156         Define graph_dump_format.
11157         (compile_file): If graph dumping is enabled also clear these files.
11158         Finish graph dump files.
11159         (rest_of_compilation): Also dump graph information if enabled.
11160         (main): Recognize -dv to enabled VCG based graph dumping.
11161         * graph.c: New file.  Graph dumping functions.
11162
11163 Mon Nov 23 16:39:04 1998  Richard Henderson  <rth@cygnus.com>
11164
11165         * configure.in: Look for <sys/stat.h>.
11166         * system.h: Include it before substitute S_ISREG definitions.
11167
11168 Mon Nov 23 17:40:37 1998  Gavin Romig-Koch  <gavin@cygnus.com>
11169
11170         * config/mips/abi.h: Use ABI_O64, duplicating ABI_32 usage.
11171         * config/mips/iris6.h: Same.
11172         * config/mips/mips.md: Same.
11173         * config/mips/mips.c: Same; also add "-mabi=o64" option.
11174         * config/mips/mips.h: Same; also define ABI_O64.
11175
11176 Mon Nov 23 17:02:27 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11177
11178         *  configure.in: Use AC_PREREQ(2.12.1).
11179
11180 Mon Nov 23 10:16:38 1998  Melissa O'Neill  <oneill@cs.sfu.ca>
11181
11182         * cccp.c (S_ISREG, S_ISDIR): Delete defines.
11183         * cpplib.c, gcc.c: Likewise.
11184         * system.h (S_ISREG, S_ISDIR): Define if not already defined.
11185
11186 Mon Nov 23 09:53:44 1998  Richard Henderson  <rth@cygnus.com>
11187
11188         * local-alloc.c (local_alloc): Use malloc not alloca for
11189         reg_qty, reg_offset, ref_next_in_qty.
11190
11191 Mon Nov 23 16:46:46 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
11192
11193         * caller-save.c (insert_one_insn): Initialize the live_before and
11194         live_after register sets.
11195
11196         Add SH4 support:
11197
11198         * config/sh/lib1funcs.asm (___movstr_i4_even, ___movstr_i4_odd): Define.
11199         (___movstrSI12_i4, ___sdivsi3_i4, ___udivsi3_i4): Define.
11200         * sh.c (reg_class_from_letter, regno_reg_class): Add DF_REGS.
11201         (fp_reg_names, assembler_dialect): New variables.
11202         (print_operand_address): Handle SUBREGs.
11203         (print_operand): Added 'o' case.
11204         Don't use adj_offsettable_operand on PRE_DEC / POST_INC.
11205         Name of FP registers depends on mode.
11206         (expand_block_move): Emit different code for SH4 hardware.
11207         (prepare_scc_operands): Use emit_sf_insn / emit_df_insn as appropriate.
11208         (from_compare): Likewise.
11209         (add_constant): New argument last_value.  Changed all callers.
11210         (find_barrier): Don't try HImode load for FPUL_REG.
11211         (machine_dependent_reorg): Likewise.
11212         (sfunc_uses_reg): A CLOBBER cannot be the address register use.
11213         (gen_far_branch): Emit a barrier after the new jump.
11214         (barrier_align): Don't trust instruction lengths before
11215         fixing up pcloads.
11216         (machine_dependent_reorg): Add support for FIRST_XD_REG .. LAST_XD_REG.
11217         Use auto-inc addressing for fp registers if doubles need to
11218         be loaded in two steps.
11219         Set sh_flag_remove_dead_before_cse.
11220         (push): Support for TARGET_FMOVD.  Use gen_push_fpul for fpul.
11221         (pop): Support for TARGET_FMOVD.  Use gen_pop_fpul for fpul.
11222         (calc_live_regs): Support for TARGET_FMOVD.  Don't save FPSCR.
11223         Support for FIRST_XD_REG .. LAST_XD_REG.
11224         (sh_expand_prologue): Support for FIRST_XD_REG .. LAST_XD_REG.
11225         (sh_expand_epilogue): Likewise.
11226         (sh_builtin_saveregs): Use DFmode moves for fp regs on SH4.
11227         (initial_elimination_offset): Take TARGET_ALIGN_DOUBLE into account.
11228         (arith_reg_operand): FPUL_REG is OK for SH4.
11229         (fp_arith_reg_operand, fp_extended_operand): New functions.
11230         (tertiary_reload_operand, fpscr_operand): Likewise.
11231         (commutative_float_operator, noncommutative_float_operator): Likewise.
11232         (binary_float_operator, get_fpscr_rtx, emit_sf_insn): Likewise.
11233         (emit_df_insn, expand_sf_unop, expand_sf_binop): Likewise.
11234         (expand_df_unop, expand_df_binop, expand_fp_branch): Likewise.
11235         (emit_fpscr_use, mark_use, remove_dead_before_cse): Likewise.
11236         * sh.h (CPP_SPEC): Add support for -m4, m4-single, m4-single-only.
11237         (CONDITIONAL_REGISTER_USAGE): Likewise.
11238         (HARD_SH4_BIT, FPU_SINGLE_BIT, SH4_BIT, FMOVD_BIT): Define.
11239         (TARGET_CACHE32, TARGET_SUPERSCALAR, TARGET_HARWARD): Define.
11240         (TARGET_HARD_SH4, TARGET_FPU_SINGLE, TARGET_SH4, TARGET_FMOVD): Define.
11241         (target_flag): Add -m4, m4-single, m4-single-only, -mfmovd.
11242         (OPTIMIZATION_OPTIONS): If optimizing, set flag_omit_frame_pointer
11243         to -1 and sh_flag_remove_dead_before_cse to 1.
11244         (ASSEMBLER_DIALECT): Define to assembler_dialect.
11245         (assembler_dialect, fp_reg_names): Declare.
11246         (OVERRIDE_OPTIONS): Add code for TARGET_SH4.
11247         Hide names of registers that are not accessible.
11248         (CACHE_LOG): Take TARGET_CACHE32 into account.
11249         (LOOP_ALIGN): Take TARGET_HARWARD into account.
11250         (FIRST_XD_REG, LAST_XD_REG, FPSCR_REG): Define.
11251         (FIRST_PSEUDO_REGISTER: Now 49.
11252         (FIXED_REGISTERS, CALL_USED_REGISTERS): Include values for registers.
11253         (HARD_REGNO_NREGS): Special treatment of FIRST_XD_REG .. LAST_XD_REG.
11254         (HARD_REGNO_MODE_OK): Update.
11255         (enum reg_class): Add DF_REGS and FPSCR_REGS.
11256         (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REG_ALLOC_ORDER): Likewise.
11257         (SECONDARY_OUTPUT_RELOAD_CLASS, SECONDARY_INPUT_RELOAD_CLASS): Update.
11258         (CLASS_CANNOT_CHANGE_SIZE, DEBUG_REGISTER_NAMES): Define.
11259         (NPARM_REGS): Eight floating point parameter registers on SH4.
11260         (BASE_RETURN_VALUE_REG): SH4 also passes double values
11261         in floating point registers.
11262         (GET_SH_ARG_CLASS): Likewise.
11263         Complex float types are also returned in float registers.
11264         (BASE_ARG_REG): Complex float types are also passes in float registers.
11265         (FUNCTION_VALUE): Change mode like PROMOTE_MODE does.
11266         (LIBCALL_VALUE): Remove trailing semicolon.
11267         (ROUND_REG): Round when double precision value is passed in floating
11268         point register(s).
11269         (FUNCTION_ARG_ADVANCE): No change wanted for SH4 when things are
11270         passed on the stack.
11271         (FUNCTION_ARG): Little endian adjustment for SH4 SFmode.
11272         (FUNCTION_ARG_PARTIAL_NREGS): Zero for SH4.
11273         (TRAMPOLINE_ALIGNMENT): Take TARGET_HARWARD into account.
11274         (INITIALIZE_TRAMPOLINE): Emit ic_invalidate_line for TARGET_HARWARD.
11275         (MODE_DISP_OK_8): Not for SH4 DFmode.
11276         (GO_IF_LEGITIMATE_ADDRESS): No base reg + index reg for SH4 DFmode.
11277         Allow indexed addressing for PSImode after reload.
11278         (LEGITIMIZE_ADDRESS): Not for SH4 DFmode.
11279         (LEGITIMIZE_RELOAD_ADDRESS): Handle SH3E SFmode.
11280         Don't change SH4 DFmode nor PSImode RELOAD_FOR_INPUT_ADDRESS.
11281         (DOUBLE_TYPE_SIZE): 64 for SH4.
11282         (RTX_COSTS): Add PLUS case.
11283         Increase cost of ASHIFT, ASHIFTRT, LSHIFTRT case.
11284         (REGISTER_MOVE_COST): Add handling of R0_REGS, FPUL_REGS, T_REGS,
11285         MAC_REGS, PR_REGS, DF_REGS.
11286         (REGISTER_NAMES): Use fp_reg_names.
11287         (enum processor_type): Add PROCESSOR_SH4.
11288         (sh_flag_remove_dead_before_cse): Declare.
11289         (rtx_equal_function_value_matters, fpscr_rtx, get_fpscr_rtx): Declare.
11290         (PREDICATE_CODES): Add binary_float_operator,
11291         commutative_float_operator, fp_arith_reg_operand, fp_extended_operand,
11292         fpscr_operand, noncommutative_float_operator.
11293         (ADJUST_COST): Use different scale for TARGET_SUPERSCALAR.
11294         (SH_DYNAMIC_SHIFT_COST): Cheaper for SH4.
11295         * sh.md (attribute cpu): Add value sh4.
11296         (attrbutes fmovd, issues): Define.
11297         (attribute type): Add values dfp_arith, dfp_cmp, dfp_conv, dfdiv.
11298         (function units memory, int, mpy, fp): Make dependent on issue rate.
11299         (function units issue, single_issue, load_si, load): Define.
11300         (function units load_store, fdiv, gp_fpul): Define.
11301         (attribute hit_stack): Provide proper default.
11302         (use_sfunc_addr+1, udivsi3): Predicated on ! TARGET_SH4.
11303         (udivsi3_i4, udivsi3_i4_single, divsi3_i4, divsi3_i4_single): New insns.
11304         (udivsi3, divsi3): Emit special patterns for SH4 hardware,
11305         (mulsi3_call): Now uses match_operand for function address.
11306         (mulsi3): Also emit code for SH1 case.  Wrap result in REG_LIBCALL /
11307         REG_RETVAL notes.
11308         (push, pop, push_e, pop_e): Now define_expands.
11309         (push_fpul, push_4, pop_fpul, pop_4, ic_invalidate_line): New expanders.
11310         (movsi_ie): Added y/i alternative.
11311         (ic_invalidate_line_i, movdf_i4): New insns.
11312         (movdf_i4+[123], reload_outdf+[12345], movsi_y+[12]): New splitters.
11313         (reload_indf, reload_outdf, reload_outsf, reload_insi): New expanders.
11314         (movdf): Add special code for SH4.
11315         (movsf_ie, movsf_ie+1, reload_insf, calli): Make use of fpscr visible.
11316         (call_valuei, calli, call_value): Likewise.
11317         (movsf): Emit no-op move.
11318         (mov_nop, movsi_y): New insns.
11319         (blt, sge): Generalize to handle DFmode.
11320         (return predicate): Call emit_fpscr_use and remove_dead_before_cse.
11321         (block_move_real, block_lump_real): Predicate on ! TARGET_HARD_SH4.
11322         (block_move_real_i4, block_lump_real_i4, fpu_switch): New insns.
11323         (fpu_switch0, fpu_switch1, movpsi): New expanders.
11324         (fpu_switch+[12], fix_truncsfsi2_i4_2+1): New splitters.
11325         (toggle_sz): New insn.
11326         (addsf3, subsf3, mulsf3, divsf3): Now define_expands.
11327         (addsf3_i, subsf3_i, mulsf3_i4, mulsf3_ie, divsf3_i): New insns.
11328         (macsf3): Make use of fpscr visible.  Disable for SH4.
11329         (floatsisf2): Make use of fpscr visible.
11330         (floatsisf2_i4): New insn.
11331         (floatsisf2_ie, fixsfsi, cmpgtsf_t, cmpeqsf_t): Disable for SH4.
11332         (ieee_ccmpeqsf_t): Likewise.
11333         (fix_truncsfsi2): Emit different code for SH4.
11334         (fix_truncsfsi2_i4, fix_truncsfsi2_i4_2, cmpgtsf_t_i4): New insns.
11335         (cmpeqsf_t_i4, ieee_ccmpeqsf_t_4): New insns.
11336         (negsf2, sqrtsf2, abssf2): Now expanders.
11337         (adddf3, subdf3i, muldf2, divdf3, floatsidf2): New expanders.
11338         (negsf2_i, sqrtsf2_i, abssf2_i, adddf3_i, subdf3_i): New insns.
11339         (muldf3_i, divdf3_i, floatsidf2_i, fix_truncdfsi2_i): New insns.
11340         (fix_truncdfsi2, cmpdf, negdf2, sqrtdf2, absdf2): New expanders.
11341         (fix_truncdfsi2_i4, cmpgtdf_t, cmpeqdf_t, ieee_ccmpeqdf_t): New insns.
11342         (fix_truncdfsi2_i4_2+1): New splitters.
11343         (negdf2_i, sqrtdf2_i, absdf2_i, extendsfdf2_i4): New insns.
11344         (extendsfdf2, truncdfsf2): New expanders.
11345         (truncdfsf2_i4): New insn.
11346         * t-sh (LIB1ASMFUNCS): Add _movstr_i4, _sdivsi3_i4, _udivsi3_i4.
11347         (MULTILIB_OPTIONS): Add m4-single-only/m4-single/m4.
11348         * float-sh.h: When testing for __SH3E__, also test for
11349         __SH4_SINGLE_ONLY__ .
11350         * va-sh.h (__va_freg): Define to float.
11351         (__va_greg, __fa_freg, __gnuc_va_list, va_start):
11352         Define for __SH4_SINGLE_ONLY__ like for __SH3E__ .
11353         (__PASS_AS_FLOAT, __TARGET_SH4_P): Likewise.
11354         (__PASS_AS_FLOAT): Use different definition for __SH4__ and
11355          __SH4_SINGLE__.
11356         (TARGET_SH4_P): Define.
11357         (va_arg): Use it.
11358
11359         * sh.md (movdf_k, movsf_i): Tweak the condition so that
11360         init_expr_once is satisfied about the existence of load / store insns.
11361
11362         * sh.md (movsi_i, movsi_ie, movsi_i_lowpart, movsf_i, movsf_ie):
11363         Change m constraint in source operand to mr / mf.
11364
11365         * va-sh.h (__va_arg_sh1): Use __asm instead of asm.
11366
11367         * (__VA_REEF): Define.
11368         (__va_arg_sh1): Use it.
11369
11370         * va-sh.h (va_start, va_arg, va_copy): Add parentheses.
11371
11372 Sun Nov 22 21:34:02 1998  Jeffrey A Law  (law@cygnus.com)
11373
11374         * i386/dgux.c (struct option): Add new "description field".
11375         * m88k/m88k.c (struct option): Likewise.
11376
11377 Sun Nov 22 16:07:57 1998  Jeff Law  (law@cygnus.com)
11378
11379         * version.c: Bump for snapshot.
11380
11381 Sun Nov 22 13:40:02 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
11382
11383         * regmove.c (regmove_profitable_p): Use return value of find_matches
11384         properly.
11385
11386 Sun Nov 22 02:47:37 1998  Jeff Law  (law@cygnus.com)
11387
11388         * version.c: Bump for snapshot.
11389
11390 Sat Nov 21 22:12:09 1998  Jeffrey A Law  (law@cygnus.com)
11391
11392         * reload1.c (eliminate_regs): Do not lose if eliminate_regs is called
11393         without reload having been called earlier.
11394
11395         * v850.c (ep_memory_operand): Offsets < 0 are not valid for EP
11396         addressing modes.
11397         (v850_reorg): Similarly.
11398
11399         * loop.c (check_dbra_loop): Avoid using gen_add2_insn.
11400
11401 Sat Nov 21 02:18:38 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
11402
11403         * loop.c (move_movables): Start of libcall might be new loop start.
11404
11405 Fri Nov 20 12:14:16 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11406
11407         * hash.c (hash_table_init_n): Wrap prototype arguments in PARAMS().
11408
11409 Fri Nov 20 08:34:00 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
11410
11411         * function.c (nonlocal_goto_handler_slots): Renamed from
11412         nonlocal_goto_handler_slot; now an EXPR_LIST chain.
11413         (push_function_context_to): Adjust for this change.
11414         (pop_function_context_from): Likewise.
11415         (init_function_start): Likewise.
11416         (expand_function_end): Likewise.
11417         * function.h (struct function): Likewise.
11418         * calls.c (expand_call): Likewise.
11419         * explow.c (allocate_dynamic_stack_space): Likewise.
11420         * expr.h (nonlocal_goto_handler_slots): Rename its declaration.
11421         * stmt.c (declare_nonlocal_label): Make a new handler slot for each
11422         label.
11423         (expand_goto): When doing a nonlocal goto, find corresponding handler
11424         slot for it.  Don't put the label address in the static chain register.
11425         (expand_end_bindings): Break out nonlocal goto handling code into
11426         three new functions.
11427         (expand_nl_handler_label, expand_nl_goto_receiver,
11428         expand_nl_goto_receivers): New static functions, broken out of
11429         expand_end_bindings and adapted to create one handler per nonlocal
11430         label.
11431         * function.c (delete_handlers): Delete insn if it references any of
11432         the nonlocal goto handler slots.
11433         * i960.md (nonlocal_goto): Comment out code that modifies
11434         static_chain_rtx.
11435         * sparc.md (nonlocal_goto): Likewise.
11436         (goto_handler_and_restore_v9): Comment out.
11437         (goto_handler_and_restore_v9_sp64): Comment out.
11438
11439 Thu Nov 19 23:44:38 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
11440
11441         * expr.c (STACK_BYTES): Delete unused macro.
11442         * calls.c: Provide default for PREFERRED_STACK_BOUNDARY.
11443         (STACK_BYTES): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
11444         (expand_call): Likewise.
11445         (emit_library_call): Likewise.
11446         (emit_library_call_value): Likewise.
11447         * function.c: Provide default for PREFERRED_STACK_BOUNDARY.
11448         (STACK_BYTES): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
11449         * explow.c: Provide default for PREFERRED_STACK_BOUNDARY.
11450         (round_push): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
11451         (allocate_dynamic_stack_space): Likewise.
11452         * tm.texi (PREFERRED_STACK_BOUNDARY): Document new macro.
11453         (STACK_BOUNDARY): Update description to reflect the new situation.
11454
11455 Thu Nov 19 22:20:51 1998  Jeffrey A Law  (law@cygnus.com)
11456
11457         * reorg.c (relax_delay_slots): When optimizing for code size, if a
11458         return with a filled delay slot is followed by a return with an
11459         unfilled delay slot, delete the first return and reemit the insn
11460         that was previously in its delay slot.
11461
11462         * i860.c (single_insn_src_p): Add missing parens.
11463         * ginclude/math-3300.h: Likewise.
11464
11465 Thu Nov 19 20:55:59 1998  H.J. Lu  (hjl@gnu.org)
11466
11467         * regclass.c (init_reg_sets_1): Add prototype.
11468         (init_reg_modes): Likewise.
11469
11470 1998-11-19  Zack Weinberg  <zack@rabi.phys.columbia.edu>
11471
11472         * c-common.c: Change warning messages to say `comparison is
11473         always true' or `comparison is always false' instead of the
11474         confusing `is always 0', `is always 1'.
11475
11476 Thu Nov 19 19:05:49 1998  Per Bothner  <bothner@cygnus.com>
11477
11478         * print-tree.c (print_node): After printing BLOCK or BIND_EXPR,
11479         break instead of return (which loses closing '>').
11480
11481 Thu Nov 19 19:34:13 1998  Jeffrey A Law  (law@cygnus.com)
11482
11483         * i386.h (LEGITIMATE_CONSTANT_P): Reject CONST_DOUBLEs that are not
11484         standard 387 constants.
11485
11486         * i386.md (jump): Explicitly set "memory" attribute.
11487         (indirect_jump, prologue_set_stack_ptr): Likewise.
11488         (prologue_get_pc_and_set_got, pop): Likewise.
11489         (allocate_stack_worder, blockage, return_internal): Likewise.
11490         (return_pop_internal, nop): Likewise.
11491         (epilogue_set_stack_ptr, leave): Likewise.
11492
11493 Thu Nov 19 15:42:54 1998  Nick Clifton  <nickc@cygnus.com>
11494
11495         * config/arm/coff.h: Set USER_LABEL_PREFIX to "_".
11496
11497 Thu Nov 19 23:20:59 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
11498
11499         * reload1.c (reload_reg_free_for_value_p):
11500         Early auto_inc reloads don't conflict with outputs.
11501
11502 Thu Nov 19 12:58:55 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11503
11504         * configure.in: Don't do AC_CHECK_HEADERS(wait.h sys/wait.h).
11505         Instead call AC_HEADER_SYS_WAIT.
11506
11507         * collect2.c: Don't provide defaults for sys/wait.h macros.
11508         * gcc.c: Likewise.
11509         * protoize.c: Likewise.  Also, don't include sys/wait.h.
11510
11511         * system.h: Include sys/wait.h and provide macro defaults.
11512
11513 1998-11-19  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
11514
11515         * Makefile.in (mandir): Set to @mandir@.
11516         (man1dir): New variable to hold the former value of $(mandir).
11517         Replace all uses of $(mandir) by $(man1dir).
11518
11519 Wed Nov 18 16:31:28 1998  Jim Wilson  <wilson@cygnus.com>
11520
11521         * reload.c (find_reloads_address_part): If have a CONST_INT, create
11522         a new one before passing it to force_const_mem.
11523
11524         * reload.c (find_reloads_toplev): Pass &x instead of NULL_PTR in
11525         find_reloads_address call.
11526
11527 Wed Nov 18 22:13:00 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
11528
11529         * expr.c (store_expr): Don't generate load-store pair
11530         if TEMP is identical (according to ==) with TARGET.
11531
11532 Tue Nov 17 22:25:16 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
11533
11534         * reload1.c (reload_reg_free_for_value_p): When considered reload
11535         has an output, matching inputs are not sufficient to avoid conflict.
11536
11537 Tue Nov 17 11:51:16 1998  Mark Mitchell  <mark@markmitchell.com>
11538
11539         * hash.h (hash_table_key): New type.
11540         (hash_entry): Change `string' field to generic `key'.
11541         (hash_table): Add `comp' and `hash' functions.
11542         (hash_table_init): Take them as input.
11543         (hash_table_init_n): Likewise.
11544         (hash_lookup): Modify for generic keys.
11545         (hash_newfunc): Likewise.
11546         (hash_traverse): Likewise.
11547         (string_hash): New function.
11548         (string_compare): Likewise.
11549         (string_copy): Likewise.
11550         * hash.c (hash_table_init_n): Modify for generic keys.
11551         (hash_table_init): Likewise.
11552         (hash_lookup): Likewise.
11553         (hash_newfunc): Likewise.
11554         (hash_traverse): Likewise.
11555         (string_hash): Split out from hash_lookup.
11556         (string_compare): New function.
11557         (string_copy): Split out from hash_lookup.
11558         * tlink.c (symbol_hash_newfunc): Modify for new interfaces to hash
11559         tables.
11560         (symbol_hash_lookup): Likewise.
11561         (file_hash_newfunc): Likewise.
11562         (file_hash_lookup): Likewise.
11563         (demangled_hash_newfunc): Likewise.
11564         (demangled_hash_lookup): Likewise.
11565         (tlink_int): Likewise.
11566         (read_repo_file): Likewise.
11567         (recompile_files): Likewise.
11568         (demangle_new_symbols): Likewise.
11569         (scan_linker_output): Likewise.
11570
11571 Tue Nov 17 17:13:53 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
11572
11573         * flow.c (insn_dead_p): New argument NOTES.  Changed all callers.
11574
11575 Mon Nov 16 17:56:07 1998  David Edelsohn  <edelsohn@gnu.org>
11576
11577         * rs6000.c (output_mi_thunk): Improve test for local branch.
11578
11579 Mon Nov 16 17:56:07 1998  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11580
11581         * rs6000.c (output_mi_thunk): Correct test for aggregate values.
11582
11583 Mon Nov 16 21:02:52 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
11584
11585         * reload1.c (reload_reg_free_before_p): Delete.
11586         Changed all callers to use reload_reg_free_for_value_p instead.
11587         (reload_reg_free_for_value_p): Handle more reload types.
11588         A RELOAD_FOR_INPUT doesn't conflict with its
11589         RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS.
11590         Add special case for OUT == const0_rtx.
11591         Added ignore_address_reloads argument.  Changed all callers.
11592
11593 Mon Nov 16 02:22:29 1998  Jason Merrill  <jason@yorick.cygnus.com>
11594
11595         * toplev.c (compile_file): Don't pedwarn about undefined static
11596         functions just because we passed -Wunused.
11597
11598 Mon Nov 16 04:41:41 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
11599
11600         * function.c (purge_addressof_1): Unshare rtl created by
11601         store_bit_field.
11602
11603 Mon Nov 16 04:23:06 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
11604
11605         * regmove.c (regmove_optimize): Don't do anything but
11606         optimize_reg_copy[123] when flag_regmove is not set.
11607
11608 Sat Nov 14 15:05:07 1998  Richard Henderson  <rth@cygnus.com>
11609
11610         * alpha.md (addsi3, subsi3): Revise 5 Nov change to store DImode
11611         value in paradoxical SImode result, rather than truncating midpoint.
11612
11613 Fri Nov 13 22:19:23 1998  Richard Henderson  <rth@cygnus.com>
11614
11615         * alpha.c (reg_not_elim_operand): New.
11616         * alpha.h (PREDICATE_CODES): Add it.
11617         * alpha.md (s48addq, s48subq patterns): Use it as the predicate
11618         for the multiplicand.
11619
11620 Fri Nov 13 22:50:37 1998  David Edelsohn  <edelsohn@gnu.org>
11621
11622         * rs6000.md (movsf): Remove explicit secondary-reload-like
11623         functionality.  Only truncate SFmode store if in FPR.
11624         (movsf splitters): Combine const_double splitters.
11625         (movsf_hardfloat): Add GPR support.
11626
11627 Fri Nov 13 11:02:11 1998  Stan Cox  <scox@cygnus.com>
11628
11629         * splet.h (SUBTARGET_OVERRIDE_OPTIONS): New to
11630         deprecate -mlive-g0 and -mbroken-saverestore.
11631         * t-splet (MULTILIB_OPTIONS): Likewise.
11632
11633         * sparc.c (sparc_flat_compute_frame_size): Correctly calc args_size
11634         in a leaf function.  Clarify total_size/extra_size relationship.
11635
11636 Thu Nov 12 19:20:57 1998  Geoffrey Noer  <noer@cygnus.com>
11637
11638         * i386/cygwin32.asm: Delete.
11639         * i386/cygwin.asm: New file, renamed from cygwin32.asm.
11640         * i386/cygwin32.h: Delete.
11641         * i386/cygwin.h: New file, renamed from cygwin32.h.
11642         * i386/t-cygwin32: Delete.
11643         * i386/t-cygwin: New file, renamed from t-cygwin32.  Include
11644         cygwin.asm instead of cygwin32.asm.  Remove "32" from comment.
11645         * i386/x-cygwin32: Delete.
11646         * i386/x-cygwin: New file, renamed from x-cygwin32.
11647         * i386/xm-cygwin32: Delete.
11648         * i386/xm-cygwin: New file, renamed from xm-cygwin32.  Use newly
11649         renamed cygwin_ funcs for path translations.
11650         * i386/win32.h: Define __CYGWIN__ when -mcygwin given.
11651         * i386/winnt.c: Remove "32" from comment about cygwin.
11652         * i386/mingw32.h: Fix references to cygwin32.h in light of above.
11653         * rs6000/cygwin32.h: Delete.
11654         * rs6000/cygwin.h: New file, renamed from cygwin32.h.  Add
11655         -D__CYGWIN__ to CPP_PREDEFINES.
11656         * rs6000/x-cygwin32: Delete.
11657         * rs6000/x-cygwin: New file, renamed from x-cygwin32.
11658         * rs6000/xm-cygwin32: Delete.
11659         * rs6000/xm-cygwin: New file, renamed from xm-cygwin32.
11660
11661         * configure.in: Check for cygwin* instead of cygwin32.  Account
11662         for the rename of cygwin-related config files to lose the "32"s.
11663         * configure: Regenerate.
11664
11665         * cccp.c, collect2.c, gcc.c, getpwd.c, libgcc2.c, protoize.c,
11666         toplev.c: Change all refs to __CYGWIN32__ to __CYGWIN__.
11667
11668 Wed Nov 11 12:25:19 1998  Tom Tromey  <tromey@cygnus.com>
11669
11670         * Makefile.in (JAVAGC): New macro.
11671         * configure: Rebuilt.
11672         * configure.in: Recognize --enable-java-gc argument.  Subst
11673         `JAVAGC' variable.
11674
11675 Thu Nov 12 03:32:16 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
11676
11677         Handle equivalences that have been obscured by gcse:
11678
11679         * reload1.c (reload): Handle equivalences set up in multiple places.
11680         * local-alloc.c (reg_equiv_init_insns): New variable.
11681         (no_equiv): New function.
11682         (update_equiv_regs): Handle equivalences set up in multiple places.
11683         Don't ignore an insn just because its destination is likely to be
11684         spilled.
11685
11686 Wed Nov 11 13:46:13 1998  Jim Wilson  <wilson@cygnus.com>
11687
11688         * except.c (expand_eh_return): Readd force_operand call lost in
11689         Sept 15 change.
11690
11691 Tue Nov 10 17:04:11 1998  David Edelsohn  <edelsohn@gnu.org>
11692
11693         * rs6000.h (LEGITIMIZE_ADDRESS): Add missing goto on last case.
11694
11695 1998-11-09  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
11696
11697         * dbxout.c: Check HAVE_STAB_H instead of HAVE_STABS_H.
11698
11699 Mon Nov  9 20:15:19 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
11700
11701         * regmove.c (regmove_optimize): Fix error in last change.
11702
11703 Mon Nov  9 16:37:52 1998  Andrew Cagney  <cagney@b1.cygnus.com>
11704
11705         * mips.c (function_prologue): When TARGET_MIPS16, adjust the register
11706         offset in the .mask pseudo to compensate for frame pointer adjustments.
11707         (mips16_fp_args, build_mips16_call_stub): For little endian, do not
11708         word swap arguments moved to/from FP registers.
11709         * mips16.S (DFREVCMP): Reverse arguments to OPCODE.
11710
11711 Mon Nov  9 09:47:06 1998  Jeff Law  (law@cygnus.com)
11712
11713         * version.c: Bump for snapshot.
11714
11715 Mon Nov  9 02:14:14 1998  Jeff Law  (law@cygnus.com)
11716
11717         * version.c: Bump for snapshot.
11718
11719 Mon Nov  9 03:06:24 1998  Jeffrey A Law  (law@cygnus.com)
11720
11721         * reload1.c (delete_output_reload_insn): If a pseudo is set multiple
11722         times, then it can not be completely replaced.
11723
11724 Mon Nov  9 00:39:02 1998  Richard Henderson  <rth@cygnus.com>
11725
11726         * alpha.md (call, call_value) [OSF]: Correct alt 3 insn length.
11727
11728 Sun Nov  8 17:50:30 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11729
11730         * gansidecl.h: Prepend a "G" to the macro wrapping this file
11731         (to distinguish it from the macro wrapping ansidecl.h.)
11732         Include libiberty's ansidecl.h.  Remove all redundant definitions.
11733         Define the PROTO() style macros in terms of the PARAMS() ones.
11734
11735
11736         * calls.c (emit_library_call): Switch on ANSI_PROTOTYPES, not
11737         __STDC__, when deciding whether to use ANSI variable args.
11738         (emit_library_call_value): Likewise.
11739
11740         * cccp.c (error): Likewise.
11741         (warning): Likewise.
11742         (error_with_line): Likewise.
11743         (warning_with_line): Likewise.
11744         (pedwarn): Likewise.
11745         (pedwarn_with_line): Likewise.
11746         (pedwarn_with_file_and_line): Likewise.
11747         (fatal): Likewise.
11748
11749         * cexp.y (error): Likewise.
11750         (pedwarn): Likewise.
11751         (warning): Likewise.
11752
11753         * collect2.c (fatal_perror): Likewise.
11754         (fatal): Likewise.
11755         (error): Likewise.
11756
11757         * combine.c (gen_rtx_combine): Likewise.
11758
11759         * cpperror.c (cpp_message): Likewise.
11760         (cpp_fatal): Likewise.
11761
11762         * cpplib.c (cpp_error): Likewise.
11763         (cpp_warning): Likewise.
11764         (cpp_pedwarn): Likewise.
11765         (cpp_error_with_line): Likewise.
11766         (cpp_warning_with_line): Likewise.
11767         (cpp_pedwarn_with_line): Likewise.
11768         (cpp_pedwarn_with_file_and_line): Likewise.
11769
11770         * cpplib.h: Don't define PARAMS() macro.
11771
11772         * demangle.h: Likewise.
11773
11774         * doprint.c (checkit): Switch on ANSI_PROTOTYPES, not __STDC__,
11775         when deciding whether to use ANSI variable args.
11776
11777         * emit-rtl.c (gen_rtx): Likewise.
11778         (gen_rtvec): Likewise.
11779
11780         * final.c (asm_fprintf): Likewise.
11781
11782         * fix-header.c (cpp_message): Likewise.
11783         (fatal): Likewise.
11784         (cpp_fatal): Likewise.
11785
11786         * gcc.c (concat): Likewise.
11787         (fatal): Likewise.
11788         (error): Likewise.
11789
11790         * genattr.c (fatal): Likewise.
11791
11792         * genattrtab.c (attr_rtx): Likewise.
11793         (attr_printf): Likewise.
11794         (fatal): Likewise.
11795
11796         * gencodes.c (fatal): Likewise.
11797
11798         * genconfig.c (fatal): Likewise.
11799
11800         * genemit.c (fatal): Likewise.
11801
11802         * genextract.c (fatal): Likewise.
11803
11804         * genflags.c (fatal): Likewise.
11805
11806         * genopinit.c (fatal): Likewise.
11807
11808         * genoutput.c (fatal): Likewise.
11809         (error): Likewise.
11810
11811         * genpeep.c (fatal): Likewise.
11812
11813         * genrecog.c (fatal): Likewise.
11814
11815         * halfpic.h: Switch on ANSI_PROTOTYPES, not __STDC__, when
11816         deciding whether to declare `tree_node' and `rtx_def'.
11817
11818         * hash.h: Don't define stuff we get from gansidecl.h.
11819
11820         * mips-tfile.c: Likewise.  Define __proto() in terms of PARAMS().
11821         (fatal): Switch on ANSI_PROTOTYPES, not __STDC__, when deciding
11822         whether to use ANSI variable args.
11823         (error): Likewise.
11824
11825         * prefix.c (concat): Likewise.
11826
11827         * scan.h: Likewise.
11828
11829         * system.h: Likewise.
11830
11831         * toplev.c (error_with_file_and_line): Likewise.
11832         (error_with_decl): Likewise.
11833         (error_for_asm): Likewise.
11834         (error): Likewise.
11835         (fatal): Likewise.
11836         (warning_with_file_and_line): Likewise.
11837         (warning_with_decl): Likewise.
11838         (warning_for_asm): Likewise.
11839         (warning): Likewise.
11840         (pedwarn): Likewise.
11841         (pedwarn_with_decl): Likewise.
11842         (pedwarn_with_file_and_line): Likewise.
11843         (sorry): Likewise.
11844         (really_sorry): Likewise.
11845
11846         * toplev.h: Switch on ANSI_PROTOTYPES, not __STDC__, when deciding
11847         whether to declare `tree_node' and `rtx_def'.
11848
11849         * tree.c (build): Switch on ANSI_PROTOTYPES, not __STDC__, when
11850         deciding whether to use ANSI variable args.
11851         (build_nt): Likewise.
11852         (build_parse_node): Likewise.
11853
11854 Sun Nov  8 13:10:55 1998  Jeff Law  (law@cygnus.com)
11855
11856         * version.c: Bump for snapshot.
11857
11858 Sat Nov  7 23:34:01 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11859
11860         * Makefile.in (libcpp.a): Check RANLIB_TEST before runing RANLIB.
11861
11862 Sat Nov  7 22:26:19 1998  David Edelsohn  <edelsohn@gnu.org>
11863
11864         * collect2.c (main, case 'b'): Use else if.
11865
11866 Sat Nov  7 15:35:25 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11867
11868         * configure.in (host_xm_file, build_xm_file, xm_file, tm_file):
11869         Arrange to include gansidecl.h in {ht}config.h & tm.h just
11870         before the config/ directory headers.
11871         (tm_file_list, host_xm_file_list, build_xm_file_list): Handle
11872         gansidecl.h in the list of dependencies.
11873
11874         * Makefile.in (RTL_BASE_H): Don't depend on gansidecl.h.
11875         (TREE_H, DEMANGLE_H, RECOG_H, REGS_H, libgcc2.a, stmp-multilib,
11876         mbchar.o, collect2.o, pexecute.o, vfprintf.o, splay-tree.o, gcc.o,
11877         gencheck.o, choose-temp.o, mkstemp.o, mkstemp.o, prefix.o,
11878         dyn-string.o, cexp.o, cccp.o, cppmain.o, cpplib.o, cpperror.o,
11879         cppexp.o, cppfiles.o, cpphash.o, cppalloc.o, scan-decls.o):
11880         Likewise.
11881
11882         * cccp.c: Don't include gansidecl.h.
11883         * cexp.y: Likewise.
11884         * collect2.c: Likewise.
11885         * config/c4x/c4x.c: Likewise.
11886         * config/v850/v850.h: Likewise.
11887         * cppalloc.c: Likewise.
11888         * cpperror.c: Likewise.
11889         * cppexp.c: Likewise.
11890         * cppfiles.c: Likewise.
11891         * cpphash.c: Likewise.
11892         * cpplib.c: Likewise.
11893         * cppmain.c: Likewise.
11894         * cppulp.c: Likewise.
11895         * demangle.h: Likewise.
11896         * doprint.c: Likewise.
11897         * dyn-string.c: Likewise.
11898         * eh-common.h: Likewise.
11899         * fix-header.c: Likewise.
11900         * frame.c: Likewise.
11901         * gcc.c: Likewise.
11902         * gcov.c: Likewise.
11903         * gen-protos.c: Likewise.
11904         * gencheck.c: Likewise.
11905         * halfpic.h: Likewise.
11906         * hash.c: Likewise.
11907         * machmode.h: Likewise.
11908         * mbchar.c: Likewise.
11909         * prefix.c: Likewise.
11910         * protoize.c: Likewise.
11911         * recog.h: Likewise.
11912         * rtl.h: Likewise.
11913         * scan-decls.c: Likewise.
11914         * tree.h: Likewise.
11915         * varray.h: Likewise.
11916
11917 Sat Nov  7 11:37:53 1998  Richard Henderson  <rth@cygnus.com>
11918
11919         * i386.md (call_value_pop): If we're not popping anything,
11920         defer to call_value.
11921         (call_pop): Likewise defer to call.
11922
11923 Sat Nov  7 02:49:56 1998  Richard Henderson  <rth@cygnus.com>
11924
11925         * function.c (purge_addressof): Clear purge_addressof_replacements
11926         only after processing the whole function.
11927
11928 Sat Nov  7 00:54:55 1998  Jeffrey A Law  (law@cygnus.com)
11929
11930         * reload1.c (reload): If we can not perform a particular elimination
11931         when we thought we could earlier, then we must always iterate through
11932         the loop at least one more time.
11933
11934 Fri Nov  6 19:37:33 1998  Richard Henderson  <rth@cygnus.com>
11935
11936         * alpha.c (add_operand): Simplify the CONST_INT match.
11937         (sext_add_operand): Correct typo in comparison by using
11938         CONST_OK_FOR_LETTER_P.
11939         * alpha.md (s?addq): Use sext_add_operand to allow the negative
11940         constant alternatives to be generated.
11941         (mulsi3, muldi3, umuldi3_highpart): Loosen constraints to allow
11942         small constants, since the hw instructions do.
11943
11944 Fri Nov  6 20:15:19 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
11945
11946         * reload1.c (emit_reload_insns): When rewriting the SET_DEST of a
11947         previous insn to store directly into our reload register, make sure
11948         that if the source of the previous insn is a reload register, its
11949         spill_reg_store and spill_reg_stored_to values are cleared.
11950
11951 Fri Nov  6 16:35:10 1998  David Edelsohn  <edelsohn@gnu.org>
11952
11953         * rs6000.md (floatunssidf2_internal splitter): Use base register
11954         operand, not hard-coded SP.
11955
11956 Fri Nov  6 04:07:53 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
11957
11958         * jump.c (calculate_can_reach_end): Fix thinko.
11959
11960 Fri Nov  6 00:16:04 1998  Jeffrey A Law  (law@cygnus.com)
11961
11962         * reorg.c (fill_simple_delay_slots): Fix typo.
11963
11964         * romp.h (LEGITIMIZE_ADDRESS): Fix typo.
11965
11966 Fri Nov  6 00:10:00 1998  Jan Hubicka  (hubicka@freesoft.cz)
11967
11968         * i386.md (extendsidi2): Use # in the output template.
11969         (extendsidi splitters): New splitters.
11970
11971 Thu Nov  5 11:13:27 1998  Nick Clifton  <nickc@cygnus.com>
11972
11973         * configure.in: Use unknown-elf.h as tm_file for arm-elf
11974         configurations.
11975         * configure: Regenerate.
11976
11977 Thu Nov  5 07:59:05 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
11978
11979         * jump.c (init_label_info, delete_barrier_successors,
11980         mark_all_labels, delete_unreferenced_labels,
11981         delete_noop_moves, calculate_can_reach_end): New functions broken
11982         out of jump_optimize.
11983         (jump_optimize): Use them.
11984
11985 Thu Nov  5 07:57:45 1998  Andrew MacLeod  <amacleod@cygnus.com>
11986
11987         * except.c (expand_fixup_region_end): Make sure outer context labels
11988         are not issued in an inner context during cleanups.
11989
11990 Thu Nov  5 04:03:06 1998  Richard Henderson  <rth@cygnus.com>
11991
11992         * alpha.md (addsi3, subsi3): No new temporaries once cse is
11993         no longer expected.
11994
11995 Thu Nov  5 03:29:19 1998  Richard Henderson  <rth@cygnus.com>
11996
11997         * alpha.md (addsi3, subsi3): Expand to a DImode temporary so as
11998         to expose this midpoint to CSE.
11999
12000 Thu Nov  5 03:42:54 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
12001
12002         * config/sparc/sparc.md (movdf_const_intreg_sp64): Enable again.
12003
12004 Thu Nov  5 10:53:01 1998  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
12005
12006         * configure.in: Bring over gcc2 change of Nov 19 1997.
12007
12008 Wed Nov  4 23:43:08 1998  Graham  <grahams@rcp.co.uk>
12009
12010         * toplev.c (output_lang_identify): Make definition dependent on
12011         ASM_IDENTIFY_LANGUAGE.
12012
12013         * print-rtl.c (spaces): Make static.
12014
12015 Wed Nov  4 22:16:36 1998  Hans-Peter Nilsson  <hp@axis.se>
12016
12017         * extend.texi: Clarify proper uses for register clobbers in asms.
12018
12019 Wed Nov  4 22:16:36 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
12020
12021         * recog.h (enum op_type): Define.
12022         (constrain_operands): Adjust prototype.
12023         (recog_op_type): Declare new variable.
12024         * recog.c (recog_op_type): New variable.
12025         (insn_invalid_p): Allow modifying an asm statement after reload.
12026         (extract_insn): Set up recog_op_type.
12027         (constrain_operands): Lose INSN_CODE_NUM arg.  All callers changed.
12028         Don't compute operand types, use recog_op_type.
12029         Use the information computed by extract_insn instead of the previous
12030         method of finding it by insn code number.
12031         * caller-save.c (init_caller_save): Use extract_insn, not insn_extract.
12032         * reorg.c (fill_slots_from_thread): Likewise.
12033         * reload1.c (reload_as_needed): Likewise.
12034         (gen_reload): Likewise.
12035         (inc_for_reload): Likewise.
12036         (reload_cse_simplify_operands): Likewise.
12037         Use the information computed by extract_insn instead of the previous
12038         method of finding it by insn code number.
12039         * genattrtab.c (write_attr_case): Generate call to extract_insn, not
12040         insn_extract.
12041         * final.c (final_scan_insn): Use extract_insn, not insn_extract.
12042         (cleanup_operand_subregs): Use extract_insn, not insn_extract.
12043         Use the information computed by extract_insn instead of the previous
12044         method of finding it by insn code number.
12045         * regmove.c (find_matches): Likewise.  Change meaning of the return
12046         value to be nonzero if the optimization can be performed, zero if
12047         not.  All callers changed.
12048         Shorten some variable names to fix formatting problems.
12049         (regmove_optimize): Shorten some variable names to fix formatting
12050         problems.
12051         Use the information computed by extract_insn instead of the previous
12052         method of finding it by insn code number.
12053         * regclass.c (scan_one_insn): Likewise.
12054         (record_reg_classes): Don't compute operand types, use recog_op_type.
12055         * reload.c (find_reloads): Lose CONSTRAINTS1 variable; use
12056         recog_constraints instead.
12057
12058 Wed Nov  4 21:37:46 1998  Jeffrey A Law  (law@cygnus.com)
12059
12060         * rtl.h (flow2_completed): Declare.
12061         * flow.c (flow2_completed): Definition.
12062         * toplev.c (rest_of_compilation): Set and clear flow2_completed
12063         as necessary.
12064
12065 Wed Nov  4 19:15:37 1998  Melissa O'Neill  <oneill@cs.sfu.ca>
12066
12067         * Makefile.in (libcpp.a): Ranlib libcpp.a.
12068
12069         * cppulp.c (user_label_prefix): Initialize.
12070
12071 Wed Nov  4 19:07:08 1998  John Wehle  (john@feith.com)
12072
12073         * flow.c (mark_regs_live_at_end): Mark the stack pointer as live
12074         at a RETURN if current_function_sp_is_unchanging is set.
12075
12076 Wed Nov  4 18:16:29 1998  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
12077
12078         * emit-rtl.c (try_split): Fixed error in Oct 10 patch.
12079
12080 Wed Nov  4 15:11:15 1998  Geoffrey Noer  <noer@cygnus.com>
12081
12082         * i386/cygwin32.h (MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS, MASK_DLL,
12083         TARGET_WIN32, TARGET_CYGWIN, TARGET_WINDOWS, TARGET_DLL): New.
12084         (SUBTARGET_SWITCHES): Add -mno-cygwin, -mcygwin, and -mdll options.
12085         (CPP_PREDEFINES): Don't define __CYGWIN32__ here.
12086         (STARTFILE_SPEC): Handle -mdll, -mno-cygwin options.
12087         (CPP_SPEC): Handle -mno-cygwin option.  Define __CYWIN__ in addition
12088         to __CYGWIN32__.
12089         (LIB_SPEC): Handle -mno-cygwin option.
12090         (LINK_SPEC): Handle -mdll.
12091
12092 Wed Nov  4 22:56:14 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
12093
12094         * reload.c (find_reloads): Fix test for usage by other reload
12095         to handle secondary reloads properly.
12096
12097 Wed Nov  4 17:25:10 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12098
12099         * reload1.c (ELIMINABLE_REGS, NUM_ELIMINABLE_REGS): Introduce an
12100         intermediate structure which has exactly the members provided by
12101         ELIMINABLE_REGS.  Define NUM_ELIMINABLE_REGS in terms of the
12102         static intermediate structure.
12103
12104         (init_elim_table): Xmalloc() `reg_eliminate', and initialize it
12105         from the intermediate structure.  Do the same analogous fix in
12106         the case where ELIMINABLE_REGS is not defined.
12107
12108 Tue Nov  3 20:50:03 1998  Jeffrey A Law  (law@cygnus.com)
12109
12110         * pa.h (SELECT_SECTION): Fix thinko.
12111
12112 Tue Nov  3 17:51:36 1998  Jim Wilson  <wilson@cygnus.com>
12113
12114         * dwarf2out.c (output_call_frame_info): Comments on last change.
12115
12116 Tue Nov  3 07:51:43 1998  Richard Earnshaw  (rearnsha@arm.com)
12117
12118         * arm.c (add_constant): When taking the address of an item in the
12119         pool, get the mode of the item addressed.
12120
12121         * arm.c (final_prescan_insn case INSN): If an insn doesn't
12122         contain a SET or a PARALLEL, don't consider it for conditional
12123         execution.
12124
12125         Restore ABI compatibility for NetBSD.
12126         * arm/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Override setting in
12127         arm.h.
12128         (RETURN_IN_MEMORY): Likewise.
12129
12130 Mon Nov  2 11:46:17 1998  Doug Evans  <devans@canuck.cygnus.com>
12131
12132         * m32r/m32r.c (m32r_expand_block_move): Fix byte count computations.
12133         (m32r_output_block_move): Rewrite bytes < 4 handling.
12134
12135 Mon Nov  2 10:10:35 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12136
12137         * configure.in: Call AC_FUNC_VFORK.
12138
12139         * collect2.c: Define VFORK_STRING as a printable string for
12140         error messages (either "vfork" or "fork".)  If HAVE_VFORK_H is
12141         defined, include vfork.h.  If VMS is defined, define vfork()
12142         appropriately.  Remove vfork check on USG, we're using autoconf.
12143         (collect_execute): Pass VFORK_STRING to fatal_perror instead of
12144         checking locally what string to pass.
12145         (scan_prog_file): Likewise.
12146         (scan_libraries): Likewise.
12147
12148         * gcc.c: Remove vfork check on USG, we're using autoconf.
12149         Besides, no calls to vfork/fork occur in this file.
12150
12151         * protoize.c: Likewise.
12152
12153 Mon Nov  2 07:52:28 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
12154
12155         * configure.in (DEFAULT_LINKER): Renamed from LD.
12156         (DEFAULT_ASSEMBLER): Renamed from AS; reverted Schwab's patch.
12157         (gcc_cv_as): Try $DEFAULT_ASSEMBLER before $AS.
12158         * configure: Rebuilt.
12159
12160 Mon Nov  2 01:48:10 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
12161
12162         * BUGS: Fix the regexp for `more' to find the appropriate node.
12163         Reported by Joerg Pietschmann  <joerg_pietschmann@zkb.ch>
12164
12165         * BUGS: Added link to the WWW FAQ.
12166
12167 Sun Nov  1 18:27:15 1998  Jeff Law  (law@cygnus.com)
12168
12169         * version.c: Bump for snapshot.
12170
12171 Sun Nov  1 11:04:32 1998  Jeffrey A Law  (law@cygnus.com)
12172
12173         * From Christian Gafton:
12174         * i386/linux.h (CPP_PREDEFINES): Add -D__i386__.
12175         * sparc/linux.h (CPP_PREDEFINES): Add -D__sparc__.
12176         * sparc/linux64.h (CPP_PREDEFINES): Add -D__sparc__.
12177
12178 Sat Oct 31 21:42:39 1998  Mark Mitchell  <mark@markmitchell.com>
12179
12180         * c-common.c (c_get_alias_set): Allow all type-punning through
12181         unions.  Don't get confused about the type of a bit-field, despite
12182         the antics of build_modify_expr.
12183
12184 Sat Oct 31 22:35:29 1998  Jean-Pierre Radley  <jpr@jpr.com>
12185
12186         * fixinc.sco: Parameterize #include_next values.
12187         * fixinc/fixinc.sco: Likewise.
12188
12189 Sat Oct 31 20:39:35 1998  Jeffrey A Law  (law@cygnus.com)
12190
12191         * toplev.c (rest_of_compilation): No longer set reload_completed.
12192         * reload1.c (reload): Set it here.  Perform instruction splitting
12193         after reload has completed if we will be running the scheduler
12194         again.
12195
12196 Sat Oct 31 12:30:02 1998  Jeffrey A Law  (law@cygnus.com)
12197
12198         * jump.c (jump_optimize): Initialize mappings from INSN_UID to
12199         EH region if exceptions are enabled and we're performing cross
12200         jump optimizations.
12201         (find_cross_jump): Exit loop if the insns are in different EH regions.
12202
12203 Sat Oct 31 10:02:48 1998  Mark Mitchell  <mark@markmitchell.com>
12204
12205         * dwarf2out.c (output_call_frame_info): Use
12206         ASM_OUTPUT_DWARF_DELTA4 for the CIE offset to match frame.c.
12207
12208 Sat Oct 31 10:23:14 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12209
12210         Reinstall Apr 24th fix, lost during May 6th gcc2 merge:
12211         * c-common.c (check_format_info): Don't check for the 'x'
12212         format character twice, instead check for 'x' and 'X'
12213
12214 Fri Oct 30 14:50:25 1998  Jeffrey A Law  (law@cygnus.com)
12215
12216         * configure.in (assembler features): Also make gas is configured if
12217         we find it in the source tree.
12218
12219 Fri Oct 30 13:23:20 1998  Richard Henderson  <rth@cygnus.com>
12220
12221         * i386.c (i386_comp_type_attributes): Compare whether the
12222         attributes are defined, not their tree nodes.
12223
12224 Fri Oct 30 11:39:47 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
12225
12226         * configure.in (gxx_include_dir): Bitten by autoconf quoting
12227         characters.  :-(
12228         * configure: Rebuilt.
12229
12230 Fri Oct 30 10:43:29 1998  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
12231
12232         * configure.in: Ignore non-absolute value in $AS.
12233
12234 Fri Oct 30 00:54:25 1998  Peter Jakubek  <pjak@snafu.de>
12235
12236         * m68k.h (INDIRECTABLE_1_ADDRESS_P): Fix thinko.
12237
12238 Fri Oct 30 00:42:34 1998  Mark Elbrecht  <snowball3@usa.net>
12239
12240         * configure.in (msdosdjgpp): Set exeext and target_alias.
12241
12242 Thu Oct 29 23:55:43 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
12243
12244         * flow.c (XNMALLOC): New macro.
12245         (flow_int_list_blocks, basic_block_succ, basic_block_pred): New
12246         static variables.
12247         (add_edge, add_edge_to_label): New static functions.
12248         (free_bb_memory): New function.
12249         (flow_delete_insn): Delete function.
12250         (basic_block_drops_in): Delete variable.
12251         (find_basic_blocks): Allocate and initialize basic_block_head,
12252         basic_block_succ.  Don't allocate basic_block_drops_in.
12253         Call free_bb_memory at the beginning.
12254         (find_basic_blocks_1): Don't do multiple passes.
12255         Delete code to compute basic_block_drops_in.
12256         After calling make_edges, mark blocks reached by current block live.
12257         Update test for unreachable live blocks.
12258         (mark_label_ref): Delete args X, CHECKDUP.  Add PRED arg.  All callers
12259         changed.
12260         Simplify to call add_edge_to_label when a LABEL_REF is found.
12261         (make_edges): Simplify to call add_edge_to_label instead of
12262         mark_label_ref most of the time.
12263         Compute here whether control drops into the next block.
12264         (delete_unreachable_blocks): Return void.  All callers changed.
12265         Delete unreachable blocks in reverse order.
12266         After deleting all unreachable blocks, renumber the remaining ones
12267         and update n_basic_blocks.
12268         (delete_block): Speed up deletion a bit.
12269         Don't set basic_block_drops_in for deleted blocks.
12270         (free_basic_block_vars): Don't free basic_block_drops_in.
12271         (life_analysis_1): Update to use new edge representation.
12272         (dump_flow_info): Delete code to print basic block info; call
12273         dump_bb_data instead.
12274         (compute_preds_succs): Delete code to recompute basic_block_drops_in
12275         and uid_block_number.
12276         Simply copy the previously computed cfg.
12277         (dump_bb_data): New arg LIVE_INFO.  All callers changed.
12278         Print register lifetime information if LIVE_INFO is nonzero.
12279         * basic-block.h (dump_bb_data): Adjust prototype.
12280         * gcse.c (gcse_main): Update call to dump_bb_data.
12281         * rtl.h (free_bb_memory): Declare.
12282         * toplev.c (rest_of_compilation): Call free_bb_memory.
12283
12284         * reload1.c (struct elim_table): Delete MAX_OFFSET member.
12285         (update_eliminable_offsets): Don't compute it.
12286         (set_initial_elim_offsets): Don't initialize it.
12287         Break out some code into set_initial_label_offsets so the rest of
12288         this function can be called from reload_as_needed.
12289         Assume that INITIAL_FRAME_POINTER_OFFSET is defined when
12290         ELIMINABLE_REGS isn't.
12291         (set_initial_label_offsets): New function, broken out of
12292         set_initial_elim_offsets.
12293         (set_offsets_for_label): New function, broken out of set_label_offsets
12294         and reload_as_needed.
12295         (reload): Call the two new functions.
12296         (reload_as_needed): Call set_initial_elim_offsets instead of
12297         duplicating the code.  Likewise for set_offsets_for_label.
12298
12299         * reload1.c (choose_reload_regs): Fix typo in Oct 17 change.
12300         (emit_reload_insns): Ensure that when we set reg_reloaded_valid for
12301         any hard reg, reg_reloaded_dead contains valid data.
12302
12303 Thu Oct 29 22:30:54 1998  Marcus Meissner  <Marcus.Meissner@informatik.uni-erlangen.de>
12304
12305         * i386.c (i386_comp_type_attributes): Return nonzero for mismatched
12306         "stdcall" and "cdecl" attributes.
12307
12308 Thu Oct 29 19:05:17 1998  Jim Wilson  <wilson@cygnus.com>
12309
12310         * sched.c (update_flow_info): Add code to ! found_orig_dest case to
12311         handle deleted no-op moves of hard registers.
12312         * haifa-sched.c (update_flow_info): Likewise.
12313
12314 Thu Oct 29 18:07:47 1998  Jeffrey A Law  (law@cygnus.com)
12315
12316         * mips.md (reload_{in,out}{si,di}): Emit a USE of HILO at the end
12317         of the sequences to reload the HILO register which do not actually
12318         reference HILO.
12319
12320 Thu Oct 29 12:39:35 1998  Jim Wilson  <wilson@cygnus.com>
12321
12322         * c-common.c (c_get_alias_set): Handle ARRAY_REF of union field.
12323
12324 Thu Oct 29 14:10:22 1998  Andrew MacLeod  <amacleod@cygnus.com>
12325
12326         * except.c (emit_eh_context): Make the EH context register stay alive
12327         at -O0 so stupid.c doesn't get confused.
12328
12329 1998-10-29  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
12330
12331         * emit-rtl.c (try_split): Do not try to split a BARRIER.
12332
12333 Thu Oct 29 01:33:54 1998  Jan Hubicka  <hubicka@freesoft.cz>
12334                           Jeffrey A Law  (law@cygnus.com)
12335
12336         * i386.md: Change ix86_cpu == PROCESSOR_PENTIUM to TARGET_PENTIUM.
12337         (zero_extendsidi2): Use # in output template and handle completely by
12338         splits.
12339         (zero_extend splitters): New define_splits.
12340         (ashiftrt_32): New pattern.
12341
12342 Wed Oct 28 22:58:35 1998  Jason Merrill  <jason@yorick.cygnus.com>
12343
12344         * tree.c (append_random_chars): New fn.
12345         (get_file_function_name_long): Use it.
12346
12347 Wed Oct 28 22:27:05 1998  Richard Henderson  <rth@cygnus.com>
12348
12349         * Makefile.in (cc1): Put C_OBJS, and thence @extra_c_objs@ last.
12350         (LIBCPP_OBJS): New.  Add cppulp.o.
12351         (cppmain, fix-header): Depend on and use libcpp.a.
12352         * configure.in (extra_c_objs, extra_cxx_objs): Use libcpp.a instead
12353         of the individual object files.
12354         * objc/Make-lang.in (cc1obj): Put OBJC_OBJS, and thence @extra_c_objs@,
12355         last.
12356
12357         * cccp.c (user_label_prefix): New.
12358         (main): Set it off -f*leading-underscore.
12359         (special_symbol): Use it.
12360         * cpplib.c (special_symbol): Likewise.
12361         (cpp_handle_option): Handle -f*leading-underscore.
12362         * cppulp.c: New file.
12363
12364         * output.h (user_label_prefix): Declare it.
12365         * dwarf2out.c (ASM_NAME_TO_STRING): Prepend user_label_prefix.
12366         * toplev.c (f_options, main): Handle -f*leading-underscore.
12367
12368         * defaults.h (ASM_OUTPUT_LABELREF): Use asm_fprintf instead of
12369         referencing USER_LABEL_PREFIX directly.
12370         * config/nextstep.h (ASM_OUTPUT_LABELREF): Likewise.
12371         * m32r/m32r.h (ASM_OUTPUT_LABELREF): Likewise.
12372         * final.c (asm_fprintf): Use user_label_prefix instead.
12373         * arm/thumb.c (thumb_print_operand): Likewise.
12374
12375         * gcc.c (default_compilers): Pass -f*leading-underscore on to
12376         cpp wherever appropriate.
12377
12378 Wed Oct 28 23:09:25 1998  Robert Lipe  <robertl@dgii.com>
12379
12380         * sco5.h (SUBTARGET_SWITCHES): Add documentation for OpenServer-
12381         specific compiler switches.
12382
12383 Wed Oct 28 21:05:53 1998  Jeffrey A Law  (law@cygnus.com)
12384
12385         * Makefile.in (c-common.o): Depend on c-pragma.h.  Use $(RTL_H) instead
12386         of rtl.h.
12387
12388 Wed Oct 28 20:52:47 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12389
12390         * gcc.c (EXTRA_SPECS, extra_specs): Introduce an intermediate
12391         structure which has exactly the members provided by EXTRA_SPECS.
12392         Xmalloc() the real `extra_specs', and initialize it from this
12393         intermediate structure.
12394
12395         * alpha.h (EXTRA_SPECS): Revert change for missing initializers.
12396
12397         * mips.h  (EXTRA_SPECS): Likewise.
12398
12399         * sparc.h (EXTRA_SPECS): Likewise.
12400
12401 Wed Oct 28 16:46:07 1998  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
12402
12403         * function.c (purge_addressof_1): Instead of aborting when a
12404         bitfield insertion as a replacement for (MEM (ADDRESSOF)) does not
12405         work just put the ADDRESSOF on stack.  Otherwise remember all such
12406         successful replacements, so that exactly the same replacements
12407         can be made on the REG_NOTEs.  Remove the special case for CALL
12408         insns again.
12409         (purge_addressof_replacements): New variable.
12410         (purge_addressof): Clear it at end.
12411
12412 1998-10-28  Zack Weinberg  <zack@rabi.phys.columbia.edu>
12413
12414         * c-lang.c: Declare extern char *yy_cur if USE_CPPLIB.
12415           (lang_init): Call check_newline always.
12416         * c-lex.c (init_parse) [USE_CPPLIB=1]: After calling
12417           cpp_start_read, set yy_cur and yy_lim to read from
12418           parse_in.token_buffer, so that we'll see the first #line
12419           directive.
12420         * cpplib.c (cpp_start_read): finclude the main input file
12421           before processing -include/-imacros.   Process -imacros and
12422           -include separately, and handle -include by stacking a
12423           buffer for the file in question as if it'd been #included.
12424         * toplev.c (documented_lang_options): Recognize -H when
12425           USE_CPPLIB is on.
12426
12427 1998-10-28  Zack Weinberg  <zack@rabi.phys.columbia.edu>
12428
12429         * cpplib.c: Merge do_once into do_pragma.  Break file handling
12430           code out of do_include.
12431           Move append_include_chain, deps_output,
12432           file_cleanup, redundant_include_p, import_hash,
12433           lookup_import, add_import, read_filename_string, read_name_map,
12434           open_include_file, finclude, safe_read to cppfiles.c.
12435           Move prototypes for deps_output, append_include_chain,
12436           finclude to cpplib.h.  Move definition of struct
12437           file_name_list there also.
12438
12439         * cppfiles.c: New file.  Contains all the above functions
12440           broken out of cpplib.c; also hack_vms_include_specification
12441           from cccp.c and find_include_file, a new function broken out of
12442           do_include.
12443
12444         * Makefile.in (cppmain): Depend on cppfiles.o.
12445           (fix-header): Likewise.
12446           (cppfiles.o): New target.
12447         * configure.in (--enable-c-cpplib): Add cppfiles.o to
12448           extra_c_objs.  Add ../cppfiles.o to extra_cxx_objs.
12449
12450 Wed Oct 28 14:06:49 1998  Jim Wilson  <wilson@cygnus.com>
12451
12452         * dwarfout.c (dwarfout_file_scope_decl): If DECL_CONTEXT, don't abort
12453         if pending_types is non-zero.
12454         (dwarfout_finish): Verify pending_types is zero before finishing.
12455
12456 Wed Oct 28 10:29:09 1998  Nick Clifton  <nickc@cygnus.com>
12457
12458         * expr.c (convert_move): Use shifts to perform the move if a
12459         suitable extend pattern cannot be found.  Code written by
12460         Richard Henderson <rth@cygnus.com>.
12461
12462 Wed Oct 28 03:59:29 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
12463
12464         * regclass.c (renumber, regno_allocated): New static variables, moved
12465         out of allocate_reg_info.
12466         (allocate_reg_info): Move these two variables outside the function.
12467         Move code to free memory into new function free_reg_info.
12468         (free_reg_info): New function, broken out of allocate_reg_info.
12469         * toplev.c (compile_file): Call free_reg_info, not allocate_reg_info.
12470         * rtl.h (allocate_reg_info): Don't declare.
12471         (free_reg_info): Declare.
12472
12473         * final.c (cleanup_subreg_operands): ASM_INPUTs need no treatment.
12474
12475 Wed Oct 28 02:38:12 1998  Jason Merrill  <jason@yorick.cygnus.com>
12476
12477         * toplev.c (compile_file): Temporarily revert last change.
12478
12479 Wed Oct 28 00:00:35 1998  Jason Merrill  <jason@yorick.cygnus.com>
12480
12481         * c-typeck.c (convert_for_assignment): Parenthesize.
12482
12483 1998-10-28  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
12484
12485         * reload1.c (delete_output_reload): Avoid ambigous else.
12486
12487 Wed Oct 28 00:10:35 1998  Jeffrey A Law  (law@cygnus.com)
12488
12489         * toplev.c (compile_file): Call allocate_reg_info to free register
12490         table memory.
12491         * rtl.h (allocate_reg_info): Declare.
12492
12493         * PROJECTS: Remove entry for local spilling.
12494
12495         * final.c (cleanup_subreg_operands): New function.
12496         (final_scan_insn): Use it.
12497         (alter_subreg): Clear the "used" field when we turn a SUBREG into
12498         a REG.
12499         * reload1.c (reload): Delete CLOBBER insns and also cleanup SUBREG
12500         operands when reload has finished.
12501         * reload.h (cleanup_subreg_operands): Declare..
12502         * flow.c (life_analysis_1): No longer delete CLOBBER insns after
12503         reload.  Handled in reload itself.
12504
12505 Tue Oct 27 23:32:34 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
12506
12507         * reload1.c (verify_initial_offsets): New function.
12508         (reload): Call it after reload_as_needed.  Also verify that the frame
12509         size stays constant during reload_as_needed.
12510         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Undo Jul 26 change.
12511
12512         * reload.h (struct insn_chain): Add need_operand_change element.
12513         * reload1.c (new_insn_chain): Clear it.
12514         (calculate_needs_all_insns): Set it; don't overload need_reload.
12515         (reload_as_needed): Use it.
12516
12517         * reload.c (find_reloads_address): Use BASE_REG_CLASS instead of
12518         reload_address_base_reg_class throughout.  Similar for INDEX_REG_CLASS
12519         and reload_address_index_reg_class.
12520         (find_reloads_address_1): Likewise.
12521         * reload.h (reload_address_base_reg_class,
12522         reload_address_index_reg_class): Don't declare.
12523         * reload1.c (reg_old_renumber, pseudo_previous_regs,
12524         pseudo_forbidden_regs, bad_spill_regs_global): New static variables.
12525         (used_spill_regs): Now static.
12526         (reload_address_base_reg_class, reload_address_index_reg_class,
12527         regs_explicitly_used, counted_for_groups, counted_for_nongroups,
12528         basic_block_needs, max_needs, group_size, group_mode, max_groups,
12529         max_nongroups, max_needs_insn, max_groups_insn, max_nongroups_insn,
12530         forbidden_regs):
12531         Deleted variables.
12532         (init_reload): Delete code to compute base/index reg classes.
12533         (reload): Delete variable J.
12534         Delete code to manage basic_block_needs.
12535         Don't compute regs_explicitly_used.
12536         Allocate, initialize and free reg_old_renumber, pseudo_forbidden_regs,
12537         pseudo_previous_regs.
12538         Initialize bad_spill_regs_global.
12539         Don't call order_regs_for_reload here.
12540         Don't initialize spill_reg_order and n_spills.
12541         Don't forbid explicitly used regs to be used for spill regs.
12542         Change main loop to infinite loop, with explicit break statements.
12543         Make SOMETHING_CHANGED variable local to that loop.
12544         Don't initialize max_needs, max_groups, max_nongroups, max_needs_insn,
12545         max_groups_insn, max_nongroups_insn, group_size, group_mode.
12546         Make sure spilled_pseudos is cleared before calling spill_hard_reg or
12547         new_spill_reg.
12548         Don't call dump_needs.
12549         Delete code to reset potential_reload_regs.
12550         Delete code to terminate loop conditional on the global needs variables
12551         showing no further needs.
12552         (calculate_needs_all_insns): Return void.  All callers changed.
12553         Initialize something_needs_elimination here, not in reload.
12554         Delete avoid_return_reg kludge.
12555         (calculate_needs): Lose AVOID_RETURN_REG and GLOBAL args, return void.
12556         All callers changed.
12557         Initialize the group_mode and group_size elements of the arg CHAIN.
12558         Delete code to manage basic_block_needs.
12559         Operate on elements of CHAIN instead of global variables.
12560         Delete avoid_return_reg kludge.
12561         (find_tworeg_group): Lose GLOBAL arg, take CHAIN arg, return void.
12562         All callers changed.
12563         Operate on elements of CHAIN instead of global variables.
12564         Delete special SMALL_REGISTER_CLASSES code.
12565         Delete spill_failure code; now in new_spill_reg.
12566         (find_group): Lose GLOBAL arg, take CHAIN arg, return void.
12567         All callers changed.
12568         Operate on elements of CHAIN instead of global variables.
12569         (maybe_mark_pseudo_spilled): New static function.
12570         (find_reload_regs): Lose GLOBAL arg, take CHAIN arg, return void.
12571         All callers changed.
12572         Operate on elements of CHAIN instead of global variables.
12573         Call order_regs_for_reload here, not in reload.
12574         Initialize spill_reg_order and n_spills.
12575         Simplify test whether an asm insn is involved.
12576         Delete spill_failure code; now in new_spill_reg.
12577         Call maybe_mark_pseudo_spilled for everything marked as live in
12578         CHAIN.  Merge CHAIN's used_spill_regs into the global variable
12579         used_spill_regs.
12580         (dump_needs): Take CHAIN arg.  No longer static, to prevent the
12581         compiler from optimizing this function (now unused) away.
12582         Operate on elements of CHAIN instead of global variables.
12583         (possible_group_p): Lose MAX_GROUPS arg, take CHAIN arg.  All callers
12584         changed.
12585         Operate on elements of CHAIN instead of global variables.
12586         (count_possible_groups): Lose GROUP_SIZE, GROUP_MODE, MAX_GROUPS args,
12587         take CHAIN arg.  All callers changed.
12588         Operate on elements of CHAIN instead of global variables.
12589         (new_spill_reg): Lose MAX_NEEDS, MAX_NONGROUPS, GLOBAL args, take
12590         CHAIN, NONGROUP args.  Return void.  All callers changed.
12591         Verify caller isn't trying to spill a pseudo.
12592         Simplify test for illegal reg, just use bad_spill_regs.
12593         Generate better error messages.
12594         Operate on elements of CHAIN instead of global variables.
12595         Mark spilled register in CHAIN's used_spill_regs element.
12596         Don't call spill_hard_reg.
12597         (spill_hard_reg): Lose GLOBAL arg, return void.  All callers changed.
12598         Mark spilled hard regs in bad_spill_regs_global.
12599         Mark affected pseudos in spilled_pseudos, but don't spill them.
12600         (ior_hard_reg_set): New static function.
12601         (finish_spills): Return int.  All callers changed.
12602         Compute spill_reg_order, n_spills and spill_regs here.  Also update
12603         regs_ever_live for regs used as spills.
12604         For every pseudo in spilled_pseudos, spill it and mark the previous
12605         hard reg it had in pseudo_previous_regs.  Compute which hard regs
12606         are used as spills in insns during which it is live, and retry global
12607         register allocation.  Update all life information in the
12608         reload_insn_chain not to include pseudos without hard regs.
12609         Call alter_reg for all affected speudos.
12610
12611         (scan_paradoxical_subregs): Disable SMALL_REGISTER_CLASSES special
12612         case, it's not clear what it's supposed to do.
12613
12614         (hard_reg_use_compare): Take bad_spill_regs into account.
12615         (pseudos_counted): New static variable.
12616         (count_pseudo): New static function.
12617         (order_regs_for_reload): Take CHAIN arg.  All callers changed.
12618         Initialize bad_spill_regs from bad_spill_regs_global, then merge any
12619         hard registers explicitly used across the current insn into the set.
12620         Compute hard_reg_n_uses taking only pseudos live across this insn
12621         into account.
12622         Tweak sorting of potential_reload_regs.
12623         (compare_spill_regs): Delete function.
12624         (reload_as_needed): Don't sort the spill_regs array, it's computed
12625         in proper order in finish_spills.
12626         Delete avoid_return_reg kludge.
12627         Delete code to manage basic_block_needs.
12628         (allocate_reload_reg): Minor speed/readability tweaks.
12629         Operate on elements of CHAIN instead of global variables.
12630         (choose_reload_regs): Lose AVOID_RETURN_REG arg.  All callers changed.
12631         Delete avoid_return_reg kludge.
12632         Initialize reload_reg_used from CHAIN's used_spill_regs element.
12633         Delete unused label FAIL.
12634         (reload_combine): Replace reload_address_index_reg_class with
12635         INDEX_REGS.
12636         Don't use used_spill_regs to determine information about lifetime of
12637         hard regs.
12638
12639 Tue Oct 27 13:15:02 1998  Nick Clifton  <nickc@cygnus.com>
12640
12641         * toplev.c (display_help): Ignore empty target specific
12642         options, and if -W is also specified on the command line then
12643         display undocumented options.
12644
12645         * config/arm/arm.c: Updated with changes in devo sources.
12646         * config/arm/arm.h: Updated with changes in devo sources.
12647         * config/arm/lib1funcs.asm: Updated with changes in devo sources.
12648         * config/arm/lib1thumb.asm: Add ELF support.
12649
12650 Tue Oct 27 16:11:43 1998  David Edelsohn  <edelsohn@gnu.org>
12651
12652         * collect2.c (aix64_flag): New variable.
12653         (main, case 'b'): Parse it.
12654         (GCC_CHECK_HDR): Object magic number must match mode.
12655         (scan_prog_file): Only check for shared object if valid header.
12656         Print debugging if header/mode mismatch.
12657
12658 Tue Oct 27 10:15:02 1998  Nick Clifton  <nickc@cygnus.com>
12659
12660         Added support for arm-elf-linux configuration, submitted by Philip
12661         Blundell <pb@nexus.co.uk>, and integrated this with the arm-elf
12662         code developed by Catherine Moore <clm@cygnus.com>.  The following
12663         files are affected:
12664
12665         * configure.in: Add arm-*-linux-gnu, armv2-*-linux and arm-*-elf
12666         targets.
12667
12668         * configure: Regenerated.
12669
12670         * config/arm/aout.h: Add default definitions of REGISTER_PREFIX,
12671         USER_LABEL_PREFIX and LOCAL_LABEL_PREFIX.  Make other macro
12672         definitions conditional on their not having been already defined.
12673
12674         * config/arm/lin1funcs.asm: Add ELF only macros to generate .size
12675         and .type directives, and add "(PLT)" qualification to function
12676         calls.
12677
12678         * config/arm/linux.h: Deleted.  This file is now superseded by
12679         either linux-elf.h or linux-aout.h.
12680
12681         * config/arm/linux-gas.h: Define `inhibit_libc' if cross-compiling.
12682         (CLEAR_INSN_CACHE): New macro, currently disabled (awaiting kernel
12683         support).
12684         Move definitions from old linux.h file here.
12685
12686         * config/arm/elf.h: New file.  Generic ARM/ELF support.
12687
12688         * config/arm/linux-aout.h: New file.  Support for Linux with a.out.
12689
12690         * config/arm/linux-elf.h: New file.  Support for Linux with ELF.
12691
12692         * config/arm/linux-elf26.h: New file.  Support for Linux with ELF
12693         using the 26bit APCS.
12694
12695         * config/arm/unknown-elf.h: New file.  Support for OS'es other
12696         than Linux with ELF.
12697
12698         * config/arm/t-arm-elf: New file.  makefile fragment for arm-elf
12699         builds.
12700
12701         * config/arm/coff.h: Include aout.h for basic assembler macros.
12702         Add support for -mstructure_size_boundary=<n> command line option.
12703
12704         * config/arm/arm.h: Add support for -mstructure_size_boundary=<n>
12705         command line option.  Make macro definitions conditional on their
12706         not having been already defined.
12707
12708         * config/arm/arm.c: Add support for -mstructure_size_boundary=<n>
12709         command line option.
12710
12711
12712 Tue Oct 27 08:56:46 1998  Andrew MacLeod  <amacleod@cygnus.com>
12713
12714         * dwarfout.c (ASM_OUTPUT_DWARF_STRING_NEWLINE): ASM_OUTPUT_DWARF_STRING
12715         has been changed to not include a newline. Use this macro instead.
12716         (output_enumeral_list, const_value_attribute, name_attribute,
12717         comp_dir_attribute, prototyped_attribute, producer_attribute,
12718         inline_attribute, pure_or_virtual_attribute, output_inheritance_die,
12719         dwarfout_file_scope_decl, generate_new_sfname_entry,
12720         generate_macinfo_entry, dwarfout_init, dwarfout_finish): Use
12721         ASM_OUTPUT_DWARF_STRING_NEWLINE macro.
12722
12723 Mon Oct 26 13:35:02 1998  Richard Henderson  <rth@cygnus.com>
12724
12725         * combine.c (subst): Process the inputs to a parallel asm_operands
12726         only once.
12727
12728 Mon Oct 26 13:32:31 1998  Richard Henderson  <rth@cygnus.com>
12729
12730         * stmt.c (expand_asm_operands): Accept `=' or `+' at any position.
12731
12732 Mon Oct 26 12:53:14 1998  Jeffrey A Law  (law@cygnus.com)
12733
12734         * tm.texi (ASM_OUTPUT_MAX_SKIP_ALIGN): Document.
12735
12736 Mon Oct 26 00:36:58 1998  Jeff Law  (law@cygnus.com)
12737
12738         * version.c: Bump for snapshot.
12739
12740 Sun Oct 25 23:36:52 1998  Jason Merrill  <jason@yorick.cygnus.com>
12741
12742         * stmt.c (expand_fixup): Set fixup->before_jump to a
12743         NOTE_INSN_DELETED instead of a NOTE_INSN_BLOCK_BEG.
12744
12745 Sun Oct 25 15:49:57 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12746
12747         * Makefile.in (recog.o): Depend on toplev.h.
12748         (insn-emit.o): Depend on recog.h.
12749         (insn-peep.o): Depend on recog.h and insn-config.h.
12750
12751         * combine.c (simplify_set): Remove unused variable `scratches'.
12752
12753         * final.c (final_scan_insn): Wrap declaration of variables `vlen'
12754         and `idx' in macro conditional controlling their use.
12755
12756         * genemit.c (main): Make the generated output file include
12757         recog.h.  Don't have it declare `insn_operand_constraint', since
12758         we get it from recog.h.
12759
12760         * genpeep.c (main): Make the generated output file include
12761         insn-config.h and recog.h.
12762
12763         * recog.c: Include toplev.h.
12764         (extract_insn): Remove unused variable `p'.
12765
12766         * regclass.c (fix_register): Add missing braces around initializer
12767         for `what_option'.
12768         (allocate_reg_info): Move variable `i' into the scope where it is
12769         used.  Change its type to `size_t'.
12770
12771 Sun Oct 25 13:10:15 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
12772
12773         * reload.c (push_reload): When merging reloads, make sure
12774         that reload_in_reg and reload_in are from the same reload in
12775         all cases.
12776
12777 Sun Oct 25 12:07:00 1998  Mumit Khan  <khan@xraylith.wisc.edu>
12778
12779         * i386/crtdll.h (CPP_PREDEFINES): Fix typo.
12780         * i386/mingw32.h (CPP_PREDEFINES): Likewise.
12781
12782 Fri Oct 23 23:42:03 1998  David Edelsohn  <edelsohn@gnu.org>
12783
12784         * loop.c (loop_has_tablejump): New variable.
12785         (prescan_loop): Scan for it.
12786         (insert_bct): Replace explicit scan with use of it.
12787         * regclass.c (regclass): Restore loop variable j.
12788         (record_reg_classes): Deterine op_types modifiers and initialize
12789         classes[i] before matching constraints.  Handle matching
12790         constraints 5-9.
12791
12792 Fri Oct 23 13:55:48 1998  Jim Wilson  <wilson@cygnus.com>
12793
12794         * m32r/m32r.c (gen_split_move_double): Call alter_subreg.  Delete
12795         subreg support.
12796
12797 Fri Oct 23 16:19:24 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12798
12799         * mips.h (EXTRA_SPECS): Add missing initializers.
12800
12801 Fri Oct 23 16:08:39 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12802
12803         * sparc.h (EXTRA_SPECS): Add missing initializers.
12804         (sparc_defer_case_vector): Provide a prototype.
12805
12806         * svr4.h (ASM_OUTPUT_ASCII): Cast STRING_LIMIT to (long) when
12807         comparing it to the result of a pointer subtraction.
12808
12809 Fri Oct 23 15:34:14 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12810
12811         * alpha.c (override_options): Use ISDIGIT(), not isdigit().  Cast
12812         the argument to (unsigned char).
12813
12814         * alpha.h (EXTRA_SPECS): Add missing initializers.
12815         (ASM_GENERATE_INTERNAL_LABEL): Ensure the argument matches the
12816         format specifier.
12817
12818 Fri Oct 23 13:12:35 1998  Jeffrey A Law  (law@cygnus.com)
12819
12820         * flow.c (life_analysis_1): Enable "rescan" code after reload.
12821         (propagate_block): Delete dead code after reload.
12822
12823         * sched.c (update_flow_info): Revert Oct 19, 1998 change.  Brings
12824         back Oct 15, 1998 change.
12825         * haifa-sched.c (update_flow_info): Likewise.
12826         * flow.c (life_analysis_1): Delete CLOBBER insns after reload.
12827
12828         * mn10200.md (truncated shift): Accept constant inputs too.
12829
12830 Fri Oct 23 04:06:57 1998  Richard Earnshaw  (rearnsha@arm.com)
12831
12832         * machmode.h (mode_mask_array): No longer const.
12833         * rtl.c (init_rtl): Fully initialize it if EXTRA_CC_MODES defined.
12834
12835 Fri Oct 23 11:19:06 1998  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
12836
12837         * frame.c: Somewhat explain `FDE'.
12838         Suggested by Brendan Kehoe
12839
12840 Fri Oct 23 00:56:11 1998  Jason Merrill  <jason@yorick.cygnus.com>
12841
12842         * expr.c (pending_chain): Move up.
12843         (save_expr_status): Do save pending_chain.
12844         (restore_expr_status): And restore it.
12845         * function.h (struct function): Add pending_chain.
12846
12847 1998-10-23  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
12848
12849         * reorg.c (relax_delay_slots): Fixed test for mostly_true_jump. The
12850         did not match the code.
12851
12852 Fri Oct 23 00:07:01 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
12853
12854         * regclass.c (regclass): Break out some code into new function
12855         scan_one_insn, and into regclass_init.
12856         (init_cost): New static variable, moved out of regclass.
12857         (regclass_init): Initialize it here, not in .
12858         (scan_one_insn): New static function, broken out of regclass.
12859         * recog.c (apply_change_group): Break out some code into new
12860         function insn_invalid_p.
12861         (insn_invalid_p): New static fn, broken out of apply_change_group.
12862
12863 Thu Oct 22 22:34:42 1998  Jim Wilson  <wilson@cygnus.com>
12864
12865         * reload1.c (reload_as_needed): When rewrite POST_INC, verify
12866         reg_reloaded_contents matches incremented pseudo.
12867
12868         * v850/v850.c (v850_reorg): Call alter_subreg.  Delete subreg support.
12869
12870 Fri Oct 23 11:11:56 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
12871
12872         * rtl.def (POST_MODIFY, PRE_MODIFY): New generalized operators for
12873         addressing modes with side effects.  These are currently
12874         placeholders for the C4x target.
12875
12876 Thu Oct 22 16:46:35 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
12877
12878         * loop.c (express_from): Make sure that when generating a PLUS of
12879         a PLUS, any constant expression appears on the outermost PLUS.
12880
12881 Thu Oct 22 15:46:23 1998  Per Bothner  (bothner@cygnus.com)
12882
12883         * Makefile.in (distdir-cvs, distdir-start): Clean up so it
12884         works if "$(srcdir)" != ".".
12885
12886 Wed Oct 21 19:23:59 1998  Jim Wilson  <wilson@cygnus.com>
12887
12888         * expmed.c (store_bit_field): If need to add a SUBREG, then remove
12889         existing SUBREG if we can, otherwise abort.
12890
12891 Wed Oct 21 09:58:51 1998  Mark Mitchell  <mark@markmitchell.com>
12892
12893         * c-common.c (c_apply_type_quals_to_decl): Don't crash when
12894         `restrict' is applied to a non-pointer variable.
12895
12896 Wed Oct 21 09:18:58 1998  Mark Mitchell  <mark@markmitchell.com>
12897
12898         * invoke.texi: Document -flang-isoc9x.
12899
12900         * Makefile.in (OBJS): Add splay-tree.o.
12901         (c-common.o): Depend on rtl.h.
12902         (splay-tree.o): List dependencies and provide build rule.
12903
12904         * rtl.h (record_alias_subset): New function.
12905         * alias.c: Include splay-tree.h.
12906         (alias_set_entry): New type.
12907         (CHECK_ALIAS_SETS_FOR_CONSISTENCY): Remove.
12908         (DIFFERENT_ALIAS_SETS_P): Use mem_in_disjoint_alias_sets_p.
12909         (mems_in_disjoin_alias_sets_p): New function.
12910         (alias_set_compare): Likewise.
12911         (insert_subset_children): Likewise.
12912         (get_alias_set_entry): Likewise.
12913
12914         * tree.h (TYPE_RESTRICT): New macro.
12915         (TYPE_UNQUALIFIED): New manifest constant.
12916         (TYPE_QUAL_CONST): Likewise.
12917         (TYPE_QUAL_VOLATILE): Likewise.
12918         (TYPE_QUAL_RESTRICT): Likewise.
12919         (tree_type): Add restrict_flag.  Reduce count of free bits.
12920         (DECL_POINTER_ALIAS_SET): New macro.
12921         (DECL_POINTER_ALIAS_SET_KNOWN_P): Likewise.
12922         (tree_decl): Add pointer_alias_set.
12923         (build_qualified_type): New function.
12924         (build_type_variant): Define in terms of build_qualified_type.
12925         * tree.c (set_type_quals): New function.
12926         (make_node): Initialize DECL_POINTER_ALIAS_SET.
12927         (build_type_attribute_variant): Use build_qualified_type and
12928         set_type_quals.
12929         (build_type_variant): Rename, and modify, to become...
12930         (build_qualified_type): New function.
12931         (build_complex_type): Use set_type_quals.
12932
12933         * c-tree.h (C_TYPE_OBJECT_P): New macro.
12934         (C_TYPE_FUNCTION_P): Likewise.
12935         (C_TYPE_INCOMPLETE_P): Likewise.
12936         (C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise.
12937         (c_apply_type_quals_to_decl): New function.
12938         (c_build_qualified_type): New function.
12939         (c_build_type_variant): Define in terms of c_build_qualified_type.
12940         (flag_isoc9x): Declare.
12941         * c-typeck.c (qualify_type): Use c_build_qualified_type.
12942         (common_type): Change to use TYPE_QUALS.
12943         (comptypes): Likewise.
12944         (convert_for_assignment): Likewise.
12945         * c-aux-info.c (gen_type): Likewise.  Deal with `restrict'.
12946         * c-decl.c (flag_isoc9x): Define.
12947         (c_decode_option): Handle -flang-isoc9x.
12948         (grokdeclarator): Update to handle restrict.  Use TYPE_QUALS,
12949         c_build_qualified_type, etc.  Use c_apply_type_quals_to_decl.
12950         * c-lex.c (init_lex): Deal with restrict.
12951         (init_lex): Don't treat restrict as a reserved word in
12952         -traditional mode, or without -flang-isoc9x.
12953         * c-lex.h (rid): Add RID_RESTRICT.
12954         * c-parse.gperf (restrict, __restrict, __restrict__): Make
12955         equivalent to RID_RESTRICT.
12956         * c-parse.in (TYPE_QUAL): Update comment.
12957         * c-common.c: Include rtl.h.
12958         (c_find_base_decl): New function.
12959         (c_build_type_variant): Rename, and modify, to become ...
12960         (c_build_qualified_type): New function.
12961         (c_apply_type_quals_to_decl): Likewise.
12962         (c_get_alias_set): For INDIRECT_REFs, check to see if we can find
12963         a particular alias set for the reference.
12964         * toplev.c (documented_lang_options): Add -flang-isoc9x.
12965
12966 Wed Oct 21 09:15:06 1998  Nick Clifton  <nickc@cygnus.com>
12967
12968         * config/arm/arm.h (TARGET_SWITCHES): Document arm specific
12969         command line switches.
12970
12971 Tue Oct 20 10:04:51 1998  Graham  <grahams@rcp.co.uk>
12972
12973         * reload.c (loc_mentioned_in_p): Add missing braces to bind
12974         else to correct if.
12975
12976 Mon Oct 19 16:34:05 1998  Tom Tromey  <tromey@cygnus.com>
12977
12978         * gcc.c (option_map): Added --classpath and --CLASSPATH.
12979
12980 Tue Oct 20 10:59:02 1998  Gavin Romig-Koch  <gavin@cygnus.com>
12981
12982         * regclass.c (fix_register): Add error message.
12983         * invoke.texi (-fcall-used-REG,-fcall-saved-REG): Note the
12984           new error message.
12985
12986 Tue Oct 20 10:12:17 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12987
12988         * c-decl.c (warn_missing_noreturn): New global variable.
12989         (c_decode_option): Check for new flags -W{no-}missing-noreturn.
12990         (finish_function): Implement missing noreturn warning.
12991
12992         * c-tree.h (warn_missing_noreturn): Declare extern.
12993
12994         * invoke.texi: Document new flags.
12995
12996         * toplev.c (documented_lang_options): Add description.
12997
12998 Tue Oct 20 22:16:11 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
12999
13000         * config/c4x/c4x.c (c4x_parallel_process): Disable until BCT
13001         loop optimization stable for the C4x.
13002         (c4x_rptb_info_t, c4x_dump, c4x_rptb_in_range, c4x_rptb_unjumped_loop,
13003         c4x_rptb_find_comp_and_jump, c4x_rptb_loop_info_get,
13004         c4x_rptb_emit_init, c4x_rptb_process): Deleted (superseded by BCT
13005         loop optimization).
13006         (c4x_address_conflict): Be more paranoid when packing a volatile
13007         memref in a parallel load/store.
13008
13009 Tue Oct 20 21:56:05 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
13010
13011         * config/c4x/c4x.md (repeat_block_top, repeat_block_end,
13012         repeat_block_filler): Deleted.
13013         (*ashlqi3_set, *ashrqi3_const_set, *ashrqi3_nonconst_clobber):
13014         Condition code not set if destination register from 'c' class.
13015         (*subbqi3_carry_clobber): Fix typo.
13016
13017 1998-10-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
13018
13019         * reorg.c (steal_delay_list_from_target): Check for insns that
13020         modify the condition codes and effect the direction of the jump
13021         in the sequence.
13022
13023 Sat Oct 17 13:09:09 1998  Graham  <grahams@rcp.co.uk>
13024
13025         * function.c (purge_addressof_1): Replace call to
13026         emit_insns_before() with emit_insn_before().
13027
13028 Mon Oct 19 19:34:03 1998  Mike Stump  <mrs@wrs.com>
13029
13030         * libgcc2.c (__pure_virtual): Call __terminate instead of _exit.
13031
13032 Mon Oct 19 13:26:24 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
13033
13034         * jump.c (sets_cc0_p): Compile only if HAVE_cc0.
13035
13036 Mon Oct 19 11:40:56 1998  Jeffrey A Law  (law@cygnus.com)
13037
13038         * gcse.c (compute_hash_table): Correctly identify hard regs which are
13039         clobbered across calls.
13040
13041         * loop.c (scan_loop): Be more selective about what invariants are
13042         moved out of a loop.
13043
13044 Mon Oct 19 10:46:58 1998  Jeff Law  (law@cygnus.com)
13045
13046         * version.c: Bump for snapshot.
13047
13048 Mon Oct 19 11:40:56 1998  Jeffrey A Law  (law@cygnus.com)
13049
13050         * libgcc2.c (eh_context_static): Do not call malloc to allocate the
13051         static eh_context structure.
13052
13053 Mon Oct 19 10:45:40 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
13054
13055         * combine.c (recog_for_combine): Lose PADDED_SCRATCHES arg.  All
13056         callers changed.
13057         (try_combine): Don't update max_scratch.
13058         * flow.c (max_scratch, num_scratch): Delete variables.
13059         (life_analysis_1): Don't initialize max_scratch.
13060         (propagate_block): Don't update max_scratch.
13061         (mark_set_1): Don't increment num_scratch.
13062         * regs.h (max_scratch): Delete declaration.
13063
13064 Mon Oct 19 10:28:15 1998  Jeffrey A Law  (law@cygnus.com)
13065
13066         * reload1.c (reload_reg_free_before_p): Hack.  Return 0 if EQUIV
13067         is nonzero.  This is temporary!
13068
13069         * sched.c (update_flow_info): Handle death notes made invalid by
13070         instruction splitting.  Partially reverts Oct 15, 1998 patch.
13071         * haifa-sched.c (update_flow_info): Likewise.
13072
13073 Sun Oct 18 17:31:26 1998  Jeffrey A Law  (law@cygnus.com)
13074
13075         * function.c (uninitialized_vars_warning): Do not warn for a VAR_DECL
13076         if it has a nonzero DECL_INITIAL.
13077
13078 Sat Oct 17 23:18:08 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13079
13080         * Makefile.in (flow.o): Depend on recog.h.
13081
13082         * cpplib.h (directive_table): Add missing initializiers.
13083         (finclude): Change type of variable `bsize' to size_t.
13084
13085         * cse.c (rtx_cost): Mark parameter `outer_code' with ATTRIBUTE_UNUSED.
13086
13087         * dwarfout.h (dwarfout_label): Wrap prototype in macro RTX_CODE.
13088
13089         * fix-header.c (lookup_std_proto): Cast the result of `strlen' to
13090         `int' when comparing against one.
13091         (cpp_file_line_for_message): Mark parameter `pfile' with
13092         ATTRIBUTE_UNUSED.
13093         (cpp_fatal): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
13094
13095         * flow.c: Include recog.h.
13096         (sbitmap_copy): Cast arguments 1 & 2 of `bcopy' to (PTR).
13097
13098         * function.c (thread_prologue_and_epilogue_insns): Mark parameter
13099         `f' with ATTRIBUTE_UNUSED.
13100         (reposition_prologue_and_epilogue_notes): Likewise.
13101
13102         * genopinit.c (gen_insn): Cast argument of ctype functions to
13103         `unsigned char'.
13104
13105         * haifa-sched.c: Include recog.h.
13106         (blockage_range): Cast result of UNIT_BLOCKED macro to (int) when
13107         comparing against one.
13108
13109         * libgcc2.a (__throw): Revert ATTRIBUTE_UNUSED change for now.
13110
13111         * mips-tfile.c (parse_end): Cast the argument of ctype function to
13112         `unsigned char'.
13113         (parse_ent): Likewise.
13114         (parse_input): Likewise.
13115
13116         * optabs.c (init_libfuncs): Likewise.
13117
13118         * protoize.c (find_rightmost_formals_list): Likewise.
13119
13120         * recog.h (const_double_operand): Fix typo in prototype.
13121
13122         * tlink.c (scan_linker_output): Cast the argument of ctype
13123         function to `unsigned char'.
13124
13125         * toplev.c (check_lang_option): Cast the result of `strlen' to
13126         `int' when comparing against one.
13127
13128 Sat Oct 17 13:09:09 1998  Graham  <grahams@rcp.co.uk>
13129
13130         * gcse.c (dump_cuid_table): Correct typo.
13131
13132 Sat Oct 17 11:02:47 1998  Nick Clifton  <nickc@cygnus.com>
13133
13134         * toplev.c (display_help): Prepend '-m' to target specific
13135         options.
13136         (check_lang_option): Ignore text after end of first word of a
13137         language specific option.
13138
13139 Sat Oct 17 02:26:03 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
13140
13141         * reload1.c (reg_used_by_pseudo): New static variable.
13142         (choose_reload_regs): Initialize it.
13143         Use it instead of testing spill_reg_order to determine whether a
13144         pseudo is live in a hard register across the current insn.
13145         Fix a typo in a reference to reload_reg_rtx.
13146
13147         * flow.c (propagate_block): Replace code that computes and uses
13148         regs_sometimes_live with simpler code that just walks the set of
13149         currently live registers.
13150
13151         * Makefile.in (insn-extract.o): Fix dependencies.
13152         * genextract.c (main): Generate includes for insn-config.h and
13153         recog.h.
13154         Delete generation of declarations which are now in recog.h.
13155         * genrecog.c (main): Delete generation of definitions which are
13156         now in recog.c.
13157         * local-alloc.c (block_alloc): Use extract_insn and the variables
13158         it sets up instead of looking up values by insn_code.
13159         * recog.c (recog_operand, recog_operand_loc, recog_dup_loc,
13160         recog_dup_num): Define here instead of generating the definition in
13161         genrecog.c.
13162         (recog_n_operands, recog_n_dups, recog_n_alternatives,
13163         recog_operand_mode, recog_constraints, recog_operand_address_p):
13164         New variables.
13165         (extract_insn): New function.
13166         * recog.h (extract_insn): Declare function.
13167         (which_alternative, recog_n_operands, recog_n_dups,
13168         recog_n_alternatives, recog_operand_mode, recog_constraints,
13169         recog_operand_address_p): Declare variables.
13170         * regclass.c (n_occurrences): New static function.
13171         * reload.c (n_occurrences): Delete function.
13172         (find_reloads): Use extract_insn.
13173         * reload.h (n_occurrences): Delete declaration.
13174
13175 Sat Oct 17 01:17:51 1998  Jeffrey A Law  (law@cygnus.com)
13176
13177         * reload1.c (reload_as_needed): Fix test for when to call
13178         update_eliminable_offsets.
13179
13180 Fri Oct 16 20:40:50 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
13181
13182         Fix consistency problems with reg_equiv_{mem,address};
13183         Improve reload inheritance;
13184
13185         * reload.c (reload_out_reg): New variable.
13186         (loc_mentioned_in_p, remove_address_replacements): New functions.
13187         (remove_replacements): Deleted.
13188         (push_reload): Set reload_out_reg[i].
13189         When merging, also set reload_{in,out}_reg[i], and remove
13190         duplicate address reloads.
13191         (combine_reloads): Copy reload_out_reg[i].
13192         (find_reloads): Do make_memloc substitution also when
13193         reg_equiv_memory_loc[regno] and num_not_at_initial_offset
13194         are both nonzero.
13195         Include *recog_operand_loc in commutativity operand changes.
13196         Generate optional output reloads.
13197         Delete reference to n_memlocs.  Don't set *recog_operand_loc before
13198         processing operands.  Call make_memloc in reg_equiv_address code.
13199         Set *recog_operand_loc only after processing operands, and only
13200         if replace is true.  Return a value.
13201         When changing address reload types for operands that didn't get
13202         reloaded, use RELOAD_FOR_OPADDR_ADDRESS for
13203         RELOAD_FOR_INPADDR_ADDRESS / RELOAD_FOR_OUTADDR_ADDRESS reloads.
13204         Don't emit USEs for pseudo SUBREGs when not replacing.
13205         (find_reloads_address): Do make_memloc substitution also when
13206         reg_equiv_memory_loc[regno] and num_not_at_initial_offset
13207         are both nonzero.
13208         (find_reloads_toplev): Likewise.
13209         Call make_memloc in reg_equiv_address code.
13210         (debug_reload_to_stream): Add code to output reload_out_reg.
13211         (make_memloc): Delete local variable i, ifdefed out code, and
13212         references to memlocs and n_memlocs.
13213         (memlocs, n_memlocs): Delete.
13214         (push_secondary_reload): Clear reload_out_reg.
13215         (find_reloads_address_1): Provide memrefloc argument to all calls
13216         to find_reloads_address.
13217         In AUTO_INC code, handle non-directly addressable equivalences properly.
13218         * reload.h (reload_out_reg, num_not_at_initial_offset): Declare.
13219         (find_reloads): Add return type.
13220         (remove_address_replacements, deallocate_reload_reg): Declare.
13221         * reload1.c (num_not_at_initial_offset): No longer static.
13222         (delete_address_reloads, delete_address_reloads_1): Likewise.
13223         (deallocate_reload_reg): New function.
13224         (spill_reg_stored_to): New array.
13225         (eliminate_regs): Don't substitute from reg_equiv_memory_loc.
13226         (eliminate_regs_in_insn): Move assignments of previous_offset and
13227         max_offset fields, and recalculation of num_not_at_initial_offset
13228         into new static function:
13229         (update_eliminable_offsets) .
13230         (reload_as_needed): Call update_eliminable_offsets after calling
13231         find_reloads.
13232         Call forget_old_reloads_1 with contents of reloaded auto_inc
13233         expressions if the actual addressing can't be changed to match the
13234         auto_inc.
13235         (choose_reload_regs): For inheritance, replace
13236         reload_reg_free_before_p test with reload_reg_used_at_all test, and
13237         remove stand-alone reload_reg_used_at_all test.
13238         Use reload_out_reg to determine which reload regs have output reloads.
13239         Treat reload_override_in more similar to inherited reloads.
13240         Handle (subreg (reg... for inheritance.
13241         For flag_expensive_optimizations, add an extra pass to remove
13242         unnecessary reloads from known working inheritance.
13243         Delete obsolete code for pseudos replaced with MEMs.
13244         Handle inheritance from auto_inc expressions.
13245         (emit_reload_insns): If reload_in is a MEM, set OLD to
13246         reload_in_reg[j].
13247         Don't reload directly from oldequiv; if it's a pseudo with a
13248         stack slot, use reload_in[j].
13249         Check that reload_in_reg[j] is a MEM before replacing reload_in
13250         from reg_reloaded_contents.
13251         Include non-spill registers in reload inheritance processing.
13252         Also try to use reload_out_reg to set spill_reg_store /
13253         reg_last_reload_reg.
13254         In code to set new_spill_reg_store, use single_set to find out if
13255         there is a single set.
13256         Add code that allows to delete optional output reloads.
13257         Add code to allow deletion of output reloads that use no spill reg.
13258         At the end, set reload_override_in to oldequiv.
13259         Also call delete_output_reload if reload_out_reg is equal to old
13260         in oldequiv code.
13261         Add code to call delete_output_reload for stores with no matching load.
13262         Set / use spill_reg_stored_to.
13263         Handle case where secondary output reload uses a temporary, but
13264         actual store isn't found.
13265         When looking for a store of a value not loaded in order to call
13266         delete_output_reload, count_occurrences should return 0 for no
13267         loads; but discount inherited input reloadill_reg_stored_to.
13268         Do checks for extra uses of REG.  Changed all
13269         callers.
13270         Use delete_address_reloads.
13271         (reload): Take return value of find_reloads into account.
13272         If a no-op set needs more than one reload, delete it.
13273         (reload_reg_free_before_p): RELOAD_FOR_INPUT
13274         can ignore RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS
13275         for the same operand.
13276         (clear_reload_reg_in_use): Check for other reloads that keep a
13277         register in use.
13278         (reload_reg_free_for_value_p): Handle RELOAD_FOR_OPERAND_ADDRESS /
13279         RELOAD_FOR_OPADDR_ADDR.
13280         Take into account when an address address reload is only needed
13281         for the address reload we are considering.
13282         (count_occurrences): Use rtx_equal_p for MEMs.
13283         (inc_for_reload): Return instruction that stores into RELOADREG.
13284         New argument two, IN, and rtx.  Changed all callers.
13285         (calculate_needs_all_insns, reload_as_needed):
13286         Don't clear after_call for a CLOBBER.
13287         Keep track of how many hard registers need to be copied from
13288         after_call, and don't clear after_call before we have seen
13289         that much copies, or we see a different instruction.
13290
13291 Fri Oct 16 10:58:23 1998  Jeffrey A Law  (law@cygnus.com)
13292
13293         * flow.c (find_basic_blocks_1): Do not delete unreachable blocks
13294         after reload has completed.
13295
13296 Fri Oct 16 17:26:10 1998  Dave Brolley  <brolley@cygnus.com>
13297
13298         * cpplib.c (cpp_get_token): Replace whitespace that occurs between
13299         a macro name and the next token with a single blank if that whitespace
13300         is in a macro buffer and the next token is not '('.
13301
13302 Fri Oct 16 15:44:02 1998  Dave Brolley  <brolley@cygnus.com>
13303
13304         * cccp.c (rescan): Handle multibyte characters ending in backslash.
13305         (rescan): Likewise.
13306         (skip_if_group): Likewise.
13307         (skip_to_end_of_comment): Likewise.
13308         (macarg1): Likewise.
13309         (discard_comments): Likewise.
13310         (change_newlines): Likewise.
13311
13312 Fri Oct 16 15:26:24 1998  Dave Brolley  <brolley@cygnus.com>
13313
13314         * c-lex.c (yylex): Fix unaligned access of wchar_t.
13315
13316 Fri Oct 16 10:47:53 1998  Nick Clifton  <nickc@cygnus.com>
13317
13318         * config/arm/arm.h (TARGET_SWITCHES): Add --help documentation.
13319         (TARGET_OPTIONS): Add --help documentation.
13320
13321 Fri Oct 16 11:49:01 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13322
13323         * rtl.h (sets_cc0_p): Revert Oct 14 ATTRIBUTE_NORETURN change.
13324
13325 Fri Oct 16 07:08:46 1998  Bruce Korb  <korb@datadesign.com>
13326
13327         * fixinc/* Moved in from ../contrib directory in preparation
13328         for integrating it into the normal build process.  In particular,
13329         fixinc/Makefile.in must be config-ed into the build directory
13330         as fixinc/Makefile.  Proposed patches to ./Makefile.in and
13331         ./configure.in will be "in the mail" momentarily.
13332
13333 Fri Oct 16 08:13:46 1998  David S. Miller  <davem@pierdol.cobaltnet.com>
13334
13335         * cse.c (cse_basic_block): Fixup hash flushing loop so we do not
13336         accidently walk into the free list.  Comment how that can happen.
13337         (invalidate): Fix indentation.
13338
13339 Thu Oct 15 23:53:29 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
13340                           Jeffrey A Law  (law@cygnus.com)
13341
13342         * flow.c (life_analysis_1): Do not clobber regs_ever_live after
13343         reload.  Never perform rescans of the insn chain after reload.
13344         (propagate_block): Do not delete insn or create new autoinc addressing
13345         modes after reload.
13346
13347         * jump.c (jump_optimize): Unconditionally use the code that was
13348         previously conditional on PRESERVE_DEATH_INFO_REGNO_P.
13349         * reload1.c (reload): When reloading is finished, delete all
13350         REG_DEAD and REG_UNUSED notes.
13351         (emit_reload_insns): Delete all code that was conditional on
13352         PRESERVE_DEATH_INFO_REGNO_P.
13353         (no_longer_dead_regs): Delete variable.
13354         (reload_cse_delete_death_notes): Delete function.
13355         (reload_cse_no_longer_dead): Delete function.
13356         (reload_cse_regs_1): Delete all code to handle deletion of death
13357         notes.
13358         (reload_cse_noop_set_p): Likewise.
13359         (reload_cse_simplify_set): Likewise.
13360         (reload_cse_simplify_operands): Likewise.
13361         (reload_cse_move2add): Likewise.
13362         * reorg.c (used_spill_regs): Delete declaration.
13363         (max_label_num_after_reload): Delete declaration.
13364         (find_dead_or_set_registers): Don't assume that spill regs are
13365         dead at a CODE_LABEL.
13366         * rtlanal.c (dead_or_set_regno_p): Death notes are always accurate,
13367         even after reload.
13368         * sched.c (sched_analyze_insn): Likewise.
13369         (update_flow_info): Likewise.
13370         * haifa-sched.c (sched_analyze_insn): Likewise.
13371         (update_flow_info): Likewise.
13372         * tm.texi (PRESERVE_DEATH_INFO_REGNO_P): Delete documentation.
13373         * toplev.c (max_label_num_after_reload): Delete variable.
13374         (rest_of_compilation): Don't set max_label_num_after_reload.
13375         Call life_analysis after reload_cse_regs if optimizing.
13376         * config/gmicro/gmicro.h: Delete comment referring to
13377         PRESERVE_DEATH_INFO_REGNO_P.
13378         * config/i386/i386.h: Likewise.
13379         * config/m88k/m88k.h: Likewise.
13380         * config/m32r/m32r.h (PRESERVE_DEATH_INFO_REGNO_P): Delete definition.
13381         * config/sh/sh.h: Likewise.
13382
13383 Thu Oct 15 19:48:41 1998  David Edelsohn  <edelsohn@gnu.org>
13384
13385         * loop.c (strength_reduce): Restore marking bct_p as
13386         ATTRIBUTE_UNUSED.
13387         * rs6000.c (optimization_options): Change #ifdef HAIFA to
13388         HAVE_decrement_and_branch_on_count.
13389         (small_data_operand): Remove TARGET_ELF condition for marking
13390         parameters ATTRIBUTE_UNUSED.
13391
13392 Thu Oct 15 11:45:51 1998  Robert Lipe  <robertl@dgii.com>
13393
13394         * config/i386/sco5.h (MAX_OFILE_ALIGNMENT): Define.
13395         (SELECT_SECTION): Resync with svr4.h.
13396
13397 Thu Oct 15 12:42:13 1998  David Edelsohn  <edelsohn@gnu.org>
13398
13399         * loop.c (strength_reduce): Undo Oct 14 change marking bct_p
13400         ATTRIBUTE_UNUSED.
13401
13402 Thu Oct 15 00:57:55 1998  Robert Lipe  <robertl@dgii.com>
13403
13404         * c-pragma.c (handle_pragma_token): Test for null tree before
13405         dereferencing TREE_CODE.
13406
13407 Thu Oct 15 17:36:48 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
13408
13409         * config/c4x/c4x.c: Convert to use GEN_INT.
13410         (c4x_parallel_process): Rework to handle new repeat loop structure.
13411
13412         * config/c4x/c4x.md: Convert to use GEN_INT.
13413         (rptb_end): Convert to use GE test.  Replace uses with clobbers.
13414         (decrement_and_branch_on_count): Likewise.
13415
13416         * config/c4x/c4x.h (REPEAT_BLOCK_PROCESS): Deleted hook now that
13417         loop.c has the desired functionality.
13418         (rc_reg_operand): New prototype.
13419
13420         * config/c4x/t-c4x: Can now build all front ends.
13421
13422 Wed Oct 14 23:27:08 1998  Didier FORT  (didier.fort@fedex.com)
13423
13424         * fixincludes: Fix up rpc/{clnt,svr,xdr}.h for SunOS.
13425
13426 Wed Oct 14 22:13:28 1998  Joel Sherrill  (joel@OARcorp.com)
13427
13428         * Makefile.in (stmp-fixinc): Do not install assert.h if not desired.
13429         * config/t-rtems: Do not install assert.h -- use newlib's.
13430
13431 Wed Oct 14 21:57:08 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
13432
13433         * combine.c (combine_instructions): When finished, call init_recog.
13434         * regmove.c (optimize_reg_copy_3): Reject volatile MEMs.
13435
13436 Wed Oct 14 16:10:22 1998  Per Bothner  <bothner@cygnus.com>
13437
13438         * toplev.c: If flag_syntax_only, don't open or write assembler file.
13439
13440 Wed Oct 14 13:26:05 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13441
13442         * cppalloc.c (memory_full): Mark function prototype with
13443         ATTRIBUTE_NORETURN.
13444
13445         * demangle.h (collect_exit): Likewise.
13446
13447         * fix-header.c (v_fatal, fatal): Likewise.
13448
13449         * gcc.c (pfatal_with_name, pfatal_pexecute, fatal, fancy_abort):
13450         Likewise.
13451
13452         * gcov.c (print_usage): Likewise.
13453
13454         * genattr.c (fatal, fancy_abort): Likewise.
13455
13456         * genattrtab.c (fatal, fancy_abort): Likewise.
13457
13458         * gencodes.c (fatal, fancy_abort): Likewise.
13459
13460         * genconfig.c (fatal, fancy_abort): Likewise.
13461
13462         * genemit.c (fatal, fancy_abort): Likewise.
13463
13464         * genextract.c (fatal, fancy_abort): Likewise.
13465
13466         * genflags.c (fatal, fancy_abort): Likewise.
13467
13468         * genopinit.c (fatal, fancy_abort): Likewise.
13469
13470         * genoutput.c (fatal, fancy_abort): Likewise.
13471
13472         * genpeep.c (fatal, fancy_abort): Likewise.
13473
13474         * genrecog.c (fatal, fancy_abort): Likewise.
13475
13476         * libgcc2.c (__eprintf, __default_terminate, __sjthrow,
13477         __sjpopnthrow, __throw): Likewise.
13478
13479         * objc/objc-act.c (objc_fatal): Likewise.
13480
13481         * protoize.c (usage, aux_info_corrupted,
13482         declare_source_confusing): Likewise.
13483
13484         * rtl.c (dump_and_abort): Likewise.
13485
13486         * rtl.h (sets_cc0_p): Likewise.
13487
13488         * toplev.c (float_signal, pipe_closed): Likewise.
13489
13490 1998-10-14  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
13491
13492         * dwarf2out.c (expand_builtin_dwarf_reg_size): Look at all ranges
13493         when generating the decision tree for the general case.
13494
13495         * config/m68k/m68k.h (HARD_REGNO_MODE_OK): Don't accept modes
13496         wider that 12 bytes in fpu regs or wider than 8 byte in fpa regs.
13497
13498 Wed Oct 14 11:14:02 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13499
13500         * Makefile.in (sched.o): Depend on recog.h.
13501
13502         * alias.c (REG_BASE_VALUE): Cast the result of REGNO() macro to
13503         (unsigned) when comparing against one.
13504         (find_base_value): Likewise.
13505         (record_base_value): Cast variable `regno' to (unsigned) when
13506         comparing against one.  Cast the result of REGNO() macro to
13507         (unsigned) when comparing against one.
13508         (memrefs_conflict_p): Change type of variables `r_x' and `r_y'  to
13509         unsigned.
13510         (init_alias_analysis): Add unsigned variable `ui'.  Use it as loop
13511         variable where an unsigned index is needed.
13512
13513         * caller-save.c (init_caller_save): Cast `-1' to (enum insn_code)
13514         before comparing against one.
13515
13516         * collect2.c: Add prototypes for functions `error', `fatal' and
13517         `fatal_perror'.  Make these functions take variable arguments
13518         instead of faking it with a fixed number of args.
13519         (write_c_file_stat): Cast the argument of ctype macro to (unsigned
13520         char).
13521
13522         * combine.c (can_combine_p): Mark parameter `pred' with
13523         ATTRIBUTE_UNUSED.
13524         (find_split_point): Cast variable `src' to (unsigned
13525         HOST_WIDE_INT) when comparing against one.
13526         (simplify_rtx): Cast 1 to (unsigned HOST_WIDE_INT) in shift.
13527         (simplify_logical): Likewise.
13528         (force_to_mode): Cast result of INTVAL() macro to (unsigned
13529         HOST_WIDE_INT) when comparing against one.  Cast 1 to (unsigned
13530         HOST_WIDE_INT) in shift.
13531         (simplify_and_const_int): Cast result of INTVAL() macro to
13532         `unsigned HOST_WIDE_INT' when comparing against one.
13533         (merge_outer_ops): Cast variable const0 to `unsigned
13534         HOST_WIDE_INT' when comparing against the result of
13535         GET_MODE_MASK() macro.
13536         (simplify_comparison): Likewise for variable `c0'.  Cast variable
13537         `const_op' to `unsigned HOST_WIDE_INT' when comparing against
13538         one.  Cast `1' to `unsigned HOST_WIDE_INT' in shift.  Cast the
13539         result of `GET_MODE_MASK()/2' to `HOST_WIDE_INT' when comparing
13540         against one.  Cast `1' to `unsigned HOST_WIDE_INT' in shift.  Cast
13541         result of INTVAL() macro to `unsigned HOST_WIDE_INT' when
13542         comparing against one.
13543         (distribute_notes): Wrap variable `cc0_setter' in macro `HAVE_cc0'.
13544
13545         config/mips/mips.c (gen_int_relational): Cast result of INTVAL()
13546         macro to `unsigned HOST_WIDE_INT' when comparing against one.
13547         (output_block_move): Cast `sizeof' expression to (int) when
13548         comparing against one.
13549         (function_arg): Cast BITS_PER_WORD to `unsigned' when comparing
13550         against one.
13551         (save_restore_insns): Cast `base_offset' to `long' to match format
13552         specifier in fprintf.
13553
13554         * config/mips/mips.h (Pmode): Cast the result of `Pmode' macro
13555         to `enum machine_mode'.
13556
13557         * flow.c (life_analysis_1): Remove unused variable `insn'.
13558
13559         * gcc.c (translate_options): Move variables `j' and `k' into the
13560         scope in which they are used.  Change their types to `size_t'.
13561         (set_spec): Cast the argument of ctype macro to `unsigned char'.
13562         (read_specs): Likewise.
13563         (process_command): Cast `sizeof' to (int) when comparing against one.
13564         (do_spec_1): Cast the argument of ctype macro to `unsigned char'.
13565         (handle_braces): Cast both sides of `==' expression to `long' to
13566         ensure sign matching.
13567         (main): Cast variable `i' to `int' when comparing against one.
13568
13569         * gcov-io.h (__fetch_long): Change type of parameter `bytes' from
13570         int to size_t.  Cast variable `i' to size_t when comparing against
13571         one.
13572
13573         * genattrtab.c (convert_set_attr_alternative): Remove unused
13574         parameter `insn_code'.  All callers changed.
13575         (convert_set_attr): Likewise.
13576
13577         * genrecog.c (add_to_sequence): Cast result of XVECLEN() macro to
13578         size_t when comparing against one.  Likewise for variable `len'.
13579
13580         * global.c (global_alloc): Cast variable `max_regno' to size_t
13581         when comparing against one.  Likewise for variable `max_allocno'.
13582
13583         * jump.c (sets_cc0_p): Mark parameter `x' with ATTRIBUTE_UNUSED.
13584
13585         * local-alloc.c (validate_equiv_mem_from_store): Mark parameter
13586         `set' with ATTRIBUTE_UNUSED.
13587         (find_free_reg): Cast `sizeof' expression to (int) when comparing
13588         against one.
13589
13590         * loop.c (count_loop_regs_set): Remove unused variable `dest'.
13591         (strength_reduce): Mark parameter `bct_p' with ATTRIBUTE_UNUSED.
13592         (get_condition): Cast variable `const_val' to `unsigned
13593         HOST_WIDE_INT' when comparing against one.  Cast unsigned
13594         expression to HOST_WIDE_INT when comparing against one.
13595         (insert_loop_mem): Mark parameter `data' with ATTRIBUTE_UNUSED.
13596         (load_mems_and_recount_loop_regs_set): Cast variable `nregs' to
13597         `unsigned' when comparing against one.
13598
13599         * protoize.c (is_id_char): Change type of parameter `ch' to
13600         unsigned char.
13601         (munge_compile_params): Cast argument of ctype macro to (const
13602         unsigned char).
13603         (process_aux_info_file): Cast variable `aux_info_size' to int when
13604         comparing against one.
13605         (forward_to_next_token_char): Cast argument of ctype macro to
13606         `const unsigned char'.
13607         (edit_formals_lists): Likewise.
13608         (find_rightmost_formals_list): Likewise.
13609         (add_local_decl): Likewise.
13610         (add_global_decls): Likewise.
13611         (edit_fn_definition): Likewise.
13612         (do_cleaning): Likewise.
13613         (scan_for_missed_items): Likewise.
13614         (edit_file): Cast variable `orig_size' to (int) when comparing
13615         against one.
13616         (main): Cast argument of ctype macro to `const unsigned char'.
13617
13618         * recog.c (const_int_operand): Mark parameter `mode' with
13619         ATTRIBUTE_UNUSED.
13620
13621         * regclass.c (record_reg_classes): Change type of variable `c' to
13622         `unsigned char'.  Cast `char' array index to `unsigned char'.
13623
13624         * reload.c (push_secondary_reload): Cast argument to
13625         REG_CLASS_FROM_LETTER() macro to `unsigned char'.
13626
13627         * reload1.c (calculate_needs): Cast `char' array index to
13628         `unsigned char'.
13629         (set_label_offsets): Change type of variable `i' to unsigned int.
13630         Cast result of XVECLEN() macro to unsigned when comparing against
13631         one.
13632         (mark_not_eliminable): Change type of variable `i' to unsigned.
13633         (order_regs_for_reload): Likewise.  Cast `max_regno' to unsigned
13634         when comparing against one.
13635         (reload_as_needed): Cast macro NUM_ELIMINABLE_REGS to (int) when
13636         comparing against one.
13637         (choose_reload_regs): Hide unused label `fail'.
13638         (reload_cse_simplify_operands): Cast `char' array index to
13639         `unsigned char'.
13640         (reload_combine_note_store): Mark parameter `set' with
13641         ATTRIBUTE_UNUSED.  Cast UNITS_PER_WORD to unsigned when comparing
13642         against one.
13643         (reload_cse_move2add): Remove unused variable `src2'.
13644
13645         * sched.c: Include recog.h.
13646         (sched_note_set): Remove unused parameter `b'.  All callers
13647         changed.
13648         (split_hard_reg_notes): Likewise for parameter `orig_insn'.
13649         (blockage_range): Cast result of UNIT_BLOCKED() macro to (int)
13650         when comparing against one.
13651
13652         * stupid.c (stupid_find_reg): Mark parameter `changes_size' with
13653         ATTRIBUTE_UNUSED.  Cast `sizeof' expression to (int) when
13654         comparing against one.
13655
13656         * unroll.c (precondition_loop_p): Remove unused parameter
13657         `loop_end'.  All callers changed.
13658
13659 Tue Oct 13 22:12:11 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
13660
13661         * reload1.c (maybe_fix_stack_asms): New static function.
13662         (reload): Call it.
13663
13664         * reload.h (compute_use_by_pseudos): Declare.
13665
13666         * reload1.c (spilled_pseudos, insns_need_reload): New variables.
13667         (something_needs_reloads): Delete variable.
13668         (finish_spills): New function.
13669         (compute_use_by_pseudos): New function.
13670
13671         (delete_caller_save_insns): Lose argument FIRST.  All callers changed.
13672         Use the reload_insn_chain instead of walking the rtl directly.
13673
13674         (reload): Allocate and free spilled_pseudos.
13675         Ensure that all calls of spill_hard_reg are followed by a call to
13676         finish_spills.
13677         Use the insns_need_reload list instead of something_needs_reloads
13678         to find out if reload_as_needed must be called.
13679         Clear unused_insn_chains at the end.
13680
13681         (calculate_needs_all_insns): Lose FIRST parameter.  All callers
13682         changed.
13683         Delete code to keep track of current basic block.
13684         Walk reload_insn_chain instead of the rtl structure.  Build the
13685         insns_need_reload chain.
13686         Remember which insns need reloading/elimination by setting the
13687         appropriate fields in struct insn_chain, not by putting modes on the
13688         insn.
13689
13690         (calculate_needs): Lose THIS_BLOCK arg.  Accept arg CHAIN instead of
13691         arg INSN.  All callers changed.
13692         Delete declaration of struct needs.
13693         Don't set something_needs_reloads.
13694         Record insn needs in the CHAIN argument.
13695
13696         (spill_hard_reg): Record the affected pseudos in spilled_pseudos.
13697
13698         (reload_as_needed): Lose FIRST arg.  All callers changed.
13699         Walk the reload_insn_chain instead of the rtx structure.
13700         Delete code to keep track of current basic block.
13701         Rename one of the NEXT variables to OLD_NEXT.
13702
13703         (allocate_reload_reg): Accept arg CHAIN instead of arg INSN.  All
13704         callers changed.
13705         (choose_reload_regs): Likewise.
13706
13707         (emit_reload_insns): Replace INSN and BB args with arg CHAIN.  All
13708         callers changed.
13709
13710         * caller-save.c (MOVE_MAX_WORDS): New macro.  Use it throughout
13711         instead of (MOVE_MAX / UNITS_PER_WORD) computation.
13712         (hard_regs_live, hard_regs_need_restore): Delete variables.
13713         (n_regs_saved): Now static.
13714         (referenced_regs, this_insn_sets): New variables.
13715
13716         (setup_save_areas): Restructure the code a bit.
13717
13718         (restore_referenced_regs): Delete function.
13719         (mark_referenced_regs): New function, similar to the old
13720         restore_referenced_regs, but mark registers in referenced_regs.
13721
13722         (clear_reg_live): Delete function.
13723         (mark_set_regs): Renamed from set_reg_live.  All callers changed.
13724         Only mark registers in this_insn_sets.
13725
13726         (save_call_clobbered_regs): Rework this function to walk the
13727         reload_insn_chain instead of using the list of instructions directly.
13728         Delete code to keep track of register lives, compute live regs on the
13729         fly from information in the chain.
13730         Instead of calling restore_referenced_regs, use mark_referenced_regs,
13731         then walk the set it computes and call insert_restore as appropriate.
13732
13733         (insert_restore): Lose INSN and BLOCK args.  Add CHAIN arg.  All
13734         callers changed.
13735         Restructure the code a bit.  Test hard_regs_saved instead of
13736         hard_regs_need_restore.
13737         (insert_save): Lose INSN and BLOCK args.  Add CHAIN and TO_SAVE
13738         args.  All callers changed.
13739         Restructure the code a bit.  Use TO_SAVE to determine which regs to
13740         save instead of more complicated test.
13741         (insert_one_arg): Lose INSN and BLOCK args.  Add CHAIN arg.  All
13742         callers changed.
13743         Create a new insn_chain structure for the new insn and place it
13744         into the chain.
13745
13746         * rtl.texi: Update documentation to reflect that reload no longer
13747         puts modes on the insns.
13748
13749 1998-10-14  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
13750
13751         * function.c (purge_addressof_1): Force the first argument of a
13752         CALL insn to memory.
13753
13754 Wed Oct 14 00:38:40 1998  Jeffrey A Law  (law@cygnus.com)
13755
13756         * rtl.h: Delete duplicate prototypes.  Add some missing
13757         prototypes.
13758         * rtlanal.c (for_each_rtx): Formatting tweak.
13759
13760 1998-10-13  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
13761
13762         * real.c (emdnorm and etoasc): Disable round to even for c4x target
13763         to be compatible with TI compiler.
13764
13765         * Makefile.in (USER_H): Add va-c4x.h to definition.
13766
13767 Tue Oct 13 23:03:37 1998  Richard Henderson  <rth@cygnus.com>
13768
13769         * function.c (purge_addressof_1): Fix typo in inequality: do
13770         bitfield optimization for equal mode sizes.
13771         * expmed.c (store_bit_field): Don't take subregs of subregs in
13772         the movstrict case.  Tidy a potential problem in the multi-word case.
13773         (extract_bit_field): Likewise.
13774
13775 Tue Oct 13 22:12:11 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
13776
13777         * flow.c (find_basic_blocks): Emit NOPs after normal calls in this
13778         function.
13779         Compute max_uid_for_flow by calling get_max_uid after the scan.
13780         (find_basic_blocks_1): Don't emit NOPs here.
13781
13782 Tue Oct 13 22:05:49 1998  Richard Henderson  <rth@cygnus.com>
13783
13784         * alias.c (base_alias_check): Accept new args for the modes of the
13785         two references.  Use them to determine if an AND can overlap.  Update
13786         all callers.
13787         (memrefs_conflict_p): Assume sizes are aligned, and uses them
13788         to determine if an AND can overlap.
13789
13790 Tue Oct 13 17:51:04 1998  Jim Wilson  <wilson@cygnus.com>
13791
13792         * config/m68k/m68k.h (HARD_REGNO_MODE_OK): For FP regs, add REGNO >= 16
13793         check.  Add comment to document problems with TARGET_SUN_FPA version
13794         of this macro.
13795         * config/m68k/m68k.md (movxf+1): Support 'r'/'r' moves.
13796
13797 Tue Oct 13 17:46:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13798
13799         * Makefile.in (gencheck.o): Depend on gansidecl.h.
13800
13801         * c-common.c (print_char_table): Add missing initializers.
13802         (scan_char_table): Likewise.
13803         (time_char_table): Likewise.
13804
13805         * c-decl.c (c_decode_option): Mark parameter `argc' with
13806         ATTRIBUTE_UNUSED.
13807         (declare_parm_level): Mark parameter `definition_flag' with
13808         ATTRIBUTE_UNUSED.
13809
13810         * c-lex.c (readescape): Use `(unsigned)1' in shift.
13811         (yylex): Likewise.  Cast `sizeof' to an (int) when comparing
13812         against one.
13813
13814         * calls.c (store_one_arg): Remove unused parameter `fndecl'.  All
13815         callers changed.
13816         (emit_call_1): Mark parameters `fndecl' and `funtype' with
13817         ATTRIBUTE_UNUSED.
13818         (expand_call): Cast result of MIN() to (unsigned int) when
13819         comparing against an unsigned value.
13820
13821         * cccp.c (pcfinclude): Remove unused parameter `limit'.  All
13822         callers changed.
13823         (make_definition): Remove unused parameter `op'.  All callers
13824         changed.
13825         (create_definition): Cast REST_EXTENSION_LENGTH to (long) when
13826         comparing against the result of pointer arithmetic.
13827
13828         * config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Cast to (unsigned)
13829         when comparing against one.
13830
13831         * dwarf2out.c (dwarf2out_frame_debug): Cast REGNO() and
13832         HARD_FRAME_POINTER_REGNUM to (unsigned) when comparing against
13833         one.
13834         (output_die): Move variable `i' into the scope in which it is
13835         used.  Change its type to `unsigned'.
13836         (output_die): Cast the result of `strlen' to (int) when passing it
13837         to ASM_OUTPUT_ASCII().
13838         (output_pubnames): Likewise.
13839         (output_line_info): Likewise.
13840
13841         * emit-rtl.c (global_rtl): Add missing initializers.
13842
13843         * explow.c (promote_mode): Mark parameter `for_call' with
13844         ATTRIBUTE_UNUSED.
13845
13846         * expmed.c (expand_shift): Cast the result of GET_MODE_BITSIZE to
13847         `unsigned HOST_WIDE_INT' when comparing against one.
13848         (synth_mult): Change type of variable `cost' to int.
13849         (emit_store_flag): Use `(unsigned HOST_WIDE_INT) 1' in shift.
13850
13851         * expr.c (copy_blkmode_from_reg): Cast BITS_PER_WORD to (unsigned)
13852         when comparing against one.
13853         (get_inner_reference): Change variable `alignment' to unsigned.
13854         (expand_expr): Cast the result of GET_MODE_ALIGNMENT to (unsigned
13855         int) when comparing against one.
13856         (expand_builtin_setjmp): Change type of variable `i' to size_t.
13857
13858         * fold-const.c (div_and_round_double): Cast BASE to
13859         (HOST_WIDE_INT) when comparing against one.
13860
13861         * gencheck.c: Include gansidecl.h.
13862         (main): Mark parameter `argv' with ATTRIBUTE_UNUSED.
13863
13864         * optabs.c (gen_cond_trap): Mark parameters `code', `op2' and
13865         `tcode' with ATTRIBUTE_UNUSED.
13866
13867         * real.c (edivm): Cast constant value to (unsigned long) in
13868         expression compared against an unsigned value.
13869
13870         * stmt.c (expand_return): Cast BITS_PER_WORD to (unsigned) when
13871         comparing against one.
13872         (expand_end_case): Cast CASE_VALUES_THRESHOLD to (unsigned int)
13873         when comparing against one.
13874
13875         * stor-layout.c (mode_for_size): Cast MAX_FIXED_MODE_SIZE to
13876         (unsigned int) when comparing against one.  Likewise for
13877         GET_MODE_BITSIZE.
13878         (smallest_mode_for_size): Likewise.
13879         (save_storage_status): Mark parameter `p' with ATTRIBUTE_UNUSED.
13880         (restore_storage_status): Likewise.
13881
13882         * toplev.c (debug_args): Add missing initializer.
13883         (f_options): Spelling correction.  Add missing initializers.
13884         (documented_lang_options): Likewise.
13885         (debug_end_source_file): Mark parameter `lineno' with
13886         ATTRIBUTE_UNUSED.
13887
13888         * tree.c (valid_machine_attribute): Mark parameters `attr_args',
13889         `decl' and `type' with ATTRIBUTE_UNUSED.
13890
13891         * varasm.c (decode_reg_name): Cast `sizeof' expression to (int)
13892         when comparing against one.
13893         (assemble_variable): Mark parameter `top_level' with
13894         ATTRIBUTE_UNUSED.
13895         (assemble_external_libcall): Mark parameter `fun' with
13896         ATTRIBUTE_UNUSED.
13897         (output_constant_pool): Mark parameters `fnname' and `fndecl' with
13898         ATTRIBUTE_UNUSED.
13899
13900 Tue Oct 13 12:51:04 1998  Nick Clifton  <nickc@cygnus.com>
13901
13902         * config/v850/lib1funcs.asm (_udivsi3): Add .type declaration.
13903         Replace use of r5 with use of r19.
13904
13905         * config/v850/v850.h (LINK_POINTER_REGNUM): Define.
13906
13907         * config/v850/v850.c (compute_register_save_size): Allow for the
13908         fact that helper functions save all registers, not just those used
13909         by the function.
13910
13911         Replace constant 31 with macro LINK_POINTER_REGNUM.
13912
13913         * config/v850/v850.md: Use 'indirect_operand' rather than
13914         'memory_operand' for bit test/set/clear patterns.
13915
13916 Tue Oct 13 11:49:14 1998  Jason Merrill  <jason@yorick.cygnus.com>
13917
13918         * mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS): Call ASM_GLOBALIZE_LABEL.
13919         * varasm.c (assemble_start_function et al): Don't call
13920         ASM_GLOBALIZE_LABEL for weak symbols.
13921
13922 Tue Oct 13 11:37:45 1998  Nick Clifton  <nickc@cygnus.com>
13923
13924         * cse.c (equiv_constant): Check for NULL return from
13925         gen_lowpart_if_possible().
13926
13927 Tue Oct 13 11:24:51 1998  Jeffrey A Law  (law@cygnus.com)
13928
13929         * mn10200.md (addsi3, subsi3, negsi2): Only allow register operands.
13930
13931         * collect2.c (main): Pass -EL/-EB through to the compiler.
13932
13933 1998-10-12  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
13934
13935         * expr.c (push_block): Handle targets where the stack grows
13936         to higher addresses, but args grow to lower addresses and
13937         ACCUMULATE_OUTGOING_ARGS is not defined.
13938
13939 Tue Oct 13 08:00:52 1998  Catherine Moore  <clm@cygnus.com>
13940
13941         * config/v850/v850.c (print_operand): Extend meaning
13942         of 'c' operands to support .vtinherit.
13943
13944 Tue Oct 13 21:38:35 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
13945
13946         * config/c4x/c4x.c: Convert to gen_rtx_FOO.
13947         Added ATTRIBUTE_UNUSED to unused function arguments.
13948         (rc_reg_operand): New predicate.
13949         (c4x_rptb_insert): New function.
13950         (c4x_rptb_nop_p): Recognize modified rptb_top pattern.
13951         (c4x_optimization_options): New function.
13952
13953         * config/c4x/c4x.md: Convert to gen_rtx_FOO.
13954          (decrement_and_branch_on_count): New pattern.
13955          (rptb_top): Modified pattern to work with BCT optimization.
13956
13957         * config/c4x/c4x.h (RC_REG): New register class.
13958         (rc_reg_operand): Define prototype.
13959         (IS_RC_REG): New macro.
13960         (IS_RC_OR_PSEUDO_REG): New macro.
13961         (IS_RC_OR_PSEUDO_REGNO): New macro.
13962         (OPTIMIZATION_OPTIONS): Define.
13963
13964 Mon Oct 12 19:57:34 1998  Jason Merrill  <jason@yorick.cygnus.com>
13965
13966         * collect2.c (extract_init_priority): No priority is 65535.
13967
13968 Mon Oct 12 12:10:37 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
13969
13970         * Makefile.in (build_tooldir): New variable, same as old
13971         $(tooldir), but without depending on $(libdir)/$(unlibsubdir).
13972         (GCC_FOR_TARGET): Add -B$(build_tooldir)/bin/.
13973         (bootstrap, bootstrap2, bootstrap3, bootstrap4): Likewise.
13974
13975         * configure.in (gxx_include_dir): Set default based on unlibsubdir.
13976         * Makefile.in (tooldir): Likewise.
13977         (cccp.o, cpplib.o): Use unlibsubdir implicitly through
13978         gxx_include_dir, includedir and tooldir.
13979         (protoize.o, unprotoize.o): Likewise.
13980
13981 Mon Oct 12 10:50:44 1998  Nick Clifton  <nickc@cygnus.com>
13982
13983         * config/arm/arm.md: Replace (reg 24) with (reg:CC 24).
13984
13985         * config/arm/thumb.c (thumb_override_options): Add warning about
13986         PIC code not being supported just yet.
13987
13988 Sun Oct 11 16:49:15 1998  John Wehle  (john@feith.com)
13989
13990         * flow.c: Update comment.
13991         (notice_stack_pointer_modification): New static function.
13992         (record_volatile_insns): Use it.
13993         (mark_regs_live_at_end): Mark the stack pointer as alive
13994         at the end of the function if current_function_sp_is_unchanging
13995         is set.
13996         (life_analysis_1): Set current_function_sp_is_unchanging.
13997         * function.c: Define it.
13998         (init_function_start): Initialize it.
13999         * output.h: Declare it.
14000         * reorg.c (fill_simple_delay_slots, dbr_schedule): Mark
14001         the stack pointer as alive at the end of the function if
14002         current_function_sp_is_unchanging is set.
14003         * i386.c (ix86_epilogue): Optimize the restoring
14004         of the stack pointer.
14005
14006 Mon Oct 12 01:22:53 1998  Jeff Law  (law@cygnus.com)
14007
14008         * version.c: Bump for snapshot.
14009
14010 Sun Oct 11 23:04:30 1998  Robert Lipe  <robertl@dgii.com>
14011
14012         * c-pragma.c (handle_pragma_token): If passed a token instead
14013         of a tree, use that as the pack value.
14014
14015 Sun Oct 11 14:21:14 1998  Mark Mitchell  <mark@markmitchell.com>
14016
14017         * flow.c (find_basic_blocks_1): Fix prototype.
14018
14019 Sun Oct 11 05:03:41 1998  Ken Raeburn  <raeburn@cygnus.com>
14020
14021         * tree.h (DECL_NO_CHECK_MEMORY_USAGE): New macros.
14022         (struct tree_decl): New fields no_check_memory_usage.
14023         * c-common.c (enum attrs): Add A_NO_CHECK_MEMORY_USAGE.
14024         (init_attributes): Register it as a new attribute.
14025         (decl_attributes): Set flags on functions given that attribute.
14026         * c-decl.c (duplicate_decls): Merge new attribute.
14027         * expr.h (current_function_check_memory_usage): Declare new var.
14028         * calls.c, expr.c, function.c, stmt.c, alpha.c, clipper.c, m88k.c,
14029         pa.c, sparc.c: Replace uses of flag_check_memory_usage with
14030         current_function_check_memory_usage.
14031         * function.h: Add field to struct function.
14032         * function.c (current_function_check_memory_usage): Define it.
14033         (push_function_context_to, pop_function_context_from): Save and
14034         restore it.
14035         (expand_function_start): Set it, based on global flag and function
14036         attribute.
14037
14038         * expr.c (expand_expr, case VAR_DECL): In memory-checking code, do
14039         check non-automatic variables, to permit detection of writes to
14040         read-only locations in embedded systems without memory management.
14041         * calls.c (store_one_arg): Use ARGS_SIZE_RTX to get size of argument
14042         when emitting chkr_set_right_libfunc call, even if the argument is
14043         BLKmode or variable-sized; don't abort.
14044
14045         * optabs.c (init_optabs): Create Checker and __cyg_profile_*
14046         symbols in Pmode, not VOIDmode.
14047
14048 Sun Oct 11 01:03:05 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
14049
14050         * cppexp.c: When forcing unsigned comparisons, cast both sides
14051         of the operation.
14052
14053         * cpphash.h: Move static declaration of hashtab[]...
14054         * cpphash.c: ...here.
14055
14056         * cpplib.c: Cast difference of two pointers to size_t before
14057         comparing it to size_t.  Cast signed to unsigned
14058         before comparing to size_t. (FIXME: struct argdata should use
14059         unsigned buffer sizes.)
14060         * cpplib.h (struct cpp_reader): Declare token_buffer_size as
14061         unsigned int. (CPP_WRITTEN): Cast return value to size_t.
14062         (CPP_RESERVE): Parenthesize N for evaluation order, cast to
14063         size_t before comparison.
14064
14065 Sun Oct 11 00:15:29 1998  Jeffrey A Law  (law@cygnus.com)
14066
14067         * flow.c (find_basic_blocks): Delete "live_reachable_p" argument.
14068         (find_basic_blocks_1): Similarly.
14069         * output.h (find_basic_blocks): Fix prototype.
14070         * gcse.c, toplev.c: Don't pass "live_reachable_p" argument to
14071         find_basic_blocks anymore.
14072
14073 Sat Oct 10 22:00:34 1998  Richard Henderson  <rth@cygnus.com>
14074
14075         * basic-block.h (EXECUTE_IF_SET_IN_SBITMAP): New macro.
14076         (sbitmap_free, sbitmap_vector_free): New macros.
14077         * output.h (rtl_dump_file): Declare.
14078
14079 Sat Oct 10 17:01:42 1998  Jeffrey A Law  (law@cygnus.com)
14080
14081         * regmove.c (optimize_reg_copy_3): Honor TRULY_NOOP_TRUNCATION.
14082
14083 Fri Oct  9 22:08:05 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14084
14085         * fp-bit.c (SFtype): Don't implicitly use int in declaration.
14086         (DFtype): Likewise.
14087         (_fpdiv_parts): Remove unused parameter `tmp', all callers changed.
14088         (divide): Remove unused variable `tmp'.
14089         (si_to_float): Cast numeric constant to (SItype) before comparing
14090         it against one.
14091
14092 Fri Oct  9 16:03:19 1998  Graham  <grahams@rcp.co.uk>
14093
14094         * flow.c (print_rtl_with_bb): Changed type of in_bb_p to match use.
14095         * gcc.c (add_preprocessor_option): Correct typo when allocating
14096         memory, sizeof() argument had one too many `*'.
14097         (add_assembler_option): Likewise.
14098         (add_linker_option): Likewise.
14099         * gcov.c (output_data): Likewise.
14100         * local-alloc.c (memref_used_between_p): Likewise.
14101         (update_equiv_regs): Likewise.
14102         * loop.c (strength_reduce): Likewise.
14103         * reg-stack.c (record_asm_reg_life): Likewise.
14104         (subst_asm_stack_reg): Likewise.
14105         * reorg.c (dbr_schedule): Likewise.
14106
14107 Fri Oct  9 15:57:51 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
14108
14109         * flow.c (life_analysis_1): Break out some functions.
14110         (find_basic_blocks_1): Likewise.  Also move some variables out and
14111         make them static.
14112         Rename NONLOCAL_LABEL_LIST arg to NONLOCAL_LABELS and initialize
14113         new static var nonlocal_label_list with it.
14114         (active_eh_region, nested_eh_region, label_value_list,
14115         nonlocal_label_list): New static variables.
14116         (make_edges, delete_unreachable_blocks, delete_block): New static
14117         functions, broken out of find_basic_blocks_1.
14118         (record_volatile_insns, mark_regs_live_at_end, set_noop_p,
14119         noop_move_p): New static functions, broken out of life_analysis_1.
14120
14121 Fri Oct  9 15:49:29 1998  Richard Henderson  <rth@cygnus.com>
14122
14123         * expmed.c (store_bit_field): Pun non-integral str_rtx modes.
14124         Take extra care for op0 now possibly being a subreg.
14125         (extract_bit_field): Likewise.
14126         * function.c (purge_addressof_1): Revert Oct 4 change.  Drop
14127         the reg to memory if there is no equal sized integral mode.
14128         * stor-layout.c (int_mode_for_mode): New function.
14129         * machmode.h: Prototype it.
14130
14131 Fri Oct  9 14:26:44 1998  Jeffrey A Law  (law@cygnus.com)
14132
14133         * global.c (build_insn_chain): Verify no real insns exist past the
14134         end of the last basic block, then exit the loop.
14135
14136 Fri Oct  9 11:44:47 1998  David Edelsohn  <edelsohn@gnu.org>
14137
14138         * loop.c (insert_bct): Ensure loop_iteration_var non-zero before use.
14139
14140 Thu Oct  8 21:59:47 1998  Dave Brolley  <brolley@cygnus.com>
14141
14142         * emit-rtl.c (init_emit_once): Call INIT_EXPANDERS.
14143
14144 Thu Oct  8 22:03:45 1998  David Edelsohn  <edelsohn@gnu.org>
14145
14146         * rs6000.h (RTX_COSTS): Add PROCESSOR_PPC604e cases.
14147
14148 Thu Oct  8 17:00:18 1998  Richard Henderson  <rth@cygnus.com>
14149
14150         * flow.c (find_basic_blocks): Correctly determine when a call
14151         is within an exception region.
14152
14153 Thu Oct  8 17:15:04 1998  Jeffrey A Law  (law@cygnus.com)
14154
14155         * toplev.c (output_file_directive): Use DIR_SEPARATOR, not '/'.
14156
14157         * cpplib.h: Protect from multiple inclusions.
14158         * cpplib.c: Fix minor formatting problems.
14159
14160         * i386/xm-cygwin32.h: Only define POSIX if it is not already defined.
14161
14162         * jump.c (jump_optimize): Revert accidental patch.
14163
14164         * Makefile.in (cpplib.o): Use unlibsubdir.
14165
14166 Thu Oct  8 12:50:47 1998  Jim Wilson  <wilson@cygnus.com>
14167
14168         * loop.c (get_condition): Allow combine when either compare is
14169         VOIDmode.
14170
14171 Thu Oct  8 11:31:01 1998  Jeff Law  (law@cygnus.com)
14172
14173         * version.c: Bump for snapshot.
14174
14175 Thu Oct  8 12:21:14 1998  Richard Frith-Macdonald  <richard@brainstorm.co.uk>
14176
14177         * c-lex.c (remember_protocol_qualifiers): Handle RID_BYREF.
14178         (init_lex): Initialize ridpointers[RID_BYREF].
14179         * c-lex.h (enum rid): Add RID_BYREF.
14180         * c-parse.gperf: Add RID_BYREF as a type qualifier.
14181         * objc/objc-act.c (is_objc_type_qualifiers): Handle RID_BYREF.
14182         (encode_type_qualifiers): Similarly.
14183         * c-gperf.h: Rebuilt.
14184
14185 Thu Oct  8 05:56:00 1998  Jeffrey A Law  (law@cygnus.com)
14186
14187         * c-common.c (type_for_mode): Only return TItype nodes when
14188         HOST_BITS_PER_WIDE_INT is >= 64 bits.
14189         * c-decl.c (intTI_type_node, unsigned_intTI_type_node): Only declare
14190         when HOST_BITS_PER_WIDE_INT is >= 64 bits.
14191         (init_decl_processing): Only create TItype nodes when
14192         HOST_BITS_PER_WIDE_INT is >= 64 bits.
14193         * c-tree.h (intTI_type_node, unsigned_intTI_type_node): Only declare
14194         when HOST_BITS_PER_WIDE_INT is >= 64 bits.
14195
14196 Thu Oct  8 05:05:34 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
14197
14198         * stmt.c (n_occurrences): New static function.
14199         (expand_asm_operands): Verify that all constrains match in the
14200         number of alternatives.
14201         Verify that '+' or '=' are at the beginning of an output constraint.
14202         Don't allow '&' for input operands.
14203         Verify that '%' isn't written for the last operand.
14204         * reload.c (find_reloads): Abort if an asm is found with invalid
14205         constraints; all possible problems ought to be checked for earlier.
14206
14207 Thu Oct  8 04:26:20 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
14208
14209         * flags.h (flag_branch_on_count_reg): Always declare.
14210         * toplev.c (flag_branch_on_count_reg): Likewise.
14211         * toplev.c: Fix typos.
14212
14213         * real.c (c4xtoe): Remove unused variables.  Add some missing parens.
14214         (toc4x): Similarly.
14215
14216 Thu Oct  8 01:25:22 1998  Richard Henderson  <rth@cygnus.com>
14217
14218         * flow.c (find_basic_blocks): Calc upper bound for extra nops in
14219         max_uids_for_flow.
14220         (find_basic_blocks_1): Add a nop to the end of a basic block when
14221         a trailing call insn does not have abnormal control flow.
14222         * gcse.c (pre_transpout): New variable.
14223         (alloc_pre_mem, free_pre_mem, dump_pre_data): Bookkeeping for it.
14224         (compute_pre_transpout): Calculate it.
14225         (compute_pre_ppinout): Use it to eliminate impossible placements
14226         due to abnormal control flow through calls.
14227         (compute_pre_data): Call compute_pre_transpout.
14228
14229 Wed Oct  7 21:40:24 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
14230
14231         * config/sparc/sol2-sld-64.h (ASM_CPU_SPEC): Fix typo.
14232
14233 Wed Oct  7 21:19:46 1998  Ken Raeburn  <raeburn@cygnus.com>
14234
14235         * config/mips/mips.md (tablejump_internal3, tablejump_internal4
14236         and matching define_insns): Tack on a `use' of the table label, so
14237         flow analysis will recognize a tablejump.
14238
14239 Wed Oct  7 17:33:39 1998  Richard Henderson  <rth@cygnus.com>
14240
14241         * gcse.c (pre_insert_insn): Tweek to notice that calls do not
14242         always end basic blocks for abnormal edge reasons.
14243
14244 Wed Oct  7 14:40:43 1998  Nick Clifton  <nickc@cygnus.com>
14245
14246         * config/i386/i386.h: Remove definition of
14247         HANDLE_PRAGMA_PACK_PUSH_POP.
14248
14249         * config/i386/go32.h: Add definition of
14250         HANDLE_PRAGMA_PACK_PUSH_POP.
14251
14252         * config/i386/win32.h: Add definition of
14253         HANDLE_PRAGMA_PACK_PUSH_POP.
14254
14255         * config/i386/cygwin32.h: Add definition of
14256         HANDLE_PRAGMA_PACK_PUSH_POP.
14257
14258         * c-pragma.c (insert_pack_attributes): Do not insert
14259         attributes unless #pragma pack(push,<n>) is in effect.
14260
14261 Wed Oct  7 12:10:46 1998  Jim Wilson  <wilson@cygnus.com>
14262
14263         * expr.c (emit_group_store): Handle a PARALLEL destination.
14264
14265 Wed Oct  7 10:07:29 1998  Richard Henderson  <rth@cygnus.com>
14266
14267         * gcse.c (pre_insert_insn): When a call ends a bb, insert
14268         the new insns before the argument regs are loaded.
14269
14270 Wed Oct  7 12:55:26 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14271
14272         * Makefile.in (c-gperf.h): Add -L KR-C -F ', 0, 0' flags to gperf.
14273         (c-parse.gperf): Update comments describing invocation flags.
14274         (c-gperf.h): Regenerate using gperf 2.7.1 (19981006 egcs).
14275
14276 1998-10-07  Manfred Hollstein  <manfred@s-direktnet.de>
14277
14278         * reload1.c (reload): Call free before clobbering the memory
14279         locations or constants pointers.
14280
14281 Wed Oct  7 02:05:20 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
14282
14283         * config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Rework
14284         for efficiency by checking whether we need to modify the current
14285         stack permission at all.
14286         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
14287         * config/sparc/sparc.c (sparc_initialize_trampoline): Emit
14288         __enable_execute_stack libcall here too if
14289         TRANSFER_FROM_TRAMPOLINE is defined.
14290         * config/sparc/sparc.h: Set TARGET_ARCH32 to a constant if
14291         IN_LIBGCC2.
14292
14293 Wed Oct  7 02:27:52 1998  Jeffrey A Law  (law@cygnus.com)
14294
14295         * Makefile.in (DRIVER_DEFINES): Remove last change.
14296
14297 Wed Oct  7 01:08:43 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
14298
14299         * jump.c (duplicate_loop_exit_test): Strip REG_WAS_0 notes off all
14300         insns we're going to copy.
14301         * regclass.c (reg_scan_mark_refs): Don't test X for NULL_RTX.
14302
14303         * loop.c (count_one_set): Add prototype.
14304
14305         * caller-save.c (restore_referenced_regs): Lose mode argument.
14306         (insert_save): Lose mode argument.
14307         (insert_restore): Lose mode argument.
14308         (insert_one_insn): Lose mode argument.
14309         (save_call_clobbered_regs): Lose mode argument.
14310         (setup_save_areas): Take no argument and return void.  All callers
14311         changed.
14312         Don't verify validity of memory addresses.
14313         * reload.h (setup_save_ares): Adjust prototype.
14314         (save_call_clobbered_regs): Likewise.
14315         * reload1.c (delete_caller_save_insns): New function.
14316         (caller_save_spill_class): Delete variable.
14317         (caller_save_group_size): Delete variable.
14318         (reload): Call setup_save_areas and save_call_clobbered_regs
14319         in the main loop, before calling calculate_needs_all_insns.
14320         Don't call save_call_clobbered_regs after the loop.
14321         Call delete_caller_save_insns at the end of an iteration if
14322         something changed.
14323         Delete code to manage caller_save_spill_class.
14324         Emit the final note before setting reload_first_uid.
14325         Simplify test that determines whether reload_as_needed gets run.
14326         (calculate_needs): Delete code to manage caller_save_spill_class.
14327
14328 Tue Oct  6 15:42:27 1998  Richard Henderson  <rth@cygnus.com>
14329
14330         * collect2.c (main): Initialize ld_file_name.
14331
14332 Tue Oct  6 15:45:15 1998  Catherine Moore  <clm@cygnus.com>
14333
14334         * config/sparc/sysv4.h (ASM_OUTPUT_SECTION_NAME): Don't
14335         check for flag_function_sections.
14336
14337 Tue Oct  6 20:02:31 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
14338
14339         * cse.c (insert_regs): Fix bug in Sep 24 change.
14340
14341 Tue Oct  6 17:00:42 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
14342
14343         * flags.h (flag_dump_unnumbered): Declare.
14344         * toplev.c (flag_dump_unnumbered): Don't declare.
14345         * print-rtl.c (flags.h): Include.
14346         (print_rtl_single): Add return value.
14347         * rtl.h (print_rtl_single): Update declaration.
14348         * flow.c (flag_dump_unnumbered): Don't declare.
14349         (print_rtl_with_bb): Use return value of print_rtl_single.
14350
14351 Tue Oct  6 01:36:00 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
14352
14353         * loop.c (count_one_set): New static function, broken out of
14354         count_loop_regs_set.
14355         (count_loop_regs_set): Call it.
14356         * global.c (mark_reg_store): Handle clobbers here by not calling
14357         set_preference.
14358         (mark_reg_clobber): Just call mark_reg_store after ensuring SETTER
14359         is in fact a clobber.
14360         * integrate.c (process_reg_param): New function, broken out of
14361         expand_inline_function.
14362         (expand_inline_function): Call it.
14363
14364         * i386.md (addsidi3_1): Delete unused variable temp.
14365         (addsidi3_2): Likewise.
14366         (clstrstrsi): Delete unused variable addr1.
14367
14368         * rtl.h: Don't declare any functions also declared in recog.h.
14369
14370         * Makefile.in (stupid.o): Update dependencies.
14371         (global.o): Likewise.
14372
14373         * global.c: Include reload.h.
14374         (reg_becomes_live): New function.
14375         (reg_dies): New function.
14376         (build_insn_chain): New function.
14377         (global_alloc): Call build_insn_chain before calling reload.
14378
14379         * reload.h (struct needs): New structure definition.
14380         (struct insn_chain): Likewise.
14381         (reload_insn_chain): Declare variable.
14382         (new_insn_chain): Declare function.
14383
14384         * reload1.c (reload_startobj): New variable.
14385         (reload_insn_chain): New variable.
14386         (unused_insn_chains): New variable.
14387         (new_insn_chain): New function.
14388         (init_reload): Initialize reload_startobj, not reload_firstobj.
14389         (reload): Initialize reload_firstobj.
14390         Before returning, free everything on the reload_obstack.
14391
14392         * stupid.c: Include insn-config.h, reload.h and basic-block.h.
14393         (reg_where_dead_chain, reg_where_born_exact, reg_where_born_clobber,
14394         current_chain): New variables.
14395         (reg_where_born): Delete variable.
14396         (REG_WHERE_BORN): New macro.
14397         (find_clobbered_regs): New function.
14398         (stupid_life_analysis): Don't allocate/free reg_where_born.
14399         Allocate and free reg_where_born_exact, reg_where_born_clobber,
14400         reg_where_dead_chain.
14401         Use REG_WHERE_BORN instead of reg_where_born.
14402         While processing the insns, build the reload_insn_chain with
14403         information about register lifetimes.
14404         (stupid_reg_compare): Use REG_WHERE_BORN instead of reg_where_born.
14405         (stupid_mark_refs): Replace arg INSN with arg CHAIN.  All callers
14406         changed.
14407         Compute and information about birth and death of pseudo registers in
14408         reg_where_dead_chain, reg_where_born_exact and reg_where_born_clobber.
14409         Delete code to set elements of reg_where_born.
14410
14411 Mon Oct  5 22:34:30 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
14412
14413         * tree.def (GOTO_EXPR): Modified documentation.
14414         * expr.c (expand_expr): Expand GOTO_EXPR into a goto or a computed
14415         goto.
14416
14417 Mon Oct  5 22:43:36 1998  David Edelsohn  <edelsohn@gnu.org>
14418
14419         * unroll.c (loop_iteration_var, loop_initial_value, loop_increment
14420         loop_final_value, loop_comparison_code): No longer static.
14421         (unroll_loop): Delete loop_start_value update.
14422         * loop.h (loop_iteration_var, loop_initial_value, loop_increment,
14423         loop_final_value, loop_comparison_code): Extern.
14424         (loop_start_value): Delete extern.
14425         * loop.c (loop_can_insert_bct, loop_increment, loop_start_value,
14426         loop_comparison_value, loop_comparison_code): Delete.
14427         (loop_optimize): Remove initialization for deleted variables.
14428         (strength_reduce): Delete analyze_loop_iterations call.  Only call
14429         insert_bct if flag_branch_count_on_reg set.
14430         (analyze_loop_iterations): Delete.
14431         (insert_bct): Remove iteration count calculation.  Move checks for
14432         viable BCT optimization to here.  Obtain iteration count from
14433         loop_iterations and correct for unrolling.  Check for enough
14434         iteration to be beneficial.  Comment out runtime iteration count
14435         case.
14436         (insert_bct): Print iteration count in dump file.  Remove
14437         loop_var_mode and use word_mode directly.
14438
14439         * rs6000.h (processor_type): Add PROCESSOR_PPC604e.
14440         * rs6000.c (rs6000_override_options): Use it.
14441         (optimization_options): Enable use of flag_branch_on_count_reg.
14442         * rs6000.md (define_function_unit): Describe 604e.
14443
14444 1998-10-05  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
14445
14446         * loop.c (move_movables): Corrected threshold calculation for
14447         moved_once registers.
14448
14449 Mon Oct  5 21:18:45 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
14450
14451         * loop.c (combine_givs_p): Fix test for identical givs.
14452
14453 Mon Oct  5 10:11:28 1998  Nick Clifton  <nickc@cygnus.com>
14454
14455         * dwarf2out.c (gen_subprogram_die): If errorcount nonzero, don't
14456         call abort if the function is already defined.
14457
14458 Mon Oct  5 10:02:36 1998  Jeffrey A Law  (law@cygnus.com)
14459
14460         * combine.c (simplify_rtx): Do not replace TRUNCATE with a SUBREG if
14461         truncation is not a no-op.
14462
14463 Mon Oct  5 09:02:04 1998  Jeff Law  (law@cygnus.com)
14464
14465         * version.c: Bump for snapshot.
14466
14467 Mon Oct  5 08:19:55 1998  Jeff Law  (law@cygnus.com)
14468
14469         * version.c: Bump for snapshot.
14470
14471 Mon Oct  5 01:07:23 1998  Torbjorn Granlund  <tege@matematik.su.se>
14472
14473         * expmed.c (expand_divmod): Don't widen for computing remainder
14474         if we seem to have a divmod pattern for needed mode.
14475
14476 Mon Oct  5 01:01:42 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
14477
14478         * cpplib.c (macroexpand): Correct off-by-one error in handling
14479         of escapes.
14480
14481 Sun Oct  4 23:58:30 1998  Richard Henderson  <rth@cygnus.com>
14482
14483         * combine.c (expand_field_assignment): Don't do bitwise operations
14484         on MODE_FLOAT; pun to MODE_INT if possible.
14485
14486 Sun Oct  4 18:33:24 1998  Jason Merrill  <jason@yorick.cygnus.com>
14487                           scott snyder  <snyder@d0sgif.fnal.gov>
14488
14489         * tlink.c (scan_linker_output): Recognize errors from irix 6.2
14490         linker.  Recognize mangled names in quotes.
14491
14492 Sun Oct  4 02:58:20 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
14493
14494         * config/sparc/sparc.md (ashldi3+1): Name it ashldi3_sp64.
14495         (ashlsi3_const1, ashldi3_const1): New combiner patterns.
14496         (ashrsi3_extend, ashrsi3_extend2): New combiner patterns.
14497         (lshrsi3_extend, lshrsi3_extend2): Likewise.
14498
14499 Sun Oct  4 00:23:00 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
14500
14501         * function.c (purge_addressof_1): If trying to take a sub-word
14502         integral piece of a floating point mode, put it on the stack.
14503
14504 Sat Oct  3 19:01:03 1998  Richard Henderson  <rth@cygnus.com>
14505
14506         * alpha/linux.h (CPP_PREDEFINES): Define __alpha__ for imake.
14507
14508 Sat Oct  3 14:42:19 1998  Jason Merrill  <jason@yorick.cygnus.com>
14509
14510         * PROJECTS: Remove template friends.
14511
14512         * collect2.c (sort_ids): Remove unused variable.
14513
14514         * tm.texi (MATH_LIBRARY): Document.
14515         (NEED_MATH_LIBRARY): Remove.
14516
14517         * varasm.c (assemble_start_function, assemble_variable, weak_finish,
14518         assemble_alias): Do ASM_GLOBALIZE_LABEL for weak symbols, too.
14519
14520 Sat Oct  3 16:14:44 1998  John Carr  <jfc@mit.edu>
14521
14522         * dwarf2out.c (expand_builtin_dwarf_reg_size): Initialize
14523         last_end to 0x7fffffff.
14524
14525 Fri Oct  2 19:14:20 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
14526
14527         * function.c (purge_addressof_1): Do not perform endianness
14528         corrections on bitpos, who we call will do it for us.
14529
14530 Fri Oct  2 11:52:35 1998  Jeffrey A Law  (law@cygnus.com)
14531
14532         * h8300.c (WORD_REG_USED): Fix typo.
14533         (initial_offset): Use WORD_REG_USED.
14534
14535         * h8300.c (handle_pragma): Fix typo.
14536
14537 Fri Oct  2 10:51:35 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
14538
14539         * caller-save.c (insert_save_restore): Break this function up
14540         into new functions insert_restore, insert_save and insert_one_insn.
14541         All callers changed.
14542         (insert_restore): New function, mostly broken out of
14543         insert_save_restore.
14544         (insert_save): Likewise.
14545         (insert_one_insn): Likewise.
14546         (restore_referenced_regs): New argument BLOCK.  All callers changed.
14547         (save_call_clobbered_regs): Don't keep track of basic block boundaries
14548         in this function, do it in insert_one_insn instead.
14549
14550         * reload1.c (reload): Break out some more pieces into separate
14551         functions.
14552         (dump_needs): New function, broken out of reload.
14553         (set_initial_elim_offsets): Likewise.
14554         (init_elim_table): Likewise.
14555         (update_eliminables): Likewise.
14556
14557         * global.c (global_alloc): Delete code to manage the scratch_list.
14558         * local-alloc.c (qty_scratch_rtx): Delete.
14559         (scratch_block): Delete.
14560         (scratch_list): Delete.
14561         (scratch_list_length): Delete.
14562         (scratch_index): Delete.
14563         (alloc_qty_for_scratch): Delete.
14564         (local-alloc): Update initialization of max_qty.
14565         Delete code to manage the scratch list.
14566         Delete code to allocate/initialize qty_scratch_rtx.
14567         (block_alloc): Don't allocate quantities for scratches.
14568         Delete code to manage the scratch list.
14569         * regs.h (scratch_list): Delete declaration.
14570         (scratch_block): Delete declaration.
14571         (scratch_list_length): Delete declaration.
14572         * reload1.c (reload): Delete code to manage the scratch list.
14573         (spill_hard_reg): Likewise.
14574         (mark_scratch_live): Delete.
14575
14576         * recog.c (alter_subreg): Delete declaration.
14577
14578 1998-10-02  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
14579
14580         * Makefile.in (cccp.o): Fix typo in last patch.
14581
14582 Fri Oct  2 16:13:12 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
14583
14584         * t-sh (LIB1ASMFUNCS): Add _set_fpscr .
14585         * config/sh/lib1funcs.asm (___set_fpscr): Add.
14586
14587 Fri Oct  2 02:01:59 1998  Jeffrey A Law  (law@cygnus.com)
14588
14589         * regclass.c (reg_scan_mark_refs): Return immediately if passed a
14590         NULL_RTX as an argument.
14591
14592         * Makefile.in (unlibsubdir): Define.
14593         (DRIVER_DEFINES): Use unlibsubdir.
14594         (cccp.o, cpplib.o, protoize.o, unprotoize.o): Similarly.
14595         (stmp-fixinc): Similarly.
14596
14597 Thu Oct  1 19:58:30 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
14598
14599         * regmove.c (regmove_optimize): Add variable old_max_uid.
14600         At the end of the function, update basic_block_end.
14601
14602 Thu Oct  1 17:58:25 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
14603
14604         * dwarf2out.c (expand_builtin_dwarf_reg_size): Use
14605         FIRST_PSEUDO_REGISTER as upper bound for last_end, not an
14606         arbitrary constant.
14607
14608 Thu Oct  1 17:57:14 1998  Nick Clifton  <nickc@cygnus.com>
14609
14610         * config/arm/arm.c: Improve interworking support.
14611
14612 Thu Oct  1 18:43:35 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
14613
14614         * reload1.c (choose_reload_regs): Fix test if reload_reg_rtx[r] was
14615         copied from reload_out[r] .
14616
14617 Thu Oct  1 19:20:09 1998  John Carr  <jfc@mit.edu>
14618
14619         * dwarf2out.c (expand_builtin_dwarf_reg_size): Fix to work
14620         with more than three size ranges.
14621
14622         * flow.c (sbitmap_copy): Use bcopy to copy bitmap.
14623
14624         * rtl.c (mode_name): Add a null string at the end of the array.
14625         (mode_wider_mode): Change type to unsigned char.
14626         (mode_mask_array): New variable.
14627         (init_rtl): Update for mode_wider_mode type change.
14628
14629         * rtl.h (mode_wider_mode): Change type to unsigned char.
14630         (mode_mask_array): Declare.
14631         (GET_MODE_MASK): Use mode_mask_array.
14632
14633 Thu Oct  1 15:56:01 1998  Gavin Romig-Koch  <gavin@cygnus.com>
14634
14635         * calls.c (expand_call) : Encapsulate code into
14636         copy_blkmode_from_reg.
14637         * expr.c (copy_blkmode_from_reg): New function.
14638         * expr.h (copy_blkmode_from_reg): New function.
14639         * integrate.c (function_cannot_inline_p): We can inline
14640         these now.
14641         (expand_inline_function): Use copy_blkmode_from_reg
14642         if needed.  Avoid creating BLKmode REGs.
14643         (copy_rtx_and_substitute): Don't try to SUBREG a BLKmode
14644         object.
14645
14646 Thu Oct  1 10:42:27 1998  Nick Clifton  <nickc@cygnus.com>
14647
14648         * config/v850/v850.c: Add function prototypes.
14649         Add support for v850 special data areas.
14650
14651         * config/v850/v850.h: Add support for v850 special data areas.
14652
14653         * c-pragma.c: Add support for HANDLE_PRAGMA_PACK and
14654         HANDLE_PRAGMA_PACK_PUSH_POP.
14655         (push_alignment): New function: Cache an alignment requested
14656         by a #pragma pack(push,<n>).
14657         (pop_alignment): New function: Pop an alignment from the
14658         alignment stack.
14659         (insert_pack_attributes): New function: Generate __packed__
14660         and __aligned__ attributes for new decls whilst a #pragma pack
14661         is in effect.
14662         (add_weak): New function: Cache a #pragma weak directive.
14663         (handle_pragma_token): Document calling conventions.  Add
14664         support for #pragma pack(push,<n>) and #pragma pack (pop).
14665
14666         * c-pragma.h: If HANDLE_SYSV_PRAGMA or HANDLE_PRAGMA_PACK_PUSH_POP
14667         are defined enable HANDLE_PRAGMA_PACK.
14668         Move 'struct weak_syms' here (from varasm.c).
14669         Add pragma states for push and pop pragmas.
14670
14671         * c-common.c (decl_attributes): Call PRAGMA_INSERT_ATTRIBUTES
14672         if it is defined.
14673
14674         * c-lex.c: Replace occurances of HANDLE_SYSV_PRAGMA with
14675         HANDLE_GENERIC_PRAGMAS.
14676
14677         * varasm.c: Move definition of 'struct weak_syms' into
14678         c-pragma.h.
14679         (handle_pragma_weak): Deleted.
14680
14681         * config/i386/i386.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.
14682
14683         * config/winnt/win-nt.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.
14684
14685         * c-decl.c (start_function): Add invocation of
14686         SET_DEFAULT_DECL_ATTRIBUTES, if defined.
14687
14688         * tm.texi: Remove description of non-existent macro
14689         SET_DEFAULT_SECTION_NAME.
14690
14691         (HANDLE_SYSV_PRAGMA): Document.
14692         (HANDLE_PRAGMA_PACK_PUSH_POP): Document.
14693
14694 Wed Sep 30 22:27:53 1998  Robert Lipe  <robertl@dgii.com>
14695
14696         * config.sub: Recognize i[34567]86-pc-udk as new target.
14697         * configure.in: Likewise.
14698         * config/i386/t-udk: New file.
14699         * config/i386/udk.h: New file.
14700
14701 Wed Sep 30 19:33:07 1998  Jeffrey A Law  (law@cygnus.com)
14702
14703         * reorg.c (check_annul_list_true_false): Remove unused variables.
14704         (steal_delay_list_from_target): Add missing "used_annul" variable.
14705         (try_merge_delay_insns): Close out half formed comment.
14706
14707 Wed Sep 30 19:13:20 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
14708
14709         * cpplib.c (macroexpand): If arg->raw_before or
14710         arg->raw_after, remove any no-reexpansion escape at the
14711         beginning of the pasted token.  Correct handling of whitespace
14712         markers and no-reexpand markers at the end if arg->raw_after.
14713
14714         * toplev.c (documented_lang_options): Recognize -include,
14715         -imacros, -iwithprefix, -iwithprefixbefore.
14716         * cpplib.c (cpp_start_read): Process -imacros and -include
14717         switches at the same time and in command-line order, after
14718         initializing the dependency-output code.  Emit properly nested
14719         #line directives for them.  Emit a #line for the main file
14720         before processing these switches, and don't do it again
14721         afterward.
14722
14723 Wed Sep 30 18:03:22 1998  Richard Henderson  <rth@cygnus.com>
14724
14725         * function.c (purge_addressof_1): Use bitfield manipulation
14726         routines to handle mem mode < reg mode.
14727
14728 Wed Sep 30 18:43:32 1998  Herman ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
14729
14730         * reorg.c (try_merge_delay_insns): Account for resources referenced
14731         in each instruction in INSN's delay list before trying to eliminate
14732         useless instructions.  Similarly when looking at a trial insn's delay
14733         slots.
14734
14735         * reorg.c (check_annul_list_true_false): New function.
14736         (steal_delay_list_from_{target,fallthrough}): Call it and also
14737         refine tests for when we may annul if already filled a slot.
14738         (fill_slots_from_thread): Likewise.
14739         (delete_from_delay_slot): Return newly-created thread.
14740         (try_merge_delay_isns): Use its new return value.
14741
14742 Wed Sep 30 18:29:26 1998  Jeffrey A Law  (law@cygnus.com)
14743
14744         * loop.c (check_dbra_loop): Use a vanilla loop reversal if the biv is
14745         used to compute a giv or as some other non-counting use.
14746
14747 Wed Sep 30 18:19:27 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
14748
14749         * regs.h (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
14750         * local-alloc.c (find_free_reg): Use it.
14751         * global.c (find_reg): Likewise.
14752         * tm.texi: Document HARD_REGNO_CALL_PART_CLOBBERED.
14753
14754         * regs.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
14755         * caller-save.c (init_caller_save): Use it.
14756         * tm.texi: Document HARD_REGNO_CALLER_SAVE_MODE.
14757
14758 Wed Sep 30 12:57:30 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
14759
14760         * configure.in: Add --enable-cpplib option which uses cpplib
14761         for cpp, but doesn't link cpplib into cc1.  Make help text
14762         capitalization consistent.
14763         * configure: Rebuilt.
14764
14765 Wed Sep 30 10:09:39 1998  Mark Mitchell  <mark@markmitchell.com>
14766
14767         * function.c (gen_mem_addressof): If the address REG is
14768         REG_USERVAR_P make the new REG be so also.
14769         * loop.c (scan_loop): Apply DeMorgan's laws and add documentation
14770         in an attempt to clarify slightly.
14771
14772 Wed Sep 30 09:57:40 1998  Jeffrey A Law  (law@cygnus.com)
14773
14774         * expr.c (expand_expr): Handle COMPONENT_REF, BIT_FIELD_REF ARRAY_REF
14775         and INDIRECT_REF in code to check MAX_INTEGER_COMPUTATION_MODE.
14776
14777 Wed Sep 30 10:13:39 1998  Catherine Moore  <clm@cygnus.com>
14778
14779         * toplev.c: Fix last patch.
14780
14781 Tue Sep 29 20:03:18 1998  Jim Wilson  <wilson@cygnus.com>
14782
14783         * loop.c (get_condition): Fix typo in May 9 change.
14784
14785 Tue Sep 29 11:11:38 1998  Andrew MacLeod  <amacleod@cygnus.com>
14786
14787         * invoke.texi (-fexceptions): Merge 2 different descriptions.
14788
14789 Mon Sep 28 22:08:52 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14790
14791         * toplev.c (documented_lang_options): Spelling corrections.
14792
14793 Mon Sep 28 19:41:24 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
14794
14795         * configure.in: New flags --with-ld and --with-as, equivalent
14796         to setting LD and AS environment variables.  Test whether
14797         specified arguments are GNU commands, and report them with
14798         checking messages.  Use the specified AS for configure
14799         tests too.
14800         * configure: Likewise.
14801         * acconfig.h: Add DEFAULT_ASSEMBLER and DEFAULT_LINKER.
14802         * config.in: Likewise.
14803         * gcc.c (find_a_file): When looking for `as' and `ld', return
14804         the DEFAULT program if it exists.
14805         * collect2.c (main): Use DEFAULT_LINKER if it exists.
14806
14807         * gcc.c (find_a_file): The test for existence of a full
14808         pathname was reversed.
14809
14810 Mon Sep 28 17:34:35 1998  Michael Meissner  <meissner@cygnus.com>
14811
14812         * rs6000.h (ASM_OUTPUT_MI_THUNK): Only define on ELF systems.
14813         * rs6000.c (output_mi_thunk): Always use a raw jump for now.
14814
14815 Mon Sep 28 14:24:03 1998  Mark Mitchell  <mark@markmitchell.com>
14816
14817         * tree.h (TYPE_BINFO): Document.
14818
14819 Mon Sep 28 12:55:49 1998  Stan Cox  <scox@cygnus.com>
14820
14821         * i386-coff.h (dbxcoff.h): Added.
14822
14823 Mon Sep 28 12:51:00 1998  Catherine Moore  <clm@cygnus.com>
14824
14825         * toplev.c: Fix bad patch around flag_data_sections.
14826
14827 Mon Sep 28 10:32:28 1998  Nick Clifton  <nickc@cygnus.com>
14828
14829         * reload1.c (reload): Use reload_address_index_reg_class and
14830         reload_address_base_reg_class when setting
14831         caller_save_spill_class.  (Patch generated by Jim Wilson:
14832         wilson@cygnus.com).
14833
14834 Mon Sep 28 07:43:34 1998  Mark Mitchell  <mark@markmitchell.com>
14835
14836         * c-common.c (c_get_alias_set): Tighten slightly for FUNCTION_TYPEs
14837         and ARRAY_TYPEs.  Tidy up.  Improve support for type-punning.
14838         * expr.c (store_field): Add alias_set parameter.  Set the
14839         MEM_ALIAS_SET accordingly, if the target is a MEM.
14840         (expand_assignment): Use it.
14841         (store_constructor_field): Pass 0.
14842         (expand_expr): Likewise.
14843
14844 Mon Sep 28 07:54:03 1998  Catherine Moore  <clm@cygnus.com>
14845
14846         * flags.h: Add flag_data_sections.
14847         * toplev.c: Add option -fdata-sections.  Add flag_data_sections.
14848         (compile_file): Error if flag_data_sections not supported.
14849         * varasm.c (assemble_variable): Handle flag_data_sections.
14850         * config/svr4.h: Modify prefixes for UNIQUE_SECTION_NAME.
14851         * config/mips/elf.h: Likewise.
14852         * config/mips/elf64.h: Likewise.
14853         * invoke.texi: Describe -fdata-sections.
14854
14855 Mon Sep 28 04:15:44 1998  Craig Burley  <burley@melange.gnu.org>
14856
14857         * invoke.texi (-ffloat-store): Clarify that this option
14858         does not affect intermediate results -- only variables.
14859
14860 Mon Sep 28 04:11:35 1998  Jeffrey A Law  (law@cygnus.com)
14861
14862         * cpp.texi: Update for Fortran usage from Craig.
14863
14864 Fri Sep 25 22:09:47 1998  David Edelsohn  <edelsohn@gnu.org>
14865
14866         * rs6000.c (function_arg_boundary): Revert accidental change on
14867         September 18.
14868
14869 Fri Sep 25 20:30:00 1998  Michael Meissner  <meissner@cygnus.com>
14870
14871         * rs6000.h (ASM_OUTPUT_MI_THUNK): Declare, call output_mi_thunk.
14872         (output_mi_thunk): Declare.
14873
14874         * rs6000.c (output_mi_thunk): Function to create thunks for MI.
14875         (output_function_profiler): Use r12 for temp, instead of r11 so
14876         that we preserve the static chain register.
14877
14878 Fri Sep 25 14:18:33 1998  Jim Wilson  <wilson@cygnus.com>
14879
14880         * sdbout.c (sdbout_one_type): Don't look at TYPE_BINFO field of enums.
14881
14882 Fri Sep 25 19:30:19 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
14883
14884         * sh.c (gen_shl_sext): Fix case 5.
14885
14886 Fri Sep 25 17:35:23 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
14887
14888         * reload1.c (reload_combine): Re-add line that got accidentally lost.
14889
14890 Fri Sep 25 10:43:47 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14891
14892         * cccp.c (pedwarn_with_file_and_line): For !__STDC__ case, avoid
14893         accessing variables until they are initialized via va_arg().
14894
14895 Thu Sep 24 22:12:16 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
14896
14897         * reload1.c (reload_combine): Initialize set before using.
14898
14899 Thu Sep 24 18:53:20 1998  Jason Merrill  <jason@yorick.cygnus.com>
14900
14901         * sdbout.c (sdbout_field_types): Don't emit the types of fields we
14902         won't be emitting.
14903
14904 Thu Sep 24 17:05:30 1998  Nick Clifton  <nickc@cygnus.com>
14905
14906         * config/arm/arm.md (insv): Add comment.  In CONST_INT case, and
14907         operand3 with mask before using it.  Patch provided by Jim Wilson.
14908
14909 Thu Sep 24 15:08:08 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
14910
14911         * config/sparc/sparc.c (function_value): Perform the equivalent of
14912         PROMOTE_MODE for ARCH64.
14913         (eligible_for_epilogue_delay): Allow DImode operations in delay
14914         slot of a return for ARCH64.
14915
14916 Thu Sep 24 22:17:54 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
14917
14918         * sh.md (sqrtsf2): Fix mode of sqrt.
14919
14920 Thu Sep 24 21:48:51 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
14921
14922         * reload1.c (choose_reload_regs): Also try inheritance when
14923         reload_in is a stack slot of a pseudo, even if we already got a
14924         reload reg.
14925
14926 Thu Sep 24 21:22:39 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
14927
14928         * reload1.c (reload_cse_regs_1): Renamed from reload_cse_regs.
14929         (reload_cse_regs): New function body: call reload_cse_regs_1,
14930         reload_combine, reload_cse_move2add.
14931         When doing expensive_optimizations, call reload_cse_regs_1 a
14932         second time after reload_cse_move2add.
14933         (reload_combine, reload_combine_note_store): New functions.
14934         (reload_combine_note_use): New function.
14935         (reload_cse_move2add, move2add_note_store): New functions.
14936
14937 Thu Sep 24 18:48:43 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
14938
14939         * reload.c (find_reloads): In code to promote RELOAD_FOR_X_ADDR_ADDR
14940         reloads to RELOAD_FOR_X_ADDRESS reloads, test for reload sharing.
14941
14942         Properly keep track of first RELOAD_FOR_X_ADDRESS also for
14943         more than 3 such reloads.
14944
14945         If there is not more than one RELOAD_FOR_X_ADDRESS, don't change
14946         RELOAD_FOR_X_ADDR_ADDR reload.
14947
14948 Thu Sep 24 17:45:55 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
14949
14950         * expr.c (store_constructor): When initializing a field that is smaller
14951         than a word, at the start of a word, try to widen it to a full word.
14952
14953         * cse.c (cse_insn): When we are about to change a register,
14954         remove any invalid references to it.
14955
14956         (remove_invalid_subreg_refs): New function.
14957         (mention_regs): Special treatment for SUBREGs.
14958         (insert_regs): Don't strip SUBREG for call to mention_regs.
14959         Check if reg_tick needs to be bumped up before that call.
14960         (lookup_as_function): Try to match known word_mode constants when
14961         looking for a norrower constant.
14962         (canon_hash): Special treatment for SUBREGs.
14963
14964 Thu Sep 24 01:35:34 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
14965
14966         * config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Define.
14967         * config/sparc/sparc.c (sparc64_initialize_trampoline): If that is
14968         defined, emit libcall to __enable_execute_stack.  Also fix opcodes
14969         and offsets in actual stack trampoline code so they match the
14970         commentary and actually work.
14971
14972 Thu Sep 24 01:19:02 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
14973
14974         * configure.in (sparcv9-*-solaris): Use t-sol2 and t-sol2-64 for
14975         tmake_file.
14976         (sparc64-*-linux): Use t-linux and sparc/t-linux64 for
14977         tmake_file.  Set extra_parts to needed crt objects.
14978         * configure: Rebuilt.
14979         * config/sparc/linux64.h (SPARC_BI_ARCH): Define.
14980         (TARGET_DEFAULT): Set if default is v9 or ultra.
14981         (STARTFILE_SPEC32, STARTFILE_SPEC64): New macros.
14982         (STARTFILE_SPEC): Set to those upon SPARC_BI_ARCH.
14983         (ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_SPEC): Likewise.
14984         (SUBTARGET_EXTRA_SPECS, LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
14985         LINK_SPEC, LINK_ARCH_SPEC): Likewise.
14986         (TARGET_VERSION): Define.
14987         (MULTILIB_DEFAULT): Define.
14988         * config/sparc/sparc.h (CPP_CPU_DEFAULT_SPEC): Rearrange so that
14989         mixed 32/64 bit compilers based upon SPARC_BI_ARCH work.
14990         (CPP_CPU64_DEFAULT_SPEC, CPP_CPU32_DEFAULT_SEC): Define
14991         appropriately.
14992         (TARGET_SWITCHES): Allow ptr32/ptr64 options once more.
14993         * config/sparc/sparc.c (sparc_override_options): If arch and
14994         pointer size disagree, emit diagnostic and fix it up.  If
14995         SPARC_BI_ARCH and TARGET_ARCH32, set cmodel to CM_32.  Turn off
14996         V8PLUS in 64-bit mode.
14997         * config/sparc/t-linux64: New file.
14998         * config/sparc/t-sol2-64: New file.
14999         * config/sparc/t-sol2: Adjust build rules to use MULTILIB_CFLAGS.
15000         * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Define.
15001         (ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC,
15002         CPP_CPU32_DEFAULT_SPEC, CPP_CPU64_DEFAULT_SPEC): Define.
15003         (ASM_SPEC, CPP_CPU_SPEC): Set appropriately based upon those.
15004         (STARTFILE_SPEC32, STARTFILE_SPEC32, STARTFILE_ARCH_SPEC):
15005         Define.
15006         (STARTFILE_SPEC): Set appropriately based upon those.
15007         (CPP_CPU_DEFAULT_SPEC, ASM_CPU_DEFAULT_SPEC): Set based upon
15008         disposition of DEFAULT_ARCH32_P.
15009         (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC): Define.
15010         (LINK_ARCH_SPEC, LINK_ARCH_DEFAULT_SPEC): Set based upon those.
15011         (CC1_SPEC, MULTILIB_DEFAULTS): Set based upon DEFAULT_ARCH32_P.
15012         (MD_STARTFILE_PREFIX): Set correctly based upon SPARC_BI_ARCH.
15013         * config/sparc/xm-sysv4-64.h (HOST_BITS_PER_LONG): Only set on
15014         arch64/v9.
15015         * config/sparc/xm-sp64.h (HOST_BITS_PER_LONG): Likewise.
15016
15017 Wed Sep 23 22:32:31 1998  Mark Mitchell  <mark@markmitchell.com>
15018
15019         * rtl.h (init_virtual_regs): New function.
15020         * emit-rtl.c (init_virtual_regs): Define.
15021         (insn_emit): Use it.
15022         * integrate.c (save_for_inline_copying): Likewise.
15023
15024 Wed Sep 23 16:22:01 1998  Nick Clifton  <nickc@cygnus.com>
15025
15026         * config/arm/thumb.h: The following patches were made by Jim Wilson:
15027         (enum reg_class): Add NONARG_LO_REGS support.
15028         (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS,
15029         PREFERRED_RELOAD_CLASS, SECONDARY_RELOAD_CLASS): Likewise.
15030         (GO_IF_LEGITIMATE_ADDRESS): Disable REG+REG addresses before reload
15031         completes.  Re-enable HImode REG+OFFSET addresses.
15032         (LEGITIMIZE_RELOAD_ADDRESS): Define.
15033
15034         * expmed.c (extract_bit_field): Add comment from Jim Wilson.
15035
15036 Wed Sep 23 13:26:02 1998  Richard Henderson  <rth@cygnus.com>
15037
15038         * alpha.c (get_aligned_mem): Revert Sep 20 change.
15039         (alpha_set_memflags, alpha_set_memflags_1): Likewise.
15040         (alpha_align_insns): Properly calculate initial offset wrt max_align.
15041
15042 Wed Sep 23 10:45:44 1998  Richard Earnshaw  (rearnsha@arm.com)
15043
15044         * arm.c (find_barrier): Revert change of Apr 23.  Handle table
15045         jumps as a single entity, taking into account the size of the
15046         table.
15047
15048 Tue Sep 22 15:13:34 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
15049
15050         * tree.def (SWITCH_EXPR): New tree node definition.
15051
15052 Mon Sep 21 23:40:38 1998  Jeff Law  (law@cygnus.com)
15053
15054         * version.c: Bump for snapshot.
15055
15056 Mon Sep 21 22:31:14 1998  Jeff Law  (law@cygnus.com)
15057
15058         * version.c: Bump for snapshot.
15059
15060 Mon Sep 21 22:48:09 1998  Jeffrey A Law  (law@cygnus.com)
15061
15062         * configure.in: Recognize i[34567]86-*-openbsd* and handle it like
15063         NetBSD.
15064
15065 Mon Sep 21 22:05:28 1998  Jeffrey A Law  (law@cygnus.com)
15066
15067         * Revert this patch.
15068         * reload.c (find_reloads): Do not replace a pseudo with
15069         (MEM (reg_equiv_addr)) in the initializing insn for the
15070         pseudo.
15071
15072 Mon Sep 21 20:19:41 1998  John Carr  <jfc@mit.edu>
15073
15074         * final.c (final_scan_insn): Disable tracking CC across branches.
15075
15076 Mon Sep 21 17:15:26 1998  Andrew MacLeod  <amacleod@cygnus.com>
15077
15078         * expr.h (eh_rtime_match_libfunc): New extern declaration.
15079         * optabs.c (init_optabs): Set eh_rtime_match_libfunc.
15080         * except.c (start_catch_handler): Use eh_rtime_match_libfunc.
15081         * libgcc2.c (__eh_rtime_match): Always return 0 if the matcher is
15082         NULL. Only include <stdio.h> if inhibit_libc is not defined.
15083
15084 Mon Sep 21 14:10:51 1998  Jason Merrill  <jason@yorick.cygnus.com>
15085
15086         * toplev.c (rest_of_compilation): Skip compiling anything with
15087         DECL_EXTERNAL set, not just if it has DECL_INLINE as well.
15088
15089 Mon Sep 21 13:51:05 1998  Jim Wilson  <wilson@cygnus.com>
15090
15091         * flow.c (find_basic_blocks): Delete check for in_libcall_block when
15092         prev_code is a CALL_INSN.  Change check for REG_RETVAL note to
15093         use in_libcall_block.
15094         (find_basic_blocks_1): Delete check for in_libcall_block when prev_code
15095         is a CALL_INSN.  If CALL_INSN and in_libcall_block, then change code
15096         to INSN.
15097
15098 Mon Sep 21 14:02:23 1998  Robert Lipe  <robertl@dgii.com>
15099
15100         * i386.h (TARGET_SWITCHES): Improve doc for align-double.  Fix
15101         typo in no-fancy-math-387 description.
15102
15103 Mon Sep 21 09:27:18 1998  Jeff Law  (law@cygnus.com)
15104
15105         * version.c: Bump for snapshot.
15106
15107 Mon Sep 21 09:24:49 1998  Stan Cox  <scox@cygnus.com>
15108
15109         * i386-coff.h (DBX_DEBUGGING_INFO): Added.
15110
15111 Mon Sep 21 09:14:49 1998  Robert Lipe  <robertl@dgii.com>
15112
15113         * i386.h (TARGET_SWITCHES): Add description fields for flags
15114         documented in install.texi.
15115         (TARGET_OPTIONS): Likewise.
15116
15117 Mon Sep 21 01:39:03 1998  Jeff Law  (law@cygnus.com)
15118
15119         * version.c: Bump for snapshot.
15120
15121 Mon Sep 21 01:53:05 1998  Felix Lee  <flee@cygnus.com>
15122
15123         * c-lex.c (init_lex): Use getenv ("LANG"), not GET_ENVIRONMENT ().
15124         * cccp.c (main): Likewise.
15125
15126         * cccp.c, collect2.c, cpplib.c, gcc.c, config/i386/xm-cygwin32.h:
15127         Rename GET_ENVIRONMENT to GET_ENV_PATH_LIST, and fix some
15128         macro-use bugs.
15129
15130 Mon Sep 21 00:52:12 1998  Per Bothner  <bothner@cygnus.com>
15131
15132         * Makefile.in (LIBS): Link in libiberty.a.
15133         * c-common.c, gcc.c, toplev.c: Replace (some) bcopy calls by memcpy.
15134
15135 Sun Sep 20 23:28:11 1998  Richard Henderson  <rth@cygnus.com>
15136
15137         * reload1.c (emit_reload_insns): Accept a new arg for the bb.  Use
15138         it to update bb boundaries.  Update caller.
15139         * function.c (reposition_prologue_and_epilogue_notes): Update
15140         bb boundaries wrt the moved note.
15141
15142 Sun Sep 20 20:57:02 1998  Robert Lipe  <robertl@dgii.com>
15143
15144         * configure.in (i*86-*-sysv5*): Use fixinc.svr4 to patch byteorder
15145         problems.
15146         * configure: Regenerate.
15147
15148 Sun Sep 20 19:01:51 1998  Richard Henderson  <rth@cygnus.com>
15149
15150         * alpha.c (alpha_sr_alias_set): New variable.
15151         (override_options): Set it.
15152         (alpha_expand_prologue, alpha_expand_epilogue): Use it.
15153         (mode_mask_operand): Fix signed-unsigned comparison warning.
15154         (alpha_expand_block_move): Likewise.
15155         (print_operand): Likewise.
15156         (get_aligned_mem): Use change_address.
15157         (alpha_set_memflags, alpha_set_memflags_1): Set the alias set.
15158         (alphaev4_insn_pipe, alphaev4_next_group): New functions.
15159         (alphaev4_next_nop, alphaev5_next_nop): New functions.
15160         (alpha_align_insns): Remade from old alphaev5_align_insns
15161         to handle multiple processors.
15162         (alpha_reorg): Call alpha_align_insns for both ev4 and ev5.
15163         * output.h (label_to_alignment): Prototype.
15164
15165         * tree.c (new_alias_set): New function.
15166         * tree.h (new_alias_set): Declare it.
15167         * c-common.c (c_get_alias_set): Use it.
15168
15169 Sun Sep 20 12:35:55 1998  Richard Henderson  <rth@cygnus.com>
15170
15171         * fold-const.c (fold): Yet another COND_EXPR bug: when folding
15172         to an ABS expr, convert an unsigned input to signed.
15173
15174 Sun Sep 20 12:14:45 1998  Jeffrey A Law  (law@cygnus.com)
15175
15176         * fold-const.c (fold): Fix another type in COND_EXPR handling code.
15177
15178 1998-09-20  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
15179
15180         * configure.in: Add support for c4x targets.
15181         * configure: Rebuilt.
15182
15183 Sun Sep 20 00:00:51 1998  Richard Henderson  <rth@cygnus.com>
15184
15185         * combine.c (distribute_notes): If an insn is a cc0 user, only
15186         delete it if we can also delete the cc0 setter.
15187
15188 Sun Sep 20 00:22:23 1998  Michael Tiemann  <michael@impact.tiemann.org>
15189
15190         * fold-const.c (fold): Fix typo in COND_EXPR handling code.
15191         (invert_truthvalue): Enable truthvalue inversion for
15192         floating-point operands if -ffast-math.
15193
15194 Sat Sep 19 23:58:07 1998  Melissa O'Neill  <oneill@cs.sfu.ca>
15195
15196         * configure.in: Disable collect2 for nextstep.  Instead use
15197         crtbegin/crtend.
15198         * configure: Rebuilt.
15199         * config/nextstep.h (STARTFILE_SPEC): Add crtbegin.
15200         (ENDFILE_SPEC): Define.
15201         (OBJECT_FORMAT_MACHO): Define.
15202         (EH_FRAME_SECTION_ASM_OP): Define.
15203         * crtstuff.c: Handle MACHO.
15204
15205 Sun Sep 20 00:24:24 1998  Robert Lipe  <robertl@dgii.com>
15206
15207         * config/i386/sco5.h (TARGET_MEM_FUNCTIONS): Define.
15208
15209 1998-09-19  Torbjorn Granlund  <tege@matematik.su.se>
15210
15211         * fp-bit.c (pack_d): Do not clear SIGN when fraction is 0.
15212         (_fpadd_parts): Get sign right for 0.
15213
15214 1998-09-19  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
15215
15216         * ginclude/varargs.h: Add support for C4x target.
15217         * ginclude/stdargs.h: Likewise.
15218
15219 Sat Sep 19 12:05:09 1998  Richard Henderson  <rth@cygnus.com>
15220
15221         * alpha.c (alpha_return_addr): SET should be VOIDmode.
15222         (alpha_emit_set_long_const): Rewrite to be callable from reload
15223         and 32-bit hosts.
15224         (alpha_expand_epilogue): Update for alpha_emit_set_long_const.
15225         * alpha.md (movdi): Likewise.
15226
15227 Sat Sep 19 07:33:36 1998  Richard Earnshaw  (rearnsha@arm.com)
15228
15229         * arm.c (add_constant): New parameter address_only, change caller.
15230         Set it non-zero if taking the address of an item in the pool.
15231         (arm_reorg): Handle cases where we need the address of an item in
15232         the pool.
15233
15234         * arm.c (bad_signed_byte_operand): Check both arms of a sum in
15235         a memory address.
15236         * arm.md (splits for *extendqihi_insn and *extendqisi_insn): Handle
15237         memory addresses that are not in standard canonical form.
15238
15239 Sat Sep 19 01:00:32 1998  Michael Hayes  (mph@elec.canterbury.ac.nz)
15240
15241         * README.C4X: New file with information about the c4x ports.
15242         * ginclude/va-c4x.h: New file for c4x varargs support.
15243         * config/c4x: New directory with c4x port files.
15244
15245 Fri Sep 18 22:52:05 1998  Jeffrey A Law  (law@cygnus.com)
15246
15247         * reload.c (find_reloads): Do not replace a pseudo with
15248         (MEM (reg_equiv_addr)) in the initializing insn for the
15249         pseudo.
15250
15251 Fri Sep 18 23:50:56 1998  David Edelsohn  <edelsohn@gnu.org>
15252
15253         * toplev.c (rest_of_compilation): Set bct_p on second call to
15254         loop_optimize.
15255         * loop.c (loop_optimize, scan_loop, strength_reduce): New argument
15256         bct_p.
15257         (strength_reduce): Only call analyze_loop_iterations and
15258         insert_bct if bct_p set.
15259         (check_dbra_loop): Fix typo.
15260         (insert_bct): Use word_mode instead of SImode.
15261         (instrument_loop_bct): Likewise.  Do not delete iteration count
15262         condition code generation insn.  Initialize iteration count before
15263         loop start.
15264         * rtl.h (loop_optimize): Update prototype.
15265
15266         * ginclude/va-ppc.h (va_arg): longlong types in overflow area are
15267         not doubleword aligned.
15268
15269         * rs6000.c (optimization_options): New function.
15270         (secondary_reload_class): Only call true_regnum for PSEUDO_REGs.
15271         * rs6000.h (OPTIMIZATION_OPTIONS): Define.
15272         (REG_ALLOC_ORDER): Allocate highest numbered condition regsiters
15273         first; cr1 can be used for FP record condition insns.
15274
15275 Fri Sep 18 09:44:55 1998  Nick Clifton  <nickc@cygnus.com>
15276
15277         * config/m32r/m32r.h (m32r_block_immediate_operand): Add to
15278         PREDICATE_CODES.
15279
15280         * config/m32r/m32r.md: Add "movstrsi" and "movstrsi_internal"
15281         patterns.
15282
15283         * config/m32r/m32r.c (m32r_print_operand): Add 's' and 'p'
15284         operators.
15285         (block_move_call): New function: Call a library routine to copy a
15286         block of memory.
15287         (m32r_expand_block_move): New function: Expand a "movstrsi"
15288         pattern into a sequence of insns.
15289         (m32r_output_block_move): New function: Expand a
15290         "movstrsi_internal" pattern into a sequence of assembler opcodes.
15291         (m32r_block_immediate_operand): New function: Return true if the
15292         RTL is an integer constant, less than or equal to MAX_MOVE_BYTES.
15293
15294 Thu Sep 17 16:42:16 1998  Andrew MacLeod  <amacleod@cygnus.com>
15295
15296         * except.c (start_catch_handler): Issue 'fatal' instead of 'error' and
15297         re-align some code.
15298         * libgcc2.c (__eh_rtime_match): fprintf a runtime error. Use <stdio.h>.
15299
15300 Thu Sep 17 12:24:33 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
15301
15302         * regmove.c (copy_src_to_dest): Check that modes match.
15303
15304 Wed Sep 16 22:10:42 1998  Robert Lipe  <robertl@dgii.com>
15305
15306         * config/i386/sco5.h (SUPPORTS_WEAK): True only if targeting ELF.
15307
15308 Wed Sep 16 15:24:54 1998  Richard Henderson  <rth@cygnus.com>
15309
15310         * i386.h (PREFERRED_RELOAD_CLASS): Respect an existing class
15311         narrower than FLOAT_REGS.
15312
15313 Wed Sep 16 17:51:00 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
15314
15315         * cpplib.c: Removed OLD_GPLUSPLUS_INCLUDE_DIR.
15316         * cccp.c: Likewise.
15317         * Makefile.in (old_gxx_include_dir): Removed.
15318
15319 Wed Sep 16 12:29:22 1998  Nick Clifton  <nickc@cygnus.com>
15320
15321         * config/sh/sh.h: Update definition of HANDLE_PRAGMA to match
15322         new specification.
15323
15324         * config/sh/sh.c (handle_pragma): Rename to sh_handle_pragma().
15325         (sh_handle_pragma): Change function arguments to match new
15326         specification for HANDLE_PRAGMA.
15327
15328 Wed Sep 16 12:43:19 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15329
15330         * gen-protos.c (parse_fn_proto): Cast argument of ISALNUM to
15331         `unsigned char'.
15332         (main): Mark parameter `argc' with ATTRIBUTE_UNUSED.
15333         When generating output, initialize missing struct member to zero.
15334
15335 Wed Sep 16 14:47:43 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
15336
15337         * regmove.c (copy_src_to_dest): Don't copy if that requires
15338         (a) new register(s).
15339
15340 Wed Sep 16 01:29:12 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
15341
15342         * global.c (reg_allocno): Now static.
15343         * reload1.c (reg_allocno): Delete declaration.
15344         (order_regs_for_reload): Take no arguments.  Don't treat regs
15345         allocated by global differently than those allocated by local-alloc.
15346
15347 Wed Sep 16 01:09:01 1998  Kamil Iskra  <iskra@student.uci.agh.edu.pl>
15348
15349         * m68k/m68k.c (output_function_prologue): Reverse NO_ADDSUB_Q
15350         condition, fix format strings.
15351         (output_function_epilogue): Likewise.
15352
15353         * m68k/m68k.c: Don't include <stdlib.h> directly.
15354
15355 Wed Sep 16 00:30:56 1998  Geoff Keating  <geoffk@ozemail.com.au>
15356
15357         * gcse.c: New definition NEVER_SET for reg_first_set, reg_last_set,
15358         mem_first_set, mem_last_set; because 0 can be a CUID.
15359         (oprs_unchanged_p): Use new definition.
15360         (record_last_reg_set_info): Likewise.
15361         (record_last_mem_set_info): Likewise.
15362         (compute_hash_table): Likewise.
15363
15364 Tue Sep 15 22:59:52 1998  Jeffrey A Law  (law@cygnus.com)
15365
15366         * rs6000.c (output_epilogue): Handle Chill.
15367
15368         * mn10200.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
15369         * mn10300.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
15370
15371         * combine.c (make_extraction): If no mode is specified for
15372         an operand of insv, extv, or extzv, default it to word_mode.
15373         (simplify_comparison): Similarly.
15374         * expmed.c (store_bit_field): Similarly.
15375         (extract_bit_field): Similarly.
15376         * function.c (fixup_var_regs_1): Similarly.
15377         * recog.c (validate_replace_rtx_1): Similarly.
15378         * mips.md (extv, extzv, insv expanders): Default modes for most
15379         operands.  Handle TARGET_64BIT.
15380         (movdi_uld, movdi_usd): New patterns.
15381
15382         * pa.c (emit_move_sequence): Do not replace a pseudo with its
15383         equivalent memory location unless we have been provided a scratch
15384         register.  Similarly do not call find_replacement unless a
15385         scratch register has been provided.
15386
15387 Tue Sep 15 19:23:01 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
15388
15389         * i386.h (PREFERRED_RELOAD_CLASS): For standard 387 constants,
15390         return FLOAT_REGS.
15391
15392 Tue Sep 15 19:09:06 1998  Richard Henderson  <rth@cygnus.com>
15393
15394         * tree.h (BUILT_IN_CALLER_RETURN_ADDRESS): Unused.  Kill.
15395         (BUILT_IN_FP, BUILT_IN_SP, BUILT_IN_SET_RETURN_ADDR_REG): Kill.
15396         (BUILT_IN_EH_STUB_OLD, BUILT_IN_EH_STUB, BUILT_IN_SET_EH_REGS): Kill.
15397         (BUILT_IN_EH_RETURN, BUILT_IN_DWARF_CFA): New.
15398         * c-decl.c (init_decl_processing): Update accordingly.
15399         * expr.c (expand_builtin): Likewise.
15400
15401         * rtl.h (global_rtl): Add cfa entry.
15402         (virtual_cfa_rtx, VIRTUAL_CFA_REGNUM): New.
15403         (LAST_VIRTUAL_REGISTER): Update.
15404         * emit-rtl.c (global_rtl): Add cfa entry.
15405         (init_emit): Initialize it.
15406         * function.c (cfa_offset): New.
15407         (instantiate_virtual_regs): Initialize it.
15408         (instantiate_virtual_regs_1): Instantiate virtual_cfa_rtx.
15409         (expand_function_end): Call expand_eh_return.
15410         * tm.texi (ARG_POINTER_CFA_OFFSET): New.
15411
15412         * except.c (current_function_eh_stub_label): Kill.
15413         (current_function_eh_old_stub_label): Likwise; update all references.
15414         (expand_builtin_set_return_addr_reg): Kill.
15415         (expand_builtin_eh_stub_old, expand_builtin_eh_stub): Kill.
15416         (expand_builtin_set_eh_regs): Kill.
15417         (eh_regs): Produce a third reg for the actual handler address.
15418         (eh_return_context, eh_return_stack_adjust): New.
15419         (eh_return_handler, eh_return_stub_label): New.
15420         (init_eh_for_function): Initialize them.
15421         (expand_builtin_eh_return, expand_eh_return): New.
15422         * except.h: Update prototypes.
15423         * flow.c (find_basic_blocks_1): Update references to the stub label.
15424         * function.h (struct function): Kill stub label elements.
15425
15426         * libgcc2.c (in_reg_window): For REG_SAVED_REG, check that the
15427         register number is one that would be in the previous window.
15428         Provide a dummy definition for non-windowed targets.
15429         (get_reg_addr): New function.
15430         (get_reg, put_reg, copy_reg): Use it.
15431         (__throw): Rely on in_reg_window, not INCOMING_REGNO.  Kill stub
15432         generating code and use __builtin_eh_return.  Use __builtin_dwarf_cfa.
15433
15434         * alpha.c (alpha_eh_epilogue_sp_ofs): New.
15435         (alpha_init_expanders): Initialize it.
15436         (alpha_expand_epilogue): Use it.
15437         * alpha.h: Declare it.
15438         * alpha.md (eh_epilogue): New.
15439
15440         * m68h.h (ARG_POINTER_CFA_OFFSET): New.
15441         * sparc.h (ARG_POINTER_CFA_OFFSET): New.
15442
15443 Tue Sep 15 19:31:58 1998  Michael Meissner  <meissner@cygnus.com>
15444
15445         * i960.h (CONST_COSTS): Fix thinko.  Test flag, not the constant
15446         flag bit mask.
15447
15448 Tue Sep 15 14:10:54 1998  Andrew MacLeod  <amacleod@cygnus.com>
15449
15450         * except.h (struct eh_entry): Add false_label field.
15451         (end_catch_handler): Add prototype.
15452         * except.c (push_eh_entry): Set false_label field to NULL_RTX.
15453         (start_catch_handler): When using old style exceptions, issue
15454         runtime typematch code before continuing with the handler.
15455         (end_catch_handler): New function, generates label after handler
15456         if needed by older style exceptions.
15457         (expand_start_all_catch): No need to check for new style exceptions.
15458         (output_exception_table_entry): Only output the first handler label
15459         for old style exceptions.
15460         * libgcc2.c (__eh_rtime_match): New routine to lump runtime matching
15461         mechanism into one function, if a runtime matcher is provided.
15462
15463 Tue Sep 15 13:53:59 1998  Andrew MacLeod  <amacleod@cygnus.com>
15464
15465         * config/i960/i960.h (SLOW_BYTE_ACCESS): Change definition to 1.
15466
15467 Tue Sep 15 09:59:01 1998  Mark Mitchell  <mark@markmitchell.com>
15468
15469         * integrate.c (copy_decl_list): Fix typo.
15470
15471 Tue Sep 15 04:18:52 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
15472
15473         * config/sparc/sparc.md (movdf_const_intreg_sp32): Fix length
15474         attribute.
15475
15476 Mon Sep 14 14:02:53 1998  Jeff Law  (law@cygnus.com)
15477
15478         * version.c: Bump for snapshot.
15479
15480 Mon Sep 14 10:33:56 1998  Jeff Law  (law@cygnus.com)
15481
15482         * version.c: Bump for snapshot.
15483
15484 Mon Sep 14 09:51:05 1998  Jeff Law  (law@cygnus.com)
15485
15486         * version.c: Bump for snapshot.
15487
15488 Sun Sep 13 22:10:18 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
15489
15490         * invoke.texi (C Dialect Options): Put back missing @end itemize.
15491
15492 Mon Sep 14 02:33:46 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
15493
15494         * configure.in: Remove usage of `!' to negate the result of a
15495         command; some common shells do not support it.
15496
15497 Sun Sep 13 19:17:35 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
15498
15499         * configure.in: In sparc9-sol2 config, use 'if test' not
15500         brackets.
15501         * configure: Rebuilt.
15502
15503         * config/sparc/sol2-sld-64.h (SPARC_DEFAULT_CMODEL): Change to
15504         CM_MEDANY.
15505         (CPP_CPU_SPEC): Do not define _LP64, header files do this.
15506         (CPP_CPU_DEFAULT_SPEC): Likewise.
15507         * config/sparc/sol2.h (INIT_SUBTARGET_OPTABS): Get the names right
15508         for arch64 libfuncs.
15509
15510         * config/sparc/sparc.md (goto_handler_and_restore): Allow any mode
15511         for operand zero.
15512
15513 Sun Sep 13 09:11:59 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15514
15515         * acconfig.h (NEED_DECLARATION_STRSIGNAL): Provide a stub.
15516
15517         * collect2.c: Don't declare `sys_siglist' here.
15518         (my_strsignal): Prototype and define new function.  Use it in
15519         place of `sys_siglist' hacks.
15520
15521         * mips_tfile.c: Likewise.
15522
15523         * configure.in (AC_CHECK_FUNCS): Check for strsignal.
15524         (GCC_NEED_DECLARATIONS): Likewise.
15525
15526         * system.h (strsignal): Prototype it, if necessary.
15527         (sys_siglist): Declare it, if necessary.
15528
15529 Sun Sep 13 04:37:28 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
15530
15531         * loop.c (move_movables): While removing insn sequences, preserve
15532         the next pointer of the most recently deleted insn when we skip
15533         over a NOTE.
15534
15535 Sun Sep 13 08:13:39 1998  Ben Elliston  <bje@cygnus.com>
15536
15537         * objc/config-lang.in: Do not output the name of the selected
15538         thread file when building the front-end.  The Makefile for the
15539         runtime library will do this.
15540
15541         * objc/Make-lang.in: Do not build the runtime library or install
15542         the Objective C header files.  The Makefile for the runtime
15543         library will do this.
15544
15545         * objc/Makefile.in (all.indirect): Only build the front-end.
15546         (compiler): Rename to `frontend'.
15547         (obj-runtime): Remove target.
15548         (copy-headers): Likewise.
15549         (clean): No need to remove `libobjc.a' any longer.
15550
15551 Sat Sep 12 11:37:19 1998  Michael Meissner  <meissner@cygnus.com>
15552
15553         * rs6000.h ({ASM,CPP}_CPU_SPEC): Add support for all machines
15554         supported with -mcpu=xxx.
15555
15556 Fri Sep 11 23:55:54 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
15557
15558         * flow.c (mark_set_1): Recognize multi-register structure return
15559         values in CALL insns.
15560         (mark_used_regs): Likewise.
15561         (count_reg_sets_1): Likewise.
15562         (count_reg_references): Likewise.
15563         * rtlanal.c (note_stores): Likewise.
15564         (reg_overlap_mentioned_p): Likewise.
15565         * haifa-sched.c (check_live_1): Likewise.
15566         (update_live_1): Likewise.
15567         (sched_analyze_1): Likewise.
15568         (sched_note_set): Likewise.
15569         (birthing_insn_p): Likewise.
15570         (attach_deaths): Likewise.
15571
15572         * config/sparc/sparc.md (movdf_const_intreg_sp64): Disable.
15573
15574 Fri Sep 11 22:57:55 1998  Eric Dumazet  <dumazet@cosmosbay.com>
15575
15576         * config/i386/sco5.h (ASM_WEAKEN_LABEL): Defined as in svr4.h.
15577
15578 Thu Sep 10 22:02:04 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
15579
15580         * glimits.h (__LONG_MAX__): Recognize __sparcv9 too.
15581
15582 Thu Sep 10 21:19:10 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
15583
15584         * configure.in: Add check for GAS subsection -1 support.
15585         * acconfig.h (HAVE_GAS_SUBSECTION_ORDERING): Add.
15586         * configure config.in: Rebuilt.
15587         * config/sparc/sparc.h (CASE_VECTOR_MODE): For V9 flag_pic, use
15588         SImode is subsection -1 works, else use DImode.
15589         (ASM_OUTPUT_ADDR_VEC_START, ASM_OUTPUT_ADDR_VEC_END): Define if
15590         subsection -1 works.
15591         * config/sparc/sparc.c (sparc_output_addr_vec,
15592         sparc_output_addr_diff_vec): Use them if defined.
15593
15594 Thu Sep 10 10:46:01 1998  Mark Mitchell  <mark@markmitchell.com>
15595
15596         * tree.h (DECL_ORIGIN): New macro.
15597         * integrate.c (copy_and_set_decl_abstract_origin): New function.
15598         (copy_decl_list): Use it.
15599         (integrate_parm_decls): Likewise.
15600         (integrate_decl_tree): Likewise.
15601         * dwarf2out.c (decl_ultimate_origin): Simplify.
15602         * dwarfout.c (decl_ultimate_origin): Likewise.
15603         * c-decl.c (duplicate_decls): Use DECL_ORIGIN.
15604         (pushdecl): Likewise.
15605
15606 Thu Sep 10 08:01:31 1998  Anthony Green  <green@cygnus.com>
15607
15608         * config/rs6000/rs6000.c (output_epilog): Add Java support.
15609
15610 Thu Sep 10 14:48:59 1998  Martin von Löwis  <loewis@informatik.hu-berlin.de>
15611
15612         * invoke.texi (C++ Dialect Options): Document -fhonor-std.
15613
15614 Thu Sep 10 01:38:05 1998  Jeffrey A Law  (law@cygnus.com)
15615
15616         * reg-stack.c (straighten_stack): Do nothing if the virtual stack is
15617         empty or has a single entry.
15618
15619         * toplev.c (rest_of_compilation): Open up the dump file for reg-stack
15620         before calling reg_to_stack.
15621
15622 Thu Sep 10 00:03:34 1998  Richard Henderson  <rth@cygnus.com>
15623
15624         * alpha.c (alphaev5_insn_pipe): Abort on default case.
15625         (alphaev5_next_group): Swallow CLOBBERs and USEs.
15626
15627         * c-tree.h (warn_long_long): Declare it.
15628
15629 Wed Sep  9 23:31:36 1998  (Stephen L Moshier)  <moshier@world.std.com>
15630
15631         * emit-rtl.c (gen_lowpart_common): Disable optimization of
15632         initialized float-int union if the value is a NaN.
15633
15634 Wed Sep  9 23:00:48 1998  Nathan Sidwell  <nathan@acm.org>
15635
15636         * c-lex.c (real_yylex): Don't warn about long long constants if
15637         we're allowing long long
15638
15639 Wed Sep  9 21:58:41 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
15640
15641         * except.h (current_function_eh_stub_label): Declare.
15642         (current_function_eh_old_stub_label): Declare.
15643         * function.h (struct function): New members eh_stub_label and
15644         eh_old_stub_label.
15645         * except.c (current_function_eh_stub_label): New variable.
15646         (current_function_eh_old_stub_label): New variable.
15647         (init_eh_for_function): Clear them.
15648         (save_eh_status): Save them.
15649         (restore_eh_status): Restore them.
15650         (expand_builtin_eh_stub): Set current_function_eh_stub_label.
15651         (expand_builtin_eh_stub_old): Set current_function_eh_old_stub_label.
15652         * flow.c (find_basic_blocks_1): When handling a REG_LABEL note, don't
15653         make an edge from the block that contains it to the block starting
15654         with the label if this label is one of the eh stub labels.
15655         If eh stub labels exist, show they are reachable from the last block
15656         in the function.
15657
15658         * reload1.c (reload): Break out several subroutines and make some
15659         variables global.
15660         (calculate_needs_all_insns): New function, broken out of reload.
15661         (calculate_needs): Likewise.
15662         (find_reload_regs): Likewise.
15663         (find_group): Likewise.
15664         (find_tworeg_group): Likewise.
15665         (something_needs_reloads): New global variable, formerly in reload.
15666         (something_needs_elimination): Likewise.
15667         (caller_save_spill_class): Likewise.
15668         (caller_save_group_size): Likewise.
15669         (max_needs): Likewise.
15670         (group_size): Likewise.
15671         (max_groups): Likewise.
15672         (max_nongroups): Likewise.
15673         (group_mode): Likewise.
15674         (max_needs_insn): Likewise.
15675         (max_groups_insn): Likewise.
15676         (max_nongroups_insn): Likewise.
15677         (failure): Likewise.
15678
15679         * print-rtl.c (print_rtx): For MEMs, print MEM_ALIAS_SET.
15680
15681 Wed Sep  9 13:14:41 1998  Richard Henderson  <rth@cygnus.com>
15682
15683         * loop.c (load_mems): Copy rtx for output mem.
15684
15685 Wed Sep  9 15:16:58 1998  Gavin Romig-Koch  <gavin@cygnus.com>
15686
15687         * mips/abi64.h (LONG_MAX_SPEC): Don't set LONG_MAX for
15688         mips1 or mips2 either.
15689
15690 Wed Sep  9 12:31:35 1998  Jeffrey A Law  (law@cygnus.com)
15691
15692         * pa.c (pa_reorg): New marking scheme for jumps inside switch
15693         tables.
15694         (pa_adjust_insn_length): Update to work with new marking scheme
15695         for jumps inside switch tables.
15696         * pa.md (switch_jump): Remove pattern.
15697         (jump): Handle jumps inside jump tables.
15698
15699         * Makefile.in (profile.o): Depend on insn-config.h
15700
15701 Wed Sep  9 09:36:51 1998  Jim Wilson  <wilson@cygnus.com>
15702
15703         * iris6.h (DWARF2_UNWIND_INFO): Undef.
15704
15705 Wed Sep  9 01:32:01 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
15706
15707         Add preliminary native sparcv9 Solaris support.
15708         * configure.in: Recognize sparv9-*-solaris2*
15709         * configure: Rebuilt.
15710         * config.sub: Recognize sparcv9 just like sparc64.
15711         * config/sparc/sol2-c1.asm config/sparc/sol2-ci.asm
15712         config/sparc/sol2-cn.asm: Macroize so it can be shared between
15713         32-bit and 64-bit Solaris systems.
15714         * config/sparc/t-sol2: Assemble those with cpp.
15715         * config/sparc/sparc.h (TARGET_CPU_sparcv9): New alias for v9.
15716         (*TF*_LIBCALL): If ARCH64 use V9 names.
15717         * config/sparc/{xm-sysv4-64,sol2-sld-64}.h: New files.
15718
15719 Wed Sep  9 01:07:30 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
15720
15721         * config/sparc/sparc.h (TARGET_CM_MEDMID): Fix documentation.
15722         (CASE_VECTOR_MODE): Set to SImode even if PTR64, when MEDLOW and
15723         not doing pic.
15724         (ASM_OUTPUT_ADDR_{VEC,DIFF}_ELT): Check CASE_VECTOR_MODE not
15725         Pmode.
15726         * config/sparc/sparc.md (tablejump): Likewise, and sign extend op0
15727         to Pmode if CASE_VECTOR_MODE is something else.
15728
15729 Wed Sep  9 00:10:31 1998  Jeffrey A Law  (law@cygnus.com)
15730
15731         * prefix.c (update_path): Correctly handle cases where PATH is
15732         a substring of the builtin prefix, but specifies a different
15733         directory location.
15734
15735 Tue Sep  8 23:46:04 1998  Hans-Peter Nilsson  <hp@axis.se>
15736
15737         * expr.c: Corrected comment about what MOVE_RATIO does.
15738         * config/alpha/alpha.h: Likewise.
15739         * config/1750a/1750a.h: Likewise.
15740         * config/clipper/clipper.h: Likewise.
15741         * config/i386/i386.h: Likewise.
15742
15743 Tue Sep  8 22:56:12 1998  Jeffrey A Law  (law@cygnus.com)
15744
15745         * configure.in (m68k-next-nextstep3*): Use collect2.
15746         Similarly for x86 NeXT configurations.
15747         * configure: Rebuilt.
15748
15749 Tue Sep  8 01:38:57 1998  Nathan Sidwell  <nathan@acm.org>
15750
15751         * configure.in: Don't assume srcdir is .../gcc.
15752         * configure: Rebuilt.
15753
15754 Sat Sep  5 16:34:34 1998  John Wehle  (john@feith.com)
15755
15756         * global.c: Update comments.
15757         (global_alloc): Assign allocation-numbers
15758         even for registers allocated by local_alloc in case
15759         they are later spilled and retry_global_alloc is called.
15760         (mark_reg_store, mark_reg_clobber,
15761         mark_reg_conflicts, mark_reg_death): Always record a
15762         conflict with a pseudo register even if it has been
15763         assigned to a hard register.
15764         (dump_conflicts): Don't list pseudo registers already assigned to
15765         a hard register as needing to be allocated, but do list their
15766         conflicts.
15767         * local-alloc.c: Update comment.
15768
15769 Mon Sep  7 23:38:01 1998  Jeffrey A Law  (law@cygnus.com)
15770
15771         * configure.in: Check for bogus GCC_EXEC_PREFIX and LIBRARY_PATH.
15772         * configure: Rebuilt.
15773
15774 Mon Sep  7 22:41:46 1998  Michael Meissner  <meissner@cygnus.com>
15775
15776         * rs6000.c (rs6000_override_options): Fix name for ec603e, to add
15777         missing 'c'.
15778         * t-ppccomm (MULTILIB_MATCHES_FLOAT): Add support for -mcpu=xxx
15779         for all targets that set -msoft-float.
15780
15781 Mon Sep  7 23:30:07 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15782
15783         * toplev.c (print_switch_values): Make static to match prototype.
15784
15785 Mon Sep  7 19:13:59 1998  Jeffrey A Law  (law@cygnus.com)
15786
15787         * configure.in: If we are unable to find the "gnatbind" program,
15788         then do not configure the ada subdir.
15789         * configure: Rebuilt.
15790
15791 Sun Sep  6 14:03:58 1998  Jeff Law  (law@cygnus.com)
15792
15793         * version.c: Bump for snapshot.
15794
15795 Sun Sep  6 13:28:07 1998  Jeff Law  (law@cygnus.com)
15796
15797         * version.c: Bump for snapshot.
15798
15799 Sun Sep  6 08:54:14 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15800
15801         * Makefile.in (toplev.o): Depend on $(EXPR_H).
15802         (insn-extract.o, insn-attrtab.o): Depend on toplev.h.
15803
15804         * gansidecl.h: Define ATTRIBUTE_NORETURN.
15805
15806         * genattrtab.c: Have insn-attrtab.c include toplev.h.
15807
15808         * genextract.c: Have insn-extract.c include toplev.h.
15809
15810         * rtl.h: Don't prototype `fatal_insn_not_found' and `fatal_insn'.
15811
15812         * toplev.c: Include expr.h.
15813         (really_sorry, fancy_abort): Remove prototypes.
15814         (set_target_switch): Add argument in prototype.
15815         (vfatal): Mark prototype with ATTRIBUTE_NORETURN.
15816         (v_really_sorry): Likewise.
15817         (print_version, print_single_switch, print_switch_values): Make
15818         static and add prototype arguments.
15819         (decl_printable_name): Add prototype arguments.
15820         (lang_expand_expr_t): New typedef.
15821         (lang_expand_expr): Declare as a lang_expand_expr_t.
15822         (incomplete_decl_finalize_hook): Add prototype argument.
15823         (decl_name): Mark variable `verbosity' with ATTRIBUTE_UNUSED.
15824         (botch): Likewise for variable `s'.
15825         (rest_of_type_compilation): Mark variables `type' and `toplev'
15826         with ATTRIBUTE_UNUSED if none of DBX_DEBUGGING_INFO,
15827         XCOFF_DEBUGGING_INFO or SDB_DEBUGGING_INFO are defined.
15828         (display_help): Make variable `i' an `unsigned long'.
15829         (main): Remove unused parameter `envp'.
15830         Cast assignment to `lang_expand_expr' to a `lang_expand_expr_t'.
15831         Cast -1 when comparing it with a `size_t'.
15832
15833         * toplev.h (fatal, fatal_io_error, pfatal_with_name): Mark
15834         prototype with ATTRIBUTE_NORETURN.
15835         (fatal_insn_not_found, fatal_insn, really_sorry,
15836         push_float_handler, pop_float_handler): Add prototypes.
15837         (fancy_abort): Mark prototype with ATTRIBUTE_NORETURN.
15838         (do_abort, botch): Add prototypes.
15839
15840 Sat Sep  6 12:05:18 1998  John Carr  <jfc@mit.edu>
15841
15842         * final.c (final): If a label is reached only from a single jump,
15843         call NOTICE_UPDATE_CC on the jump and its predecessor before
15844         emitting the insn after the label.
15845
15846         * i386.h: Add AMD K6 support.
15847         Change TARGET_* macros to use table lookup.
15848         (INITIALIZE_TRAMPOLINE): Improve trampoline code.
15849         (ADJUST_COST): Change definition to call function in i386.c.
15850         (ISSUE_RATE): Define as 2 for anything newer than an 80486.
15851         * i386.c: Add AMD K6 support.
15852         Add constants for feature tests used by TARGET_* macros.
15853         (split_di): If before reload, call gen_lowpart and gen_highpart.
15854         (x86_adjust_cost): New function.
15855         (put_jump_code): New function.
15856         (print_operand): New codes 'D' and 'd'.
15857         * i386.md: New insn types.  New insn attribute "memory".
15858         Redefine scheduling parameters to use new types and add AMD K6
15859         support.  Explicitly set type of most insns.
15860         (move insns): K6 prefers movl $0,reg to xorl reg,reg.  Pentium
15861         Pro and K6 prefer movl $1,reg to incl reg.
15862         (adddi3, subdi3): Set cc_status.
15863         (DImode shift patterns): Change label counters from HOST_WIDE_INT
15864         to int; x86 can't have more than 2^31 DImode shifts per file.
15865         (setcc): Combine all setcc patterns.  Allow writing memory.
15866         Combine all jump patterns using match_operator.
15867         (*bzero): Name pattern.  Emit multiple stos instructions when that
15868         is faster than rep stos.
15869         (xordi3, anddi3, iordi3): Simplify DImode logical patterns and
15870         add define_split.
15871
15872 Sun Sep  6 11:17:20 1998  Dave Love  <d.love@dl.ac.uk>
15873
15874         * config/m68k/x-next (BOOT_LDFLAGS): Define suitably for f771
15875         linking.
15876
15877 Sat Sep  5 22:05:25 1998  Richard Henderson  <rth@cygnus.com>
15878
15879         * alpha.c (alpha_ra_ever_killed): Inspect the topmost sequence,
15880         not whatever we're generating now.
15881
15882         * alpha.c (set_frame_related_p, FRP): New.
15883         (alpha_expand_prologue): Mark frame related insns.
15884         (alpha_expand_epilogue): Likewise, but with a null FRP.
15885         * alpha.h (INCOMING_RETURN_ADDR_RTX): New.
15886         * alpha.md (exception_receiver): New.
15887         * alpha/crtbegin.asm (.eh_frame): New beginning.
15888         (__do_frame_setup, __do_frame_takedown): New.
15889         * alpha/crtend.asm (.eh_frame): New ending.
15890         * alpha/elf.h (DWARF2_DEBUGGING_INFO): Define.
15891         (ASM_SPEC): Don't emit both dwarf2 and mdebug.
15892         (ASM_FILE_START): Don't emit .file for dwarf2.
15893
15894         * rtl.h (enum reg_note): Add REG_FRAME_RELATED_EXPR.
15895         * rtl.c (reg_note_name): Likewise.
15896         * rtl.texi (REG_NOTES): Likewise.
15897         * dwarf2out.c (dwarf2out_frame_debug): Use it.  Recognize a store
15898         without an offset.
15899
15900 Sat Sep  5 14:47:17 1998  Richard Henderson  <rth@cygnus.com>
15901
15902         * i386.h (PREFERRED_RELOAD_CLASS): Standard fp constants load to TOS.
15903         * i386.md (movsf, movdf, movxf): Validate memory address returned
15904         from force_const_mem.  Kill useless REG_EQUAL setting code.
15905
15906 Sat Sep  5 14:23:31 1998  Torbjorn Granlund  <tege@matematik.su.se>
15907
15908         * m68k.md (zero_extendsidi2): Fix typo.
15909
15910 Sat Sep  5 13:40:24 1998  Krister Walfridsson  <cato@df.lth.se>
15911
15912         * configure.in: Removed references to the removed file.
15913         * config/xm-netbsd.h: Use ${cpu_type}/xm-netbsd.h for
15914         arm*-*-netbsd* and ns32k-*-netbsd*.
15915         * config/i386/xm-netbsd.h: Removed unnecessary file.
15916         * config/m68k/xm-netbsd.h: Likewise.
15917         * config/sparc/xm-netbsd.h: Likewise.
15918         * config/mips/xm-netbsd.h: Likewise.
15919
15920 Sat Aug 29 13:32:58 1998  Mumit Khan  <khan@xraylith.wisc.edu>
15921
15922         * i386/cygwin32.h (BIGGEST_ALIGNMENT): Define.
15923         (PCC_BITFIELD_TYPE_MATTERS): Define to be 0.
15924
15925         * i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't check for
15926         for exact section attributions.
15927
15928         * i386/mingw32.h (CPP_PREDEFINES): Add __MSVCRT__ for msvc
15929         runtime.
15930         * i386/crtdll.h (CPP_PREDEFINES): Define.
15931
15932 Sat Sep  5 03:23:05 1998  Jeffrey A Law  (law@cygnus.com)
15933
15934         * m68k.md (5200 movqi): Do not allow byte sized memory references
15935         using address regs.
15936         * m68k.c (output_move_qimode): Do not use byte sized operations on
15937         address registers.
15938
15939         * Makefile.in (pexecute.o): Use pexecute.c from libiberty.  Provide
15940         explicit rules for building.  Similarly for alloca, vfprintf,
15941         choose-temp and mkstemp, getopt, getopt1, and obstack.
15942         (INCLUDES): Add $(srcdir)/../include.
15943         * pexecute.c, alloca.c, vfprintf.c, choose-temp.c, mkstemp.c: Delete.
15944         * getopt.h, getopt.c getopt1.c, obstack.c, obstack.h: Likewise.
15945
15946 Fri Sep  4 11:57:50 1998  Tom Tromey  <tromey@cygnus.com>
15947
15948         * gcc.c (do_spec_1): [case 'o'] Account for
15949         lang_specific_extra_outfiles.
15950         (main): Correctly clear all slots in outfiles for
15951         lang_specific_extra_outfiles.  Set input_file_number before
15952         calling lang_specific_pre_link.
15953
15954 Fri Sep  4 10:37:07 1998  Jim Wilson  <wilson@cygnus.com>
15955
15956         * loop.c (load_mems): Fix JUMP_LABEL field after for_each_rtx call.
15957
15958 Fri Sep  4 02:01:05 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
15959
15960         * config/sparc/sparc.c (output_double_int): In all V9 symbolic
15961         cases, use xword.
15962         (sparc_output_deferred_case_vectors): If no work to do, return.
15963         Fix thinko in Sept 1 change.
15964
15965 1998-09-03  SL Baur  <steve@altair.xemacs.org>
15966
15967         * Makefile.in: Add semicolon in BISON definition for portability.
15968
15969 Thu Sep  3 13:34:41 1998  Toon Moene  <toon@moene.indiv.nluug.nl>
15970
15971         * config/nextstep.c (handle_pragma): Correct name of third
15972         argument.
15973
15974 Tue Sep  1 11:30:33 1998  Nick Clifton  <nickc@cygnus.com>
15975
15976         * config/m32r/m32r.md: Change (reg:CC 17) to (reg:SI 17).
15977         * config/m32r/m32r.h: Make register 17 be fixed.
15978         * config/m32r/m32r.c: Use SImode for cc operations.
15979
15980 Thu Sep  3 18:17:34 1998  Benjamin Kosnik  <bkoz@cygnus.com>
15981
15982         * invoke.texi (Warning Options): Add -Wnon-template-friend
15983         documentation.
15984
15985 Thu Sep  3 18:16:16 1998  Michael Meissner  <meissner@cygnus.com>
15986
15987         * rs6000.c (rs6000_override_options): Add -mcpu={401,e603e}.
15988
15989 Thu Sep  3 18:05:16 1998  David Edelsohn  <edelsohn@gnu.org>
15990
15991         * rs6000.md (movsf): Disable explicit secondary-reload-like
15992         functionality if TARGET_POWERPC64.
15993         (movdf): Remove TARGET_POWERPC64 explicit secondary-reload-like
15994         functionality.
15995
15996 Thu Sep  3 11:41:40 1998  Robert Lipe  <robertl@dgii.com>
15997
15998         * fixinc.sco: Borrow code to wrap 'bool' typedefs from tinfo.h
15999         and term.h from fixinc.wrap.
16000
16001 Thu Sep  3 09:47:31 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16002
16003         * aclocal.m4 (GCC_HEADER_STRING): New macro to detect if it is
16004         safe to include both string.h and strings.h together.
16005         (GCC_NEED_DECLARATION): Test STRING_WITH_STRINGS when deciding
16006         which headers to search for function declarations.  Continue to
16007         prefer string.h over strings.h when both are not acceptable.
16008
16009         * acconfig.h (STRING_WITH_STRINGS): Add stub.
16010
16011         * configure.in: Call GCC_HEADER_STRING.
16012
16013         * system.h: Test STRING_WITH_STRINGS when deciding which headers
16014         to include.  Continue to prefer string.h over strings.h when both
16015         are not acceptable.
16016
16017 Wed Sep  2 23:56:29 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
16018
16019         * config/sparc/sparc.c (output_double_int): If V9 and MEDLOW, do
16020         not assume top 32-bits of symbolic addresses are zero if
16021         flag_pic.
16022
16023 Thu Sep  3 00:23:21 1998  Richard Henderson  <rth@cygnus.com>
16024
16025         * ginclude/va-alpha.h: Protect entire second portion of the
16026         file against double inclusion.
16027
16028 Thu Sep  3 00:37:55 1998  Ovidiu Predescu  <ovidiu@aracnet.com>
16029
16030         Added support for the Boehm's garbage collector.
16031         * configure.in: Handle --enable-objc-gc.
16032         * configure: Rebuilt.
16033         * Makefile.in (CHECK_TARGETS): Add check-objc.
16034         (check-objc): New rule.
16035         * objc/Make-lang.in: Build a different Objective-C library that
16036         runs with the Boehm's collector.
16037         * objc/encoding.c (objc_round_acc_size_for_types): New function.
16038         * objc/encoding.c: Correctly compute the size of compound types in
16039         the presence of bitfields. Skip the variable name of the type if
16040         any. Added support for long long.
16041         * objc/encoding.h (_C_GCINVISIBLE): New specifier.
16042         (_F_GCINVISIBLE): New mask.
16043         * objc/gc.c: New file. Compute the type memory mask associated with
16044         a class based on the runtime information.
16045         * objc/misc.c: Added the hooks that use the Boehm's collector
16046         allocation functions.
16047         * objc/objc-act.c (build_class_template): Generate a new class
16048         member (gc_object_type) to hold the class' type memory mask.
16049         (build_shared_structure_initializer): Initialize the new member to
16050         NULL.
16051         (encode_complete_bitfield): New function. Generate the new
16052         encoding.
16053         (encode_field_decl): Generate the new encoding only for the GNU
16054         runtime.
16055         * objc/objc-api.h (_C_LNG_LNG, _C_ULNG_LNG): New specifiers for the
16056         long long types.
16057         (class_get_gc_object_type): New function to mark a pointer instance
16058         variable as a weak pointer.
16059         * objc/objc-features.texi: New file.
16060         * objc/objc.h (gc_object_type): New class member.
16061         * objc/objects.c (class_create_instance): Create a typed memory
16062         object when compiled with Boehm's collector support.
16063         * objc/sendmsg.c (__objc_init_install_dtable): Call
16064         __objc_send_initialize instead of setting the initialize flag.
16065         (__objc_send_initialize): Call __objc_generate_gc_type_description
16066         to generate the class type memory mask. Rewrite the code that
16067         sends the +initialize so that it is called only once (bug report
16068         and fix from Ronald Pijnacker <Ronald.Pijnacker@best.ms.philips.com>).
16069         * testsuite/objc: New testsuite for Objective-C type encoding.
16070         * testsuite/lib/objc-torture.exp: New file.
16071         * testsuite/lib/objc.exp: New file.
16072
16073 Wed Sep  2 14:47:36 1998  Jim Wilson  <wilson@cygnus.com>
16074
16075         * jump.c (jump_optimize): In if/then/else transformations, add
16076         another call to modified_between_p for the jump insn.
16077
16078 Wed Sep  2 14:16:49 1998  Jeffrey A Law  (law@cygnus.com)
16079
16080         * fix-header.c (symlink): Treat like readlink.
16081
16082 Wed Sep  2 19:30:06 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
16083
16084         * dwarfout.c (fundamental_type_code): Encode 32 bit floats/doubles
16085         as FT_float.
16086
16087 Wed Sep  2 10:06:07 1998  Nick Clifton  <nickc@cygnus.com>
16088
16089         * config/nextstep.h:    Update HANDLE_PRAGMA macro.
16090         * config/h8300/h8300.h: Update HANDLE_PRAGMA macro.
16091         * config/i960/i960.h:   Update HANDLE_PRAGMA macro.
16092
16093         * config/nextstep.c (handle_pragma): Take three arguments, as per
16094         the new HANDLE_PRAGMA macro specification.
16095         * config/h8300/h8300.c (handle_pragma): Take three arguments, as
16096         per the new HANDLE_PRAGMA macro specification.
16097         * config/i960/i960.c (process_pragma): Take three arguments, as
16098         per the new HANDLE_PRAGMA macro specification.
16099
16100 Wed Sep  2 09:25:29 1998  Nick Clifton  <nickc@cygnus.com>
16101
16102         * c-lex.c (check_newline): Call HANDLE_PRAGMA before
16103         HANDLE_SYSV_PRAGMA if both are defined.  Generate warning messages
16104         if unknown pragmas are encountered.
16105         (handle_sysv_pragma): Interpret return code from
16106         handle_pragma_token ().  Return success/failure indication rather
16107         than next unprocessed character.
16108         (pragma_getc): New function: retrieves characters from the
16109         input stream.  Defined when HANDLE_PRAGMA is enabled.
16110         (pragma_ungetc): New function: replaces characters back into the
16111         input stream.  Defined when HANDLE_PRAGMA is enabled.
16112
16113         * c-pragma.c (handle_pragma_token): Return success/failure status
16114         of the parse.
16115
16116         * c-pragma.h: Change prototype of handle_pragma_token().
16117
16118         * varasm.c (handle_pragma_weak): Only create this function if
16119         HANDLE_PRAGMA_WEAK is defined.
16120
16121         * c-common,c (decl_attributes): If defined call the expression
16122         contained within the INSERT_ATTRIBUTES macro before adding
16123         attributes to a decl.
16124
16125         * tm.texi (HANDLE_PRAGMA): Document the new version of
16126         HANDLE_PRAGMA, which takes three arguments.
16127         (INSERT_ATTRIBUTES): Document this new macro.
16128
16129         * LANGUAGES: Document the new version of HANDLE_PRAGMA and the
16130         new INSERT_ATTRIBUTES macro.
16131
16132 Wed Sep  2 02:03:23 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
16133
16134         * config/sparc/sparc.md (movdf): Only generate special RTL for
16135         LABEL_REFs when PIC.
16136         (move_label_di): Remove.
16137         (movdi_pic_label_ref, movdi_high_pic_label_ref,
16138         movdi_lo_sum_pic_label_ref): New patterns for 64-bit label
16139         references when PIC.
16140         * config/sparc/sparc.h (ASM_OUTPUT_ADDR_VEC_ELT,
16141         ASM_OUTPUT_ADDR_DIFF_ELT): Don't do anything special for MEDLOW,
16142         output an .xword for all 64-bit cases.
16143
16144 Tue Sep  1 15:55:17 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
16145
16146         * config/sparc/sparc.c (finalize_pic): Don't output arbitrary
16147         alignment, use FUNCTION_BOUNDARY instead.
16148         (sparc_output_deferred_case_vectors): Likewise.
16149
16150 Mon Aug 31 17:25:41 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
16151
16152         * config/sparc/sparc.md (movsf_const_intreg): Kill warning.
16153         (movtf_insn_sp64, movtf_no_e_insn_sp64): Reorder alternatives.
16154
16155 Mon Aug 31 13:57:55 1998  Richard Henderson  <rth@cygnus.com>
16156
16157         * alpha/va_list.h: New file.
16158         * alpha/x-alpha (EXTRA_HEADERS): New.  Add va_list.h.
16159
16160 Mon Aug 31 14:55:02 1998  Jeffrey A Law  (law@cygnus.com)
16161
16162         * NEWS: Add SCO Openserver and Unixware 7 notes.
16163
16164         * NEWS: Fix typos.
16165
16166 Mon Aug 31 15:42:18 1998  Dave Brolley  <brolley@cygnus.com>
16167
16168         * varasm.c (compare_constant_1): Handle RANGE_EXPR.
16169         (record_constant_1): Handle RANGE_EXPR.
16170
16171 Mon Aug 31 10:54:03 1998  Richard Henderson  <rth@cygnus.com>
16172
16173         * print-rtl.c (print_rtx): NOTE_INSN_LIVE has an rtx not a bitmap.
16174         * haifa-sched.c (sched_analyze): Handle NOTE_INSN_RANGE_START
16175         and NOTE_INSN_RANGE_END specially.
16176         (reemit_notes): Likewise.
16177
16178 Mon Aug 31 10:18:52 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16179
16180         * sparc.c (TMASK, UMASK): Use `(unsigned)1' not `1U'.
16181         (ultrasparc_sched_init): Remove unneeded &.
16182
16183 Mon Aug 31 10:47:16 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
16184
16185         * config/m68k/m68k.h (TARGET_SWITCHES): Don't remove MASK_68040
16186         for m68020-60, to prevent the use of fintrz.
16187
16188 Sun Aug 30 22:17:20 1998  Mark Mitchell  <mark@markmitchell.com>
16189
16190         * configure.in: If the native compiler is GCC use $(WARN_CFLAGS)
16191         even in stage1.
16192         * Makefile.in: Likewise.
16193         * configure: Regenerated.
16194
16195 Sun Aug 30 22:15:41 1998  H.J. Lu  (hjl@gnu.org)
16196
16197         * configure.in (gxx_include_dir): Changed to
16198         '${prefix}/include/g++'-${libstdcxx_interface}.
16199         * configure: Rebuilt.
16200
16201 Sun Aug 30 20:19:43 1998  Hans-Peter Nilsson  <hp@axis.se>
16202
16203         * expr.c (expand_expr): Change ">" to ">=" making MOVE_RATIO use
16204         consistent.
16205         * tm.texi (Costs): Say MOVE_RATIO is number of mem-mem move
16206         *sequences* *below* which scalar moves will be used.
16207
16208 Sun Aug 30 17:18:43 1998  Jeffrey A Law  (law@cygnus.com)
16209
16210         * collect2.c (mktemp): Delete unused declaration.
16211
16212         * config/xm-netbsd.h: Remove unnecessary file.
16213         * config/*/xm-netbsd.h: Do not include the generic xm-netbsd.h
16214         file anymore, it is not needed.
16215
16216 Sun Aug 30 16:05:45 1998  Mark Mitchell  <mark@markmitchell.com>
16217
16218         * convert.c (convert_to_integer): Issue an error on conversions to
16219         incomplete types.
16220
16221 Sun Aug 30 16:47:20 1998  Martin von Lvwis  <loewis@informatik.hu-berlin.de>
16222
16223         * Makefile.in: Add lang_tree_files and gencheck.h.
16224         * configure.in: Generate them.
16225         * gencheck.c: Include gencheck.h.
16226
16227 Sat Aug 29 21:38:24 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
16228
16229         * config/sparc/sparc.md (pic_lo_sum_di, pic_sethi_di): Rename to
16230         movdi_lo_sum_pic and movdi_high_pic and make visible.
16231         * config/sparc/sparc.c (legitimize_pic_address): For -fPIC,
16232         emit these when Pmode is not SImode.
16233         * config/sparc/linux64.h (SPARC_DEFAULT_CMODEL): Make CM_MEDLOW.
16234
16235 Sat Aug 29 14:59:32 1998  Mumit Khan  <khan@xraylith.wisc.edu>
16236
16237         * i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't emit
16238         .linkonce directive after the first time.
16239
16240 Sat Aug 29 12:39:56 1998  Jeffrey A Law  (law@cygnus.com)
16241
16242         * m68k.md (beq0_di): Generate correct (and more efficient) code when
16243         the clobbered operand overlaps with an input.
16244         (bne0_di): Similarly.
16245
16246         * Makefile.in (INSTALL): Remove "--no-header" argument.
16247
16248         * NEWS: Various updates.
16249
16250 Fri Aug 28 19:00:44 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
16251
16252         * config/sparc/sparc.c (arith_operand, const64_operand,
16253         const64_high_operand, arith_double_4096_operand): Mark mode as
16254         unused.
16255         (create_simple_focus_bits): Remove unused arg highest_bit_set, all
16256         callers changed.
16257         (sparc_emit_set_const64): Remove unused variable i.
16258         (sparc_splitdi_legitimate): Likewise for addr_part.
16259         (ultra_code_from_mask): Likewise for mask.
16260         (ultra_cmove_results_ready_p): Fixup entry modulo calc. and
16261         reverse return values so it matches usage and comments.
16262         (ultra_flush_pipeline): Likewise.
16263         (ultra_fpmode_conflict_exists): Likewise, remove unused variable
16264         this_type, and allow loads and stores of differing FP modes as
16265         they do not create a conflict.
16266         (ultra_find_type): Initialize fpmode to SFmode, fix
16267         parenthesization thinkos in large conditional.
16268         (ultrasparc_sched_init): Mark dump and sched_verbose as unused.
16269         Init free_slot_mask after ultra_cur_hist is reset, not before.
16270         (ultrasparc_rescan_pipeline_state): Remove unused variable ucode.
16271         (ultrasparc_sched_reorder): Don't bzero current pipeline state,
16272         use ultra_flush_pipeline instead, then re-init group pointer.
16273         Fix statement with no effect.  If no progress made in, and no
16274         instructions scheduled at all, advance to new pipeline cycle else
16275         we get into an endless loop.
16276         (ultrasparc_adjust_cost): Remove previous arg.
16277         * config/sparc/sparc.h (ADJUST_COST): Update to reflect that.
16278
16279 Fri Aug 28 13:52:35 1998  Jim Wilson  <wilson@cygnus.com>
16280
16281         * sparc.md (DImode, DFmode, TFmode splits): Delete self_reference
16282         code.  Use reg_overlap_mentioned_p to detect when source and
16283         destination overlap.
16284         (negtf2_notv9+1): Use DFmode instead of SFmode in last two operands.
16285
16286 1998-08-28  Brendan Kehoe  <brendan@cygnus.com>
16287
16288         * loop.c (check_dbra_loop): Pass COMPARISON_VALUE, not
16289         COMPARISON_VAL, into invariant_p.
16290
16291 Fri Aug 28 15:13:25 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
16292
16293         * regmove.c (regclass_compatible_p): New function.
16294         (regmove_optimize): Use it.
16295
16296         Use NREGS parameter instead of calling max_reg_num.
16297
16298         (fixup_match_1): Don't use code = MINUS when later tieing with
16299         a hard register is likely.
16300
16301 Fri Aug 28 14:54:07 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
16302
16303         * loop.c (check_dbra_loop): Fix calculation of FINAL_VALUE when
16304         COMPARISON_VAL was normalized.
16305
16306 Thu Aug 27 20:10:46 1998  Jeffrey A Law  (law@cygnus.com)
16307
16308         * loop.c (check_dbra_loop): The loop ending comparison value
16309         must be an invariant or we can not reverse the loop.
16310
16311         * loop.c (scan_loop): Count down from max_reg_num - 1 to
16312         FIRST_PSEUDO_REGISTER to avoid calling max_reg_num each iteration
16313         of the loop.
16314         (load_mems_and_recount_loop_regs_set): Likewise.
16315
16316         * i386.c (print_operand): Remove obsolete 'c' docs.
16317
16318 Wed Aug 26 17:13:37 1998  Tom Tromey  <tromey@cygnus.com>
16319
16320         * gthr.h: Document __GTHREAD_MUTEX_INIT_FUNCTION.
16321         * frame.c (init_object_mutex): New function.
16322         (init_object_mutex_once): Likewise.
16323         (find_fde): Call it.
16324         (__register_frame_info): Likewise.
16325         (__register_frame_info_table): Likewise.
16326         (__deregister_frame_info): Likewise.
16327
16328 Thu Aug 27 15:14:18 1998  Jeffrey A Law  (law@cygnus.com)
16329
16330         * haifa-sched.c (sched_analyze_insn): Fix thinko in last change.
16331
16332 Thu Aug 27 16:34:51 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
16333
16334         * loop.c (check_dbra_loop): Enable code for reversal
16335         of some loops without a known constant loop end.
16336
16337 Wed Aug 26 18:38:15 1998  Richard Henderson  <rth@cygnus.com>
16338
16339         * haifa-sched.c (last_clock_var): New.
16340         (schedule_block): Initialize it.
16341         (schedule_insn): Use it to fill insn modes with issue information.
16342
16343         * alpha.c (alpha_handle_trap_shadows): Remove do-nothing exit.
16344         Tag trapb and next insn with TImode.
16345         (alphaev5_insn_pipe, alphaev5_next_group, alphaev5_align_insns): New.
16346         (alpha_reorg): Add conditional for alpha_handle_trap_shadows.
16347         Invoke alphaev5_align_insns as appropriate.
16348         * alpha.h (LABEL_ALIGN_AFTER_BARRIER): Was ALIGN_LABEL_AFTER_BARRIER.
16349         (MD_SCHED_VARIABLE_ISSUE): New.
16350         * alpha.md (attr type): Add multi.
16351         (define_asm_attributes): New.
16352         (prologue_stack_probe_loop, builtin_setjmp_receiver): Set type multi.
16353         (arg_home): Likewise.
16354         (fnop, unop, realign): New.
16355
16356 Wed Aug 26 15:55:41 1998  Jim Wilson  <wilson@cygnus.com>
16357
16358         * iris5.h (PREFERRED_DEBUGGING_TYPE): Undef.
16359         * iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define.
16360
16361         * configure.in (powerpc-ibm-aix4.[12]*): Change from 4.[12].*.
16362         (rs6000-ibm-aix4.[12]*): Likewise.
16363         * configure: Regenerate.
16364
16365 Wed Aug 26 09:30:59 1998  Nick Clifton  <nickc@cygnus.com>
16366
16367         * config/arm/thumb.c (thumb_exit): Do not move a4 into lr if it
16368         already contains the return address.
16369
16370 Wed Aug 26 12:57:09 1998  Jeffrey A Law  (law@cygnus.com)
16371
16372         * calls.c (expand_call): Use bitfield instructions to extract/deposit
16373         word sized hunks when loading unaligned args into registers.
16374
16375         * haifa-sched.c (sched_analyze_insn): Only create scheduling
16376         barriers for LOOP, EH and SETJMP notes on the loop_notes list.
16377
16378         * mn10300.h (RTX_COSTS): Handle UDIV and UMOD too.
16379
16380 Wed Aug 26 16:35:37 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
16381
16382         * loop.c (check_dbra_loop): Add some code that would allow reversal
16383         of some loops without a known constant loop end if it were enabled.
16384
16385 Wed Aug 26 11:08:44 1998  Gavin Romig-Koch  <gavin@cygnus.com>
16386
16387         * mips.md (lshrsi3_internal2+2): Fix type-o.
16388
16389 Wed Aug 26 10:53:03 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16390
16391         * system.h: Include stdarg.h/varargs.h, make sure they are ordered
16392         correctly with regards to stdio.h.
16393
16394         * calls.c: Remove stdarg.h/varargs.h.
16395         * cccp.c: Likewise.
16396         * cexp.y: Likewise.
16397         * combine.c: Likewise.
16398         * cpperror.c: Likewise.
16399         * cpplib.c: Likewise.
16400         * cpplib.h: Likewise.
16401         * doprint.c: Likewise.
16402         * emit-rtl.c: Likewise.
16403         * final.c: Likewise.
16404         * fix-header.c: Likewise.
16405         * gcc.c: Likewise.
16406         * genattr.c: Likewise.
16407         * genattrtab.c: Likewise.
16408         * gencodes.c: Likewise.
16409         * genconfig.c: Likewise.
16410         * genemit.c: Likewise.
16411         * genextract.c: Likewise.
16412         * genflags.c: Likewise.
16413         * genopinit.c: Likewise.
16414         * genoutput.c: Likewise.
16415         * genpeep.c: Likewise.
16416         * genrecog.c: Likewise.
16417         * mips-tfile.c: Likewise.
16418         * prefix.c: Likewise.
16419         * protoize.c: Likewise.
16420         * regmove.c: Likewise.
16421         * toplev.c: Likewise.
16422         * tree.c: Likewise.
16423
16424 Wed Aug 26 05:09:27 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
16425
16426         * config/sparc/sparc.c (sparc_override_options): If not
16427         TARGET_FPU, turn off TARGET_VIS.
16428         * config/sparc/sparc.h (TARGET_SWITCHES): Add no-vis.
16429         (LEGITIMATE_CONSTANT_P): Allow SF/DF mode zero when TARGET_VIS.
16430         * config/sparc/sparc.md (movsi_insn): Use fzeros not fzero.
16431         (movdi_insn_sp64): Add VIS fzero alternative.
16432         (clear_sf, clear_df): New VIS patterns.
16433         (movsf, movdf expanders): Allow fp_zero_operand flat out when
16434         TARGET_VIS.
16435         (one_cmpldi2_sp64): Provide new fnot1 VIS alternative.
16436
16437 Tue Aug 25 10:57:41 1998  Mark Mitchell  <mark@markmitchell.com>
16438
16439         * loop.c (n_times_set, n_times_used, may_not_optimize,
16440         reg_single_usage): Convert to varrays.  All uses changed.
16441         (insert_loop_mem): Return a value.
16442         (scan_loop): Tweak AVOID_CC_MODE_COPIES code.
16443         (load_mems_and_recount_loop_regs_set): Likewise.  Grow the arrays, if
16444         necessary.
16445
16446 Tue Aug 25 23:57:12 1998  Jeffrey A Law  (law@cygnus.com)
16447
16448         * From Alexandre:
16449         * configure.in: Do not set thread_file to "irix" since no such
16450         support exists yet.
16451
16452         * sparc.md (float abs/neg splits): Check reload_completed before
16453         calling alter_subreg.
16454
16455 Tue Aug 25 19:17:59 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
16456
16457         * config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): New
16458         function.
16459         * config/sparc/sparc.h: Declare it.
16460         * config/sparc/sparc.md (float abs/neg splits): Use it.
16461         (all other splits): Handle SUBREGs properly where necessary.
16462         (unnamed (1<<x)-1 V8PLUS pattern): Disable for now.
16463
16464 Tue Aug 25 19:48:46 1998  Jeffrey A Law  (law@cygnus.com)
16465
16466         * reorg.c (fill_simple_delay_slots): Do not abort if we encounter
16467         an insn on the unfilled_slots_list that has no delay slots.
16468         (fill_eager_delay_slots): Similarly.
16469
16470 Tue Aug 25 13:35:20 1998  Nick Clifton  <nickc@cygnus.com>
16471
16472         * config/v850/v850.c (movsi_source_operand): Treat CONSTANT_P_RTX
16473         as an ordinary operand.
16474
16475 Tue Aug 25 12:54:57 1998  Jason Merrill  <jason@yorick.cygnus.com>
16476
16477         * tree.c (valid_machine_attribute): Don't apply attributes to both
16478         decl and type.
16479
16480 Tue Aug 25 12:23:20 1998  Richard Henderson  <rth@cygnus.com>
16481
16482         * reload.c (operands_match_p): Handle rtvecs.
16483
16484         * i386.c (legitimate_pic_address_disp_p): New.
16485         (legitimate_address_p): Use it.
16486         (legitimize_pic_address): Use unspecs to represent @GOT and @GOTOFF.
16487         Handle constant pool symbols just like statics.
16488         (emit_pic_move): Use Pmode not SImode for clarity.
16489         (output_pic_addr_const) [SYMBOL_REF]: Remove @GOT and @GOTOFF hacks.
16490         [UNSPEC]: New, handling what we killed above.
16491         [PLUS]: Detect and abort on invalid symbol arithmetic.
16492         * i386.h (CONSTANT_ADDRESS_P): Remove HIGH.
16493
16494 Tue Aug 25 12:02:23 1998  Mark Mitchell  <mark@markmitchell.com>
16495
16496         * alias.c: Include output.h.
16497         (DIFFERENT_ALIAS_SETS_P): Don't treat alias sets as
16498         different if we're in a varargs function.
16499         * Makefile.in (alias.o): Depend on output.h
16500
16501 Tue Aug 25 19:20:12 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
16502
16503         * sh.h (GIV_SORT_CRITERION): Delete.
16504
16505 Tue Aug 25 13:19:46 1998  Dave Brolley  <brolley@cygnus.com>
16506
16507         * regclass.c (regclass): Use xmalloc/free instead of alloca.
16508         * stupid.c (stupid_life_analysis): Likewise.
16509         * reload1.c (reload): Likewise.
16510
16511 Tue Aug 25 05:48:18 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
16512
16513         * config/sparc/sparc.c (arith_4096_operand, arith_add_operand,
16514         arith_double_4096_operand, arith_double_add_operand): New
16515         predicates.
16516         * config/sparc/sparc.h (PREDICATE_CODES): Add them, declare them.
16517         * config/sparc/sparc.md (adddi3, addsi3, subdi3, subsi3): Use
16518         them to transform add/sub 4096 into add/sub -4096.
16519
16520 Mon Aug 24 23:31:03 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
16521
16522         * loop.c (scan_loop): Allocate some slop to handle pseudos
16523         generated by move_movables.
16524         (load_mems_and_recount_loop_regs_set): Honor AVOID_CC_MODE_COPIES
16525         here too.
16526
16527 Mon Aug 24 19:45:40 1998  Jim Wilson  <wilson@cygnus.com>
16528
16529         * tree.def (DECL_RESULT): Correct documentation.
16530
16531 Tue Aug 25 01:15:27 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
16532
16533         * reload1.c (reload_reg_free_before_p): New argument EQUIV;  Changed
16534         all callers.  Abort for RELOAD_FOR_INSN.  RELOAD_FOR_OUTADDR_ADDR:
16535         conflicts will all RELOAD_FOR_OUTPUT reloads.
16536
16537         * reload1.c (reload_cse_regs_1): When deleting a no-op move that
16538         loads the function result, substitute with a USE.
16539
16540 Mon Aug 24 15:20:19 1998  David Edelsohn  <edelsohn@gnu.org>
16541
16542         * rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Use TARGET_POWERPC64
16543         when testing LEGITIMATE_INDEXED_ADDRESS_P DFmode and DImode.
16544         (LEGITIMIZE_ADDRESS): Use TARGET_POWERPC64 for INDEXED fixup.
16545         * rs6000.c (print_operand, case 'L'): Add UNITS_PER_WORD, not 4.
16546         (print_operand, cases 'O' and 'T'): Fix typos in lossage strings.
16547         * rs6000.md (fix_truncdfsi2_store): Remove %w from non-CONST_INT
16548         operand.
16549         (movdf_softfloat32, movdf_hardfloat64, movdf_softfloat64): Change
16550         'o' to 'm' for GPR variant constraints.
16551
16552 Mon Aug 24 10:25:46 1998  Jeffrey A Law  (law@cygnus.com)
16553
16554         * loop.c (scan_loop): Honor AVOID_CC_MODE_COPIES.
16555
16556         * h8300.h (STRIP_NAME_ENCODING): Fix typo.
16557
16558         * sparc.md (TFmode splits): Use reg_overlap_mentioned_p to detect
16559         when the source and destination overlap.
16560
16561         * stmt.c (emit_case_nodes): Change rtx_function to rtx_fn to avoid
16562         clash with global type.
16563
16564 Mon Aug 24 00:53:53 1998  Jason Merrill  <jason@yorick.cygnus.com>
16565
16566         * fixinc.irix: Add curses.h handling from fixinc.wrap.
16567
16568         * c-common.c (combine_strings): Also set TREE_READONLY.
16569         Change warn_write_strings to flag_const_strings.
16570         * c-decl.c, c-tree.h: Likewise.
16571
16572 Sun Aug 23 18:39:11 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
16573
16574         * config/sparc/sparc.c (sparc_emit_set_const32): If outputting a
16575         CONST_INT, not a symbolic reference, don't use a HIGH/LO_SUM
16576         sequence, use SET/IOR instead so CSE can see it.
16577         * config/sparc/sparc.md (movhi_const64_special,
16578         movsi_const64_special): New patterns necessitated by that change.
16579         (movhi_high): Remove.
16580         (movhi_lo_sum): Change to match an IOR.
16581         (movdf_insn_sp32): Test TARGET_V9 not TARGET_ARCH64.
16582         (movdf_insn_v9only): New pattern for when V9 but not ARCH64.
16583         (movdf_insn_sp64): Test both TARGET_V9 and TARGET_ARCH64.
16584         (movdf splits): Allow when not V9 or when not ARCH64 and integer
16585         registers are involved.
16586         (snesi_zero_extend split): Remove reload_completed test.
16587         (unnamed plus and minus zero_extend sidi splits): Add it.
16588
16589 Sun Aug 23 11:56:08 1998  Mark Mitchell  <mark@markmitchell.com>
16590
16591         * extend.texi: Remove description of extension to explicit
16592         instantiation that is now endorsed by standard C++.
16593
16594 Sun Aug 23 09:39:09 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
16595
16596         * config/arc/arc.c (arc_initialize_pic): Remove.
16597         * config/arc/arc.h (INITIALIZE_PIC): Similarly, this routine does
16598         nothing on any platform and is invoked by no-one, it does not even
16599         appear in the documentation.
16600         * config/sparc/sparc.h (INITIALIZE_PIC): Likewise.
16601         * config/sparc/sparc.c (initialize_pic): Likewise.
16602         (find_addr_reg): Remove this as well, no longer referenced after
16603         my rewrite.
16604
16605 Sun Aug 23 00:17:14 1998  Jeffrey A Law  (law@cygnus.com)
16606
16607         * recog.c (validate_replace_rtx_group): New function.
16608         * recog.h (validate_replace_rtx_group): Declare it.
16609         * regmove.c (optimize_reg_copy_3): If any substitution fails, then undo
16610         the entire group of substitutions.
16611
16612 Sat Aug 22 23:31:00 1998  Klaus-Georg Adams  (Klaus-Georg.Adams@chemie.uni-karlsruhe.de)
16613
16614         * loop.c (load_mems): Fix initializers.
16615
16616 Fri Aug 21 23:07:46 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
16617
16618         * config/sparc/sparc.md (TFmode splits): Handle destination
16619         registers being referenced in the address correctly.
16620
16621         * expmed.c (make_tree) [CONST_INT]: Sign extend even if
16622         TREE_UNSIGNED, when bitsize of type's mode is larger than
16623         HOST_BITS_PER_WIDE_INT.
16624
16625 Fri Aug 21 19:31:31 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
16626
16627         * tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR): New tree nodes.
16628         * tree.h (LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
16629         EXIT_BLOCK_LABELED_BLOCK, EXIT_BLOCK_RETURN, LOOP_EXPR_BODY): New
16630         macros.
16631         * expr.c (expand_expr): Handle LABELED_BLOCK_EXPR and
16632         EXIT_BLOCK_EXPR.
16633
16634 Thu Aug 20 19:43:44 1998  Jeffrey A Law  (law@cygnus.com)
16635
16636         * h8300.c (h8300_encode_label): Use '&' for tiny data items.
16637         * h8300.h (TINY_DATA_NAME_P): Likewise.
16638         (STRIP_NAME_ENCODING): Handle '&'.
16639
16640         * mn10200.h (REG_OK_FOR_INDEX_P): Do not check the mode of the
16641         register (it could be accessed via an outer SUBREG).
16642         (REG_OK_FOR_BASE_P): Likewise.
16643         (GO_IF_LEGITIMATE_ADDRESS): Consistently use REGNO_OK_FOR_BASE_P.
16644
16645         * remove.c (optimize_reg_copy_3): Abort instead of silently generating
16646         bogus rtl.
16647
16648         * jump.c (rtx_renumbered_equal_p): Do not consider PLUS commutative.
16649
16650 Thu Aug 20 17:35:20 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
16651
16652         * config/sparc/sparc.md (movtf_insn_sp32): All memory operands
16653         must be offsettable so the splits can be made.
16654
16655 Thu Aug 20 13:56:53 1998  Michael Meissner  <meissner@cygnus.com>
16656
16657         * config/i386/winnt.c: Include system.h, not stdio.h to get
16658         sys/param.h pulled in before rtl.h in case the system defines MIN
16659         and MAX.
16660
16661 Thu Aug 20 13:44:20 1998  David Edelsohn  <edelsohn@gnu.org>
16662
16663         * rs6000.md (movqi, movhi): Add CONSTANT_P_RTX.
16664
16665 Thu Aug 20 13:15:11 1998  Dave Brolley  <brolley@cygnus.com>
16666
16667         * stor-layout.c (layout_type): Compute TYPE_SIZE_UNIT correctly for
16668         arrays of bits.
16669         * cpplib.c (cpp_define): Handle macros with parameters.
16670
16671 Wed Aug 19 21:33:19 1998  David Edelsohn  <edelsohn@gnu.org>
16672
16673         * rs6000.c (rs6000_output_load_toc_table): Use ld for 64-bit.
16674         (output_toc): Use single TOC slot or llong minimal-toc for DFmode
16675         and DImode 64-bit.  Use llong for minimal-toc SFmode and
16676         SYMBOL_REF / LABEL_REF 64-bit.
16677         (output_function_profiler): Use llong for profiler label and ld to
16678         load 64-bit label address.
16679
16680 Wed Aug 19 17:52:27 1998  Nick Clifton  (nickc@cygnus.com)
16681
16682         * config/arm/thumb.md (extendqisi2_insn): Cope with REG +
16683         OFFSET addressing.
16684
16685 Wed Aug 19 14:13:31 1998  Jeff Law  (law@cygnus.com)
16686
16687         * version.c: Bump for snapshot.
16688
16689 Wed Aug 19 13:10:30 1998  Jeff Law  (law@cygnus.com)
16690
16691         * version.c: Bump for snapshot.
16692
16693 Wed Aug 19 13:06:47 1998  Jason Merrill  <jason@yorick.cygnus.com>
16694
16695         * collect2.c (extract_init_priority): Use atoi instead of strtoul.
16696
16697 Wed Aug 19 13:51:35 1998  Hans-Peter Nilsson  <hp@axis.se>
16698
16699         * tm.texi (Misc): Fix typo "teh".
16700
16701         * tm.texi (PIC): Fix typo "PPIC".
16702
16703         * tm.texi (Caller Saves): Say that DEFAULT_CALLER_SAVES has no
16704         effect when -O2 and higher.
16705         * invoke.texi (Optimize Options): Likewise for -fcaller-saves.
16706
16707 1998-08-19  Michael Hayes  <michaelh@ongaonga.chch.cri.nz>
16708
16709         * regclass.c: Changed register set documentation to be consistent
16710         with GCC behavior.
16711
16712         * final.c (final_start_function): Removed redundant test for
16713         call_fixed_regs.
16714
16715 Wed Aug 19 13:28:41 1998  Mark Mitchell  <mark@markmitchell.com>
16716
16717         * rtl.h (rtx_function): New type.
16718         (for_each_rtx): New function.
16719         * rtlanal.c (for_each_rtx): Define it.
16720
16721         * recog.c (change_t): New type.
16722         (change_objects, change_old_codes, change_locs, change_olds):
16723         Replace with ...
16724         (changes): New variable.
16725         (validate_change): Dynamically allocate room for more changes, if
16726         necessary.  Uses changes array instead of change_objects, etc.
16727         (apply_change_group): Use changes array instead of
16728         change_objects, etc.
16729
16730         * loop.c (loop_mem_info): New type.
16731         (loop_mems): New variable.
16732         (loop_mems_idx): Likewise.
16733         (looop_mems_allocated): Likewise.
16734         (scan_loop): Remove nregs parameter.
16735         (next_insn_in_loop): New function.
16736         (load_mems_and_recount_loop_regs_set): Likewise.
16737         (load_mems): Likewise.
16738         (insert_loop_mem): Likewise.
16739         (replace_loop_mem): Likewise.
16740         (replace_label): Likewise.
16741         (INSN_IN_RANGE_P): New macro.
16742         (loop_optimize): Don't pass max_reg_num() to scan_loop.
16743         (scan_loop): Remove nregs parameter, compute it after any new
16744         registers are created by load_mems.  Use INSN_IN_RANGE_P and
16745         next_insn_in_loop rather than expanding them inline.  Call
16746         load_mems to load memory into pseudos, if appropriate.
16747         (prescan_loop): Figure out whether or not there are jumps from the
16748         loop to targets other than the label immediately following the
16749         loop.  Call insert_loop_mem to notice all the MEMs used in the
16750         loop, if it could be safe to pull MEMs into REGs for the duration
16751         of the loop.
16752         (strength_reduce): Use next_insn_in_loop.  Tweak comments.
16753
16754 Wed Aug 19 08:29:44 1998  Richard Earnshaw  (rearnsha@arm.com)
16755
16756         * arm.c (arm_override_options): Remove lie about ignoring PIC flag.
16757
16758 Wed Aug 19 07:08:15 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
16759
16760         * config/sparc/sparc.c (finalize_pic): Check for the correct
16761         nonlocal_goto_receiver UNSPEC number.
16762         * config/sparc/sparc.md (nonlocal_goto_receiver): Add comment
16763         making note of this dependency existing in sparc.c.
16764         (negtf2_notv9 split): Give NEG SFmode.
16765         (negsf2): Fix insn output string.
16766
16767 Tue Aug 18 12:40:27 1998  Richard Henderson  <rth@cygnus.com>
16768
16769         * c-common.c (decl_attributes): Issue an error if the argument
16770         to alias is not a string.
16771
16772 Tue Aug 18 10:33:30 1998  Jeffrey A Law  (law@cygnus.com)
16773
16774         * haifa-sched.c (sched_analyze): Put all JUMP_INSNs on the last
16775         pending memory flush list.
16776
16777         * combine.c (can_combine_p): Allow combining insns with REG_RETVAL
16778         notes.
16779         (try_combine): Allow combining insns with REG_LIBCALL notes.
16780
16781         * expr.c (emit_block_move): Do not call memcpy as a libcall
16782         instead build up a CALL_EXPR and call it like any other
16783         function.
16784         (clear_storage): Similarly for memset.
16785
16786         * regmove.c (fixup_match_2): Do not call reg_overlap_mentioned_p
16787         on notes.
16788
16789         * Makefile.in (cplus-dem.o): Provide explicit rules for building
16790         cplus-dem.o.
16791
16792         * regmove.c (optimize_reg_copy_1): Update REG_N_CALLS_CROSSED
16793         and REG_LIVE_LENGTH as successful substitutions are made.
16794
16795 Tue Aug 18 07:15:27 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16796
16797         * config/sparc/sparc.c (ultra_find_type): Add empty semicolon
16798         statement after end of loop label.
16799
16800 Tue Aug 18 07:13:27 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
16801
16802         * config/sparc/sparc.c (ultra_types_avail): New variable.
16803         (ultra_build_types_avail): New function to record mask of insn
16804         types in ready list at this cycle.
16805         (ultrasparc_sched_reorder): Call it.
16806         (ultra_find_type): Use it to quicken the search.  Also simplif
16807         dependency check, don't use rtx_equal_p because we know exactly
16808         what we are looking for.
16809
16810 Tue Aug 18 03:20:53 1998  Richard Earnshaw  (rearnsha@arm.com)
16811
16812         * arm.h (SECONDARY_INPUT_RELOAD_CLASS): Return NO_REGS if compiling
16813         for architecture v4.
16814
16815 Mon Aug 17 21:26:38 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
16816
16817         * config/sparc/sparc.md (sltu, sgeu): Don't FAIL, call
16818         gen_compare_reg.
16819         (movsf_const_intreg, movsf_const_high, movsf_const_lo,
16820         movdf_const_intreg and helper splits): New patterns to move float
16821         constants into integer registers.
16822         (negtf2, negdf2, abstf2, absdf2): Rework using new patterns and
16823         splits.
16824
16825 Mon Aug 17 11:46:19 1998  Jeffrey A Law  (law@cygnus.com)
16826
16827         * From Graham
16828         * tree.c (build_index_type): Copy TYPE_SIZE_UNIT from sizetype
16829         to itype.
16830         * c-decl.c (finish_enum): Copy TYPE_SIZ_UNIT from enumtype to tem.
16831
16832         * rs6000.c (secondary_reload_class): For TARGET_ELF, indicate that
16833         a BASE_REGS register is needed as an intermediate when copying
16834         a symbolic value into any register class other than BASE_REGS.
16835
16836         * expr.c (move_by_pieces): No longer static.  Remove prototype.
16837         * rtl.h (move_by_pieces): Add extern prototype.
16838         * mips.c (expand_block_move): Handle aligned straight line copy by
16839         calling move_by_pieces.
16840
16841         * expr.c (expand_expr): Allow assignments from TImode PARM_DECLs
16842         and VAR_DECLs.
16843
16844 Mon Aug 17 10:28:52 1998  Mark Mitchell  <mark@markmitchell.com>
16845
16846         * stmt.c (expand_end_loop): Tidy.  Allow unconditional
16847         jumps out of the loop to be treated as part of the exit test.
16848
16849 Mon Aug 17 10:06:11 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16850                           Jeff Law  <law@cygnus.com>
16851
16852         * Makefile.in (cplus-dep.o): Use cplus-dem.c from libiberty.
16853         * cplus-dem.c: Delete.
16854
16855         * Makefile.in (fold-const.o): Depend on $(RTL_H).
16856
16857         * fold-const.c: Include rtl.h to get the prototype for
16858         `set_identifier_local_value'.
16859
16860         * loop.c (express_from_1): Remove unused variable `tmp'.
16861         (combine_givs): Cast the first argument of bzero to char *.
16862
16863         * toplev.c (display_help): Remove unused variable `looking_for_start'.
16864
16865         * c-decl.c (init_decl_processing): Remove unneeded &.
16866
16867         * alpha.h (alpha_initialize_trampoline): Provide prototype.
16868
16869         * except.c (set_exception_lang_code, set_exception_version_code):
16870         Change parameter from `short' to `int' to avoid using a gcc
16871         extension.
16872
16873         * except.h (set_exception_lang_code, set_exception_version_code):
16874         Likewise for prototypes.
16875
16876         * flow.c (count_reg_references): Remove unused variables `regno'
16877         and `i'.
16878
16879         * gcse.c (hash_scan_insn): Declare parameter `in_libcall_block'.
16880
16881         * prefix.c (translate_name): Cast the result of `alloca'.
16882
16883         * varray.h (VARRAY_FREE): Reimplement as a `do-while(0)' statement.
16884
16885 Mon Aug 17 09:23:42 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
16886
16887         * config/m68k/m68k.c: Include "system.h" instead of <stdio.h>.
16888         Include "toplev.h".
16889         (valid_dbcc_comparison_p): Mark mode argument as unused.
16890         (symbolic_operand): Likewise.
16891         (legitimize_pic_address): Likewise.
16892         (const_uint32_operand): Likewise.
16893         (const_sint32_operand): Likewise.
16894         * sched.c [!INSN_SCHEDULING]: Define only dummy function
16895         schedule_insns and comment out rest of file.
16896
16897         * m68k.c (output_move_simode_const): Use subl to move a zero into an
16898         address register.
16899         (output_move_[hq]imode): Likewise.
16900
16901 Mon Aug 17 09:15:47 1998  Jeffrey A Law  (law@cygnus.com)
16902
16903         * toplev.c (main): Enable -fstrict-aliasing for -O2 and above.
16904         * invoke.texi: Corresponding changes.
16905
16906 Mon Aug 17 02:03:55 1998  Richard Henderson  <rth@cygnus.com>
16907
16908         * regclass.c (allocate_reg_info): Respect MIN when clearing data.
16909
16910 Sun Aug 16 17:37:06 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
16911
16912         * config/sparc/sparc.c (ultra_code_from_mask,
16913         ultra_cmove_results_ready_p, ultra_fpmode_conflict_exists,
16914         ultra_find_type, ultra_schedule_insn, ultra_flush_pipeline,
16915         ultrasparc_sched_init, ultrasparc_variable_issue,
16916         ultra_rescan_pipeline_state, ultrasparc_sched_reorder): New
16917         functions to describe UltraSPARC pipeline exactly to Haifa.
16918         (ultrasparc_adjust_cost): Indicate IMUL type insns have zero cost,
16919         as there is nothing the scheduler can do about it.  Indicate that
16920         REG_DEP_OUTPUT's collide.  Fixup formatting.
16921         * config/sparc/sparc.h (RTX_COSTS): Fixup integer multiply and
16922         divide costs on Ultra for DImode.
16923         (MD_SCHED_INIT, MD_SCHED_REORDER, MD_SCHED_VARIABLE_ISSUE):
16924         Define.
16925         * config/sparc/sparc.md (ieu_unnamed function unit): Rename to
16926         ieuN and add call_no_delay_slot to type list.
16927         (cti function unit): New unit for branches on UltraSPARC.
16928         (subx/addx insns): Set type to misc.
16929         (sidi zero/sign extension insns on arch64): Set type to shift.
16930         (sign_extendhidi2_insn): Set type to sload.
16931
16932 Sun Aug 16 13:52:00 1998  David Edelsohn  <edelsohn@gnu.org>
16933
16934         * rs6000.c (rs6000_stack_info): Use if == 0 for sizes.
16935         (output_epilog): Use if != 0 for offset.
16936         (rs6000_fatal_bad_address): Prepare for Intl.
16937         * rs6000.h (rs6000_fatal_bad_address): Declare.
16938         * rs6000.md (movsfcc, movdfcc): Use else if.
16939         (elf_high): Use {liu|lis}.
16940         (elf_low): Use {cal|la}.  Remove %a template from old mnemonics.
16941         (movsi): Use rs6000_fatal_bad_address.
16942
16943 Sun Aug 16 01:53:21 1998  Richard Henderson  <rth@cygnus.com>
16944
16945         * reload.c (find_equiv_reg): Reject equivalences separated
16946         by a volatile instruction.
16947
16948 Sun Aug 16 00:21:44 1998  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
16949
16950         * rs6000/linux.h (CPP_OS_DEFAULT_SPEC): Define.
16951
16952 Sat Aug 15 20:51:35 1998  Richard Henderson  <rth@cygnus.com>
16953
16954         * alpha.md (movsicc): Fix mode mismatch.
16955
16956 Sat Aug 15 20:22:33 1998  H.J. Lu  (hjl@gnu.org)
16957
16958         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Handle aggregated
16959         return type.
16960         * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise.
16961
16962 Sat Aug 15 08:39:49 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
16963
16964         * config/sparc/sparc.md (movsi_lo_sum_pic_label_reg): Remove
16965         write-only modifier from operand 1 constraint.
16966
16967 Sat Aug 15 06:28:19 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
16968
16969         * config/sparc/sparc.c (sparc_emit_set_const64_quick1): If
16970         emitting a XOR of -1 at the end, emit a NOT instead for combine's
16971         sake.
16972         (sparc_emit_set_const64): Likewise, also when computing trailing
16973         bits do not negate low_bits and make fast_int an int.
16974
16975 Fri Aug 14 21:07:03 1998  Jeffrey A Law  (law@cygnus.com)
16976
16977         * loop.c (add_label_notes): Do not ignore references to labels
16978         before dispatch tables.  Mirrors Apr 8 change to mark_jump_label.
16979         * gcse.c (add_label_notes): Similarly.
16980
16981         * pa.h (ASM_OUTPUT_MI_THUNK): Strip name encoding.
16982
16983         * m68k.md (adddi_dilshr32): One of the operands must be a register.
16984         (adddi_dishl32): Similarly.
16985
16986 Fri Aug 14 14:12:59 1998  Jason Merrill  <jason@yorick.cygnus.com>
16987
16988         * i386.h (MODES_TIEABLE_P): Reorganize to shut up warnings.
16989         * alias.c (memrefs_conflict_p): Add braces to shut up warnings.
16990         * cse.c (cse_basic_block): Add parens to shut up warnings.
16991
16992 Fri Aug 14 12:58:21 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
16993
16994         * config/sparc/sparc.c (sparc_emit_set_const64_quick2,
16995         sparc_emit_set_const64_longway, const64_is_2insns,
16996         create_simple_focus_bits, sparc_emit_set_const64): Fix more bugs
16997         in 64-bit constant formation.
16998         * config/sparc/sparc.md (snesi_zero_extend split): Generate
16999         rtl for addx not subx.
17000         (define_insn movdi_const64_special): Make available even when
17001         HOST_BITS_PER_WIDE_INT is not 64.
17002         (movdi_lo_sum_sp64_cint, movdi_high_sp64_cint): Remove.
17003         (losum_di_medlow, sethm, setlo): Make op2 symbolic_operand.
17004         (cmp_siqi_trunc_set, cmp_diqi_trunc_set): Encapsulate both
17005         instances of operand 1 inside a QI subreg.
17006         (xordi3_sp64_dbl): Remove '%' constraint for op1.
17007         (one_cmpldi2_sp64): Fix output string.
17008         (one_cmplsi2_not_liveg0): Rewrite to remove unneeded extra
17009         alternative case.
17010         (unnamed arch64 ashift DI): Truncate shift count if greater than
17011         63, not 31.
17012
17013 Fri Aug 14 21:52:53 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
17014
17015         * expr.c (store_expr): Don't optimize away load-store pair
17016         when either source or destination have a side effect.
17017
17018 Fri Aug 14 16:50:10 1998  John Carr  <jfc@mit.edu>
17019
17020         * genrecog.c (add_to_sequence): Fatal error if the modes of the
17021         operands of SET are incompatible.
17022
17023         * alpha.md: Fix max and min patterns so modes of SET operands match.
17024
17025 Fri Aug 14 12:22:55 1998  Ian Lance Taylor  <ian@cygnus.com>
17026
17027         * configure.in: Avoid [[ by using test and changequote.
17028         * configure: Rebuild.
17029
17030 Fri Aug 14 01:22:31 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
17031
17032         * rtl.def (CONSTANT_P_RTX): Fix typo in string name.
17033
17034         * config/sparc/sparc.md (seqdi_special_trunc, snedi_special_trunc,
17035         seqsi_special_extend, snesi_special_extend, snesi_zero_extend and
17036         split, snedi_zero_trunc and split, seqsi_zero_extend and split,
17037         seqdi_zero_trunc and split, pic_lo_sum_di, pic_sethi_di,
17038         movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc, addx_extend_sp32 and
17039         split, addx_extend_sp64, subx_extend_sp64, subx_extend and split):
17040         Fix mismatching modes in SET operands.
17041         (conditional move patterns): Fix formatting.
17042         (unnamed subx arch64 pattern): Remove duplicate insn.
17043
17044 Fri Aug 14 00:34:34 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
17045
17046         * config/sparc/sparc.c (const64_operand, const64_high_operand):
17047         Get it right when HOST_BITS_PER_WIDE_INT is not 64.
17048         (input_operand): Fixup test for what we accept for constant
17049         integers.
17050         (sparc_emit_set_const32, sparc_emit_set_symbolic_const64): Give
17051         set VOIDmode.
17052         (safe_constDI): Remove.
17053         (sparc_emit_set_safe_HIGH64, gen_safe_SET64, gen_safe_OR64,
17054         gen_safe_XOR64): New functions.
17055         (sparc_emit_set_const64_quick1, sparc_emit_set_const64_quick2,
17056         sparc_emit_set_const64_longway, sparc_emit_set_const64): Use
17057         them.
17058         * config/sparc/sparc.md (define_insn xordi3_sp64_dbl): Only make
17059         available when HOST_BITS_PER_WIDE_INT is not 64.
17060         (define_insn movdi_sp64_dbl, movdi_const64_special): Likewise and
17061         move before movdi_insn_sp64 pattern.
17062         (define_insn movdi_lo_sum_sp64_dbl, movdi_high_sp64_dbl): Remove.
17063         (define_insn sethi_di_medlow, seth44, setm44, sethh): Use
17064         symbolic_operand as predicate for second operand.
17065         (DImode minus split on arch32, negsi2 expander, one_cmplsi2
17066         expander): Give set VOIDmode.
17067
17068 Fri Aug 14 01:45:06 1998  Mumit Khan  <khan@xraylith.wisc.edu>
17069
17070         * i386/cygwin32 (DEFAULT_PCC_STRUCT_RETURN): Define.
17071
17072 Fri Aug 14 01:40:21 1998  Geoffrey Keating  <geoffk@ozemail.com.au>
17073
17074         * rs6000/linux.h (LINK_SPEC): Pass -G args to the linker.
17075
17076 Fri Aug 14 01:23:23 1998  Richard Earnshaw  (rearnsha@arm.com)
17077
17078         * arm/netbsd.h (TARGET_DEFAULT): Default includes software floating
17079         point.
17080         (CPP_FLOAT_DEFAULT_SPEC): Re-define accordingly.
17081
17082 Fri Aug 14 01:19:08 1998  Robert Lipe  <robertl@dgii.com>
17083
17084         * install.texi: Various SCO OpenServer tweaks.
17085
17086 Thu Aug 13 20:14:40 1998  Jim Wilson  <wilson@cygnus.com>
17087
17088         * reload1.c (eliminate_regs_in_insn): Handle another case when
17089         eliminating the frame pointer to the hard frame pointer.  Add
17090         missing ep->to_rtx check to one existing case.
17091
17092         * mips/mips.md (movhi_internal2+2): Fix typo mem:SI -> mem:HI.
17093
17094 Thu Aug 13 17:08:11 1998  Jason Merrill  <jason@yorick.cygnus.com>
17095
17096         * tree.h: De-conditionalize init_priority code.
17097
17098         * mips.h (NM_FLAGS): Change from -Bp to -Bn.
17099         * collect2.c (NM_FLAGS): Change from -p to -n.
17100
17101         * configure.in: Turn on collect2 for mipstx39-elf.
17102         Handle use_collect2=no properly.
17103
17104         * c-common.c: De-conditionalize init_priority code.
17105         * collect2.c (extract_init_priority, sort_ids): New fns.
17106         (main): Call sort_ids.
17107         Move sequence_number to file scope.
17108
17109         * configure.in: Handle --enable-init-priority.
17110         * c-common.c (attrs): Add A_INIT_PRIORITY.
17111         (init_attributes, decl_attributes): Likewise.
17112         * tree.h (DEFAULT_INIT_PRIORITY, MAX_INIT_PRIORITY): New macros.
17113         * tree.c (get_file_function_name_long): Split out...
17114         (get_file_function_name): ...from here.
17115
17116 Thu Aug 13 16:09:53 1998  Martin von Loewis  <loewis@informatik.hu-berlin.de>
17117
17118         * expr.c (safe_from_p): Change code to ERROR_MARK only when not
17119         accessing nodes.
17120
17121 Thu Aug 13 15:24:48 1998  Jason Merrill  <jason@yorick.cygnus.com>
17122
17123         * toplev.c (display_help): Add braces to shut up warnings.
17124         * tree.c (simple_cst_equal): Likewise.
17125
17126         * fold-const.c (non_lvalue): Don't deal with null pointer
17127         constants here.
17128         (fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR.
17129
17130         * c-typeck.c (initializer_constant_valid_p): Allow conversion of 0
17131         of any size to a pointer.
17132
17133 Thu Aug 13 12:53:13 1998  Jim Wilson  <wilson@cygnus.com>
17134
17135         * i386/winnt.c (i386_pe_asm_file_end): Check TREE_SYMBOL_REFERENCED.
17136
17137 Wed Aug 12 17:25:18 1998  Jeffrey A Law  (law@cygnus.com)
17138
17139         * mn10300.c (REG_SAVE_BYTES): Only reserve space for registers
17140         which will be saved.
17141         * mn10300.md (prologue insn): Only save registers which need saving.
17142         (epilogue insn): Similarly.
17143
17144         * mn10300.c, mn10300.h, mn10300.md: Remove "global zero register"
17145         optimizations.
17146
17147 Wed Aug 12 12:39:16 1998  Gavin Romig-Koch  <gavin@cygnus.com>
17148
17149         * mips/mips.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG for
17150         VAR_DECL's in gp addressable sections.
17151
17152 Tue Aug 11 23:02:31 1998  John Carr  <jfc@mit.edu>
17153
17154         * sparc.c: Change return <exp> to <exp>; return; in functions
17155         returning void.
17156         * sparc.md: Add empty semicolon statement after final label in
17157         move expanders.
17158
17159 Tue Aug 11 22:42:01 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
17160
17161         * config/sparc/sparc.md (define_insn addx_extend): Rename to
17162         addx_extend_sp64, only allow when TARGET_ARCH64.
17163         (define_insn addx_extend_sp32 and split): Version that works when
17164         not TARGET_ARCH64.
17165         (define_insn subx_extend): Likewise.
17166         (define_split adddi3 and subdi3 with zero extension): Fixup and
17167         correct bugs when not TARGET_ARCH64.
17168
17169 Tue Aug 11 16:04:34 1998  John Carr  <jfc@mit.edu>
17170
17171         * except.c (set_exception_lang_code, set_exception_version_code):
17172         Use prototype-style definition if __STDC__, to match declaration
17173         in except.h.
17174
17175         * genemit.c: Change FAIL and DONE macros not to use loops.
17176
17177 Tue Aug 11 12:27:03 1998  Jim Wilson  <wilson@cygnus.com>
17178
17179         * dwarf2out.c (ASM_OUTPUT_DWARF_ADDR_CONST): Use
17180         ASM_OUTPUT_DWARF2_ADDR_CONST if defined.
17181
17182         * mips/mips.md (reload_outsi): Use M16_REG_P when TARGET_MIPS16.
17183
17184 Tue Aug 11 18:12:53 1998  Dave Love  <d.love@dl.ac.uk>
17185
17186         * README.g77: Update from Craig.
17187
17188 Tue Aug 11 04:46:01 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
17189
17190         * config/sparc/sparc.c (sparc_emit_set_const32): INTVAL is of
17191         type HOST_WIDE_INT.
17192         (safe_constDI sparc_emit_set_const64_quick1,
17193         sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway,
17194         analyze_64bit_constant, const64_is_2insns,
17195         create_simple_focus_bits): Fix some bugs when compiled on real
17196         64-bit hosts.
17197         (function_arg_record_value_3, function_arg_record_value_2,
17198         function_arg_record_value): Add fully prototyped forward decls.
17199         * config/sparc/sparc.md (define_insn cmpsi_insn_sp32): Rename back
17200         to cmpsi_insn and use on both 64 and 32 bit targets.
17201         (define_insn cmpsi_insn_sp64): Remove.
17202         (define_expand zero_extendsidi2): Allow for 32-bit target too.
17203         (define_insn zero_extendsidi2_insn): Rename to
17204         zero_extendsidi2_insn_sp64.
17205         (define_insn zero_extendsidi2_insn_sp32): New pattern and
17206         associated forced split for it.
17207
17208         * config/sparc/sparc.c (const64_operand, const64_high_operand):
17209         New predicates.
17210         * config/sparc/sparc.h: Declare them.
17211         (PREDICATE_CODES): Add them.
17212         * config/sparc/sparc.md (movdi_lo_sum_sp64_dbl,
17213         movdi_high_sp64_dbl, xordi3_sp64_dbl): Use them.
17214
17215 Mon Aug 10 22:57:24 1998  John Carr  <jfc@mit.edu>
17216
17217         * config/sparc/sparc.md (define_insn jump): Output ba,pt not b,pt
17218         in v9 case as the latter makes the Solaris assembler crash.
17219
17220 Mon Aug 10 22:39:09 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
17221
17222         * config/sparc/sparc.c (input_operand): Do not accept a LO_SUM MEM
17223         for TFmode when !v9.  We require offsettable memory addresses.
17224         * config/sparc/sparc.h (ALTER_HARD_SUBREG): Handle TFmode to
17225         DFmode register number conversions.
17226         * config/sparc/sparc.md (define_split DFmode moves): If register
17227         is a SUBREG do alter_subreg on it before using.
17228         (define_expand movtf): Fixup comment about alignment on v9.
17229         (define_split TFmode moves): Don't use gen_{high,low}part, create
17230         explicit SUBREGs instead.
17231
17232 Mon Aug 10 19:02:55 1998  John Carr  <jfc@mit.edu>
17233
17234         * Makefile.in (mbchar.o): Depend on mbchar.c.
17235
17236 Mon Aug 10 04:28:13 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
17237                           Richard Henderson  <rth@cygnus.com>
17238
17239         Rewrite Sparc backend for better code generation and
17240         improved sparc64 support.
17241         * config/sparc/sp64-elf.h: Set JUMP_TABLES_IN_TEXT_SECTION to
17242         zero.
17243         * config/sparc/sysv4.h: Likewise.
17244         * config/sparc/sparc.c (v8plus_regcmp_p, sparc_operand,
17245         move_operand, v8plus_regcmp_op, emit_move_sequence,
17246         singlemove_string, doublemove_string, mem_aligned_8,
17247         output_move_double, output_move_quad, output_fp_move_double,
17248         move_quad_direction, output_fp_move_quad, output_scc_insn):
17249         Remove.
17250         (small_int_or_double): New predicate.
17251         (gen_compare_reg): Remove TARGET_V8PLUS cmpdi_v8plus emission.
17252         (legitimize_pic_address): Emit movsi_{high,lo_sum}_pic instead of
17253         old pic_{sethi,lo_sum}_si patterns.
17254         (mem_min_alignment): New generic function to replace
17255         mem_aligned_8, which uses REGNO_POINTER_ALIGN information when
17256         available and can test for arbitrary alignments.  All callers
17257         changed.
17258         (save_regs, restore_regs, build_big_number,
17259         output_function_prologue, output_cbranch, output_return,
17260         sparc_flat_save_restore, sparc_flat_output_function_prologue,
17261         sparc_flat_output_function_epilogue): Prettify
17262         insn output.
17263         (output_function_epilogue): Likewise and add code to output
17264         deferred case vectors.
17265         (output_v9branch): Likewise, add new arg INSN and use it to tack
17266         on branch prediction settings.  All callers changed.
17267         (print_operand): Likewise and output %l44 for LO_SUMs when
17268         TARGET_CM_MEDMID.
17269         (sparc_splitdi_legitimate): New function to make sure DImode
17270         splits can be run properly when !arch64.
17271         (sparc_initialize_trampoline, sparc64_initialize_trampoline):
17272         Reformat example code in comments.
17273         (set_extends): Remove UNSPEC/v8plus_clear_high case.
17274         (sparc_addr_diff_list, sparc_addr_list): New statics to keep track
17275         of deferred case vectors we need to output.
17276         (sparc_defer_case_vector): Record a case vector.
17277         (sparc_output_addr_vec, sparc_output_addr_diff_vec,
17278         sparc_output_deferred_case_vectors): New functions to output them.
17279         (sparc_emit_set_const32): New function to form 32-bit constants in
17280         registers when that requires more than one instruction.
17281         (safe_constDI, sparc_emit_set_const64_quick1,
17282         sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway,
17283         analyze_64bit_constant, const64_is_2insns,
17284         create_simple_focus_bits, sparc_emit_set_const64): New functions
17285         which do the same for 64-bit constants when arch64.
17286         (sparc_emit_set_symbolic_const64): New function to emit address
17287         loading for all code models on v9.
17288         * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Do not make
17289         %g1 fixed when arch64, unfix %g0 when TARGET_LIVE_G0.
17290         (ALTER_HARD_SUBREG): Fix thinko, return REGNO + 1 not 1.
17291         (SECONDARY_INPUT_RELOAD_CLASS, SECONDARY_OUTPUT_RELOAD_CLASS): Fix
17292         inaccuracies in comments, add symbolic and text_segment operands
17293         when TARGET_CM_MEDANY and TARGET_CM_EMBMEDANY respectively.  Use
17294         GENERAL_REGS in these cases as a temp REG is needed to load these
17295         addresses into a register properly.
17296         (EXTRA_CONSTRAINT): Document more accurately, remove Q case as it
17297         is no longer used.
17298         (GO_IF_LEGITIMATE_ADDRESS): Allow TFmode for LO_SUM on v9 since fp
17299         quads are guaranteed to have 16-byte alignment.
17300         (LEGITIMIZE_ADDRESS): For SYMBOL_REF, CONST, and LABEL_REF use
17301         copy_to_suggested_reg instead of explicit LO_SUM and HIGH.
17302         (ASM_OUTPUT_ADDR_VEC, ASM_OUTPUT_ADDR_DIFF_VEC): New macros for
17303         deferred case vector implementation.
17304         (ASM_OUTPUT_ADDR_VEC_ELT): Use fputc to output newline.
17305         (ASM_OUTPUT_ADDR_DIFF_ELT): Parenthesize LABEL in macro calls.
17306         Generate "internal label - label" instead of "label - 1b".
17307         (PRINT_OPERAND_ADDRESS): For LO_SUM use %l44 on TARGET_CM_MEDMID.
17308         (PREDICATE_CODES): Remove sparc_operand, move_operand,
17309         v8plus_regcmp_op.  Add small_int_or_double, input_operand, and
17310         zero_operand.
17311         (doublemove_string, output_block_move, output_fp_move_double,
17312         output_fp_move_quad, output_move_double, output_move_quad,
17313         output_scc_insn, singlemove_string, mem_aligned_8, move_operand,
17314         sparc_operand, v8plus_regcmp_op, v8plus_regcmp_p): Remove externs.
17315         (sparc_emit_set_const32, sparc_emit_set_const64,
17316         sparc_emit_set_symbolic_const64, input_operand, zero_operand,
17317         mem_min_alignment, small_int_or_double): Add externs.
17318         * config/sparc/sparc.md: Document the many uses of UNSPEC and
17319         UNSPEC_VOLATILE in this backend.
17320         (define_function_unit ieu): Rename to ieu_unnamed.  Add move and
17321         unary to types which execute in it.
17322         (define_function_unit ieu_shift): Rename to ieu0.
17323         (define_function_unit ieu1): New, executes compare, call, and
17324         uncond_branch type insns.
17325         (define_function_units for type fdivs, fdivd, fsqrt): These
17326         execute in the fpu multiply unit not the adder on UltraSparc.
17327         (define_expand cmpdi): Disallow TARGET_V8PLUS.
17328         (define_insn cmpsi_insn): Rename to cmpsi_insn_sp32.
17329         (define_insn cmpsi_insn_sp64): New, same as sp32 variant except it
17330         allows the arith_double_operand predicate and rHI constraint when
17331         TARGET_ARCH64.
17332         (define_insn cmpdi_sp64, cmpsf_fpe, cmpdf_fpe, cmptf_fpe,
17333         cmpsf_fp, cmpdf_fp, cmptf_fp, sltu_insn, neg_sltu_insn,
17334         neg_sltu_minux_x, neg_sltu_plus_x, sgeu_insn, neg_sgeu_insn,
17335         sltu_plus_x, sltu_plus_x, sltu_plus_x_plus_y, x_minus_sltu,
17336         sgeu_plus_x, x_minus_sgeu, movqi_cc_sp64, movhi_cc_sp64,
17337         movsi_cc_sp64, movdi_cc_sp64, movsf_cc_sp64, movdf_cc_sp64,
17338         movtf_cc_sp64, movqi_cc_reg_sp64, movhi_cc_reg_sp64,
17339         movsi_cc_reg_sp64, movdi_cc_reg_sp64, movsf_cc_reg_sp64,
17340         movdf_cc_reg_sp64, movtf_cc_reg_sp64, zero_extendhisi2_insn,
17341         cmp_siqi_trunc, cmp_siqi_trunc_set, sign_extendhisi2_insn,
17342         sign_extendqihi2_insn, sign_extendqisi2_insn,
17343         sign_extendqidi2_insn, sign_extendhidi2_insn,
17344         extendsfdf2, extendsftf2, extenddftf2, truncdfsf2, trunctfsf2,
17345         trunctfdf2, floatsisf2, floatsidf2, floatsitf2, floatdisf2,
17346         floatdidf2, floatditf2, fix_truncsfsi2, fix_truncdfsi2,
17347         fix_trunctfsi2, fix_truncsfdi2, fix_truncdfdi2, fix_trunctfdi2,
17348         adddi3_sp64, addsi3, cmp_ccx_plus, cmp_cc_plus_set, subdi_sp64,
17349         subsi3, cmp_minus_ccx, cmp_minus_ccx_set, mulsi3, muldi3,
17350         muldi3_v8plus, cmp_mul_set, mulsidi3, mulsidi3_v8plus,
17351         const_mulsidi3_v8plus, mulsidi3_sp32, const_mulsidi3,
17352         smulsi3_highpart_v8plus, unnamed subreg mult,
17353         const_smulsi3_highpart_v8plus, smulsi3_highpart_sp32,
17354         const_smulsi3_highpart, umulsidi3_v8plus, umulsidi3_sp32,
17355         const_umulsidi3, const_umulsidi3_v8plus, umulsi3_highpart_v8plus,
17356         const_umulsi3_highpart_v8plus, umulsi3_highpart_sp32,
17357         const_umulsi3_highpart, divsi3, divdi3, cmp_sdiv_cc_set, udivsi3,
17358         udivdi3, cmp_udiv_cc_set, smacsi, smacdi, umacdi, anddi3_sp64,
17359         andsi3, and_not_di_sp64, and_not_si, iordi3_sp64, iorsi3,
17360         or_not_di_sp64, or_not_si, xordi3_sp64, xorsi3, xor_not_di_sp64,
17361         xor_not_si, cmp_cc_arith_op, cmp_ccx_arith_op,
17362         cmp_cc_arith_op_set, cmp_ccx_arith_op_set, cmp_ccx_xor_not,
17363         cmp_cc_xor_not_set, cmp_ccx_xor_not_set, cmp_cc_arith_op_not,
17364         cmp_ccx_arith_op_not, cmp_cc_arith_op_not_set,
17365         cmp_ccx_arith_op_not_set, negdi2_sp64, cmp_cc_neg, cmp_ccx_neg,
17366         cmp_cc_set_neg, cmp_ccx_set_neg, one_cmpldi2_sp64, cmp_cc_not,
17367         cmp_ccx_not, cmp_cc_set_not, cmp_ccx_set_not, addtf3, adddf3,
17368         addsf3, subtf3, subdf3, subsf3, multf3, muldf3, mulsf3,
17369         muldf3_extend, multf3_extend, divtf3, divdf3, divsf3, negtf2,
17370         negdf2, negsf2, abstf2, absdf2, abssf2, sqrttf2, sqrtdf2, sqrtsf2,
17371         ashlsi3, ashldi3, unnamed DI ashift, cmp_cc_ashift_1,
17372         cmp_cc_set_ashift_1, ashrsi3, ashrdi3, unnamed DI ashiftrt,
17373         ashrdi3_v8plus, lshrsi3, lshrdi3, unnamed DI lshiftrt,
17374         lshrdi3_v8plus, tablejump_sp32, tablejump_sp64, call_address_sp32,
17375         call_symbolic_sp32, call_address_sp64, call_symbolic_sp64,
17376         call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
17377         call_address_untyped_struct_value_sp32,
17378         call_symbolic_untyped_struct_value_sp32, call_value_address_sp32,
17379         call_value_symbolic_sp32, call_value_address_sp64,
17380         call_value_symbolic_sp64, branch_sp32, branch_sp64,
17381         flush_register_windows, goto_handler_and_restore,
17382         goto_handler_and_restore_v9, goto_handler_and_restore_v9_sp64,
17383         flush, all ldd/std peepholes, return_qi, return_hi, return_si,
17384         return_addsi, return_di, return_adddi, return_sf, all call+jump
17385         peepholes, trap, unnamed trap insns): Prettify output strings.
17386         (define_insn anddi3_sp32, and_not_di_sp32, iordi3_sp32,
17387         or_not_di_sp32, xordi3_sp32, xor_not_di_sp32, one_cmpldi2):
17388         Likewise and force + implement splits for integer cases.
17389         (define_insn return_sf_no_fpu): Likewise and allow to match when
17390         no-fpu because of our subreg SFmode splits.
17391         (define_insn zero_extendqihi2, zero_extendqisi2_insn,
17392         zero_extendqidi2_insn, zero_extendhidi2_insn,
17393         zero_extendsidi2_insn, sign_extendsidi2_insn): Likewise and use
17394         input_operand for second operand.
17395         (cmp_minus_cc, cmp_minus_cc_set): Likewise and use
17396         reg_or_0_operand for operand 2 so new splits can use it.
17397         (cmp_zero_extendqisi2, cmp_zero_extendqisi2_set, cmp_cc_plus,
17398         cmp_cc_xor_not): Likewise and don't forget to check TARGET_LIVE_G0
17399         too.
17400         (cmp_zero_extract, cmp_zero_extract_sp64): Likewise and allow
17401         CONST_DOUBLEs for operand 2.
17402         (define_insn move_label_di): Likewise and label distance
17403         optimization because it no longer works with new deferred case
17404         vector scheme.  To be revisited.
17405         (define_insn x_minus_y_minus_sltu, x_minus_sltu_plus_y): Likewise
17406         and allow reg_or_0_operand and J constraint for second operand.
17407         (define_insn jump): Set branch predict taken on V9.
17408         (define_insn tablejump): Emit LABEL_REF + PLUS memory address for
17409         new deferred case vector scheme.
17410         (define_insn pic_tablejump_32, pic_tablejump_64): Remove.
17411         (define_insn negdi2_sp32): Force + implement splits.
17412         (define_insn negsi2, one_cmplsi2): Rename to negsi2_not_liveg0 and
17413         one_cmplsi2_not_liveg0 respectively, and create expander of original
17414         names which emit special rtl for TARGET_LIVE_G0.
17415         (define_insn cmpdi_v8plus, scc_si, scc_di): Remove.
17416         (define_insn seq, sne, slt, sge, sle, sltu, sgeu): Don't do
17417         gen_compare_reg, FAIL instead.
17418         (define_insn sgtu, sleu): Likewise and check gen_s*() return
17419         values when trying to reverse condition codes, if they FAIL then
17420         do likewise.
17421         (define_insn snesi_zero, neg_snesi_zero, snesi_zero_extend,
17422         snedi_zero, neg_snedi_zero, snedi_zero_trunc, seqsi_zero,
17423         neg_seqsi_zero, seqsi_zero_extend, seqdi_zero, neg_seqdi_zero,
17424         seqdi_zero_trunc, x_plus_i_ne_0, x_minus_i_ne_0, x_plus_i_eq_0,
17425         x_minus_i_eq_0): Add new splits to perform these multi-insn cases,
17426         set output string to # to indicate they are mandatory splits.
17427         (define_insn pic_lo_sum_si, pic_sethi_si, pic_lo_sum_di,
17428         pic_sethi_di, move_pic_label_si): Remove.
17429         (define_insn movsi_low_sum, movsi_high, movsi_lo_sum_pic,
17430         movsi_high_pic, movsi_pic_label_reg): New patterns to take their
17431         place.
17432         (define_expand movsi_pic_label_ref, define_insn
17433         movsi_high_pic_label_ref, movsi_lo_sum_pic_label_ref): New
17434         expander and insns to handle PIC label references and deferred
17435         case vectors.
17436         (define_insn get_pc_via_rdpc): Comment out as it is no longer
17437         used.
17438         (define_expand movqi, movhi, movsi, movdi, movsf, movdf, movtf):
17439         Rewrite to not use emit_move_sequence, make use of new constant
17440         formation code, and new splits for all multi-insn cases.
17441         (define_insn movqi_insn): Remove sethi case, it can never happen.
17442         Use reg_or_zero_operand instead of const0_rtx explicit test,
17443         use input_operand instead of move_operand for source, and use
17444         general_operand now for dest.
17445         (define_insn movhi_insn): Similar but leave sethi case.
17446         (define_insn lo_sum_qi, store_qi, store_hi): Remove.
17447         (define_insn sethi_hi lo_sum_hi): Rename to movhi_high and
17448         movhi_lo_sum respectively, prettify output string.
17449         (define_insn movsi_zero_liveg0): New pattern to put zero into a
17450         register when needed on TARGET_LIVE_G0.
17451         (define_insn movsi_insn): Use general_operand and input_operand
17452         for dest and src respectively.  Simplify applicability test.
17453         Prettify output strings, and add clr alternative for J
17454         constraint.
17455         (define_insn movdi_sp32_v9, movdi_sp32, define_splits for
17456         deprecated std and reg-reg DI moves): Remove and...
17457         (define_insn movdi_insn_sp32, movdi_insn_sp64): Replace with new
17458         implementation which uses forced splits for all non-single insn
17459         cases.
17460         (define_split DI move cases on !arch64): New splits to handle all
17461         situations of 64-bit double register DImode on 32bit, and
17462         unaligned registers and memory addresses for all subtargets.
17463         (define_insn movsf_const_insn, movdf_const_insn, store_sf):
17464         Remove.
17465         (define_insn movsf_insn, movsf_no_f_insn): Use general_operand and
17466         input_operand for dest and src respectively, prettify output
17467         strings.
17468         (define_insn movdf_insn, movdf_no_e_insn, store_df,
17469         movtf_const_insn, movtf_insn, movtf_no_e_insn, store_tf): Remove
17470         and...
17471         (define_insn movdf_insn_sp32, movdf_no_e_insn_sp32,
17472         movdf_insn_sp64, movdf_no_e_insn_sp64, movtf_insn,
17473         movtf_no_e_insn_sp32, movtf_insn_hq_sp64, movtf_insn_sp64,
17474         movtf_no_e_insn_sp64): Replace with new
17475         implementation which uses forced splits for all non-single insn
17476         cases.
17477         (define_split DF move cases): New splits in similar vein to DI
17478         move counterparts.
17479         (define_insn sethi_di_medlow, sethi_di_medium_pic,
17480         sethi_di_embmedany_data, sethi_di_embmedany_text, sethi_di_sp64,
17481         movdi_sp64_insn): Remove old v9 code model and constant loading
17482         support insns and..
17483         (define_insn pic_lo_sum_di, pic_sethi_di,
17484         sethi_di_medlow_embmedany_pic, sethi_di_medlow, losum_di_medlow,
17485         seth44, setm44, setl44, sethh, setlm, sethm, setlo,
17486         embmedany_sethi, embmedany_losum, embmedany_brsum,
17487         embmedany_textuhi, embmedany_texthi, embmedany_textulo,
17488         embmedany_textlo, movdi_lo_sum_sp64_cint, movdi_lo_sum_sp64_dbl,
17489         movdi_high_sp64_cint, movdi_high_sp64_dbl): Replace with new
17490         scheme, using unspecs, secondary reloads, and one to one sparc
17491         insn to rtl insn mapping for better scheduling and code gen.
17492         (define_expand reload_indi, reload_outdi): Reload helpers for
17493         MEDANY and EMBMEDANY symbol address loading cases which require a
17494         temporary register.
17495         (define_expand movsicc): Remove v8plus_regcmp cases.
17496         (define_insn movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc,
17497         cmp_zero_extendqidi2, cmp_zero_extendqidi2_set, cmp_qidi_trunc,
17498         cmp_diqi_trunc_set): New patterns used by some of the new scc
17499         splits on arch64.
17500         (define_insn xordi3_sp64_dbl): New pattern used for constant
17501         formation when crossing from 32-bit targets.
17502         (define_insn movsi_cc_reg_v8plus, v8plus_clear_high, and helper
17503         split): Remove.
17504         (define_insn addx, subx): Make visible and prettify.
17505         (define_insn adddi3_insn_sp32): Likewise and force split.
17506         (define_insn addx_extend, subx_extend, unnamed): New patterns for
17507         64bit scc split usage.
17508         (define_insn unnamed plusDI zero_extend, unnamed minusDI
17509         zero_extend, subdi3): Force and implement splits.
17510
17511         * final.c (final_scan_insn): Don't output labels if target
17512         specifies ASM_OUTPUT_ADDR_{DIFF}_VEC.  Do these macro operations
17513         instead.
17514
17515         * reorg.c (dbr_schedule): When taking on BR_PRED notes at the end,
17516         don't forget to walk inside SEQUENCESs too as these are what the
17517         delay slot scheduler will create.
17518
17519 Mon Aug 10 01:21:01 1998  Richard Henderson  <rth@cygnus.com>
17520
17521         * alpha.md (extxl+1,+2): New patterns to work around
17522         combine lossage.
17523
17524 Sat Aug  8 19:20:22 1998  Gary Thomas  (gdt@linuxppc.org)
17525
17526         * rs6000.c (rs6000_allocate_stack_space): Fix typo which
17527         caused bad assembly code to be generated.
17528
17529 Sat Aug  8 18:53:28 1998  Jeffrey A Law  (law@cygnus.com)
17530
17531         * netbsd.h: Fix typo.
17532
17533 Mon Aug  3 00:06:42 1998  Robert Lipe  <robertl@dgii.com>
17534
17535         * config.sub: Fix typo.
17536
17537 Sun Aug  2 22:39:08 1998  Hans-Peter Nilsson  <hp@axis.se>
17538
17539         * invoke.texi (Environment Variables): Typo: Change "ascpects"
17540         into "aspects".
17541         (Running Protoize): Typo: Change "ther" into "other".
17542
17543 Sun Aug  2 00:42:50 1998  Jeffrey A Law  (law@cygnus.com)
17544
17545         * i386/netbsd.h: Undo previous change to DWARF2_UNWIND_INFO.
17546         * m68k/netbsd.h: Likewise.
17547         * ns32k/netbsd.h: Likewise.
17548         * sparc/netbsd.h: Likewise.
17549
17550 Sat Aug  1 17:59:30 1998  Richard Henderson  <rth@cygnus.com>
17551
17552         * ginclude/va-alpha.h (va_list): Use a typedef, not a define.
17553         * ginclude/va-clipper.h (va_list): Likewise.
17554
17555 Fri Jul 31 20:22:02 1998  Michael Meissner  <meissner@cygnus.com>
17556
17557         * rs6000.c (rs6000_override_options): If big endian and -Os, use
17558         load/store multiple instructions unless user overrides.
17559
17560 Fri Jul 31 17:08:59 1998  Jeffrey A Law  (law@cygnus.com)
17561
17562         * ns32k/netbsd.h: Fix typo.
17563
17564 Fri Jul 31 10:23:55 1998  Doug Evans  <devans@canuck.cygnus.com>
17565
17566         * m32r/m32r.h (ASM_OUTPUT_SOURCE_LINE): Always output line number
17567         labels with .debugsym if no parallel insns.
17568
17569 Thu Jul 30 19:15:53 1998  Richard Henderson  <rth@cygnus.com>
17570
17571         * alpha.md (fp cmp): Replicate patterns for ALPHA_TP_INSN.
17572         (fcmov): Remove ALPHA_TP_INSN patterns -- fcmov doesn't trap.
17573
17574 Thu Jul 30 19:50:15 1998  David Edelsohn  <edelsohn@gnu.org>
17575
17576         * rs6000/x-aix43 (AR_FOR_TARGET_FLAGS): Delete.
17577         (AR_FOR_TARGET): Define.
17578
17579 Thu Jul 30 12:29:12 1998  Mark Mitchell  <mark@markmitchell.com>
17580
17581         * dyn-string.h: New file.
17582         * dyn-string.c: Likewise.
17583         * Makefile.in (OBJS): Add dyn-string.o.
17584         (dwarf2out.o): Add dyn-string.h dependency.
17585         (dyn-string.o): List dependencies.
17586         * dwarf2out.c: Include dyn-string.h.
17587         (ASM_NAME_TO_STRING): Use dyn_string_append, rather than strcpy.
17588         (addr_const_to_string): Take a dyn_string_t, not a char* as a
17589         prototype.  Use dyn_string_append rather than strcat, throughout.
17590         (addr_to_string): Use dyn_string_t.
17591
17592 Thu Jul 30 13:08:07 1998  Ken Raeburn  <raeburn@cygnus.com>
17593
17594         Function entry/exit profiling instrumentation:
17595         * expr.h (profile_function_entry_libfunc,
17596         profile_function_exit_libfunc): Declare new variables.
17597         * optabs.c: Define them here.
17598         (init_optabs): Initialize them.
17599         * tree.h (struct tree_decl): New flag
17600         no_instrument_function_entry_exit.
17601         (DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT): New accessor macro.
17602         * c-decl.c (duplicate_decls): Merge it.
17603         * c-common.c (enum attrs): New value A_NO_INSTRUMENT_FUNCTION.
17604         (init_attributes): Use it for "no_instrument_function".
17605         (decl_attributes): Handle it, for functions that have not yet been
17606         compiled.  Set decl flag.
17607         * flags.h (flag_instrument_function_entry_exit): Declare new
17608         variable.
17609         * toplev.c (flag_instrument_function_entry_exit): Define it here.
17610         (f_options): New option "instrument-functions".
17611         * function.h (struct function): New field instrument_entry_exit.
17612         * function.c (current_function_instrument_entry_exit): New
17613         variable.
17614         (push_function_context_to, pop_function_context_from): Save and
17615         restore.
17616         (expand_function_start): Set current_ variable, maybe emit return
17617         label and entry profile call.
17618         (expand_function_end): Maybe emit exit profile call.
17619
17620 Thu Jul 30 00:58:34 1998  Jeffrey A Law  (law@cygnus.com)
17621
17622         * i386.md (movqi): When optimizing a load of (const_int 1) into a
17623         NON_QI_REG_P, pretend the register is SImode.
17624
17625 Wed Jul 29 23:49:23 1998  Todd Vierling  <tv@netbsd.org>
17626
17627         * configure.in: Use xm-netbsd.h as the NetBSD xm file (not xm-siglist).
17628         Accept arm32 as arm, m68k4k as m68k, mipsle as mips-dec, and any
17629         manufacturer id for ns32k.
17630         * configure: Regenerated.
17631         * config/netbsd.h: When using ASM_WEAKEN_LABEL, make it global too.
17632         * config/t-netbsd: Don't compile libgcc1-test as the fns are in libc.
17633         * config/i386/netbsd.h: Undefine DWARF2_UNWIND_INFO, not define as 0.
17634         * config/m68k/netbsd.h: Same.
17635         * config/ns32k/netbsd.h: Same.
17636         * config/sparc/netbsd.h: Same.
17637
17638 Wed Jul 29 22:39:21 1998  Jeffrey A Law  (law@cygnus.com)
17639
17640         * unroll.c (unroll_loop): Do not abort for an UNROLL_MODULO
17641         or UNROLL_COMPLETELY loop that starts with a jump to its
17642         exit code.
17643
17644 Wed Jul 29 22:18:14 1998  David Edelsohn  <edelsohn@gnu.org>
17645
17646         * rs6000/rs6000.md (absdi2 define_split): Swap operands of MINUS.
17647         * rs6000/rs6000.c (mask64_operand): Use HOST_BITS_PER_WIDE_INT.
17648         (print_operand, case 'B'): Don't fall through.
17649         (print_operand, case 'S'): Correct mask begin/end computation.
17650         Use HOST_BITS_PER_WIDE_INT.
17651         * rs6000/rs6000.h (CPP_PREDEFINES): Define _LONG_LONG.
17652         (CONDITIONAL_REGISTER_USAGE): GPR13 fixed if TARGET_64BIT.
17653         * rs6000/aix41.h (CPP_PREDEFINES): Same.
17654         * rs6000/aix43.h (CPP_PREDEFINES): Same.
17655
17656 Wed Jul 29 11:47:10 1998  Nick Clifton  <nickc@cygnus.com>
17657
17658         * config/arm/thumb.md (extendqisi2_insn): Remove earlyclobber
17659         constraint from second alternative.
17660
17661 Tue Jul 28 23:29:04 1998  Jason Merrill  <jason@yorick.cygnus.com>
17662
17663         * configure.in: Fix --without/--disable cases for local-prefix,
17664         gxx-include-dir and checking.
17665
17666 Tue Jul 28 22:01:23 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
17667
17668         * configure.in (enable_haifa): Set by default for sparc64 too.
17669         configure: Rebuilt.
17670
17671 Tue Jul 28 23:29:04 1998  Jason Merrill  <jason@yorick.cygnus.com>
17672
17673         * i386/cygwin32.h (VALID_MACHINE_TYPE_ATTRIBUTE): New macro.
17674         * i386/winnt.c (associated_type): New fn.
17675         (i386_pe_valid_type_attribute_p): New fn.
17676         (i386_pe_check_vtable_importexport): Remove.
17677         (i386_pe_dllexport_p): Use associated_type.
17678         (i386_pe_dllimport_p): Likewise.
17679
17680         From Antonio M. O. Neto <anmendes@cruzeironet.com.br>:
17681         * i386.c (i386_valid_type_attribute_p): Also accept
17682         attributes for METHOD_TYPEs.
17683
17684 Tue Jul 28 23:17:39 1998  Peter Gerwinski  <peter@gerwinski.de>
17685
17686         * tree.c (build_range_type): Copy TYPE_SIZE_UNIT.
17687
17688 Tue Jul 28 22:31:12 1998  Craig Burley  <burley@gnu.org>
17689
17690         * gcc.c: Fix commentary describing %g, %u, %U, and %O.
17691
17692         * gcc.c (do_spec_1): Fix handling of %g%O and %U%O to prevent
17693         them from generating a new base name for each occurrence of
17694         a specific suffix.
17695
17696 1998-07-28  Vladimir N. Makarov  <vmakarov@cygnus.com>
17697
17698         * cse.c (cse_insn): Enable substitution inside libcall only for REG,
17699         SUBREG, MEM.
17700         * rtlanal.c (replace_rtx): Prohibit replaces in CONST_DOUBLE.
17701
17702         * cplus-dem.c (type_kind_t): New type.
17703         (demangle_template_value_parm): Add type_kind_t parameter.  Rely
17704         on this parameter, rather than demangling the type again.
17705         (demangle_integral_value): Pass tk_integral.
17706         (demangle_template_: Pass the value returned from do_type.
17707         (do_type): Return a type_kind_t.  Pass tk_integral to
17708         demangle_template_value_parm for array bounds.
17709         (demangle_fund_type): Likewise.
17710
17711 Mon Jul 27 00:54:41 1998  Jason Merrill  <jason@yorick.cygnus.com>
17712
17713         * tree.c (simple_cst_equal, case CONSTRUCTOR): OK if the elts are
17714         identical.
17715
17716 Mon Jul 27 22:18:36 1998  Jeffrey A Law  (law@cygnus.com)
17717
17718         * pa.c (move_operand): Accept CONSTANT_P_RTX.
17719
17720 Mon Jul 27 17:18:52 1998  Dave Brolley  <brolley@cygnus.com>
17721
17722         * stor-layout.c (layout_type): Handle arrays of bits, for Chill.
17723
17724         * expr.c (get_inner_reference): Handle zero-based, unsigned, array
17725         index conversion.
17726
17727 Mon Jul 27 14:51:33 1998  Jeffrey A Law  (law@cygnus.com)
17728
17729         * mn10300.h (DEBUGGER_AUTO_OFFSET): Define.
17730         (DEBUGGER_ARG_OFFSET): Likewise.
17731
17732         * mn10300.md (movsf): Remove last change.  Not needed.
17733
17734 Mon Jul 27 14:22:36 1998  Dave Brolley  <brolley@cygnus.com>
17735
17736         * c-lex.c (yylex): Fix boundary conditions in character literal and
17737         string literal loops.
17738
17739 Mon Jul 27 11:43:54 1998  Stan Cox  <scox@cygnus.com>
17740
17741         * longlong.h (count_leading_zeros): Sparclite scan instruction was
17742         being invoked incorrectly.
17743
17744         * i386.c (ix86_prologue): Added SUBTARGET_PROLOGUE invocation.
17745         * i386/cygwin32.h (STARTFILE_SPEC, LIB_SPEC, SUBTARGET_PROLOGUE):
17746         Add -pg support.
17747         * i386/win32.h: New file.  Hybrid mingw32.h/cygwin32.h configuration.
17748         * configure.in: Added i[34567]86-*-win32.
17749         * config.sub: Likewise.
17750         * configure: Rebuilt.
17751
17752 Sun Jul 26 01:11:12 1998  H.J. Lu  (hjl@gnu.org)
17753
17754         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Return 0 when eliminating
17755         the frame pointer and compiling PIC code and reload has not completed.
17756
17757         * i386.c (output_to_reg): Add code to emulate non-popping DImode
17758         case.
17759
17760 Sun Jul 26 01:01:32 1998  Jeffrey A Law  (law@cygnus.com)
17761
17762         * regmove.c (regmove_optimize): Fix typo initializing regmove_bb_head.
17763
17764 Sat Jul 25 23:29:23 1998  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
17765
17766         * Makefile.in (install-info): Only try to update the info
17767         directory file if it exists in the first place.
17768
17769 Fri Jul 24 18:58:37 1998  Klaus Espenlaub  <kespenla@student.informatik.uni-ulm.de>
17770
17771         * rs6000.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Delete.
17772
17773 Fri Jul 24 14:20:26 1998  Jeffrey A Law  (law@cygnus.com)
17774
17775         * mn10300.md (movqi, movhi, movsi, movsf): Correctly handle
17776         CONST_DOUBLE source.
17777
17778 Fri Jul 24 11:17:04 1998  Nick Clifton  <nickc@cygnus.com>
17779
17780         * config/arm/thumb.c (thumb_print_operand): Decode %_ in asm
17781         strings as the insertion of USER_LABEL_PREFIX.
17782         * config/arm/thumb.h (PRINT_OPERAND_PUNCT_VALID_P): Accept _ as a
17783         valid code.
17784         * config/arm/thumb.md: Use %_ as a prefix to gcc library function
17785         calls.
17786
17787 Thu Jul 23 18:53:20 1998  Jim Wilson  <wilson@cygnus.com>
17788
17789         * dbxout.c (dbxout_range_type): Only call dbxout_type_index for
17790         already defined type.
17791
17792 Thu Jul 23 13:49:41 1998  Jeffrey A Law  (law@cygnus.com)
17793
17794         * expr.c (check_max_integer_computation_mode): Allow conversions
17795         of constant integers to MAX_INTEGER_COMPUTATION_MODE.
17796         (expand_expr): Likewise.
17797
17798 Thu Jul 23 11:12:06 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
17799
17800         * expr.c (expand_expr): Expand RETURN_EXPR.
17801
17802 Thu Jul 23 11:00:29 1998  Jim Wilson  <wilson@cygnus.com>
17803
17804         * dwarf2out.c (dwarf2out_finish): Call stripattributes on TEXT_SECTION.
17805
17806 Wed Jul 22 19:10:00 1998  Catherine Moore  <clm@cygnus.com>
17807
17808         * dwarf2out.c (output_aranges): Call stripattributes
17809         for TEXT_SECTION references.
17810         (output_line_info): Likewise.
17811
17812 Wed Jul 22 14:08:54 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
17813
17814         * profile.c (branch_prob): Call allocate_reg_info after outputting
17815         profile rtl in instrument_arcs.
17816
17817 Wed Jul 22 12:47:49 1998  Jim Wilson  <wilson@cygnus.com>
17818
17819         * fixinc.irix (math.h): Install wrapper instead of copying.
17820
17821 Wed Jul 22 12:37:14 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
17822
17823         * tree.def (EXPR_WITH_FILE_LOCATION): Defined as an 'e' expression
17824         so WFL are expanded correctly when contained in a COMPOUND_EXPR.
17825         * tree.h (EXPR_WFL_EMIT_LINE_NOTE): Change macro not to use
17826         lang_flag_0. Added documentation in the flag table.
17827
17828 Tue Jul 21 23:28:35 1998  Klaus Kaempf  <kkaempf@rmi.de>
17829
17830         * cccp.c (do_include): Fix vax c style include handling.
17831
17832 Tue Jul 21 13:28:19 1998  Jason Merrill  <jason@yorick.cygnus.com>
17833
17834         * cplus-dem.c (do_type): Use demangle_template_value_parm for arrays.
17835
17836 Sun Jul 12 01:27:05 1998  Jason Merrill  <jason@yorick.cygnus.com>
17837
17838         * fold-const.c (non_lvalue): Don't deal with null pointer
17839         constants here.
17840         (fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR.
17841
17842 Tue Jul 21 15:49:31 1998  David Edelsohn  <edelsohn@gnu.org>
17843
17844         * rs6000.h (PREDICATE_CODES): Add CONSTANT_P_RTX.
17845         * rs6000.md (movsi, movdi): Add CONSTANT_P_RTX.
17846         * rs6000.c (short_cint_operand): Add CONSTANT_P_RTX.
17847         (u_short_cint_operand): Same.
17848         (reg_or_cint_operand): Same.
17849         (logical_operand): Same.
17850         (input_operand): Same.
17851         (reg_or_short_operand): Use u_short_cint_operand.
17852
17853 Tue Jul 21 08:56:42 1998  Richard Henderson  <rth@cygnus.com>
17854
17855         * alpha.md (fix_truncdfsi2, fix_truncsfsi2): Remove the define_expands,
17856         but keep the insns and splits.  Adjust so when the ultimate destination
17857         is memory, use cvtql.
17858
17859 Tue Jul 21 08:55:09 1998  Richard Henderson  <rth@cygnus.com>
17860
17861         * flow.c (regno_uninitialized): Fixed regs are never uninitialized.
17862
17863 Tue Jul 21 00:31:01 1998  Jeffrey A Law  (law@cygnus.com)
17864
17865         * gcc.c (do_spec): Call "error" not "warning".
17866
17867         * configure.in: Fix minor problems with gas feature detection code.
17868         * configure: Rebuilt.
17869
17870         * gcc.c (do_spec): Issue a warning for '%[]' usage.
17871
17872         * Undo this change.
17873         * gcc.c: Delete %[spec] support.
17874         (do_spec_1, case '('): Likewise.
17875         (do_spec_1, case '['): Call error.
17876
17877 Mon Jul 20 22:34:17 1998  Richard Henderson  <rth@cygnus.com>
17878
17879         * alpha.h (CPP_SPEC): Tidy.  Hook to cpp_cpu and cpp_subtarget.
17880         (CPP_SUBTARGET_SPEC): Default to empty string.
17881         (CPP_AM_*, CPP_IM_*, CPP_CPU_*, CPP_CPU_SPEC): New.
17882         (EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): New.
17883         * alpha/elf.h (LD_SPEC): Use %(elf_dynamic_linker).
17884         * alpha/linux-elf.h (SUBTARGET_EXTRA_SPECS): New.
17885         (LIB_SPEC): Tidy.
17886         * alpha/linux.h (CPP_PREDEFINES): Tidy.
17887         * alpha/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): New.
17888         * alpha/netbsd.h (CPP_PREDEFINES): Tidy.
17889         * alpha/osf.h (CPP_PREDEFINES): Remove bits subsumed by CPP_CPU_SPEC.
17890         * alpha/win-nt.h (CPP_PREDEFINES): Likewise.
17891         * alpha/vsf.h (CPP_PREDEFINES): Likewise.
17892         (CPP_SUBTARGET_SPEC): New.  Do this instead of overriding CPP_SPEC.
17893         * alpha/vxworks.h: Likewise.
17894
17895 Mon Jul 20 22:51:57 1998  Ken Raeburn  <raeburn@cygnus.com>
17896
17897         * mips.md (reload_outsi): Added missing REGNO call.
17898         (smulsi3_highpart, umulsi3_highpart): Provide prototype for
17899         function pointer.
17900         (mul_acc_di, mul_acc_64bit_di): Don't use match_op_dup, use
17901         another match_operator and compare the codes.
17902
17903         * mips.h (MASK_DEBUG_E, MASK_DEBUG_I): Set to zero.
17904
17905         * MIPS multiply pattern fixes:
17906         * mips.h (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
17907         Add union classes for HI, LO, or HILO plus general registers.
17908         (GENERATE_MADD): Deleted.
17909         * mips.md (mulsi3_mult3): Don't disparage output-LO alternative.
17910         Add TARGET_MAD to condition.
17911         (mulsi3): Test HAVE_mulsi3_mult3, not specific flags.
17912         (mul_acc_si): Expand GENERATE_MADD here; it's the only use.  Use
17913         "*d" for accumulator, to give preference to LO initially but not
17914         during reload.
17915
17916 Mon Jul 20 16:16:38 1998  Dave Brolley  <brolley@cygnus.com>
17917
17918         * configure.in (enable_c_mbchar): New configure option.
17919         (extra_cpp_objs): Always available now.
17920
17921         * cexp.y (mbchar.h): #include it.
17922         (yylex): Handle Multibyte characters in character literals.
17923
17924         * cccp.c (mbchar.h): #include it.
17925         (main): Set character set based on LANG environment variable.
17926         (rescan): Handle multibyte characters in comments.
17927         (skip_if_group): See above.
17928         (validate_else): See above.
17929         (skip_to_end_of_comment): See above.
17930         (macarg1): See above.
17931         (discard_comments): See above.
17932         (rescan): Handle multibyte characters in string and character literals.
17933         (collect_expansion): See above.
17934         (skip_quoted_string): See above.
17935         (macroexpand): See above.
17936         (macarg1): See above.
17937         (discard_comments): See above.
17938         (change_newlines): See above.
17939
17940         * c-lex.c (mbchar.h): #include it.
17941         (GET_ENVIRONMENT): New macro.
17942         (init_lex): Set character set based on LANG environment variable.
17943         (yylex): Handle multibyte characters in character literals.
17944         (yylex): Handle multibyte characters in string literals.
17945
17946         * Makefile.in (mbchar.o): New target.
17947         (cccp$(exeext)): @extra_cpp_objs@ is always available.
17948         (cppmain$(exeext)): @extra_cpp_objs@ is always available.
17949
17950         * mbchar.[ch]: New files for multibyte character handling.
17951
17952 Mon Jul 20 01:11:11 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
17953
17954         * jump.c (jump_optimize): When simplifying noop moves and
17955         PUSH_ROUNDING, fix thinko so we use same criterion for identifying
17956         the PUSHes to rewrite in second loop as we did in the first.
17957
17958 Sun Jul 19 08:23:53 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17959
17960         * cplus-dem.c (demangle_nested_args): Make function definition
17961         static to match the prototype.
17962
17963 Fri Jul 17 14:58:44 1998  Richard Henderson  <rth@cygnus.com>
17964
17965         * alloca.c: Respect USE_C_ALLOCA.
17966         * gencheck.c (xmalloc): Ignore __GNUC__ for definition.
17967         * gengenrtl.c (xmalloc): Likewise.
17968
17969 Fri Jul 17 14:18:14 1998  Richard Henderson  <rth@cygnus.com>
17970
17971         * loop.h (struct induction): Add no_const_addval.
17972         * loop.c (the_movables, reg_address_cost): New variables.
17973         (init_loop): Init reg_address_cost.
17974         (loop_optimize): Call end_alias_analysis.
17975         (scan_loop): Init the_movables.
17976         (record_giv): Init induction->no_const_addval.
17977         (basic_induction_var) [PLUS]: Use rtx_equal_p instead of ==.
17978         [REG]: Rearrange loop search test to catch more cases.
17979         (general_induction_var): Return success not benefit; take an extra
17980         argument for that.  Change all callers.
17981         (simplify_giv_expr) [PLUS]: Always combine invariants.  Use sge_plus.
17982         [MULT]: Use rtx_equal_p instead of ==.  Combine simple invariants.
17983         [default]: Search the_movables for additional combinations.
17984         (sge_plus_constant, sge_plus): New functions.
17985         (express_from_1): New function.
17986         (express_from): Always define.  Rewrite using express_from_1.
17987         (combine_givs_p): Handle more cases.  Ignore address cost.
17988         (cmp_combine_givs_stats): New function.
17989         (combine_givs_used_once, combine_givs_benefit_from): New functions.
17990         (combine_givs): Rewrite to do best-fit combination.
17991
17992         * fold-const.c (operand_equal_p): Handle RTL_EXPR.
17993         (fold): Do a complete (A*C)+(B*C) association check.
17994
17995 Fri Jul 17 11:21:55 1998  Jim Wilson  <wilson@cygnus.com>
17996
17997         * function.c (fixup_var_refs_insns): Handle CLOBBER of a CONCAT.
17998
17999 Fri Jul 17 11:48:55 1998  Jeffrey A Law  (law@cygnus.com)
18000
18001         * mn10300.c (MODES_TIEABLE_P): Fix typo.
18002
18003 Fri Jul 17 03:26:12 1998  Rihcard Earnshaw  (rearnsha@arm.com)
18004
18005         * tree.c (valid_machine_attribute): Only create a new type variant if
18006         there is a decl to use it.
18007
18008 Thu Jul 16 14:48:04 1998  Nick Clifton  <nickc@cygnus.com>
18009
18010         * gcc.c (do_spec_1): Cope with %g/%u/%U options which do not have
18011         a suffix.
18012
18013 Fri Jul 17 03:24:40 1998  Hans-Peter Nilsson  <hp@axis.se>
18014
18015         * extend.texi (Explicit Reg Vars): Typo: change "may deleted" into "may
18016         be deleted"
18017
18018 Thu Jul 16 14:48:47 1998  Jeffrey A Law  (law@cygnus.com)
18019
18020         * mn10300.c (count_tst_insns): New arg oreg_countp.  Callers changed.
18021         Simplify tests for clearing an address register.
18022         (expand_prologue): Corresponding changes.
18023
18024         * mn10300.md (movXX patterns): Make sure the destination is an
18025         ADDRESS_REG when substituting "zero_areg" for (const_int 0).
18026         (logical patterns): Split into expanders + patterns.
18027         (zero and sign extension patterns): Similarly.
18028         (shift patterns): Similarly.
18029
18030 Thu Jul 16 01:17:44 1998  Richard Henderson  <rth@cygnus.com>
18031
18032         * loop.c (emit_iv_add_mult): Scan the entire insn list generated
18033         for the sequence, recording base values.
18034
18035 Wed Jul 15 10:49:55 1998  Richard Henderson  <rth@cygnus.com>
18036
18037         * i386.h (CPP_CPU_SPEC): Remove -Asystem(unix).
18038
18039 Tue Jul 14 14:15:30 1998  Nick Clifton  <nickc@cygnus.com>
18040
18041         * gcc.c: Remove ANSI-C ism from --help code.
18042
18043         * toplev.c: Support --help with USE_CPPLIB.
18044
18045 Tue Jul 14 14:46:08 1998  Jeffrey A Law  (law@cygnus.com)
18046
18047         * configure.in: Rework gas feature code to work with symlink based
18048         source trees.
18049
18050         * extend.texi: Clarify some issues related to local variables
18051         assigned to explicit registers.
18052
18053         * mn10300.md (mulsi): Turn into expander + pattern.
18054
18055         * mn10300.md (movsi, movsf, movdi, movdf): Remove "x" from I -> a
18056         alternative.
18057
18058 Tue Jul 14 07:41:59 1998  Richard Earnshaw  (rearnsha@arm.com)
18059
18060         * arm/tcoff.h (USER_LABEL_PREFIX): Make it empty to match coff.h.
18061
18062 Tue Jul 14 03:02:44 1998  Jeffrey A Law  (law@cygnus.com)
18063
18064         * version.c: Bump again to distinguish mainline tree from the
18065         egcs-1.1 branch.
18066
18067 See ChangeLog.0 for earlier changes.
18068
18069 Local Variables:
18070 add-log-time-format: current-time-string
18071 End: