a2b2d8c3abed1d6ce96f6b5eabf6966c4e2ce2cf
[platform/upstream/gcc.git] / gcc / ChangeLog
1 Fri Mar 27 18:08:21 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2
3         * sh.c (find_barrier): Fix calculations for alignemnt increase.
4
5 Fri Mar 27 08:56:52 1998  Manfred Hollstein  <manfred@s-direktnet.de>
6
7         * Makefile.in (stmp-fixinc): If we're actually fixing include
8         files, copy gcc's assert.h into the fixed include dir.
9         * fixincludes (assert.h): Avoid any attempts to fix a probably
10         broken system specific assert.h file.
11         * fixproto (stdlib.h): Make sure, it'll contain a definition of
12         size_t.
13
14 Fri Mar 27 00:49:46 1998  Jeffrey A Law  (law@cygnus.com)
15
16         * regclass.c (reg_scan_mark_refs): Be more selective about
17         when we mark a register with REGNO_POINTER_FLAG.
18
19 Thu Mar 26 23:00:11 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
20
21         reload inheritance improvement:
22         * reload1.c (reg_reloaded_contents, reg_reloaded_insn):
23         Change meaning: index is now hard reg number.
24         (reg_reloaded_valid, reg_reloaded_dead): New variables.
25         (reload_spill_index): Content is now a hard reg number.
26         (reload_as_needed): Change to fit new variable meaning.
27         (forget_old_reloads_1, allocate_reload_reg): Likewise.
28         (choose_reload_regs, emit_reload_insns): Likewise.
29
30 Thu Mar 26 18:34:13 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
31
32         * regclass.c (record_reg_classes): '?' increases cost by two.
33
34         * reload.c (find_reloads): Double previous costs.  Output
35         reloads cost one unit extra.
36
37         * reload1.c (eliminate_regs): Delete LOAD_EXTENDED_OP code that
38         boiled down to && ! 0.
39
40         * reload.c (find_equiv_reg): Also consider a goal offset from the
41         frame pointer to be constant.
42
43 Thu Mar 26 17:34:46 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
44
45         * sh.h (OPTIMIZATION_OPTIONS): Define.
46
47 Thu Mar 26 00:19:47 1998  Richard Henderson  <rth@cygnus.com>
48
49         * combine.c (make_compound_operation): Simplify (subreg (*_extend) 0).
50
51 Wed Mar 25 23:53:11 1998  Jeffrey A Law  (law@cygnus.com)
52
53         * pa.c (pa_adjust_cost): Avoid redundant calls to get_attr_type.
54
55 Wed Mar 25 13:40:48 1998  Jim Wilson  <wilson@cygnus.com>
56
57         * c-common.c (check_format_info): Initialize type, is_type.  New local
58         integral_format.  Don't warn for 'L' when pedantic.  Do warn for 'L'
59         when pedantic if used with integral format specifier.
60
61 Wed Mar 25 16:09:01 1998  Michael Meissner  <meissner@cygnus.com>
62
63         * rs6000.h (FUNCTION_ARG_PADDING): Cast result to be enum
64         direction.
65         (function_arg_padding): Declare.
66
67         * rs6000.c: Include system.h.
68         (function_arg_padding): Change return type to int, cast enum's to
69         int.
70
71         (From Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>)
72         * collect2.c (scan_prog_file): Add explicit braces to avoid
73         ambiguous `else'.
74  
75         * dbxout.c (dbxout_type_fields): Add braces around empty body in
76         an if-statement.
77         (dbxout_type): Likewise.
78  
79         * rs6000.c (rs6000_override_options): Change type of `i', `j' and
80         `ptt_size' from int to size_t.
81         (rs6000_file_start): Likewise for `i'.
82         (rs6000_replace_regno): Add default case in enumeration switch.
83         (output_epilog): Remove unused variable `i'.
84         (rs6000_longcall_ref): Remove unused variables `len', `p', `reg1'
85         and `reg2'.
86  
87         * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add missing braces around
88         initializer.
89         (get_issue_rate, non_logical_cint_operand): Add prototype.
90         (rs6000_output_load_toc_table): Ditto.
91  
92         * rs6000.md (udivmodsi4): Add explicit braces to avoid ambiguous
93         `else'.
94  
95 Wed Mar 25 10:05:19 1998  Nick Clifton  <nickc@cygnus.com>
96
97         * config/arm/thumb.c: New File.  Support for ARM's Thumb
98         instruction set. 
99         * config/arm/thumb.h: New File.  Thumb definitions.
100         * config/arm/thumb.md: New File.  Thumb machine description.
101         * config/arm/tcoff.h: New File.  Thumb COFF support.
102         * config/arm/t-thumb: New File.  Thumb makefile fragment.
103         * config/arm/lib1thumb.asm: New File.  Thumb libgcc support functions.
104
105         * configure.in: Add Thumb-coff target.
106         * configure: Add Thumb-coff target.
107         * config.sub: Add Thumb-coff target.
108
109 Wed Mar 25 10:30:32 1998  Jim Wilson  <wilson@cygnus.com>
110
111         * loop.c (scan_loop): Initialize move_insn_first to zero.
112
113 Wed Mar 25 01:06:49 1998  Joel Sherrill (joel@OARcorp.com)
114
115         * config/i386/go32-rtems.h: Defined TARGET_MEM_FUNCTIONS.
116         * config/i386/rtems.h: Likewise.
117         * config/i960/rtems.h: Likewise.
118         * config/m68k/rtems.h: Likewise.
119         * config/mips/rtems64.h: Likewise.
120         * config/pa/rtems.h: Likewise.
121         * config/rs6000/rtems.h: Likewise.
122         * config/sh/rtems.h: Likewise.
123         * config/sparc/rtems.h: Likewise.
124
125 Wed Mar 25 00:57:26 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
126
127         * pa.c (emit_move_sequence): If in reload, call find_replacement.
128
129 Tue Mar 24 10:44:11 1998  Nick Clifton  <nickc@cygnus.com>
130
131         * Makefile.in (gcov$(exeext)): Support .exe extension to gcov.
132
133         * collect2.c (find_a_file): Add debugging.
134         (find_a_file): Test for win32 style absolute paths if
135         DIR_SERPARATOR is defined.
136         (prefix_from_string): Add debugging.
137         (main): Test for debug command line switch at start of program
138         execution. 
139         (main): Use GET_ENVIRONMENT rather than getenv().
140         (prefix_from_env): Use GET_ENVIRONMENT.
141
142 1998-03-24  Mark Mitchell  <mmitchell@usa.net>
143
144         * cplus-dem.c (optable): Add sizeof.
145         (demangle_template_value_parm): New function containing code
146         previously found in demangle_template.
147         (demangle_integral_value): New function which handles complicated 
148         integral expressions.
149         (demangle_template): Use them.
150
151 Tue Mar 24 12:13:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
152
153         * Makefile.in (genconfig.o, genflags.o, gencodes.o, genemit.o,
154         genopinit.o, genrecog.o, genextract.o, genpeep.o, genattr.o,
155         genattrtab.o, genoutput.o): Depend on system.h.
156  
157         * genattr.c: Include system.h.  Add arguments to various function
158         prototypes.  Remove redundant prototype of read_rtx().
159         * genattrtab.c: Likewise.
160         * gencodes.c: Likewise.
161         * genconfig.c: Likewise.
162         * genemit.c: Likewise.
163         * genextract.c: Likewise.
164         * genflags.c: Likewise.
165         * genopinit.c: Likewise.
166         * genoutput.c: Likewise.
167         * genpeep.c: Likewise.
168         * genrecog.c: Likewise.
169
170 1998-03-24  Martin von Loewis  <loewis@informatik.hu-berlin.de>
171
172         * c-lang.c (lang_print_xnode): New function.
173         * objc/objc-act.c (lang_print_xnode): Likewise.
174         * print-tree.c (print_node): Call it
175
176 Mon Mar 23 23:59:11 1998  H.J. Lu  (hjl@gnu.org)
177
178         * c-parse.in: Recognize protocol qualifiers in class
179         definitions for objc.
180         Include "output.h".
181         (yyerror): Remove redundant decl.
182         (yyprint): Fix prototype.
183
184 Mon Mar 23 23:49:47 1998  Jeffrey A Law  (law@cygnus.com)
185
186         * cse.c (rtx_cost): Only call CONST_COSTS if it is defined.
187
188         * stmt.c (unroll_block_trees): Free block_vector if needed.
189
190 Mon Mar 23 23:26:42 1998  Philippe De Muyter  <phdm@macqel.be>
191
192         * m68k/m68k.md (zero_extendqidi2, zero_extendhidi2): New patterns.
193         (zero_extendsidi2): Avoid useless copy.
194         (iordi_zext): New pattern.
195         (iorsi_zexthi_ashl16): Pattern reworked to avoid "0" constraint for
196         operand 2.
197         (iorsi_zext): New name for old unnamed pattern; indentation fixes.
198
199         * m68k/m68k.md (ashldi_const): Allow shift count in range ]32,63].
200         (ashldi3): Allow constant shift count in range ]32,63].
201         (ashrdi_const, ashrid3, lshrdi_const, lshrdi3): Likewise.
202
203 1998-03-22  Mark Mitchell  <mmitchell@usa.net>
204
205         * tree.h (IS_EXPR_CODE_CLASS): New macro.
206
207 Mon Mar 23 23:18:48 1998  Jeffrey A Law  (law@cygnus.com)
208
209         * h8300.h (CONST_COSTS): Remove definition.
210         (DEFAULT_RTX_COSTS): Define.
211
212 Mon Mar 23 22:58:22 1998  Joel Sherrill (joel@OARcorp.com)
213
214         * config/sh/rtems.h: Switched from ELF to COFF.
215
216 Mon Mar 23 14:14:20 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
217
218         * freebsd.h (ASM_OUTPUT_ALIGN): Redefine.
219
220 Sat Mar 21 23:52:56 PST 1998 Jeff Law  (law@cygnus.com)
221
222         * version.c: Bump for snapshot.
223
224 Sun Mar 22 00:50:42 1998  Nick Clifton  <nickc@cygnus.com>
225                           Geoff Noer    <noer@cygnus.com>
226
227         * Makefile.in: Various fixes for building cygwin32 native toolchains.
228
229         * objc/Makefile.in: Various fixes for building cygwin32 native toolchains.
230         * objc/Make-lang.in: Likewise.
231
232         * config/i386/xm-cygwin32.h (PATH_SEPARATOR): Set to a semi-colon.
233
234 Sun Mar 22 00:21:46 1998  R. Ganesan  <rganesan@novell.com>
235
236         * configure.in: Handle with-PACKAGE=no correctly
237
238 Fri Mar 20 17:36:23 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
239
240         * Makefile.in (alias.o, bitmap.o, c-aux-info.o, c-common.o,
241         c-decl.o, c-iterate.o, c-lang.o, c-lex.o, c-pragma.o, c-typeck.o,
242         caller-save.o, calls.o, collect2.o, combine.o, cse.o, dbxout.o,
243         dwarf2out.o, dwarfout.o, emit-rtl.o, except.o, explow.o, expmed.o,
244         expr.o, final.o, flow.o, function.o, getpwd.o, global.o,
245         integrate.o, jump.o, local-alloc.o, loop.o, optabs.o, pexecute.o,
246         prefix.o, print-rtl.o, print-tree.o, profile.o, real.o, recog.o,
247         reg-stack.o, regclass.o, regmove.o, reload.o, reload1.o, reorg.o,
248         rtl.o, rtlanal.o, sdbout.o, stmt.o, stor-layout.o, stupid.o,
249         tlink.o, toplev.o, tree.o, unroll.o, varasm.o, xcoffout.o): Depend
250         on system.h.
251
252         * alias.c, bitmap.c, c-aux-info.c, c-common.c, c-decl.c,
253         c-iterate.c, c-lang.c, c-lex.c, c-pragma.c, c-typeck.c,
254         caller-save.c, calls.c, collect2.c, combine.c, cse.c, dbxout.c,
255         dwarf2out.c, dwarfout.c, emit-rtl.c, except.c, explow.c, expmed.c,
256         expr.c, final.c, flow.c, function.c, gcc.c, getpwd.c, global.c,
257         integrate.c, jump.c, local-alloc.c, loop.c, optabs.c, pexecute.c,
258         prefix.c, print-rtl.c, print-tree.c, profile.c, real.c, recog.c,
259         reg-stack.c, regclass.c, regmove.c, reload.c, reload1.c, reorg.c,
260         rtl.c, rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c,
261         stupid.c, tlink.c, toplev.c, tree.c, unroll.c, varasm.c,
262         xcoffout.c: Include system.h.  Organize include ordering so
263         that stdarg/varargs comes before other system headers.  Remove
264         spurious casts of functions assured of a prototype in system.h.
265
266 Fri Mar 20 11:19:40 1998  Stan Cox  <scox@equinox.cygnus.com>
267
268         * reg-stack.c (pop_stack): Define. Pops any register on the
269         regstack and adjusts regstack.
270         (compare_for_stack_reg): Use pop_stack.
271         
272 Thu Mar 19 23:51:01 1998  Jeffrey A Law  (law@cygnus.com)
273
274         * configure.in (hppa1.0-hp-hpux10): Handle threads for this
275         config too.
276
277 Thu Mar 19 20:30:31 1998  Philippe De Muyter  <phdm@macqel.be>
278
279         * libgcc2.c (exit): Do not call __bb_exit_func if HAVE_ATEXIT.
280
281         * fold-const.c (fold): Replace sign-extension of a zero extended
282         value by a single zero extension.
283
284 Thu Mar 19 00:58:07 1998  Jason Merrill  <jason@yorick.cygnus.com>
285
286         * except.c (init_eh): Do nothing.
287         (save_eh_status): Call init_eh_for_function, not init_eh.
288         * function.c (push_function_context_to): Don't call init_emit.
289
290 Thu Mar 19 13:39:52 1998  Michael Meissner  <meissner@cygnus.com>
291
292         * rs6000/sysv4.h (RELATIVE_PREFIX_NOT_LINKDIR): Undef for System V
293         and EABI.
294
295 Thu Mar 19 10:10:36 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
296
297         * final.c (shorten_branches): Add parentheses around +/- in
298         operand of &.
299
300         * flow.c (life_analysis): Wrap variable `i' in macro ELIMINABLE_REGS.
301
302 Thu Mar 19 09:15:17 1998  Manfred Hollstein  <manfred@s-direktnet.de>
303
304         * regclass.c (memory_move_secondary_cost): Wrap uses of
305         SECONDARY_INPUT_RELOAD_CLASS and SECONDARY_OUTPUT_RELOAD_CLASS
306         with #ifdef tests.
307
308 Thu Mar 19 09:06:35 1998  Manfred Hollstein  <manfred@s-direktnet.de>
309
310         * config/m68k/m68k.md (addqi3): Fix typo gen_INT vs. GEN_INT.
311
312         * flow.c (life_analysis): #include <sys/types.h> to make sure
313         size_t is defined.
314         * cplus-dem.c (demangle_function_name): Likewise.
315
316 Thu Mar 19 09:00:01 1998  Manfred Hollstein  <manfred@s-direktnet.de>
317
318         * final.c (insn_noperands): Change type to unsigned int.
319         (final_scan_insn): Likewise for noperands;
320         properly check operand number boundaries.
321
322 Wed Mar 18 16:20:30 1998  Richard Henderson  <rth@cygnus.com>
323
324         * alpha.md (extzv): Don't reject register operands.  Fix
325         mode of operand 1.
326
327 Wed Mar 18 16:14:23 1998  Richard Henderson  <rth@cygnus.com>
328
329         * dbxout.c (dbxout_function_end): Fix last change.  The correct
330         predicate is ASM_OUTPUT_SECTION_NAME.
331
332 Wed Mar 18 12:43:20 1998  Jim Wilson  <wilson@cygnus.com>
333
334         * sh.md (ashlsi_c-1): Delete 3rd argument to gen_ashlsi_c.
335         (ashlsi): Use match_dup 1 instead of match_operand 2.
336
337 Wed Mar 18 13:46:07 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
338
339         * fold-const.c (operand_equal_for_comparison_p): See if equal
340         when nop conversions are removed.
341
342 Wed Mar 18 13:42:01 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
343
344         * expr.c (expand_expr, case COND_EXPR): If have conditional move,
345         don't use ORIGINAL_TARGET unless REG.
346
347 Wed Mar 18 16:53:19 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
348
349         * netbsd.h (ASM_OUTPUT_ALIGN): Redefine.
350
351 Wed Mar 18 12:43:20 1998  Jim Wilson  <wilson@cygnus.com>
352
353         * loop.c (struct movable): New field move_insn_first.
354         (scan_loop): In consec sets code, set it.  Clear it otherwise.
355         (move_movables): In consec sets code, use it.  Copy REG_NOTES from
356         p to i1 only if i1 does not have REG_NOTES.  Delete obsolete ifdefed
357         out code.
358
359 Wed Mar 18 09:52:56 1998  Richard Henderson  <rth@cygnus.com>
360
361         * rtl.c (read_rtx): Fall back on homebrew atoll if HOST_WIDE_INT
362         is large, and the system doesn't provide atoll or atoq.
363         (atoll): New.  
364
365         * alpha/xm-vms.h (HAVE_ATOLL): Define.
366         Reported by Klaus Kaempf <kkaempf@progis.de>.
367         
368 Wed Mar 18 09:56:26 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
369
370         * c-lang.c (finish_file): Wrap variable `void_list_node' with macro
371         test !ASM_OUTPUT_CONSTRUCTOR || !ASM_OUTPUT_DESTRUCTOR.
372
373         * calls.c (emit_call_1): Wrap variable `already_popped' with macro
374         test !ACCUMULATE_OUTGOING_ARGS. 
375
376         * collect2.c (write_c_file_glob): Wrap function definition in
377         macro test !LD_INIT_SWITCH.
378
379         * combine.c (try_combine): Wrap variables `cc_use' and
380         `compare_mode' in macro test EXTRA_CC_MODES.
381
382         * cpplib.c (do_ident): Remove unused variable `len'.
383         (skip_if_group): Remove unused variables `at_beg_of_line' and
384         `after_ident'.
385         (cpp_get_token): Remove unused variable `dummy'.
386
387         * dbxout.c (scope_labelno): Move static variable definition inside
388         the one function scope where it is used.
389         (dbxout_function_end): Wrap prototype and definition in
390         macro test !NO_DBX_FUNCTION_END.
391
392         * dwarf2out.c (add_subscript_info): Wrap variable `dimension_number'
393         in macro test !MIPS_DEBUGGING_INFO.
394
395         * expr.c (expand_builtin_setjmp): Move declaration of variable `i'
396         into the scope where it is used.  Wrap empty else-statement body
397         in braces.
398
399         * fix-header.c: Fix typo in comment.
400         (inf_skip_spaces): Cast results of INF_UNGET to (void).
401         (check_protection, main): Likewise.
402
403         * flow.c (find_basic_blocks_1): Remove dangling comment text.
404
405         * function.c (contains): Wrap prototype and definition in macro
406         test HAVE_prologue || HAVE_epilogue.
407         (fixup_var_refs_1): Remove unused variable `width'.
408
409         * gen-protos.c (main): Remove unused variable `optr'.
410
411         * haifa-sched.c (debug_control_flow): Remove unused variable `j'.
412
413         * libgcc2.c (__udiv_w_sdiv): Provide dummy return value of 0.
414         (__sjpopnthrow): Remove unused variable `jmpbuf'.
415         (__throw): Remove unused variable `val'.
416
417         * protoize.c: Check for a previously existing definition before
418         defining *_OK macros. 
419
420         * scan-decls.c (scan_decls): Remove unused variable `old_written'.
421
422 Tue Mar 17 00:45:48 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
423
424         * vax.h (ADDR_VEC_ALIGN): Define.
425
426 Mon Mar 16 15:57:17 1998  Michael Meissner  <meissner@cygnus.com>
427
428         * gcc.c (default_arg): Don't wander off the end of allocated
429         memory.
430
431         (From Geoffrey Keating  <geoffk@ozemail.com.au>)
432         * rs6000.c (small_data_operand): Ensure that any address
433         referenced relative to the small data area is inside the SDA.   
434
435 Mon Mar 16 12:55:15 1998  Jim Wilson  <wilson@cygnus.com>
436         
437         * config/m68k/netbsd.h (ASM_SPEC): Add %{m68060}.
438
439 Mon Mar 16 15:50:20 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
440
441         * except.h (in_same_eh_region): New prototype.
442         (free_insn_eh_region, init_insn_eh_region): New prototypes.
443         * except.c (insn_eh_region, maximum_uid): New static variables.
444         (set_insn_eh_region): New static function to set region numbers.
445         (free_insn_eh_region): New function to free EH region table.
446         (init_insn_eh_region): New function to initialize EH region table.
447         (in_same_eh_region): New function used to determine if two rtl
448         instructions are in the same exception region or not.
449         * final.c (final): Initialize the table indicating which instructions
450         belong in which exception region.
451         * genpeep.c (main): Add "except.h" to include file list in generated
452         file insn-peep.c. 
453         * config/sparc/sparc.md: Add calls to 'in_same_eh_region' in 4 
454         peepholes involving calls and unconditional branches. 
455
456 Mon Mar 16 12:12:36 1998  Ken Raeburn  <raeburn@cygnus.com>
457
458         * reload.h (MEMORY_MOVE_COST): Define here if not already defined;
459         if HAVE_SECONDARY_RELOADS, factor in copying cost.
460         (memory_move_secondary_cost): Declare.
461         * regclass.c (MEMORY_MOVE_COST): Don't define default here.
462         (memory_move_secondary_cost) [HAVE_SECONDARY_RELOADS]: New
463         function.
464         (regclass, record_reg_classes, copy_cost, record_address_regs):
465         Pass register class and direction of move to MEMORY_MOVE_COST.
466         * reload1.c (MEMORY_MOVE_COST): Don't define default here.
467         (emit_reload_insns, reload_cse_simplify_set): Pass register class
468         and direction of move to MEMORY_MOVE_COST.
469         * 1750a.c, a29k.h, alpha.h, arc.h, arm.h, dsp16xx.h, i386.h,
470         m32r.h, m88k.h, rs6000.h (MEMORY_MOVE_COST): Add extra ignored
471         arguments to definition, even in comments.
472         * mips.h (MEMORY_MOVE_COST): Add extra arguments; add
473         memory_move_secondary_cost result to cpu-specific cost.
474
475 Mon Mar 16 11:16:50 1998  Jim Wilson  <wilson@cygnus.com>
476
477         * README.gnat: New file.
478
479 Mon Mar 16 11:14:20 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
480
481         * config/m68k/m68k.c: Include <stdlib.h> for atoi.  Include
482         "recog.h" for offsettable_memref_p.
483         (legitimize_pic_address): Remove unused variable `offset'.
484         (notice_update_cc): Change return type to void.  Add default label
485         to switch.
486         (standard_68881_constant_p): Remove unused variable mode.
487         (print_operand): Define local variable i only if SUPPORT_SUN_FPA.
488         (const_int_cost): Explicitly declare as returning int.
489         (output_dbcc_and_branch): Change return type to void.
490
491         * config/m68k/linux.h, config/m68k/m68k.md, config/m68k/m68k.c,
492         config/m68k/m68k.h: Replace gen_rtx (XXX, ...) with gen_rtx_XXX
493         (...).  Use GEN_INT instead of gen_rtx_CONST_INT.
494
495 Sun Mar 15 22:30:44 PST 1998 Jeff Law  (law@cygnus.com)
496
497         * version.c: Bump for snapshot.
498
499 Fri Mar 13 11:30:12 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
500
501         * config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Fix logic in range
502         check for 'M' constraint.
503
504 Thu Mar 12 14:47:14 1998  Jim Wilson  <wilson@cygnus.com>
505
506         * cccp.c (create_definition): If pedantic, call pedwarn for macro
507         varargs feature.
508
509 Thu Mar 12 13:43:25 1998  Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
510
511         * i386.c (ix86_logical_operator): New function.
512         (split_di): Ensure that when a MEM is split, the resulting MEMs have
513         SImode.
514         * i386.md (anddi3, xordi3, iordi3): New patterns. Add a define_split
515         to implement them.
516
517 Thu Mar 12 15:13:16 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
518                           Richard Earnshaw <rearnsha@arm.com>
519                           Nick Clifton  <nickc@cygnus.com>
520         
521         * tm.texi (DEFAULT_RTX_COSTS): Document new macro.
522         
523         * arm.h (DEFAULT_RTX_COSTS): Define instead of RTX_COSTS.
524         
525         * cse.c (rtx_cost): Provide a default case in an enumeration
526         switch, and call DEFAULT_RTX_COSTS if it's defined.
527         
528 Thu Mar 12 10:02:38 1998  Manfred Hollstein  <manfred@s-direktnet.de>
529
530         * basic-block.h (compute_preds_succs): Change return type in
531         prototype to void.
532         * flow.c (compute_preds_succs): Likewise in function definition.
533
534         * regmove.c (find_matches): Cast char used as array index to unsigned char
535         to supress warning.
536
537 Thu Mar 12 09:39:40 1998  Manfred Hollstein  <manfred@s-direktnet.de>
538
539         * i386.h (RTX_COSTS): Insert braces around nested if.
540         (ADDITIONAL_REGISTER_NAMES): Insert braces around structured
541         elements.
542
543         * gcc.c (default_compilers): Properly put brackets around array elements in
544         initializer.
545
546         * getopt.c (_getopt_internal): Add explicit braces around nested if;
547         reformatted.
548
549         * reg-stack.c (record_asm_reg_life): Add explicit braces around nested if's.
550         (record_reg_life_pat): Add explicit parens around && and || in expression.
551         (stack_reg_life_analysis): Add parens around assignment used as expression.
552         (convert_regs): Likewise.
553
554 Thu Mar 12 09:25:29 1998  Manfred Hollstein  <manfred@s-direktnet.de>
555
556         * bitmap.c (bitmap_element_allocate): Remove unused parameter;
557         change callers accordingly.
558
559         * cplus-dem.c (arm_special): Remove unused parameter work in prototype
560         and definition; change all callers accordingly.
561
562         * except.c (init_eh): Avoid assignment of unused return value of
563         build_pointer_type; cast it to void, instead, and remove unused
564         variable type.
565
566         * gcc.c (lang_specific_driver): Define prototype only #ifdef
567         LANG_SPECIFIC_DRIVER.
568         (temp_names): Define only #ifdef MKTEMP_EACH_FILE.
569
570         * genoutput.c (output_epilogue): Initialize next_name to 0.
571
572         * real.c (efrexp): #if 0 prototype and function definition.
573         (eremain): Likewise.
574         (uditoe): Likewise.
575         (ditoe): Likewise.
576         (etoudi): Likewise.
577         (etodi): Likewise.
578         (esqrt): Likewise.
579
580         * reload.c (push_secondary_reload): Define prototype only
581         #ifdef HAVE_SECONDARY_RELOADS.
582
583         * varasm.c (assemble_static_space): Define rounded only
584         #ifndef ASM_OUTPUT_ALIGNED_LOCAL.
585
586 Thu Mar 12 09:11:35 1998  Manfred Hollstein  <manfred@s-direktnet.de>
587
588         * i386.md (andsi): Add default case in enumeration switch.
589         (iorsi3): Likewise.
590         (iorhi3): Likewise.
591         (xorsi3): Likewise.
592
593 Thu Mar 12 08:37:02 1998  Manfred Hollstein  <manfred@s-direktnet.de>
594
595         * c-decl (finish_struct): Change type of min_align to unsigned.
596
597         * cplus-dem.c (demangle_function_name): Change type of variable i to size_t;
598         remove unused variable len.
599
600         * dwarf2out.c (reg_save): Add explicit cast of -1 to unsigned and a
601         comment indicating this is proper behaviour.
602         (reg_loc_descriptor): Remove redundant comparison of unsigned variable
603         reg >= 0.
604         (based_loc_descr): Likewise.
605
606         * enquire.c (bitpattern): Change type of variable i to unsigned.
607
608         * final.c (output_asm_insn): Don't cast insn_noperands to unsigned.
609
610         * flow.c (life_analysis): Change type of variable i to size_t;
611         remove unused variable insn.
612
613         * gcc.c (translate_options): Change type of variables optlen, arglen and
614         complen to size_t.
615         (input_filename_length): Change type to size_t.
616         (do_spec_1): Change type of variable bufsize to size_t.
617         (main): Change type of variables i and j to size_t;
618         remove subblock local definition of variable i.
619         (lookup_compiler): Change type of second argument to size_t;
620         change type of variable i to size_t.
621
622         * genemit.c (output_init_mov_optab): Change type of variable i to size_t.
623         
624         * genopinit.c (get_insn): Change type of variable pindex to size_t.
625
626         * genrecog.c (add_to_sequence): Change type of variable i to size_t.
627
628         * global.c (global_alloc): Change type of variable i to size_t.
629
630         * regclass.c (init_reg_sets): Change type of variables i and j to unsigned.
631
632         * stmt.c (expand_end_bindings): Change type of variable i to size_t.
633         (expand_end_case): Change type of variable count to size_t.
634
635         * toplev.c (main): Change type of variable j to size_t.
636         (set_target_switch): Change type of variable j to size_t.
637         (print_switch_values): Change type of variable j to size_t;
638         remove unused variable flags.
639
640         * varasm.c (assemble_variable): Change type of variable align to size_t.
641         (const_hash_rtx): Change type of variable i to size_t.
642
643 1998-03-11  Mark Mitchell  <mmitchell@usa.net>
644
645         * dbxout.c (dbxout_type_methods): Only treat TYPE_METHODS as a
646         TREE_VEC if that's what it really is.
647
648 Wed Mar 11 15:16:01 1998  Michael Meissner  <meissner@cygnus.com>
649
650         * {haifa-,}sched.c (rank_for_schedule): Only take void * arguments
651         as per ISO C spec.
652
653 Wed Mar 11 12:05:20 1998  Teemu Torma  <tot@trema.com>
654
655         * gthr.h: Changed the comment about return values.
656         * gthr-solaris.h (__gthread_once): Do not use errno; return the
657         error number instead of -1. 
658         (__gthread_key_create): Any non-zero return value is an error.
659         * libgcc2.c (eh_context_initialize): Check for non-zero return
660         value from __gthread_once.
661         Check that the value of get_eh_context was really changed.
662
663 Wed Mar 11 18:26:25 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
664
665         * sh.h (LOOP_ALIGN): Only align when optimizing.
666         * sh.c (find_barrier): Clear inc for CODE_LABELs.
667         When not optimizing, calculate alignment for BARRIERs directly.
668
669 Wed Mar 11 15:07:18 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
670
671         * final.c (shorten_branches): Remove conditionalizing on
672         SHORTEN_WITH_ADJUST_INSN_LENGTH
673         * sh.h, pa.h (SHORTEN_WITH_ADJUST_INSN_LENGTH): Remove.
674
675 Wed Mar 11 02:37:41 1998  Jeffrey A Law  (law@cygnus.com)
676
677         * flow.c (find_basic_blocks_1): Keep the cfg accurate when removing
678         an unconditional jump around deleted blocks.
679
680 Mon Mar  9 12:02:23 1998  Jim Wilson  <wilson@cygnus.com>
681
682         * profile.c (branch_prob): If see computed goto, call fatal instead of
683         abort.
684
685         * config/mips/sni-svr4.h (CPP_PREDEFINE): Add -DSNI and -Dsinix.
686         
687         * configure.in (alpha-dec-osf): Add default case for osf* to switch.
688         Patch from Bruno Haible.
689
690         * function.c (put_reg_into_stack): Copy MEM_IN_STRUCT_P from new.
691         (assign_parms): Set aggregate if hide_last_arg and last_named.
692
693 Mon Mar  9 19:57:56 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
694
695         * final.c (shorten_branches): Initialize insn_addresses.
696
697 Mon Mar  9 14:10:23 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
698
699         * sh.h (MUST_PASS_IN_STACK): Define.
700
701 Sun Mar  8 13:01:56 1998  Jeffrey A Law  (law@cygnus.com)
702
703         * final.c (shorten_branches): Fix minor logic error in
704         ADDR_DIFF_VEC shortening support.
705
706 Sun Mar 8 02:17:42 PST 1998 Jeff Law  (law@cygnus.com)
707
708         * version.c: Bump for snapshot.
709
710 Sat Mar  7 00:54:15 1998  Jeffrey A Law  (law@cygnus.com)
711
712         * haifa-sched.c (is_cfg_nonregular): Change return type to
713         an int.  No longer compute "estimated" number of edges.  Use
714         computed_jump_p instead of duplicating the code.  Fixup/add
715         some comments.
716         (build_control_flow): Returns a value indicating an irregularity
717         in the cfg was detected.  Count the number of edges in the cfg.
718         allocate various edge tables.
719         (find_rgns): No longer look for unreachable blocks.
720         (schedule_insns): Do not allocate memory for edge tables here.
721         Free memory for edge tables before returning.  Do not perform
722         cross block scheduling if build_control_flow returns nonzero.
723         * flow.c (compute_preds_succs): More accurately determine when
724         a block drops in.
725
726         * basic-block.h (free_basic_block_vargs): Provide prototype.
727
728         * cccp.c (main): Fix dumb mistakes in last change.
729
730 Fri Mar  6 21:28:45 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
731
732         * rtl.h (addr_diff_vec_flags): New typedef.
733         (union rtunion_def): New member rt_addr_diff_vec_flags.
734         (ADDR_DIFF_VEC_FLAGS): New macro.
735
736         * sh.c (output_branch): Fix offset overflow problems.
737
738         * final.c (shorten_branches): Implement CASE_VECTOR_SHORTEN_MODE.
739         (final_scan_insn): New argument BODY for ASM_OUTPUT_ADDR_DIFF_ELT.
740         * rtl.def (ADDR_DIFF_VEC): Three new fields (min, max and flags).
741         * stmt.c (expand_end_case): Supply new arguments to
742         gen_rtx_ADDR_DIFF_VEC.
743         * 1750a.h (ASM_OUTPUT_ADDR_DIFF_ELT): New argument BODY.
744         * alpha.h, arc.h, clipper.h, convex.h : Likewise.
745         * dsp16xx.h, elxsi.h, fx80.h, gmicro.h, h8300.h : Likewise.
746         * i370.h, i386.h, i860.h, i960.h, m32r.h, m68k.h, m88k.h : Likewise.
747         * mips.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pyr.h : Likewise.
748         * rs6000.h, sh.h, sparc.h, spur.h, tahoe.h, v850.h : Likewise.
749         * vax.h, we32k.h, alpha/vms.h, arm/aof.h, arm/aout.h : Likewise.
750         * i386/386bsd.h, i386/freebsd-elf.h : Likewise.
751         * i386/freebsd.h, i386/linux.h : Likewise.
752         * i386/netbsd.h, i386/osfrose.h, i386/ptx4-i.h, i386/sco5.h : Likewise.
753         * i386/sysv4.h, m68k/3b1.h, m68k/dpx2.h, m68k/hp320.h : Likewise.
754         * m68k/mot3300.h, m68k/sgs.h : Likewise.
755         * m68k/tower-as.h, ns32k/encore.h, sparc/pbd.h : Likewise.
756         * sh.h (INSN_ALIGN, INSN_LENGTH_ALIGNMENT): Define.
757         (CASE_VECTOR_SHORTEN_MODE): Define.
758         (short_cbranch_p, align_length, addr_diff_vec_adjust): Don't declare.
759         (med_branch_p, braf_branch_p): Don't declare.
760         (mdep_reorg_phase, barrier_align): Declare.
761         (ADJUST_INSN_LENGTH): Remove alignment handling.
762         * sh.c (uid_align, uid_align_max): Deleted.
763         (max_uid_before_fixup_addr_diff_vecs, branch_offset): Deleted.
764         (short_cbranch_p, med_branch_p, braf_branch_p, align_length): Deleted.
765         (cache_align_p, fixup_aligns, addr_diff_vec_adjust): Deleted.
766         (output_far_jump): Don't use braf_branch_p.
767         (output_branchy_insn): Don't use branch_offset.
768         (find_barrier): Remove checks for max_uid_before_fixup_addr_diff_vecs.
769         Remove paired barrier stuff.
770         Don't use cache_align_p.
771         Take alignment insns into account.
772         (fixup_addr_diff_vecs): Reduce to only fixing up the base label of
773         the addr_diff_vec.
774         (barrier_align, branch_dest): New function.
775         (machine_dependent_reorg, split_branches): Remove infrastructure
776         for branch shortening that is now provided in the backend.
777         * sh.md (short_cbranch_p, med_branch_p, med_cbranch_p): New attributes.
778         (braf_branch_p, braf_cbranch_p): Likewise.
779         (attribute length): Use new attributes.
780         (casesi_worker): Get mode and unsignednedd from ADDR_DIFF_VEC.
781         (addr_diff_vec_adjust): Delete.
782         (align_2): Now a define_expand.
783         (align_log): Now length 0.
784
785 Fri Mar  6 14:41:33 1998  Michael Meissner  <meissner@cygnus.com>
786
787         * m32r.md (right): Correctly check for length == 2, not 1.
788
789 Fri Mar  6 14:00:04 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
790
791         * mips/mips.h: Prototype `machine_dependent_reorg'.
792         (ASM_OUTPUT_ALIGN): Remove unused variable `mask'.
793
794 Fri Mar  6 11:43:35 1998  Joern Rennecke  (amylaar@cygnus.co.uk)
795
796         * final.c (shorten_branches): Restore accidentally removed code.
797
798 Fri Mar  6 11:00:49 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
799
800         * configure.in: Remove duplicate uses of AC_PROG_CC and
801         AC_PROG_MAKE_SET.
802
803 Fri Mar  6 00:59:30 1998  Richard Henderson  <rth@cygnus.com>
804
805         * configure.in (target_cpu_default2): Correct typo for alphapca56.
806
807 Thu Mar  5 23:24:50 1998  Jeffrey A Law  (law@cygnus.com)
808                           Doug Evans     (devans@cygnus.com)
809
810         * haifa-sched.c (build_jmp_edges): Delete dead function.
811         (build_control_flow): Use cfg routines from flow.c
812         (schedule_insns): Remove debugging code accidentally checked
813         in earlier today.
814
815         * basic-block.h: Add external integer list structures, typdefs,
816         accessor macros and function declarations.  Simlarly for
817         basic block pred/succ support and simple bitmap stuff.
818         * flow.c: Add functions for integer list, basic block pred/succ
819         support and simple bitmap support.
820         (compute_dominators): New function to compute dominators and
821         post dominators.
822         (find_basic_blocks): Split into two functions.
823         (life_analysis): Likewise.
824         (flow_analysis): Removed.  Now handled by calling find_basic_blocks,
825         the life_analysis from toplev.c
826         * toplev.c (rest_of_compilation): Call find_basic_blocks, then
827         life_analysis instead of flow_analysis.
828
829 Thu Mar  5 23:06:26 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
830
831         * jump.c (jump_optimize): Call mark_jump_label also for deleted
832         insns.
833         (mark_jump_label): Don't increment ref counts for deleted insns.
834
835 Thu Mar  5 09:55:15 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
836
837         * mips/iris6.h (TARGET_DEFAULT): Parenthesize macro definition.
838          
839         * mips/mips.c: Include stdlib.h and unistd.h.
840         (mips_asm_file_end): Add braces around empty body in an if-statement.
841         (function_prologue): Wrap variable `fnname' in
842         !FUNCTION_NAME_ALREADY_DECLARED.  Correct format specifier in fprintf.
843         (mips_select_rtx_section, mips_select_section): Declare as void.
844          
845         * mips/mips.h: Add prototypes for extern functions in mips.c.
846         (FUNCTION_ARG_REGNO_P): Add parentheses around && within ||.
847         (ENCODE_SECTION_INFO): Add braces around empty body in an
848         if-statement.
849          
850         * mips/mips.md (movdi): Add parentheses around && within ||.
851         (movsf, movdf): Likewise.
852         (branch_zero, branch_zero_di): Add default case in
853         enumeration switch.
854         
855
856 Thu Mar  5 02:45:48 1998  Richard Henderson  <rth@cygnus.com>
857
858         * alpha/alpha.h (TARGET_WINDOWS_NT, TARGET_OPEN_VMS): Just make them
859         real constants, since they can't be changed.
860         (TARGET_AS_CAN_SUBTRACT_LABELS): New.
861         * alpha/alpha.md (builtin_setjmp_receiver): Use it.
862         * alpha/osf.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
863         * alpha/osf2or3.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
864         * alpha/vms.h (TARGET_OPEN_VMS): New.
865         * alpha/win-nt.h (TARGET_WINDOWS_NT): New.
866
867 Thu Mar  5 02:41:27 1998  Richard Henderson  <rth@cygnus.com>
868
869         * reload.c (find_reloads): Always force (subreg (mem)) to be
870         reloaded if WORD_REGISTER_OPERATIONS.
871
872 Thu Mar  5 02:14:44 1998  Richard Henderson  <rth@cygnus.com>
873
874         * haifa-sched.c (free_list): Rename from free_pnd_lst.
875         (free_pending_lists): Rename free_pnd_lst uses.
876         (remove_dependence): Place expunged element on unused_insn_list.
877         (alloc_INSN_LIST, alloc_EXPR_LIST): New.  Change all callers of
878         gen_rtx_*_LIST and alloc_rtx to use them.
879         (compute_block_backward_dependences): Free the reg_last_* lists.
880
881 Thu Mar  5 00:05:40 1998  Jeffrey A Law  (law@cygnus.com)
882
883         * cccp.c (main): Avoid undefined behavior when setting pend_includes
884         and pend_files.
885
886 Wed Mar  4 21:58:25 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
887
888         * rs6000/linux.h: don't define DEFAULT_VTABLE_THUNKS to 1 if 
889         USE_GNULIBC_1 is defined
890         * configure.in: add a new case powerpc-*-linux-gnulibc1 which
891         includes the t-linux-gnulibc1 fragment
892
893 Wed Mar  4 12:11:36 1998  Jim Wilson  <wilson@cygnus.com>
894
895         * mips.md (movdf_internal1a): Fix misplaced parenthesis in condition.
896
897 Wed Mar  4 18:47:48 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
898
899         * final.c (final_scan_insn, case CODE_LABEL: Cleanup.
900
901 Wed Mar  4 15:51:19 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
902
903         * final.c (shorten_branches): Tag the loop alignment onto the
904         first label after NOTE_INSN_LOOP_BEG even if there is an
905         intervening insn.
906
907 Tue Mar  3 21:48:35 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
908
909         * final.c (insn_current_reference_address):
910         Use SEQ instead of BRANCH as argument to align_fuzz, to get a
911         proper alignment chain.
912
913         * final.c (max_labelno): New static variable.
914         (final_scan_insn): Check max_labelno before outputting an
915         alignment for a label.
916         (shorten_branches): Remove unused variable length_align.
917
918 Tue Mar  3 14:27:23 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
919
920         * sparc.c (ultrasparc_adjust_cost): Add default case in
921         enumeration switch.
922          
923          * sparc.h: Add prototypes for extern functions defined in
924         sparc.c.
925
926 Tue Mar  3 10:00:11 1998  Nick Clifton  <nickc@cygnus.com>
927
928         * toplev.c: Only generate <name>.dbr file when dumping RTL if
929         DEALY_SLOTS is defined. 
930
931 Tue Mar  3 07:36:37 1998  Manfred Hollstein  <manfred@s-direktnet.de>
932
933         * reorg.c (fill_eager_delay_slots): Add new argument delay_list
934         in call to fill_slots_from_thread.
935
936 Mon Mar  2 13:45:03 1998  Richard Henderson  <rth@cygnus.com>
937
938         * alpha/linux.h (CPP_PREDEFINES): Correct connecting whitespace 
939         to SUB_CPP_PREDEFINES.  Reported by asun@saul4.u.washington.edu.
940
941 Mon Mar  2 22:59:28 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
942
943         * final.c (insn_last_address, insn_current_align, uid_align):
944         New variables.
945         (in_align_chain, align_fuzz, align_shrink_fuzz): New functions.
946         (insn_current_reference_address): Likewise.
947         (shorten_branches, final_scan_insn): Implement LABEL_ALIGN,
948         LABEL_ALIGN_AFTER_BARRIER and LOOP_ALIGN target macros.
949         (label_to_alignment): New function.
950         * genattrtab.c (write_test_expr): If one of LABEL_ALIGN,
951         LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN is defined, call
952         insn_current_reference_address instead of insn_current_address.
953         (or_attr_value, write_length_unit_log): New functions.
954         (main): Call write_length_unit_log.
955         (write_const_num_delay_slots): Output extra '\n'.
956         * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
957         replace with:
958         (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER).
959         * i386.h, i386/osfrose.h, i386/svr3dbx.h, m68k.h, sparc.h: Likewise.
960         * arc.h, m32r.h (ASM_OUTPUT_LOOP_ALIGN): replace with:
961         (LOOP_ALIGN).
962         * i960.h, m88k.h: (ASM_OUTPUT_ALIGN_CODE): Replace with:
963         (LABEL_ALIGN_AFTER_BARRIER).
964         * ns32k/encore.h, ns32k/merlin.h, ns32k.h, ns32k/sequent.h: Likewise.
965         * ns32k/tek6000.h: Likewise.
966         * i386/gas.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Delete.
967         * i386.md (casesi+1): Use ASM_OUTPUT_ALIGN instead of
968         ASM_OUTPUT_ALIGN_CODE.
969
970 Mon Mar 2 01:05:50 PST 1998 Jeff Law  (law@cygnus.com)
971
972         * version.c: Bump for snapshot.
973
974 Mon Mar 2 00:52:18 PST 1998 Jeff Law  (law@cygnus.com)
975
976         * version.c: Bump for snapshot.
977
978 Sun Mar  1 18:25:49 1998  Michael P. Hayes  <michaelh@ongaonga.chch.cri.nz>
979
980         * reorg.c (fill_slots_from_thread): Don't steal delay list from target
981         if condition code of jump conflicts with opposite_needed. 
982
983         * reorg.c (fill_slots_from_thread): Mark resources referenced in
984         opposite_needed thread.  Return delay_list even when cannot get
985         any more delay insns from end of subroutine.
986
987 Sun Mar  1 18:26:21 1998  Ken Rose (rose@acm.org)
988
989         * reorg.c (fill_slots_from_thread): New parameter, delay_list.
990         All callers changed.
991
992 Sun Mar  1 18:25:37 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
993
994         * frame.c (start_fde_sort, fde_split, heapsort, fde_merge,
995         end_fde_sort): New functions for fast sorting of an FDE array.
996         (fde_insert): Simplified.
997         (add_fdes): Change argument list.
998         (frame_init): Use the new functions.
999
1000 Sun Mar  1 18:06:21 1998  Jeffrey A Law  (law@cygnus.com)
1001
1002         * ginclude/va-ppc.h (va_arg): Fix typo in long long support.
1003
1004         * i386.c (reg_mentioned_in_mem): Fix dangling else statement.
1005
1006         * fold-const.c (fold_range_test): Always return a value.
1007
1008 Sun Mar  1 17:57:34 1998  Mumit Khan <khan@xraylith.wisc.edu>
1009
1010         * config/i386/winnt.c (i386_pe_unique_section): Put read-only
1011         data in the text section unless READONLY_DATA_SECTION is defined.
1012
1013 Sun Mar  1 17:48:46 1998  Jeffrey A Law  (law@cygnus.com)
1014
1015         * c-parse.in (undeclared variable error): Tweak error message to
1016         be clearer.
1017
1018 Sun Mar 1 10:22:36 PST 1998 Jeff Law  (law@cygnus.com)
1019
1020         * version.c: Bump for snapshot.
1021
1022 1998-02-28  Mark Mitchell  <mmitchell@usa.net>
1023
1024         * final.c (final_scan_insn): Undo overzealous removal of `set'.
1025
1026 Sat Feb 28 07:54:03 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1027
1028         * pa.h (CONST_COSTS): When checking the CONST_DOUBLE enumerated
1029         case, add parentheses to specify the proper order of precedence in
1030         the if-statement.
1031         
1032
1033         * c-aux-info.c: Include string.h/strings.h.
1034
1035         * pa.c: Include stdlib.h.
1036         (pa_combine_instructions): Prototype the function.
1037         (pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise.
1038         (reloc_needed): Add default case for enumeration switch.
1039         (remove_useless_addtr_insns): Remove unused variable `all'.
1040         (hppa_expand_prologue): Add explicit braces to avoid
1041         ambiguous `else'.
1042         (output_function_epilogue): Remove unused variable `i'.
1043         (output_millicode_call): Remove unused variable `link'.
1044         (shadd_constant_p, forward_branch_p): Make the function static.
1045         (following_call): Explicitly declare to return int.
1046         (pa_reorg): Declare as void.
1047         (pa_combine_instructions): Declare as static void.  Add
1048         parentheses around && within ||.
1049         
1050         * pa.h: Add prototypes for pa_reorg, symbolic_operand,
1051         following_call, function_label_operand, lhs_lshift_cint_operand
1052         and zdepi_cint_p.
1053
1054         * pa.md: Add parentheses around && within ||.
1055
1056         * cppalloc.c: Include stdlib.h.
1057
1058         * cpperror.c (cpp_print_containing_files): Remove unused variable
1059         `i'.  Fix format specifier in fprintf.
1060
1061         * cse.c (cse_around_loop): Add explicit braces to avoid
1062         ambiguous `else'.
1063         (delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0.
1064
1065         * expr.c (expand_expr): Add parentheses around && within ||.
1066
1067         * final.c (app_enable): Replace fprintf with fputs where there are
1068         no format specifiers and no trailing argument after the string.
1069         Eg, when printing ASM_APP_ON/ASM_APP_OFF.
1070         (app_disable): Likewise.
1071         (final_end_function): Likewise.
1072         (final_scan_insn): Likewise.  Remove unused variable `set'.
1073         (profile_function): Wrap empty if-statement body in {} brackets.
1074
1075         * function.c: Include stdlib.h.
1076         (pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD.
1077         (reposition_prologue_and_epilogue_notes): Add parentheses
1078         around assignment used as truth value.
1079
1080         * integrate.c (expand_inline_function): Wrap variable
1081         `cc0_insn' in macro HAVE_cc0.
1082
1083         * jump.c (jump_optimize): Wrap variable `q' in macro
1084         HAVE_cc0.  Remove unused variable `prev1'.
1085
1086         * libgcc2.c (__bb_exit_trace_func): Add parentheses around &&
1087         within ||.  Fix format specifier in fprintf.
1088         (__bb_init_prg): Add parentheses around assignment used as
1089         truth value.
1090
1091         * local-alloc.c: Include stdlib.h.
1092         (requires_inout): Add parentheses around assignment used
1093         as truth value.
1094
1095         * loop.c (analyze_loop_iterations): Wrap prototype and definition
1096         in macro HAVE_decrement_and_branch_on_count.
1097         (insert_bct, instrument_loop_bct): Likewise.
1098         (move_movables): Add parentheses around assignment used as
1099         truth value.
1100         (consec_sets_invariant_p): Likewise.
1101         (maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0.
1102
1103         * objc/objc-act.c: Include stdlib.h.
1104         (lookup_method_in_protocol_list): Wrap empty else-statement body
1105         in braces.
1106         (lookup_protocol_in_reflist): Likewise.
1107         (objc_add_static_instance): Remove unused variables `decl_expr'
1108         and `decl_spec'.
1109         (get_objc_string_decl): Remove unused variable `decl'.
1110         (generate_static_references): Remove unused variables `idecl' and
1111         `instance'.
1112         (check_protocols): Wrap empty else-statement body in braces.
1113         
1114         * protoize.c: Include stdlib.h.
1115         (substr): Add parentheses around assignment used as truth value.
1116         (abspath): Likewise.
1117         (shortpath): Likewise.
1118
1119         * regmove.c (fixup_match_1): Add parentheses around assignment
1120         used as truth value.
1121
1122         * reload.c (push_secondary_reload): Remove unused variable `i'.
1123         (find_reloads): Add parentheses around assignment used as truth
1124         value.
1125
1126         * reload1.c: Include stdlib.h.
1127
1128         * rtl.h: Correct typo in prototype of offsettable_memref_p.
1129
1130         * stmt.c (add_case_node): Add parentheses around assignment used
1131         as truth value.
1132         (case_tree2list): Likewise.
1133
1134         * tree.c (valid_machine_attribute): Wrap variable `decl_attr_list'
1135         in macro VALID_MACHINE_DECL_ATTRIBUTE.  Wrap variable
1136         `type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE.
1137         (merge_attributes): Add explicit braces to avoid ambiguous
1138         `else'.
1139
1140         * unroll.c (copy_loop_body): Wrap variable `cc0_insn' in
1141         macro HAVE_cc0.
1142         
1143         * varasm.c: Include stdlib.h.
1144         
1145
1146         * system.h: Remove sys/stat.h.
1147         * gcc.c: Add sys/stat.h.
1148
1149         * genattr.c: Wrap prototype of `free' in NEED_DECLARATION_FREE.
1150         * genattrtab.c: Likewise.
1151         * genconfig.c: Likewise.
1152         * genemit.c: Likewise.
1153         * genextract.c: Likewise.
1154         * genflags.c: Likewise.
1155         * genopinit.c: Likewise.
1156         * genoutput.c: Likewise.
1157         * genpeep.c: Likewise.
1158         * genrecog.c: Likewise.
1159         * tlink.c: Likewise.  Also wrap `getenv' in NEED_DECLARATION_GETENV.
1160
1161 Fri Feb 27 11:02:47 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1162
1163         * invoke.texi: Use @itemx for a secondary item in a @table.
1164
1165         * config/m68k/m68k.md (movsf+1): Optimize moving a CONST_DOUBLE
1166         zero.
1167
1168 1998-02-26  Ken Raeburn  <raeburn@cygnus.com>
1169
1170         * regclass.c (init_reg_sets): Move init of move cost tables...
1171         (init_reg_sets_1): ...to here.
1172
1173 Thu Feb 26 00:13:21 1998  Ian Lance Taylor  <ian@cygnus.com>
1174
1175         * choose-temp.c: Fix handling of sys/file.h to work in libiberty.
1176
1177 Wed Feb 25 23:40:54 1998  Jeffrey A Law  (law@cygnus.com)
1178
1179         * i386.c (struct machine_function): Add new fields for PIC stuff.
1180         (save_386_machine_status): Fix argument to xmalloc.  Save pic_label_rtx
1181         and pic_label_name.
1182         (restore_386_machine_status): Corresponding changes.
1183         (clear_386_stack_locals): Also clear pic_label_rtx and pic_label_name.
1184
1185 Wed Feb 25 01:31:40 1998  Jeffrey A Law  (law@cygnus.com)
1186
1187         * c-parse.y (undeclared variable error): Tweak error message
1188         to be clearer.
1189
1190 Tue Feb 24 23:54:07 1998  Richard Henderson  <rth@cygnus.com>
1191
1192         * flags.h (g_switch_value, g_switch_set): Declare.
1193         * alpha.c (override_options): Set g_switch_value=8 if not set.
1194         * alpha/elf.h (CC1_SPEC): New.
1195         (ASM_SPEC): New.
1196         (LINK_SPEC): Pass along the -G value we were given.
1197         (LOCAL_ASM_OP): Remove.
1198         (ASM_OUTPUT_ALIGNED_LOCAL): Output to .bss or .sbss by size.
1199         (MAX_OFILE_ALIGNMENT): New.
1200         (BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP): New.
1201         (EXTRA_SECTIONS): Add sbss and sdata.
1202         (SECTION_FUNCTION_TEMPLATE): New.
1203         (EXTRA_SECTION_FUNCTIONS): Use it.
1204         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
1205         (SELECT_SECTION): Use sdata when small enough.
1206         * alpha/linux.h (ASM_SPEC): Remove.
1207         
1208
1209 Mon Feb 23 15:09:18 1998  Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
1210         * config.sub (sco5): Fix typo.
1211
1212 Mon Feb 23 18:19:31 1998  Manfred Hollstein  <manfred@s-direktnet.de>
1213
1214         * config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and
1215         set to empty.
1216         * config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise.
1217         * config/alpha/t-linux: Remove file.
1218         * config/sparc/t-linux: Remove file.
1219         * config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove.
1220         * config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise.
1221         * configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux
1222         for tmake_file.
1223         (alpha*-*-linux-gnu*): Likewise.
1224         (sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file.
1225         (sparc-*-linux-gnu*): Likewise.
1226
1227 Mon Feb 23 10:47:39 1998  Robert Lipe  <robertl@dgii.com>
1228         * collect2.c (ldd_file_name): Bracket declaration with same
1229         manifests as use.
1230         (full_real_ld_suffix): Deleted.  Variable was calloced and
1231         written into, but never read.
1232
1233 1998-02-23  Mike Stump  <mrs@wrs.com>
1234
1235         * configure.in: Add support for i386-wrs-vxworks configuration.
1236         * i386/vxi386.h: New file.
1237
1238 Sun Feb 22 21:16:51 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
1239
1240         * tree.c (contains_placeholder_p): Ensure function always returns
1241         a value.
1242         * sparc.md (movdi_sp64_insn): Add default case in enumeration switch.
1243         (movsf_const_insn, movdf_const_insn, movtf_const_insn): Likewise.
1244
1245 Sun Feb 22 20:58:19 1998  Jeffrey A Law  (law@cygnus.com)
1246
1247         * vms.h (SELECT_SECTION): Use TREE_CODE_CLASS correctly.
1248
1249 1998-02-22  Paul Eggert  <eggert@twinsun.com>
1250
1251         * config/sparc/sol2-sld.h (LINKER_DOES_NOT_WORK_WITH_DWARF2):
1252         Define this new symbol.
1253         (DWARF2_DEBUGGING_INFO, DWARF_DEBUGGING_INFO): Do not #undef.
1254         * toplev.c (main): Do not default to DWARF2_DEBUG with -ggdb if
1255         LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined.
1256
1257 Sun Feb 22 20:07:32 1998  Jim Wilson  <wilson@cygnus.com>
1258
1259         * iris5.h (DWARF2_UNWIND_INFO): Define to 0.
1260         * iris5gas.h (DWARF2_UNWIND_INFO): Define to 1.
1261
1262 Sun Feb 22 15:29:48 1998  Richard Henderson  <rth@cygnus.com>
1263
1264         * objc/Object.m (-error): Call objc_verror with our va_list.
1265
1266 Sun Feb 22 09:45:39 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1267
1268         * collect2.c (scan_prog_file): Completely cover uses of variable
1269         `exports' with macro COLLECT_EXPORT_LIST.
1270
1271 Sat Feb 21 20:36:23 1998  Jeff Law  (law@cygnus.com)
1272
1273         * version.c: Bump for snapshot.
1274
1275 Fri Feb 20 16:22:13 1998  Michael Meissner  <meissner@cygnus.com>
1276
1277         * sched.c (schedule_block): Remove code to get arguments from hard
1278         regs into pseudos early.  Same as Aug 25, 1997 change to
1279         haifa-sched.c.
1280
1281 1998-02-20  Jason Merrill  <jason@yorick.cygnus.com>
1282
1283         * collect2.c (main): Still handle !do_collecting for non-AIX targets.
1284
1285 Fri Feb 20 10:39:47 1998  Michael Tiemann  <michael@impact.tiemann.org>
1286
1287         * ginclude/va-mips.h (va_arg): Remove trailing space after '\'
1288         continuation character (line 243).
1289
1290 Fri Feb 20 12:10:26 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1291
1292         * genrecog.c (main): Remove duplicated sentence in emitted comment.
1293
1294 Thu Feb 19 22:36:53 1998  Andrey Slepuhin  <pooh@msu.net>
1295                           David Edelsohn  <edelsohn@mhpcc.edu>
1296
1297         * collect2.c (XCOFF_SCAN_LIBS): Remove.
1298         (export_flag): New variable.
1299         (export_file): #ifdef COLLECT_EXPORT_LIST.
1300         (import_file, exports, imports, undefined): New variables.
1301         (libs, cmdline_lib_dirs, libpath_lib_dirs, libpath, libexts): Same.
1302         (dump_list, dump_prefix_list, is_in_list): New functions.
1303         (write_export_file): $ifdef COLLECT_EXPORT_LIST.
1304         (write_import_file, resolve_lib_name): New functions.
1305         (use_import_list, ignore_library): Same.
1306         (collect_exit): maybe_unlink import_file and #ifdef.
1307         (handler): Same.
1308         (main): New variable importf, #ifdef exportf.  Move parsing of
1309         -shared before general argument parsing.  Resolve AIX library
1310         paths and import libgcc.a symbols.  Treat .so shared libraries the
1311         same as objects and .a libraries.  Create alias for object_lst and
1312         increment it instead of original pointer.  Scan AIX libraries as
1313         objects earlier instead of using scan_libraries.  Perform AIX
1314         tlink later to resolve templates instead of forking ld.
1315         (GCC_OK_SYMBOL): Ensure symbol not in undef section.
1316         (GCC_UNDEF_SYMBOL): New macro.
1317         (scan_prog_file): Loop for members of AIX libraries.  Handle
1318         export/import of ctors/dtors.
1319         (aix_std_libs): New variable.
1320         (scan_libraries, XCOFF): Delete.
1321
1322 Thu Feb 19 22:36:52 1998  Robert Lipe   <robertl@dgii.com>
1323
1324         * collect2.c (full_real_ld_suffix): #ifdef CROSS_COMPILE.
1325
1326 1998-02-19  Mike Stump  <mrs@wrs.com>
1327
1328         * Makefile.in: Use $tooldir for sys-include to match toplevel
1329         configure.
1330
1331 Thu Feb 19 01:32:37 1998  Jeffrey A Law  (law@cygnus.com)
1332                           Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1333
1334         * emit-rtl.c (gen_lowpart_common): Suppress last change if __complex__.
1335
1336         * emit-rtl.c (hard-reg-set.h): Include.
1337         (get_lowpart_common): Don't make new REG for hard reg in a 
1338         class that cannot change size.
1339         * Makefile.in (emit-rtl.o): Depend on hard-reg-set.h.
1340
1341         * combine.c: Revert previous patch.
1342
1343 1998-02-19  Paul Eggert  <eggert@twinsun.com>
1344
1345         * config/sparc/sol2-sld.h: New file.
1346         * configure.in (sparc-*-solaris2*): Use it when using the
1347         system linker.
1348
1349 Thu Feb 19 00:46:59 1998  Jeffrey A Law  (law@cygnus.com)
1350
1351         * loop.c (force_movables): Fix typo.
1352
1353 Thu Feb 19 08:26:30 1998  Manfred Hollstein <manfred@s-direktnet.de>
1354
1355         * m88k.h: Change file pattern to match reality.
1356
1357 Wed Feb 18 23:19:52 1998  Jeffrey A Law  (law@cygnus.com)
1358
1359         * varasm.c (output_constant_pool): Fix dumb thinko in last
1360         change.
1361
1362         * pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Correctly translate from
1363         a function name to a section name.
1364
1365 1998-02-18  Doug Evans  <devans@cygnus.com>
1366
1367         * tree.h (merge_machine_{type,decl}_attributes): Declare.
1368         (split_specs_attrs, strip_attrs): Add prototypes.
1369         * tree.c (merge_machine_{type,decl}_attributes): New functions.
1370         * c-decl.c (duplicate_decls): Call merge_machine_decl_attributes.
1371         Update olddecl's attributes too.
1372         * c-common.c (strip_attrs): New function.
1373         * c-typeck.c (common_type): Call merge_machine_type_attributes.
1374         * varasm.c (make_function_rtl): New target macro REDO_SECTION_INFO_P.
1375         (make_decl_rtl): Likewise.
1376
1377 1998-02-18  Jim Wilson  <wilson@cygnus.com>
1378
1379         * c-decl.c (shadow_tag_warned): Call split_specs_attrs.
1380
1381 Wed Feb 18 09:09:50 1998  Jeffrey A Law  (law@cygnus.com)
1382
1383         Remove this change until we can fix it correctly.
1384         * collect2.c: Bracket declaration of 'exportf' and
1385         'full_real_ld_suffix'.
1386
1387 Wed Feb 18 08:44:25 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
1388
1389         * Makefile.in (STAGESTUFF): Add genrtl.c, genrtl.h and gengenrtl.
1390
1391 Tue Feb 17 23:30:20 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
1392
1393         * c-common.c (c_expand_start_cond, c_expand_end_cond,
1394         c_expand_start_else): Don't warn about non-ambiguous else even if
1395         braces are missing.
1396
1397 Tue Feb 17 23:56:50 1998   Robert Lipe  <robertl@dgii.com>
1398
1399         * sco5.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
1400         ASM_OUTPUT_LONG_DOUBLE): Delete.   Use the ones from i386.h
1401         instead.
1402
1403 Tue Feb 17 22:56:14 1998  Richard Henderson  <rth@cygnus.com>
1404
1405         * combine.c (simplify_rtx): Obey CLASS_CANNOT_CHANGE_SIZE when
1406         simplifying a subreg of a hard reg.
1407         (expand_compound_operation): Likewise.
1408         (force_to_mode): Likewise.
1409
1410 Tue Feb 17 22:37:22 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1411
1412         * fold-const.c: Include "system.h" to get stdlib.h and stdio.h.
1413         (lshift_double): Add parentheses around + or - inside shift.
1414         (rshift_double): Likewise.
1415         (size_int_wide): Explicitly set type of `bit_p' to `int'.
1416
1417         * Makefile.in (fold-const.o): Depend on system.h.
1418
1419         * Makefile.in (gcc.o): Depend on system.h, in accordance with last
1420         change to gcc.c.
1421
1422         * haifa-sched.c: Include "system.h" to get <stdlib.h> and <stdio.h>.
1423         (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
1424         (sched_note_set): Remove unused parameter `b', all callers changed.
1425         (schedule_block): Likewise for `rgn'.
1426         (split_hard_reg_notes): Likewise for `orig_insn'.
1427         (check_live): Likewise for `trg'.
1428         (update_live): Likewise.
1429         (check_live_1): Explcitly declare variable `i' as int.
1430         (update_live_1): Likewise.
1431         (insn_issue_delay): Remove unused variable `link'.
1432         (sched_analyze_2): Add default case in enumeration switch.
1433         (schedule_insns): Remove unused variable `i'.
1434
1435         * Makefile.in ($(SCHED_PREFIX)sched.o): Depend on system.h.
1436
1437 Tue Feb 17 22:31:04 1998  Jeffrey A Law  (law@cygnus.com)
1438
1439         * loop.c (rtx_equal_for_loop_p): Add some braces to disambiguate
1440         a dangling else clause.
1441
1442 Tue Feb 17 21:28:12 1998  Gavin Koch  <gavin@cygnus.com>
1443
1444         * mips/mips.h (CAN_ELIMINATE): Don't eliminate the frame
1445         pointer for the stack pointer in MIPS16 and 64BIT.
1446
1447 Tue Feb 17 21:17:30 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
1448
1449         * rtl.h (force_line_numbers, restore_line_number_status): Declare.
1450         * emit-rtl.c (force_line_numbers, restore_line_number_status):
1451         New functions.
1452         * stmt.c (struct nesting): Replace seenlabel with line_number_status.
1453         (expand_start_case): Adjust to this change.
1454         (check_seenlabel): New function.
1455         (pushcase, pushcase_range, expand_endcase): Use it.
1456
1457 Tue Feb 17 10:14:32 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1458
1459         * i386.md (adddi3): Add =!r,0,0,X alternative.
1460
1461 Mon Feb 16 16:13:43 1998  David Edelsohn  <edelsohn@mhpcc.edu>
1462
1463         * rs6000.h (MY_ISCOFF): Add numeric value of U803XTOCMAGIC.
1464         * x-aix31 (INSTALL): Delete.
1465
1466 Mon Feb 16 09:24:32 1998  Gavin Koch  <gavin@cygnus.com>
1467
1468         * mips/mips.c (mips_expand_epilogue): Update tsize_rtx if 
1469         tsize changes to something other than zero.
1470
1471 Mon Feb 16 09:11:48 1998  Gavin Koch  <gavin@cygnus.com>
1472
1473         * ginclude/va-mips.h: Replace casts of pointers to int with
1474         casts of pointers to __PTRDIFF_TYPE__.
1475
1476 Mon Feb 16 08:17:14 1998  John Carr  <jfc@mit.edu>
1477
1478         * loop.c (strength_reduce, record_biv, record_giv): Use
1479         HOST_WIDE_INT_PRINT_DEC to print CONST_INT values.
1480
1481 1998-02-16  Jason Merrill  <jason@yorick.cygnus.com>
1482
1483         * tree.c (first_rtl_op): New fn.
1484         (unsave_expr_now): Use it.
1485         * print-tree.c (print_node): Likewise.
1486         * tree.c (has_cleanups): New fn.
1487         * fold-const.c (fold, case CLEANUP_POINT_EXPR): Use it.  Be more
1488         conservative about pushing the cleanup point down.
1489         * tree.h: Declare them.
1490
1491 Sun Feb 15 23:28:44 1998  Jeffrey A Law  (law@cygnus.com)
1492
1493         * toplev.c (flag_schedule_reverse_before_reload): Delete variable.
1494         (flag_schedule_reverse_after_reload): Likewise.
1495         (f_options): Remove reverse scheduling support.
1496         * flags.h (flag_schedule_reverse_before_reload): Delete declaration.
1497         (flag_schedule_reverse_after_reload): Likewise.
1498         * haifa-sched.c (rank_for_schedule): Remove support for reverse
1499         scheduling.
1500         
1501 Sun Feb 15 21:33:55 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1502
1503         * gcc.c: Get system includes, prototypes and macros via "system.h"
1504         instead of doing it manually.  Change all calls of the ctype
1505         macros to custom versions defined in "system.h".
1506
1507         * system.h: Fix return type of bcmp prototype from `void' to `int'.
1508         Make bcopy, bcmp and bzero prototypes explicitly `extern'.
1509         Add a prototype for getenv.
1510
1511 Sun Feb 15 17:05:41 1998  Jim Wilson  <wilson@cygnus.com>
1512
1513         * mips/mips.h (INITIAL_ELIMINATION_OFFSET): Readd Jun 6 change.
1514
1515 Sun Feb 15 15:23:15 1998  John Carr  <jfc@mit.edu>
1516
1517         * alias.c: Include <stdlib.h> and <string.h>.
1518         (init_alias_analysis): Pass NULL_RTX instead of 0 to record_set.
1519
1520 Sat Feb 14 11:23:09 PST 1998 Jeff Law  (law@cygnus.com)
1521
1522         * version.c: Bump for snapshot.
1523
1524 Sat Feb 14 05:08:21 1998  Richard Earnshaw (rearnsha@arm.com)
1525
1526         * arm.md (movsfcc): Also validate operands[3] when compiling hard
1527         float.
1528         (movdfcc): Only accept fpu_add_operand for operands[3].
1529
1530         * arm/t-semi (STMP_FIXPROTO): Define to nothing.
1531         * arm/t-semiaof (STMP_FIXPROTO): Likewise.
1532
1533 Sat Feb 14 02:02:41 1998  Jeffrey A Law  (law@cygnus.com)
1534
1535         * varasm.c (output_constant_pool): Bring back 'done' label inside
1536         an appropriate #ifdef.
1537
1538         * bitmap.c (bitmap_element_allocate): Wrap variable 'i' in an 
1539         appropriate #ifdef.
1540         (bitmap_copy, bitmap_operation): Likewise.
1541         * combine.c (combinable_i3pat): Similarly for 'src'.
1542         * function.c (fixup_var_refs_1): Similarly for 'outerdest'.
1543         (locate_and_pad_parm): Similarly for 'reg_parm_stack_space'.
1544         * regclass.c (copy_cost): Similarly for 'secondary_class'.
1545         * reload.c (make_memloc): Simliarly for 'i'.
1546         (find_reloads_address_1): Similarly for 'link'.
1547         * reload1.c (reload): Similarly for 'previous_frame_pointer_needed'.
1548         (emit_reload_insns): Similarly for 'second_reloadreg'.
1549         * unroll.c (iteration_info): Similarly for 'v'.
1550
1551         * caller-save.c (insert_save_restore): Remove unused variable 'i'.
1552         * calls.c (expand_call): Similarly for 'i'.
1553         (emit_library_call, emit_library_call_value): Similarly for 'mode'.
1554         * fold-const.c (strip_compund_expr): Similarly for 'type'.
1555         * function.c (fixup_var_refs_1): Similarly  for 'width'.
1556         (fixup_memory_subreg): Similarly for 'saved'.
1557         (locate_and_pad_parm): Similarly for 'boundary_in_bytes.'
1558         (setjmp_protect): Similarly for 'sub'.
1559         (thread_prologue_and_epilogue_insns): Similarly for 'insn'.
1560         * loop.c (record_giv): Similarly for 'p'.
1561         (combine_givs): Similarly for 'temp_iv'.
1562         (indirect_jump_in_function_p): Similarly for 'is_indirect_jump'.
1563         * recog.c (validate_replace_rtx_1): Similarly for 'width'.
1564         * tree.c (get_set_constructor_bytes): Similarly for 'vals'.
1565         * unroll.c (unroll_loop): Similarly for 'copy'.
1566         (iteration_info): Similarly for 'b'.
1567         * varasm.c (assemble_string): Similarly for 'i'.
1568         * i386.h (LEGITIMIZE_ADDRESS): Similarly for 'orig_x'.
1569
1570 Fri Feb 13 14:38:34 1998  Jim Wilson  <wilson@cygnus.com>
1571
1572         * dwarf2out.c (decl_scope_node): New type.
1573         (decl_scope_table): Change type to use it.
1574         (decl_scope_table_allocated, decl_scope_depth): Change type to int.
1575         (push_decl_scope): Use new type.  New locals containing_scope, i.
1576         Add code to handle setting previous field.
1577         (scope_die_for): Change type of local i to int.  Add code to use
1578         previous field.
1579         (dwarf2out_init): Use new type.
1580
1581 1998-02-13  Jason Merrill  <jason@yorick.cygnus.com>
1582
1583         * except.c (emit_throw): Lose throw_used.
1584
1585 Fri Feb 13 20:36:05 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1586
1587         * sched.c (update_flow_info, REG_WAS_0): Ignore if setting insn
1588         was deleted.
1589         * haifa-sched.c (update_flow_info, REG_WAS_0): Likewise.
1590
1591 Fri Feb 13 12:18:40 1998  Jeffrey A Law  (law@cygnus.com)
1592
1593         * genextract.c (main): Fix typo.
1594
1595 Fri Feb 13 08:41:49 1998  Robert Lipe   <robertl@dgii.com>
1596
1597         * c-lang.c (finish_file): Bracket declaration of static_ctors, 
1598         static_dtors.
1599
1600         * calls.c (expand_call): Bracket declaration of 'rtx_before_call',
1601         'old_stack_arg_under_construction'
1602         (emit_library_call): Bracket declaration of 'upper_bound', 
1603         'lower_bound', 'i', 'reg_parm_stack_space'
1604         (emit_library_call_value): Likewise.
1605         (store_one_arg): 
1606
1607         * collect2.c: include <unistd.h> when appropriate.
1608         Bracket declaration of 'exportf' and 'full_real_ld_suffix'.
1609
1610         * emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'.
1611         
1612         * explow.c (plus_constant_for_output_wide): Remove unused variable
1613         'code'.
1614         (memory_address): Remove unused variable 'orig_x'. 
1615
1616         * genattrtab.c (make_canonical): Remove unreferenced label 'cond:'.
1617         (write_const_num_delay_slots): Remove unused variable 'i'.
1618
1619         * genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'.
1620         (gen_insn): Remove unused variable 'obstack_ptr'.
1621
1622         * libgcc2.c (__bb_exit_func): Remove unused variables 'ret',
1623         'j', 'tmp', 'i'.
1624         (__bb_exit_trace_func): Remove unused variable 'e'.
1625
1626         * optabs.c (expand_binop): remove unused variables 'lhs', 'rhs',
1627         'funexp'.
1628         (expand_unop): Remove unused variable 'funexp'.
1629         (expand_complex_abs): Remove unused variable 'funexp'. 
1630         (init_optabs): Bracket declaration of 'j'.
1631         (init_complex_libfuncs): Deleted.  Dead static function.
1632         
1633         * profile.c (branch_prob): Remove unused variables 'insn', 'dest'.
1634
1635         * reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths'
1636         (reg_to_stack): 'initialized', 'before_function_beg'
1637         explictly type as ints instead of defaulting.
1638         (emit_swap_insn): Remove unused variable 'i2'.
1639         (compare_for_stack_reg): Remove unused variable 'src_note'.
1640
1641         * rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'.
1642
1643         * sched.c (actual_hazard): Bracket declaration of 'this_cost'.
1644
1645         * stmt.c (add_case_node): Add parens for assignment used as truth.
1646         (all_cases_count):  Remove unused variable 'count_high'.
1647         (mark_seen_cases): Remove unused variable 'i'.
1648         (check_for_full_enumeration_handling): Remove unused variable 't'.
1649         Bracket declaration of  'all_values', 'l'.
1650         
1651         * tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>.
1652
1653         * varasm.c (assemble_string): Remove unused variable 'i'. 
1654         (immed_double_const): Remove unused variable 'in_current_obstack'. 
1655         (immed_real_const_1): Likewise.
1656         (output_constant_pool): Remove unreferenced label 'done'.
1657         (output_constant): Remove unused variable 'x'.
1658         
1659         * i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not
1660         a string.
1661
1662         * i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used
1663         as truth.
1664
1665 Fri Feb 13 10:21:41 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1666
1667         * combine.c (can_combine_p): Handle USEs in PARALLELs.
1668
1669 Fri Feb 13 01:34:14 1998  H.J. Lu  (hjl@gnu.org)
1670
1671         * config/linux.h (LIB_SPEC): Add -lc for -shared if
1672         USE_GNULIBC_1 is not defined.
1673         * config/sparc/linux.h; Ditto.
1674
1675         * config/sparc/linux64.h (LIB_SPEC): Add -lc for -shared.
1676
1677         * config/alpha/linux-elf.h (LIB_SPEC): New. Defined if
1678         USE_GNULIBC_1 is not defined.
1679
1680 Fri Feb 13 01:29:29 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
1681
1682         * rs6000/sysv4.h (ENDFILE_SPEC): add missing %(endfile_linux)
1683         for -mcall-linux
1684
1685 Fri Feb 13 01:23:46 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1686  
1687         * system.h: New file to get common systems includes and various
1688         definitions and declarations based on autoconf macros.
1689
1690 Fri Feb 13 00:46:19 1998  Jeffrey A Law  (law@cygnus.com)
1691
1692         * cccp.c (new_include_prefix): Correctly handle -I./.
1693
1694 Thu Feb 12 20:16:35 1998  Michael Meissner  <meissner@cygnus.com>
1695
1696         * rs6000.md: Replace gen_rtx (CONST_INT,...) with GEN_INT.
1697
1698 Thu Feb 12 16:45:17 1998  Robert Lipe  <robertl@dgii.com>
1699
1700         * expr.c (expand_assignment):  Correct typo exposed by -Wall. 
1701         offset should have been a truth value, not an assignment.
1702
1703 Thu Feb 12 15:26:50 1998  Jeffrey A Law  (law@cygnus.com)
1704
1705         * cse.c (delete_dead_from_cse): If a libcall produces a constant
1706         result and that result can be substituted into SET_SRC of the
1707         insn with the REG_RETVAL note, then perform the substitution
1708         and delete the libcall.
1709
1710 Thu Feb 12 14:04:09 1998  Gavin Koch  <gavin@cygnus.com>
1711
1712         * mips.md (trucndihi2,truncdiqi2): Change these to support 
1713         mips16.
1714
1715 Thu Feb 12 11:34:55 1998  Gavin Koch  <gavin@cygnus.com>
1716
1717         * mips/mips.c (movdi_operand): Direct referances to symbols
1718         that arn't mips16 consts in mips16 mode arn't valid operands.
1719
1720         * mips/mips.c (mips_move_2words): Add gprel handling.
1721
1722 Thu Feb 12 11:18:37 1998  Gavin Koch  <gavin@cygnus.com>
1723
1724         * mips.md (extendsidi2): Allow extension to/from a non-mips16 
1725         register.
1726
1727 Thu Feb 12 00:04:16 1998  Marc Lehmann <pcg@goof.com>
1728
1729         * i386.c: Conditionally include <stdlib.h>, <string.h>, and
1730         <strings.h>.
1731
1732 Wed Feb 11 11:43:34 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1733
1734         * Makefile.in (WARN_CFLAGS): New variable.
1735         (bootstrap, bootstrap2, bootstrap3, bootstrap4): Use it.
1736
1737 1998-02-11  Mark Mitchell  <mmitchell@usa.net>
1738
1739         * config/i386/i386.c (reg_mentioned_in_mem): Don't abort when
1740         falling through default case in switch.
1741         (i386_aligned_p): Likewise.
1742
1743 Wed Feb 11 12:59:56 1998  Lee Iverson  <leei@Canada.AI.SRI.COM>
1744
1745         * mips/mips.h (mips_abi_string): Correct typo in comment.
1746
1747 Wed Feb 11 08:29:56 1998  Gavin Koch  <gavin@cygnus.com>
1748
1749         * mips/mips.md (movdi): These PLUS's need to be Pmode.
1750
1751 Wed Feb 11 01:47:54 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1752
1753         * Makefile.in (dwarf2out.o, emit-rtl.o, jump.o, cse.o, unroll.o,
1754         reorg.o, regmove.o): Depend on insn-codes.h, it gets included
1755         indirectly via expr.h.
1756
1757 Wed Feb 11 01:44:13 1998  Richard Henderson  <rth@cygnus.com>
1758
1759         * stor-layout.c (layout_type): Do upper - lower in the native type,
1760         so as to properly handle negative indices.
1761
1762 Wed Feb 11 01:35:55 1998  Robert Lipe   <robertl@dgii.com>
1763
1764         * except.c (start_dynamic_cleanup): Remove unused variable 'dhc'.
1765         (expand_eh_region_start_tree): Remove unused variable 'note'.
1766         (exception_optimize): Remove unused variable 'regions'.
1767         (expand_builtin_eh_stub):  Remove unused variable 'temp'.
1768         (copy_eh_entry): Deleted.   Dead function.
1769
1770         * expr.c (move_block_to_reg) Bracket declaration of 'pat' and 
1771         'last' with same #if HAVE_load_multiple as use of it.
1772         (move_block_from_reg): Likewise.
1773         (emit_move_insn_1): Remove unused variable 'insns'.
1774         (store_constructor): Bracket declaration of startb, endb with 
1775         #if TARGET_MEMFUNCTIONS.  Remove unused variables 'set_word_size' 
1776         'target', and 'xtarget'.
1777         (expand_builtin_setjmp): Remove unused variables 'op0', 
1778         'next_arg_reg', 'old_inhibit_defer_pop'.
1779         (expand_builtin): Remove unused variable 'offset'. 
1780         (do_store_flag): Remove unused variables 'pattern', 'jump_pat'.
1781         (emit_queue): Add parens for assignment used as conditional.
1782         (expand_expr): case TARGET_EXPR: Remove unused variable 'temp'.
1783
1784 Wed Feb 11 01:30:49 1998  Marc Lehmann <pcg@goof.com>
1785
1786         * i386.c: Added include for recog.h. 
1787         (override_options): Removed unused variable p. Initialized regno to
1788         avoid warning.
1789         (order_regs_for_local_alloc): Initialized regno to avoid warning.
1790         (legitimize_address): Likewise for 'other'.
1791         (i386_aligned_reg_p): Added default case with abort ().
1792         (print_operand): Likewise.
1793         (reg_mentioned_in_mem): Likewise.
1794         (ix86_expand_binary_operator): Removed unused variables i & insn.
1795         (ix86_expand_unary_operator): Removed unused variable insn.
1796         (output_fp_cc0_set): Removed unused variable unordered_label.
1797
1798 Wed Feb 11 01:23:03 1998  John F. Carr  <jfc@mit.edu>
1799
1800         * i386.c, i386.h, i386.md: Change gen_rtx (X, ...) to gen_rtx_X (...).
1801         Use GEN_INT instead of gen_rtx (CONST_INT). Make printf arguments
1802         and format string match.
1803
1804 Wed Feb 11 01:17:39 1998  Jeffrey A Law  (law@cygnus.com)
1805
1806         * flow.c (life_analysis): Do not conside the stack pointer live at
1807         the end of a function if the fucntio ncalls alloca.
1808         (mark_used_regs): Similarly.
1809
1810 1998-02-10  John F Carr  <jfc@mit.edu>
1811
1812         * config/sparc/sparc.md (movdi_v8plus): Output stx on alternative
1813         1, fzero on alternative 8.
1814
1815 Tue Feb 10 09:02:19 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1816
1817         * rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p.
1818
1819 Tue Feb 10 03:35:43 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1820
1821         * reload.c (find_reloads_toplev): Handle arbitrary non-paradoxical
1822         SUBREGs of CONST_INTs.
1823
1824 Mon Feb  9 17:52:36 1998  John Carr  <jfc@mit.edu>
1825
1826         * mips.c (print_operand, function_prologue): Make printf format
1827         match argument type.
1828
1829 Mon Feb  9 02:37:25 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1830
1831         * alpha.c (alpha_return_addr): Remove unused variable `first'.
1832         (alpha_ra_ever_killed): Remove unused variables `ra' and `i'.
1833         (output_epilog): Remove unused variable `frame_size_from_reg_save'.
1834
1835 Sun Feb  8 14:56:03 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1836
1837         * loop.c (strength_reduce): When placing increment for auto-inc
1838         case, do comparison in loop order.
1839         
1840 Sun Feb  8 13:21:38 1998  John Carr  <jfc@mit.edu>
1841
1842         * bitmap.c (bitmap_debug_file): HOST_PTR_PRINTF converts a pointer,
1843         not a HOST_WIDE_INT.
1844
1845         * calls.c (expand_call): Change test of expand_inline_function
1846         return value to stop compiler warning.
1847
1848         * genattrtab.c (RTL_HASH): Cast pointer to long, not HOST_WIDE_INT.
1849
1850 Sun Feb  8 12:04:24 1998  Jim Wilson  (wilson@cygnus.com)
1851                           Jeff Law (law@cygnus.com)
1852
1853         * regmove.c: Fix various minor formatting problems.
1854         (optimize_reg_copy_1): Stop search at CALL_INSNs if flag_exceptions
1855         is true.  Make end of basic block tests consistent through regmove.c.
1856         (optimize_reg_copy_2, optimize_reg_copy_3): Likewise.
1857         (fixup_match_2, fixup_match_1, regmove_optimize): Likewise.
1858
1859 Sun Feb  8 01:49:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1860
1861         * gansidecl.h: Check for a conflicting macro definition before
1862         attempting to prototype bcopy, bcmp or bzero.
1863
1864 Sun Feb  8 00:09:59 1998  Jeffrey A Law  (law@cygnus.com)
1865
1866         * expr.c (clear_pending_stack_adjust): Handle case where a function
1867         calls alloca, but the user has specified -fomit-fframe-pointer.
1868
1869         * function.c (assign_parms): Fix typo in last change.
1870
1871 Sat Feb  7 23:54:29 1998   Robert Lipe  <robertl@dgii.com>
1872
1873         * gcc.c: Include <strings.h>/<string.h>, <stdlib.h>, <unistd.h>,
1874         <fcntl.h>.
1875         (free_path_suffix): Remove unreferenced static function.
1876         (process_command): Remove unused variable temp.
1877         (default_arg): Remove unused variable i.
1878         (do_spec_1):  Add parens for assignment used as truth value.
1879         (main): Likewise.
1880         (validate_all_switches): Likewise.
1881         (main): Remove unused variables i, first_time>
1882
1883         * c-common.c: Include <stdlib.h> and <string.h>/<strings.h>.
1884
1885         * calls.c (expand_call): Remove unused variables funtree,
1886         n_regs, and tmpmode.
1887
1888         * dbxout.c, except.c: Include <string.h>/<strings.h>.
1889
1890         * explow.c: (plus_constant_for_output_wide) Removed unused
1891         variable all_constant.
1892
1893         * c-decl.c, genattr.c, genattrtab.c, getconfig.c, genemit.c
1894         genextract.c, genflags.c, genopinit.c genoutput.c, genpeep.c,
1895         genrecog.c, global.c, integrate.c , stupid.c : Include
1896         <stdlib.h>.
1897
1898         * genextract.c: (walk_rtx) Remove unused variable link.
1899
1900         * genrecog.c: (concat) Remove unreferenced static function.
1901
1902         * prefix.c: Include <string.h>/<strings.h>, <stdlib.h>
1903
1904         * stmt.c: Include <stdlib.h>.  
1905         (expand_asm_operands): Remove unused variable val1.  
1906         (expand_return): Remove unused variable block.
1907         (pushcase): Remove unused variables l and n.
1908         (pushcaserange): Likewise.
1909
1910         * unroll.c (unroll_loop): Remove unused variable temp.
1911
1912 Sat Feb  7 23:46:09 1998  Greg McGary  <gkm@gnu.org>
1913
1914         * c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only.
1915
1916 Sat Feb  7 15:11:28 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1917
1918         * aclocal.m4 (GCC_FUNC_PRINTF_PTR): New macro to test the printf
1919         functions for whether they support the %p format specifier.
1920         * acconfig.h (HOST_PTR_PRINTF): Insert stub for autoconf.
1921         * configure.in (GCC_FUNC_PRINTF_PTR): Use it.
1922         * configure, config.in: Rebuild.
1923
1924 Fri Feb  6 14:20:16 1998  Jim Wilson  <wilson@cygnus.com>
1925
1926         * function.c (assign_parms): New variable named_arg, with value
1927         depending on STRICT_ARGUMENT_NAMING.  Use instead of ! last_named.
1928
1929 Fri Feb  6 14:34:28 1998  Gavin Koch  <gavin@cygnus.com>
1930
1931         * mips/t-r3900: New - same as t-ecoff but eliminate 
1932         multilibs: mips1 and mips3.
1933         * configure.in (tx39*): Use new mips/t-r3900.
1934         * configure: Rebuild.
1935         * mips/r3900.h (MULTILIB_DEFAULTS): Eliminate mips1.
1936
1937 1998-02-06  Jason Merrill  <jason@yorick.cygnus.com>
1938
1939         * dwarf2out.c: Add old_args_size.
1940         (dwarf2out_args_size): Use it.
1941         (dwarf2out_begin_prologue): Initialize it.
1942         (dwarf2out_stack_adjust): If !asynchronous_exceptions, save up
1943         pushed args until we see a call.
1944         * final.c (final_scan_insn): Hand CALL_INSNs off to the dwarf2 code
1945         before outputting them.
1946
1947 1998-02-06  Kriang Lerdsuwanakij  <lerdsuwa@scf.usc.edu>
1948
1949         * cplus-dem.c (demangle_template_template_parm): New function.
1950         (demangle_template): Handle template template parameters.
1951
1952 1998-02-02  Mark Mitchell  <mmitchell@usa.net>
1953
1954         * calls.c (expand_call): Don't confuse member functions named
1955         realloc, setjmp, and so forth with the standard library
1956         functions of the same names.
1957
1958 Thu Feb  5 21:59:49 1998  Jeffrey A Law  (law@cygnus.com)
1959
1960         * stmt.c (expand_asm_operands): Correctly identify asm statements
1961         no output operands.
1962
1963 Thu Feb  5 21:56:06 1998  Mumit Khan  <khan@xraylith.wisc.edu>
1964         
1965         * c-common.c (decl_attributes): Flag unrecognized attribute
1966         functions as warnings instead of as errors.
1967
1968 1998-02-05  Marc Lehmann  <pcg@goof.com>
1969
1970         * integrate.c (INTEGRATE_THRESHOLD): Inline only small functions
1971         when -Os is specified.
1972         * toplev.c (main): Don't disable flag_inline_functions anymore when
1973         -Os is in effect.
1974
1975 Fri Feb  6 00:27:36 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1976
1977         * regmove.c: Update.
1978         * flags.h (flag_regmove): Declare.
1979         * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Don't declare.
1980         * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2):
1981         Moved into regmove; changed caller.
1982         * toplev.c (rest_of_compilation): Call regmove_optimize also for
1983         expensive_optimizations.
1984
1985 Thu Feb 5 13:38:42 PST 1998 Jeff Law  (law@cygnus.com)
1986
1987         * version.c: Bump for snapshot.
1988
1989 Thu Feb  5 01:45:19 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1990         Undo this change (the problem was actually in reload):
1991         Fri Jan 23 23:28:59 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1992
1993           * sh.md (movqi_i+1): New peephole.
1994
1995 Tue Feb  3 01:11:12 1998  Jeffrey A Law  (law@cygnus.com)
1996
1997         * jump.c (jump_optimize): Lose calls to modified_in_p they are
1998         not needed anymore due to changes elsewhere in jump.c.
1999
2000         * jump.c (jump_optimize): Fix first arg to modified_in_p in
2001         previous change.
2002
2003 Mon Feb  2 19:18:14 1998  Richard Henderson  <rth@cygnus.com>
2004
2005         * expr.c (expand_builtin_setjmp): Accept two new arguments for
2006         the labels to branch to on first and subsequent executions.  Don't
2007         play with __dummy.  Rename `setjmp' insn to `builtin_setjmp_setup',
2008         and provide it with the jmp_buf.  Use only one of
2009         `builtin_setjmp_receiver' or `nonlocal_goto_receiver',
2010         and provide the former with the target label.
2011         (expand_builtin) [BUILTIN_SETJMP]: Generate a label for use by setjmp.
2012         (expand_builtin) [BUILTIN_LONGJMP]: Split out to ...
2013         (expand_builtin_longjmp): ... here.  Recognize a `builtin_longjmp'
2014         insn to replace all of the normal nonlocal_goto code.  Don't play
2015         with __dummy.  Correct arguments to nonlocal_goto.
2016         * expr.h (expand_builtin_setjmp): Update prototype.
2017         * except.c (start_dynamic_handler): When using builtin_setjmp,
2018         generate more accurate flow information.
2019
2020         * alpha.md (nonlocal_goto_receiver_osf): Delete.
2021         (nonlocal_goto_receiver_vms): Rename to nonlocal_goto_receiver.
2022         (builtin_longjmp, builtin_setjmp_receiver): New.
2023         * sparc.md (update_return): Disambiguate unspec number.
2024         (nonlocal_goto): Rearrange arguments to match caller in except.c.
2025         (builtin_setjmp_setup): Rename from setjmp.  Match and ignore the
2026         jmp_buf operand.
2027         * mips.md (nonlocal_goto_receiver, builtin_setjmp_receiver): Remove.
2028         (builtin_setjmp_setup*, builtin_longjmp): New.
2029
2030 Mon Feb  2 16:43:10 1998  John Carr  <jfc@mit.edu>
2031
2032         * mips.md: Change gen_rtx (CONST_INT) to GEN_INT.
2033
2034 Mon Feb  2 13:06:47 1998  Jim Wilson  <wilson@cygnus.com>
2035
2036         * vmsconfig.com: Remove bytecode references.
2037
2038 1998-01-30  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2039
2040         * dwarf2out.c (dwarf2out_frame_init): Undo last change, so that
2041         -fno-sjlj-exceptions works for a target that defines
2042         DWARF2_UNWIND_INFO as zero.
2043
2044         * regmove.c (fixup_match_1): Undo last change which removed some
2045         "useless" code, and add a comment explaining this.
2046
2047 Mon Feb  2 10:47:14 1998  Gavin Koch  (gavin@cygnus.com)
2048
2049         * mips.c (mips_expand_prologue): Change uses of TARGET_64BIT
2050         to TARGET_LONG64.
2051
2052 Mon Feb  2 10:38:41 1998  Klaus Kaempf  <kkaempf@progis.de>
2053
2054         * makefile.vms: Remove bytecode references.
2055         Create genrtl files.
2056
2057 Mon Feb  2 02:08:04 1998  Michael P. Hayes  <michaelh@ongaonga.chch.cri.nz>
2058
2059         * jump.c (jump_optimize): Allow conditional loading of floating point
2060         constants and constants from memory.  Reinstalled modified_in_p tests.
2061
2062 Mon Feb  2 01:38:39 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2063
2064         * loop.c (get_condition): Handle sign-extended constants.
2065
2066 Mon Feb  2 01:22:46 1998  Hans-Peter Nilsson  <hp@axis.se>
2067
2068         * expr.c (emit_push_insn): Add code to use movstrti if present.
2069
2070         * expr.c (emit_push_insn): Use same max-move-amount for movstrhi
2071         and movstrqi as in emit_block_move ().
2072
2073 Mon Feb  2 00:09:52 1998  Toon Moene  <toon@moene.indiv.nluug.nl>
2074
2075         * config/m68k/x-next: Remove /NextDeveloper/Headers from
2076         the directories to fixinclude - /usr/include is a link
2077         to it and hence its contents are fixed by default.
2078
2079 Sun Feb  1 14:15:33 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
2080
2081         * rs6000/linux.h: define JUMP_TABLES_IN_TEXT_SECTION
2082
2083 Sun Feb  1 13:01:15 1998  Klaus Kaempf  <kkaempf@progis.de>
2084
2085         * cccp.c (main): Predefine __VMS_VER on VMS.
2086
2087 Sun Feb  1 12:39:53 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2088
2089         * expr.c (get_inner_reference): Use sbitsizetype for type sizes.
2090         * fold-const.c (size_int): Replace with
2091         (size_int_wide).
2092         (make_bit_field_ref): Use bitsize_int for bit position.
2093         * stor-layout.c (sizetype): Delete.
2094         (sizetype_tab, sbitsizetype, ubitsizetype): Declare.
2095         (layout_record, layout_union, layout_type):
2096         Use bitsize_int for bit size.
2097         (set_sizetype): New function.
2098         (make_signed_type, make_unsigned_type): Use it.
2099         * c-decl.c (init_decl_processing): Likewise.
2100         * tree.h (size_int): Don't delcare, #define.
2101         (size_int_wide, sizetype_tab, sbitsize, ubitsize): Declare.
2102         (set_sizetype): Declare.
2103         (bitsize_int, size_int_2, BITS_PER_UNIT_LOG, sizetype, bitsizetype):
2104         Define.
2105         * c-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes):
2106         Convert result to sizetype.
2107         (really_start_incremental_init, push_init_level):
2108         Set type of constructor_bit_index to sbitsizetype.
2109         (push_init_level): Use unsigned arithmetic to determine padding.
2110         (output_init_element): Likewise.
2111
2112 Sun Feb  1 03:32:07 1998  Jeffrey A Law  (law@cygnus.com)
2113
2114         * combine.c (simplify_shift_const): Fix typo in last change.
2115
2116 Sun Feb  1 02:50:46 1998  John Carr  <jfc@mit.edu>
2117
2118         * combine.c (simplify_shift_const):  (lshiftrt (truncate (lshiftrt)))
2119         is (truncate (lshiftrt)).
2120
2121 Sun Feb  1 01:06:53 1998  Richard Henderson  <rth@cygnus.com>
2122
2123         * alpha.c (alpha_expand_unaligned_load): Use expand_binop properly.
2124         Make sure result winds up in TGT.
2125         (alpha_expand_unaligned_store): Use expand_binop properly.  Allow
2126         src to be other than DImode.
2127         (alpha_expand_unaligned_load_words): Tidy.  Take an offset argument.
2128         (alpha_expand_unaligned_store_words): Likewise.
2129         (alpha_expand_block_move): Use REGNO_POINTER_ALIGN.  Restructure so
2130         that source and destination are separately optimized for alignment.
2131         (alpha_expand_block_clear): Use REGNO_POINTER_ALIGN.
2132
2133 Sun Feb  1 01:55:09 1998  Jeffrey A Law  (law@cygnus.com)
2134
2135         * mips.md (adddi3_internal_2): Be consistent with adddi3 expander
2136         with handling of -32768.
2137
2138 Sun Feb  1 01:48:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2139
2140         * aclocal.m4 (GCC_NEED_DECLARATION): Modify macro to accept a
2141         shell variable argument instead of only hard coded functions.
2142         (GCC_NEED_DECLARATIONS): New macro to accept multiple functions.
2143
2144         * configure.in: Collapse multiple calls to AC_CHECK_FUNCS into one
2145         call.  Collapse multiple calls to GCC_NEED_DECLARATION into one
2146         call to GCC_NEED_DECLARATIONS (new macro.)  Check if we need
2147         declarations for bcopy, bcmp and bzero.
2148
2149         * acconfig.h: Add stubs for bcopy, bcmp and bzero declarations.
2150
2151         * gansidecl.h: If we have bcopy but don't declare it, then do so.
2152         Likewise for bcmp and bzero.  Only define macros for bcopy, bcmp,
2153         bzero, index and rindex if they aren't already present.
2154
2155 Sat Jan 31 11:26:58 1998  Jeffrey A Law  (law@cygnus.com)
2156
2157         * toplev.c (close_dump_file): Wrap function prototype for 
2158         argument "func" in PROTO.
2159         (dump_rtl): Likewise.
2160
2161 Fri Jan 30 22:30:39 1998  John Carr  <jfc@mit.edu>
2162
2163         * sparc.c (sparc_override_options): Make v8plus and ultrasparc set
2164         MASK_V8PLUS.
2165         (output_function_epilogue): Omit epilogue if nothing drops through.
2166         (output_move_double): Supress int ldd usage on ultrasparc and v9.
2167         (registers_ok_for_ldd_peep): Likewise.
2168         (print_operand): Supress b,a on ultrasparc.  Let Y accept a constant.
2169         (ultrasparc_adjust_cost): New function.
2170         (sparc_issue_rate): New function.
2171         * sparc.h (MASK_VIS, TARGET_VIS): New
2172         (MASK_V8PLUS, TARGET_V8PLUS): New.
2173         (TARGET_HARD_MUL32, TARGET_HARD_MUL): New.
2174         (TARGET_SWITCHES): Add vis and v8plus.
2175         (REG_CLASS_FROM_LETTER): Accept d and b for VIS.
2176         (REGISTER_MOVE_COST): FP<->INT move cost 12 for ultrasparc.
2177         (RTX_COSTS): Use TARGET_HARD_MUL
2178         (ADJUST_COST): Call ultrasparc_adjust_cost.
2179         (ISSUE_RATE): New.
2180         * sparc.md (attr type): Add sload, fpmove, fpcmove.  Adjust users
2181         of load & fp appropritely.
2182         (supersparc function units): Adjust for Haifa.
2183         (ultrasparc function units): Likewise.
2184         (get_pc_via_rdpc): All v9, not just arch64.
2185         (movdi_v8plus, movdi_v8plus+1): New.
2186         (adddi3_sp32+1): New.
2187         (subdi3_sp32+1): New.
2188         (movsi_insn, movsf_const_insn, movdf_const_insn): Know VIS.
2189         (addsi3, subsi3, anddi3_sp32, andsi3, and_not_di_sp32): Likewise.
2190         (and_not_si, iordi3_sp32, iorsi3, or_not_di_sp32, or_not_si): Likewise.
2191         (xorsi3_sp32, xorsi3, xor_not_di_sp32, xor_not_si): Likewise.
2192         (one_cmpldi2_sp32, one_cmplsi2): Likewise.
2193         (ldd peepholes): Suppress for v9.
2194         (return_adddi): Kill redundant test.  Arg1 may be arith_operand.
2195         (return_subsi): Revmove.
2196
2197 Fri Jan 30 18:30:03 1998  John F Carr  <jfc@mit.edu>
2198
2199         * mips.c (save_restore_insns): Set RTX_UNCHANGING_P in register
2200         save/restore MEM rtl.
2201
2202 Fri Jan 30 09:08:16 1998  Jeffrey A Law  (law@cygnus.com)
2203
2204         * configure.in: Check for declaration of abort.
2205         * acconfig.h: Corresponding changes.
2206         * toplev.c: Use NEED_DECLARATION_ABORT to determine if abort should
2207         be declared.
2208
2209 Thu Jan 29 20:26:12 1998  Jeffrey A Law  (law@cygnus.com)
2210
2211         * genattrtab.c (optimize): Define in case PRESERVE_DEATH_INFO_REGNO_P
2212         uses it.
2213
2214 Thu Jan 29 09:27:56 PST 1998 Jeff Law  (law@cygnus.com)
2215
2216         * version.c: Bump for snapshot.
2217
2218 Thu Jan 29 10:12:27 1998  Jeffrey A Law  (law@cygnus.com)
2219
2220         * configure.in: Check for atoq and atoll.
2221         * rtl.c (read_rtx): Use HAVE_ATOLL and HAVE_ATOQ to select the
2222         proper routine for converting ascii into long long values.
2223
2224 Thu Jan 29 01:28:14 1998  Klaus Kaempf  <kkaempf@progis.de>
2225
2226         * cccp.c (SYS$SEARCH, SYS$PARSE): Write as upper-case.
2227
2228         * vmsconfig.com: Remove bytecode references.
2229
2230         * alpha/vms.h (PREFIX): Define.
2231
2232         * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Remove.
2233
2234         * am-alpha.h: Don't include alloca for OPEN_VMS.
2235
2236         * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Define.
2237
2238         * alpha/xm-vms.h (INCLUDE_DEFAULTS): Define.
2239         (GCC_INCLUDE_DIR): Define
2240
2241         * make-cc.com, make-cccp.com, make-cc1.com: Removed.
2242         * makefile.vms: New file.
2243
2244         * alpha/vms.h (CPP_PREDEFINES): Remove -Dalpha.
2245
2246         * alpha.c (output_prolog): Output '.name' directive
2247         for minimal traceback information.
2248
2249         * alpha.c (output_prolog): Don't prepend entry point symbols
2250         with '$' on OPEN_VMS.
2251
2252 Thu Jan 29 00:25:35 1998  David S. Miller  <davem@tanya.rutgers.edu>
2253                           Jeffrey A Law  (law@cygnus.com)
2254
2255         * rtl.c (read_rtx): Use atol/atoq based upon disposition of
2256         HOST_WIDE_INT.
2257
2258         * genattrtab.c (write_test_expr): Use HOST_WIDE_INT_PRINT_DEC
2259         as needed.
2260         * genemit.c (gen_exp): Likewise.
2261         * genpeep.c (match_rtx): Likewise.
2262         * genrecog.c (write_tree_1): Likewise.
2263
2264         * c-lex.c (yyprint): Use proper format string based upon
2265         disposition of HOST_BITS_PER_WIDE_INT.
2266         (yylex): Put casts in right place for args to build_int_2.
2267
2268 Thu Jan 29 00:24:29 1998  Jeffrey A Law  (law@cygnus.com)
2269
2270         * combine.c: Fix typos in Jan27 changes.
2271
2272 Thu Jan 29 00:07:49 1998  Ollivier Robert <roberto@keltia.freenix.fr>
2273
2274         * i386/freebsd.h (LIB_SPEC): Correctly handle -shared, -p and friends.
2275         (LINK_SPEC): Likewise.
2276         (STARTFILE_SPEC): Likewise.
2277
2278 1998-01-28  Mike Stump  <mrs@wrs.com>
2279
2280         * rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after
2281         reload completes.
2282         * genattrtab.c (reload_completed): Define.
2283
2284         * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Remove obsolete
2285         comments.
2286
2287 Wed Jan 28 20:11:06 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2288
2289         * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
2290         SUBREG_REG if the word count is unchanged, also in the input reload
2291         case.  Disable non-applicable sanity checks.
2292
2293 Wed Jan 28 20:08:26 1998  Jeffrey A Law  (law@cygnus.com)
2294
2295         * config/t-svr4 (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
2296
2297 Wed Jan 28 20:04:43 1998  Ian Lance Taylor  <ian@cygnus.com>
2298
2299         * i386/t-cygwin32 (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
2300
2301 Wed Jan 28 11:45:27 1998  Per Bothner  <bothner@cygnus.com>
2302
2303         * dbxout.c (dbxout_type):  For a RECORD_TYPE, check that TYPE_BINFO
2304         is a TREE_VEC before trying to use it for baseclasses.
2305         (Chill uses the same field for a different purpose.)
2306
2307         * toplev.c (strip_off_ending):  Generalize to endings up to 5 chars.
2308
2309 Tue Jan 27 23:15:55 1998  Lassi A. Tuura  <lat@iki.fi>
2310
2311         * config.sub: More accurate determination of HP processor types.
2312
2313 Tue Jan 27 23:11:11 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2314
2315         * c-lex.c: Include <stdlib.h> and <string.h>/<strings.h>.  Add
2316         prototype for `handle_sysv_pragma', and make it static.  Add
2317         parentheses around assignment used as truth value.
2318
2319         * combine.c (combine_instructions): Protect variable `prev' with
2320         macro HAVE_cc0.
2321         (can_combine_p): Protect variable `link' with AUTO_INC_DEC.
2322         (extract_left_shift): Add parentheses around operand of &.
2323         (merge_outer_ops): Avoid an empty body in an else-statement.
2324         (gen_rtx_combine): Remove unused variable `i'.
2325         
2326         * sparc/gmon-sol2.c: Include <fcntl.h>.  Make return type of
2327         function monstartup `void'.  Likewise for internal_mcount.  Add
2328         `static void' prototype for moncontrol.  Reconcile sprintf format
2329         vs. args.  
2330
2331         * sparc/sparc.c: Include <stdlib.h> and <string.h>/<strings.h>.
2332         Make return type of function_arg_slotno explicitly `int'.
2333         (reg_unused_after): Add parentheses around assignment used as
2334         truth value.
2335         (save_regs): Add explicit braces to avoid ambiguous `else'.
2336         (function_arg_slotno): Add parentheses around && within ||.
2337         (function_arg_pass_by_reference): Likewise.
2338         (sparc_flat_output_function_prologue): Reconcile fprintf format
2339         vs. args.
2340
2341         * svr4.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around
2342         assignment used as truth value.
2343
2344         * cplus-dem.c: Include <stdlib.h>.
2345         (demangle_signature): Avoid an empty body in an else-statement.
2346         (do_type): Remove unused variable `lvl'.
2347         
2348         * cppexp.c: Don't have <stdlib.h> depend on MULTIBYTE_CHARS.
2349         Include <string.h>/<strings.h>.
2350         (cpp_lex): Remove unused variable `namelen'.
2351         (cpp_lex): Explicitly declare `num_chars' as an int.
2352
2353         * cpplib.c: Avoid duplicate inclusion of <stdlib.h>, include
2354         <unistd.h> instead.  Explicitly declare is_system_include
2355         returning int.
2356         (make_assertion): Remove unused variable `kt'.  
2357         (cpp_expand_to_buffer): Hide variable `obuf'.
2358         (output_line_command): Remove unused variables, `line_end',
2359         `line_cmd_buf' and `len'.
2360         (macarg): Remove unused variable `arg_start'.
2361         (special_symbol): Remove unused variable `i'.  Add parentheses
2362         around assignment used as truth value.  
2363         (do_include):  Remove unused variables `pcfname' and `retried',
2364         hide `pcf' and `pcfbuflimit'. 
2365         (do_line): Remove unused variable `i'.
2366         (finclude): Hide variable `missing_newline'.
2367         (cpp_handle_options): Remove unused variable `j'.
2368         (read_token_list): Remove unused variable `eofp'.
2369         (cpp_error_with_line): Remove unused variable `i'.
2370         (cpp_warning_with_line): Likewise.
2371         (cpp_pedwarn_with_line): Explicitly declare `column' as int.
2372         (cpp_error_from_errno): Remove unused variable `i'.
2373
2374         * cse.c (invalidate): Add parentheses around assignment used as
2375         truth value.
2376         (find_best_addr): Move declaration of variable `our_cost' inside
2377         the conditional macro where its used.
2378         (fold_rtx): Avoid an empty body in an if-statement.
2379         (cse_insn): Wrap variables  `this_insn_cc0_mode' and
2380         `this_insn_cc0' in macro HAVE_cc0.
2381         
2382         * dwarf2out.c: Include <stdlib.h> and <string.h>/<string.h>.
2383         (ASM_OUTPUT_DWARF_DATA8):  Reconcile format vs. args in fprintf's.
2384         (output_uleb128): Likewise.
2385         (output_sleb128): Likewise.
2386         (output_cfi): Likewise.
2387         (output_call_frame_info): Remove unused variables `j', `fde_size'
2388         and `fde_pad'.
2389         (comp_unit_has_inlines): Hide declaration as per rest of file.
2390         (size_of_line_prolog): Correct typo in prototype.
2391         (add_arange): Likewise.
2392         (output_aranges): Likewise.
2393         (add_name_and_src_coords_attributes): Likewise.
2394         (gen_array_type_die): Likewise.
2395         (gen_inlined_subroutine_die): Likewise.
2396         (equate_decl_number_to_die): Remove unused variable `i'.
2397         (print_die): Reconcile format vs. args in fprintf's.
2398         (print_dwarf_line_table): Likewise.
2399         (output_die): Likewise.
2400         (output_line_info): Likewise.
2401         (add_subscript_info): Avoid an empty body in an else-statement.
2402         (gen_subprogram_die): Remove unused variable `fp_loc'.
2403
2404         * dwarfout.c: Explicitly declare `next_pubname_number' as int.
2405         Protect `ordering_attribute' prototype with USE_ORDERING_ATTRIBUTE
2406         macro.  Protect `src_coords_attribute' prototype with
2407         DWARF_DECL_COORDINATES macro.  Hide `output_entry_point_die'
2408         prototype as in the rest of the file.  Likewise for
2409         `output_pointer_type_die' and `output_reference_type_die'.  Remove
2410         prototype for `type_of_for_scope'.
2411         (output_unsigned_leb128): Reconcile format vs. args in fprintf.
2412         (type_attribute): Add explicit braces to avoid ambiguous `else'.
2413         
2414         * final.c: Include <stdlib.h> and <string.h>/<strings.h>.
2415         (shorten_branches): Protect declaration of tmp_length with
2416         SHORTEN_WITH_ADJUST_INSN_LENGTH and ADJUST_INSN_LENGTH macros.
2417         (profile_function): Protect declaration of `sval' and `cxt'
2418         variables with appropriate macros.
2419         (final_scan_insn): Likewise for `note' variable.  Add explicit
2420         braces to avoid empty body in an if-statement.
2421         (output_asm_insn): Move variable `i' inside macro conditional
2422         where it is used.  Add parentheses around assignment used as truth
2423         value.
2424         (asm_fprintf) Likewise, likewise.
2425         
2426         * fix-header.c (main): Remove unused variable `done'.  Protect
2427         declaration of `i' with FIXPROTO_IGNORE_LIST.
2428
2429         * pexecute.c: Include <unistd.h>.  Prototype `my_strerror'.
2430
2431         * print-rtl.c (print_inline_rtx): Explicitly declare the parameter
2432         `ind'.
2433
2434         * profile.c: Include <string.h>/<strings.h>.
2435         (instrument_arcs): Remove unused variables `note', `inverted',
2436         `zero' and `neg_one'.
2437         (branch_prob): Avoid empty body in an if-statement.
2438
2439         * regclass.c: Include <stdlib.h>.
2440         (reg_alternate_class): Explicitly declare parameter `regno'.
2441
2442         * regmove.c (regmove_optimize): Remove unused variable `p'.  Add
2443         parentheses around assignment used as truth value.
2444         (find_matches):  Remove unused variables `output_operand' and
2445         `matching_operand'.
2446         (fixup_match_1): Remove statement with no effect: "if (0) ;".
2447
2448         * scan.c (sstring_append): Explicitly declare `count' as int.
2449         (scan_string): Explicitly declare parameter `init' as int.
2450
2451         * sched.c: Include <stdlib.h>.
2452         (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
2453         (rank_for_schedule): Add parentheses around assignment used as
2454         truth value.
2455         (schedule_block): Likewise.
2456         (regno_use_in): Likewise.
2457         (schedule_insns): Remove unused variable `i'.
2458
2459         * toplev.c: Include <stdlib.h> and <string.h>/<strings.h>.
2460         (v_message_with_decl): Remove unused variable `n'.
2461         (botch): Explicitly declare parameter `s' as char *.
2462         (main): Add parentheses around assignment used as truth value.
2463
2464         * tree.c (make_node): Protect the variable `kind' with the
2465         GATHER_STATISTICS macro.
2466         (real_value_from_int_cst): Move variable `e' inside conditional
2467         macro area where it is used.
2468         (tree_last): Add parentheses around assignment used as truth value.
2469         (build1): Protect the variable `kind' with the GATHER_STATISTICS
2470         macro.
2471         (print_obstack_statistics): Reconcile format vs. args in fprintf.
2472         Protect variables `i', `total_nodes', and `total_bytes' with the
2473         GATHER_STATISTICS macro.
2474
2475 Tue Jan 27 23:01:55 1998  Mike Stump  (mrs@wrs.com)
2476
2477         * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add
2478         some comments regarding use of dead_or_set_p.
2479
2480 Tue Jan 27 22:14:48 1998  Todd Vierling <tv@pobox.com>
2481
2482         * fixincludes: Tweak fix for struct exception in math.h
2483
2484 Tue Jan 27 17:21:09 1998  Gavin Koch  (gavin@cygnus.com)
2485
2486         * mips/mips.c (mips_expand_prologue,mips_expand_epilogue):
2487         Change mode of registers used to add/sub from 
2488         hard_frame_pointer_rtx from word_mode to Pmode.
2489
2490 Tue Jan 27 11:02:04 1998  Nick Clifton  <nickc@cygnus.com>
2491
2492         * v850.h (ASM_OUTPUT_ALIGNED_BSS): Use
2493         asm_output_aligned_bss() instead of asm_output_bss().
2494
2495         * toplev.c (rest_of_compilation): Replace references to
2496         stack_reg_dump_file and dbr_sched_dump_file with references to
2497         rtl_dump_file. 
2498
2499 Tue Jan 27 10:22:13 1998  Kamil Iskra  <iskra@student.uci.agh.edu.pl>
2500
2501         * tlink.c (scan_linker_output): Call fclose() for opened files.
2502
2503 Tue Jan 27 05:05:26 1998  Richard Henderson  <rth@cygnus.com>
2504
2505         * alpha.c (output_epilog [!VMS]): Don't tag global functions if
2506         compiling with -fpic -- we want to be able to override symbols
2507         properly.
2508         (alpha_expand_block_move): Fix thinko in last change.
2509
2510         * alpha.h (ASM_OUTPUT_MI_THUNK): New define.
2511         * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): New define.
2512         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): New undef.
2513         
2514 Tue Jan 27 03:21:23 1998  Richard Henderson  <rth@cygnus.com>
2515
2516         * alpha.md (abssf, absdf): Revert last change.
2517
2518 Tue Jan 27 00:26:50 1998  John Carr  <jfc@mit.edu>
2519
2520         * dwarf2out.c (dwarf2out_frame_init): Test value of DWARF2_UNWIND_INFO.
2521         * mips/sni-svr4.h: Define DWARF2_UNWIND_INFO as 0.
2522
2523 Tue Jan 27 00:07:02 1998  Jeffrey A Law  (law@cygnus.com)
2524
2525         * emit-rtl.c (gen_lowpart_common): Handle more case where converting
2526         a CONST_INT into SFmode.
2527
2528 Tue Jan 20 16:01:03 1998  Anthony Green  <green@cygnus.com>
2529
2530         * flags.h: New flag (optimize_size).
2531         * toplev.c (main): Parse -Os option and set optimize_space
2532         accordingly.
2533         * gcc.c (default_compilers), cp/lang-specs.h, f/lang-specs.h: Define 
2534         __OPTIMIZE_SIZE__ when compiling with -Os.
2535         * config/dsp16xx/dsp16xx.h, config/i386/i386.h,
2536         config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h,
2537         config/v850/v850.h (OPTIMIZATION_OPTIONS): New SIZE argument
2538         to macro.
2539         * config/i386/i386.c (optimization_options): Accept new SIZE argument.
2540
2541 Mon Jan 26 23:57:39 1998  Manfred Hollstein  <manfred@s-direktnet.de>
2542
2543         * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
2544         stuff only if MCT_TEXT is #define'd.
2545
2546 Mon Jan 26 23:52:51 1998  Markus F.X.J. Oberhumer <k3040e4@c210.edvz.uni-linz.ac.at>
2547
2548         * configure.in (i*86-pc-msdosdjgpp): Treat like msdos & go32
2549         configurations.
2550
2551 Fri Jan 23 09:39:36 1998  Nick Clifton  <nickc@cygnus.com>
2552
2553         * toplev.c: Add -dM command line option to dump RTL after the
2554         machine dependent reorganisation pass, if there is one.
2555         Reorganise RTL dump code, so that only one file handle is
2556         needed. 
2557
2558 Mon Jan 26 12:09:42 1998  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
2559
2560         * except.c (check_exception_handler_labels): Disable warning when
2561         flag_syntax_only.
2562
2563 Mon Jan 26 18:17:32 1998  Jim Wilson  <wilson@cygnus.com>
2564
2565         * sparc.c (pic_setup_code): Don't set LABEL_PRESERVE_P.
2566
2567 Mon Jan 26 18:11:30 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2568
2569         * c-decl.c (grokdeclarator): Get parameter tags from
2570         last_function_parm_tags.
2571         * dwarfout.c (output_formal_types): Set TREE_ASM_WRITTEN before
2572         traversing the parameter types.
2573         (output_type): No early exit for FUNCTION_TYPE / METHOD_TYPE context.
2574
2575 Mon Jan 26 01:44:12 1998  Jeffrey A Law  (law@cygnus.com)
2576
2577         * h8300.c (print_operand): Handle CONST_DOUBLE for 'e', 'f', and
2578         the default case.
2579         (get_shift_alg): Fix typo.
2580
2581 Sun Jan 25 22:22:04 1998  Richard Henderson  <rth@cygnus.com>
2582
2583         * alpha.c (alpha_expand_block_move): Copy ADDRESSOF to reg.
2584
2585 Sun Jan 25 22:14:28 1998  Richard Henderson  <rth@cygnus.com>
2586
2587         * toplev.c (get_run_time): Make sure each case gets its variables.
2588
2589 Sun Jan 25 22:10:21 1998  Richard Henderson  <rth@cygnus.com>
2590
2591         * configure.in (build_xm_file): Add auto-config.h if host=build.
2592         (host_xm_file_list): Don't add $(srcdir) to auto-config.h.
2593         (build_xm_file_list): Likewise.
2594         * configure: Rebuild.
2595         
2596 Sun Jan 25 22:00:25 1998  Alasdair Baird <alasdair@wildcat.demon.co.uk>
2597
2598         * recog.c (validate_replace_rtx_1): Only perform substitutions
2599         of arguments to commutative and comparison operators once.
2600
2601 Sun Jan 25 12:30:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2602
2603         * sparc.c (output_cbranch): Add default case in
2604         enumeration switch.
2605  
2606         * reorg.c (insn_sets_resource_p): Correct typo in prototype.
2607         (emit_delay_sequence): Eliminate unused parameter, all callers
2608         changed.
2609         (fill_simple_delay_slots): Likewise.
2610         (fill_slots_from_thread): Likewise.
2611         (fill_eager_delay_slots):  Likewise.
2612         (mark_referenced_resources): Add default case in enumeration switch.
2613         (mark_set_resources): Likewise.
2614         (rare_destination): Likewise.
2615         (mostly_true_jump): Likewise.
2616         (find_dead_or_set_registers): Likewise.
2617         (redirect_with_delay_slots_safe_p): Remove unused variable `slots'.
2618         (update_reg_unused_notes): Remove unused variable `p'.
2619         (mark_target_live_regs): Remove unused variables `next' and
2620         `jump_count'.
2621         (fill_simple_delay_slots): Remove unused variable `j'.
2622         (fill_slots_from_thread): Add parentheses around assignment used
2623         as truth value.
2624         (dbr_schedule): Likewise.
2625
2626         * objc/Make-lang.in (objc.stage1): Depend on stage1-start.
2627         (objc.stage2, objc.stage3, objc.stage4): Likewise.
2628
2629 Sun Jan 25 12:13:47 1998  Michael Tiemann  <michael@tiemann.org>
2630
2631         * cse.c (simplify_ternary_operation): Don't try to simplify
2632         IF_THEN_ELSE expressions (created by combine) that don't use
2633         relational operators.
2634
2635 Fri Jan 23 22:48:24 1998  Jeffrey A Law  (law@cygnus.com)
2636
2637         * cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE
2638         simplifications.
2639
2640         * crtstuff.c (init_dummy): Keep the epilogue in the init
2641         section for non-ELF systems.
2642
2643 Fri Jan 23 23:28:59 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2644
2645         * sh.md (movqi_i+1): New peephole.
2646
2647 Fri Jan 23 15:39:42 1998  Jim Wilson  <wilson@cygnus.com>
2648
2649         * Makefile.in: Remove remaining bytecode stuff.
2650         * emit-rtl.c, expr.c: Likewise.
2651
2652 Fri Jan 23 12:41:10 1998  Nick Clifton  (nickc@cygnus.com)
2653
2654         * toplev.c (lang_options): Add unknown-pragma options.
2655
2656 Thu Jan 22 23:43:38 1998  Per Bothner  <bothner@cygnus.com>
2657
2658         * dwarfout.c (byte_size_attribute):  Simplify and fix - don't need
2659         special (and incomplete) handling for Chill arrays.
2660
2661 Fri Jan 23 00:27:23 1998  John Carr  <jfc@mit.edu>
2662
2663         * toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available,
2664         to get clock rate.
2665
2666 Fri Jan 23 00:19:36 1998  Gavin Koch  (gavin@cygnus.com)
2667
2668         * mips.md (muldi3_internal2): Reverse test for TARGET_MIPS16.
2669
2670 1998-01-22  scott snyder  <snyder@d0sgif.fnal.gov>
2671
2672         * mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in
2673         .frame directive instead of FRAME_POINTER_REGNUM.
2674
2675 Fri Jan 23 00:08:55 1998  Robin Kirkham <rjk@mlb.dmt.csiro.au>
2676
2677         * m68k.h (TARGET_SWITCHES): -mcpu32 now clears MASK_68881.
2678         (MACHINE_STATE_m68010_up): Replaced __mc68332__ with __mcpu32__.
2679         * m68k/m68k-none.h(CPP_FPU_SPEC): Update relative to TARGET_SWITCHES.
2680         (CPP_SPEC, ASM_SPEC, CC1_SPEC): Likewise.
2681         (CPP_SPEC): -m68332 defines both __mc68332 and __mcpu32__.
2682         * m68k/t-m68kbare (MULTILIB_OPTIONS): Add mcpu32.
2683         (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
2684         (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
2685         mcpu32 or m5200.
2686         * longlong.h: Replace __mc68332__ with __mcpu32__.
2687
2688 Thu Jan 22 19:55:40 PST 1998 Jeff Law  (law@cygnus.com)
2689
2690         * version.c: Bump for snapshot.
2691
2692 Thu Jan 22 14:47:31 1998  Jim Wilson  <wilson@cygnus.com>
2693
2694         * reload.c (push_reload): In WORD_REGISTER_OPERATIONS code, add test
2695         to require the SUBREG mode to be smaller than the SUBREG_REG mode.
2696         * reload1.c (eliminate_regs): Likewise.
2697
2698 Thu Jan 22 14:49:14 1998  Jeffrey A Law  (law@cygnus.com)
2699
2700         * regmove.c (find_matches): Initialize matches->earlyclobber too.
2701
2702 Thu Jan 22 01:40:52 1998  Richard Henderson  <rth@cygnus.com>
2703
2704         * alpha.md (abssf2, absdf2): Disable in IEEE mode.
2705         (negsf2, negdf2): Use proper subtract in IEEE mode.
2706
2707 Tue Jan 20 09:29:09 1998  Jeffrey A Law  (law@cygnus.com)
2708
2709         * Makefile.in: Remove more bytecode stuff.
2710         * expr.c, stmt.c, config/msdos/top.sed: Likewise.
2711         * vax/xm-vms.h, winnt/config-nt.sed: Likewise.
2712         * f/install.texi, objc/Make-lang.in: Likewise.
2713
2714         * Makefile.in: Remove all bytecode support.
2715         (OBJS): Make sure last entry is a real object file, not EXTRA_OBJS.
2716         * emit-rtl.c: Remove all bytecode support.
2717         * expr.c, expr.h function.c, integrate.c: Likewise.
2718         * output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise.
2719         * tree.h, varasm.c: Likewise.
2720         * config/m68k/m68k.h: Likewise.
2721         * bi-*, bc-*, bytecode*: Delete bytecode related files.
2722         * modemap.def: Likewise.
2723
2724 Tue Jan 20 09:02:31 1998  Gavin Koch  (gavin@cygnus.com)
2725
2726         * mips/mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3,
2727         umodsi3,umoddi3): Handle mips16 div/mod by a constant.
2728
2729 Mon Jan 19 21:57:00 1998  Richard Henderson  <rth@cygnus.com>
2730
2731         * i386.md (push): Prohibit symbolic constants if flag_pic.
2732         (movsi+1): Likewise for move to non-register.
2733
2734 Mon Jan 19 11:15:38 1998  Jim Wilson  <wilson@cygnus.com>
2735
2736         * alpha.c (mode_mask_operand): Accept 0xffffffff on 32 bit host.
2737         (print_operand): Handle 0xffffffff on 32 bit host.
2738
2739         * configure.in (thread_file): Rename uses before main loop to
2740         target_thread_file.  Initialize to empty in main loop.  Set thread_file
2741         to target_thread_file after main loop if not set.
2742         * configure: Rebuild.
2743
2744         * genattrtab.c (find_and_mark_used_attributes): Handle CONST_INT.
2745         (add_values_to_cover): Revert last change (which had no ChangeLog
2746         entry).
2747         (simplify_with_current_value_aux): Handle CONST_INT.
2748
2749 Mon Jan 19 10:14:55 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2750
2751         * unprotoize.c: Define UNPROTOIZE first, to actually take effect.
2752
2753 Mon Jan 19 10:11:52 1998  Richard Henderson  <rth@cygnus.com>
2754
2755         * configure.in: Add cpp stringify test.
2756         * acconfig.h (HAVE_CPP_STRINGIFY): New tag.
2757         * gengenrtl.c: Use it.
2758         * configure, config.in: Rebuild.
2759
2760 Mon Jan 19 09:43:15 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2761
2762         * Makefile.in (genrtl.c genrtl.h): Add dummy command for GNU make.
2763
2764 Mon Jan 19 09:38:18 1998  Richard Henderson  <rth@cygnus.com>
2765
2766         * configure.in: Find declaration for sbrk.
2767         * acconfig.h (NEED_DECLARATION_SBRK): New tag.
2768         * config.in, configure: Rebuild.
2769         * mips-tfile.c: Properly protect declaration of sbrk and free.
2770         * toplev.c: Properly protect declaration of sbrk.
2771
2772 Sun Jan 18 20:18:01 1998  Richard Henderson  <rth@cygnus.com>
2773
2774         * alpha.c (alpha_handle_trap_shadows): Ignore CLOBBERs.
2775
2776 Sun Jan 18 01:54:27 1998  Jeffrey A Law  (law@cygnus.com)
2777
2778         * alpha/xm-winnt.h (HAS_INIT_SECTION): Undefine.
2779
2780 Sun Jan 18 00:57:35 1998  Mike Stump  (mrs@wrs.com)
2781
2782         * configure.in (i960-wrs-vxworks): Default to latest vxworks release.
2783
2784 Sat Jan 17 23:41:36 1998  David S. Miller  <davem@tanya.rutgers.edu>
2785
2786         * combine.c (force_to_mode, nonzero_bits): Correctly optimize
2787         constant offset computations from objects with known alignment in
2788         the presence of STACK_BIAS.
2789
2790         * varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where
2791         necessary.
2792         (const_hash): Hash val is unsigned long.
2793         (SYMHASH): Likewise.
2794
2795         * tree.c (TYPE_HASH): Type of hash val is unsigned long.
2796
2797         * print-tree.c (print_node_brief): HOST_PTR_PRINTF format wants a
2798         char pointer, not HOST_WIDE_INT.
2799         (print_node): Likewise.  Also hash is unsigned long not
2800         HOST_WIDE_INT.
2801
2802         * cse.c (canon_hash): Hash is unsigned long not HOST_WIDE_INT.
2803
2804         * explow.c (optimize_save_area_alloca): New function for targets
2805         where SETJMP_VIA_SAVE_AREA is true.
2806         (allocate_dynamic_stack_space): On SETJMP_VIA_SAVE_AREA targets,
2807         compute the amount of stack space needed should we find later that
2808         setjmp is never called by this function, stuff rtl for this inside
2809         a REG_NOTE of the final SET of stack_pointer_rtx.
2810         * toplev.c (rest_of_compilation): If SETJMP_VIA_SAVE_AREA and
2811         current_function_calls_alloca, call optimize_save_area_alloca.
2812
2813 Sat Jan 17 23:22:59 1998  John Wehle  (john@feith.com)
2814
2815         * i386.md: Remove redundant integer push patterns.
2816         Don't bother checking for TARGET_PUSH_MEMORY when
2817         pushing constants or registers.
2818
2819 Sat Jan 17 22:35:39 1998  Mumit Khan <khan@xraylith.wisc.edu>
2820                           J.J VanderHeijden <J.J.vanderHeijden@student.utwente.nl>
2821         
2822         * pexecute.c (pexecute): New function for mingw32. Supports pipes.
2823         (pwait): New function for mingw32.
2824
2825         * gcc.c (execute): Mingw32 pexecute() supports pipes, but cygwin32
2826         pipe support is broken for now.
2827
2828 1998-01-17  Lee Iverson  <leei@Canada.AI.SRI.COM>
2829
2830         * emit_rtl.c (init_emit_once): Ensure that potential aliasing
2831         between frame_pointer_rtx, hard_frame_pointer_rtx, and
2832         arg_pointer_rtx is respected in initialization.
2833         (init_emit_once): Use gen_rtx_raw_REG() to create
2834         return_address_pointer_rtx.
2835
2836         * reorg.c: #include "expr.h" for rtx prototypes.
2837         * Makefile.in (reorg.o): Depend on expr.h
2838
2839 Sat Jan 17 21:28:08 1998  Pieter Nagel <pnagel@epiuse.co.za>
2840
2841         * Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and
2842         local_prefix to sub-make invocations.
2843
2844 Sat Jan 17 21:24:16 1998  David T. McWherter <dtm@waterw.com>
2845
2846         * objc-parse.c: Recognize protocol qualifiers in class definitions.
2847
2848 Sat Jan 17 21:16:19 1998  Jeffrey A Law  (law@cygnus.com)
2849
2850         * rtl.h: Fix typos.
2851
2852         * acconfig.h (NEED_DECLARATION_ATOL): New declaration to check for.
2853         * configure.in: Check for atol.
2854         * rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL.
2855
2856         * rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX.
2857
2858         * loop.c (find_and_verify_loops): When attempting to move insns from
2859         inside the loop outside the loop, create a BARRIER if no suitable
2860         one was found.
2861
2862         * jump.c (jump_optimize): Remove Dec 17, 1997 chance in
2863         favor of an equivalent change from gcc-2.8.
2864
2865         * i386/x-sco5 (CC): Remove trailing whitespace.
2866
2867 Sat Jan 17 21:09:46 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2868  
2869         * gengenrtl.c (type_from_format): De-ANSIfy function signature.
2870         (accessor_from_format): Likewise.
2871         (xmalloc): New function for use when linking with alloca.o.
2872
2873 Mon Jan  5 02:53:01 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
2874
2875         * frame.c (find_fde): Correct FDE's upper bound.
2876
2877 Fri Jan 16 16:23:52 1998  Richard Henderson  <rth@cygnus.com>
2878
2879         * gengenrtl.c (DEF_RTL_EXPR): Provide a K&R compliant version.
2880
2881 Fri Jan 16 10:16:10 1998  Jeffrey A Law  (law@cygnus.com)
2882
2883         * calls.c (expand_call): Move #ifdef code out of macro argument
2884         lists.
2885         (emit_library_call, emit_library_call_value): Likewise.
2886
2887 Fri Jan 16 00:46:40 1998  Jeffrey A Law  (law@cygnus.com)
2888
2889         * rtl.def (INLINE_HEADER): Fix bug exposed by gen_rtx_FOO changes.
2890
2891 Thu Jan 15 01:02:30 1998  Jeffrey A Law  (law@cygnus.com)
2892
2893         * version.c: Bump for snapshot.
2894
2895 Wed Jan 14 22:49:17 1998  Richard Henderson  <rth@cygnus.com>
2896
2897         * alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO;
2898         change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...).
2899         * caller-save.c, calls.c, combine.c, cse.c: Likewise.
2900         * dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise.
2901         * final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise.
2902         * halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise.
2903         * profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise.
2904         * reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise.
2905         * unroll.c, varasm.c: Likewise.
2906         * config/alpha/alpha.c, config/alpha/alpha.md: Likewise.
2907
2908 Wed Jan 14 19:36:08 1998  Gavin Koch  (gavin@cygnus.com)
2909
2910         * mips.h: Fix some type-o's from a previous change.
2911
2912 Wed Jan 14 01:26:05 1998  Jeffrey A Law  (law@cygnus.com)
2913
2914         * loop.c (check_dbra_loop): Make sure initial value is a 
2915         CONST_INT before trying to normalize it.
2916
2917 Tue Jan 13 23:27:54 1998  Robert Lipe   (robertl@dgii.com)
2918
2919         * sco5.h (ASM_OUTPUT_SECTION_NAME): Refresh from ../svr4.h.
2920
2921 Tue Jan 13 22:47:02 1998  Herman ten Brugge <herman@htbrug.net.HCC.nl>
2922
2923         * cppexp.c: Include gansidecl.h
2924
2925 Tue Jan 13 22:43:35 1998  Ian Lance Taylor  <ian@cygnus.com>
2926
2927         * svr4.h (LINK_SPEC): Never specify -h.
2928         * ptx4.h (LINK_SPEC): Likewise.
2929         * rs6000/sysv4.h (LINK_SPEC): Likewise.
2930         * sparc/sol2.h (LINK_SPEC): Likewise.
2931
2932 Tue Jan 13 22:39:40 1998  Richard Henderson  (rth@cygnus.com)
2933
2934         * c-typeck.c (comptypes): Exit early on NULL input.
2935
2936         * haifa-sched.c (schedule_insns): Correctly remove inter-block
2937         dependencies after reload.
2938
2939 Tue Jan 13 22:22:31 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
2940
2941         * rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__.
2942
2943 Tue Jan 13 22:14:57 1998  Klaus Kaempf <kkaempf@progis.de>
2944
2945         * alpha/vms.h (DIR_SEPARATOR): define
2946
2947 Tue Jan 13 22:13:04 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
2948
2949         * Makefile.in (stamp-proto): Remove.
2950         (protoize.o, unprotoize.o): Straightforward compile.
2951         * unprotoize.c: Define UNPROTOIZE here, not in the Makefile.
2952
2953 Tue Jan 13 21:59:39 1998  Mumit Khan <khan@xraylith.wisc.edu>
2954
2955         * i386/cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip
2956         off the trailing @[NUM] added by ENCODE_SECTION_INFO.
2957
2958 Tue Jan 13 21:55:06 1998  Jeffrey A Law  (law@cygnus.com)
2959
2960         * arm/netbsd.h (DWARF2_UNWIND_INFO): Define as zero for now.
2961         * i386/netbsd.h, m68k/netbsd.h, ns32k/netbsd.h: Likewise.
2962         * sparc/netbsd.h, vax/netbsd.h: Likewise.
2963
2964 Tue Jan 13 21:37:07 1998  Shigeya Suzuki <shigeya@foretune.co.jp>
2965
2966         * i386/bsd386.h (DWARF2_UNWIND_INFO): Define as zero for now.
2967
2968 Tue Jan 13 17:50:55 1998  Jim Wilson  <wilson@cygnus.com>
2969
2970         * configure.in (target_cpu_default, target_cpu_default2): Use double
2971         quotes around them when testing their value.
2972         * configure: Rebuilt.
2973         
2974 Tue Jan 13 09:07:44 1998  John Carr  <jfc@mit.edu>
2975
2976         * gengenrtl.c (gencode): Emit new function obstack_alloc_rtx
2977         to allocate rtx.
2978         (gendef): Call obstack_alloc_rtx.
2979
2980 Tue Jan 13 01:16:36 1998   Robert Lipe (robertl@dgii.com)
2981
2982         * configure.in: (i[3456]86-UnixWare7-sysv5): Treat much like SVR4
2983         for now.
2984
2985 Thu Dec 18 18:40:17 1997  Mumit Khan <khan@xraylith.wisc.edu>
2986         
2987         * i386/mingw32.h (INCOMING_RETURN_ADDR_RTX): Delete. Use the value
2988         of DWARF2_UNWIND_INFO, if any, from i386/cygwin32.h instead.
2989         (STANDARD_INCLUDE_DIR): Change to /usr/local/i386-mingw32/include.
2990
2991 Tue Jan 13 00:44:02 1998  Jim Wilson  <wilson@cygnus.com> 
2992
2993         * mips.md (return_internal): Change mode from SImode to VOIDmode.
2994
2995 Sat Jan 10 22:11:39 1998  J. Kean Johnston  <jkj@sco.com>
2996
2997         * i386/sco5.h (STARTFILE_SPEC, ENDFILE_SPEC): Correctly handle
2998         "-static".
2999
3000 Sat Jan 10 22:04:15 1998  Stan Cox  <scox@equinox.cygnus.com>
3001
3002         * i386.md: (movsicc_1, movhicc_1):  For alternate 3 set the opcode
3003         suffix from operand 3.
3004
3005 Sat Jan 10 21:50:16 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
3006                           Jeffrey A Law  (law@cygnus.com)
3007
3008         * regmove.c: New implementation of regmove pass.
3009         * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2): Remove
3010         decls, make them have external linkage.  Return a value from
3011         optimize_reg_copy_1.
3012         * reload.h (count_occurrences): Add decl.
3013         * reload1.c (count_occurrences): Delete decl, make it have external
3014         linkage.
3015         * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Declare.
3016
3017 Sat Jan 10 20:30:12 1998  Jeffrey A Law  (law@cygnus.com)
3018  
3019         * regclass.c (record_address_regs): Don't use REG_OK_FOR_BASE_P
3020         if it is not defined.
3021  
3022 Thu Jan  8 21:06:54 1998  Richard Henderson  <rth@cygnus.com>
3023
3024         * Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.
3025         * emit-rtl.c (gen_rtx): Move special code to ...
3026         (gen_rtx_CONST_INT): New function.
3027         (gen_rtx_REG): New function.
3028         (*): Update all calls to gen_rtx.
3029         * genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO.
3030         * rtl.h: Include genrtl.h; prototype CONST_INT & REG generators.
3031         (GEN_INT): Call gen_rtx_CONST_INT.
3032         * gengenrtl.c: New file.
3033
3034 Mon Jan  5 13:00:18 1998  John F. Carr  <jfc@mit.edu>
3035
3036         * alias.c (*_dependence): Call base_alias_check before canon_rtx.
3037         (base_alias_check): If no base found for address call canon_rtx and
3038         try again.
3039
3040 Mon Jan  5 11:39:49 1998  Jeffrey A Law  (law@cygnus.com)
3041
3042         * mips.c (mips_expand_prologue): Handle large frame with no outgoing
3043         arguments for mips16.
3044         (mips_expand_epilogue): Pass "orig_tsize" to save_restore_insns.
3045         Don't lose if tsize is zero after handling large stack for mips16.
3046         * mips.md (return): For trivial return, return address is in $31.
3047
3048 Sun Jan  4 20:24:00 1998  Nigel Stephens  <nigel@algor.co.uk>
3049
3050         *  mips/mips16.S: Various changes to make it work with -msingle-float
3051         and -EL.
3052
3053 Sun Jan  4 14:25:18 1998  Gavin Koch  <gavin@cygnus.com>
3054                           Ian Lance Taylor  <ian@cygnus.com>
3055                           Jeff Law  <law@cygnus.com>
3056
3057         * mips.c, mips.h, mips.md: First cut at merging in mips16
3058         support.  Major modifications throughout all three files.
3059
3060 Sun Jan  4 01:01:50 1998  scott snyder  <snyder@d0sgif.fnal.gov>
3061
3062         * configure.in: Make gthr-default.h a forwarding header instead of
3063         a symlink.
3064
3065 Sat Jan  3 12:08:06 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3066
3067         * gcov-io.h: Include sys/types.h to ensure we get size_t.
3068
3069         * pa.h (ASM_OUTPUT_MI_THUNK): Add missing % in fprintf.
3070
3071 Fri Jan  2 23:40:09 1998  Jim Wilson  (wilson@cygnus.com)
3072                           Jeffrey A Law  (law@cygnus.com)
3073
3074         * crtstuff.c (__frame_dummy): New function for irix6.
3075         (__do_global_ctors): Call __frame_dummy for irix6.
3076         * iris6.h (LINK_SPEC): Hide __frame_dummy too.
3077
3078 Fri Jan  2 04:57:57 1998  Weiwen Liu  <liu@hepmail.physics.yale.edu>
3079
3080         * alpha.c (vms_valid_decl_attribute_p): Move within #if OPEN_VMS.
3081
3082 Fri Jan  2 04:34:14 1998  Richard Henderson  <rth@cygnus.com>
3083
3084         * c-decl.c (init_decl_processing): Provide proper fallback symbol
3085         for __builtin_memset.
3086         * expr.c (expand_builtin) [MEMSET]: Arg 3 type code is INTEGER_TYPE
3087         not INTEGER_CST.  Assert arg 3 is a constant.
3088
3089         * alpha.c (mode_width_operand): Accept 64-bit modes.
3090         (mode_mask_operand): Likewise.
3091         (print_operand): Likewise for 'M' and 'U' codes.
3092         (alpha_expand_unaligned_load): New function.
3093         (alpha_expand_unaligned_store): Likewise.
3094         (alpha_expand_unaligned_load_words): Likewise.
3095         (alpha_expand_unaligned_store_words): Likewise.
3096         (alpha_expand_block_move): Likewise.
3097         (alpha_expand_block_clear): Likewise.
3098         * alpha.h (MOVE_RATIO): New define.
3099         * alpha.md (extxl, ext*h, ins*l, mskxl): Name them.
3100         (insql, insxh, mskxh, extv, extzv, insv, movstrqi, clrstrqi): New.
3101
3102         * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Set to 3.
3103         (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Disable.
3104
3105 Thu Jan  1 15:40:15 1998  Richard Henderson  <rth@cygnus.com>
3106
3107         * configure.in: Put parenthesis around TARGET_CPU_DEFAULT's value.
3108         * configure: Update.
3109
3110 Thu Jan  1 10:49:12 1998  Jeffrey A Law  (law@cygnus.com)
3111
3112         * emit-rtl.c (operand_subword): Correctly handle extracting a word
3113         from a CONST_DOUBLE for 16bit targets with !WORDS_BIG_ENDIAN.
3114
3115         * mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate
3116         for first argument.
3117
3118 Wed Dec 31 14:42:18 1997  Ian Lance Taylor  <ian@cygnus.com>
3119
3120         * configure.in: Set and subsitute host_exeext.  Use it when creating
3121         the assembler and linker symlinks.
3122         * configure: Rebuild.
3123         * Makefile.in (exeext): Set to @host_exeext@.
3124         (build_exeext): New variable, set to @build_exeext@.
3125         (FLAGS_TO_PASS): Pass down build_exeext.
3126         (STAGESTUFF): Use build_exeext, not exeext, for gen* and bi*
3127         programs.
3128
3129 Wed Dec 31 10:05:44 1997  Jeffrey A Law  (law@cygnus.com)
3130
3131         * mn10200.md (addsi3, subsi3): Fix thinkos.
3132
3133 Tue Dec 30 00:04:49 1997  Richard Henderson  <rth@cygnus.com>
3134
3135         * sparc.h (ASM_OUTPUT_MI_THUNK): Move %o7 through %g1 instead of
3136         save+restore.  Fix pic+big_offset delay slot.  Use "pic" case for
3137         unix always, since we want to be able to thunk to functions in a
3138         shared library from an application.
3139
3140 Mon Dec 29 14:37:31 1997  Ian Lance Taylor  <ian@cygnus.com>
3141
3142         * mips/t-ecoff (CROSS_LIBGCC1): Define to libgcc1-asm.a.
3143         (LIB1ASMSRC, LIB1ASMFUNCS): Define.
3144
3145 Mon Dec 29 14:03:38 1997  Jeffrey A Law  (law@cygnus.com)
3146
3147         * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
3148         offset's mode is not ptr_mode, convert it.
3149
3150 Mon Dec 29 15:58:18 1997  Michael Meissner  <meissner@cygnus.com>
3151
3152         * libgcc2.c (inhibit_libc): Don't define inhibit_libc when cross
3153         compiling if it was already defined.
3154
3155 Sun Dec 28 00:32:16 1997  Jeffrey A Law  (law@cygnus.com)
3156
3157         * flow.c (find_basic_blocks): Don't create a new basic block
3158         for calls in a LIBCALL block.
3159
3160 Sun Dec 28 00:30:24 1997  David Edelsohn  <edelsohn@mhpcc.edu>
3161
3162         * config/fp-bit.c (L_df_to_sf): Fix typo in last change.
3163
3164 Sat Dec 27 22:43:12 1997  Jeffrey A Law  (law@cygnus.com)
3165
3166         * cse.c (rtx_cost): Remove conflicting default case.
3167
3168 Sat Dec 27 21:20:02 1997  Richard Henderson  <rth@cygnus.com>
3169
3170         * configure.in: Move default enabling of Haifa out of for loop.
3171         * configure: Rebuild.
3172
3173 Thu Dec 25 01:02:54 1997  Jeffrey A Law  (law@cygnus.com)
3174
3175         * version.c: Bump for snapshot.
3176
3177 1997-12-25  Teemu Torma  <tot@trema.com>
3178
3179         * Makefile.in (GTHREAD_FLAGS): New var.
3180         (LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS).
3181         (distclean): Remove gthr-default.h.
3182
3183         * configure.in: Accept dce as a thread package.
3184         Check for thread.h and pthread.h.
3185         Link gthr-default.h to appropriate thread file and set
3186         gthread_flags.
3187         (hppa1.1-*-hpux10*): If --enable-threads, use dce threads and
3188         include multilib definitions from pa/t-dce-thr.
3189         (sparc-*-solaris2*): Enable threads by default, if thread.h or
3190         pthread.h is found, preferring posix threads over solaris ones.
3191
3192         * config/pa/t-dce-thr: New file.
3193         * config/pa/t-pa: Removed multilibs.
3194         * config/sparc/t-sol2: Ditto.
3195                 
3196         * gthr.h: New file.
3197         * gthr-single.h: New file.
3198         * gthr-posix.h: New file.
3199         * gthr-solaris.h: New file.
3200         * gthr-dce.h: New file.
3201         * libgcc-thr.h: Removed.
3202         * objc/thr-dce.c: New file copied from thr-decosf1.c.
3203
3204         * frame.c: Include gthr.h instead of libgcc-thr.h.
3205         * libgcc2.c: Include gthr.h instead of libgcc-thr.h.
3206         (eh_context_initialize): If __gthread_once fails, use static eh
3207         context.
3208         (eh_context_free): Call __gthread_key_dtor.
3209
3210 Wed Dec 24 23:33:17 1997  Jeffrey A Law  (law@cygnus.com)
3211
3212         * expr.h (MUST_PASS_IN_STACK): Allow target port to override.
3213
3214 Wed Dec 24 23:12:14 1997  Jim Wilson  <wilson@cygnus.com>
3215
3216         * cse.c (max_insn_uid): New variable.
3217         (cse_around_loop): Use max_insn_uid.
3218         (cse_main): Set max_insn_uid.
3219
3220         * abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
3221         and define __LONG_MAX__ appropriately.  Add support for -mabi=X,
3222         -mlong64, and -mgp{32,64} options.
3223         * mips.c (mips_abi): Change type to int.
3224         * mips.h (enum mips_abi_type): Delete.
3225         (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
3226         (mips_abi): Change type to int.
3227
3228 Wed Dec 24 22:38:34 1997  John Carr  <jfc@mit.edu>
3229
3230         * flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
3231         optimization is now always enabled.
3232
3233         * calls.c (expand_call): Recognize C++ operator new as malloc-like
3234         function.
3235
3236         * alias.c (memrefs_conflict_p): Eliminate tests now done by
3237         base_alias_check.
3238         (*_dependence): Call canon_rtx before base_alias_check.
3239         (init_alias_once): New function to precompute set of registers which
3240         can hold Pmode function arguments.
3241
3242         * rtl.h: Declare init_alias_once.
3243
3244         * toplev.c (compile_file): Call init_alias_once.
3245
3246 Wed Dec 24 22:34:55 1997  Jeffrey A Law  (law@cygnus.com)
3247
3248         * tree.c (restore_tree_status): Do not dereference a null pointer.
3249
3250 Tue Dec 23 12:56:46 1997 Paul Eggert <eggert@twinsun.com>:
3251
3252         * genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to
3253         RLIMIT_STACK.  This maintains consistency with the recent, similar
3254         patch to cccp.c and toplev.c.
3255
3256 Tue Dec 23 05:17:28 1997  Richard Henderson  <rth@cygnus.com>
3257
3258         * genattrtab.c (expand_units): For large nr opclasses, expand
3259         function_units_used with ORX to prevent blowups.  Tag with FFS.
3260         (num_unit_opclasses): New variable.
3261         (gen_unit): Update it.
3262         (enum operator): Add ORX_OP.
3263         (operate_exp): Treat ORX as or, except don't expand across an if.
3264         Reuse number rtx's after operating on them.
3265         (check_attr_value): Accept IOR, AND, & FFS.
3266         (write_test_expr): Transmute `in_comparison' to `flags'.  Allow
3267         for attribute value caching.  Handle CONST_STRING, IF_THEN_ELSE.
3268         (write_expr_attr_cache, write_toplevel_expr): New functions.
3269         (write_attr_get): Handle FFS-tagged expressions.
3270         (make_canonical): Don't expand const attributes.
3271         (convert_const_symbol_ref): Dike out.
3272         (evaluate_eq_attr): Handle SYMBOL_REF.
3273         (main): Don't emit get_attr_foo for const attributes.
3274
3275         * alpha.c (override_options): Reinstate PROCESSOR_EV6.
3276         (alpha_adjust_cost): Add EV6 tuning; streamline EV5 tests.
3277         * alpha.h (REGISTER_MOVE_COST): Increase ftoi/itof cost slightly.
3278         * alpha.md: Redo all of the scheduling, adding EV6 support, and 
3279         combining function units where possible.  
3280         (attr "type"): Split loads, stores, cmov into int/fp.  Combine
3281         multiplies and divides.  Add EV6 sqrt, ftoi, itof.
3282         (attr "opsize"): New attribute.
3283         (sqrtsf2-1, sqrtdf2-1): Provide proper TP_INSN patterns.
3284         (movsf2-[12], movdf2-[12]): Provide CIX varients; don't allow CIX
3285         to control register allocation.
3286         (movsi2-1, movdi2-1): Likewise.
3287
3288 Tue Dec 23 03:53:21 1997  Richard Henderson  <rth@cygnus.com>
3289         
3290         * alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC,
3291         MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC):
3292         Move OSF/1 specific defines out.
3293         * alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS):
3294         Move Linux specific defines out.
3295         (LINK_SPEC): Genericize.
3296         (ASM_FILE_START): Emit .arch if using more than the base insn set.
3297         (ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version.
3298         (SDB_DEBUGGING_INFO): Remove; gas can't handle it.
3299         (HANDLE_SYSV_PRAGMA): Define.
3300         * alpha/osf.h: New file.
3301         * alpha/linux.h: Split.  Retain file-format independant defines.
3302         Import Linux bits from elf.h.
3303         (CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES
3304         (FUNCTION_PROFILER): _mcount takes its address in $28.
3305         (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef.
3306         * alpha/linux-ecoff.h: New file.
3307         * alpha/linux-elf.h: New file.
3308         * alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h.
3309         * alpha/win-nt.h (TARGET_DEFAULT): Define.
3310         * configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]:
3311         Add new headers as appropriate.
3312         
3313         * configure.in (alpha*): Enable Haifa by default.
3314         (*-*-winnt3*): Change to winnt*, since we're not v3 specific.
3315         * configure: Rebuild.
3316         
3317 Tue Dec 23 03:14:54 1997  Richard Henderson  <rth@cygnus.com>
3318
3319         * Makefile.in (clean): Remove the stages with their objects here ...
3320         (distclean): ... instead of here.
3321
3322 Mon Dec 22 11:24:01 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3323  
3324         * cse.c (rtx_cost): Add default case in enumeration switch.
3325         * fix-header.c (recognized_macro): Likewise.
3326         (recognized_extern): Likewise.
3327         (write_rbrac): Likewise.
3328         * objc/objc-act.c (encode_aggregate): Likewise.
3329         (gen_declarator): Likewise.
3330         (gen_declspecs): Likewise.
3331
3332 Mon Dec 22 09:58:51 1997  Jeffrey A Law  (law@cygnus.com)
3333
3334         * haifa-sched.c (create_reg_dead_note): Detect and handle another
3335         case where we kill more regs after sched than were killed before
3336         sched.
3337         * sched.c (create_reg_dead_note): Similarly.
3338
3339 Mon Dec 22 09:18:37 1997  Jeffrey A Law  (law@cygnus.com)
3340
3341         * c-pragma.c: Include flags.h.
3342
3343 Sun Dec 21 22:10:59 1997  Mumit Khan <khan@xraylith.wisc.edu>
3344
3345         * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Don't assume anything
3346         about system headers.
3347         (LIB_SPEC): Add -ladvapi32 -lshell32 to be consistent with mingw32
3348         and also to resolve symbols in prefix.c.
3349
3350         * i386/xm-cygwin32.h (HAVE_BCOPY): Define. This avoids a conflict
3351         between gansidecl.h and newlib's _ansi.h when building libgcc2.a,
3352         when the definitions in auto-config.h is not visible.
3353         (HAVE_BZERO): Likewise.
3354         (HAVE_BCMP): Likewise.
3355         (HAVE_RINDEX): Likewise.
3356         (HAVE_INDEX): Likewise.
3357
3358 Sun Dec 21 21:54:22 1997  Jeffrey A Law  (law@cygnus.com)
3359
3360         * pa.c (emit_move_sequence): Handle a function label source
3361         operand.
3362
3363 Sun Dec 21 16:13:55 1997  Nick Clifton  <nickc@cygnus.com
3364
3365         * c-pragma.c (handle_pragma_token): Generate warning messages
3366         about unknown pragmas if warn_unknown_pragmas is set.
3367
3368         * c-decl.c (c_decode_option): Parse -Wunknown-pragmas command
3369         line option to set variable: warn_unknown_pragmas.
3370
3371 Sun Dec 21 15:51:10 1997  Manfred Hollstein  <manfred@lts.sel.alcatel.de>
3372
3373         * m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in the
3374         definition.
3375         (ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
3376
3377 Sun Dec 21 13:58:39 1997  Jeffrey A Law  (law@cygnus.com)
3378
3379         * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
3380         (libgcc2.a): Depend on $(DPBIT) and $(FPBIT).  Add rules to
3381         generate more fine grained floating point emulation libraries.
3382         * config/fp-bit.c: Add protecting #ifdef to all functions so
3383         that they can be compiled separately.  If !FINE_GRAINED_LIBRARIES,
3384         then compile all suitable functions.
3385         (pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
3386         underscores to avoid namespace pollution.
3387         * t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c
3388         (FPBIT): Define.
3389         * t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
3390         (FPBIT): Define.
3391         (DPBIT): Define.
3392
3393 Sat Dec 20 11:26:47 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3394                           Jeff Law  <law@cygnus.com>
3395
3396         * bitmap.c (bitmap_clear): Ensure `inline' is at the beginning
3397         of the declaration.
3398         * c-decl.c (finish_decl): Use parentheses around && within ||.
3399         * rtl.c: Include stdlib.h.
3400         (read_skip_spaces): Add parentheses around assignments used as
3401         truth values.
3402         (read_rtx): Initialize list_rtx.
3403         * cppexp.c (parse_number): Use || when operands are truth values.
3404         * alias.c (find_base_value): Add default case.
3405         (memrefs_conflict): Likewise.
3406         * combine.c (sets_function_arg_p): Likewise.
3407         * genemit.c (gen_exp): Likewise.
3408         * local-alloc.c (contains_replace_regs): Likewise.
3409         * rtlanal.c (jmp_uses_reg_or_mem): Likewise.
3410         * fold-const.c (fold_convert): Use "&&" for truth values.
3411         (fold): Add default case.
3412         * sdbout.c (sdbout_field_types): Fix typo in declaration.
3413         (sdbout_one_type): Add default case.
3414         * alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS.
3415         (some_operand): Add default case.
3416         (input_operand): Likewise.
3417         (signed_comparison_operator): Likewise.
3418         (divmod_operator): Likewise.
3419         (alpha_set_memflags_1): Likewise.
3420         * reload1.c (reload_cse_simplify_operands): Ensure function
3421         always returns a value.
3422         * scan-decls.c (scan_decls): Likewise.
3423         * c-lex.c (skip_white_space): Fix typo in declaraion.
3424         * c-typeck.c (comp_target_types): Add parentheses around assignment
3425         used as truth value.
3426         (print_spelling): Likewise.
3427         (constructor_implicit, constructor_result): Remove unused variables.
3428         * collect2.c (scan_library): Protect prototype with
3429         #ifdef SCAN_LIBRARIES.
3430         * emit-rtl.c (find_line_note): Fix typo in declaration.
3431         * final.c (asm_insn_count): Protect prototype with 
3432         #ifdef HAVE_ATTR_length.
3433         * flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC.
3434         (try_pre_increment_1, try_pre_increment): Likewise.
3435         * regclass.c (auto_inc_dec_reg_p): Protect prototype with
3436         #ifdef FORBIDDEN_INC_DEC_CLASSES.  Make return type explicit.
3437         * gcov-io.h (__store_long, __write_long, __read_long): Fix
3438         unsigned/signed comparisons.
3439         * gcov.c (read_files): Remove unused "first_type" variable.
3440         (scan _for_source_files): Initialize s_ptr.
3441         (function_summary): Eliminate "%lf" formatting, use %ld for
3442         longs.
3443         (output_data): Initialize branch_probs and last_line_num.
3444         Eliminate "%lf" formatting, use "%ld" for longs.
3445
3446 Fri Dec 19 17:31:11 1997  Ian Lance Taylor  <ian@cygnus.com>
3447
3448         * mips16.S: New file.
3449
3450         * libgcc2.c (varargs): Handle mips16.
3451
3452         * expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an
3453         expression.
3454         * stmt.c (expand_end_case): Likewise.
3455         * alpha.h (CASE_VECTOR_PC_RELATIVE): Update.
3456         * fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise.
3457         * rs6000.h, sh.h, tahoe.h, v850.h, vax.h: Likewise.
3458
3459 Tue Dec 16 15:14:09 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3460
3461         * objc/Make-lang.in: Create runtime-info.h and libobjc_entry.o in
3462         the build directory.
3463         (libobjc.a): Update dependency list.
3464         (libobjc.dll): Likewise.  Use libobjc_entry.o from the build
3465         directory.
3466         (objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
3467         (objc.mostlyclean): Remove runtime-info.h.
3468
3469 Fri Dec 19 00:19:42 1997  Richard Henderson  <rth@cygnus.com>
3470
3471         * tree.c (build_range_type): Allow creation of ranges with no maximum.
3472         * dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE.
3473         * dwarf2out.c (add_subscript_info): Likewise.
3474         * dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise.
3475         * sdbout.c (plain_type_1): Likewise.
3476         * stmt.c (pushcase_range, all_cases_count, node_has_high_bound):
3477         Likewise.
3478         * fold-const.c (int_const_binop, fold_convert, make_range, fold):
3479         Likewise.
3480
3481 Thu Dec 18 17:05:10 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3482  
3483         * mips.c (fatal): Remove declaration.
3484
3485 1997-12-18  Mark Mitchell  <mmitchell@usa.net>
3486
3487         * integrate.c (get_label_from_map): New function.
3488         (expand_inline_function): Use it.  Initialize the label_map to
3489         NULL_RTX instead of gen_label_rtx.
3490         (copy_rtx_and_substitute): Use get_label_from_map.
3491         * integrate.h (get_label_from_map): New function.
3492         (set_label_from_map): New macro.
3493         * unroll.c (unroll_loop): Use them.
3494         (copy_loop_body): Ditto.
3495
3496 Thu Dec 18 19:19:57 1997  Ian Lance Taylor  <ian@cygnus.com>
3497
3498         * mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
3499         (INIT_TARGET_OPTABS): Define.
3500         * mips/ecoff.h: Include gofast.h before mips.h.
3501         (INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS.
3502         * mips/elf64.h: Likewise.
3503         * mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define.
3504
3505 Thu Dec 18 14:51:12 1997  Jason Merrill  <jason@yorick.cygnus.com>
3506
3507         * except.c: Remove register_exception_table{,_p}.
3508
3509 Thu Dec 18 14:57:29 1997  Gavin Koch  <gavin@cygnus.com>
3510
3511         * unroll.c (calculate_giv_inc): Handle constant increment found in
3512         a MEM with an appropriate REG_EQUAL note.
3513
3514         * calls.c (expand_call): Implement LOAD_ARGS_REVERSED.
3515
3516         * dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the
3517         frame pointer in the prologue.
3518
3519 Thu Dec 18 00:19:38 1997  Robert Lipe <robertl@dgii.com>
3520
3521         * i386/x-sco5 (CLIB) Deleted.  (ALLOCA) Added.
3522         * i386/xm-sco5.h  (USE_C_ALLOCA) Added.
3523
3524 Tue Dec 16 18:51:00 1997  Bill Moyer <billm@cygnus.com>
3525          
3526         * config/m68k/m68k.c (output_function_prologue): Typecast
3527         dwarf2out_cfi_label to (char *).
3528         * config/m68k/m68kemb.h (STARTFILE_SPEC): Redefined to "".
3529          
3530 Wed Dec 17 15:06:04 1997  Richard Henderson  <rth@cygnus.com>
3531
3532         * sparc.md (jump): Don't use the annul bit around an empty loop.
3533         Patch from Kevin.Kelly@East.Sun.COM.
3534
3535 Wed Dec 17 00:51:36 1997  Stan Cox (scox@cygnus.com)
3536
3537         * jump.c: (jump_optimize): Don't use the return register as a 
3538         source1 of a conditional move.
3539
3540 Tue Dec 16 23:45:40 1997  Richard Henderson  <rth@cygnus.com>
3541
3542         * sparc.c (DF_MODES): Or the mask not the bit number.
3543         (function_arg) [ARCH64]: Send unprototyped arg to fp reg first.
3544
3545 Wed Dec 17 00:13:48 1997  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
3546
3547         * combine.c (force_to_mode): return immediately if operand is a CLOBBER.
3548
3549 Tue Dec 16 23:44:54 1997  Manfred Hollstein  <manfred@s-direktnet.de>
3550
3551         * fixincludes (size_t): Add support for Motorola's stdlib.h
3552         which fails to provide a definition for size_t.
3553         (fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3.
3554         (strlen,strspn,strcspn return value): Handle different layout on sysV88.
3555         (hypot): Provide a fake for hypot for m88k-motorola-sysv3.
3556
3557         * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
3558         prevent unresolved externals in libio.
3559         * m88k/xm-sysv3.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Likewise.
3560
3561 Tue Dec 16 23:25:45 1997  H.J. Lu  (hjl@gnu.org)
3562
3563         * config/sparc/linux64.h (LIBGCC_SPEC): Removed.
3564         (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
3565         (LIB_SPEC): Updated for glibc 2.
3566
3567 Tue Dec 16 20:11:36 1997  Jeffrey A Law  (law@cygnus.com)
3568
3569         * ginclude/stdarg.h: Undo BeOS changes, they break hpux.
3570         * ginclude/varargs.h: Likewise.
3571
3572 Tue Dec 16 00:32:01 1997  Jeffrey A Law  (law@cygnus.com)
3573
3574         * version.c: Bump for snapshot.
3575
3576 Tue Dec 16 00:14:29 1997  H.J. Lu  (hjl@gnu.org)
3577
3578         * frame.h (__register_frame, __register_frame_table,
3579         __deregister_frame): New.
3580         * frame.c (__register_frame, __register_frame_table,
3581         __deregister_frame): New.
3582         * frame.c (__deregister_frame_info): Return void *.
3583         * frame.h (__deregister_frame_info): Ditto.
3584         * collect2.c (__deregister_frame_info): Ditto.
3585
3586 Mon Dec 15 18:40:08 1997  Richard Henderson  <rth@cygnus.com>
3587
3588         * expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
3589
3590 Mon Dec 15 18:31:43 1997  Richard Henderson  <rth@cygnus.com>
3591
3592         * alpha.c (alpha_cpu_name): New variable.
3593         (alpha_mlat_string): Likewise.
3594         (alpha_memory_latency): Likewise.
3595         (override_options): Handle -mmemory-latency.
3596         (alpha_adjust_cost): Adjust load cost for latency.
3597         * alpha.h (TARGET_OPTIONS): Add meory-latency.
3598         (REGISTER_MOVE_COST): Define in terms of memory_latency.  Take
3599         TARGET_CIX into account.
3600         (MEMORY_MOVE_COST): Define in terms of memory_latency.
3601         * invoke.texi (DEC Alpha Options): Document -mmemory-latency.
3602
3603         * alpha.h (ASM_COMMENT_START): New macro.
3604
3605 Mon Dec 15 17:48:05 1997  Richard Henderson  <rth@cygnus.com>
3606
3607         * reload.h, reload1.c (eliminate_regs), caller-save.c, dbxout.c,
3608         dwarfout.c, dwarf2out.c, reload.c, sdbout.c: Revert March 15 change.
3609
3610         * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
3611         SUBREG_REG if the word count is unchanged.
3612         * reload1.c (eliminate_regs) [case SET]: If W_R_O, preserve
3613         subregs of identical word size for push_reload.
3614
3615 Mon Dec 15  Mark Mitchell  <mmitchell@usa.net> 11:41:32 1997
3616
3617         * toplev.c (rest_of_compilation): Don't call save_for_inline_copy
3618         if all we're doing is dealing with -Wreturn-type.
3619
3620 Mon Dec 15 09:44:39 1997  Richard Henderson  <rth@cygnus.com>
3621
3622         * alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2):
3623         Use and 255 instead of zapnot 1, since it schedules better.
3624
3625 Mon Dec 15 08:48:24 1997  Jeffrey A Law  (law@cygnus.com)
3626
3627         * stmt.c (expand_asm_operands): If an ASM has no outputs, then treat
3628         it as volatile.
3629
3630 Mon Dec 15 00:04:48 1997  Jeffrey A Law  (law@cygnus.com)
3631
3632         * haifa-sched.c (remove_dependencies): Set RTX_INTEGRATED_P on
3633         dependency we delete.  Properly update prev for multiple consecutive
3634         deletions.
3635         (priority): Skip deleted dependence.
3636
3637 Fri Dec 12 18:54:23 1997  Per Bothner  <bothner@cygnus.com>
3638
3639         * expr.c (expand_builtin):  Support BUILT_IN_FMOD - just call fmod.
3640
3641 Fri Dec 12 01:19:48 1997  Jason Merrill  <jason@yorick.cygnus.com>
3642
3643         * flow.c (flow_analysis): Be consistent with find_basic_blocks in
3644         determining when a new basic block starts.
3645
3646         * alpha/osf2or3.h (LIB_SPEC): Restore missing defn.
3647
3648         * pa.h (TEXT_SPACE_P): Use TREE_CODE_CLASS.
3649         * pa.md (iorsi3): Add missing args to *_operand calls.
3650
3651         * except.c (call_get_eh_context): Don't mess with sequences.
3652         (emit_eh_context): Include the call in the sequence here.
3653
3654 1997-12-11  Paul Eggert  <eggert@twinsun.com>
3655
3656         * collect2.c (write_c_file_glob): Allocate initial frame object
3657         in static storage and pass its address.
3658
3659 Thu Dec 11 23:33:48 1997  Jason Merrill  <jason@yorick.cygnus.com>
3660
3661         * except.c (call_get_eh_context): Don't take a parm.
3662         Put the call at the top of the function.
3663         (emit_eh_context): Adjust.
3664         (get_eh_context): Replace with former use_eh_context.
3665         (get_eh_context_once, get_saved_pc_ref): Remove.
3666         (start_eh_unwinder, end_eh_unwinder, emit_unwinder): Remove.
3667         * except.h: Adjust.
3668         * integrate.c (expand_inline_function): Adjust.
3669         * toplev.c (rest_of_compilation): Don't call emit_unwinder.
3670
3671 Fri Oct 10 17:58:31 CEST 1997  Marc Lehmann <pcg@goof.com>
3672
3673         * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
3674         (DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise.
3675
3676 Thu Dec 11 23:55:17 1997  Manfred Hollstein  <manfred@s-direktnet.de>
3677
3678         * fixincludes (strlen,strspn,strcspn return value): Handle different
3679         layout on sysV88.
3680         (hypot): Provide a fake for hypot which is broken on 
3681         m88k-motorola-sysv3.
3682
3683 Thu Dec 11 23:50:17 1997  John F. Carr  <jfc@mit.edu>
3684
3685         * tree.c, tree.h: Change tree_code_type, tree_code_length, and
3686         tree_code_name from pointers to arrays.
3687         * tree.c: Remove standard_tree_code_* variables, no longer used.
3688         * print-tree.c: Remove declaration of tree_code_name.
3689
3690         * cp/lex.c (init_lex): Update for tree_code_* changes.
3691         * objc/objc-act.c (init_objc): Likewise.
3692
3693         * tree.def, cp/cp-tree.def, objc/objc-tree.def: Update for tree_code
3694         changes.
3695
3696 Thu Dec 11 23:34:54 1997  Fred Fish  <fnf@ninemoons.com>
3697
3698         * config.sub: Add support for BeOS target.
3699         * configure.in: Likewise.
3700         * ginclude/stdarg.h: Likewise.
3701         * ginclude/stddef.h: Likewise.
3702         * ginclude/varargs.h: Likewise.
3703         * rs6000/beos.h: New file for BeOS.
3704         * rs6000/t-beos: Likewise.
3705         * rs6000/x-beos: Likewise.
3706         * rs6000/xm-beos.h: Likewise.
3707         * toplev.c (get_run_time): Just return 0 on BeOS.
3708
3709 Thu Dec 11 23:25:23 1997  Jeffrey A Law  (law@cygnus.com)
3710                           Toon Moene  (toon@moene.indiv.nluug.nl)
3711
3712         * m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly
3713         old and broken Sun3 assemblers.  Newer versions handle large
3714         offsets correctly as does the GNU assembler.
3715
3716 Thu Dec 11 23:06:48 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
3717
3718         * objc/objc-act.c (lang_report_error_function): Disable.
3719         * objc/objc-parse.y: Include "output.h".
3720         (yyerror): Remove redundant decl.
3721         (yyprint): Fix prototype.
3722         (apply_args_register_offset): Remove redundant decl.
3723         (get_file_function_name): Likewise.
3724
3725 Thu Dec 11 22:02:10 1997  Jason Merrill  <jason@yorick.cygnus.com>
3726
3727         * flow.c (find_basic_blocks): A CALL_INSN that can throw starts
3728         a new basic block.
3729         (find_basic_blocks_1): Likewise.
3730
3731 Thu Dec 11 21:08:48 1997  Jason Merrill  <jason@yorick.cygnus.com>
3732
3733         * except.c (use_eh_context): Don't copy_rtx a REG.
3734         (emit_throw): Lose old unwinder support.
3735         (expand_internal_throw): Likewise.
3736         * libgcc2.c (struct eh_context): Likewise.
3737         (new_eh_context): Likewise.
3738         (__get_eh_info): Lose redundant cast.
3739         (__get_dynamic_handler_chain): Likewise.
3740         (__get_saved_pc): Lose.
3741         Lose all old unwinder support code.
3742
3743 Thu Dec 11 20:42:18 1997  Teemu Torma  <tot@trema.com>
3744
3745         Thread-safe EH support for pthreads, DCE threads and Solaris threads.
3746         
3747         * integrate.c (expand_inline_function): If the inline fn uses eh
3748         context, make sure that the current fn has one.
3749         * toplev.c (rest_of_compilation): Call emit_eh_context.
3750         * except.c (use_eh_context): New fn.
3751         (get_eh_context_once): New fn.
3752         (call_get_eh_context): New fn.
3753         (emit_eh_context): New fn.
3754         (get_eh_context): Call either get_eh_context_once or
3755         call_get_eh_context, depending on what we have.
3756         (get_dynamic_handler_chain): Call get_eh_context_once.
3757         * except.h: Prototypes for fns above.
3758         * optabs.c (get_eh_context_libfunc): Removed.
3759         (init_optabs): Don't initialize it.
3760         * expr.h (get_eh_context_libfunc): Removed.
3761         * rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
3762         * config/pa/pa.h (CPP_SPEC): Support for -threads.
3763         * config/pa/pa-hpux10.h (LIB_SPEC): Ditto.
3764         * config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
3765         New multilib for -threads.
3766         * config/sparc/t-sol2: Added multilibs for -threads and
3767         made -pthreads alias to it.
3768         * config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
3769         Added -threads and -pthreads options.
3770         * libgcc-thr.h: New file.
3771         * libgcc2.c: (__get_cpp_eh_context): Removed.
3772         (struct cpp_eh_context): Removed.
3773         (struct eh_context): Replaced cpp_eh_context with generic language
3774         specific pointer. 
3775         (__get_eh_info): New function.
3776         (__throw): Check eh_context::info.
3777         (__sjthrow): Ditto.
3778         * libgcc2.c: Include libgcc-thr.h.
3779         (new_eh_context, __get_eh_context,
3780         eh_pthread_initialize, eh_context_initialize, eh_context_static,
3781         eh_context_specific, eh_context_free): New functions.
3782         (get_eh_context, eh_context_key): New variables.
3783         (__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
3784         get_eh_context to get the context.
3785         (longjmp): Move the declaration inside
3786         #ifdef DONT_USE_BUILTIN_SETJMP.
3787         * frame.c: Include libgcc-thr.h.
3788         (object_mutex): Mutex to protect the object list.
3789         (find_fde, __register_frame, __register_frame_table,
3790         __deregister_frame): Hold the lock while accessing objects.
3791         * except.h (get_eh_context): Declare.
3792         * except.c (current_function_ehc): Define.
3793         (current_function_dhc, current_function_dcc): Removed.
3794         (get_eh_context): New function.
3795         (get_dynamic_handler_chain): Use get_eh_context.
3796         (get_saved_pc_ref): Ditto.
3797         (get_dynamic_cleanup_chain): Removed references to
3798         current_function_dcc.
3799         (save_eh_status, restore_eh_status): Save and restore
3800         current_function_ehc instead.
3801         * optabs.c (get_eh_context_libfunc): New variable.
3802         (init_optabs): Initialize it.
3803         * expr.h: Declare get_eh_context_libfunc.
3804         * function.h (struct function): Replaced dhc and dcc with ehc.
3805         * except.c (get_saved_pc_ref): New functions.
3806         (eh_saved_pc_rtx, eh_saved_pc): Deleted.
3807         (expand_internal_throw_indirect): Use get_saved_pc_ref() instead
3808         of eh_saved_pc.
3809         (end_eh_unwinder): Likewise.
3810         (init_eh): Remove initialization of eh_saved_pc.
3811         * optabs.c (get_saved_pc_libfunc): New variable.
3812         (init_optabs): Initialize it.
3813         * expr.h: Declare get_saved_pc_libfunc.
3814         * except.h (eh_saved_pc_rtx): Deleted.
3815         (get_saved_pc_ref): Declared.
3816
3817         From Scott Snyder <snyder@d0sgif.fnal.gov>:
3818         * libgcc2.c (__get_saved_pc): New.
3819         (__eh_type, __eh_pc): Deleted.
3820         (__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
3821         (__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
3822         this fcn.
3823
3824 Thu Dec 11 17:23:48 1997  John F. Carr  <jfc@mit.edu>
3825
3826         * sparc/sol2.h: Use 64 bit multiply and divide functions in
3827         Solaris libc.  Define TARGET_LIVE_G0 and TARGET_BROKEN_SAVERESTORE
3828         as 0.
3829
3830         * rtl.h (global_rtl): New variable, replacing separate variables for
3831         commonly used rtl.
3832         (const_int_rtx): Now array of rtx_def, not rtx.
3833         * emit-rtl.c: Update for new rtl data structures.
3834         * genattrtab.c: Define global_rtl.
3835
3836 Thu Dec 11 15:50:29 1997 David Edelsohn  <edelsohn@mhpcc.edu>
3837
3838         * configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by
3839         default.
3840
3841 Wed Dec 10 12:30:18 1997  Anthony Green  <green@cygnus.com>
3842
3843         * crtstuff.c (__do_global_ctors): Fix typo.
3844
3845 Tue Dec  9 09:43:59 1997  Manfred Hollstein  <manfred@s-direktnet.de>
3846
3847         * toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
3848         to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
3849
3850 Tue Dec  9 09:38:58 1997  David Edelsohn  <edelsohn@mhpcc.edu>
3851
3852         * rs6000.h (FUNCTION_ARG_PADDING): Define.
3853         * rs6000.c (function_arg_padding): New function.
3854
3855 Tue Dec  9 10:34:21 1997  Manfred Hollstein  <manfred@s-direktnet.de>
3856
3857         * m68k.c: Include tree.h only once.
3858
3859 Tue Dec  9 09:32:33 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3860
3861         * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
3862
3863 Tue Dec  9 01:16:06 1997  Jeffrey A Law  (law@cygnus.com)
3864
3865         * Partially cleaned up prototyping code from HJ.
3866         * tree.h: Add many prototypes.
3867         * haifa-sched.c (haifa_classify_insn): Renamed from classify_insn.
3868         All references changed.
3869         * rtl.h: Protect from multiple inclusions.  Add many prototypes.
3870         
3871 Tue Dec  9 01:15:15 1997  Fred Fish  <fnf@ninemoons.com>
3872
3873         * libgcc2.c (string.h): Hoist inclusion to occur before first use of
3874         string functions like strlen.
3875
3876 Tue Dec  9 00:57:38 1997  Manfred Hollstein  <manfred@s-direktnet.de>
3877
3878         * configure.in: Check for functions getrlimit and setrlimit.
3879         * cccp.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
3880         to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
3881
3882 Mon Dec  8 23:53:26 1997  Jay Sachs <sachs@bull.cs.williams.edu>
3883
3884         * Makefile.in (compare*): Handle losing behavior from 4.4bsd make.
3885
3886 Mon Dec  8 21:03:28 1997  Richard Henderson  <rth@cygnus.com>
3887
3888         * alpha.c (REG_RA, alpha_return_addr, output_epilog):
3889         Fix merge problems.
3890
3891         * alpha.c (override_options): Don't know about scheduling for EV6.
3892         * alpha.md (ev5 function units): Don't overload as ev6.
3893
3894         * alpha.c (alpha_adjust_cost): Simplify.  Fix typo in ev5 mult case.
3895         * alpha.md (define_attr type): Add mvi.
3896         (ev5_e0): Define sceduling parameters for it.
3897         (TARGET_MAX insns): Type is mvi not shift.
3898
3899 Mon Dec  8 18:15:00 1997  Richard Henderson  <rth@cygnus.com>
3900
3901         * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix backported gcc-2.8 bug.
3902
3903 Mon Dec  8 21:17:28 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
3904
3905         * cstamp-h, auto-config.h: Delete.
3906
3907 Sun Dec  7 19:19:03 1997  Jeffrey A Law  (law@cygnus.com)
3908
3909         * version.c: Bump for snapshot.
3910
3911 Sat Dec  6 22:22:22 1997  Jeffrey A Law  (law@cygnus.com)
3912
3913         * cccp.c: Fix typo brought over in merge.
3914
3915         * Merge in changes from gcc-2.8.
3916
3917 Mon Nov  3 05:45:32 1997  Philippe De Muyter  <phdm@macqel.be>
3918
3919         * m68k.c: Include tree.h for dwarf2out_cfi_label.
3920
3921         * gcc.c (process_command): Do not take address of function fatal when
3922         calling lang_specific_driver.
3923
3924 Sat Dec  6 01:02:38 1997  Mumit Khan  <khan@xraylith.wisc.edu>
3925
3926         * config/i386/cygwin32.h (DWARF2_UNWIND): Exception handling 
3927         doesn't work with it yet, so set it to 0.
3928         * config/i386/xm-cygwin32.h (NO_SYS_SIGLIST): Define.
3929
3930 Sat Dec  6 01:01:02 1997  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
3931
3932         * cse.c (cse_insn): Check for invalid entries when taking references.
3933
3934 Fri Dec  5 18:26:25 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
3935
3936         * loop.c (invariant_p): Don't test flag_rerun_loop_opt.
3937         (loop_optimize, scan_loop, strength_reduce): New argument unroll_p.
3938         * toplev.c (rest_of_compilation): Pass it.  Remove code to
3939         save / clear / restore flag_unroll_{,all_}loops.
3940
3941 Fri Dec  5 16:26:03 1997  Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
3942
3943         * i386.c (notice_update_cc): Remove bogus pentium GCC code.
3944
3945 Fri Dec  5 16:25:14 1997  Jeffrey A Law  (law@cygnus.com)
3946
3947         * stmt.c (warn_if_unused_value): Don't warn for TRY_CATCH_EXPR.
3948
3949 Thu Dec  4 11:51:00 1997  Jason Merrill  <jason@yorick.cygnus.com>
3950
3951         * except.c (get_dynamic_handler_chain): Only make the call once per
3952         function.
3953
3954         * except.c (expand_end_all_catch): Fix for sjlj exceptions.
3955
3956 Thu Dec  4 12:30:40 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
3957
3958         * sh.c (final_prescan_insn): Use local label prefix
3959         when emitting .uses pseudo-ops.
3960
3961 Wed Dec  3 12:01:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
3962
3963         * libgcc2.c (__throw): Use __builtin_return_addr instead of __eh_pc.
3964         * except.c: Lose outer_context_label_stack.
3965         (expand_eh_region_end): Rethrow from outer_context here.
3966         (expand_fixup_region_end): Let expand_eh_region_end do the rethrow.
3967         (expand_internal_throw): Take no args.
3968         (expand_internal_throw_indirect): Lose.
3969         (expand_leftover_cleanups, expand_start_all_catch): Use expand_rethrow.
3970         (expand_start_all_catch): Start a rethrow region.
3971         (expand_end_all_catch): End it.
3972         (expand_rethrow): New fn.
3973         * except.h: Reflect above changes.
3974         * flow.c: Revert change of Nov 27.
3975
3976 Thu Dec  4 00:24:09 1997  Jeffrey A Law  (law@cygnus.com)
3977
3978         * i386/t-sol2 (CRTSTUFF_T_CFLAGS): Turn on the optimizer.
3979
3980 Wed Dec  3 12:01:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
3981
3982         * except.c (expand_fixup_region_end): New fn.
3983         (expand_fixup_region_start): Likewise.
3984         (expand_eh_region_start_tree): Store cleanup into finalization here.
3985         * stmt.c (expand_cleanups): Use them to protect fixups.
3986
3987 Wed Dec  3 11:41:13 1997  Gavin Koch  <gavin@cygnus.com>
3988
3989         * mips/mips.md (muldi3_r4000): Broaden the output template
3990         and attribute assignments to handle three operand dmult;
3991         rename to muldi3_internal2.
3992         (muldi3): Call the new muldi3_internal2 for R4000, and
3993         any GENERATE_MULT3 chip.
3994
3995 Tue Dec  2 19:40:43 1997  Jason Merrill  <jason@yorick.cygnus.com>
3996
3997         * stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
3998
3999 Tue Dec  2 12:54:33 1997  Jim Wilson  <wilson@cygnus.com>
4000
4001         * unroll.c (find_splittable_givs):  Remove last change.  Handle givs
4002         with a dest_reg that was created by loop.
4003
4004 Sat Nov 29 12:44:57 1997  David Edelsohn  <edelsohn@mhpcc.edu>
4005
4006         * rs6000.c (function_arg_partial_nregs): Undo Nov. 26 patch.
4007
4008         * rs6000/aix41.h (ASM_CPU_SPEC): Define.
4009
4010 Fri Nov 28 10:00:27 1997  Jeffrey A Law  (law@cygnus.com)
4011
4012         * configure.in: Fix NCR entries.
4013
4014 Thu Nov 27 12:20:19 1997  Jeffrey A Law  (law@cygnus.com)
4015
4016         * flow.c (find_basic_blocks): Handle cfg issues for rethrows and
4017         nested exceptions correctly.
4018
4019         * unroll.c (find_splittable_givs): Don't split givs with a dest_reg
4020         that was created by loop.
4021
4022 Thu Nov 27 09:34:58 1997  Jason Merrill  <jason@yorick.cygnus.com>
4023
4024         * expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
4025
4026         * except.c (expand_start_all_catch): One more do_pending_stack_adjust.
4027
4028 Wed Nov 26 15:47:30 1997  Michael Meissner  <meissner@cygnus.com>
4029
4030         * rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
4031         (print_operand): Use SMALL_DATA_REG for the register involved in
4032         small data relocations.
4033         (print_operand_address): Ditto.
4034
4035         * rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
4036         -dynamic linker is not used.
4037
4038         * rs6000.md (call insns): For local calls, use @local suffix under
4039         System V.  Don't use @plt under Solaris.
4040
4041         * rs6000.c (output_function_profiler): Put label address in r0, and
4042         store LR in 4(sp) for System V/eabi.
4043
4044         * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
4045         byte boundary, and maintain stack backchain.
4046
4047 Tue Nov 25 14:08:12 1997  Jim Wilson  <wilson@cygnus.com>
4048
4049         * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
4050         fix_truncsfdi2): Change *.
4051
4052 Wed Nov 26 11:12:26 1997  Jason Merrill  <jason@yorick.cygnus.com>
4053
4054         * toplev.c (main): Complain about -gdwarfn.
4055
4056 Tue Nov 25 22:43:30 1997  Jason Merrill  <jason@yorick.cygnus.com>
4057
4058         * dwarfout.c (output_type): If finalizing, write out nested types 
4059         of types we've already written.
4060
4061 Tue Nov 25 20:32:24 1997  Michael Meissner  <meissner@cygnus.com>
4062
4063         (patches originally from Geoffrey Keating)
4064         * rs6000.c (function_arg): Excess floating point arguments don't
4065         go into GPR registers after exhausting FP registers under the
4066         System V.4 ABI.
4067         (function_arg_partial_nregs): Ditto.
4068
4069         * rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
4070         suffix to calls.
4071
4072 Tue Nov 25 23:37:27 1997  Jason Merrill  <jason@yorick.cygnus.com>
4073
4074         * integrate.c (output_inline_function): Just unset DECL_INLINE.
4075
4076 Tue Nov 25 23:33:29 1997  scott snyder  <snyder@d0sgif.fnal.gov>
4077
4078         * dwarf2out.c (outout_call_frame_info): Ensure that the info has
4079         proper alignment.
4080
4081         * libgcc2.c (__throw): Initialize HANDLER.
4082
4083 Tue Nov 25 14:08:12 1997  Jim Wilson  <wilson@cygnus.com>
4084
4085         * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
4086         fix_truncsfdi2): Change *X to ?*X.
4087
4088 Tue Nov 25 10:00:42 1997  Richard Henderson  (rth@cygnus.com)
4089
4090         * alpha.h (CONST_OK_FOR_LETTER): Fix 'L' handling.
4091
4092 Tue Nov 25 10:00:42 1997  Jeffrey A Law  (law@cygnus.com)
4093
4094         * crtstuff.c (do_global_dtors_aux): Handle multiple calls better.
4095
4096 Tue Nov 25 01:26:55 1997  Bruno Haible <haible@ilog.fr>:
4097
4098         * dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement.
4099
4100 Mon Nov 24 22:41:55 1997  Jason Merrill  <jason@yorick.cygnus.com>
4101
4102         * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
4103         * optabs.c (init_optabs): Lose get_dynamic_handler_chain_libfunc.
4104         * expr.h: Likewise.
4105
4106 Sat Nov 22 18:58:20 1997  Jeffrey A Law  (law@cygnus.com)
4107
4108         * pa-hpux10.h (NEW_HP_ASSEMBLER): Define.
4109         * pa.h (LEGITIMATE_CONSTANT_P): Reject LABEL_REFs if not using
4110         gas and not using the new HP assembler.
4111
4112 Fri Nov 21 15:20:05 1997  Jeffrey A Law  (law@cygnus.com)
4113
4114         * Makefile.in (program_transform_cross_name): Clean up "-e" confusion.
4115         (GCC_INSTALL_NAME, GCC_CROSS_NAME): Likewise.
4116
4117 Fri Nov 21 19:37:40 1997  Andrew Cagney  <cagney@b1.cygnus.com>
4118
4119         * config/mips/elf64.h (MULTILIB_DEFAULTS): Test for
4120         TARGET_ENDIAN_DEFAULT == zero instead of testing for macro
4121         definition.
4122
4123 Fri Nov 21 12:49:56 1997  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
4124
4125         * stmt.c (expand_end_bindings): Allow jump into block with cleanups.
4126
4127 Fri Nov 21 12:18:51 1997  Jason Merrill  <jason@yorick.cygnus.com>
4128
4129         * except.h: Add outer_context_label_stack.
4130         * except.c: Likewise.
4131         (expand_start_all_catch): Push the outer_context for the try block
4132         onto outer_context_label_stack.
4133         (expand_end_all_catch): Use it and pop it.
4134
4135 Fri Nov 21 10:13:11 1997  Robert Lipe (robertl@dgii.com)
4136
4137         * i386/sco5.h (HAVE_ATEXIT): Revert last change.
4138
4139 Thu Nov 20 16:11:50 1997  Richard Henderson  <rth@cygnus.com>
4140
4141         * alpha.c (alpha_emit_set_const_1): Handle narrow hosts better.
4142
4143 Thu Nov 20 16:11:50 1997  Klaus Kaempf  <kkaempf@progis.de>
4144
4145         * alpha/vms.h (ASM_OUTPUT_ADDR_VEC_ELT): Add an L for the local label
4146         to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
4147
4148 Thu Nov 20 14:42:15 1997  Jason Merrill  <jason@yorick.cygnus.com>
4149
4150         * Makefile.in (LIB2FUNCS): Remove C++ memory management support.
4151         * libgcc2.c: Remove __builtin_new, __builtin_vec_new, set_new_handler, 
4152         __builtin_delete, and __builtin_vec_delete.
4153
4154         * except.c (output_exception_table): Don't bother with
4155         __EXCEPTION_END__.
4156
4157 Thu Nov 20 16:11:50 1997  Jeffrey A Law  (law@cygnus.com)
4158
4159         * pa.md (pre_stwm, post_stwm, pre_ldwm, post_ldwm): Base register
4160         is an in/out operand.
4161         (zero extended variants of stwm/stwm patterns): Similarly.
4162
4163         * mips/x-iris (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
4164
4165 Thu Nov 20 13:19:32 1997  Jason Merrill  <jason@yorick.cygnus.com>
4166
4167         * dwarf2out.c (ASM_OUTPUT_DWARF_OFFSET4): Rename from VALUE4.
4168         Use assemble_name.
4169         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Use assemble_name.
4170         (output_call_frame_info): Emit a \n after using it.
4171
4172 Thu Nov 20 00:38:46 1997  Dave Love  <d.love@dl.ac.uk>
4173
4174         * configure.in: Add AC_ARG_ENABLE for Haifa as documentation.
4175
4176 Wed Nov 19 12:03:04 1997  Philippe De Muyter  <phdm@macqel.be>
4177
4178         * dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
4179         (ASM_OUTPUT_DWARF_VALUE4): New macro.
4180         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
4181         defined.
4182         (output_call_frame_info): Do not output forward label differences
4183         if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
4184         * m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
4185
4186 Tue Nov 18 23:03:30 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
4187
4188         * sh.md (attribute "type"): Add nil.
4189         (movsi_ie): y/y alternative is type nil.
4190         (movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X
4191         alternatives.
4192         (movsf_ie+1): Delete.
4193
4194 Tue Nov 18 15:39:59 1997  Jim Wilson  <wilson@cygnus.com>
4195
4196         * mips/mips.c (save_restore_insns): If gp_offset or fp_offset are
4197         large_int, emit two insns instead of one splitable insn.
4198         * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
4199         from cfa_temp_value, use cfa_offset.  Add assert checking that
4200         cfa_reg is SP.
4201
4202 Mon Nov 17 15:35:38 1997  Tom Tromey  <tromey@cygnus.com>
4203
4204         * cccp.c (deps_output): Properly quote file names for make.
4205
4206 Mon Nov 17 13:21:40 1997  Jeffrey A Law  (law@cygnus.com)
4207
4208         * t-h8300 (MULTILIB_EXCEPTIONS): Define.
4209
4210 Fri Nov  7 15:33:11 1997  Robert Lipe (robertl@dgii.com)
4211
4212         * i386/sco5.h (HAVE_ATEXIT): Delete definition.
4213
4214 Sun Nov 16 23:52:48 1997  Jeffrey A Law  (law@cygnus.com)
4215
4216         * cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl
4217         return.
4218         (cse_end_of_basic_block): Similarly.
4219
4220 Sun Nov 16 23:01:40 1997  J. Kean Johnston  <jkj@sco.com>
4221
4222         * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define.
4223         (SELECT_RTX_SECTION): Define.
4224         (LIBGCC_SPEC, LIB_SPEC): Do the right thing for PIC.
4225
4226 Sun Nov 16 22:47:03 1997  Manfred Hollstein  <manfred@s-direktnet.de>
4227
4228         * Makefile.in (compare, compare-lean): Define $stage for each
4229         shell command.
4230         (gnucompare, gnucompare-lean): Likewise.
4231
4232 Sun Nov 16 22:02:16 1997  Richard Henderson  (rth@cygnus.com)
4233
4234         * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix offsets.
4235
4236         * alpha.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add an L for the local label
4237         to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
4238
4239 Fri Nov 14 09:09:20 1997  Fred Fish  (fnf@cygnus.com)
4240
4241         * dwarfout.c (byte_size_attribute):  Add local var upper_bound
4242         and add case to handle STRING_TYPE.
4243         * dwarfout.c (output_string_type_die):  Fix code to generate
4244         correct string length attribute for fixed length strings.
4245         Still needs support for varying length strings.
4246
4247 Fri Nov 14 08:46:56 1997  Jeffrey A Law  (law@cygnus.com)
4248
4249         * toplev.c (get_run_time): Do something sensible for cygwin32.
4250
4251 Fri Nov 14 07:24:20 1997  Richard Henderson  <rth@cygnus.com>
4252
4253         * expr.c (expand_builtin_setjmp): Set
4254         current_function_has_nonlocal_label.
4255         * stupid.c (stupid_life_analysis): If has_nonlocal_label, kill
4256         call-saved registers across calls.
4257
4258         * alpha.md (exception_receiver): Remove.
4259         (nonlocal_goto_receiver_osf): New
4260         (nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver.
4261         (nonlocal_goto_receiver): New, select _osf or _vms.
4262
4263         * alpha.c (output_prolog [*]): Prefix entry labels with '$' to
4264         keep them from being propogated to the object file.
4265         (alpha_write_linkage): Likewise.
4266         * alpha.md (call_vms): Likewise.
4267         (call_value_vms): Likewise.
4268         (unnamed osf call insns): Likewise.
4269
4270         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Don't omit L from local label.
4271         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4272
4273         * alpha.c (call_operand): Any reg is valid for WinNT.
4274         * alpha.md (call_nt, call_value_nt): Don't force address into $27.
4275         (anon nt calls): Add 'R' alternative.
4276         * alpha/win-nt.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
4277         INITIALIZE_TRAMPOLINE): Handle lack of original $27 and 32-bit ptrs.
4278
4279 Fri Nov 14 06:59:33 1997  Jeffrey A Law  (law@cygnus.com)
4280
4281         * calls.c (expand_call): Handle pcc_struct_value correctly for C++.
4282
4283         * i386/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Delete defines.
4284         * i386/xm-mingw32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
4285         * rs6000/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
4286
4287 Thu Nov 13 20:37:33 1997  Michael Meissner  <meissner@tiktok.cygnus.com>
4288
4289         * reload1.c (new_spill_reg): Improve fixed or forbidden register
4290         spill error message.
4291
4292 Thu Nov 13 20:29:08 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4293
4294         * prefix.c: Use stdarg.h only ifdef __STDC__.  Otherwise,
4295         use varargs.h.  Wrap header with <>, not "".
4296
4297 Thu Nov 13 20:21:17 1997  Jeffrey A Law  (law@cygnus.com)
4298
4299         * integrate.c (save_for_inline_copying): Add return value from
4300         savealloc.
4301
4302 Thu Nov 13 19:12:33 1997  Brendan Kehoe  <brendan@cygnus.com>
4303
4304         * fixincludes: Be a little more restrictive on what we will
4305         substitute to replace definitions of MAXINT for HPUX.
4306
4307 Thu Nov 13 18:41:02 1997  Michael Meissner  <meissner@cygnus.com>
4308
4309         * dbxout.c (dbxout_symbol_location): Don't assume that variables
4310         whose address is the stack or argument pointers are indirect
4311         pointers.
4312
4313 1997-11-13  Paul Eggert  <eggert@twinsun.com>                               
4314         
4315         * cccp.c, cpplib.c (compare_defs):
4316         Don't complain about arg name respellings unless pedantic.
4317         * cpplib.c (compare_defs): Accept pfile as new arg.              
4318         All callers changed.                                               
4319
4320 Thu Nov 13 23:33:50 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
4321
4322         * fold-const.c (fold_truthop): Fix bug in last change.
4323
4324 1997-11-13  Paul Eggert  <eggert@twinsun.com>
4325
4326         Fix some confusion with IEEE minus zero.
4327
4328         * real.h (REAL_VALUES_IDENTICAL): New macro.
4329
4330         * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
4331         * fold-const.c (operand_equal_p): Don't consider -0.0 to be
4332         identical to 0.0.
4333         * tree.c (simple_cst_equal): Don't consider -0.0 to have the
4334         same tree structure as 0.0.
4335
4336         * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL
4337         macro instead of doing it by hand.
4338
4339 Thu Nov 13 16:56:14 1997  Jeffrey A Law  (law@cygnus.com)
4340
4341         * v850/lib1funcs.asm: Minor whitespace changes.
4342         * v850.c: Fix minor formatting problems in many places.
4343         (construct_restore_jr, construct_save_jarl): Remove unwanted aborts.
4344
4345 Thu Nov 13 12:53:44 1997  Jim Wilson  <wilson@cygnus.com>
4346
4347         * mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete code swapping xplus0 and
4348         xplus1 when xplus0 is not a register.
4349
4350 Thu Nov 13 11:41:42 1997  Jeffrey A Law  (law@cygnus.com)
4351
4352         * flow.c (find_basic_blocks): During marking phase, if we encounter
4353         an insn with a REG_LABEL note, make the target block live and
4354         create an edge from the insn to the target block.  Do not make
4355         edges from all blocks to the target block.
4356
4357         * m68k/x-next (OTHER_FIXINCLUDES_DIRS): Include /NextDeveloper/Headers.
4358
4359         * confiugre.in: Tweak NCR entries.
4360         * configure: Rebuilt.
4361
4362 Thu Nov 13 11:07:41 1997  Michael Meissner  <meissner@cygnus.com>
4363
4364         * rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
4365         pick apart floating point values, instead of using CONST_DOUBLE_LOW
4366         and CONST_DOUBLE_HIGH.
4367
4368         * rs6000.md (define_splits for DF constants): Use the appropriate
4369         REAL_VALUE_* interface to pick apart DF floating point constants in
4370         a machine independent fashion.
4371
4372 Thu Nov 13 00:06:58 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
4373
4374         * fold-const.c (fold_truthop): When changing a one-bit comparison
4375         against zero into a comparison against mask, do a proper sign
4376         extension.
4377
4378 Wed Nov 12 09:37:01 1997  Jeffrey A Law  (law@cygnus.com)
4379
4380         * except.c: Do not include "assert.h".
4381         (save_eh_status): Turn asserts into conditional aborts.
4382         (restore_eh_status, scan_region): Likewise.
4383         * dwarfout.c: Do not include "assert.h".
4384         (bit_offset_attribute): Turn asserts into conditional aborts.
4385         (bit_size_attribute, output_inlined_enumeration_type_die): Likewise.
4386         (output_inlined_structure_type_die): Likewise.
4387         (output_inlined_union_type_die): Likewise
4388         (output_tagged_type_instantiation): Likewise.
4389         (dwarfout_file_scope_decl): Likewise.
4390         * dwarf2out.c: Do not include "assert.h"
4391         (expand_builtin_dwarf_reg_size): Turn asserts into conditional aborts.
4392         (reg_save, initial_return_save, dwarf2out_frame_debug): Likewise.
4393         (add_child_die, modified_type_die, add_bit_offset_attribute): Likewise.
4394         (add_bit_size_attribute, scope_die_for): Likewise.
4395         (output_pending_types_for_scope): Likewise.
4396         (get_inlined_enumeration_type_die): Likewise.
4397         (get_inlined_structure_type_die): Likewise.
4398         (get_inlined_union_type_die, gen_subprogram_die): Likewise.
4399         (gen_tagged_type_instantiation_die): Likewise.
4400
4401         * flow.c (find_basic_blocks): Refine further to get a more correct
4402         cfg, especially in the presense of exception handling, computed
4403         gotos, and other non-trivial cases.  Call abort if an inaccuracy
4404         is detected in the cfg.
4405
4406 Tue Nov 11 21:47:27 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
4407
4408         * glimits.h (SHRT_MIN): Define in a way suitable for 16 bit hosts.
4409
4410         * c-lex.c (whitespace_cr, skip_white_space_on_line): New functions.
4411         (skip_white_space): Use whitespace_cr.
4412         (check_newline): Handle whitespace more consistently.
4413
4414 Tue Nov 11 16:25:49 1997  Jim Wilson  <wilson@cygnus.com>
4415
4416         * i386/cygwin32.h (CPP_PREDEFINES): Delete -DPOSIX.
4417         * i386/xm-cygwin32.h (POSIX): Define.
4418
4419 Mon Nov 10 20:53:11 1997  Gavin Koch  <gavin@cygnus.com>
4420
4421         * config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
4422         is available elsewhere.
4423
4424 Mon Nov 10 16:21:58 1997  Doug Evans  <devans@canuck.cygnus.com>
4425
4426         * sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match
4427         what the instruction can handle.
4428
4429 Mon Nov 10 03:02:19 1997  Jason Merrill  <jason@yorick.cygnus.com>
4430
4431         * stmt.c (expand_decl_cleanup_no_eh): New fn.
4432
4433         * except.c (expand_leftover_cleanups): do_pending_stack_adjust.
4434
4435 Mon Nov 10 00:05:56 1997  Jeffrey A Law  (law@cygnus.com)
4436
4437         * alias.c (MAX_ALIAS_LOOP_PASSES): Define.
4438         (init_alias_analysis): Break out of loops after MAX_ALIAS_LOOP_PASSES.
4439
4440 Sun Nov  9 14:34:47 1997  David Edelsohn  <edelsohn@mhpcc.edu>
4441
4442         * rs6000.md (lshrdi3_power): Delete '&' from first alternative and
4443         swap instruction order.
4444
4445 Sun Nov  9 02:07:16 1997  Jeffrey A Law  (law@cygnus.com)
4446
4447         * fixinc.svr4 (__STDC__): Add another case.
4448
4449 Sun Nov  9 02:00:29 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
4450
4451         * a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid loads from varying
4452         addresses in the epilogue delay slot.
4453
4454 Sun Nov  9 01:40:40 1997  Manfred Hollstein  (manfred@s-direktnet.de)
4455
4456         * m88k/dgux.h (ASM_CPU_SPEC): Reformatted to suppress wrong whitespace
4457         in generated `specs' file.
4458
4459 Sun Nov  9 01:37:11 1997  Jim Wilson  (wilson@cygnus.com)
4460
4461         * flags.h (flag_rerun_loop_opt): Declare.
4462         * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
4463         * toplev.c (flag_rerum_loop_opt): Delete static.
4464
4465 Sat Nov  8 18:20:21 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
4466
4467         Bring over from FSF:
4468
4469         Thu Oct 30 12:21:06 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
4470
4471         * va-sh.h (__va_arg_sh1): Define.
4472         (va_arg): Use it.
4473         SH3E doesn't use any integer registers for subsequent arguments
4474         once a non-float value was passed in the stack.
4475         * sh.c (machine_dependent_reorg): If optimizing, put explicit
4476         alignment in front label for ADDR_DIFF_VEC.
4477         * sh.h (PASS_IN_REG_P): Fix SH3E case.
4478         (ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
4479
4480         Tue Oct 28 15:06:44 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
4481
4482         * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
4483         svr4.h.
4484
4485         Mon Oct 27 16:11:52 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
4486
4487         * sh.c (machine_dependent_reorg): When -flag_delayed_branches,
4488         put an use_sfunc_addr before each sfunc.
4489         * sh.md (use_sfunc_addr, dummy_jump): New insns.
4490         (casesi): For TARGET_SH2, emit a dummy_jump after LAB.
4491
4492         Tue Oct 21 07:12:28 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
4493
4494         * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
4495
4496 Fri Nov  7 10:22:24 1997  Jason Merrill  <jason@yorick.cygnus.com>
4497
4498         * frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
4499         linked once FDEs.
4500
4501 Wed Nov  5 14:26:05 1997  Jeffrey A Law  (law@cygnus.com)
4502
4503         * alias.c (find_base_value): Only return the known base value for
4504         pseudo registers.
4505
4506 Wed Nov  5 11:27:14 1997  Jim Wilson  <wilson@cygnus.com>
4507
4508         * i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
4509         * i386.md (prologue_set_got, prologue_get_pc): Add UNSPEC_VOLATILE
4510         to pattern.
4511         (prologue_get_pc_and_set_got): New pattern.
4512
4513 Tue Nov  4 20:36:50 1997  Richard Henderson  (rth@cygnus.com)
4514
4515         * alpha.c (summarize_insn): Handle ASM_OPERANDS.  Don't recurse
4516         for SUBREG, just fall through.
4517
4518         * alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero.
4519
4520         * alpha.md (attr trap): Make TRAP_YES non-zero for sanity's sake.
4521
4522 Tue Nov  4 18:49:42 1997  Jeffrey A Law  (law@cygnus.com)
4523
4524         * fixincludes: Fix "hypot" prototype in NeXT math.h.
4525
4526         * Makefile.in (USE_ALLOCA): Always include alloca.o.
4527         (USE_HOST_ALLOCA): Likewise.
4528
4529         * rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
4530         and LABEL_REFS fields.
4531         * rtl.h (LABEL_REFS): Update.
4532
4533 Tue Nov  4 16:55:11 1997  Jim Wilson  <wilson@cygnus.com>
4534
4535         * combine.c (try_combine): When setting elim_i2, check whether newi2pat
4536         sets i2dest.  When calling distribute_notes for i3dest_killed, pass
4537         elim_i2 and elim_i1.  When setting elim_i1, check if newi2pat
4538         sets i1dest.
4539
4540         * mips.md (insv, extzv, extv): Add change_address call.
4541         (movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
4542
4543         * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
4544
4545         * reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
4546
4547         * mips.c (mips_expand_epilogue): Emit blockage insn before call to
4548         save_restore_insns if no FP and GP will be restored.
4549
4550         * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
4551         Convert CCmode to word_mode before calling GET_MODE_SIZE.
4552
4553         * acconfig.h (HAVE_INTTYPES_H): Undef.
4554         * configure.in (inttypes.h): Check for conflicts between sys/types.h
4555         and inttypes.h, and verify that intmax_t is defined.
4556         * config/mips/x-iris (CC, OPT, OLDCC): Comment out.
4557         * config/mips/x-iris3: Likewise.
4558
4559 Tue Nov  4 16:07:15 1997  Jeffrey A Law  (law@cygnus.com)
4560
4561         * alias.c (find_base_value): When copying arguments, return the
4562         tenative value for a hard register.
4563
4564 Tue Nov  4 13:40:35 1997  Doug Evans  <devans@canuck.cygnus.com>
4565
4566         * c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
4567         (yylex): Record wide strings using target endianness, not host.
4568
4569 Tue Nov  4 13:13:12 1997  Jeffrey A Law  (law@cygnus.com)
4570
4571         * mn10200.h (ASM_OUTPUT_BSS): Delete.
4572         (ASM_OUTPUT_ALIGNED_BSS): New macro
4573         * mn10300.h (ASM_OUTPUT_BSS): Delete.
4574         (ASM_OUTPUT_ALIGNED_BSS): New macro.
4575         * v850.h (ASM_OUTPUT_BSS): Delete.
4576         (ASM_OUTPUT_ALIGNED_BSS): New macro.
4577
4578 Tue Nov  4 00:55:48 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
4579  
4580         * profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP.
4581
4582 Mon Nov  3 14:36:50 1997  Jeffrey A Law  (law@cygnus.com)
4583
4584         * configure.in (sco5): Use cpio to install header files.
4585
4586 Sun Nov  2 23:31:43 1997  Manfred Hollstein  <manfred@s-direktnet.de>
4587
4588         * aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to
4589         14 char length.
4590         * configure: Rebuild.
4591
4592 Sun Nov  2 19:44:00 1997  Robert Lipe (robertl@dgii.com)
4593
4594         * i386/sco5.h: enable -gstabs once again.
4595
4596 Sun Nov  2 19:27:21 1997  Jeffrey A Law  (law@cygnus.com)
4597
4598         * arm.c (output_move_double): Allocate 3 entries in otherops array.
4599
4600 Sat Nov  1 21:43:00 1997  Mike Stump  (mrs@wrs.com)
4601
4602         * except.c (expand_ex_region_start_for_decl): Emit EH_REGION_BEG
4603         notes for sjlj exceptions too.
4604         (expand_eh_region_end): Similarly for EH_REGION_END notes.
4605         (exception_optimize): Optimize EH regions for sjlj exceptions too.
4606         * final.c (final_scan_insn): Don't output labels for EH REGION
4607         notes if doing sjlj exceptions.
4608
4609 Sat Nov  1 19:15:28 1997  Jeffrey A Law  (law@cygnus.com)
4610
4611         * alias.c (init_alias_analysis): Handle -fno-alias-check when
4612         optimizing correctly.
4613
4614         * expr.c (expand_builtin_setjmp): Don't emit a SETJMP note
4615         or set current_function_calls_setjmp anymore.
4616
4617         * flow.c (find_basic_blocks): If we delete the label for an
4618         exception handler, remove it from the EH label list and remove
4619         the EH_BEGIN/EH_END notes for that EH region.
4620
4621 Sat Nov  1 16:44:49 1997  Jason Merrill  (jason@cygnus.com)
4622
4623         * flow.c (find_basic_blocks): Generate correct flow control
4624         information when exception handling notes are present.
4625
4626 Sat Nov  1 13:42:19 1997  Jeffrey A Law  (law@cygnus.com)
4627
4628         * dwarf2out.c (output_call_frame_info): Fix length argument
4629         to ASM_OUTPUT_ASCII.
4630         (output_die, output_pubnames, output_line_info): Likewise.
4631
4632 Fri Oct 31 07:10:09 1997  Jeffrey A Law  (law@cygnus.com)
4633
4634         * version.c: Bump for snapshot.
4635
4636         * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
4637         output ASCII by default.  Only use ASM_OUTPUT_DWARF_STRING if
4638         flag_debug_asm is on.
4639         (output_die, output_pubnames, output_line_info): Likewise.
4640
4641         * alias.c (init_alias_analysis): Add struct_value_incoming_rtx
4642         and static_chain_rtx into the potential base values array if
4643         they are registers.
4644
4645         * alias.c (new_reg_base_value): New array of potential base values.
4646         (unique_id): Now file scoped static.
4647         (find_base_value, case REG): Return the value in reg_base_value
4648         array for the REG if it exists.  Else, return the value from
4649         new_reg_base_value if copying args and REG is a hard register.
4650         (find_base_value, case PLUS): If either operand of the PLUS is
4651         a REG, try to get its base value.  Handle base + index and
4652         index + base.
4653         (record_set): Use new_reg_base_value instead of reg_base_value.
4654         (init_alias_analysis): Allocate space for new_reg_base_value too.
4655         Rework code to iterate over the insns propagating base value
4656         information until nothing changes.
4657
4658         * global.c (global_alloc): Free the conflict matrix after
4659         reload has finished.
4660
4661 Fri Oct 31 01:45:31 1997  Jason Merrill  <jason@yorick.cygnus.com>
4662
4663         * libgcc2.c (L_eh): Define __eh_pc.
4664         Replace __eh_type with generic pointer __eh_info.
4665
4666 Fri Oct 31 00:34:55 1996  J"orn Rennecke <amylaar@cygnus.co.uk>
4667
4668         * expr.c (expand_increment): When enqueing a postincrement for a MEM,
4669         use copy_to_reg if address is not a general_operand.
4670
4671 Fri Oct 31 00:16:55 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
4672
4673         * profile.c (output_func_start_profiler): Clear flag_inline_functions
4674         for the duration of the call to rest_of_compilation.
4675
4676 Thu Oct 30 14:40:10 1997  Doug Evans  <devans@canuck.cygnus.com>
4677
4678         * configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
4679         Set extra_parts.
4680         (sparc*-*-*): Recognize --with-cpu=v9.
4681         * sparc/elf.h: New file.
4682         * sparc/t-elf: New file.
4683
4684 Thu Oct 30 13:26:12 1997  Jeffrey A Law  (law@cygnus.com)
4685
4686         * mn10300.c (const_8bit_operand): New function.
4687         (mask_ok_for_mem_btst): New funtion.
4688         * mn10300.md (btst patterns with mem operands): Use new functions
4689         to avoid creating btst instructions with invalid operands.
4690
4691 Wed Oct 29 16:57:19 1997  Michael Meissner  <meissner@cygnus.com>
4692
4693         * rs6000/xm-sysv4.h: Include xm-linux.h instead of xm-svr4.h if we
4694         are running on PowerPC Linux.
4695
4696 Wed Oct 29 13:10:11 1997  Gavin Koch  <gavin@cygnus.com>
4697
4698         * config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
4699         if not previously defined.
4700
4701 Tue Oct 28 23:55:27 1997  Doug Evans  (devans@cygnus.com)
4702
4703         * function.c (assign_parms): Correct mode of stack_parm if
4704         entry_parm underwent a mode conversion.
4705
4706 1997-10-28  Brendan Kehoe  <brendan@lisa.cygnus.com>
4707
4708         * global.c (global_alloc): Use xmalloc instead of alloca for
4709         CONFLICTS, since max_allocno * allocno_row_words alone can be more
4710         than 2.5Mb sometimes.
4711
4712 Tue Oct 28 15:29:15 1997  Richard Henderson  <rth@cygnus.com>
4713
4714         * reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
4715         DEST for the spill, adjust mode of SRC to compensate.
4716
4717 Tue Oct 28 14:36:45 1997  Richard Henderson  <rth@cygnus.com>
4718
4719         * alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
4720         since any_memory_operand() allows pseudos during reload.
4721         (reload_inhi, reload_outqi, reload_outhi): Likewise.
4722
4723 Tue Oct 28 11:53:14 1997  Jim Wilson  <wilson@cygnus.com>
4724
4725         * m68k.md (btst patterns): Add 5200 support.
4726
4727 Tue Oct 28 11:58:40 1997  Toon Moene  <toon@moene.indiv.nluug.nl>
4728
4729         * fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
4730         optimizations, look inside dividend to determine if the expression
4731         can be simplified by using EXACT_DIV_EXPR.
4732
4733 Tue Oct 28 10:19:01 1997  Jason Merrill  <jason@yorick.cygnus.com>
4734
4735         From Brendan:
4736         * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
4737
4738 Tue Oct 28 00:32:14 1997  Richard Henderson  <rth@cygnus.com>
4739
4740         * alpha.c (summarize_insn [SUBREG]): Propogate SET.
4741
4742 Mon Oct 27 23:59:26 1997  Richard Henderson  <rth@cygnus.com>
4743
4744         * alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
4745         on a CLOBBER.
4746
4747 Mon Oct 27 21:25:20 1997  Richard Henderson  <rth@cygnus.com>
4748
4749         * alpha.md (movqi, movhi): Make sure new insns created during reload
4750         won't need reloading themselves.
4751         (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.
4752
4753 Mon Oct 27 16:11:10 1997  Jeffrey A Law  (law@cygnus.com)
4754
4755         * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
4756
4757 Sun Oct 26 13:50:44 1997  Richard Henderson  <rth@cygnus.com>
4758
4759         * alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
4760         Patch from Klaus Kaempf <kkaempf@progis.de>.
4761
4762 Sun Oct 26 13:31:47 1997  Jim Wilson  (wilson@cygnus.com)
4763
4764         * expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
4765         to an element in a constant string.
4766
4767 Sun Oct 26 11:41:49 1997  Jason Merrill  <jason@yorick.cygnus.com>
4768
4769         * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
4770         bit PC-relative offset.  The exception range table pointer is now in
4771         the CIE.
4772         * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
4773         (count_fdes, add_fdes, get_cie): Adjust.
4774         (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
4775
4776         From H.J. Lu:
4777         * frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
4778
4779 Sun Oct 26 11:52:01 1997  Richard Henderson  <rth@cygnus.com>
4780
4781         * alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
4782         like stack_pointer_rtx.
4783
4784 Sun Oct 26 11:32:16 1997  Manfred Hollstein  <manfred@s-direktnet.de>
4785
4786         * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
4787         targets using "$@" to provide support for similar but not identical
4788         targets without having to duplicate code.
4789         (bootstrap4): New goal.
4790
4791         * Makefile.in (compare, compare-lean, compare3): Combined to one
4792         ruleset determining actions to be performed via $@.
4793         (compare4, compare4-lean): New targets.
4794         (gnucompare, gnucompare3): Combined to one ruleset determining
4795         actions to be performed via $@. Also, note which files failed
4796         the comparison test in .bad_compare.
4797         (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.
4798
4799 Sun Oct 26 10:06:11 1997  Toon Moene  <toon@moene.indiv.nluug.nl>
4800
4801         * fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
4802         if the dividend is a multiple of the divisor.
4803
4804 Sun Oct 26 09:21:40 1997  Jeffrey A Law  (law@cygnus.com)
4805
4806         * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
4807
4808         * alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC,
4809         and POS_DEC.
4810
4811         * alias.c (true_dependence): Fix typo.
4812
4813         * toplev.c (flag_rerun_loop_opt): New variable.
4814         (f_options): Handle -frerun-loop-opt.
4815         (rest_of_compilation): If -frerun-loop-opt, then run the loop
4816         optimizer twice.
4817         (main): Enable -frerun-loop-opt by default for -O2 or greater.
4818
4819         * loop.c (simplify_giv_expr): Adding two invariants results
4820         in an invariant.
4821
4822 Sun Oct 26 09:15:15 1997  Richard Henderson  <rth@cygnus.com>
4823
4824         * expr.c (get_inner_reference): Remove the array bias after 
4825         converting the index to Pmode.
4826
4827 Sat Oct 25 12:20:58 1997  Jeffrey A Law  (law@cygnus.com)
4828
4829         * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
4830         (TARGET_MULT_BUG): Define.
4831         (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
4832         * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
4833
4834 Fri Oct 24 17:40:34 1997  Jeffrey A Law  (law@cygnus.com)
4835
4836         * mn10200.c (indirect_memory_operand): Delete unused function.
4837         * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
4838         * mn10200.md (bset, bclr insns): Handle output in a reg too.
4839
4840 Fri Oct 24 15:54:57 1997  Richard Henderson  <rth@cygnus.com>
4841
4842         * alpha.md (call patterns): Revert Oct 16 change; if we are to elide
4843         the callee's ldgp, we must do it ourselves, and we use the jsr tag
4844         for more than scheduling.
4845
4846 Fri Oct 24 13:23:04 1997  Doug Evans  <devans@canuck.cygnus.com>
4847
4848         * sparc/sparc.h (ASM_SPEC): Delete asm_arch.
4849
4850 Fri Oct 24 13:19:40 1997  Jeffrey A Law  (law@cygnus.com)
4851
4852         * mn10300.c (symbolic_operand, legitimize_address): New functions.
4853         * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
4854         (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
4855
4856 Thu Oct 23 09:35:12 1997  Jeffrey A Law  (law@cygnus.com)
4857
4858         * version.c: Bump for snapshot.
4859
4860 Thu Oct 23 08:03:59 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
4861
4862         * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
4863         for FILENAME.
4864
4865 Wed Oct 22 00:34:12 1997  Jeffrey A Law  (law@cygnus.com)
4866
4867         * toplev.c (flag_exceptions): Default value is 2.
4868         (compile_file): If flag_exceptions still has the value 2, then
4869         set it to 0.
4870
4871         * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
4872         (rs6000_save_machine_status): Save pic_offset_table_rtx.
4873         (rs6000_restore_machine_status: Restore pic_offset_table_rtx.
4874
4875         * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
4876         are shared.
4877
4878         * rs6000.md (*movsi_got_internal_mem): New pattern.
4879         (*movsi_got_internal_mem splitter): New define_split.
4880
4881 Tue Oct 21 18:14:03 1997  Jim Wilson  <wilson@cygnus.com>
4882
4883         * obstack.h (obstack_empty_p): Fix spurious space after backslash.
4884
4885 Tue Oct 21 18:34:01 1997  Geoffrey KEATING  <geoffk@ozemail.com.au>
4886
4887         * rs6000.c: Avoid creating a stack frame under SYSV ABI if we
4888         only need to save LR.
4889
4890 Tue Oct 21 10:06:40 1997  Jeffrey A Law  (law@cygnus.com)
4891
4892         * mn10300.md (movqi, movhi): Avoid using address registers as
4893         destinations unless absolutely necessary.
4894
4895         * mn10200.c (expand_prologue): Fix typo.
4896
4897         * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
4898         addresses.
4899         * mn10200.md (neghi2): Provide an alternative which works if
4900         the input and output register are the same.
4901
4902         * mn10300.c (print_operand): Handle 'S'.
4903         * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
4904         shift amount in last alternative
4905
4906         * mn10300.c (expand_epilogue): Rework to handle register restores
4907         in "ret" and "retf" instructions correctly.
4908
4909 Mon Oct 20 16:47:08 1997  Jim Wilson  <wilson@cygnus.com>
4910
4911         * expmed.c (extract_bit_field): Don't make flag_force_mem disable
4912         extzv for memory operands.
4913
4914         * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
4915         redundant conditional moves to single operand.
4916
4917 Mon Oct 20 15:30:26 1997  Nick Clifton  <nickc@cygnus.com>
4918
4919         * v850.h: Move define of __v850__ from CPP_PREDEFINES
4920         to CPP_SPEC.
4921         
4922         * xm-v850.h: Use __v850 rather than __v850__ to
4923         identify v850 port.
4924
4925 Mon Oct 20 14:15:02 1997  Jim Wilson  <wilson@cygnus.com>
4926
4927         * mips/mips.c (compute_frame_size): Not a leaf function if
4928         profile_flag set.
4929
4930 Mon Oct 20 14:16:38 1997  Geoffrey KEATING  <geoffk@ozemail.com.au>
4931
4932         * rs6000/t-ppccomm: Use -msdata=none for crtstuff.
4933
4934 Mon Oct 20 12:28:17 1997  Doug Evans  <devans@canuck.cygnus.com>
4935
4936         * sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
4937         (DEFAULT_ARCH32_P): New macro.
4938         (TARGET_ARCH{32,64}): Allow compile time or runtime selection.
4939         (enum cmodel): Declare.
4940         (sparc_cmodel_string,sparc_cmodel): Declare.
4941         (SPARC_DEFAULT_CMODEL): Provide default.
4942         (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
4943         (TARGET_FULLANY): Deleted.
4944         (TARGET_CM_MEDMID): New macro.
4945         (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
4946         (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
4947         (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
4948         (CPP_SPEC): Rewrite.
4949         (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
4950         (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
4951         (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
4952         (ASM_SPEC): Add %(asm_arch).
4953         (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
4954         Rename asm_default to asm_cpu_default.
4955         Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
4956         cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
4957         (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
4958         ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
4959         (MASK_INT64,MASK_LONG64): Delete.
4960         (MASK_ARCH64): Renamed to MASK_64BIT.
4961         (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
4962         (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
4963         (TARGET_SWITCHES): Always provide 64 bit options.
4964         (ARCH64_SWITCHES): Delete.
4965         (TARGET_OPTIONS): New option -mcmodel=.
4966         (INT_TYPE_SIZE): Always 32.
4967         (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
4968         (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
4969         (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
4970         (PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
4971         * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
4972         CPP_SPEC.
4973         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
4974         * sparc/linux.h: Likewise.
4975         * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
4976         (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
4977         (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
4978         (SPARC_DEFAULT_CMODEL): Define.
4979         (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
4980         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
4981         (LONG_DOUBLE_TYPE_SIZE): Define.
4982         (ASM_SPEC): Add %(asm_arch).
4983         * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
4984         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
4985         (TARGET_CPU_DEFAULT): Add ultrasparc case.
4986         * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
4987         (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
4988         (SPARC_DEFAULT_CMODEL): Define.
4989         * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
4990         (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.  Delete
4991         MASK_LONG64, MASK_MEDANY.
4992         (SPARC_DEFAULT_CMODEL): Define.
4993         (CPP_PREDEFINES): Delete.
4994         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
4995         (ASM_SPEC): Add %(asm_arch).
4996         (LONG_DOUBLE_TYPE_SIZE): Define.
4997         (DWARF2_DEBUGGING_INFO): Define.
4998         * sparc/splet.h (CPP_SPEC): Delete.
4999         * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
5000         (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
5001         (BLOCK_PROFILER): Likewise.
5002         * sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
5003         (sparc_override_options): Handle code model selection.
5004         (sparc_init_expanders): Renamed from sparc64_init_expanders.
5005         * sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
5006         TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
5007         (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
5008         (sethi_di_fullany): Delete.
5009
5010 Mon Oct 20 02:00:18 1997  Klaus Kaempf <kkaempf@progis.de>
5011                           Jeff Law <law@cygnus.com>
5012                           Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5013
5014         * alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
5015         (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
5016         (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
5017         (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
5018         * alpha/alpha.md (arg_home): Likewise.
5019
5020         * alpha/alpha.c (vmskrunch): Delete
5021         * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.
5022         * alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
5023         truncate to 64 characters.
5024
5025         * make-l2.com: Support openVMS/Alpha.
5026
5027         * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.
5028
5029 Sun Oct 19 19:00:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
5030
5031         * longlong.h (count_leading_zeros): Add missing casts to USItype.
5032
5033 Sun Oct 19 18:44:06 1997  Jeffrey A Law  (law@cygnus.com)
5034
5035         * i386/bsd386.h (ASM_COMMENT_START): Define.
5036
5037 Sat Oct 18 13:47:15 1997  Jason Merrill  <jason@yorick.cygnus.com>
5038
5039         * tree.c (restore_tree_status): Also free up temporary storage
5040         when we finish a toplevel function.
5041         (dump_tree_statistics): Print stats for backend obstacks.
5042
5043 Sat Oct 18 12:47:31 1997  Doug Evans  <dje@canuck.cygnus.com>
5044
5045         * expr.c (use_group_regs): Don't call use_reg for MEMs.
5046
5047 Sat Oct 18 09:49:46 1997  Jason Merrill  <jason@yorick.cygnus.com>
5048
5049         * libgcc2.c (__throw): Don't copy the return address.
5050         * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
5051
5052         * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
5053         * toplev.c (main): Initialize exceptions_via_longjmp.
5054
5055         * tree.c: Add extra_inline_obstacks.
5056         (save_tree_status): Use it.
5057         (restore_tree_status): If this is a toplevel inline obstack and we
5058         didn't want to save anything on it, recycle it.
5059         (print_inline_obstack_statistics): New fn.
5060         * function.c (pop_function_context_from): Pass context to 
5061         restore_tree_status.
5062         * obstack.h (obstack_empty_p): New macro.
5063
5064 Sat Oct 18 00:43:59 1997  Jeffrey A Law  (law@cygnus.com)
5065
5066         * i386/freebsd.h (ASM_COMMENT_START): Fix.
5067
5068 Fri Oct 17 23:48:52 1997  Jim Wilson  (wilson@cygnus.com)
5069
5070         * v850.c (ep_memory_offset): New function.
5071         (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
5072
5073         * v850.h (CONST_OK_FOR_*): Add and correct comments.
5074         (CONSTANT_ADDRESS_P): Add comment.
5075         (EXTRA_CONSTRAINT): Define 'U'.
5076         * v850.md: Add comments on bit field instructions.
5077         (addsi3): Delete &r/r/r alternative.  Add r/r/U alternative.
5078         (lshrsi3): Use N not J constraint. 
5079
5080         * v850.md (v850_tst1+1): New define_split for tst1 instruction.
5081
5082         * v850.c (reg_or_0_operand): Call register_operand.
5083         (reg_or_int5_operand): Likewise.
5084         * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
5085         (TARGET_SWITCHES): Add "big-switch".
5086         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
5087         ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
5088         (CASE_DROPS_THROUGH): Comment out.
5089         (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
5090         * v850.md (cmpsi): Delete compare mode.
5091         (casesi): New pattern.
5092
5093         * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
5094         * v850.md (ashlsi3): Use SImode not QImode for shift count.
5095         (lshrsi3): Likewise.
5096
5097         * v850.c (print_operand): Add 'c', 'C', and 'z' support.  Delete
5098         unreachable switch statement after 'b' support.  Remove "b" from
5099         strings for 'b' support.
5100         * v850.md (branch_normal, branch_invert): Change %b to b%b.
5101
5102 Fri Oct 17 23:33:20 1997  Jeffrey A Law  (law@cygnus.com)
5103
5104         * Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
5105         empty line if @inhibit_libc@ is empty.
5106
5107 Fri Oct 17 23:24:40 1997  Robert Lipe (robertl@dgii.com)
5108
5109         * i386/sco5.h: Let ELF use dwarf2 unwinding.  COFF uses sjlj.
5110         (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
5111         (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
5112         (DWARF2_UNWIND_INFO): Let this track object file format.
5113         (EXTRA_SECTIONS): Add in_eh.
5114         (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
5115         (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
5116
5117 Fri Oct 17 17:13:42 1997  David S. Miller  <davem@tanya.rutgers.edu>
5118
5119         * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
5120         * sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
5121         TARGET_MEDANY.
5122         * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
5123         (output_double_int): Output DI mode values correctly when
5124         HOST_BITS_PER_WIDE_INT is 64.
5125         (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
5126         fmovd so it works if a quad float ends up in one of the upper 32
5127         float regs.
5128         * sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
5129         necessary for PIC support on sparc64.
5130
5131 Fri Oct 17 13:39:56 1997  Doug Evans  <dje@canuck.cygnus.com>
5132
5133         * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
5134         * sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
5135         (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
5136         (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
5137         (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
5138         (SPARC_FP_ARG_FIRST): New macro.
5139         (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
5140         (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
5141         (NPARM_REGS): There are 32 fp argument registers now.
5142         (FUNCTION_ARG_REGNO_P): Likewise.
5143         (FIRST_PARM_OFFSET): Update to new v9 abi.
5144         (REG_PARM_STACK_SPACE): Define for arch64.
5145         (enum sparc_arg_class): Delete.
5146         (sparc_arg_count,sparc_n_named_args): Delete.
5147         (struct sparc_args): Redefine and use for arch32 as well as arch64.
5148         (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
5149         (FUNCTION_ARG_ADVANCE): Rewrite.
5150         (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
5151         (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
5152         (FUNCTION_ARG_CALLEE_COPIES): Delete.
5153         (FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
5154         (STRICT_ARGUMENT_NAMING): Define.
5155         (doublemove_string): Declare.
5156         * sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
5157         (single_move_string): Use GEN_INT, and HOST_WIDE_INT.
5158         (doublemove_string): New function.
5159         (output_move_quad): Clean up some of the arch64 support.
5160         (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
5161         Don't add 8 bytes of reserved space if arch64.
5162         (sparc_builtin_saveregs): Combine arch32/arch64 versions.
5163         (init_cumulative_args): New function.
5164         (function_arg_slotno): New static function.
5165         (function_arg,function_arg_partial_nregs): New functions.
5166         (function_arg_{pass_by_reference,advance}): New functions.
5167         (function_arg_padding): New function.
5168         * ginclude/va-sparc.h: Rewrite v9 support.
5169
5170 Fri Oct 17 12:29:48 1997  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
5171
5172         * regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
5173         for hard regs to determine base and index registers.
5174
5175         * reload.c (debug_reload_to_stream): New function.  Specify stream
5176         into which to write debug info.
5177         (debug_reload): Modify to call debug_reload_to_stream with stderr.
5178
5179 Thu Oct 16 15:07:51 1997  Richard Henderson  <rth@cygnus.com>
5180
5181         * combine.c (can_combine_p): Don't combine with an asm whose
5182         output is a hard register.
5183
5184 Thu Oct 16 15:43:26 1997  Mike Stump  (mrs@wrs.com)
5185
5186         * c-decl.c (start_struct): Ensure that structs with forward
5187         declarations are in fact packed when -fpack-struct is given.
5188
5189         * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
5190         we are packing a structure.  This allows a structure with only
5191         bytes to be aligned on a byte boundary and have no padding on a
5192         m68k.
5193
5194 Thu Oct 16 15:17:54 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5195
5196         * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
5197
5198 Thu Oct 16 11:20:30 1997  Richard Henderson  <rth@cygnus.com>
5199
5200         * alpha.c (alpha_return_addr_rtx): New variable.
5201         (alpha_save_machine_status): New; save it.
5202         (alpha_restore_machine_status): New; restore it.
5203         (alpha_init_expanders): New; clear it.
5204         (alpha_return_addr): New; set it.
5205         (alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
5206         is overly conservative, so search the insns explicitly.
5207         (alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
5208         (alpha_sa_size [VMS && !VMS]): Likewise.
5209         * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
5210         (INIT_EXPANDERS): New definition.
5211         
5212         * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
5213         (output_prolog [!VMS]): Use them.
5214
5215         * alpha.c (output_prolog [!VMS]): Move gp detection to ...
5216         (alpha_does_function_need_gp): ... a new function.  Refine the 
5217         CALL_INSN test to just TYPE_JSR.
5218         * alpha.md (most call insns): Fix some jsr/ibr type transpositions.
5219
5220 Thu Oct 16 09:36:47 1997  Jeffrey A Law  (law@cygnus.com)
5221
5222         * version.c: Bump for snapshot.
5223
5224 Wed Oct 15 21:38:18 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5225
5226         * pa.c (move_operand): Respect -mdisable-indexing.
5227         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
5228
5229 Wed Oct 15 21:34:45 1997  David Edelsohn  <edelsohn@mhpcc.edu>
5230
5231         * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
5232         PPC601.
5233         (umulsidi3,umulsi3_highpart): Ditto.
5234         (smulsi3_highpart_no_mq): Add !TARGET_POWER.
5235
5236 Wed Oct 15 18:21:46 1997  Richard Henderson  <rth@cygnus.com>
5237
5238         * alpha.c (final_prescan_insn): Gut, remove and transform to ...
5239         (alpha_handle_trap_shadows): ... a new function.  Handle the entire
5240         function in one go.  Emit RTL for trapb, instead of printf directly.
5241         (alpha_reorg): New function.  Call alpha_handle_trap_shadows.
5242         (trap_pending): Kill global variable.
5243         (output_epilog): Don't call final_prescan_insn.
5244         (struct shadow_summary): Elide $31 and $f31; now it fits in a word.
5245         * alpha.h (FINAL_PRESCAN_INSN): Remove.
5246         (MACHINE_DEPENENT_REORG): Define.
5247         * alpha.md (jsr patterns with trapb): Stupid and useless.  Kill.
5248         (trapb): New insn.
5249
5250 Wed Oct 15 18:16:05 1997  Richard Henderson  <rth@cygnus.com>
5251
5252         Tune Haifa scheduler for Alpha:
5253         * alpha.h (ISSUE_RATE): Define.
5254         * alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
5255         EV4 adjustments to EV5.
5256         * alpha.md: Remove all scaling from function unit delays.  Rework
5257         EV5 function units to match the CPU.
5258         (umuldi3_highpart): EV5 added the IMULH insn class.
5259
5260 Wed Oct 15 17:42:41 1997  Jeffrey A Law  (law@cygnus.com)
5261
5262         * pa.c (following_call): Fail if the CALL_INSN is an indirect
5263         call.
5264
5265 Tue Oct 14 12:01:00 1997  Mark Mitchell  <mmitchell@usa.net>
5266
5267         * cplus-dem.c (demangle_signature): Don't look for return types on
5268         constructors.  Handle member template constructors.
5269
5270 Tue Oct 14 11:30:29 1997  Jason Merrill  <jason@yorick.cygnus.com>
5271
5272         * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
5273         * tree.h: Declare them.
5274
5275 Fri Oct 10 13:46:56 1997  Doug Evans  <dje@canuck.cygnus.com>
5276
5277         * configure.in: Handle --with-newlib.
5278         * Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
5279
5280         * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
5281
5282 Wed Oct  8 14:37:44 1997  Jeffrey A Law  (law@cygnus.com)
5283
5284         * config/ptx4.h: Fix typo.
5285
5286 Wed Oct  8 08:57:20 1997  Jeffrey A Law  (law@cygnus.com)
5287
5288         * version.c: Bump for snapshot.
5289
5290 Tue Oct  7 16:27:34 1997  Manfred Hollstein  <manfred@s-direktnet.de>
5291
5292         * aclocal.m4: Substitute INSTALL.
5293         * configure: Re-built.
5294
5295 Tue Oct  7 15:37:35 1997  Jeffrey A Law  (law@cygnus.com)
5296
5297         * integrate.c (save_for_inline_copying): Avoid undefined pointer
5298         operations.
5299         (expand_inline_function): Likewise.
5300
5301         * dwarf2out.c (output_call_frame_info): Reinstate last change
5302         using flag_debug_asm check instead of flag_verbose_asm.
5303
5304 Tue Oct  7 12:57:26 1997  Jim Wilson  <wilson@cygnus.com>
5305
5306         * dwarf2out.c (output_call_frame_info): Remove last change.
5307
5308 1997-10-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
5309
5310         * frame.c (__frame_state_for): Execute the FDE insns until the
5311         current pc value is strictly bigger than the target pc value.
5312
5313 Tue Oct  7 11:00:42 1997  Jason Merrill  <jason@yorick.cygnus.com>
5314
5315         * regclass.c (init_reg_modes): If we can't find a mode for the 
5316         register, use the previous one.
5317
5318 Tue Oct  7 10:55:34 1997  Richard Henderson  <rth@cygnus.com>
5319
5320         * haifa-sched.c (print_block_visualization): Call fprintf directly,
5321         don't sprintf through an alloca'ed buffer.
5322
5323 Tue Oct  7 10:52:29 1997  Thomas Koenig (ig25@rz.uni-karlsruhe.de)
5324
5325         * reload.c (decompose): Always initialize val.base.
5326
5327 Tue Oct  7 10:19:26 1997  Manfred Hollstein  (manfred@lts.sel.alcatel.de)
5328
5329         * m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment
5330         instead of aborting.
5331         * dwarf2out.c (output_call_frame_info): Call app_enable and
5332         app_disable to let GNU as accept the generated comments.
5333
5334 Tue Oct  7 11:41:21 1997  Michael Meissner  <meissner@cygnus.com>
5335
5336         * tree.h (get_file_function_name): Add declaration.
5337         * dwarf2out.c (output_call_frame_info): No need to cast
5338         get_file_function_name call anymore.
5339         * profile.c (toplevel): Remove get_file_function_name
5340         declaration.
5341         * c-lang.c (finish_file): Ditto.
5342
5343 Tue Oct  7 10:01:45 1997  Chip Salzenberg <chip@rio.atlantic.net>
5344
5345         * Makefile.in (program_transform_name): Let autoconf substitute
5346         the correct value.
5347
5348 Tue Oct  7 09:54:35 1997  Jeffrey A Law  (law@cygnus.com)
5349
5350         * haifa-sched.c (schedule_block): If the first real insn in a
5351         block has any special notes attached to it, remove them.
5352
5353 Tue Oct  7 09:48:51 1997  Richard Henderson  <rth@cygnus.com>
5354
5355         * alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
5356
5357 Mon Oct  6 12:47:32 1997  Manfred Hollstein  (manfred@lts.sel.alcatel.de)
5358
5359         * m88k.c (m88k_begin_prologue): Remove superfluous backslash.
5360
5361 Mon Oct  6 12:04:24 1997  Jeffrey A Law  (law@cygnus.com)
5362
5363         * Makefile.in (check-g77): New test target.
5364         (CHECK-TARGETS): Add check-g77.
5365
5366 Fri Oct  3 11:56:36 1997  Jason Merrill  <jason@yorick.cygnus.com>
5367
5368         * toplev.c (rest_of_compilation): Defer all non-nested inlines.
5369
5370 Fri Oct  3 15:49:27 1997  Michael Meissner  <meissner@cygnus.com>
5371
5372         * flow.c (print_rtl_with_bb): Cast alloca return value for
5373         in_bb_p.
5374
5375 Thu Oct  2 21:15:03 1997  Richard Henderson  <rth@cygnus.com>
5376
5377         * i386.h (RETURN_ADDR_RTX): New definition that works for 
5378         __builtin_return_address(0) and -fomit-frame-pointer.
5379
5380 Wed Oct  1 13:43:53 1997  Jim Wilson  <wilson@cygnus.com>
5381
5382         Bring over from FSF.
5383         Tue Aug  5 16:10:45 1997  Jason Merrill  <jason@yorick.cygnus.com>
5384
5385         * mips.c (function_arg): Handle passing a struct 
5386         containing a double in a DFmode register without the PARALLEL.
5387
5388 Wed Oct  1 11:13:25 1997  Ian Lance Taylor  <ian@cygnus.com>
5389
5390         * pexecute.c: Use spawn if __CYGWIN32__.
5391
5392         * pexecute.c: Include "config.h" first, as per autoconf manual
5393         (from Paul Eggert  <eggert@twinsun.com>).
5394
5395 Wed Oct  1 01:44:36 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
5396
5397         * m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
5398         optimisation for f/expr.o and f/stb.o.
5399
5400 Tue Sep 30 23:48:57 1997  Jeffrey A Law  (law@cygnus.com)
5401
5402         * cse.c (this_insn_cc0_mode): Initialize.
5403
5404 Tue Sep 30 23:09:40 1997  Thomas Koenig <ig25@mvmap66.ciw.uni-karlsruhe.de>
5405
5406         * cccp.c (expand_to_temp_buffer): Initialize all members of obuf.
5407
5408         * haifa-sched.c (get_block_head_tail): Remove unneeded initialization.
5409
5410 Tue Sep 30 23:06:43 1997  Richard Henderson  <rth@cygnus.com>
5411
5412         * alpha.md (beq): For registers and ints 0-255, use cmpeq+bne, since
5413         that pair will dual-issue on the 21164 and plus+beq won't.
5414         (bne): Likewise for cmpeq+beq.
5415
5416 Tue Sep 30 16:07:58 1997  Jim Wilson  <wilson@cygnus.com>
5417
5418         * except.c (find_exception_handler_labels): Correct argument to free.
5419
5420 Tue Sep 30 11:00:00 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
5421
5422         * except.c (find_exception_handler_labels): Free LABELS when we're
5423         done.
5424
5425 Mon Sep 29 14:04:35 1997  Jeffrey A Law  (law@cygnus.com)
5426
5427         * version.c: Bump for snapshot.
5428
5429 Mon Sep 29 10:51:53 1997  Jason Merrill  <jason@yorick.cygnus.com>
5430
5431         * flow.c (find_basic_blocks): Mark calls as potentially jumping
5432         to the EH labels.
5433
5434 Mon Sep 29 09:58:06 1997  Jeffrey A Law  (law@cygnus.com)
5435
5436         * configure.in: Substitute for "install" too.
5437         * configure: Rebuilt.
5438
5439 Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
5440
5441         * Makefile.in (bootstrap-lean, compare-lean): New targets.
5442
5443 Mon Sep 29 00:18:16 1997  Richard Henderson  (rth@cygnus.com)
5444
5445         * alias.c (base_alias_check): Two symbols can conflict if they
5446         are accessed via AND.
5447         (memrefs_conflict_p): Likewise.
5448
5449         * alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
5450         after flushing argument registers to the stack.
5451
5452         * Makefile.in (mostlyclean): Remove .regmove files.
5453
5454 Sun Sep 28 18:59:58 1997  Jason Merrill  <jason@yorick.cygnus.com>
5455
5456         * libgcc2.c (__throw): Fix thinko.
5457
5458 Sun Sep 28 12:00:52 1997  Mark Mitchell  <mmitchell@usa.net>
5459
5460         * cplus-dem.c (demangle_template): Add new parameter.  Handle new
5461         template-function mangling.
5462         (consume_count_with_underscores): New function.
5463         (demangle_signature): Handle new name-mangling scheme.
5464
5465 Sun Sep 28 01:55:04 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
5466
5467         * flow.c (print_rtl_with_bb): Cast alloca return values for variables
5468         start and end.
5469
5470 Sun Sep 28 01:05:16 1997  Jeffrey A Law  (law@cygnus.com)
5471
5472         * frame.c: Remove last change.
5473         * dwarf2.h: Remove last change.
5474         * tree.h: Add declarations of DWARF2 unwind info support
5475         functions.
5476
5477 Sat Sep 27 11:02:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
5478
5479         * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
5480         * tree.h (built_in_function): Likewise.
5481         * expr.c (expand_builtin): Likewise.
5482         * except.h: Likewise.
5483         * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
5484         * libgcc2.c (copy_reg): New fn.
5485         (__throw): Use it.
5486
5487 Fri Sep 26 08:54:59 1997  Paul Eggert  <eggert@twinsun.com>
5488
5489         * c-typeck.c (build_binary_op): Warn about comparing signed vs
5490         unsigned if -W is specified and -Wno-sign-compare is not.
5491         * c-decl.c (warn_sign_compare): Initialize to -1.
5492         (c_decode_option): -Wall no longer implies -Wsign-compare.
5493
5494 Fri Sep 26 09:00:13 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
5495
5496         * frame.c: Include gansidecl.h for PROTO.
5497         * dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
5498         defined.  Don't declare dwarf2out_cfi_label here.
5499         * dwarf2.h: Add declarations of DWARF2 unwind info support
5500         functions.
5501         * m68k.c: Include dwarf2.h.
5502         (output_function_prologue): Add dwarf2 support.
5503         * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
5504         (INCOMING_FRAME_SP_OFFSET): Likewise.
5505
5506         * integrate.c (expand_inline_function): Make sure there is at
5507         least one insn that can be used as an insertion point.
5508
5509 Wed Sep 24 21:34:06 1997  Jason Merrill  <jason@yorick.cygnus.com>
5510
5511         * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
5512
5513 Wed Sep 24 22:05:30 1997  Jeffrey A Law  (law@cygnus.com)
5514
5515         * version.c: Bump for snapshot.
5516
5517 Wed Sep 24 17:36:23 1997  Doug Evans  <dje@canuck.cygnus.com>
5518
5519         Bring over from FSF.
5520
5521         Wed Sep 24 19:17:08 1997  Doug Evans  <dje@cygnus.com>
5522
5523         * sparc/sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
5524         (get_pc_via_rdpc): Renamed from get_pc_sp64.
5525         * sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
5526
5527         Wed Sep 24 18:38:22 1997  David S. Miller  <davem@tanya.rutgers.edu>
5528
5529         * sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
5530         (TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
5531         -malign-functions=.
5532         (sparc_align_{loops,jumps,funcs}_string): Declare.
5533         (sparc_align_{loops,jumps,funcs}): Declare.
5534         (DEFAULT_SPARC_ALIGN_FUNCS): New macro.
5535         (FUNCTION_BOUNDARY): Use sparc_align_funcs.
5536         (STACK_BIAS): Define.
5537         (SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform
5538         test.
5539         (SPARC_SETHI_P): New macro.
5540         (CONST_OK_FOR_LETTER_P): Use it.
5541         (ASM_OUTPUT_ALIGN_CODE): Define.
5542         (ASM_OUTPUT_LOOP_ALIGN): Define.
5543         * sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
5544         (sparc_align_{loops,jumps,funcs}): New globals.
5545         (sparc_override_options): Handle -malign-loops=, -malign-jumps=,
5546         -malign-functions=.
5547         (move_operand): Use SPARC_SETHI_P.
5548         (arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
5549         perform test.
5550         (arith11_double_operand): Likewise.
5551         (arith10_double_operand): Likewise.
5552         (finalize_pic): Finish sparc64 support.
5553         (emit_move_sequence): Use SPARC_SETHI_P.  Simplify low part of
5554         64 bit constants if able.
5555         (output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
5556         (sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
5557         ! TARGET_FPU.
5558         * sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
5559         (get_pc_sp32): Use for sparc64 as well.
5560         (lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
5561         (sethi_di_sp64_const): Likewise.
5562         (movtf_cc_sp64): Check TARGET_HARD_QUAD.
5563         (cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
5564         (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
5565
5566         Tue Sep 23 19:02:46 1997  Doug Evans  <dje@cygnus.com>
5567
5568         * sparc/linux-aout.h (COMMENT_BEGIN): Delete.
5569         * sparc/linux.h (COMMENT_BEGIN): Likewise.
5570         * sparc/linux64.h (COMMENT_BEGIN): Likewise.
5571
5572         Tue Sep 23 14:48:18 1997  David S. Miller  <davem@tanya.rutgers.edu>
5573
5574         Add sparc64 linux support.
5575         * configure.in (sparc64-*-linux*): Recognize.  Add sparc/xm-sparc.h
5576         to xm_file list on 32-bit sparc-linux.
5577         * sparc/xm-sp64.h: New file.
5578         * sparc/linux64.h: New file.
5579         * sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
5580         Don't include xm-sparc.h.
5581         * config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
5582         * glimits.h (LONG_MAX): Handle sparc64.
5583
5584         Sat Sep 20 03:07:54 1997  Doug Evans  <dje@cygnus.com>
5585
5586         * sparc/sysv4.h (ASM_COMMENT_START): Delete.
5587         * sparc.h (ASM_COMMENT_START): Define.
5588         * sparc.c (output_function_prologue): Use it.
5589         (sparc_flat_output_function_{epi,pro}logue): Likewise.
5590
5591         Wed Sep 17 15:04:19 1997  Doug Evans  <dje@cygnus.com>
5592
5593         * sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
5594         use sparc.h's copies.
5595         * sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print
5596         ascii form as well.
5597
5598         Mon Sep  8 08:45:19 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5599
5600         * sparc.c (dwarf2out_cfi_label): Add declaration.
5601         (save_regs, output_function_prologue): Remove cast for it.
5602         (sparc_flat_{save_restore,output_function_prologue): Likewise.
5603         ({save,restore}_regs): No longer inline.
5604
5605 Tue Sep 23 12:34:51 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5606
5607         * fold-const.c (make_range): Correctly handle cases of converting
5608         from unsigned to signed type.
5609
5610 Tue Sep 23 12:34:51 1997  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
5611
5612         * fold-const.c (merge_ranges): Make sure that if one range is subset
5613         of another, it will always be the second range.  Correct (+,-) case to
5614         account for this.
5615
5616 Tue Sep 23 08:32:51 1997  Jason Merrill  <jason@yorick.cygnus.com>
5617
5618         * final.c (final_end_function): Also do dwarf2 thing if
5619         DWARF2_DEBUGGING_INFO.
5620         (final_start_function): Likewise.
5621
5622 Tue Sep 23 01:15:50 1997  David S. Miller  <davem@tanya.rutgers.edu>
5623
5624         * expmed.c (expand_divmod): If compute_mode is not the same as
5625         mode, handle the case where convert_modes() causes op1 to no
5626         longer be a CONST_INT.
5627
5628         * reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
5629         note holding get_jump_flags() calculation to all JUMP_INSNs.
5630         * rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
5631         * rtl.c (reg_note_name): Add new note types.
5632
5633 Tue Sep 23 00:59:54 1997  Jeffrey A Law  (law@cygnus.com)
5634
5635         * rtlanal.c (computed_jump_p): Fix typo in last change.
5636
5637 Tue Sep 23 00:42:44 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
5638
5639         * loop.c (indirect_jump_in_function_p): Return 0
5640         by default.
5641
5642 Tue Sep 23 00:33:55 1997  Jeffrey A Law  (law@cygnus.com)
5643
5644         * rs6000/xm-rs6000.h: Fix thinko in last change.
5645         * rs6000/xm-sysv4.h: Likewise.
5646
5647 Mon Sep 22 19:33:53 1997  Jim Wilson  <wilson@cygnus.com>
5648
5649         * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
5650
5651 Mon Sep 22 14:41:00 1997  Jeffrey A Law  (law@cygnus.com)
5652
5653         * reg-stack.c (find_blocks): Fix thinko in last change.
5654
5655 1997-09-21  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
5656
5657         * m68k.c (output_function_prologue): Add dwarf2 support.
5658
5659         * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
5660         INCOMING_FRAME_SP_OFFSET): New definitions.
5661  
5662 Mon Sep 22 11:36:42 1997  David S. Miller  <davem@tanya.rutgers.edu>
5663
5664         * combine.c (try_combine): Use NULL_RTX instead of '0' where
5665         appropriate in calls to gen_rtx().
5666         * cse.c (cse_main): Likewise.
5667         * emit-rtl.c (gen_label_rtx): Likewise.
5668         * expr.c (init_expr_once): Likewise.
5669         * haifa-sched.c (flush_pending_lists, sched_analyze_insn,
5670         sched_analyze, init_rgn_data_dependences,
5671         compute_block_backward_dependences): Likewise.
5672         * sched.c (schedule_insns): Likewise.
5673         * varasm.c (immed_double_const): Likewise.
5674
5675         * sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
5676         SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
5677
5678 Mon Sep 22 11:21:33 1997  J. Kean Johnston  <jkj@sco.com>
5679
5680         * i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
5681         (MULTILIB_DEFAULTS): Define.
5682         (ASM_SPEC, CPP_SPEC): Handle -mcoff.
5683         (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
5684         (LIBGCC_SPEC): Likewise.
5685         (MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
5686         (SUBTARGET_SWITCHES): Add -mcoff and -melf.
5687         * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
5688         (CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
5689         (EXTRA_PARTS, TAROUTOPTS): Delete.
5690         (libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
5691         (MULTILIB_OPTIONS): Define.
5692         (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
5693         (MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
5694
5695 Mon Sep 22 02:10:43 1997  Jeffrey A Law  (law@cygnus.com)
5696
5697         * version.c: Bump for snapshot.
5698
5699 Sun Sep 21 17:45:45 1997  Jeffrey A Law  (law@cygnus.com)
5700
5701         * loop.c (loop_number): Delete function.  Change all references
5702         to use uid_loop_num array.
5703         * loop.h (loop_number): Delete declaration.
5704         * unroll.c (unroll_loop): Change "loop_number" references to
5705         use uid_loop_num instead.
5706
5707         * loop.c (loop_unroll_factor): Move outside #ifdef HAIFA
5708         conditional.
5709         (loop_unroll_iter): Remove unused variable and all references.
5710         (loop_optimize): Always allocate and clear space for loop_unroll_factor.
5711         (insert_bct): Fix minor formatting problems.
5712         * loop.h (loop_unroll_factor): Move decl outside #ifdef HAIFA.
5713         (loop_unroll_iter): Removed unused decl.
5714         * unroll.c (unroll_loop): Remove code to set loop_unroll_iter.
5715         Always record the unrolling factor.
5716
5717         * cse.c (simplify_relational_operation): Set h0u just like h0s.
5718         Similarly for h1u and h1s.
5719
5720         * flow.c (jmp_uses_reg_or_mem): Deleted unused function.
5721         (find_basic_blocks): Use computed_jump_p to determine if a
5722         particular JUMP_INSN is a computed jump.
5723         * reg-stack.c (find_blocks): Use computed_jump_p to determine
5724         if a particular JUMP_INSN is a computed jump.
5725         * rtlanal.c (jmp_uses_reg_or_mem): New function.
5726         (computed_jump_p): Likewise.
5727         * rtl.h (computed_jump_p): Declare.
5728         * genattrtab.c (pc_rtx): Define and initialize.
5729         * loop.c (loop_optimize): Always determine if the current
5730         function has a computed jump.
5731         (indirect_jump_in_function_p): Use computed_jump_p to determine
5732         if a particular JUMP_INSN is a computed jump.
5733
5734         * loop.c (fix_bct_param): Delete unused function.
5735         (check_bct_param): Likewise.
5736
5737 Sat Sep 20 16:22:06 1997  Jason Merrill  <jason@yorick.cygnus.com>
5738
5739         * frame.c (__deregister_frame): Check properly for initialized object.
5740
5741 Fri Sep 19 20:51:03 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
5742
5743         * alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
5744
5745 Fri Sep 19 18:53:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
5746
5747         * jump.c (thread_jumps): check can_reverse_comparison_p before
5748         threading a reversed-condition jump.
5749
5750         * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
5751         * haifa-sched.c (update_flow_info): Likewise.
5752
5753 Thu Sep 18 21:13:40 1997  Jeffrey A Law  (law@cygnus.com)
5754
5755         * Makefile.in (BOOT_CFLAGS): Use -O2.
5756
5757         * configure.in (strtoul, bsearch): Have autoconf check for these
5758         functions.
5759         * configure, config.in: Rebuilt.
5760
5761         * m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
5762         * mips/mips.h (alloca): Likewise.
5763         * rs6000/xm-rs6000.h (alloca): Likewise.
5764         * rs6000/xm-sysv4.h: Likewise.
5765
5766 Thu Sep 18 14:22:22 1997  Jason Merrill  <jason@yorick.cygnus.com>
5767
5768         * final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
5769         * dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
5770         (dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
5771
5772         * except.c (end_eh_unwinder): Subtract 1 from return address.
5773         * libgcc2.c (__throw): Likewise.
5774         (find_exception_handler): Don't change PC here.  Compare end with >.
5775
5776 Thu Sep 18 10:43:07 1997  Nick Clifton  <nickc@cygnus.com>
5777  
5778         * v850.c (compute_register_save_size): Correct register
5779         number.
5780         * v850.md (save_interrupt, return_interrupt): Correct
5781         register number.
5782         * v850/lib1funcs.asm (save_interrupt): Correct register number.
5783         (return_interrupt): Use stack pointer, not element pointer.
5784
5785 1997-09-18  Brendan Kehoe  <brendan@lisa.cygnus.com>
5786
5787         * configure.in, configure: Make sure to create the stage* and include
5788         symbolic links in each subdirectory.
5789
5790 Thu Sep 18 01:47:06 1997  Jeffrey A Law  (law@cygnus.com)
5791
5792         * pa.md (reload_peepholes): Don't allow addresses with side
5793         effects for the memory operand.
5794
5795 Wed Sep 17 18:19:53 1997  Jason Merrill  <jason@yorick.cygnus.com>
5796
5797         * libgcc2.c (find_exception_handler): Subtract one from our PC when
5798         looking for a handler, to avoid hitting the beginning of the next
5799         region.
5800
5801         * except.c (expand_builtin_set_return_addr_reg): Use force_operand.
5802
5803 Wed Sep 17 18:33:59 1997  Jeffrey A Law  (law@cygnus.com)
5804
5805         * mips/abi64.h (LONG_MAX_SPEC): Define.
5806         * mips.h (LONG_MAX_SPEC): Define.
5807         (CPP_SPEC): Include long_max_spec.
5808         (EXTRA_SPECS): Include long_max_spec.
5809
5810 Wed Sep 17 14:11:38 1997  Jeffrey A Law  (law@cygnus.com)
5811
5812         * v850.c (construct_save_jarl): Fix thinko in last change.
5813
5814 Wed Sep 17 09:53:07 1997  Jeffrey A Law  (law@cygnus.com)
5815
5816         * version.c: Bump for snapshot.
5817
5818 Tue Sep 16 14:22:36 1997  Jason Merrill  <jason@yorick.cygnus.com>
5819
5820         * libgcc2.c (find_exception_handler): Not found is -1.
5821
5822         * integrate.c (expand_inline_function): Move expand_start_bindings
5823         after expanding the arguments.
5824
5825 Tue Sep 16 11:13:46 1997  Jim Wilson  <wilson@cygnus.com>
5826
5827         * expr.c (expand_expr): Remove previous incorrect change.
5828         If target and slot has no DECL_RTL, then call mark_addressable
5829         again for the slot after we give it RTL.
5830
5831 Tue Sep 16 09:18:52 1997  Jason Merrill  (jason@cygnus.com)
5832
5833         * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
5834         again for the slot after we give it RTL.
5835
5836 Tue Sep 16 00:13:20 1997  Nick Clifton  <nickc@cygnus.com>
5837
5838         * v850.c (register_is_ok_for_epilogue,
5839         pattern_is_ok_for_epilogue, construct_restore_jr,
5840         pattern_is_ok_for_prologue, construct_save_jarl): New functions.
5841
5842         * v850.h (pattern_is_ok_for_prologue,
5843         pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New
5844         predicates.
5845
5846         * v850.md: Replace prologue and epilogue patterns with a
5847         match_parallel pattern.
5848
5849 Mon Sep 15 22:53:01 1997  Jeffrey A Law  (law@cygnus.com)
5850
5851         * aclocal.m4: Add replacement for AC_PROG_INSTALL.
5852         * configure.in: Use EGCS_PROG_INSTALL.
5853
5854 Mon Sep 15 22:40:55 1997  Jim Wilson  (wilson@cygnus.com)
5855
5856         * dwarf2out.c (gen_subprogram_die): Handle redefinition of an
5857         extern inline function.
5858
5859 Mon Sep 15 22:40:55 1997  Richard Henderson  (rth@cygnus.com)
5860
5861         * dwarf2out.c (reg_loc_descriptor): Fix prototype.
5862         (concat_loc_descriptor): New function.
5863         (loc_descriptor): Call it.
5864         (add_AT_location_description): Also elide the descriptor if both
5865         halves of a CONCAT are pseudos.
5866         (add_location_or_const_value_attribute): Recognize CONCAT too.
5867
5868 Mon Sep 15 15:24:00 1997  Richard Henderson  <rth@cygnus.com>
5869
5870         * alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.
5871
5872         * alpha/alpha.c (output_prolog): New variable sa_reg.  Use it for
5873         out-or-range reg_offset.
5874         (output_epilog): Likewise.
5875
5876 Mon Sep 15 15:39:26 1997  Jeffrey A Law  (law@cygnus.com)
5877
5878         * cse.c (simplify_relational_operation): If MODE specifies a
5879         mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
5880         is derived from the sign bit of the low word.
5881
5882 Mon Sep 15 11:43:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
5883
5884         Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
5885
5886         * dwarf2.h: Add DW_CFA_GNU_args_size.
5887         * frame.c (execute_cfa_insn): Likewise.
5888         * dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
5889         (dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
5890         (dwarf2out_frame_debug): If this isn't a prologue or epilogue
5891         insn, hand it off to dwarf2out_stack_adjust.
5892         (dwarf2out_begin_prologue): Initialize args_size.
5893         * frame.h (struct frame_state): Add args_size.
5894         * libgcc2.c (__throw): Use args_size.
5895         * final.c (final_scan_insn): If we push args, hand off all insns
5896         to dwarf2out_frame_debug.
5897         * defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
5898
5899         * dwarf2out.c dwarf2out_frame_debug): Fix typo.
5900         Handle epilogue restore of SP from FP.
5901         * emit-rtl.c (gen_sequence): Still generate a sequence if the 
5902         lone insn has RTX_FRAME_RELATED_P set.
5903
5904         * frame.c (extract_cie_info): Handle "e" augmentation.
5905         * dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
5906         absence of UNALIGNED_*_ASM_OP.
5907         (UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
5908         (output_call_frame_info): Use "e" instead of "z" for augmentation.
5909         Don't emit augmentation fields length.
5910         (dwarf2out_do_frame): Move outside of #ifdefs.
5911         * defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
5912         opcodes.
5913
5914         * sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
5915         * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
5916         * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
5917         * sparc/sun4gas.h: New file.
5918         * configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
5919
5920         * collect2.c (write_c_file_stat, write_c_file_glob): Declare 
5921         __register_frame_table and __deregister_frame.
5922
5923 1997-09-15  Brendan Kehoe  <brendan@cygnus.com>
5924
5925         * except.c (find_exception_handler_labels): Use xmalloc instead of
5926         alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
5927         in some cases.
5928
5929 Sun Sep 14 21:01:23 1997  Jeffrey A Law  (law@cygnus.com)
5930
5931         * Makefile.in: Various changes to build info files
5932         in the object tree rather than the source tree.
5933
5934 Sun Sep 14 12:24:30 1997  Jeffrey A Law  (law@cygnus.com)
5935
5936         * fixinc.math: New file to fix math.h on some systems.
5937         * configure.in (freebsd, netbsd): Use fixinc.math on these
5938         systems.
5939         * configure: Rebuilt.
5940
5941 Sun Sep 14 11:11:05 1997  Jeffrey A Law  (law@cygnus.com)
5942
5943         * regmove.c (regmove_optimize): If we end up moving the
5944         original insn due to lifetime overlaps, make sure to move
5945         REG_NOTES too.
5946
5947 Sat Sep 13 15:51:11 1997  Manfred Hollstein  <manfred@s-direktnet.de>
5948
5949         * Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure.
5950
5951 Sat Sep 13 12:57:26 1997  Jeffrey A Law  (law@cygnus.com)
5952
5953         * haifa-sched.c (add_branch_dependences): Make each insn in
5954         a SCHED_GROUP_P block explicitly depend on the previous insn.
5955
5956 Fri Sep 12 13:49:58 1997  Jason Merrill  <jason@yorick.cygnus.com>
5957
5958         * except.h: Prototype dwarf2 hooks.
5959         * expr.c: Adjust.
5960
5961 Thu Sep 11 17:43:55 1997  Jim Wilson  <wilson@cygnus.com>
5962
5963         * configure.in (native_prefix): Delete.
5964         (mips-dec-netbsd): Don't set prefix.
5965         (*linux*): Don't set prefix.
5966
5967 Thu Sep 11 15:48:32 1997  Fred Fish  <fnf@ninemoons.com>
5968
5969         * protoize.c: Include <varargs.h> only if HAVE_VARARGS_H is
5970         defined.  If not defined, include <sys/varargs.h> if
5971         HAVE_SYS_VARARGS_H is defined.
5972         * configure.in: Test for varargs.h and sys/varargs.h.
5973         * configure: Regenerate with autoconf.
5974         * config.in: Regenerate with autoheader.
5975
5976         * cpplib.c (quote_string): Cast first arg of sprintf call
5977         from "unsigned char *" to "char *".
5978         (output_line_command): Ditto.
5979         (macroexpand): Ditto.
5980         (do_line): Cast atoi arg from "unsigned char *" to "char *".
5981
5982 Wed Sep 10 21:37:30 1997  Jeffrey A Law  (law@cygnus.com)
5983
5984         * version.c: Bump for snapshot.
5985
5986         * Makefile.in (compare): Exit with nonzero status if there
5987         are comparison failures.  Note which files failed the
5988         comparison test in .bad_compare.
5989
5990 Wed Sep 10 17:05:46 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
5991
5992         * config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__ -D__pic__.
5993
5994 Wed Sep 10 16:37:28 1997  Fred Fish  <fnf@ninemoons.com>
5995
5996         * Makefile.in (LN, LN_S): New macros, use where appropriate.
5997         * aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New tests.
5998         * configure.in: Use GCC_PROG_LN_S and GCC_PROG_LN.
5999         * configure: Regenerated.
6000
6001 Thu Sep 11 11:09:43 1997  Jeffrey A Law  (law@cygnus.com)
6002
6003         * loop.c (strength_reduce): Fix typo.
6004
6005 Wed Sep 10 16:01:15 1997  Jim Wilson  <wilson@cygnus.com>
6006
6007         * m88k/m88k.c (struct option): Rename to struct options.
6008         * m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
6009         * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and comments.
6010         * libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
6011         __DOLPHIN__ or sysV88.
6012
6013 Wed Sep 10 14:58:40 1997  Jim Wilson  <wilson@cygnus.com>
6014
6015         * emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when
6016         create new subreg.
6017
6018 Wed Sep 10 15:19:22 1997  Jeffrey A Law  (law@cygnus.com)
6019
6020         * config.sub: Accept 'amigados' for backward compatability.
6021
6022 Wed Sep 10 14:05:08 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
6023
6024         * Makefile.in (testsuite/site.exp): New target.
6025         (check-gcc, check-g++): Depend on testsuite/site.exp.
6026         Don't stop for failure.
6027
6028 Wed Sep 10 12:59:57 1997  Jason Merrill  <jason@yorick.cygnus.com>
6029
6030         * expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
6031         if DWARF2_UNWIND_INFO.
6032
6033 Wed Sep 10 11:49:20 1997  Jason Merrill  <jason@yorick.cygnus.com>
6034
6035         Add support for exception handling using DWARF 2 frame unwind info.
6036         Currently works on SPARC and MIPS, and almost on x86.
6037         
6038         * libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
6039         next_stack_level, in_reg_window): Helper fns.
6040         (__throw): Implement for DWARF2_UNWIND_INFO.
6041
6042         * expr.c (expand_builtin): Handle builtins used by __throw.
6043         * tree.h (enum built_in_function): Add builtins used by __throw.
6044         * c-decl.c (init_decl_processing): Declare builtins used by __throw.
6045         * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
6046         * except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
6047         (expand_builtin_extract_return_addr): Likewise.
6048         (expand_builtin_frob_return_addr): Likewise.
6049         (expand_builtin_set_return_addr_reg): Likewise.
6050         (expand_builtin_eh_stub): Likewise.
6051         (expand_builtin_set_eh_regs): Likewise.
6052         (eh_regs): Choose two call-clobbered registers for passing back values.
6053
6054         * frame.c, frame.h: New files for parsing dwarf 2 frame info.
6055         * Makefile.in (LIB2ADD): New variable.  Add $(srcdir)/frame.c.
6056         (libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
6057         (stmp-multilib): Likewise.
6058         ($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
6059
6060         * except.c: #include "defaults.h".
6061         (exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
6062         (emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
6063         (register_exception_table_p): New fn.
6064         (start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
6065         (end_eh_unwinder): Likewise.
6066
6067         * crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP, 
6068         call __register_frame and __deregister_frame as needed.
6069         * varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
6070         * dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro.  Check
6071         EH_FRAME_SECTION_ASM_OP.
6072         * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
6073         * mips/iris6.h: (EH_FRAME_SECTION_ASM_OP): Define.
6074         (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
6075
6076         * dwarf2out.c (output_call_frame_info): If no support for
6077         EXCEPTION_SECTION, mark the start of the frame info with a
6078         collectable tag.
6079         * collect2.c (frame_tables): New list.
6080         (is_ctor_dtor): Recognise frame entries.
6081         (scan_prog_file): Likewise.
6082         (main): Pass -fno-exceptions to sub-compile.  Also do collection
6083         if there are any frame entries.
6084         (write_c_file_stat): Call __register_frame_table and
6085         __deregister_frame as needed.
6086         (write_c_file_glob): Likewise.
6087
6088         * defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.  
6089         Also require unaligned reloc support.
6090         * sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
6091         UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
6092         * sparc/sysv4.h: Not here.
6093
6094         * toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
6095         * dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
6096         (dwarf2out_finish): Don't call dwarf2out_frame_finish.
6097
6098         * libgcc2.c (L_eh): Reorganize, moving code shared by different
6099         EH implementations to the top.
6100         (find_exception_handler): Split out.  Start from 0.  Compare against
6101         end with >=.
6102         (__find_first_exception_table_match): Use it.
6103         * except.c (output_exception_table): Don't do anything if there's
6104         no table.  Don't output a first entry of zeroes.
6105         (eh_outer_context): Adjust properly.
6106         (add_eh_table_entry): Use xrealloc.
6107         * toplev.c (compile_file): Just call output_exception_table.
6108
6109 Wed Sep 10  11:30:36 1997  Jason Merrill  <jason@cygnus.com>
6110
6111         * i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
6112
6113 Wed Sep 10 08:17:10 1997  Torbjorn Granlund  <tege@pdc.kth..se>
6114
6115         * except.c (eh_outer_context): Do masking using expand_and.
6116
6117 Wed Sep 10 01:38:30 1997  Doug Evans  <dje@cygnus.com>
6118
6119         Add port done awhile ago for the ARC cpu.
6120         * arc/arc.h: New file.
6121         * arc/arc.c: New file.
6122         * arc/arc.md: New file.
6123         * arc/initfini.c: New file.
6124         * arc/lib1funcs.asm: New file.
6125         * arc/t-arc: New file.
6126         * arc/xm-arc.h: New file.
6127         * ginclude/va-arc.h: New file.
6128         * ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
6129         * ginclude/varargs.h: Likewise.
6130         * Makefile.in (USER_H): Add va-arc.h.
6131         * configure.in (arc-*-elf*): Recognize.
6132         * longlong.h: Add ARC support.
6133
6134 Wed Sep 10 01:32:54 1997  Jeffrey A Law  (law@cygnus.com)
6135
6136         * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
6137         when clearing non-BLKmode data.
6138
6139 Wed Sep 10 00:29:29 1997  Manfred Hollstein  <manfred@s-direktnet.de>
6140
6141         * m88k/sysv3.h (INITIALIZE_TRAMPOLINE) Define.
6142         * libgcc2.c (__enable_execute_stack): Provide for sysV88 too.
6143
6144         * xm-m88k.h (USG): Only define if it hasn't already been defined.
6145
6146         * Makefile.in (risky-stage1): Delete gratutious whitespace.
6147
6148         * Makefile.in (clean): Delete libgcc1-test.
6149
6150         * Makefile.in (INSTALL): cd to $(srcdir) before running texinfo.
6151
6152 Tue Sep  9 17:07:36 1997  Stan Cox  <coxs@dg-rtp.dg.com>
6153
6154         * m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
6155         template.
6156
6157 Tue Sep  9 09:50:02 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6158
6159         * dwarf2out.c (output_call_frame_info): Call named_section.
6160
6161 Tue Sep  9 09:12:17 1997  Jeffrey A Law  (law@cygnus.com)
6162
6163         * haifa-sched.c (print_value): Fix last change.
6164
6165 Tue Sep  9 01:30:37 1997  Jason Merrill  <jason@yorick.cygnus.com>
6166
6167         * mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
6168         write_symbols.
6169
6170 Mon Sep  8 16:32:43 1997  Jason Merrill  <jason@yorick.cygnus.com>
6171
6172         * mips.c (function_prologue): Set up the CFA when ABI_32.
6173
6174         * sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
6175         for dwarf2 unwind info.
6176         (output_function_prologue, sparc_flat_output_function_prologue): Same.
6177
6178         * final.c (final_end_function): Check dwarf2out_do_frame instead
6179         of DWARF2_DEBUG for dwarf2 unwind info.
6180         (final_scan_insn): Likewise.
6181         (final_start_function): Likewise.  Initialize dwarf2 frame debug here.
6182         (final): Not here.
6183
6184         * expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
6185         count > 0.
6186
6187         * varasm.c (exception_section): Check EXCEPTION_SECTION first.
6188
6189 Mon Sep  8 15:15:11 1997  Nick Clifton  <nickc@cygnus.com>
6190
6191         * v850.h (ASM_SPEC): Pass on target processor.
6192         (CPP_PREDEFINES): Only define if not already specified.
6193         (TARGET_VERSION): Only define if not already specified.
6194         (MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
6195         processor.
6196         (EXTRA_SWITCHES): Extra entries in the switches array.
6197         (TARGET_DEFAULT): Set default target processor.
6198
6199 Mon Sep  8 18:26:35 1997  Jim Wilson  <wilson@cygnus.com>
6200
6201         * m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In MOTOROLA
6202         cases, add %# and %/, and add : to make them into extended asms.
6203
6204 Sun Sep  7 23:57:50 1997  Weiwen Liu  <liu@hepunix.physics.yale.edu>
6205
6206         * alias.c (init_alias_analysis): Clean up incompatible pointer
6207         type warning in bzero.
6208         * regmove.c (regmove_optimize): Ditto.
6209         * haifa-sched.c (find_rgns): Ditto.
6210
6211         * haifa-sched.c (print_value): Clean up ptr->int cast
6212         warnings.
6213
6214 Sun Sep  7 23:18:32 1997  Fred Fish  <fnf@ninemoons.com>
6215
6216         * INSTALL: Change 'amigados' to 'amigaos' to match current usage.
6217         * install.texi (Configurations): Ditto.
6218         * config.sub: Ditto.
6219
6220 Sun Sep  7 22:56:56 1997  Weiwen Liu  (liu@hepvms.physics.yale.edu)
6221
6222         * Makefile.in (sdbout.o): Depend on insn-config.h.
6223
6224 Sun Sep  7 18:44:50 1997  Jim Wilson  <wilson@cygnus.com>
6225
6226         * m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
6227         For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
6228
6229 Sun Sep  7 18:30:46 1997  Jason Merrill  <jason@yorick.cygnus.com>
6230
6231         * dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
6232         prologue insn, only the first elt is significant.
6233         (output_call_frame_info): For exception handling, always use 4-byte
6234         fields as specified by the dwarf2 spec.
6235         Don't skip trivial FDEs.
6236
6237 Sun Sep  7 14:19:39 1997  Jeffrey A Law  (law@cygnus.com)
6238
6239         * version.c: Bump for snapshot.
6240
6241 Sun Sep  7 14:17:36 1997  Torbjorn Granlund  (tege@pdc.kth.se)
6242
6243         * expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp
6244         for negative constants.  Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR
6245         when op1_is_pow2.
6246
6247 Sun Sep  7 13:46:46 1997  Jeffrey A Law  (law@cygnus.com)
6248
6249         * final.c (shorten_branches): During first pass, assume worst
6250         possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
6251
6252         * Makefile.in (distclean): Remove various things left around
6253         by running the testsuite.
6254
6255 Sun Sep  7 13:16:06 1997  Manfred Hollstein  <manfred@s-direktnet.de>
6256
6257         * configure.in (out_file): Emit definition to config.status in order
6258         to have a defined value for configure.lang.
6259         * configure: Re-built.
6260
6261 Sun Sep  7 09:59:08 1997  Jan-Jaap van der Heijden (J.J.vanderHeijden@student.utwente.nl)
6262
6263         * configure.in: Make symlink to as-new rather than as.new.  Similarly
6264         for ld-new.
6265         * configure: Rebuilt.
6266
6267 Fri Sep  5 16:54:55 1997  Jim Wilson  <wilson@cygnus.com>
6268
6269         * profile.c (output_func_start_profiler): Set DECL_EXTERNAL to zero.
6270
6271 Fri Sep  5 16:16:44 1997  Christian Kuehnke  <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>
6272
6273         * sparc/sparc.md: Add ultrasparc scheduling support.
6274         * sparc/sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
6275
6276 Fri Sep  5 14:04:59 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
6277
6278         * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
6279         as initial value for real_label_map.
6280         (copy_for_inline): Likewise.
6281
6282 Fri Sep  5 13:36:44 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
6283
6284         * sched.c (update_flow_info) When looking if to set found_split_dest
6285         or found_orig_dest, look at all parts of a PARALLEL.
6286         * haifa-sched.c (update_flow_info): Likewise.
6287
6288 Fri Sep  5 10:08:44 1997  Jeffrey A Law  (law@cygnus.com)
6289
6290         * v850: New directory for v850 port.
6291         * v850/lib1funcs.asm: New file.
6292         * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
6293         * ginclude/va-v850.h: New file.
6294         * ginclude/varargs.h, ginclude/stdarg.h: Include va-mn10200.h.
6295         * configure.in (mn10200-*-*): New target.
6296         * configure: Rebuilt.
6297         * config.sub: Handle v850-elf.
6298         * Makefile.in (USER_H): Add va-mn10200.h. 
6299         * invoke.texi: Document v850 stuff.
6300
6301 Fri Sep  5 09:37:50 1997  Jim Wilson  (wilson@cygnus.com)
6302
6303         * sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
6304         has integer TYPE_{MAX,MIN}_VALUE before using them.
6305
6306         * m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
6307         __HPUX_ASM__ versions.
6308
6309 Fri Sep  5 09:08:44 1997  Jeffrey A Law  (law@cygnus.com)
6310
6311         * install.sh: Delete duplicate install script.
6312
6313 Thu Sep  4 23:14:27 1997  Stan Cox  (coxs@dg-rtp.dg.com)
6314
6315         * reg-stack.c (subst_stack_regs): Pop the stack register for a
6316         computed goto which sets the same stack register.
6317
6318         * reg-stack.c (compare_for_stack_reg): Swap only if the source and
6319         destination are both on the regstack.
6320         (subst_stack_regs_pat): Put the destination at the top of the regstack.
6321
6322 Thu Sep  4 15:02:27 1997  Jim Wilson  <wilson@cygnus.com>
6323
6324         * mips.md (nonlocal_goto_receiver): Define.
6325
6326         * profile.c (output_arc_profiler): Check next_insert_after for non
6327         NULL before deferencing it.
6328
6329         * i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
6330
6331 Thu Sep  4 14:51:57 1997  Jeffrey A Law  (law@cygnus.com)
6332
6333         * i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
6334
6335 Thu Sep  4 15:01:49 1997  Michael Meissner  <meissner@cygnus.com>
6336
6337         * toplev.c (rest_of_compilation): For passes starting with
6338         flow_analysis, use print_rtl_with_bb instead of print_rtl.
6339
6340         * print-rtl.c (print_rtl_single): Print a single rtl value to a
6341         file.
6342
6343         * flow.c (print_rtl_with_bb): Print which insns start and end
6344         basic blocks.  For the start of a basic block, also print the live
6345         information.
6346
6347 Thu Sep  4 11:51:43 1997  Jim Wilson  <wilson@cygnus.com>
6348
6349         * toplev.c (main): Change #elif to #else/#ifdef
6350
6351         * tlink.c: Include ctype.h.
6352         * ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
6353
6354 Thu Sep  4 11:17:16 1997  Mikeael Meissner  (meissner@cygnus.com)
6355
6356         * bitmap.c: Conditionally include stdlib.h.
6357         (free): Provide a declaration if NEED_DECLARATION_FREE.
6358
6359 Thu Sep  4 09:58:53 1997  Joel Sherrill  (joel@OARcorp.com)
6360
6361         * i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
6362
6363 Thu Sep  4 09:53:20 1997  Jim Wilson  (wilson@cygnus.com)
6364
6365         * profile.c (output_arc_profiler): Verify next_insert_after is an
6366         INSN before and after skipping a stack pop.
6367
6368 Thu Sep  4 07:39:19 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
6369
6370         * final.c (shorten_branches): Don't count the lengths of deleted
6371         instructions.
6372
6373 Thu Sep  4 09:43:01 1997  Jeffrey A Law  (law@cygnus.com)
6374
6375         * version.c: Bump for snapshot.
6376
6377 Thu Sep  4 11:04:21 1997  Michael Meissner  <meissner@cygnus.com>
6378
6379         * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
6380         two bitmaps ANDed together.
6381         (bitmap_print): Declare.
6382
6383         * bitmap.c (function_obstack): Don't declare any more.
6384         (bitmap_obstack): Obstack for allocating links from.
6385         (bitmap_obstack_init): New static to say whether to initialize
6386         bitmap_obstack.
6387         (bitmap_element_allocate): Use bitmap_obstack to allocate from.
6388         (bitmap_release_memory): Free all memory allocated from
6389         bitmap_obstack.
6390
6391         * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
6392         EXECUTE_IF_AND_IN_BITMAP.
6393
6394 Wed Sep  3 10:39:42 1997  Jim Wilson  <wilson@cygnus.com>
6395
6396         * alias.c (true_dependence): Address with AND can alias scalars.
6397         (anti_dependence, output_dependence): Likewise.
6398         
6399         * alias.c (true_dependence): Test x for BLKmode, in addition to mem.
6400
6401 Wed Sep  3 09:28:50 CDT 1997  Joel Sherrill (joel@OARcorp.com)
6402
6403         * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h,
6404           mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h,
6405           sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES
6406           definitions.  Use -qrtems instead of -mrtems.
6407
6408 Wed Sep  3 09:05:41 1997  Robert Lipe  (robert@dgii.com)
6409
6410         * xm-sco5.h (sys_siglist): Define.
6411         (SYS_SIGLIST_DECLARED): Likewise.
6412
6413 Tue Sep  2 23:33:33 1997  Jeffrey A Law  (law@cygnus.com)
6414
6415         * expr.c (convert_move): Handle truncation from TQFmode to QFmode.
6416
6417 Wed Sep  3 02:09:30 1997  Torbjorn Granlund  <tege@pdc.kth..se>
6418
6419         * except.c (eh_outer_context): Expand masking operation using
6420         expand_binop.
6421
6422 Tue Sep  2 18:09:39 1997  Jim Wilson  <wilson@cygnus.com>
6423
6424         * alpha.md (floatdisf2-1): New pattern.
6425
6426 Tue Sep  2 18:41:55 1997  Jeffrey A Law  (law@cygnus.com)
6427
6428         * xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
6429         * xm-news.h (SYS_SIGLIST_DECLARED): Likewise.
6430         * xm-sysv4.h (SYS_SIGLIST_DECLARED): Likewise.
6431         * gcc.texi: Note that if you define sys_siglist that you should
6432         also define SYS_SIGLIST_DECLARED.
6433
6434         * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
6435         are relative to the next instruction, not the current instruction.
6436
6437 Tue Sep  2 14:22:43 1997  Jim Wilson  <wilson@cygnus.com>
6438
6439         * local-alloc.c (contains_replace_regs): New function.
6440         (update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
6441         verify that there is no existing REG_EQUIV note, and add a call to
6442         contains_place_regs.
6443
6444 Tue Sep  2 12:48:11 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
6445
6446         * config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__ -D__pic__.
6447         (STARTFILE_SPEC): Always use crtbegin.o%s
6448         (ENDFILE_SPEC): Always use crtend.o%s.
6449
6450 Tue Sep  2 12:00:36 1997  Jim Wilson  <wilson@cygnus.com>
6451
6452         * alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
6453         is passed in.
6454         * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
6455         SFmode for 64 bit hosts.
6456         
6457 Tue Sep  2 13:42:38 1997  Paul N. Hilfinger  <hilfingr@CS.Berkeley.EDU>
6458
6459         * fixincludes: Permits spaces between # and define.  Discard C++
6460         comments in sys/pci.h on HP/UX 10.20.
6461
6462 Mon Sep  1 22:13:18 1997  Jeffrey A Law  (law@cygnus.com)
6463
6464         * version.c: Bump for snapshot.
6465
6466         * pa.c (restore_unscaled_index_insn_codes): New function.
6467         (record_unscaled_index_insn_codes): Likewise.
6468         (output_function_prologue): Call restore_unscaled_index_insn_codes.
6469         (output_function_epilogue): Free memory for unscaled_index_insn_codes.
6470         (pa_reorg): Call record_unscaled_index_insn_codes.
6471
6472         * haifa-sched.c (move_insn): Handle notes correctly for insns
6473         with SCHED_GROUP_P set.
6474         
6475 Mon Sep  1 16:58:57 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
6476
6477         * alpha/xm-linux.h (USE_BFD): Undef before define.
6478
6479 Mon Sep  1 16:25:34 1997  Jim Wilson  <wilson@cygnus.com>
6480
6481         * cse.c (cse_insn): Don't record BLKmode values.
6482
6483 Mon Sep  1 11:25:47 1997  Stephen Williams  (steve@icarus.icarus.com)
6484
6485         * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
6486
6487 Mon Sep  1 08:29:46 1997  Jeffrey A Law  (law@cygnus.com)
6488
6489         * cccp.c (sys_errlist): Remove special 4.4bsd declaration.
6490         * collect2.c (sys_errlist): Likewise.
6491         * cpplib.c (sys_errlist): Likewise.
6492         * gcc.c (sys_errlist): Likewise.
6493         * protoize (sys_errlist): Likewise.
6494         * configure.in: Check for strerror.
6495         * xm-freebsd.h (HAVE_STRERROR): Remove definition.
6496         * xm-gnu.h (HAVE_STRERROR): Likewise.
6497         * xm-linux.h (HAVE_STRERROR): Likewise.
6498         * xm-netbsd.h (HAVE_STRERROR): Likewise.
6499         * xm-bsd386.h (HAVE_STRERROR): Likewise.
6500         * xm-cygwin32.h (HAVE_STRERROR): Likewise.
6501         * xm-dos.h (HAVE_STRERROR): Likewise.
6502         * xm-mingw32.h (HAVE_STRERROR): Likewise.
6503         * xm-pa.h (HAVE_STRERROR): Likewise.
6504         * xm-papro.h (HAVE_STRERROR): Likewise.
6505         * xm-sysv4.h (HAVE_STRERROR): Likewise.
6506         * configure, config.in: Rebuilt.
6507
6508         * Makefile.in: Add several missing "else true" clauses.
6509
6510         * collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED.
6511         * mips-tfile.c: Likewise.
6512         * gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs.
6513         * xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
6514         * xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-sol2.h: Likewise.
6515         * configure.in: Check for sys_siglist declaration.
6516         * configure, config.in: Rebuilt.
6517
6518 Mon Sep  1 08:04:07 1997  Joel Sherrill (joel@OARcorp.com)
6519
6520         * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, 
6521         m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h,
6522         sparc/rtems.h (subtarget_switches): Added -mrtems as a switch.
6523         * i960/i960.h: Added SUBTARGET_SWITCHES macro.
6524         * rs6000/sysv4.h (extra_subtarget_switches): Added new
6525         macro EXTRA_SUBTARGET_SWITCHES.
6526         * configure.in (sh*-*-rtems*): New target.
6527         * sh/rtems.h: New file.
6528         * sh/sh.h: Added SUBTARGET_SWITCHES macro.
6529         * configure: Rebuilt.
6530
6531 Sat Aug 30 22:54:26 1997  Jim Wilson  <wilson@cygnus.com>
6532
6533         * unroll.c (calculate_giv_inc): Handle increment with code PLUS.
6534
6535 Sat Aug 30 10:49:46 1997  David Edelsohn  <edelsohn@mhpcc.edu>
6536
6537         * rs6000.md: Make DF fused-add operations pay attention to
6538         -mno-fused-add.
6539
6540 Fri Aug 29 19:19:54 1997  Jim Wilson  <wilson@cygnus.com>
6541
6542         * i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
6543
6544 Fri Aug 29 16:13:51 1997  Jeffrey A Law  (law@cygnus.com)
6545
6546         * pa.md (reload_peepholes): Make sure operand is a REG before
6547         examining REGNO.  Allow general registers too.
6548
6549 Fri Aug 29 11:42:04 1997  Jim Wilson  <wilson@cygnus.com>
6550
6551         * varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
6552
6553 Fri Aug 29 09:33:20 1997  Philipp Thomas  (kthomas@lxi165.gwdg.de)
6554
6555         * dwarf2out.c (build_abbrev_table): Use xrealloc, not xmalloc
6556         to reallocate abbrev_die_table.
6557
6558 Thu Aug 28 15:14:46 1997  Jim Wilson  <wilson@cygnus.com>
6559
6560         * m68k/m68k.md (iorsi_zexthi_ashl16): Disable.
6561
6562 1997-08-27  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
6563
6564         * Makefile.in (config.status): Depend on version.c
6565
6566         * expr.h (insn_gen_function): Reenable prototype.
6567
6568         * expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of
6569         first parameter.
6570
6571 Thu Aug 28 13:01:43 1997  Jim Wilson  <wilson@cygnus.com>
6572
6573         * i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
6574
6575 Thu Aug 28 07:03:15 1997  Jeffrey A Law  (law@cygnus.com)
6576
6577         * version.c: Bump for latest snapshot.
6578
6579         * bc-optab.c: Conditionally include stdlib.h.
6580         (free): Provide a declaration if NEED_DECLARATION_FREE.
6581         * tree.c (free): Provide a declaration if NEED_DECLARATION_FREE.
6582         * rtl.h (free): Remove declaration.
6583         * tree.h (free): Remvoe declaration.
6584
6585         * configure: Rebuilt.
6586
6587 Wed Aug 27 21:32:20 1997  Jeffrey A Law  (law@cygnus.com)
6588
6589         * flags.h (flag_move_all_movables): Declare.
6590         (flag_reduce_all_givs): Likewise.
6591         * loop.c (move_movables): Handle flag_move_all_movables.
6592         (strength_reduce): Handle flag_reduce_all_givs.
6593         * toplev.c (flag_move_all_movables): Define.
6594         (flag_reduce_all_givs): Likewise.
6595         (f_options): Add -fmove-all-movables and -freduce-all-givs.
6596         * invoke.texi: Document new options, including alias stuff that
6597         wasn't included last time.
6598
6599 Wed Aug 27 18:08:51 1997  Bob Manson  (manson@cygnus.com)
6600
6601         * t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
6602         * t-mn10200: Ditto.
6603         * t-vxsparc: Ditto.
6604         * t-vxworks68: Ditto.
6605         * t-vxworks960: Ditto.
6606         * t-vx29k: Ditto.
6607
6608 Wed Aug 27 16:35:29 1997  Richard Henderson  <rth@cygnus.com>
6609
6610         * alpha/xm-alpha.h (alloca): Define alloca to builtin_alloca for GNUC
6611         if not already defined, and USE_C_ALLOCA not defined.
6612
6613 Wed Aug 27 16:08:43 1997  Jim Wilson  <wilson@cygnus.com>
6614
6615         * config.guess: Replace with script that uses ../config.guess.
6616
6617         * config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
6618         if USE_GNULIBC_1 is not defined.
6619
6620 Wed Aug 27 15:49:12 1997  Richard Henderson  <rth@cygnus.com>
6621
6622         * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
6623         * config.guess: Recognize alpha-linux-gnulibc1.
6624         * configure.in (alpha-*-linux-gnulibc1): New target.
6625         (alpha-*-linux-gnu*): Don't build crtbegin/end.
6626
6627 Wed Aug 27 11:52:58 1997  Jim Wilson  <wilson@cygnus.com>
6628
6629         * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
6630         last change.
6631
6632 Wed Aug 27 01:56:18 1997  Doug Evans  <dje@seba.cygnus.com>
6633
6634         * loop.c (combine_movables): Earlier insns don't match later ones.
6635
6636 Wed Aug 27 01:24:25 1997  H.J. Lu   (hjl@gnu.ai.mit.edu)
6637
6638         * config/linux.h (CC1_SPEC): Define it only if not defined.
6639
6640         * config/m68k/linux.h (CC1_SPEC): Undefine it before include
6641         <linux.h>
6642
6643         * config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
6644         USE_GNULIBC_1 is not defined.
6645
6646         * config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New.  Defined as 1.
6647
6648         * config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
6649         as 1 if USE_GNULIBC_1 is not defined.
6650
6651 Wed Aug 27 00:49:14 1997  Jeffrey A Law  (law@cygnus.com)
6652
6653         * reorg.c (dbr_schedule): Allow current_function_return_rtx
6654         to be something other than a REG.
6655         * function.c (expand_function_end): Fix current_function_return_rtx
6656         if it was a pseudo.
6657
6658         * t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
6659         * x-netbsd: Likewise
6660         * x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS
6661         (INSTALL_HEADERS): Delete.
6662         * x-dguxbcs: Likewise.
6663         * x-hp3bsd44: Likewise
6664         * x-pa: Likewise.
6665
6666 Wed Aug 27 00:30:00 1997  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
6667
6668         * i386.md (pop): pop increments the stack pointer.
6669         (prologue_set_stack_ptr): New pattern.
6670         * i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
6671         instead of subsi3.
6672
6673 Tue Aug 26 18:50:32 1997  Jim Wilson  <wilson@cygnus.com>
6674
6675         * reload.c (find_reloads, case '0'): Reject matching a non-offsettable
6676         address where an offsettable address is required.
6677
6678 Tue Aug 26 17:54:56 1997  Michael P. Hayes  (michaelh@ongaonga.chch.cri.nz>
6679
6680         * loop.c (check_final_value): Don't miss a biv increment in a
6681         parallel.
6682
6683 Tue Aug 26 12:03:49 1997  Jim Wilson  (wilson@cygnus.com)
6684
6685         * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
6686         TYPE_DECL_IS_STUB instead of DECL_NAME.
6687
6688 Mon Aug 25 23:27:10 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
6689
6690         * objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
6691
6692 Mon Aug 25 23:27:10 1997  Jim Meyering <meyering@eng.ascend.com>
6693
6694         * objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
6695
6696 Mon Aug 25 13:12:24 1997  Jeffrey A Law  (law@cygnus.com)
6697
6698         * haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
6699         (find_post_sched_live): Likewise.
6700
6701         * haifa-sched.c (schedule_block): Remove old code to get arguments
6702         from hard regs into pseudos early.
6703
6704 Mon Aug 25 08:55:00 1997  Jeffrey A Law  (law@cygnus.com)
6705
6706         * version.c: Bump for new snapshot.
6707
6708         * local-alloc.c (update_equiv_regs): All the target to reject
6709         promotion of some REG_EQUAL to REG_EQUIV notes.
6710         * pa.h (DONT_RECORD_EQUIVALENCE): Define.
6711
6712         * pa.c (secondary_reload_class): (mem (mem ... )) does not need
6713         secondary reloads.
6714
6715         * pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
6716         store of the argument registers.
6717
6718 Mon Aug 25 08:39:02 1997  Craig Burley  (burley@gnu.ai.mit.edu)
6719
6720         * fold-const.c (multiple_of_p): New function.
6721         (fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
6722
6723 Mon Aug 25 01:47:41 1997  Jeffrey A Law  (law@cygnus.com)
6724
6725         * expr.h (insn_gen_function): Temporarily remove prototype.
6726
6727 Sun Aug 24 17:22:21 1997  Jim Wilson  <wilson@cygnus.com>
6728
6729         * Makefile.in (install-info): Don't cd into srcdir.  Add srcdir to
6730         filenames.  Use sed to extract base filename for install.
6731
6732 Sat Aug 23 18:19:40 1997  John F. Carr  <jfc@mit.edu>
6733
6734         * unroll.c (find_splittable_givs): Only share if two givs have the
6735         same add and multiply values.
6736
6737 Sat Aug 23 14:36:27 1997  Jim Wilson  <wilson@cygnus.com>
6738
6739         * m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
6740         * m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
6741
6742 Sat Aug 23 00:18:22 1997  Jeffrey A Law  (law@cygnus.com)
6743
6744         * pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
6745         around branch tables.
6746         * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
6747         and .end_brtab directives if TARGET_GAS.
6748
6749 Fri Aug 22 14:05:55 1997  Jim Wilson  <wilson@cygnus.com>
6750
6751         * alias.c (true_dependence): Pass x_addr not x to varies.
6752
6753         * acconfig.h (NEED_DECLARATION_CALLOC): Add.
6754         * configure.in: Add GCC_NEED_DECLARATION call for calloc.
6755         * rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
6756         declarations.
6757         * config.in, configure: Regenerate.
6758
6759 Thu Aug 21 23:52:16 1997  John F. Carr  <jfc@mit.edu>
6760
6761         * alias.c (find_base_value): Improve handling of PLUS, MINUS, and
6762         LO_SUM.
6763         (record_set): Handle LO_SUM like PLUS.
6764         (init_alias_analysis): When following chains of base addresses,
6765         do not stop on reaching a hard register.
6766
6767 Thu Aug 21 20:17:37 1997  Jeffrey A Law  (law@cygnus.com)
6768
6769         * version.c: Bump for new snapshot.
6770
6771 Thu Aug 21 17:28:00 1997  Jim Wilson  <wilson@cygnus.com>
6772
6773         * alpha.h (ARCH_ASM_FILE_START): Define.
6774         (ASM_FILE_START): Use ARCH_ASM_FILE_START.
6775         * osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string.
6776
6777 Thu Aug 21 10:22:19 1997  Jeffrey A Law  (law@cygnus.com)
6778
6779         * Makefile.in (install-common): Put gcov comment at start of line.
6780
6781 Wed Aug 20 22:47:33 1997  Jeffrey A Law  (law@cygnus.com)
6782
6783         * alias.c (init_alias_analysis): When simplifying the reg_base_value
6784         array, simplify entries for hard registers too.
6785
6786 Wed Aug 20 12:35:47 1997  Dave Love  <d.love@dl.ac.uk>
6787
6788         * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
6789         list.
6790
6791 Wed Aug 20 11:58:33 1997  Jim Wilson  <wilson@cygnus.com>
6792
6793         * stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test
6794         block_stack before dereferencing it.
6795
6796 Wed Aug 20 11:57:11 1997  Michael Meissner  <meissner@cygnus.com>
6797
6798         * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
6799
6800 Tue Aug 19 17:10:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
6801
6802         * cplus-dem.c: Add 'extern' to prepends_underscore.
6803
6804 Tue Aug 19 09:34:57 1997  Jeffrey A Law  (law@cygnus.com)
6805
6806         * haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
6807         (get_issue_rate): Delete.
6808         * pa.h (ISSUE_RATE): Define.
6809
6810         * configure.in: Turn on haifa by default for the PA.
6811         * configure: Rebuilt.
6812         * pa.c (override_options): Accept -mschedule=7200 option.
6813         (pa_adjust_cost): No longer need to scale costs for newer
6814         processors.
6815         * pa.h (enum processor_type): Add PROCESSOR_7200.
6816         * pa.md: Revamp scheduling parameters to work better with
6817         haifa.  Add scheduling parameters for the 7200.
6818
6819         * haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P
6820         insns too.
6821         (schedule_block): When adjusting basic_block_{head,end}, account
6822         for movement of SCHED_GROUP_P insns too.
6823
6824         * haifa-sched.c (debug_dependencies): Fix thinko.
6825
6826         * Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
6827         (site.exp, check, check-g++, check-gcc): New targets.
6828
6829         * haifa-sched.c: Make lots of variables static.
6830
6831 Tue Aug 19 07:18:34 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
6832
6833         * expr.h, real.h: Finish prototyping.
6834
6835 Mon Aug 18 21:49:02 1997  Jim Wilson  <wilson@cygnus.com>
6836
6837         * reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
6838         reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
6839         * reload1.c: Undo bugfix from Aug 11.
6840
6841 Mon Aug 18 17:39:02 1997  Mike Meissner  <meissner@cygnus.com>
6842
6843         * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
6844         quotes around the name.
6845         * configure: Regenerate.
6846
6847 Mon Aug 18 13:46:47 1997  Jim Wilson  <wilson@cygnus.com>
6848
6849         * Makefile.in (stmp-multilib-sub): Fix typo in last change.
6850
6851 Thu Aug  7 10:33:13 1997  Manfred Hollstein  <manfred@s-direktnet.de>
6852
6853         * Makefile.in (sub-makes): Pass the current value of LANGUAGES down
6854         to sub-makes to avoid building more passes than the user might have
6855         requested on the command line.
6856
6857 Sun Aug 17 15:42:17 1997  Dave Love  (d.love@dl.ac.uk)
6858
6859         * configure.in: Expurgate `broken_install' (install is
6860         autoconfed).
6861
6862         * configure.lang: Substitute autoconfed ${INSTALL} (not currently
6863         relevant).
6864
6865 Sat Aug 16 01:08:12 1997  Jeffrey A Law  (law@cygnus.com)
6866
6867         * loop.c (is_power_of_2, is_conditional_branch): Delete unused
6868         functions and declarations.
6869         (analyze_loop_iterations): Use condjump_p.
6870         (insert_bct): Likewise.  Use exact_log2.
6871         
6872 Fri Aug 15 23:48:32 1997  Jeffrey A Law  (law@cygnus.com)
6873
6874         * haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
6875         (schedule_region): Likewise.
6876         (schedule_insns): Likewise.
6877
6878         * PROJECTS: Update with Haifa stuff.
6879
6880 Fri Aug 15 12:49:56 1997  Jeffrey A Law  (law@cygnus.com)
6881
6882         * version.c: Change the version string to look like:
6883         egcs-2.90.00 970814 (gcc2-970802 experimental).
6884
6885         * loop.c (is_conditional_branch): Make definition match declaration.
6886
6887         * gcc.c: Take out experimental snapshot warning message.
6888
6889 Fri Aug 15 13:43:39 1997  Michael Meissner  <meissner@cygnus.com>
6890
6891         * haifa-sched.c (debug_dependencies): Use GET_NOTE_INSN_NAME to
6892         print out the names of the notes.  Print out the name of the insn
6893         that is not a note, and not an {,CALL_,JUMP_}INSN.
6894
6895 Wed Aug 13 17:32:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
6896
6897         * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
6898         again for the slot after we give it RTL.
6899
6900 Wed Aug 13 01:03:37 1997  Doug Evans  <dje@canuck.cygnus.com>
6901
6902         * configure.in (haifa configury): Fix typo.
6903         * configure: Regenerate.
6904
6905 Tue Aug 12 10:20:36 1997  Jeffrey A Law  (law@cygnus.com)
6906
6907         * version.c: Bump version to "gcc-3.0.0 970802 experimental".
6908
6909         * gcc.info*: Rebuilt.
6910
6911         * COPYING.g77, README.g77: New files.
6912         * real.c (ereal_unto_float, ereal_unto_double): New functions.
6913         * real.h (ereal_unto_float, ereal_unto_double): Declare them.
6914         (REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define.
6915
6916 Mon Aug 11 14:50:55 1997  Jeffrey A Law  (law@cygnus.com)
6917
6918         * Integrate Haifa instruction scheduler.
6919         * Makefile.in (ALL_CFLAGS): Add SCHED_CFLAGS.  Prefix all references
6920         to sched with $(SCHED_CFLAGS.
6921         * configure.in: Handle --enable-haifa.
6922         * configure: Rebuilt.
6923         * flags.h: Add new flags for haifa instruction scheduler.
6924         * genattrtab.c (expand_units): For haifa, don't subtract one
6925         when computing blockage.
6926         * toplev.h (flag_schedule_interblock): Haifa scheduler flag.
6927         (flag_schedule_speculative): Ditto.
6928         (flag_schedule_speculative_load): Ditto.
6929         (flag_schedule_speculative_load_dangerous): Ditto.
6930         (flag_schedule_reverse_before_reload): Ditto.
6931         (flag_schedule_reverse_after_reload): Ditto.
6932         (flag_branch_on_count_reg): Ditto.
6933         (f_options): Add Haifa switches.
6934         (main): Turn off some Haifa options if appropriate macro is
6935         defined.  Process Haifa switches.
6936         * unroll.c (iteration_info): No longer static, since Haifa
6937         scheduler uses it.
6938         (unroll_loop): Inform HAIFA scheduler about loop unrolling factor.
6939         * unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value.
6940         * loop.h (loop_unroll_factor, loop_number): Add HAIFA decls.
6941         * loop.h (loop_initial_value,loop_unroll_iter): New globals.
6942         * loop.c (loop_optimize): If HAIFA is defined, allocate additional
6943         storage for the Haifa scheduler.
6944         (mark_loop_jump): If HAIFA defined, set LABEL_OUTSIDE_LOOP_P and
6945         LABEL_NEXTREF.
6946         (strength_reduce): If HAIFA and HAVE_decrement_and_branch_on_count
6947         are defined, call analyze_loop_iterations and insert_bct to use
6948         countdown loops.
6949         (record_giv): Refine test for jumps out of loops if HAIFA is
6950         defined.
6951         (analyze_loop_iterations): New function to identify if we can use
6952         a countdown loop.
6953         (insert_bct): Insert countdown loop.
6954         (instrument_loop_bct): Low level code to insert countdown loop.
6955         (loop_number): Calculate UID of loop.
6956         (indirect_jump_in_function_p): Return true if an indirect jump is
6957         in the function.
6958         (is_power_of_2): Return true if value is a power of 2.
6959         (is_conditional_branch): Return true if insn is a conditional
6960         jump.
6961         (fix_bct_param): Process -fbct-{min,max}-N switches.
6962         (check_bct_param): Return true if loop should be instrumented.
6963         * loop.c (loop_initial_value,loop_unroll_iter): New globals.
6964         (loop_optimize): Initialize.
6965         (get_condition_for_loop): Ditto.
6966         * loop.c (strength_reduce): Inside of code that uses #ifdef
6967         HAVE_decrement_and_branch_on_count code, test it to make sure the
6968         condition is true.
6969         (instrument_loop_bct): Ditto.
6970         * haifa-sched.c: New file.
6971         
6972
6973         * Integrate regmove pass.
6974         * Makefile.in (OBJS): Add regmove.o
6975         (regmove.o): Add dependencies.
6976         * flow.c (find_use_as_address): No longer static.
6977         * rtl.h (find_use_as_address): Declare.
6978         * toplev.c (regmove_dump, flag_regmove): Define.
6979         (f_options): Add -fregmove.
6980         (regmove_dump_file, regmove_time): Define.
6981         (fatal_insn): Close the regmove dump file.
6982         (compile_file): Initialize regmove_time; open/close the regmove dump
6983         file as needed.  Print regmove time as needed.
6984         (rest_of_compilation): Run regmove pass if requested, dump
6985         RTL after regmove if requested.
6986         (main): If -O2 or more, turn on regmove.  Handle dump switches.
6987         * regmove.c: New file.
6988         
6989 Mon Aug 11 14:15:02 1997  Jeffrey A Law  (law@cygnus.com)
6990
6991         * Integrate tlink patch from jason@cygnus.com
6992         * gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
6993         (process_command): Increment n_switches for them.  Don't discard
6994         their args.  Validate them.
6995         (main): Escape " marks when creating COLLECT_GCC_OPTIONS.
6996         From Rohan Lenard.
6997         (process_command): Set include_prefixes from COMPILER_PATH.
6998         (main): Set COLLECT_GCC_OPTIONS sooner.
6999         * confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld.
7000         * tlink.c, hash.c, hash.h: New files.
7001         * Makefile.in (USE_COLLECT2): Always use collect2.
7002         (collect2): Depend on and link in hash.o and tlink.o.
7003         (tlink.o, hash.o): Add dependencies.
7004
7005 Mon Aug 11 10:04:49 1997  Jeffrey A Law  (law@cygnus.com)
7006
7007         * Integrate alias analysis changes from jfc@mit.edu
7008         * Makefile.in (OBJS): Add alias.o
7009         (alias.o): Add dependencies.
7010         * alias.c: New file.
7011         * sched.c: Remove alias analysis code.  It lives in alias.c now.
7012         (sched_analyze_2): Add new arguments to true_dependence.
7013         (schedule_insns): Always call init_alias_analysis.
7014         * calls.c (expand_call): Note calls to malloc, calloc, and realloc;
7015         mark return value from such functions as a pointer and keep track of
7016         them for alias analysis.  If a return value from a function is a
7017         pointer, mark it as such.
7018         * combine.c (distribute_notes): Handle REG_NOALIAS.
7019         * cse.c (struct write_data): Delete.  No longer needed.
7020         (invalidate): Don't call set_nonvarying_address_components anymore.
7021         Use true_dependence to decide if an entry should be removed from
7022         the hash table.
7023         (invalidate_memory): Remove WRITES argument, simplify appropriately.
7024         Fix all callers.
7025         (note_mem_written): Similarly for WRITE_PTR argument.
7026         (invalidate_from_clobbers): Similarly for W argument.
7027         (invalidate_for_call): Remove memory elements from the hash table.
7028         (refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
7029         (cse_rtx_varies_p): New function.  Derived from old
7030         cse_rtx_addr_varies_p.
7031         (cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
7032         Don't call note_mem_written anymore.  Stack pushes invalidate the stack
7033         pointer if PUSH_ROUNDING is defined.  No longer need to call
7034         cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
7035         (skipped_writes_memory): Remove variable.
7036         (invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
7037         (invalidate_skipped_block): Simplify for new alias analysis code.
7038         (cse_set_around_loop): Likewise.
7039         (cse_main): Call init_alias_analysis.
7040         * flags.h (flag_alias_check, flag_argument_noalias): Declare.
7041         * toplev.c (flag_alias_check, flag_argument_noalias): Define.
7042         (f_options): Add new alias checking arguments.
7043         (main): Set flag_alias_check when optimizing.
7044         * local_alloc (validate_equiv_mem_from_store): Add new arguments
7045         to true_dependence.
7046         (memref_referenced_p): Likewise.
7047         * loop.c (NUM_STORES): Increase to 30.
7048         (prescan_loop): Only non-constant calls set unknown_address_altered.
7049         (invariant_p): Add new arguments to true_dependence.
7050         (record_giv): Initialize unrolled and shared fields.
7051         (emit_iv_add_mult): Call record_base_value as needed.
7052         * loop.h (struct induction): Add unrolled and shared fields.
7053         * unroll.c  (unroll_loop): Call record_base_value as needed.
7054         (copy_loop_body): Likewise.
7055         (final_biv_value): Likewise.
7056         (final_giv_value): Likewise.
7057         (find_splittable_regs): Likewise.  Only create one new pseudo
7058         if we have multiple address GIVs that were combined with the same
7059         dst_reg GIV.  Note when a new register is created due to unrolling.
7060         * rtl.c (reg_note_name): Add REG_NOALIAS.
7061         * rtl.h (enum reg_note): Similarly.
7062         (rtx_varies_p, may_trap_p, side_effects_p): Declare.
7063         (volatile_refs_p, volatile_insn_p, remove_note): Likewise.
7064         (note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
7065         (true_dependence, read_dependence, anti_dependence): Likewise.
7066         (output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
7067         (mark_user_reg, mark_reg_pointer): Likewise.
7068
7069
7070         * Integrate reload bugfix from Wilon which enables the PA port
7071         to bootstrap again.
7072         * reload1.c (reload): Sum needs for both OPADDR_ADDR and and
7073         OPERAND_ADDRESS when computing how many registers an insn needs.
7074         (reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
7075         conflict.
7076         (reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like
7077         OPADDR_ADDR reload.
7078         (reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers
7079         in reload_reg_use_in_op_addr do not reach the end.
7080         do not reach the end.
7081         (reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
7082         RELOAD_FOR_OPERAND_ADDRESS.
7083
7084 Sun Aug 10 12:00:20 1997  Jeffrey A Law  (law@cygnus.com)
7085
7086         * egcs project officially starts.
7087