OSDN Git Service

* i386.c: Added include for recog.h.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 Wed Feb 11 01:30:49 1998  Marc Lehmann <pcg@goof.com>
2
3         * i386.c: Added include for recog.h. 
4         (override_options): Removed unused variable p. Initialized regno to
5         avoid warning.
6         (order_regs_for_local_alloc): Initialized regno to avoid warning.
7         (legitimize_address): Likewise for 'other'.
8         (i386_aligned_reg_p): Added default case with abort ().
9         (print_operand): Likewise.
10         (reg_mentioned_in_mem): Likewise.
11         (ix86_expand_binary_operator): Removed unused variables i & insn.
12         (ix86_expand_unary_operator): Removed unused variable insn.
13         (output_fp_cc0_set): Removed unused variable unordered_label.
14
15 Wed Feb 11 01:23:03 1998  John F. Carr  <jfc@mit.edu>
16
17         * i386.c, i386.h, i386.md: Change gen_rtx (X, ...) to gen_rtx_X (...).
18         Use GEN_INT instead of gen_rtx (CONST_INT). Make printf arguments
19         and format string match.
20
21 Wed Feb 11 01:17:39 1998  Jeffrey A Law  (law@cygnus.com)
22
23         * flow.c (life_analysis): Do not conside the stack pointer live at
24         the end of a function if the fucntio ncalls alloca.
25         (mark_used_regs): Similarly.
26
27 1998-02-10  John F Carr  <jfc@mit.edu>
28
29         * config/sparc/sparc.md (movdi_v8plus): Output stx on alternative
30         1, fzero on alternative 8.
31
32 Tue Feb 10 09:02:19 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
33
34         * rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p.
35
36 Tue Feb 10 03:35:43 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
37
38         * reload.c (find_reloads_toplev): Handle arbitrary non-paradoxical
39         SUBREGs of CONST_INTs.
40
41 Mon Feb  9 17:52:36 1998  John Carr  <jfc@mit.edu>
42
43         * mips.c (print_operand, function_prologue): Make printf format
44         match argument type.
45
46 Mon Feb  9 02:37:25 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
47
48         * alpha.c (alpha_return_addr): Remove unused variable `first'.
49         (alpha_ra_ever_killed): Remove unused variables `ra' and `i'.
50         (output_epilog): Remove unused variable `frame_size_from_reg_save'.
51
52 Sun Feb  8 14:56:03 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
53
54         * loop.c (strength_reduce): When placing increment for auto-inc
55         case, do comparison in loop order.
56         
57 Sun Feb  8 13:21:38 1998  John Carr  <jfc@mit.edu>
58
59         * bitmap.c (bitmap_debug_file): HOST_PTR_PRINTF converts a pointer,
60         not a HOST_WIDE_INT.
61
62         * calls.c (expand_call): Change test of expand_inline_function
63         return value to stop compiler warning.
64
65         * genattrtab.c (RTL_HASH): Cast pointer to long, not HOST_WIDE_INT.
66
67 Sun Feb  8 12:04:24 1998  Jim Wilson  (wilson@cygnus.com)
68                           Jeff Law (law@cygnus.com)
69
70         * regmove.c: Fix various minor formatting problems.
71         (optimize_reg_copy_1): Stop search at CALL_INSNs if flag_exceptions
72         is true.  Make end of basic block tests consistent through regmove.c.
73         (optimize_reg_copy_2, optimize_reg_copy_3): Likewise.
74         (fixup_match_2, fixup_match_1, regmove_optimize): Likewise.
75
76 Sun Feb  8 01:49:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
77
78         * gansidecl.h: Check for a conflicting macro definition before
79         attempting to prototype bcopy, bcmp or bzero.
80
81 Sun Feb  8 00:09:59 1998  Jeffrey A Law  (law@cygnus.com)
82
83         * expr.c (clear_pending_stack_adjust): Handle case where a function
84         calls alloca, but the user has specified -fomit-fframe-pointer.
85
86         * function.c (assign_parms): Fix typo in last change.
87
88 Sat Feb  7 23:54:29 1998   Robert Lipe  <robertl@dgii.com>
89
90         * gcc.c: Include <strings.h>/<string.h>, <stdlib.h>, <unistd.h>,
91         <fcntl.h>.
92         (free_path_suffix): Remove unreferenced static function.
93         (process_command): Remove unused variable temp.
94         (default_arg): Remove unused variable i.
95         (do_spec_1):  Add parens for assignment used as truth value.
96         (main): Likewise.
97         (validate_all_switches): Likewise.
98         (main): Remove unused variables i, first_time>
99
100         * c-common.c: Include <stdlib.h> and <string.h>/<strings.h>.
101
102         * calls.c (expand_call): Remove unused variables funtree,
103         n_regs, and tmpmode.
104
105         * dbxout.c, except.c: Include <string.h>/<strings.h>.
106
107         * explow.c: (plus_constant_for_output_wide) Removed unused
108         variable all_constant.
109
110         * c-decl.c, genattr.c, genattrtab.c, getconfig.c, genemit.c
111         genextract.c, genflags.c, genopinit.c genoutput.c, genpeep.c,
112         genrecog.c, global.c, integrate.c , stupid.c : Include
113         <stdlib.h>.
114
115         * genextract.c: (walk_rtx) Remove unused variable link.
116
117         * genrecog.c: (concat) Remove unreferenced static function.
118
119         * prefix.c: Include <string.h>/<strings.h>, <stdlib.h>
120
121         * stmt.c: Include <stdlib.h>.  
122         (expand_asm_operands): Remove unused variable val1.  
123         (expand_return): Remove unused variable block.
124         (pushcase): Remove unused variables l and n.
125         (pushcaserange): Likewise.
126
127         * unroll.c (unroll_loop): Remove unused variable temp.
128
129 Sat Feb  7 23:46:09 1998  Greg McGary  <gkm@gnu.org>
130
131         * c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only.
132
133 Sat Feb  7 15:11:28 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
134
135         * aclocal.m4 (GCC_FUNC_PRINTF_PTR): New macro to test the printf
136         functions for whether they support the %p format specifier.
137         * acconfig.h (HOST_PTR_PRINTF): Insert stub for autoconf.
138         * configure.in (GCC_FUNC_PRINTF_PTR): Use it.
139         * configure, config.in: Rebuild.
140
141 Fri Feb  6 14:20:16 1998  Jim Wilson  <wilson@cygnus.com>
142
143         * function.c (assign_parms): New variable named_arg, with value
144         depending on STRICT_ARGUMENT_NAMING.  Use instead of ! last_named.
145
146 Fri Feb  6 14:34:28 1998  Gavin Koch  <gavin@cygnus.com>
147
148         * mips/t-r3900: New - same as t-ecoff but eliminate 
149         multilibs: mips1 and mips3.
150         * configure.in (tx39*): Use new mips/t-r3900.
151         * configure: Rebuild.
152         * mips/r3900.h (MULTILIB_DEFAULTS): Eliminate mips1.
153
154 1998-02-06  Jason Merrill  <jason@yorick.cygnus.com>
155
156         * dwarf2out.c: Add old_args_size.
157         (dwarf2out_args_size): Use it.
158         (dwarf2out_begin_prologue): Initialize it.
159         (dwarf2out_stack_adjust): If !asynchronous_exceptions, save up
160         pushed args until we see a call.
161         * final.c (final_scan_insn): Hand CALL_INSNs off to the dwarf2 code
162         before outputting them.
163
164 1998-02-06  Kriang Lerdsuwanakij  <lerdsuwa@scf.usc.edu>
165
166         * cplus-dem.c (demangle_template_template_parm): New function.
167         (demangle_template): Handle template template parameters.
168
169 1998-02-02  Mark Mitchell  <mmitchell@usa.net>
170
171         * calls.c (expand_call): Don't confuse member functions named
172         realloc, setjmp, and so forth with the standard library
173         functions of the same names.
174
175 Thu Feb  5 21:59:49 1998  Jeffrey A Law  (law@cygnus.com)
176
177         * stmt.c (expand_asm_operands): Correctly identify asm statements
178         no output operands.
179
180 Thu Feb  5 21:56:06 1998  Mumit Khan  <khan@xraylith.wisc.edu>
181         
182         * c-common.c (decl_attributes): Flag unrecognized attribute
183         functions as warnings instead of as errors.
184
185 1998-02-05  Marc Lehmann  <pcg@goof.com>
186
187         * integrate.c (INTEGRATE_THRESHOLD): Inline only small functions
188         when -Os is specified.
189         * toplev.c (main): Don't disable flag_inline_functions anymore when
190         -Os is in effect.
191
192 Fri Feb  6 00:27:36 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
193
194         * regmove.c: Update.
195         * flags.h (flag_regmove): Declare.
196         * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Don't declare.
197         * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2):
198         Moved into regmove; changed caller.
199         * toplev.c (rest_of_compilation): Call regmove_optimize also for
200         expensive_optimizations.
201
202 Thu Feb 5 13:38:42 PST 1998 Jeff Law  (law@cygnus.com)
203
204         * version.c: Bump for snapshot.
205
206 Thu Feb  5 01:45:19 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
207         Undo this change (the problem was actually in reload):
208         Fri Jan 23 23:28:59 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
209
210           * sh.md (movqi_i+1): New peephole.
211
212 Tue Feb  3 01:11:12 1998  Jeffrey A Law  (law@cygnus.com)
213
214         * jump.c (jump_optimize): Lose calls to modified_in_p they are
215         not needed anymore due to changes elsewhere in jump.c.
216
217         * jump.c (jump_optimize): Fix first arg to modified_in_p in
218         previous change.
219
220 Mon Feb  2 19:18:14 1998  Richard Henderson  <rth@cygnus.com>
221
222         * expr.c (expand_builtin_setjmp): Accept two new arguments for
223         the labels to branch to on first and subsequent executions.  Don't
224         play with __dummy.  Rename `setjmp' insn to `builtin_setjmp_setup',
225         and provide it with the jmp_buf.  Use only one of
226         `builtin_setjmp_receiver' or `nonlocal_goto_receiver',
227         and provide the former with the target label.
228         (expand_builtin) [BUILTIN_SETJMP]: Generate a label for use by setjmp.
229         (expand_builtin) [BUILTIN_LONGJMP]: Split out to ...
230         (expand_builtin_longjmp): ... here.  Recognize a `builtin_longjmp'
231         insn to replace all of the normal nonlocal_goto code.  Don't play
232         with __dummy.  Correct arguments to nonlocal_goto.
233         * expr.h (expand_builtin_setjmp): Update prototype.
234         * except.c (start_dynamic_handler): When using builtin_setjmp,
235         generate more accurate flow information.
236
237         * alpha.md (nonlocal_goto_receiver_osf): Delete.
238         (nonlocal_goto_receiver_vms): Rename to nonlocal_goto_receiver.
239         (builtin_longjmp, builtin_setjmp_receiver): New.
240         * sparc.md (update_return): Disambiguate unspec number.
241         (nonlocal_goto): Rearrange arguments to match caller in except.c.
242         (builtin_setjmp_setup): Rename from setjmp.  Match and ignore the
243         jmp_buf operand.
244         * mips.md (nonlocal_goto_receiver, builtin_setjmp_receiver): Remove.
245         (builtin_setjmp_setup*, builtin_longjmp): New.
246
247 Mon Feb  2 16:43:10 1998  John Carr  <jfc@mit.edu>
248
249         * mips.md: Change gen_rtx (CONST_INT) to GEN_INT.
250
251 Mon Feb  2 13:06:47 1998  Jim Wilson  <wilson@cygnus.com>
252
253         * vmsconfig.com: Remove bytecode references.
254
255 1998-01-30  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
256
257         * dwarf2out.c (dwarf2out_frame_init): Undo last change, so that
258         -fno-sjlj-exceptions works for a target that defines
259         DWARF2_UNWIND_INFO as zero.
260
261         * regmove.c (fixup_match_1): Undo last change which removed some
262         "useless" code, and add a comment explaining this.
263
264 Mon Feb  2 10:47:14 1998  Gavin Koch  (gavin@cygnus.com)
265
266         * mips.c (mips_expand_prologue): Change uses of TARGET_64BIT
267         to TARGET_LONG64.
268
269 Mon Feb  2 10:38:41 1998  Klaus Kaempf  <kkaempf@progis.de>
270
271         * makefile.vms: Remove bytecode references.
272         Create genrtl files.
273
274 Mon Feb  2 02:08:04 1998  Michael P. Hayes  <michaelh@ongaonga.chch.cri.nz>
275
276         * jump.c (jump_optimize): Allow conditional loading of floating point
277         constants and constants from memory.  Reinstalled modified_in_p tests.
278
279 Mon Feb  2 01:38:39 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
280
281         * loop.c (get_condition): Handle sign-extended constants.
282
283 Mon Feb  2 01:22:46 1998  Hans-Peter Nilsson  <hp@axis.se>
284
285         * expr.c (emit_push_insn): Add code to use movstrti if present.
286
287         * expr.c (emit_push_insn): Use same max-move-amount for movstrhi
288         and movstrqi as in emit_block_move ().
289
290 Mon Feb  2 00:09:52 1998  Toon Moene  <toon@moene.indiv.nluug.nl>
291
292         * config/m68k/x-next: Remove /NextDeveloper/Headers from
293         the directories to fixinclude - /usr/include is a link
294         to it and hence its contents are fixed by default.
295
296 Sun Feb  1 14:15:33 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
297
298         * rs6000/linux.h: define JUMP_TABLES_IN_TEXT_SECTION
299
300 Sun Feb  1 13:01:15 1998  Klaus Kaempf  <kkaempf@progis.de>
301
302         * cccp.c (main): Predefine __VMS_VER on VMS.
303
304 Sun Feb  1 12:39:53 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
305
306         * expr.c (get_inner_reference): Use sbitsizetype for type sizes.
307         * fold-const.c (size_int): Replace with
308         (size_int_wide).
309         (make_bit_field_ref): Use bitsize_int for bit position.
310         * stor-layout.c (sizetype): Delete.
311         (sizetype_tab, sbitsizetype, ubitsizetype): Declare.
312         (layout_record, layout_union, layout_type):
313         Use bitsize_int for bit size.
314         (set_sizetype): New function.
315         (make_signed_type, make_unsigned_type): Use it.
316         * c-decl.c (init_decl_processing): Likewise.
317         * tree.h (size_int): Don't delcare, #define.
318         (size_int_wide, sizetype_tab, sbitsize, ubitsize): Declare.
319         (set_sizetype): Declare.
320         (bitsize_int, size_int_2, BITS_PER_UNIT_LOG, sizetype, bitsizetype):
321         Define.
322         * c-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes):
323         Convert result to sizetype.
324         (really_start_incremental_init, push_init_level):
325         Set type of constructor_bit_index to sbitsizetype.
326         (push_init_level): Use unsigned arithmetic to determine padding.
327         (output_init_element): Likewise.
328
329 Sun Feb  1 03:32:07 1998  Jeffrey A Law  (law@cygnus.com)
330
331         * combine.c (simplify_shift_const): Fix typo in last change.
332
333 Sun Feb  1 02:50:46 1998  John Carr  <jfc@mit.edu>
334
335         * combine.c (simplify_shift_const):  (lshiftrt (truncate (lshiftrt)))
336         is (truncate (lshiftrt)).
337
338 Sun Feb  1 01:06:53 1998  Richard Henderson  <rth@cygnus.com>
339
340         * alpha.c (alpha_expand_unaligned_load): Use expand_binop properly.
341         Make sure result winds up in TGT.
342         (alpha_expand_unaligned_store): Use expand_binop properly.  Allow
343         src to be other than DImode.
344         (alpha_expand_unaligned_load_words): Tidy.  Take an offset argument.
345         (alpha_expand_unaligned_store_words): Likewise.
346         (alpha_expand_block_move): Use REGNO_POINTER_ALIGN.  Restructure so
347         that source and destination are separately optimized for alignment.
348         (alpha_expand_block_clear): Use REGNO_POINTER_ALIGN.
349
350 Sun Feb  1 01:55:09 1998  Jeffrey A Law  (law@cygnus.com)
351
352         * mips.md (adddi3_internal_2): Be consistent with adddi3 expander
353         with handling of -32768.
354
355 Sun Feb  1 01:48:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
356
357         * aclocal.m4 (GCC_NEED_DECLARATION): Modify macro to accept a
358         shell variable argument instead of only hard coded functions.
359         (GCC_NEED_DECLARATIONS): New macro to accept multiple functions.
360
361         * configure.in: Collapse multiple calls to AC_CHECK_FUNCS into one
362         call.  Collapse multiple calls to GCC_NEED_DECLARATION into one
363         call to GCC_NEED_DECLARATIONS (new macro.)  Check if we need
364         declarations for bcopy, bcmp and bzero.
365
366         * acconfig.h: Add stubs for bcopy, bcmp and bzero declarations.
367
368         * gansidecl.h: If we have bcopy but don't declare it, then do so.
369         Likewise for bcmp and bzero.  Only define macros for bcopy, bcmp,
370         bzero, index and rindex if they aren't already present.
371
372 Sat Jan 31 11:26:58 1998  Jeffrey A Law  (law@cygnus.com)
373
374         * toplev.c (close_dump_file): Wrap function prototype for 
375         argument "func" in PROTO.
376         (dump_rtl): Likewise.
377
378 Fri Jan 30 22:30:39 1998  John Carr  <jfc@mit.edu>
379
380         * sparc.c (sparc_override_options): Make v8plus and ultrasparc set
381         MASK_V8PLUS.
382         (output_function_epilogue): Omit epilogue if nothing drops through.
383         (output_move_double): Supress int ldd usage on ultrasparc and v9.
384         (registers_ok_for_ldd_peep): Likewise.
385         (print_operand): Supress b,a on ultrasparc.  Let Y accept a constant.
386         (ultrasparc_adjust_cost): New function.
387         (sparc_issue_rate): New function.
388         * sparc.h (MASK_VIS, TARGET_VIS): New
389         (MASK_V8PLUS, TARGET_V8PLUS): New.
390         (TARGET_HARD_MUL32, TARGET_HARD_MUL): New.
391         (TARGET_SWITCHES): Add vis and v8plus.
392         (REG_CLASS_FROM_LETTER): Accept d and b for VIS.
393         (REGISTER_MOVE_COST): FP<->INT move cost 12 for ultrasparc.
394         (RTX_COSTS): Use TARGET_HARD_MUL
395         (ADJUST_COST): Call ultrasparc_adjust_cost.
396         (ISSUE_RATE): New.
397         * sparc.md (attr type): Add sload, fpmove, fpcmove.  Adjust users
398         of load & fp appropritely.
399         (supersparc function units): Adjust for Haifa.
400         (ultrasparc function units): Likewise.
401         (get_pc_via_rdpc): All v9, not just arch64.
402         (movdi_v8plus, movdi_v8plus+1): New.
403         (adddi3_sp32+1): New.
404         (subdi3_sp32+1): New.
405         (movsi_insn, movsf_const_insn, movdf_const_insn): Know VIS.
406         (addsi3, subsi3, anddi3_sp32, andsi3, and_not_di_sp32): Likewise.
407         (and_not_si, iordi3_sp32, iorsi3, or_not_di_sp32, or_not_si): Likewise.
408         (xorsi3_sp32, xorsi3, xor_not_di_sp32, xor_not_si): Likewise.
409         (one_cmpldi2_sp32, one_cmplsi2): Likewise.
410         (ldd peepholes): Suppress for v9.
411         (return_adddi): Kill redundant test.  Arg1 may be arith_operand.
412         (return_subsi): Revmove.
413
414 Fri Jan 30 18:30:03 1998  John F Carr  <jfc@mit.edu>
415
416         * mips.c (save_restore_insns): Set RTX_UNCHANGING_P in register
417         save/restore MEM rtl.
418
419 Fri Jan 30 09:08:16 1998  Jeffrey A Law  (law@cygnus.com)
420
421         * configure.in: Check for declaration of abort.
422         * acconfig.h: Corresponding changes.
423         * toplev.c: Use NEED_DECLARATION_ABORT to determine if abort should
424         be declared.
425
426 Thu Jan 29 20:26:12 1998  Jeffrey A Law  (law@cygnus.com)
427
428         * genattrtab.c (optimize): Define in case PRESERVE_DEATH_INFO_REGNO_P
429         uses it.
430
431 Thu Jan 29 09:27:56 PST 1998 Jeff Law  (law@cygnus.com)
432
433         * version.c: Bump for snapshot.
434
435 Thu Jan 29 10:12:27 1998  Jeffrey A Law  (law@cygnus.com)
436
437         * configure.in: Check for atoq and atoll.
438         * rtl.c (read_rtx): Use HAVE_ATOLL and HAVE_ATOQ to select the
439         proper routine for converting ascii into long long values.
440
441 Thu Jan 29 01:28:14 1998  Klaus Kaempf  <kkaempf@progis.de>
442
443         * cccp.c (SYS$SEARCH, SYS$PARSE): Write as upper-case.
444
445         * vmsconfig.com: Remove bytecode references.
446
447         * alpha/vms.h (PREFIX): Define.
448
449         * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Remove.
450
451         * am-alpha.h: Don't include alloca for OPEN_VMS.
452
453         * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Define.
454
455         * alpha/xm-vms.h (INCLUDE_DEFAULTS): Define.
456         (GCC_INCLUDE_DIR): Define
457
458         * make-cc.com, make-cccp.com, make-cc1.com: Removed.
459         * makefile.vms: New file.
460
461         * alpha/vms.h (CPP_PREDEFINES): Remove -Dalpha.
462
463         * alpha.c (output_prolog): Output '.name' directive
464         for minimal traceback information.
465
466         * alpha.c (output_prolog): Don't prepend entry point symbols
467         with '$' on OPEN_VMS.
468
469 Thu Jan 29 00:25:35 1998  David S. Miller  <davem@tanya.rutgers.edu>
470                           Jeffrey A Law  (law@cygnus.com)
471
472         * rtl.c (read_rtx): Use atol/atoq based upon disposition of
473         HOST_WIDE_INT.
474
475         * genattrtab.c (write_test_expr): Use HOST_WIDE_INT_PRINT_DEC
476         as needed.
477         * genemit.c (gen_exp): Likewise.
478         * genpeep.c (match_rtx): Likewise.
479         * genrecog.c (write_tree_1): Likewise.
480
481         * c-lex.c (yyprint): Use proper format string based upon
482         disposition of HOST_BITS_PER_WIDE_INT.
483         (yylex): Put casts in right place for args to build_int_2.
484
485 Thu Jan 29 00:24:29 1998  Jeffrey A Law  (law@cygnus.com)
486
487         * combine.c: Fix typos in Jan27 changes.
488
489 Thu Jan 29 00:07:49 1998  Ollivier Robert <roberto@keltia.freenix.fr>
490
491         * i386/freebsd.h (LIB_SPEC): Correctly handle -shared, -p and friends.
492         (LINK_SPEC): Likewise.
493         (STARTFILE_SPEC): Likewise.
494
495 1998-01-28  Mike Stump  <mrs@wrs.com>
496
497         * rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after
498         reload completes.
499         * genattrtab.c (reload_completed): Define.
500
501         * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Remove obsolete
502         comments.
503
504 Wed Jan 28 20:11:06 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
505
506         * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
507         SUBREG_REG if the word count is unchanged, also in the input reload
508         case.  Disable non-applicable sanity checks.
509
510 Wed Jan 28 20:08:26 1998  Jeffrey A Law  (law@cygnus.com)
511
512         * config/t-svr4 (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
513
514 Wed Jan 28 20:04:43 1998  Ian Lance Taylor  <ian@cygnus.com>
515
516         * i386/t-cygwin32 (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
517
518 Wed Jan 28 11:45:27 1998  Per Bothner  <bothner@cygnus.com>
519
520         * dbxout.c (dbxout_type):  For a RECORD_TYPE, check that TYPE_BINFO
521         is a TREE_VEC before trying to use it for baseclasses.
522         (Chill uses the same field for a different purpose.)
523
524         * toplev.c (strip_off_ending):  Generalize to endings up to 5 chars.
525
526 Tue Jan 27 23:15:55 1998  Lassi A. Tuura  <lat@iki.fi>
527
528         * config.sub: More accurate determination of HP processor types.
529
530 Tue Jan 27 23:11:11 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
531
532         * c-lex.c: Include <stdlib.h> and <string.h>/<strings.h>.  Add
533         prototype for `handle_sysv_pragma', and make it static.  Add
534         parentheses around assignment used as truth value.
535
536         * combine.c (combine_instructions): Protect variable `prev' with
537         macro HAVE_cc0.
538         (can_combine_p): Protect variable `link' with AUTO_INC_DEC.
539         (extract_left_shift): Add parentheses around operand of &.
540         (merge_outer_ops): Avoid an empty body in an else-statement.
541         (gen_rtx_combine): Remove unused variable `i'.
542         
543         * sparc/gmon-sol2.c: Include <fcntl.h>.  Make return type of
544         function monstartup `void'.  Likewise for internal_mcount.  Add
545         `static void' prototype for moncontrol.  Reconcile sprintf format
546         vs. args.  
547
548         * sparc/sparc.c: Include <stdlib.h> and <string.h>/<strings.h>.
549         Make return type of function_arg_slotno explicitly `int'.
550         (reg_unused_after): Add parentheses around assignment used as
551         truth value.
552         (save_regs): Add explicit braces to avoid ambiguous `else'.
553         (function_arg_slotno): Add parentheses around && within ||.
554         (function_arg_pass_by_reference): Likewise.
555         (sparc_flat_output_function_prologue): Reconcile fprintf format
556         vs. args.
557
558         * svr4.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around
559         assignment used as truth value.
560
561         * cplus-dem.c: Include <stdlib.h>.
562         (demangle_signature): Avoid an empty body in an else-statement.
563         (do_type): Remove unused variable `lvl'.
564         
565         * cppexp.c: Don't have <stdlib.h> depend on MULTIBYTE_CHARS.
566         Include <string.h>/<strings.h>.
567         (cpp_lex): Remove unused variable `namelen'.
568         (cpp_lex): Explicitly declare `num_chars' as an int.
569
570         * cpplib.c: Avoid duplicate inclusion of <stdlib.h>, include
571         <unistd.h> instead.  Explicitly declare is_system_include
572         returning int.
573         (make_assertion): Remove unused variable `kt'.  
574         (cpp_expand_to_buffer): Hide variable `obuf'.
575         (output_line_command): Remove unused variables, `line_end',
576         `line_cmd_buf' and `len'.
577         (macarg): Remove unused variable `arg_start'.
578         (special_symbol): Remove unused variable `i'.  Add parentheses
579         around assignment used as truth value.  
580         (do_include):  Remove unused variables `pcfname' and `retried',
581         hide `pcf' and `pcfbuflimit'. 
582         (do_line): Remove unused variable `i'.
583         (finclude): Hide variable `missing_newline'.
584         (cpp_handle_options): Remove unused variable `j'.
585         (read_token_list): Remove unused variable `eofp'.
586         (cpp_error_with_line): Remove unused variable `i'.
587         (cpp_warning_with_line): Likewise.
588         (cpp_pedwarn_with_line): Explicitly declare `column' as int.
589         (cpp_error_from_errno): Remove unused variable `i'.
590
591         * cse.c (invalidate): Add parentheses around assignment used as
592         truth value.
593         (find_best_addr): Move declaration of variable `our_cost' inside
594         the conditional macro where its used.
595         (fold_rtx): Avoid an empty body in an if-statement.
596         (cse_insn): Wrap variables  `this_insn_cc0_mode' and
597         `this_insn_cc0' in macro HAVE_cc0.
598         
599         * dwarf2out.c: Include <stdlib.h> and <string.h>/<string.h>.
600         (ASM_OUTPUT_DWARF_DATA8):  Reconcile format vs. args in fprintf's.
601         (output_uleb128): Likewise.
602         (output_sleb128): Likewise.
603         (output_cfi): Likewise.
604         (output_call_frame_info): Remove unused variables `j', `fde_size'
605         and `fde_pad'.
606         (comp_unit_has_inlines): Hide declaration as per rest of file.
607         (size_of_line_prolog): Correct typo in prototype.
608         (add_arange): Likewise.
609         (output_aranges): Likewise.
610         (add_name_and_src_coords_attributes): Likewise.
611         (gen_array_type_die): Likewise.
612         (gen_inlined_subroutine_die): Likewise.
613         (equate_decl_number_to_die): Remove unused variable `i'.
614         (print_die): Reconcile format vs. args in fprintf's.
615         (print_dwarf_line_table): Likewise.
616         (output_die): Likewise.
617         (output_line_info): Likewise.
618         (add_subscript_info): Avoid an empty body in an else-statement.
619         (gen_subprogram_die): Remove unused variable `fp_loc'.
620
621         * dwarfout.c: Explicitly declare `next_pubname_number' as int.
622         Protect `ordering_attribute' prototype with USE_ORDERING_ATTRIBUTE
623         macro.  Protect `src_coords_attribute' prototype with
624         DWARF_DECL_COORDINATES macro.  Hide `output_entry_point_die'
625         prototype as in the rest of the file.  Likewise for
626         `output_pointer_type_die' and `output_reference_type_die'.  Remove
627         prototype for `type_of_for_scope'.
628         (output_unsigned_leb128): Reconcile format vs. args in fprintf.
629         (type_attribute): Add explicit braces to avoid ambiguous `else'.
630         
631         * final.c: Include <stdlib.h> and <string.h>/<strings.h>.
632         (shorten_branches): Protect declaration of tmp_length with
633         SHORTEN_WITH_ADJUST_INSN_LENGTH and ADJUST_INSN_LENGTH macros.
634         (profile_function): Protect declaration of `sval' and `cxt'
635         variables with appropriate macros.
636         (final_scan_insn): Likewise for `note' variable.  Add explicit
637         braces to avoid empty body in an if-statement.
638         (output_asm_insn): Move variable `i' inside macro conditional
639         where it is used.  Add parentheses around assignment used as truth
640         value.
641         (asm_fprintf) Likewise, likewise.
642         
643         * fix-header.c (main): Remove unused variable `done'.  Protect
644         declaration of `i' with FIXPROTO_IGNORE_LIST.
645
646         * pexecute.c: Include <unistd.h>.  Prototype `my_strerror'.
647
648         * print-rtl.c (print_inline_rtx): Explicitly declare the parameter
649         `ind'.
650
651         * profile.c: Include <string.h>/<strings.h>.
652         (instrument_arcs): Remove unused variables `note', `inverted',
653         `zero' and `neg_one'.
654         (branch_prob): Avoid empty body in an if-statement.
655
656         * regclass.c: Include <stdlib.h>.
657         (reg_alternate_class): Explicitly declare parameter `regno'.
658
659         * regmove.c (regmove_optimize): Remove unused variable `p'.  Add
660         parentheses around assignment used as truth value.
661         (find_matches):  Remove unused variables `output_operand' and
662         `matching_operand'.
663         (fixup_match_1): Remove statement with no effect: "if (0) ;".
664
665         * scan.c (sstring_append): Explicitly declare `count' as int.
666         (scan_string): Explicitly declare parameter `init' as int.
667
668         * sched.c: Include <stdlib.h>.
669         (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
670         (rank_for_schedule): Add parentheses around assignment used as
671         truth value.
672         (schedule_block): Likewise.
673         (regno_use_in): Likewise.
674         (schedule_insns): Remove unused variable `i'.
675
676         * toplev.c: Include <stdlib.h> and <string.h>/<strings.h>.
677         (v_message_with_decl): Remove unused variable `n'.
678         (botch): Explicitly declare parameter `s' as char *.
679         (main): Add parentheses around assignment used as truth value.
680
681         * tree.c (make_node): Protect the variable `kind' with the
682         GATHER_STATISTICS macro.
683         (real_value_from_int_cst): Move variable `e' inside conditional
684         macro area where it is used.
685         (tree_last): Add parentheses around assignment used as truth value.
686         (build1): Protect the variable `kind' with the GATHER_STATISTICS
687         macro.
688         (print_obstack_statistics): Reconcile format vs. args in fprintf.
689         Protect variables `i', `total_nodes', and `total_bytes' with the
690         GATHER_STATISTICS macro.
691
692 Tue Jan 27 23:01:55 1998  Mike Stump  (mrs@wrs.com)
693
694         * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add
695         some comments regarding use of dead_or_set_p.
696
697 Tue Jan 27 22:14:48 1998  Todd Vierling <tv@pobox.com>
698
699         * fixincludes: Tweak fix for struct exception in math.h
700
701 Tue Jan 27 17:21:09 1998  Gavin Koch  (gavin@cygnus.com)
702
703         * mips/mips.c (mips_expand_prologue,mips_expand_epilogue):
704         Change mode of registers used to add/sub from 
705         hard_frame_pointer_rtx from word_mode to Pmode.
706
707 Tue Jan 27 11:02:04 1998  Nick Clifton  <nickc@cygnus.com>
708
709         * v850.h (ASM_OUTPUT_ALIGNED_BSS): Use
710         asm_output_aligned_bss() instead of asm_output_bss().
711
712         * toplev.c (rest_of_compilation): Replace references to
713         stack_reg_dump_file and dbr_sched_dump_file with references to
714         rtl_dump_file. 
715
716 Tue Jan 27 10:22:13 1998  Kamil Iskra  <iskra@student.uci.agh.edu.pl>
717
718         * tlink.c (scan_linker_output): Call fclose() for opened files.
719
720 Tue Jan 27 05:05:26 1998  Richard Henderson  <rth@cygnus.com>
721
722         * alpha.c (output_epilog [!VMS]): Don't tag global functions if
723         compiling with -fpic -- we want to be able to override symbols
724         properly.
725         (alpha_expand_block_move): Fix thinko in last change.
726
727         * alpha.h (ASM_OUTPUT_MI_THUNK): New define.
728         * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): New define.
729         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): New undef.
730         
731 Tue Jan 27 03:21:23 1998  Richard Henderson  <rth@cygnus.com>
732
733         * alpha.md (abssf, absdf): Revert last change.
734
735 Tue Jan 27 00:26:50 1998  John Carr  <jfc@mit.edu>
736
737         * dwarf2out.c (dwarf2out_frame_init): Test value of DWARF2_UNWIND_INFO.
738         * mips/sni-svr4.h: Define DWARF2_UNWIND_INFO as 0.
739
740 Tue Jan 27 00:07:02 1998  Jeffrey A Law  (law@cygnus.com)
741
742         * emit-rtl.c (gen_lowpart_common): Handle more case where converting
743         a CONST_INT into SFmode.
744
745 Tue Jan 20 16:01:03 1998  Anthony Green  <green@cygnus.com>
746
747         * flags.h: New flag (optimize_size).
748         * toplev.c (main): Parse -Os option and set optimize_space
749         accordingly.
750         * gcc.c (default_compilers), cp/lang-specs.h, f/lang-specs.h: Define 
751         __OPTIMIZE_SIZE__ when compiling with -Os.
752         * config/dsp16xx/dsp16xx.h, config/i386/i386.h,
753         config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h,
754         config/v850/v850.h (OPTIMIZATION_OPTIONS): New SIZE argument
755         to macro.
756         * config/i386/i386.c (optimization_options): Accept new SIZE argument.
757
758 Mon Jan 26 23:57:39 1998  Manfred Hollstein  <manfred@s-direktnet.de>
759
760         * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
761         stuff only if MCT_TEXT is #define'd.
762
763 Mon Jan 26 23:52:51 1998  Markus F.X.J. Oberhumer <k3040e4@c210.edvz.uni-linz.ac.at>
764
765         * configure.in (i*86-pc-msdosdjgpp): Treat like msdos & go32
766         configurations.
767
768 Fri Jan 23 09:39:36 1998  Nick Clifton  <nickc@cygnus.com>
769
770         * toplev.c: Add -dM command line option to dump RTL after the
771         machine dependent reorganisation pass, if there is one.
772         Reorganise RTL dump code, so that only one file handle is
773         needed. 
774
775 Mon Jan 26 12:09:42 1998  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
776
777         * except.c (check_exception_handler_labels): Disable warning when
778         flag_syntax_only.
779
780 Mon Jan 26 18:17:32 1998  Jim Wilson  <wilson@cygnus.com>
781
782         * sparc.c (pic_setup_code): Don't set LABEL_PRESERVE_P.
783
784 Mon Jan 26 18:11:30 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
785
786         * c-decl.c (grokdeclarator): Get parameter tags from
787         last_function_parm_tags.
788         * dwarfout.c (output_formal_types): Set TREE_ASM_WRITTEN before
789         traversing the parameter types.
790         (output_type): No early exit for FUNCTION_TYPE / METHOD_TYPE context.
791
792 Mon Jan 26 01:44:12 1998  Jeffrey A Law  (law@cygnus.com)
793
794         * h8300.c (print_operand): Handle CONST_DOUBLE for 'e', 'f', and
795         the default case.
796         (get_shift_alg): Fix typo.
797
798 Sun Jan 25 22:22:04 1998  Richard Henderson  <rth@cygnus.com>
799
800         * alpha.c (alpha_expand_block_move): Copy ADDRESSOF to reg.
801
802 Sun Jan 25 22:14:28 1998  Richard Henderson  <rth@cygnus.com>
803
804         * toplev.c (get_run_time): Make sure each case gets its variables.
805
806 Sun Jan 25 22:10:21 1998  Richard Henderson  <rth@cygnus.com>
807
808         * configure.in (build_xm_file): Add auto-config.h if host=build.
809         (host_xm_file_list): Don't add $(srcdir) to auto-config.h.
810         (build_xm_file_list): Likewise.
811         * configure: Rebuild.
812         
813 Sun Jan 25 22:00:25 1998  Alasdair Baird <alasdair@wildcat.demon.co.uk>
814
815         * recog.c (validate_replace_rtx_1): Only perform substitutions
816         of arguments to commutative and comparison operators once.
817
818 Sun Jan 25 12:30:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
819
820         * sparc.c (output_cbranch): Add default case in
821         enumeration switch.
822  
823         * reorg.c (insn_sets_resource_p): Correct typo in prototype.
824         (emit_delay_sequence): Eliminate unused parameter, all callers
825         changed.
826         (fill_simple_delay_slots): Likewise.
827         (fill_slots_from_thread): Likewise.
828         (fill_eager_delay_slots):  Likewise.
829         (mark_referenced_resources): Add default case in enumeration switch.
830         (mark_set_resources): Likewise.
831         (rare_destination): Likewise.
832         (mostly_true_jump): Likewise.
833         (find_dead_or_set_registers): Likewise.
834         (redirect_with_delay_slots_safe_p): Remove unused variable `slots'.
835         (update_reg_unused_notes): Remove unused variable `p'.
836         (mark_target_live_regs): Remove unused variables `next' and
837         `jump_count'.
838         (fill_simple_delay_slots): Remove unused variable `j'.
839         (fill_slots_from_thread): Add parentheses around assignment used
840         as truth value.
841         (dbr_schedule): Likewise.
842
843         * objc/Make-lang.in (objc.stage1): Depend on stage1-start.
844         (objc.stage2, objc.stage3, objc.stage4): Likewise.
845
846 Sun Jan 25 12:13:47 1998  Michael Tiemann  <michael@tiemann.org>
847
848         * cse.c (simplify_ternary_operation): Don't try to simplify
849         IF_THEN_ELSE expressions (created by combine) that don't use
850         relational operators.
851
852 Fri Jan 23 22:48:24 1998  Jeffrey A Law  (law@cygnus.com)
853
854         * cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE
855         simplifications.
856
857         * crtstuff.c (init_dummy): Keep the epilogue in the init
858         section for non-ELF systems.
859
860 Fri Jan 23 23:28:59 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
861
862         * sh.md (movqi_i+1): New peephole.
863
864 Fri Jan 23 15:39:42 1998  Jim Wilson  <wilson@cygnus.com>
865
866         * Makefile.in: Remove remaining bytecode stuff.
867         * emit-rtl.c, expr.c: Likewise.
868
869 Fri Jan 23 12:41:10 1998  Nick Clifton  (nickc@cygnus.com)
870
871         * toplev.c (lang_options): Add unknown-pragma options.
872
873 Thu Jan 22 23:43:38 1998  Per Bothner  <bothner@cygnus.com>
874
875         * dwarfout.c (byte_size_attribute):  Simplify and fix - don't need
876         special (and incomplete) handling for Chill arrays.
877
878 Fri Jan 23 00:27:23 1998  John Carr  <jfc@mit.edu>
879
880         * toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available,
881         to get clock rate.
882
883 Fri Jan 23 00:19:36 1998  Gavin Koch  (gavin@cygnus.com)
884
885         * mips.md (muldi3_internal2): Reverse test for TARGET_MIPS16.
886
887 1998-01-22  scott snyder  <snyder@d0sgif.fnal.gov>
888
889         * mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in
890         .frame directive instead of FRAME_POINTER_REGNUM.
891
892 Fri Jan 23 00:08:55 1998  Robin Kirkham <rjk@mlb.dmt.csiro.au>
893
894         * m68k.h (TARGET_SWITCHES): -mcpu32 now clears MASK_68881.
895         (MACHINE_STATE_m68010_up): Replaced __mc68332__ with __mcpu32__.
896         * m68k/m68k-none.h(CPP_FPU_SPEC): Update relative to TARGET_SWITCHES.
897         (CPP_SPEC, ASM_SPEC, CC1_SPEC): Likewise.
898         (CPP_SPEC): -m68332 defines both __mc68332 and __mcpu32__.
899         * m68k/t-m68kbare (MULTILIB_OPTIONS): Add mcpu32.
900         (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
901         (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
902         mcpu32 or m5200.
903         * longlong.h: Replace __mc68332__ with __mcpu32__.
904
905 Thu Jan 22 19:55:40 PST 1998 Jeff Law  (law@cygnus.com)
906
907         * version.c: Bump for snapshot.
908
909 Thu Jan 22 14:47:31 1998  Jim Wilson  <wilson@cygnus.com>
910
911         * reload.c (push_reload): In WORD_REGISTER_OPERATIONS code, add test
912         to require the SUBREG mode to be smaller than the SUBREG_REG mode.
913         * reload1.c (eliminate_regs): Likewise.
914
915 Thu Jan 22 14:49:14 1998  Jeffrey A Law  (law@cygnus.com)
916
917         * regmove.c (find_matches): Initialize matches->earlyclobber too.
918
919 Thu Jan 22 01:40:52 1998  Richard Henderson  <rth@cygnus.com>
920
921         * alpha.md (abssf2, absdf2): Disable in IEEE mode.
922         (negsf2, negdf2): Use proper subtract in IEEE mode.
923
924 Tue Jan 20 09:29:09 1998  Jeffrey A Law  (law@cygnus.com)
925
926         * Makefile.in: Remove more bytecode stuff.
927         * expr.c, stmt.c, config/msdos/top.sed: Likewise.
928         * vax/xm-vms.h, winnt/config-nt.sed: Likewise.
929         * f/install.texi, objc/Make-lang.in: Likewise.
930
931         * Makefile.in: Remove all bytecode support.
932         (OBJS): Make sure last entry is a real object file, not EXTRA_OBJS.
933         * emit-rtl.c: Remove all bytecode support.
934         * expr.c, expr.h function.c, integrate.c: Likewise.
935         * output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise.
936         * tree.h, varasm.c: Likewise.
937         * config/m68k/m68k.h: Likewise.
938         * bi-*, bc-*, bytecode*: Delete bytecode related files.
939         * modemap.def: Likewise.
940
941 Tue Jan 20 09:02:31 1998  Gavin Koch  (gavin@cygnus.com)
942
943         * mips/mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3,
944         umodsi3,umoddi3): Handle mips16 div/mod by a constant.
945
946 Mon Jan 19 21:57:00 1998  Richard Henderson  <rth@cygnus.com>
947
948         * i386.md (push): Prohibit symbolic constants if flag_pic.
949         (movsi+1): Likewise for move to non-register.
950
951 Mon Jan 19 11:15:38 1998  Jim Wilson  <wilson@cygnus.com>
952
953         * alpha.c (mode_mask_operand): Accept 0xffffffff on 32 bit host.
954         (print_operand): Handle 0xffffffff on 32 bit host.
955
956         * configure.in (thread_file): Rename uses before main loop to
957         target_thread_file.  Initialize to empty in main loop.  Set thread_file
958         to target_thread_file after main loop if not set.
959         * configure: Rebuild.
960
961         * genattrtab.c (find_and_mark_used_attributes): Handle CONST_INT.
962         (add_values_to_cover): Revert last change (which had no ChangeLog
963         entry).
964         (simplify_with_current_value_aux): Handle CONST_INT.
965
966 Mon Jan 19 10:14:55 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
967
968         * unprotoize.c: Define UNPROTOIZE first, to actually take effect.
969
970 Mon Jan 19 10:11:52 1998  Richard Henderson  <rth@cygnus.com>
971
972         * configure.in: Add cpp stringify test.
973         * acconfig.h (HAVE_CPP_STRINGIFY): New tag.
974         * gengenrtl.c: Use it.
975         * configure, config.in: Rebuild.
976
977 Mon Jan 19 09:43:15 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
978
979         * Makefile.in (genrtl.c genrtl.h): Add dummy command for GNU make.
980
981 Mon Jan 19 09:38:18 1998  Richard Henderson  <rth@cygnus.com>
982
983         * configure.in: Find declaration for sbrk.
984         * acconfig.h (NEED_DECLARATION_SBRK): New tag.
985         * config.in, configure: Rebuild.
986         * mips-tfile.c: Properly protect declaration of sbrk and free.
987         * toplev.c: Properly protect declaration of sbrk.
988
989 Sun Jan 18 20:18:01 1998  Richard Henderson  <rth@cygnus.com>
990
991         * alpha.c (alpha_handle_trap_shadows): Ignore CLOBBERs.
992
993 Sun Jan 18 01:54:27 1998  Jeffrey A Law  (law@cygnus.com)
994
995         * alpha/xm-winnt.h (HAS_INIT_SECTION): Undefine.
996
997 Sun Jan 18 00:57:35 1998  Mike Stump  (mrs@wrs.com)
998
999         * configure.in (i960-wrs-vxworks): Default to latest vxworks release.
1000
1001 Sat Jan 17 23:41:36 1998  David S. Miller  <davem@tanya.rutgers.edu>
1002
1003         * combine.c (force_to_mode, nonzero_bits): Correctly optimize
1004         constant offset computations from objects with known alignment in
1005         the presence of STACK_BIAS.
1006
1007         * varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where
1008         necessary.
1009         (const_hash): Hash val is unsigned long.
1010         (SYMHASH): Likewise.
1011
1012         * tree.c (TYPE_HASH): Type of hash val is unsigned long.
1013
1014         * print-tree.c (print_node_brief): HOST_PTR_PRINTF format wants a
1015         char pointer, not HOST_WIDE_INT.
1016         (print_node): Likewise.  Also hash is unsigned long not
1017         HOST_WIDE_INT.
1018
1019         * cse.c (canon_hash): Hash is unsigned long not HOST_WIDE_INT.
1020
1021         * explow.c (optimize_save_area_alloca): New function for targets
1022         where SETJMP_VIA_SAVE_AREA is true.
1023         (allocate_dynamic_stack_space): On SETJMP_VIA_SAVE_AREA targets,
1024         compute the amount of stack space needed should we find later that
1025         setjmp is never called by this function, stuff rtl for this inside
1026         a REG_NOTE of the final SET of stack_pointer_rtx.
1027         * toplev.c (rest_of_compilation): If SETJMP_VIA_SAVE_AREA and
1028         current_function_calls_alloca, call optimize_save_area_alloca.
1029
1030 Sat Jan 17 23:22:59 1998  John Wehle  (john@feith.com)
1031
1032         * i386.md: Remove redundant integer push patterns.
1033         Don't bother checking for TARGET_PUSH_MEMORY when
1034         pushing constants or registers.
1035
1036 Sat Jan 17 22:35:39 1998  Mumit Khan <khan@xraylith.wisc.edu>
1037                           J.J VanderHeijden <J.J.vanderHeijden@student.utwente.nl>
1038         
1039         * pexecute.c (pexecute): New function for mingw32. Supports pipes.
1040         (pwait): New function for mingw32.
1041
1042         * gcc.c (execute): Mingw32 pexecute() supports pipes, but cygwin32
1043         pipe support is broken for now.
1044
1045 1998-01-17  Lee Iverson  <leei@Canada.AI.SRI.COM>
1046
1047         * emit_rtl.c (init_emit_once): Ensure that potential aliasing
1048         between frame_pointer_rtx, hard_frame_pointer_rtx, and
1049         arg_pointer_rtx is respected in initialization.
1050         (init_emit_once): Use gen_rtx_raw_REG() to create
1051         return_address_pointer_rtx.
1052
1053         * reorg.c: #include "expr.h" for rtx prototypes.
1054         * Makefile.in (reorg.o): Depend on expr.h
1055
1056 Sat Jan 17 21:28:08 1998  Pieter Nagel <pnagel@epiuse.co.za>
1057
1058         * Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and
1059         local_prefix to sub-make invocations.
1060
1061 Sat Jan 17 21:24:16 1998  David T. McWherter <dtm@waterw.com>
1062
1063         * objc-parse.c: Recognize protocol qualifiers in class definitions.
1064
1065 Sat Jan 17 21:16:19 1998  Jeffrey A Law  (law@cygnus.com)
1066
1067         * rtl.h: Fix typos.
1068
1069         * acconfig.h (NEED_DECLARATION_ATOL): New declaration to check for.
1070         * configure.in: Check for atol.
1071         * rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL.
1072
1073         * rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX.
1074
1075         * loop.c (find_and_verify_loops): When attempting to move insns from
1076         inside the loop outside the loop, create a BARRIER if no suitable
1077         one was found.
1078
1079         * jump.c (jump_optimize): Remove Dec 17, 1997 chance in
1080         favor of an equivalent change from gcc-2.8.
1081
1082         * i386/x-sco5 (CC): Remove trailing whitespace.
1083
1084 Sat Jan 17 21:09:46 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1085  
1086         * gengenrtl.c (type_from_format): De-ANSIfy function signature.
1087         (accessor_from_format): Likewise.
1088         (xmalloc): New function for use when linking with alloca.o.
1089
1090 Mon Jan  5 02:53:01 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
1091
1092         * frame.c (find_fde): Correct FDE's upper bound.
1093
1094 Fri Jan 16 16:23:52 1998  Richard Henderson  <rth@cygnus.com>
1095
1096         * gengenrtl.c (DEF_RTL_EXPR): Provide a K&R compliant version.
1097
1098 Fri Jan 16 10:16:10 1998  Jeffrey A Law  (law@cygnus.com)
1099
1100         * calls.c (expand_call): Move #ifdef code out of macro argument
1101         lists.
1102         (emit_library_call, emit_library_call_value): Likewise.
1103
1104 Fri Jan 16 00:46:40 1998  Jeffrey A Law  (law@cygnus.com)
1105
1106         * rtl.def (INLINE_HEADER): Fix bug exposed by gen_rtx_FOO changes.
1107
1108 Thu Jan 15 01:02:30 1998  Jeffrey A Law  (law@cygnus.com)
1109
1110         * version.c: Bump for snapshot.
1111
1112 Wed Jan 14 22:49:17 1998  Richard Henderson  <rth@cygnus.com>
1113
1114         * alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO;
1115         change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...).
1116         * caller-save.c, calls.c, combine.c, cse.c: Likewise.
1117         * dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise.
1118         * final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise.
1119         * halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise.
1120         * profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise.
1121         * reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise.
1122         * unroll.c, varasm.c: Likewise.
1123         * config/alpha/alpha.c, config/alpha/alpha.md: Likewise.
1124
1125 Wed Jan 14 19:36:08 1998  Gavin Koch  (gavin@cygnus.com)
1126
1127         * mips.h: Fix some type-o's from a previous change.
1128
1129 Wed Jan 14 01:26:05 1998  Jeffrey A Law  (law@cygnus.com)
1130
1131         * loop.c (check_dbra_loop): Make sure initial value is a 
1132         CONST_INT before trying to normalize it.
1133
1134 Tue Jan 13 23:27:54 1998  Robert Lipe   (robertl@dgii.com)
1135
1136         * sco5.h (ASM_OUTPUT_SECTION_NAME): Refresh from ../svr4.h.
1137
1138 Tue Jan 13 22:47:02 1998  Herman ten Brugge <herman@htbrug.net.HCC.nl>
1139
1140         * cppexp.c: Include gansidecl.h
1141
1142 Tue Jan 13 22:43:35 1998  Ian Lance Taylor  <ian@cygnus.com>
1143
1144         * svr4.h (LINK_SPEC): Never specify -h.
1145         * ptx4.h (LINK_SPEC): Likewise.
1146         * rs6000/sysv4.h (LINK_SPEC): Likewise.
1147         * sparc/sol2.h (LINK_SPEC): Likewise.
1148
1149 Tue Jan 13 22:39:40 1998  Richard Henderson  (rth@cygnus.com)
1150
1151         * c-typeck.c (comptypes): Exit early on NULL input.
1152
1153         * haifa-sched.c (schedule_insns): Correctly remove inter-block
1154         dependencies after reload.
1155
1156 Tue Jan 13 22:22:31 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
1157
1158         * rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__.
1159
1160 Tue Jan 13 22:14:57 1998  Klaus Kaempf <kkaempf@progis.de>
1161
1162         * alpha/vms.h (DIR_SEPARATOR): define
1163
1164 Tue Jan 13 22:13:04 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
1165
1166         * Makefile.in (stamp-proto): Remove.
1167         (protoize.o, unprotoize.o): Straightforward compile.
1168         * unprotoize.c: Define UNPROTOIZE here, not in the Makefile.
1169
1170 Tue Jan 13 21:59:39 1998  Mumit Khan <khan@xraylith.wisc.edu>
1171
1172         * i386/cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip
1173         off the trailing @[NUM] added by ENCODE_SECTION_INFO.
1174
1175 Tue Jan 13 21:55:06 1998  Jeffrey A Law  (law@cygnus.com)
1176
1177         * arm/netbsd.h (DWARF2_UNWIND_INFO): Define as zero for now.
1178         * i386/netbsd.h, m68k/netbsd.h, ns32k/netbsd.h: Likewise.
1179         * sparc/netbsd.h, vax/netbsd.h: Likewise.
1180
1181 Tue Jan 13 21:37:07 1998  Shigeya Suzuki <shigeya@foretune.co.jp>
1182
1183         * i386/bsd386.h (DWARF2_UNWIND_INFO): Define as zero for now.
1184
1185 Tue Jan 13 17:50:55 1998  Jim Wilson  <wilson@cygnus.com>
1186
1187         * configure.in (target_cpu_default, target_cpu_default2): Use double
1188         quotes around them when testing their value.
1189         * configure: Rebuilt.
1190         
1191 Tue Jan 13 09:07:44 1998  John Carr  <jfc@mit.edu>
1192
1193         * gengenrtl.c (gencode): Emit new function obstack_alloc_rtx
1194         to allocate rtx.
1195         (gendef): Call obstack_alloc_rtx.
1196
1197 Tue Jan 13 01:16:36 1998   Robert Lipe (robertl@dgii.com)
1198
1199         * configure.in: (i[3456]86-UnixWare7-sysv5): Treat much like SVR4
1200         for now.
1201
1202 Thu Dec 18 18:40:17 1997  Mumit Khan <khan@xraylith.wisc.edu>
1203         
1204         * i386/mingw32.h (INCOMING_RETURN_ADDR_RTX): Delete. Use the value
1205         of DWARF2_UNWIND_INFO, if any, from i386/cygwin32.h instead.
1206         (STANDARD_INCLUDE_DIR): Change to /usr/local/i386-mingw32/include.
1207
1208 Tue Jan 13 00:44:02 1998  Jim Wilson  <wilson@cygnus.com> 
1209
1210         * mips.md (return_internal): Change mode from SImode to VOIDmode.
1211
1212 Sat Jan 10 22:11:39 1998  J. Kean Johnston  <jkj@sco.com>
1213
1214         * i386/sco5.h (STARTFILE_SPEC, ENDFILE_SPEC): Correctly handle
1215         "-static".
1216
1217 Sat Jan 10 22:04:15 1998  Stan Cox  <scox@equinox.cygnus.com>
1218
1219         * i386.md: (movsicc_1, movhicc_1):  For alternate 3 set the opcode
1220         suffix from operand 3.
1221
1222 Sat Jan 10 21:50:16 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1223                           Jeffrey A Law  (law@cygnus.com)
1224
1225         * regmove.c: New implementation of regmove pass.
1226         * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2): Remove
1227         decls, make them have external linkage.  Return a value from
1228         optimize_reg_copy_1.
1229         * reload.h (count_occurrences): Add decl.
1230         * reload1.c (count_occurrences): Delete decl, make it have external
1231         linkage.
1232         * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Declare.
1233
1234 Sat Jan 10 20:30:12 1998  Jeffrey A Law  (law@cygnus.com)
1235  
1236         * regclass.c (record_address_regs): Don't use REG_OK_FOR_BASE_P
1237         if it is not defined.
1238  
1239 Thu Jan  8 21:06:54 1998  Richard Henderson  <rth@cygnus.com>
1240
1241         * Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.
1242         * emit-rtl.c (gen_rtx): Move special code to ...
1243         (gen_rtx_CONST_INT): New function.
1244         (gen_rtx_REG): New function.
1245         (*): Update all calls to gen_rtx.
1246         * genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO.
1247         * rtl.h: Include genrtl.h; prototype CONST_INT & REG generators.
1248         (GEN_INT): Call gen_rtx_CONST_INT.
1249         * gengenrtl.c: New file.
1250
1251 Mon Jan  5 13:00:18 1998  John F. Carr  <jfc@mit.edu>
1252
1253         * alias.c (*_dependence): Call base_alias_check before canon_rtx.
1254         (base_alias_check): If no base found for address call canon_rtx and
1255         try again.
1256
1257 Mon Jan  5 11:39:49 1998  Jeffrey A Law  (law@cygnus.com)
1258
1259         * mips.c (mips_expand_prologue): Handle large frame with no outgoing
1260         arguments for mips16.
1261         (mips_expand_epilogue): Pass "orig_tsize" to save_restore_insns.
1262         Don't lose if tsize is zero after handling large stack for mips16.
1263         * mips.md (return): For trivial return, return address is in $31.
1264
1265 Sun Jan  4 20:24:00 1998  Nigel Stephens  <nigel@algor.co.uk>
1266
1267         *  mips/mips16.S: Various changes to make it work with -msingle-float
1268         and -EL.
1269
1270 Sun Jan  4 14:25:18 1998  Gavin Koch  <gavin@cygnus.com>
1271                           Ian Lance Taylor  <ian@cygnus.com>
1272                           Jeff Law  <law@cygnus.com>
1273
1274         * mips.c, mips.h, mips.md: First cut at merging in mips16
1275         support.  Major modifications throughout all three files.
1276
1277 Sun Jan  4 01:01:50 1998  scott snyder  <snyder@d0sgif.fnal.gov>
1278
1279         * configure.in: Make gthr-default.h a forwarding header instead of
1280         a symlink.
1281
1282 Sat Jan  3 12:08:06 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1283
1284         * gcov-io.h: Include sys/types.h to ensure we get size_t.
1285
1286         * pa.h (ASM_OUTPUT_MI_THUNK): Add missing % in fprintf.
1287
1288 Fri Jan  2 23:40:09 1998  Jim Wilson  (wilson@cygnus.com)
1289                           Jeffrey A Law  (law@cygnus.com)
1290
1291         * crtstuff.c (__frame_dummy): New function for irix6.
1292         (__do_global_ctors): Call __frame_dummy for irix6.
1293         * iris6.h (LINK_SPEC): Hide __frame_dummy too.
1294
1295 Fri Jan  2 04:57:57 1998  Weiwen Liu  <liu@hepmail.physics.yale.edu>
1296
1297         * alpha.c (vms_valid_decl_attribute_p): Move within #if OPEN_VMS.
1298
1299 Fri Jan  2 04:34:14 1998  Richard Henderson  <rth@cygnus.com>
1300
1301         * c-decl.c (init_decl_processing): Provide proper fallback symbol
1302         for __builtin_memset.
1303         * expr.c (expand_builtin) [MEMSET]: Arg 3 type code is INTEGER_TYPE
1304         not INTEGER_CST.  Assert arg 3 is a constant.
1305
1306         * alpha.c (mode_width_operand): Accept 64-bit modes.
1307         (mode_mask_operand): Likewise.
1308         (print_operand): Likewise for 'M' and 'U' codes.
1309         (alpha_expand_unaligned_load): New function.
1310         (alpha_expand_unaligned_store): Likewise.
1311         (alpha_expand_unaligned_load_words): Likewise.
1312         (alpha_expand_unaligned_store_words): Likewise.
1313         (alpha_expand_block_move): Likewise.
1314         (alpha_expand_block_clear): Likewise.
1315         * alpha.h (MOVE_RATIO): New define.
1316         * alpha.md (extxl, ext*h, ins*l, mskxl): Name them.
1317         (insql, insxh, mskxh, extv, extzv, insv, movstrqi, clrstrqi): New.
1318
1319         * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Set to 3.
1320         (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Disable.
1321
1322 Thu Jan  1 15:40:15 1998  Richard Henderson  <rth@cygnus.com>
1323
1324         * configure.in: Put parenthesis around TARGET_CPU_DEFAULT's value.
1325         * configure: Update.
1326
1327 Thu Jan  1 10:49:12 1998  Jeffrey A Law  (law@cygnus.com)
1328
1329         * emit-rtl.c (operand_subword): Correctly handle extracting a word
1330         from a CONST_DOUBLE for 16bit targets with !WORDS_BIG_ENDIAN.
1331
1332         * mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate
1333         for first argument.
1334
1335 Wed Dec 31 14:42:18 1997  Ian Lance Taylor  <ian@cygnus.com>
1336
1337         * configure.in: Set and subsitute host_exeext.  Use it when creating
1338         the assembler and linker symlinks.
1339         * configure: Rebuild.
1340         * Makefile.in (exeext): Set to @host_exeext@.
1341         (build_exeext): New variable, set to @build_exeext@.
1342         (FLAGS_TO_PASS): Pass down build_exeext.
1343         (STAGESTUFF): Use build_exeext, not exeext, for gen* and bi*
1344         programs.
1345
1346 Wed Dec 31 10:05:44 1997  Jeffrey A Law  (law@cygnus.com)
1347
1348         * mn10200.md (addsi3, subsi3): Fix thinkos.
1349
1350 Tue Dec 30 00:04:49 1997  Richard Henderson  <rth@cygnus.com>
1351
1352         * sparc.h (ASM_OUTPUT_MI_THUNK): Move %o7 through %g1 instead of
1353         save+restore.  Fix pic+big_offset delay slot.  Use "pic" case for
1354         unix always, since we want to be able to thunk to functions in a
1355         shared library from an application.
1356
1357 Mon Dec 29 14:37:31 1997  Ian Lance Taylor  <ian@cygnus.com>
1358
1359         * mips/t-ecoff (CROSS_LIBGCC1): Define to libgcc1-asm.a.
1360         (LIB1ASMSRC, LIB1ASMFUNCS): Define.
1361
1362 Mon Dec 29 14:03:38 1997  Jeffrey A Law  (law@cygnus.com)
1363
1364         * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
1365         offset's mode is not ptr_mode, convert it.
1366
1367 Mon Dec 29 15:58:18 1997  Michael Meissner  <meissner@cygnus.com>
1368
1369         * libgcc2.c (inhibit_libc): Don't define inhibit_libc when cross
1370         compiling if it was already defined.
1371
1372 Sun Dec 28 00:32:16 1997  Jeffrey A Law  (law@cygnus.com)
1373
1374         * flow.c (find_basic_blocks): Don't create a new basic block
1375         for calls in a LIBCALL block.
1376
1377 Sun Dec 28 00:30:24 1997  David Edelsohn  <edelsohn@mhpcc.edu>
1378
1379         * config/fp-bit.c (L_df_to_sf): Fix typo in last change.
1380
1381 Sat Dec 27 22:43:12 1997  Jeffrey A Law  (law@cygnus.com)
1382
1383         * cse.c (rtx_cost): Remove conflicting default case.
1384
1385 Sat Dec 27 21:20:02 1997  Richard Henderson  <rth@cygnus.com>
1386
1387         * configure.in: Move default enabling of Haifa out of for loop.
1388         * configure: Rebuild.
1389
1390 Thu Dec 25 01:02:54 1997  Jeffrey A Law  (law@cygnus.com)
1391
1392         * version.c: Bump for snapshot.
1393
1394 1997-12-25  Teemu Torma  <tot@trema.com>
1395
1396         * Makefile.in (GTHREAD_FLAGS): New var.
1397         (LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS).
1398         (distclean): Remove gthr-default.h.
1399
1400         * configure.in: Accept dce as a thread package.
1401         Check for thread.h and pthread.h.
1402         Link gthr-default.h to appropriate thread file and set
1403         gthread_flags.
1404         (hppa1.1-*-hpux10*): If --enable-threads, use dce threads and
1405         include multilib definitions from pa/t-dce-thr.
1406         (sparc-*-solaris2*): Enable threads by default, if thread.h or
1407         pthread.h is found, preferring posix threads over solaris ones.
1408
1409         * config/pa/t-dce-thr: New file.
1410         * config/pa/t-pa: Removed multilibs.
1411         * config/sparc/t-sol2: Ditto.
1412                 
1413         * gthr.h: New file.
1414         * gthr-single.h: New file.
1415         * gthr-posix.h: New file.
1416         * gthr-solaris.h: New file.
1417         * gthr-dce.h: New file.
1418         * libgcc-thr.h: Removed.
1419         * objc/thr-dce.c: New file copied from thr-decosf1.c.
1420
1421         * frame.c: Include gthr.h instead of libgcc-thr.h.
1422         * libgcc2.c: Include gthr.h instead of libgcc-thr.h.
1423         (eh_context_initialize): If __gthread_once fails, use static eh
1424         context.
1425         (eh_context_free): Call __gthread_key_dtor.
1426
1427 Wed Dec 24 23:33:17 1997  Jeffrey A Law  (law@cygnus.com)
1428
1429         * expr.h (MUST_PASS_IN_STACK): Allow target port to override.
1430
1431 Wed Dec 24 23:12:14 1997  Jim Wilson  <wilson@cygnus.com>
1432
1433         * cse.c (max_insn_uid): New variable.
1434         (cse_around_loop): Use max_insn_uid.
1435         (cse_main): Set max_insn_uid.
1436
1437         * abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
1438         and define __LONG_MAX__ appropriately.  Add support for -mabi=X,
1439         -mlong64, and -mgp{32,64} options.
1440         * mips.c (mips_abi): Change type to int.
1441         * mips.h (enum mips_abi_type): Delete.
1442         (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
1443         (mips_abi): Change type to int.
1444
1445 Wed Dec 24 22:38:34 1997  John Carr  <jfc@mit.edu>
1446
1447         * flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
1448         optimization is now always enabled.
1449
1450         * calls.c (expand_call): Recognize C++ operator new as malloc-like
1451         function.
1452
1453         * alias.c (memrefs_conflict_p): Eliminate tests now done by
1454         base_alias_check.
1455         (*_dependence): Call canon_rtx before base_alias_check.
1456         (init_alias_once): New function to precompute set of registers which
1457         can hold Pmode function arguments.
1458
1459         * rtl.h: Declare init_alias_once.
1460
1461         * toplev.c (compile_file): Call init_alias_once.
1462
1463 Wed Dec 24 22:34:55 1997  Jeffrey A Law  (law@cygnus.com)
1464
1465         * tree.c (restore_tree_status): Do not dereference a null pointer.
1466
1467 Tue Dec 23 12:56:46 1997 Paul Eggert <eggert@twinsun.com>:
1468
1469         * genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to
1470         RLIMIT_STACK.  This maintains consistency with the recent, similar
1471         patch to cccp.c and toplev.c.
1472
1473 Tue Dec 23 05:17:28 1997  Richard Henderson  <rth@cygnus.com>
1474
1475         * genattrtab.c (expand_units): For large nr opclasses, expand
1476         function_units_used with ORX to prevent blowups.  Tag with FFS.
1477         (num_unit_opclasses): New variable.
1478         (gen_unit): Update it.
1479         (enum operator): Add ORX_OP.
1480         (operate_exp): Treat ORX as or, except don't expand across an if.
1481         Reuse number rtx's after operating on them.
1482         (check_attr_value): Accept IOR, AND, & FFS.
1483         (write_test_expr): Transmute `in_comparison' to `flags'.  Allow
1484         for attribute value caching.  Handle CONST_STRING, IF_THEN_ELSE.
1485         (write_expr_attr_cache, write_toplevel_expr): New functions.
1486         (write_attr_get): Handle FFS-tagged expressions.
1487         (make_canonical): Don't expand const attributes.
1488         (convert_const_symbol_ref): Dike out.
1489         (evaluate_eq_attr): Handle SYMBOL_REF.
1490         (main): Don't emit get_attr_foo for const attributes.
1491
1492         * alpha.c (override_options): Reinstate PROCESSOR_EV6.
1493         (alpha_adjust_cost): Add EV6 tuning; streamline EV5 tests.
1494         * alpha.h (REGISTER_MOVE_COST): Increase ftoi/itof cost slightly.
1495         * alpha.md: Redo all of the scheduling, adding EV6 support, and 
1496         combining function units where possible.  
1497         (attr "type"): Split loads, stores, cmov into int/fp.  Combine
1498         multiplies and divides.  Add EV6 sqrt, ftoi, itof.
1499         (attr "opsize"): New attribute.
1500         (sqrtsf2-1, sqrtdf2-1): Provide proper TP_INSN patterns.
1501         (movsf2-[12], movdf2-[12]): Provide CIX varients; don't allow CIX
1502         to control register allocation.
1503         (movsi2-1, movdi2-1): Likewise.
1504
1505 Tue Dec 23 03:53:21 1997  Richard Henderson  <rth@cygnus.com>
1506         
1507         * alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC,
1508         MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC):
1509         Move OSF/1 specific defines out.
1510         * alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS):
1511         Move Linux specific defines out.
1512         (LINK_SPEC): Genericize.
1513         (ASM_FILE_START): Emit .arch if using more than the base insn set.
1514         (ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version.
1515         (SDB_DEBUGGING_INFO): Remove; gas can't handle it.
1516         (HANDLE_SYSV_PRAGMA): Define.
1517         * alpha/osf.h: New file.
1518         * alpha/linux.h: Split.  Retain file-format independant defines.
1519         Import Linux bits from elf.h.
1520         (CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES
1521         (FUNCTION_PROFILER): _mcount takes its address in $28.
1522         (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef.
1523         * alpha/linux-ecoff.h: New file.
1524         * alpha/linux-elf.h: New file.
1525         * alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h.
1526         * alpha/win-nt.h (TARGET_DEFAULT): Define.
1527         * configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]:
1528         Add new headers as appropriate.
1529         
1530         * configure.in (alpha*): Enable Haifa by default.
1531         (*-*-winnt3*): Change to winnt*, since we're not v3 specific.
1532         * configure: Rebuild.
1533         
1534 Tue Dec 23 03:14:54 1997  Richard Henderson  <rth@cygnus.com>
1535
1536         * Makefile.in (clean): Remove the stages with their objects here ...
1537         (distclean): ... instead of here.
1538
1539 Mon Dec 22 11:24:01 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1540  
1541         * cse.c (rtx_cost): Add default case in enumeration switch.
1542         * fix-header.c (recognized_macro): Likewise.
1543         (recognized_extern): Likewise.
1544         (write_rbrac): Likewise.
1545         * objc/objc-act.c (encode_aggregate): Likewise.
1546         (gen_declarator): Likewise.
1547         (gen_declspecs): Likewise.
1548
1549 Mon Dec 22 09:58:51 1997  Jeffrey A Law  (law@cygnus.com)
1550
1551         * haifa-sched.c (create_reg_dead_note): Detect and handle another
1552         case where we kill more regs after sched than were killed before
1553         sched.
1554         * sched.c (create_reg_dead_note): Similarly.
1555
1556 Mon Dec 22 09:18:37 1997  Jeffrey A Law  (law@cygnus.com)
1557
1558         * c-pragma.c: Include flags.h.
1559
1560 Sun Dec 21 22:10:59 1997  Mumit Khan <khan@xraylith.wisc.edu>
1561
1562         * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Don't assume anything
1563         about system headers.
1564         (LIB_SPEC): Add -ladvapi32 -lshell32 to be consistent with mingw32
1565         and also to resolve symbols in prefix.c.
1566
1567         * i386/xm-cygwin32.h (HAVE_BCOPY): Define. This avoids a conflict
1568         between gansidecl.h and newlib's _ansi.h when building libgcc2.a,
1569         when the definitions in auto-config.h is not visible.
1570         (HAVE_BZERO): Likewise.
1571         (HAVE_BCMP): Likewise.
1572         (HAVE_RINDEX): Likewise.
1573         (HAVE_INDEX): Likewise.
1574
1575 Sun Dec 21 21:54:22 1997  Jeffrey A Law  (law@cygnus.com)
1576
1577         * pa.c (emit_move_sequence): Handle a function label source
1578         operand.
1579
1580 Sun Dec 21 16:13:55 1997  Nick Clifton  <nickc@cygnus.com
1581
1582         * c-pragma.c (handle_pragma_token): Generate warning messages
1583         about unknown pragmas if warn_unknown_pragmas is set.
1584
1585         * c-decl.c (c_decode_option): Parse -Wunknown-pragmas command
1586         line option to set variable: warn_unknown_pragmas.
1587
1588 Sun Dec 21 15:51:10 1997  Manfred Hollstein  <manfred@lts.sel.alcatel.de>
1589
1590         * m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in the
1591         definition.
1592         (ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
1593
1594 Sun Dec 21 13:58:39 1997  Jeffrey A Law  (law@cygnus.com)
1595
1596         * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
1597         (libgcc2.a): Depend on $(DPBIT) and $(FPBIT).  Add rules to
1598         generate more fine grained floating point emulation libraries.
1599         * config/fp-bit.c: Add protecting #ifdef to all functions so
1600         that they can be compiled separately.  If !FINE_GRAINED_LIBRARIES,
1601         then compile all suitable functions.
1602         (pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
1603         underscores to avoid namespace pollution.
1604         * t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c
1605         (FPBIT): Define.
1606         * t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
1607         (FPBIT): Define.
1608         (DPBIT): Define.
1609
1610 Sat Dec 20 11:26:47 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1611                           Jeff Law  <law@cygnus.com>
1612
1613         * bitmap.c (bitmap_clear): Ensure `inline' is at the beginning
1614         of the declaration.
1615         * c-decl.c (finish_decl): Use parentheses around && within ||.
1616         * rtl.c: Include stdlib.h.
1617         (read_skip_spaces): Add parentheses around assignments used as
1618         truth values.
1619         (read_rtx): Initialize list_rtx.
1620         * cppexp.c (parse_number): Use || when operands are truth values.
1621         * alias.c (find_base_value): Add default case.
1622         (memrefs_conflict): Likewise.
1623         * combine.c (sets_function_arg_p): Likewise.
1624         * genemit.c (gen_exp): Likewise.
1625         * local-alloc.c (contains_replace_regs): Likewise.
1626         * rtlanal.c (jmp_uses_reg_or_mem): Likewise.
1627         * fold-const.c (fold_convert): Use "&&" for truth values.
1628         (fold): Add default case.
1629         * sdbout.c (sdbout_field_types): Fix typo in declaration.
1630         (sdbout_one_type): Add default case.
1631         * alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS.
1632         (some_operand): Add default case.
1633         (input_operand): Likewise.
1634         (signed_comparison_operator): Likewise.
1635         (divmod_operator): Likewise.
1636         (alpha_set_memflags_1): Likewise.
1637         * reload1.c (reload_cse_simplify_operands): Ensure function
1638         always returns a value.
1639         * scan-decls.c (scan_decls): Likewise.
1640         * c-lex.c (skip_white_space): Fix typo in declaraion.
1641         * c-typeck.c (comp_target_types): Add parentheses around assignment
1642         used as truth value.
1643         (print_spelling): Likewise.
1644         (constructor_implicit, constructor_result): Remove unused variables.
1645         * collect2.c (scan_library): Protect prototype with
1646         #ifdef SCAN_LIBRARIES.
1647         * emit-rtl.c (find_line_note): Fix typo in declaration.
1648         * final.c (asm_insn_count): Protect prototype with 
1649         #ifdef HAVE_ATTR_length.
1650         * flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC.
1651         (try_pre_increment_1, try_pre_increment): Likewise.
1652         * regclass.c (auto_inc_dec_reg_p): Protect prototype with
1653         #ifdef FORBIDDEN_INC_DEC_CLASSES.  Make return type explicit.
1654         * gcov-io.h (__store_long, __write_long, __read_long): Fix
1655         unsigned/signed comparisons.
1656         * gcov.c (read_files): Remove unused "first_type" variable.
1657         (scan _for_source_files): Initialize s_ptr.
1658         (function_summary): Eliminate "%lf" formatting, use %ld for
1659         longs.
1660         (output_data): Initialize branch_probs and last_line_num.
1661         Eliminate "%lf" formatting, use "%ld" for longs.
1662
1663 Fri Dec 19 17:31:11 1997  Ian Lance Taylor  <ian@cygnus.com>
1664
1665         * mips16.S: New file.
1666
1667         * libgcc2.c (varargs): Handle mips16.
1668
1669         * expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an
1670         expression.
1671         * stmt.c (expand_end_case): Likewise.
1672         * alpha.h (CASE_VECTOR_PC_RELATIVE): Update.
1673         * fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise.
1674         * rs6000.h, sh.h, tahoe.h, v850.h vax.h z8k.h: Likewise.
1675
1676 Tue Dec 16 15:14:09 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1677
1678         * objc/Make-lang.in: Create runtime-info.h and libobjc_entry.o in
1679         the build directory.
1680         (libobjc.a): Update dependency list.
1681         (libobjc.dll): Likewise.  Use libobjc_entry.o from the build
1682         directory.
1683         (objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
1684         (objc.mostlyclean): Remove runtime-info.h.
1685
1686 Fri Dec 19 00:19:42 1997  Richard Henderson  <rth@cygnus.com>
1687
1688         * tree.c (build_range_type): Allow creation of ranges with no maximum.
1689         * dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE.
1690         * dwarf2out.c (add_subscript_info): Likewise.
1691         * dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise.
1692         * sdbout.c (plain_type_1): Likewise.
1693         * stmt.c (pushcase_range, all_cases_count, node_has_high_bound):
1694         Likewise.
1695         * fold-const.c (int_const_binop, fold_convert, make_range, fold):
1696         Likewise.
1697
1698 Thu Dec 18 17:05:10 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1699  
1700         * mips.c (fatal): Remove declaration.
1701
1702 1997-12-18  Mark Mitchell  <mmitchell@usa.net>
1703
1704         * integrate.c (get_label_from_map): New function.
1705         (expand_inline_function): Use it.  Initialize the label_map to
1706         NULL_RTX instead of gen_label_rtx.
1707         (copy_rtx_and_substitute): Use get_label_from_map.
1708         * integrate.h (get_label_from_map): New function.
1709         (set_label_from_map): New macro.
1710         * unroll.c (unroll_loop): Use them.
1711         (copy_loop_body): Ditto.
1712
1713 Thu Dec 18 19:19:57 1997  Ian Lance Taylor  <ian@cygnus.com>
1714
1715         * mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
1716         (INIT_TARGET_OPTABS): Define.
1717         * mips/ecoff.h: Include gofast.h before mips.h.
1718         (INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS.
1719         * mips/elf64.h: Likewise.
1720         * mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define.
1721
1722 Thu Dec 18 14:51:12 1997  Jason Merrill  <jason@yorick.cygnus.com>
1723
1724         * except.c: Remove register_exception_table{,_p}.
1725
1726 Thu Dec 18 14:57:29 1997  Gavin Koch  <gavin@cygnus.com>
1727
1728         * unroll.c (calculate_giv_inc): Handle constant increment found in
1729         a MEM with an appropriate REG_EQUAL note.
1730
1731         * calls.c (expand_call): Implement LOAD_ARGS_REVERSED.
1732
1733         * dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the
1734         frame pointer in the prologue.
1735
1736 Thu Dec 18 00:19:38 1997  Robert Lipe <robertl@dgii.com>
1737
1738         * i386/x-sco5 (CLIB) Deleted.  (ALLOCA) Added.
1739         * i386/xm-sco5.h  (USE_C_ALLOCA) Added.
1740
1741 Tue Dec 16 18:51:00 1997  Bill Moyer <billm@cygnus.com>
1742          
1743         * config/m68k/m68k.c (output_function_prologue): Typecast
1744         dwarf2out_cfi_label to (char *).
1745         * config/m68k/m68kemb.h (STARTFILE_SPEC): Redefined to "".
1746          
1747 Wed Dec 17 15:06:04 1997  Richard Henderson  <rth@cygnus.com>
1748
1749         * sparc.md (jump): Don't use the annul bit around an empty loop.
1750         Patch from Kevin.Kelly@East.Sun.COM.
1751
1752 Wed Dec 17 00:51:36 1997  Stan Cox (scox@cygnus.com)
1753
1754         * jump.c: (jump_optimize): Don't use the return register as a 
1755         source1 of a conditional move.
1756
1757 Tue Dec 16 23:45:40 1997  Richard Henderson  <rth@cygnus.com>
1758
1759         * sparc.c (DF_MODES): Or the mask not the bit number.
1760         (function_arg) [ARCH64]: Send unprototyped arg to fp reg first.
1761
1762 Wed Dec 17 00:13:48 1997  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
1763
1764         * combine.c (force_to_mode): return immediately if operand is a CLOBBER.
1765
1766 Tue Dec 16 23:44:54 1997  Manfred Hollstein  <manfred@s-direktnet.de>
1767
1768         * fixincludes (size_t): Add support for Motorola's stdlib.h
1769         which fails to provide a definition for size_t.
1770         (fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3.
1771         (strlen,strspn,strcspn return value): Handle different layout on sysV88.
1772         (hypot): Provide a fake for hypot for m88k-motorola-sysv3.
1773
1774         * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
1775         prevent unresolved externals in libio.
1776         * m88k/xm-sysv3.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Likewise.
1777
1778 Tue Dec 16 23:25:45 1997  H.J. Lu  (hjl@gnu.org)
1779
1780         * config/sparc/linux64.h (LIBGCC_SPEC): Removed.
1781         (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
1782         (LIB_SPEC): Updated for glibc 2.
1783
1784 Tue Dec 16 20:11:36 1997  Jeffrey A Law  (law@cygnus.com)
1785
1786         * ginclude/stdarg.h: Undo BeOS changes, they break hpux.
1787         * ginclude/varargs.h: Likewise.
1788
1789 Tue Dec 16 00:32:01 1997  Jeffrey A Law  (law@cygnus.com)
1790
1791         * version.c: Bump for snapshot.
1792
1793 Tue Dec 16 00:14:29 1997  H.J. Lu  (hjl@gnu.org)
1794
1795         * frame.h (__register_frame, __register_frame_table,
1796         __deregister_frame): New.
1797         * frame.c (__register_frame, __register_frame_table,
1798         __deregister_frame): New.
1799         * frame.c (__deregister_frame_info): Return void *.
1800         * frame.h (__deregister_frame_info): Ditto.
1801         * collect2.c (__deregister_frame_info): Ditto.
1802
1803 Mon Dec 15 18:40:08 1997  Richard Henderson  <rth@cygnus.com>
1804
1805         * expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
1806
1807 Mon Dec 15 18:31:43 1997  Richard Henderson  <rth@cygnus.com>
1808
1809         * alpha.c (alpha_cpu_name): New variable.
1810         (alpha_mlat_string): Likewise.
1811         (alpha_memory_latency): Likewise.
1812         (override_options): Handle -mmemory-latency.
1813         (alpha_adjust_cost): Adjust load cost for latency.
1814         * alpha.h (TARGET_OPTIONS): Add meory-latency.
1815         (REGISTER_MOVE_COST): Define in terms of memory_latency.  Take
1816         TARGET_CIX into account.
1817         (MEMORY_MOVE_COST): Define in terms of memory_latency.
1818         * invoke.texi (DEC Alpha Options): Document -mmemory-latency.
1819
1820         * alpha.h (ASM_COMMENT_START): New macro.
1821
1822 Mon Dec 15 17:48:05 1997  Richard Henderson  <rth@cygnus.com>
1823
1824         * reload.h, reload1.c (eliminate_regs), caller-save.c, dbxout.c,
1825         dwarfout.c, dwarf2out.c, reload.c, sdbout.c: Revert March 15 change.
1826
1827         * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
1828         SUBREG_REG if the word count is unchanged.
1829         * reload1.c (eliminate_regs) [case SET]: If W_R_O, preserve
1830         subregs of identical word size for push_reload.
1831
1832 Mon Dec 15  Mark Mitchell  <mmitchell@usa.net> 11:41:32 1997
1833
1834         * toplev.c (rest_of_compilation): Don't call save_for_inline_copy
1835         if all we're doing is dealing with -Wreturn-type.
1836
1837 Mon Dec 15 09:44:39 1997  Richard Henderson  <rth@cygnus.com>
1838
1839         * alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2):
1840         Use and 255 instead of zapnot 1, since it schedules better.
1841
1842 Mon Dec 15 08:48:24 1997  Jeffrey A Law  (law@cygnus.com)
1843
1844         * stmt.c (expand_asm_operands): If an ASM has no outputs, then treat
1845         it as volatile.
1846
1847 Mon Dec 15 00:04:48 1997  Jeffrey A Law  (law@cygnus.com)
1848
1849         * haifa-sched.c (remove_dependencies): Set RTX_INTEGRATED_P on
1850         dependency we delete.  Properly update prev for multiple consecutive
1851         deletions.
1852         (priority): Skip deleted dependence.
1853
1854 Fri Dec 12 18:54:23 1997  Per Bothner  <bothner@cygnus.com>
1855
1856         * expr.c (expand_builtin):  Support BUILT_IN_FMOD - just call fmod.
1857
1858 Fri Dec 12 01:19:48 1997  Jason Merrill  <jason@yorick.cygnus.com>
1859
1860         * flow.c (flow_analysis): Be consistent with find_basic_blocks in
1861         determining when a new basic block starts.
1862
1863         * alpha/osf2or3.h (LIB_SPEC): Restore missing defn.
1864
1865         * pa.h (TEXT_SPACE_P): Use TREE_CODE_CLASS.
1866         * pa.md (iorsi3): Add missing args to *_operand calls.
1867
1868         * except.c (call_get_eh_context): Don't mess with sequences.
1869         (emit_eh_context): Include the call in the sequence here.
1870
1871 1997-12-11  Paul Eggert  <eggert@twinsun.com>
1872
1873         * collect2.c (write_c_file_glob): Allocate initial frame object
1874         in static storage and pass its address.
1875
1876 Thu Dec 11 23:33:48 1997  Jason Merrill  <jason@yorick.cygnus.com>
1877
1878         * except.c (call_get_eh_context): Don't take a parm.
1879         Put the call at the top of the function.
1880         (emit_eh_context): Adjust.
1881         (get_eh_context): Replace with former use_eh_context.
1882         (get_eh_context_once, get_saved_pc_ref): Remove.
1883         (start_eh_unwinder, end_eh_unwinder, emit_unwinder): Remove.
1884         * except.h: Adjust.
1885         * integrate.c (expand_inline_function): Adjust.
1886         * toplev.c (rest_of_compilation): Don't call emit_unwinder.
1887
1888 Fri Oct 10 17:58:31 CEST 1997  Marc Lehmann <pcg@goof.com>
1889
1890         * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
1891         (DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise.
1892
1893 Thu Dec 11 23:55:17 1997  Manfred Hollstein  <manfred@s-direktnet.de>
1894
1895         * fixincludes (strlen,strspn,strcspn return value): Handle different
1896         layout on sysV88.
1897         (hypot): Provide a fake for hypot which is broken on 
1898         m88k-motorola-sysv3.
1899
1900 Thu Dec 11 23:50:17 1997  John F. Carr  <jfc@mit.edu>
1901
1902         * tree.c, tree.h: Change tree_code_type, tree_code_length, and
1903         tree_code_name from pointers to arrays.
1904         * tree.c: Remove standard_tree_code_* variables, no longer used.
1905         * print-tree.c: Remove declaration of tree_code_name.
1906
1907         * cp/lex.c (init_lex): Update for tree_code_* changes.
1908         * objc/objc-act.c (init_objc): Likewise.
1909
1910         * tree.def, cp/cp-tree.def, objc/objc-tree.def: Update for tree_code
1911         changes.
1912
1913 Thu Dec 11 23:34:54 1997  Fred Fish  <fnf@ninemoons.com>
1914
1915         * config.sub: Add support for BeOS target.
1916         * configure.in: Likewise.
1917         * ginclude/stdarg.h: Likewise.
1918         * ginclude/stddef.h: Likewise.
1919         * ginclude/varargs.h: Likewise.
1920         * rs6000/beos.h: New file for BeOS.
1921         * rs6000/t-beos: Likewise.
1922         * rs6000/x-beos: Likewise.
1923         * rs6000/xm-beos.h: Likewise.
1924         * toplev.c (get_run_time): Just return 0 on BeOS.
1925
1926 Thu Dec 11 23:25:23 1997  Jeffrey A Law  (law@cygnus.com)
1927                           Toon Moene  (toon@moene.indiv.nluug.nl)
1928
1929         * m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly
1930         old and broken Sun3 assemblers.  Newer versions handle large
1931         offsets correctly as does the GNU assembler.
1932
1933 Thu Dec 11 23:06:48 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
1934
1935         * objc/objc-act.c (lang_report_error_function): Disable.
1936         * objc/objc-parse.y: Include "output.h".
1937         (yyerror): Remove redundant decl.
1938         (yyprint): Fix prototype.
1939         (apply_args_register_offset): Remove redundant decl.
1940         (get_file_function_name): Likewise.
1941
1942 Thu Dec 11 22:02:10 1997  Jason Merrill  <jason@yorick.cygnus.com>
1943
1944         * flow.c (find_basic_blocks): A CALL_INSN that can throw starts
1945         a new basic block.
1946         (find_basic_blocks_1): Likewise.
1947
1948 Thu Dec 11 21:08:48 1997  Jason Merrill  <jason@yorick.cygnus.com>
1949
1950         * except.c (use_eh_context): Don't copy_rtx a REG.
1951         (emit_throw): Lose old unwinder support.
1952         (expand_internal_throw): Likewise.
1953         * libgcc2.c (struct eh_context): Likewise.
1954         (new_eh_context): Likewise.
1955         (__get_eh_info): Lose redundant cast.
1956         (__get_dynamic_handler_chain): Likewise.
1957         (__get_saved_pc): Lose.
1958         Lose all old unwinder support code.
1959
1960 Thu Dec 11 20:42:18 1997  Teemu Torma  <tot@trema.com>
1961
1962         Thread-safe EH support for pthreads, DCE threads and Solaris threads.
1963         
1964         * integrate.c (expand_inline_function): If the inline fn uses eh
1965         context, make sure that the current fn has one.
1966         * toplev.c (rest_of_compilation): Call emit_eh_context.
1967         * except.c (use_eh_context): New fn.
1968         (get_eh_context_once): New fn.
1969         (call_get_eh_context): New fn.
1970         (emit_eh_context): New fn.
1971         (get_eh_context): Call either get_eh_context_once or
1972         call_get_eh_context, depending on what we have.
1973         (get_dynamic_handler_chain): Call get_eh_context_once.
1974         * except.h: Prototypes for fns above.
1975         * optabs.c (get_eh_context_libfunc): Removed.
1976         (init_optabs): Don't initialize it.
1977         * expr.h (get_eh_context_libfunc): Removed.
1978         * rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
1979         * config/pa/pa.h (CPP_SPEC): Support for -threads.
1980         * config/pa/pa-hpux10.h (LIB_SPEC): Ditto.
1981         * config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
1982         New multilib for -threads.
1983         * config/sparc/t-sol2: Added multilibs for -threads and
1984         made -pthreads alias to it.
1985         * config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
1986         Added -threads and -pthreads options.
1987         * libgcc-thr.h: New file.
1988         * libgcc2.c: (__get_cpp_eh_context): Removed.
1989         (struct cpp_eh_context): Removed.
1990         (struct eh_context): Replaced cpp_eh_context with generic language
1991         specific pointer. 
1992         (__get_eh_info): New function.
1993         (__throw): Check eh_context::info.
1994         (__sjthrow): Ditto.
1995         * libgcc2.c: Include libgcc-thr.h.
1996         (new_eh_context, __get_eh_context,
1997         eh_pthread_initialize, eh_context_initialize, eh_context_static,
1998         eh_context_specific, eh_context_free): New functions.
1999         (get_eh_context, eh_context_key): New variables.
2000         (__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
2001         get_eh_context to get the context.
2002         (longjmp): Move the declaration inside
2003         #ifdef DONT_USE_BUILTIN_SETJMP.
2004         * frame.c: Include libgcc-thr.h.
2005         (object_mutex): Mutex to protect the object list.
2006         (find_fde, __register_frame, __register_frame_table,
2007         __deregister_frame): Hold the lock while accessing objects.
2008         * except.h (get_eh_context): Declare.
2009         * except.c (current_function_ehc): Define.
2010         (current_function_dhc, current_function_dcc): Removed.
2011         (get_eh_context): New function.
2012         (get_dynamic_handler_chain): Use get_eh_context.
2013         (get_saved_pc_ref): Ditto.
2014         (get_dynamic_cleanup_chain): Removed references to
2015         current_function_dcc.
2016         (save_eh_status, restore_eh_status): Save and restore
2017         current_function_ehc instead.
2018         * optabs.c (get_eh_context_libfunc): New variable.
2019         (init_optabs): Initialize it.
2020         * expr.h: Declare get_eh_context_libfunc.
2021         * function.h (struct function): Replaced dhc and dcc with ehc.
2022         * except.c (get_saved_pc_ref): New functions.
2023         (eh_saved_pc_rtx, eh_saved_pc): Deleted.
2024         (expand_internal_throw_indirect): Use get_saved_pc_ref() instead
2025         of eh_saved_pc.
2026         (end_eh_unwinder): Likewise.
2027         (init_eh): Remove initialization of eh_saved_pc.
2028         * optabs.c (get_saved_pc_libfunc): New variable.
2029         (init_optabs): Initialize it.
2030         * expr.h: Declare get_saved_pc_libfunc.
2031         * except.h (eh_saved_pc_rtx): Deleted.
2032         (get_saved_pc_ref): Declared.
2033
2034         From Scott Snyder <snyder@d0sgif.fnal.gov>:
2035         * libgcc2.c (__get_saved_pc): New.
2036         (__eh_type, __eh_pc): Deleted.
2037         (__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
2038         (__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
2039         this fcn.
2040
2041 Thu Dec 11 17:23:48 1997  John F. Carr  <jfc@mit.edu>
2042
2043         * sparc/sol2.h: Use 64 bit multiply and divide functions in
2044         Solaris libc.  Define TARGET_LIVE_G0 and TARGET_BROKEN_SAVERESTORE
2045         as 0.
2046
2047         * rtl.h (global_rtl): New variable, replacing separate variables for
2048         commonly used rtl.
2049         (const_int_rtx): Now array of rtx_def, not rtx.
2050         * emit-rtl.c: Update for new rtl data structures.
2051         * genattrtab.c: Define global_rtl.
2052
2053 Thu Dec 11 15:50:29 1997 David Edelsohn  <edelsohn@mhpcc.edu>
2054
2055         * configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by
2056         default.
2057
2058 Wed Dec 10 12:30:18 1997  Anthony Green  <green@cygnus.com>
2059
2060         * crtstuff.c (__do_global_ctors): Fix typo.
2061
2062 Tue Dec  9 09:43:59 1997  Manfred Hollstein  <manfred@s-direktnet.de>
2063
2064         * toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
2065         to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
2066
2067 Tue Dec  9 09:38:58 1997  David Edelsohn  <edelsohn@mhpcc.edu>
2068
2069         * rs6000.h (FUNCTION_ARG_PADDING): Define.
2070         * rs6000.c (function_arg_padding): New function.
2071
2072 Tue Dec  9 10:34:21 1997  Manfred Hollstein  <manfred@s-direktnet.de>
2073
2074         * m68k.c: Include tree.h only once.
2075
2076 Tue Dec  9 09:32:33 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2077
2078         * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
2079
2080 Tue Dec  9 01:16:06 1997  Jeffrey A Law  (law@cygnus.com)
2081
2082         * Partially cleaned up prototyping code from HJ.
2083         * tree.h: Add many prototypes.
2084         * haifa-sched.c (haifa_classify_insn): Renamed from classify_insn.
2085         All references changed.
2086         * rtl.h: Protect from multiple inclusions.  Add many prototypes.
2087         
2088 Tue Dec  9 01:15:15 1997  Fred Fish  <fnf@ninemoons.com>
2089
2090         * libgcc2.c (string.h): Hoist inclusion to occur before first use of
2091         string functions like strlen.
2092
2093 Tue Dec  9 00:57:38 1997  Manfred Hollstein  <manfred@s-direktnet.de>
2094
2095         * configure.in: Check for functions getrlimit and setrlimit.
2096         * cccp.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
2097         to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
2098
2099 Mon Dec  8 23:53:26 1997  Jay Sachs <sachs@bull.cs.williams.edu>
2100
2101         * Makefile.in (compare*): Handle losing behavior from 4.4bsd make.
2102
2103 Mon Dec  8 21:03:28 1997  Richard Henderson  <rth@cygnus.com>
2104
2105         * alpha.c (REG_RA, alpha_return_addr, output_epilog):
2106         Fix merge problems.
2107
2108         * alpha.c (override_options): Don't know about scheduling for EV6.
2109         * alpha.md (ev5 function units): Don't overload as ev6.
2110
2111         * alpha.c (alpha_adjust_cost): Simplify.  Fix typo in ev5 mult case.
2112         * alpha.md (define_attr type): Add mvi.
2113         (ev5_e0): Define sceduling parameters for it.
2114         (TARGET_MAX insns): Type is mvi not shift.
2115
2116 Mon Dec  8 18:15:00 1997  Richard Henderson  <rth@cygnus.com>
2117
2118         * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix backported gcc-2.8 bug.
2119
2120 Mon Dec  8 21:17:28 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
2121
2122         * cstamp-h, auto-config.h: Delete.
2123
2124 Sun Dec  7 19:19:03 1997  Jeffrey A Law  (law@cygnus.com)
2125
2126         * version.c: Bump for snapshot.
2127
2128 Sat Dec  6 22:22:22 1997  Jeffrey A Law  (law@cygnus.com)
2129
2130         * cccp.c: Fix typo brought over in merge.
2131
2132         * Merge in changes from gcc-2.8.
2133
2134 Mon Nov  3 05:45:32 1997  Philippe De Muyter  <phdm@macqel.be>
2135
2136         * m68k.c: Include tree.h for dwarf2out_cfi_label.
2137
2138         * gcc.c (process_command): Do not take address of function fatal when
2139         calling lang_specific_driver.
2140
2141 Sat Dec  6 01:02:38 1997  Mumit Khan  <khan@xraylith.wisc.edu>
2142
2143         * config/i386/cygwin32.h (DWARF2_UNWIND): Exception handling 
2144         doesn't work with it yet, so set it to 0.
2145         * config/i386/xm-cygwin32.h (NO_SYS_SIGLIST): Define.
2146
2147 Sat Dec  6 01:01:02 1997  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
2148
2149         * cse.c (cse_insn): Check for invalid entries when taking references.
2150
2151 Fri Dec  5 18:26:25 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
2152
2153         * loop.c (invariant_p): Don't test flag_rerun_loop_opt.
2154         (loop_optimize, scan_loop, strength_reduce): New argument unroll_p.
2155         * toplev.c (rest_of_compilation): Pass it.  Remove code to
2156         save / clear / restore flag_unroll_{,all_}loops.
2157
2158 Fri Dec  5 16:26:03 1997  Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
2159
2160         * i386.c (notice_update_cc): Remove bogus pentium GCC code.
2161
2162 Fri Dec  5 16:25:14 1997  Jeffrey A Law  (law@cygnus.com)
2163
2164         * stmt.c (warn_if_unused_value): Don't warn for TRY_CATCH_EXPR.
2165
2166 Thu Dec  4 11:51:00 1997  Jason Merrill  <jason@yorick.cygnus.com>
2167
2168         * except.c (get_dynamic_handler_chain): Only make the call once per
2169         function.
2170
2171         * except.c (expand_end_all_catch): Fix for sjlj exceptions.
2172
2173 Thu Dec  4 12:30:40 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
2174
2175         * sh.c (final_prescan_insn): Use local label prefix
2176         when emitting .uses pseudo-ops.
2177
2178 Wed Dec  3 12:01:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
2179
2180         * libgcc2.c (__throw): Use __builtin_return_addr instead of __eh_pc.
2181         * except.c: Lose outer_context_label_stack.
2182         (expand_eh_region_end): Rethrow from outer_context here.
2183         (expand_fixup_region_end): Let expand_eh_region_end do the rethrow.
2184         (expand_internal_throw): Take no args.
2185         (expand_internal_throw_indirect): Lose.
2186         (expand_leftover_cleanups, expand_start_all_catch): Use expand_rethrow.
2187         (expand_start_all_catch): Start a rethrow region.
2188         (expand_end_all_catch): End it.
2189         (expand_rethrow): New fn.
2190         * except.h: Reflect above changes.
2191         * flow.c: Revert change of Nov 27.
2192
2193 Thu Dec  4 00:24:09 1997  Jeffrey A Law  (law@cygnus.com)
2194
2195         * i386/t-sol2 (CRTSTUFF_T_CFLAGS): Turn on the optimizer.
2196
2197 Wed Dec  3 12:01:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
2198
2199         * except.c (expand_fixup_region_end): New fn.
2200         (expand_fixup_region_start): Likewise.
2201         (expand_eh_region_start_tree): Store cleanup into finalization here.
2202         * stmt.c (expand_cleanups): Use them to protect fixups.
2203
2204 Wed Dec  3 11:41:13 1997  Gavin Koch  <gavin@cygnus.com>
2205
2206         * mips/mips.md (muldi3_r4000): Broaden the output template
2207         and attribute assignments to handle three operand dmult;
2208         rename to muldi3_internal2.
2209         (muldi3): Call the new muldi3_internal2 for R4000, and
2210         any GENERATE_MULT3 chip.
2211
2212 Tue Dec  2 19:40:43 1997  Jason Merrill  <jason@yorick.cygnus.com>
2213
2214         * stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
2215
2216 Tue Dec  2 12:54:33 1997  Jim Wilson  <wilson@cygnus.com>
2217
2218         * unroll.c (find_splittable_givs):  Remove last change.  Handle givs
2219         with a dest_reg that was created by loop.
2220
2221 Sat Nov 29 12:44:57 1997  David Edelsohn  <edelsohn@mhpcc.edu>
2222
2223         * rs6000.c (function_arg_partial_nregs): Undo Nov. 26 patch.
2224
2225         * rs6000/aix41.h (ASM_CPU_SPEC): Define.
2226
2227 Fri Nov 28 10:00:27 1997  Jeffrey A Law  (law@cygnus.com)
2228
2229         * configure.in: Fix NCR entries.
2230
2231 Thu Nov 27 12:20:19 1997  Jeffrey A Law  (law@cygnus.com)
2232
2233         * flow.c (find_basic_blocks): Handle cfg issues for rethrows and
2234         nested exceptions correctly.
2235
2236         * unroll.c (find_splittable_givs): Don't split givs with a dest_reg
2237         that was created by loop.
2238
2239 Thu Nov 27 09:34:58 1997  Jason Merrill  <jason@yorick.cygnus.com>
2240
2241         * expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
2242
2243         * except.c (expand_start_all_catch): One more do_pending_stack_adjust.
2244
2245 Wed Nov 26 15:47:30 1997  Michael Meissner  <meissner@cygnus.com>
2246
2247         * rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
2248         (print_operand): Use SMALL_DATA_REG for the register involved in
2249         small data relocations.
2250         (print_operand_address): Ditto.
2251
2252         * rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
2253         -dynamic linker is not used.
2254
2255         * rs6000.md (call insns): For local calls, use @local suffix under
2256         System V.  Don't use @plt under Solaris.
2257
2258         * rs6000.c (output_function_profiler): Put label address in r0, and
2259         store LR in 4(sp) for System V/eabi.
2260
2261         * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
2262         byte boundary, and maintain stack backchain.
2263
2264 Tue Nov 25 14:08:12 1997  Jim Wilson  <wilson@cygnus.com>
2265
2266         * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
2267         fix_truncsfdi2): Change *.
2268
2269 Wed Nov 26 11:12:26 1997  Jason Merrill  <jason@yorick.cygnus.com>
2270
2271         * toplev.c (main): Complain about -gdwarfn.
2272
2273 Tue Nov 25 22:43:30 1997  Jason Merrill  <jason@yorick.cygnus.com>
2274
2275         * dwarfout.c (output_type): If finalizing, write out nested types 
2276         of types we've already written.
2277
2278 Tue Nov 25 20:32:24 1997  Michael Meissner  <meissner@cygnus.com>
2279
2280         (patches originally from Geoffrey Keating)
2281         * rs6000.c (function_arg): Excess floating point arguments don't
2282         go into GPR registers after exhausting FP registers under the
2283         System V.4 ABI.
2284         (function_arg_partial_nregs): Ditto.
2285
2286         * rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
2287         suffix to calls.
2288
2289 Tue Nov 25 23:37:27 1997  Jason Merrill  <jason@yorick.cygnus.com>
2290
2291         * integrate.c (output_inline_function): Just unset DECL_INLINE.
2292
2293 Tue Nov 25 23:33:29 1997  scott snyder  <snyder@d0sgif.fnal.gov>
2294
2295         * dwarf2out.c (outout_call_frame_info): Ensure that the info has
2296         proper alignment.
2297
2298         * libgcc2.c (__throw): Initialize HANDLER.
2299
2300 Tue Nov 25 14:08:12 1997  Jim Wilson  <wilson@cygnus.com>
2301
2302         * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
2303         fix_truncsfdi2): Change *X to ?*X.
2304
2305 Tue Nov 25 10:00:42 1997  Richard Henderson  (rth@cygnus.com)
2306
2307         * alpha.h (CONST_OK_FOR_LETTER): Fix 'L' handling.
2308
2309 Tue Nov 25 10:00:42 1997  Jeffrey A Law  (law@cygnus.com)
2310
2311         * crtstuff.c (do_global_dtors_aux): Handle multiple calls better.
2312
2313 Tue Nov 25 01:26:55 1997  Bruno Haible <haible@ilog.fr>:
2314
2315         * dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement.
2316
2317 Mon Nov 24 22:41:55 1997  Jason Merrill  <jason@yorick.cygnus.com>
2318
2319         * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
2320         * optabs.c (init_optabs): Lose get_dynamic_handler_chain_libfunc.
2321         * expr.h: Likewise.
2322
2323 Sat Nov 22 18:58:20 1997  Jeffrey A Law  (law@cygnus.com)
2324
2325         * pa-hpux10.h (NEW_HP_ASSEMBLER): Define.
2326         * pa.h (LEGITIMATE_CONSTANT_P): Reject LABEL_REFs if not using
2327         gas and not using the new HP assembler.
2328
2329 Fri Nov 21 15:20:05 1997  Jeffrey A Law  (law@cygnus.com)
2330
2331         * Makefile.in (program_transform_cross_name): Clean up "-e" confusion.
2332         (GCC_INSTALL_NAME, GCC_CROSS_NAME): Likewise.
2333
2334 Fri Nov 21 19:37:40 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2335
2336         * config/mips/elf64.h (MULTILIB_DEFAULTS): Test for
2337         TARGET_ENDIAN_DEFAULT == zero instead of testing for macro
2338         definition.
2339
2340 Fri Nov 21 12:49:56 1997  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
2341
2342         * stmt.c (expand_end_bindings): Allow jump into block with cleanups.
2343
2344 Fri Nov 21 12:18:51 1997  Jason Merrill  <jason@yorick.cygnus.com>
2345
2346         * except.h: Add outer_context_label_stack.
2347         * except.c: Likewise.
2348         (expand_start_all_catch): Push the outer_context for the try block
2349         onto outer_context_label_stack.
2350         (expand_end_all_catch): Use it and pop it.
2351
2352 Fri Nov 21 10:13:11 1997  Robert Lipe (robertl@dgii.com)
2353
2354         * i386/sco5.h (HAVE_ATEXIT): Revert last change.
2355
2356 Thu Nov 20 16:11:50 1997  Richard Henderson  <rth@cygnus.com>
2357
2358         * alpha.c (alpha_emit_set_const_1): Handle narrow hosts better.
2359
2360 Thu Nov 20 16:11:50 1997  Klaus Kaempf  <kkaempf@progis.de>
2361
2362         * alpha/vms.h (ASM_OUTPUT_ADDR_VEC_ELT): Add an L for the local label
2363         to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
2364
2365 Thu Nov 20 14:42:15 1997  Jason Merrill  <jason@yorick.cygnus.com>
2366
2367         * Makefile.in (LIB2FUNCS): Remove C++ memory management support.
2368         * libgcc2.c: Remove __builtin_new, __builtin_vec_new, set_new_handler, 
2369         __builtin_delete, and __builtin_vec_delete.
2370
2371         * except.c (output_exception_table): Don't bother with
2372         __EXCEPTION_END__.
2373
2374 Thu Nov 20 16:11:50 1997  Jeffrey A Law  (law@cygnus.com)
2375
2376         * pa.md (pre_stwm, post_stwm, pre_ldwm, post_ldwm): Base register
2377         is an in/out operand.
2378         (zero extended variants of stwm/stwm patterns): Similarly.
2379
2380         * mips/x-iris (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
2381
2382 Thu Nov 20 13:19:32 1997  Jason Merrill  <jason@yorick.cygnus.com>
2383
2384         * dwarf2out.c (ASM_OUTPUT_DWARF_OFFSET4): Rename from VALUE4.
2385         Use assemble_name.
2386         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Use assemble_name.
2387         (output_call_frame_info): Emit a \n after using it.
2388
2389 Thu Nov 20 00:38:46 1997  Dave Love  <d.love@dl.ac.uk>
2390
2391         * configure.in: Add AC_ARG_ENABLE for Haifa as documentation.
2392
2393 Wed Nov 19 12:03:04 1997  Philippe De Muyter  <phdm@macqel.be>
2394
2395         * dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
2396         (ASM_OUTPUT_DWARF_VALUE4): New macro.
2397         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
2398         defined.
2399         (output_call_frame_info): Do not output forward label differences
2400         if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
2401         * m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
2402
2403 Tue Nov 18 23:03:30 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
2404
2405         * sh.md (attribute "type"): Add nil.
2406         (movsi_ie): y/y alternative is type nil.
2407         (movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X
2408         alternatives.
2409         (movsf_ie+1): Delete.
2410
2411 Tue Nov 18 15:39:59 1997  Jim Wilson  <wilson@cygnus.com>
2412
2413         * mips/mips.c (save_restore_insns): If gp_offset or fp_offset are
2414         large_int, emit two insns instead of one splitable insn.
2415         * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
2416         from cfa_temp_value, use cfa_offset.  Add assert checking that
2417         cfa_reg is SP.
2418
2419 Mon Nov 17 15:35:38 1997  Tom Tromey  <tromey@cygnus.com>
2420
2421         * cccp.c (deps_output): Properly quote file names for make.
2422
2423 Mon Nov 17 13:21:40 1997  Jeffrey A Law  (law@cygnus.com)
2424
2425         * t-h8300 (MULTILIB_EXCEPTIONS): Define.
2426
2427 Fri Nov  7 15:33:11 1997  Robert Lipe (robertl@dgii.com)
2428
2429         * i386/sco5.h (HAVE_ATEXIT): Delete definition.
2430
2431 Sun Nov 16 23:52:48 1997  Jeffrey A Law  (law@cygnus.com)
2432
2433         * cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl
2434         return.
2435         (cse_end_of_basic_block): Similarly.
2436
2437 Sun Nov 16 23:01:40 1997  J. Kean Johnston  <jkj@sco.com>
2438
2439         * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define.
2440         (SELECT_RTX_SECTION): Define.
2441         (LIBGCC_SPEC, LIB_SPEC): Do the right thing for PIC.
2442
2443 Sun Nov 16 22:47:03 1997  Manfred Hollstein  <manfred@s-direktnet.de>
2444
2445         * Makefile.in (compare, compare-lean): Define $stage for each
2446         shell command.
2447         (gnucompare, gnucompare-lean): Likewise.
2448
2449 Sun Nov 16 22:02:16 1997  Richard Henderson  (rth@cygnus.com)
2450
2451         * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix offsets.
2452
2453         * alpha.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add an L for the local label
2454         to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
2455
2456 Fri Nov 14 09:09:20 1997  Fred Fish  (fnf@cygnus.com)
2457
2458         * dwarfout.c (byte_size_attribute):  Add local var upper_bound
2459         and add case to handle STRING_TYPE.
2460         * dwarfout.c (output_string_type_die):  Fix code to generate
2461         correct string length attribute for fixed length strings.
2462         Still needs support for varying length strings.
2463
2464 Fri Nov 14 08:46:56 1997  Jeffrey A Law  (law@cygnus.com)
2465
2466         * toplev.c (get_run_time): Do something sensible for cygwin32.
2467
2468 Fri Nov 14 07:24:20 1997  Richard Henderson  <rth@cygnus.com>
2469
2470         * expr.c (expand_builtin_setjmp): Set
2471         current_function_has_nonlocal_label.
2472         * stupid.c (stupid_life_analysis): If has_nonlocal_label, kill
2473         call-saved registers across calls.
2474
2475         * alpha.md (exception_receiver): Remove.
2476         (nonlocal_goto_receiver_osf): New
2477         (nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver.
2478         (nonlocal_goto_receiver): New, select _osf or _vms.
2479
2480         * alpha.c (output_prolog [*]): Prefix entry labels with '$' to
2481         keep them from being propogated to the object file.
2482         (alpha_write_linkage): Likewise.
2483         * alpha.md (call_vms): Likewise.
2484         (call_value_vms): Likewise.
2485         (unnamed osf call insns): Likewise.
2486
2487         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Don't omit L from local label.
2488         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2489
2490         * alpha.c (call_operand): Any reg is valid for WinNT.
2491         * alpha.md (call_nt, call_value_nt): Don't force address into $27.
2492         (anon nt calls): Add 'R' alternative.
2493         * alpha/win-nt.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
2494         INITIALIZE_TRAMPOLINE): Handle lack of original $27 and 32-bit ptrs.
2495
2496 Fri Nov 14 06:59:33 1997  Jeffrey A Law  (law@cygnus.com)
2497
2498         * calls.c (expand_call): Handle pcc_struct_value correctly for C++.
2499
2500         * i386/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Delete defines.
2501         * i386/xm-mingw32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
2502         * rs6000/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
2503
2504 Thu Nov 13 20:37:33 1997  Michael Meissner  <meissner@tiktok.cygnus.com>
2505
2506         * reload1.c (new_spill_reg): Improve fixed or forbidden register
2507         spill error message.
2508
2509 Thu Nov 13 20:29:08 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2510
2511         * prefix.c: Use stdarg.h only ifdef __STDC__.  Otherwise,
2512         use varargs.h.  Wrap header with <>, not "".
2513
2514 Thu Nov 13 20:21:17 1997  Jeffrey A Law  (law@cygnus.com)
2515
2516         * integrate.c (save_for_inline_copying): Add return value from
2517         savealloc.
2518
2519 Thu Nov 13 19:12:33 1997  Brendan Kehoe  <brendan@cygnus.com>
2520
2521         * fixincludes: Be a little more restrictive on what we will
2522         substitute to replace definitions of MAXINT for HPUX.
2523
2524 Thu Nov 13 18:41:02 1997  Michael Meissner  <meissner@cygnus.com>
2525
2526         * dbxout.c (dbxout_symbol_location): Don't assume that variables
2527         whose address is the stack or argument pointers are indirect
2528         pointers.
2529
2530 1997-11-13  Paul Eggert  <eggert@twinsun.com>                               
2531         
2532         * cccp.c, cpplib.c (compare_defs):
2533         Don't complain about arg name respellings unless pedantic.
2534         * cpplib.c (compare_defs): Accept pfile as new arg.              
2535         All callers changed.                                               
2536
2537 Thu Nov 13 23:33:50 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
2538
2539         * fold-const.c (fold_truthop): Fix bug in last change.
2540
2541 1997-11-13  Paul Eggert  <eggert@twinsun.com>
2542
2543         Fix some confusion with IEEE minus zero.
2544
2545         * real.h (REAL_VALUES_IDENTICAL): New macro.
2546
2547         * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
2548         * fold-const.c (operand_equal_p): Don't consider -0.0 to be
2549         identical to 0.0.
2550         * tree.c (simple_cst_equal): Don't consider -0.0 to have the
2551         same tree structure as 0.0.
2552
2553         * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL
2554         macro instead of doing it by hand.
2555
2556 Thu Nov 13 16:56:14 1997  Jeffrey A Law  (law@cygnus.com)
2557
2558         * v850/lib1funcs.asm: Minor whitespace changes.
2559         * v850.c: Fix minor formatting problems in many places.
2560         (construct_restore_jr, construct_save_jarl): Remove unwanted aborts.
2561
2562 Thu Nov 13 12:53:44 1997  Jim Wilson  <wilson@cygnus.com>
2563
2564         * mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete code swapping xplus0 and
2565         xplus1 when xplus0 is not a register.
2566
2567 Thu Nov 13 11:41:42 1997  Jeffrey A Law  (law@cygnus.com)
2568
2569         * flow.c (find_basic_blocks): During marking phase, if we encounter
2570         an insn with a REG_LABEL note, make the target block live and
2571         create an edge from the insn to the target block.  Do not make
2572         edges from all blocks to the target block.
2573
2574         * m68k/x-next (OTHER_FIXINCLUDES_DIRS): Include /NextDeveloper/Headers.
2575
2576         * confiugre.in: Tweak NCR entries.
2577         * configure: Rebuilt.
2578
2579 Thu Nov 13 11:07:41 1997  Michael Meissner  <meissner@cygnus.com>
2580
2581         * rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
2582         pick apart floating point values, instead of using CONST_DOUBLE_LOW
2583         and CONST_DOUBLE_HIGH.
2584
2585         * rs6000.md (define_splits for DF constants): Use the appropriate
2586         REAL_VALUE_* interface to pick apart DF floating point constants in
2587         a machine independent fashion.
2588
2589 Thu Nov 13 00:06:58 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
2590
2591         * fold-const.c (fold_truthop): When changing a one-bit comparison
2592         against zero into a comparison against mask, do a proper sign
2593         extension.
2594
2595 Wed Nov 12 09:37:01 1997  Jeffrey A Law  (law@cygnus.com)
2596
2597         * except.c: Do not include "assert.h".
2598         (save_eh_status): Turn asserts into conditional aborts.
2599         (restore_eh_status, scan_region): Likewise.
2600         * dwarfout.c: Do not include "assert.h".
2601         (bit_offset_attribute): Turn asserts into conditional aborts.
2602         (bit_size_attribute, output_inlined_enumeration_type_die): Likewise.
2603         (output_inlined_structure_type_die): Likewise.
2604         (output_inlined_union_type_die): Likewise
2605         (output_tagged_type_instantiation): Likewise.
2606         (dwarfout_file_scope_decl): Likewise.
2607         * dwarf2out.c: Do not include "assert.h"
2608         (expand_builtin_dwarf_reg_size): Turn asserts into conditional aborts.
2609         (reg_save, initial_return_save, dwarf2out_frame_debug): Likewise.
2610         (add_child_die, modified_type_die, add_bit_offset_attribute): Likewise.
2611         (add_bit_size_attribute, scope_die_for): Likewise.
2612         (output_pending_types_for_scope): Likewise.
2613         (get_inlined_enumeration_type_die): Likewise.
2614         (get_inlined_structure_type_die): Likewise.
2615         (get_inlined_union_type_die, gen_subprogram_die): Likewise.
2616         (gen_tagged_type_instantiation_die): Likewise.
2617
2618         * flow.c (find_basic_blocks): Refine further to get a more correct
2619         cfg, especially in the presense of exception handling, computed
2620         gotos, and other non-trivial cases.  Call abort if an inaccuracy
2621         is detected in the cfg.
2622
2623 Tue Nov 11 21:47:27 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
2624
2625         * glimits.h (SHRT_MIN): Define in a way suitable for 16 bit hosts.
2626
2627         * c-lex.c (whitespace_cr, skip_white_space_on_line): New functions.
2628         (skip_white_space): Use whitespace_cr.
2629         (check_newline): Handle whitespace more consistently.
2630
2631 Tue Nov 11 16:25:49 1997  Jim Wilson  <wilson@cygnus.com>
2632
2633         * i386/cygwin32.h (CPP_PREDEFINES): Delete -DPOSIX.
2634         * i386/xm-cygwin32.h (POSIX): Define.
2635
2636 Mon Nov 10 20:53:11 1997  Gavin Koch  <gavin@cygnus.com>
2637
2638         * config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
2639         is available elsewhere.
2640
2641 Mon Nov 10 16:21:58 1997  Doug Evans  <devans@canuck.cygnus.com>
2642
2643         * sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match
2644         what the instruction can handle.
2645
2646 Mon Nov 10 03:02:19 1997  Jason Merrill  <jason@yorick.cygnus.com>
2647
2648         * stmt.c (expand_decl_cleanup_no_eh): New fn.
2649
2650         * except.c (expand_leftover_cleanups): do_pending_stack_adjust.
2651
2652 Mon Nov 10 00:05:56 1997  Jeffrey A Law  (law@cygnus.com)
2653
2654         * alias.c (MAX_ALIAS_LOOP_PASSES): Define.
2655         (init_alias_analysis): Break out of loops after MAX_ALIAS_LOOP_PASSES.
2656
2657 Sun Nov  9 14:34:47 1997  David Edelsohn  <edelsohn@mhpcc.edu>
2658
2659         * rs6000.md (lshrdi3_power): Delete '&' from first alternative and
2660         swap instruction order.
2661
2662 Sun Nov  9 02:07:16 1997  Jeffrey A Law  (law@cygnus.com)
2663
2664         * fixinc.svr4 (__STDC__): Add another case.
2665
2666 Sun Nov  9 02:00:29 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
2667
2668         * a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid loads from varying
2669         addresses in the epilogue delay slot.
2670
2671 Sun Nov  9 01:40:40 1997  Manfred Hollstein  (manfred@s-direktnet.de)
2672
2673         * m88k/dgux.h (ASM_CPU_SPEC): Reformatted to suppress wrong whitespace
2674         in generated `specs' file.
2675
2676 Sun Nov  9 01:37:11 1997  Jim Wilson  (wilson@cygnus.com)
2677
2678         * flags.h (flag_rerun_loop_opt): Declare.
2679         * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
2680         * toplev.c (flag_rerum_loop_opt): Delete static.
2681
2682 Sat Nov  8 18:20:21 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
2683
2684         Bring over from FSF:
2685
2686         Thu Oct 30 12:21:06 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
2687
2688         * va-sh.h (__va_arg_sh1): Define.
2689         (va_arg): Use it.
2690         SH3E doesn't use any integer registers for subsequent arguments
2691         once a non-float value was passed in the stack.
2692         * sh.c (machine_dependent_reorg): If optimizing, put explicit
2693         alignment in front label for ADDR_DIFF_VEC.
2694         * sh.h (PASS_IN_REG_P): Fix SH3E case.
2695         (ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
2696
2697         Tue Oct 28 15:06:44 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
2698
2699         * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
2700         svr4.h.
2701
2702         Mon Oct 27 16:11:52 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
2703
2704         * sh.c (machine_dependent_reorg): When -flag_delayed_branches,
2705         put an use_sfunc_addr before each sfunc.
2706         * sh.md (use_sfunc_addr, dummy_jump): New insns.
2707         (casesi): For TARGET_SH2, emit a dummy_jump after LAB.
2708
2709         Tue Oct 21 07:12:28 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
2710
2711         * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
2712
2713 Fri Nov  7 10:22:24 1997  Jason Merrill  <jason@yorick.cygnus.com>
2714
2715         * frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
2716         linked once FDEs.
2717
2718 Wed Nov  5 14:26:05 1997  Jeffrey A Law  (law@cygnus.com)
2719
2720         * alias.c (find_base_value): Only return the known base value for
2721         pseudo registers.
2722
2723 Wed Nov  5 11:27:14 1997  Jim Wilson  <wilson@cygnus.com>
2724
2725         * i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
2726         * i386.md (prologue_set_got, prologue_get_pc): Add UNSPEC_VOLATILE
2727         to pattern.
2728         (prologue_get_pc_and_set_got): New pattern.
2729
2730 Tue Nov  4 20:36:50 1997  Richard Henderson  (rth@cygnus.com)
2731
2732         * alpha.c (summarize_insn): Handle ASM_OPERANDS.  Don't recurse
2733         for SUBREG, just fall through.
2734
2735         * alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero.
2736
2737         * alpha.md (attr trap): Make TRAP_YES non-zero for sanity's sake.
2738
2739 Tue Nov  4 18:49:42 1997  Jeffrey A Law  (law@cygnus.com)
2740
2741         * fixincludes: Fix "hypot" prototype in NeXT math.h.
2742
2743         * Makefile.in (USE_ALLOCA): Always include alloca.o.
2744         (USE_HOST_ALLOCA): Likewise.
2745
2746         * rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
2747         and LABEL_REFS fields.
2748         * rtl.h (LABEL_REFS): Update.
2749
2750 Tue Nov  4 16:55:11 1997  Jim Wilson  <wilson@cygnus.com>
2751
2752         * combine.c (try_combine): When setting elim_i2, check whether newi2pat
2753         sets i2dest.  When calling distribute_notes for i3dest_killed, pass
2754         elim_i2 and elim_i1.  When setting elim_i1, check if newi2pat
2755         sets i1dest.
2756
2757         * mips.md (insv, extzv, extv): Add change_address call.
2758         (movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
2759
2760         * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
2761
2762         * reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
2763
2764         * mips.c (mips_expand_epilogue): Emit blockage insn before call to
2765         save_restore_insns if no FP and GP will be restored.
2766
2767         * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
2768         Convert CCmode to word_mode before calling GET_MODE_SIZE.
2769
2770         * acconfig.h (HAVE_INTTYPES_H): Undef.
2771         * configure.in (inttypes.h): Check for conflicts between sys/types.h
2772         and inttypes.h, and verify that intmax_t is defined.
2773         * config/mips/x-iris (CC, OPT, OLDCC): Comment out.
2774         * config/mips/x-iris3: Likewise.
2775
2776 Tue Nov  4 16:07:15 1997  Jeffrey A Law  (law@cygnus.com)
2777
2778         * alias.c (find_base_value): When copying arguments, return the
2779         tenative value for a hard register.
2780
2781 Tue Nov  4 13:40:35 1997  Doug Evans  <devans@canuck.cygnus.com>
2782
2783         * c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
2784         (yylex): Record wide strings using target endianness, not host.
2785
2786 Tue Nov  4 13:13:12 1997  Jeffrey A Law  (law@cygnus.com)
2787
2788         * mn10200.h (ASM_OUTPUT_BSS): Delete.
2789         (ASM_OUTPUT_ALIGNED_BSS): New macro
2790         * mn10300.h (ASM_OUTPUT_BSS): Delete.
2791         (ASM_OUTPUT_ALIGNED_BSS): New macro.
2792         * v850.h (ASM_OUTPUT_BSS): Delete.
2793         (ASM_OUTPUT_ALIGNED_BSS): New macro.
2794
2795 Tue Nov  4 00:55:48 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
2796  
2797         * profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP.
2798
2799 Mon Nov  3 14:36:50 1997  Jeffrey A Law  (law@cygnus.com)
2800
2801         * configure.in (sco5): Use cpio to install header files.
2802
2803 Sun Nov  2 23:31:43 1997  Manfred Hollstein  <manfred@s-direktnet.de>
2804
2805         * aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to
2806         14 char length.
2807         * configure: Rebuild.
2808
2809 Sun Nov  2 19:44:00 1997  Robert Lipe (robertl@dgii.com)
2810
2811         * i386/sco5.h: enable -gstabs once again.
2812
2813 Sun Nov  2 19:27:21 1997  Jeffrey A Law  (law@cygnus.com)
2814
2815         * arm.c (output_move_double): Allocate 3 entries in otherops array.
2816
2817 Sat Nov  1 21:43:00 1997  Mike Stump  (mrs@wrs.com)
2818
2819         * except.c (expand_ex_region_start_for_decl): Emit EH_REGION_BEG
2820         notes for sjlj exceptions too.
2821         (expand_eh_region_end): Similarly for EH_REGION_END notes.
2822         (exception_optimize): Optimize EH regions for sjlj exceptions too.
2823         * final.c (final_scan_insn): Don't output labels for EH REGION
2824         notes if doing sjlj exceptions.
2825
2826 Sat Nov  1 19:15:28 1997  Jeffrey A Law  (law@cygnus.com)
2827
2828         * alias.c (init_alias_analysis): Handle -fno-alias-check when
2829         optimizing correctly.
2830
2831         * expr.c (expand_builtin_setjmp): Don't emit a SETJMP note
2832         or set current_function_calls_setjmp anymore.
2833
2834         * flow.c (find_basic_blocks): If we delete the label for an
2835         exception handler, remove it from the EH label list and remove
2836         the EH_BEGIN/EH_END notes for that EH region.
2837
2838 Sat Nov  1 16:44:49 1997  Jason Merrill  (jason@cygnus.com)
2839
2840         * flow.c (find_basic_blocks): Generate correct flow control
2841         information when exception handling notes are present.
2842
2843 Sat Nov  1 13:42:19 1997  Jeffrey A Law  (law@cygnus.com)
2844
2845         * dwarf2out.c (output_call_frame_info): Fix length argument
2846         to ASM_OUTPUT_ASCII.
2847         (output_die, output_pubnames, output_line_info): Likewise.
2848
2849 Fri Oct 31 07:10:09 1997  Jeffrey A Law  (law@cygnus.com)
2850
2851         * version.c: Bump for snapshot.
2852
2853         * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
2854         output ASCII by default.  Only use ASM_OUTPUT_DWARF_STRING if
2855         flag_debug_asm is on.
2856         (output_die, output_pubnames, output_line_info): Likewise.
2857
2858         * alias.c (init_alias_analysis): Add struct_value_incoming_rtx
2859         and static_chain_rtx into the potential base values array if
2860         they are registers.
2861
2862         * alias.c (new_reg_base_value): New array of potential base values.
2863         (unique_id): Now file scoped static.
2864         (find_base_value, case REG): Return the value in reg_base_value
2865         array for the REG if it exists.  Else, return the value from
2866         new_reg_base_value if copying args and REG is a hard register.
2867         (find_base_value, case PLUS): If either operand of the PLUS is
2868         a REG, try to get its base value.  Handle base + index and
2869         index + base.
2870         (record_set): Use new_reg_base_value instead of reg_base_value.
2871         (init_alias_analysis): Allocate space for new_reg_base_value too.
2872         Rework code to iterate over the insns propagating base value
2873         information until nothing changes.
2874
2875         * global.c (global_alloc): Free the conflict matrix after
2876         reload has finished.
2877
2878 Fri Oct 31 01:45:31 1997  Jason Merrill  <jason@yorick.cygnus.com>
2879
2880         * libgcc2.c (L_eh): Define __eh_pc.
2881         Replace __eh_type with generic pointer __eh_info.
2882
2883 Fri Oct 31 00:34:55 1996  J"orn Rennecke <amylaar@cygnus.co.uk>
2884
2885         * expr.c (expand_increment): When enqueing a postincrement for a MEM,
2886         use copy_to_reg if address is not a general_operand.
2887
2888 Fri Oct 31 00:16:55 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
2889
2890         * profile.c (output_func_start_profiler): Clear flag_inline_functions
2891         for the duration of the call to rest_of_compilation.
2892
2893 Thu Oct 30 14:40:10 1997  Doug Evans  <devans@canuck.cygnus.com>
2894
2895         * configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
2896         Set extra_parts.
2897         (sparc*-*-*): Recognize --with-cpu=v9.
2898         * sparc/elf.h: New file.
2899         * sparc/t-elf: New file.
2900
2901 Thu Oct 30 13:26:12 1997  Jeffrey A Law  (law@cygnus.com)
2902
2903         * mn10300.c (const_8bit_operand): New function.
2904         (mask_ok_for_mem_btst): New funtion.
2905         * mn10300.md (btst patterns with mem operands): Use new functions
2906         to avoid creating btst instructions with invalid operands.
2907
2908 Wed Oct 29 16:57:19 1997  Michael Meissner  <meissner@cygnus.com>
2909
2910         * rs6000/xm-sysv4.h: Include xm-linux.h instead of xm-svr4.h if we
2911         are running on PowerPC Linux.
2912
2913 Wed Oct 29 13:10:11 1997  Gavin Koch  <gavin@cygnus.com>
2914
2915         * config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
2916         if not previously defined.
2917
2918 Tue Oct 28 23:55:27 1997  Doug Evans  (devans@cygnus.com)
2919
2920         * function.c (assign_parms): Correct mode of stack_parm if
2921         entry_parm underwent a mode conversion.
2922
2923 1997-10-28  Brendan Kehoe  <brendan@lisa.cygnus.com>
2924
2925         * global.c (global_alloc): Use xmalloc instead of alloca for
2926         CONFLICTS, since max_allocno * allocno_row_words alone can be more
2927         than 2.5Mb sometimes.
2928
2929 Tue Oct 28 15:29:15 1997  Richard Henderson  <rth@cygnus.com>
2930
2931         * reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
2932         DEST for the spill, adjust mode of SRC to compensate.
2933
2934 Tue Oct 28 14:36:45 1997  Richard Henderson  <rth@cygnus.com>
2935
2936         * alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
2937         since any_memory_operand() allows pseudos during reload.
2938         (reload_inhi, reload_outqi, reload_outhi): Likewise.
2939
2940 Tue Oct 28 11:53:14 1997  Jim Wilson  <wilson@cygnus.com>
2941
2942         * m68k.md (btst patterns): Add 5200 support.
2943
2944 Tue Oct 28 11:58:40 1997  Toon Moene  <toon@moene.indiv.nluug.nl>
2945
2946         * fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
2947         optimizations, look inside dividend to determine if the expression
2948         can be simplified by using EXACT_DIV_EXPR.
2949
2950 Tue Oct 28 10:19:01 1997  Jason Merrill  <jason@yorick.cygnus.com>
2951
2952         From Brendan:
2953         * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
2954
2955 Tue Oct 28 00:32:14 1997  Richard Henderson  <rth@cygnus.com>
2956
2957         * alpha.c (summarize_insn [SUBREG]): Propogate SET.
2958
2959 Mon Oct 27 23:59:26 1997  Richard Henderson  <rth@cygnus.com>
2960
2961         * alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
2962         on a CLOBBER.
2963
2964 Mon Oct 27 21:25:20 1997  Richard Henderson  <rth@cygnus.com>
2965
2966         * alpha.md (movqi, movhi): Make sure new insns created during reload
2967         won't need reloading themselves.
2968         (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.
2969
2970 Mon Oct 27 16:11:10 1997  Jeffrey A Law  (law@cygnus.com)
2971
2972         * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
2973
2974 Sun Oct 26 13:50:44 1997  Richard Henderson  <rth@cygnus.com>
2975
2976         * alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
2977         Patch from Klaus Kaempf <kkaempf@progis.de>.
2978
2979 Sun Oct 26 13:31:47 1997  Jim Wilson  (wilson@cygnus.com)
2980
2981         * expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
2982         to an element in a constant string.
2983
2984 Sun Oct 26 11:41:49 1997  Jason Merrill  <jason@yorick.cygnus.com>
2985
2986         * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
2987         bit PC-relative offset.  The exception range table pointer is now in
2988         the CIE.
2989         * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
2990         (count_fdes, add_fdes, get_cie): Adjust.
2991         (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
2992
2993         From H.J. Lu:
2994         * frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
2995
2996 Sun Oct 26 11:52:01 1997  Richard Henderson  <rth@cygnus.com>
2997
2998         * alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
2999         like stack_pointer_rtx.
3000
3001 Sun Oct 26 11:32:16 1997  Manfred Hollstein  <manfred@s-direktnet.de>
3002
3003         * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
3004         targets using "$@" to provide support for similar but not identical
3005         targets without having to duplicate code.
3006         (bootstrap4): New goal.
3007
3008         * Makefile.in (compare, compare-lean, compare3): Combined to one
3009         ruleset determining actions to be performed via $@.
3010         (compare4, compare4-lean): New targets.
3011         (gnucompare, gnucompare3): Combined to one ruleset determining
3012         actions to be performed via $@. Also, note which files failed
3013         the comparison test in .bad_compare.
3014         (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.
3015
3016 Sun Oct 26 10:06:11 1997  Toon Moene  <toon@moene.indiv.nluug.nl>
3017
3018         * fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
3019         if the dividend is a multiple of the divisor.
3020
3021 Sun Oct 26 09:21:40 1997  Jeffrey A Law  (law@cygnus.com)
3022
3023         * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
3024
3025         * alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC,
3026         and POS_DEC.
3027
3028         * alias.c (true_dependence): Fix typo.
3029
3030         * toplev.c (flag_rerun_loop_opt): New variable.
3031         (f_options): Handle -frerun-loop-opt.
3032         (rest_of_compilation): If -frerun-loop-opt, then run the loop
3033         optimizer twice.
3034         (main): Enable -frerun-loop-opt by default for -O2 or greater.
3035
3036         * loop.c (simplify_giv_expr): Adding two invariants results
3037         in an invariant.
3038
3039 Sun Oct 26 09:15:15 1997  Richard Henderson  <rth@cygnus.com>
3040
3041         * expr.c (get_inner_reference): Remove the array bias after 
3042         converting the index to Pmode.
3043
3044 Sat Oct 25 12:20:58 1997  Jeffrey A Law  (law@cygnus.com)
3045
3046         * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
3047         (TARGET_MULT_BUG): Define.
3048         (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
3049         * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
3050
3051 Fri Oct 24 17:40:34 1997  Jeffrey A Law  (law@cygnus.com)
3052
3053         * mn10200.c (indirect_memory_operand): Delete unused function.
3054         * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
3055         * mn10200.md (bset, bclr insns): Handle output in a reg too.
3056
3057 Fri Oct 24 15:54:57 1997  Richard Henderson  <rth@cygnus.com>
3058
3059         * alpha.md (call patterns): Revert Oct 16 change; if we are to elide
3060         the callee's ldgp, we must do it ourselves, and we use the jsr tag
3061         for more than scheduling.
3062
3063 Fri Oct 24 13:23:04 1997  Doug Evans  <devans@canuck.cygnus.com>
3064
3065         * sparc/sparc.h (ASM_SPEC): Delete asm_arch.
3066
3067 Fri Oct 24 13:19:40 1997  Jeffrey A Law  (law@cygnus.com)
3068
3069         * mn10300.c (symbolic_operand, legitimize_address): New functions.
3070         * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
3071         (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
3072
3073 Thu Oct 23 09:35:12 1997  Jeffrey A Law  (law@cygnus.com)
3074
3075         * version.c: Bump for snapshot.
3076
3077 Thu Oct 23 08:03:59 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
3078
3079         * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
3080         for FILENAME.
3081
3082 Wed Oct 22 00:34:12 1997  Jeffrey A Law  (law@cygnus.com)
3083
3084         * toplev.c (flag_exceptions): Default value is 2.
3085         (compile_file): If flag_exceptions still has the value 2, then
3086         set it to 0.
3087
3088         * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
3089         (rs6000_save_machine_status): Save pic_offset_table_rtx.
3090         (rs6000_restore_machine_status: Restore pic_offset_table_rtx.
3091
3092         * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
3093         are shared.
3094
3095         * rs6000.md (*movsi_got_internal_mem): New pattern.
3096         (*movsi_got_internal_mem splitter): New define_split.
3097
3098 Tue Oct 21 18:14:03 1997  Jim Wilson  <wilson@cygnus.com>
3099
3100         * obstack.h (obstack_empty_p): Fix spurious space after backslash.
3101
3102 Tue Oct 21 18:34:01 1997  Geoffrey KEATING  <geoffk@ozemail.com.au>
3103
3104         * rs6000.c: Avoid creating a stack frame under SYSV ABI if we
3105         only need to save LR.
3106
3107 Tue Oct 21 10:06:40 1997  Jeffrey A Law  (law@cygnus.com)
3108
3109         * mn10300.md (movqi, movhi): Avoid using address registers as
3110         destinations unless absolutely necessary.
3111
3112         * mn10200.c (expand_prologue): Fix typo.
3113
3114         * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
3115         addresses.
3116         * mn10200.md (neghi2): Provide an alternative which works if
3117         the input and output register are the same.
3118
3119         * mn10300.c (print_operand): Handle 'S'.
3120         * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
3121         shift amount in last alternative
3122
3123         * mn10300.c (expand_epilogue): Rework to handle register restores
3124         in "ret" and "retf" instructions correctly.
3125
3126 Mon Oct 20 16:47:08 1997  Jim Wilson  <wilson@cygnus.com>
3127
3128         * expmed.c (extract_bit_field): Don't make flag_force_mem disable
3129         extzv for memory operands.
3130
3131         * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
3132         redundant conditional moves to single operand.
3133
3134 Mon Oct 20 15:30:26 1997  Nick Clifton  <nickc@cygnus.com>
3135
3136         * v850.h: Move define of __v850__ from CPP_PREDEFINES
3137         to CPP_SPEC.
3138         
3139         * xm-v850.h: Use __v850 rather than __v850__ to
3140         identify v850 port.
3141
3142 Mon Oct 20 14:15:02 1997  Jim Wilson  <wilson@cygnus.com>
3143
3144         * mips/mips.c (compute_frame_size): Not a leaf function if
3145         profile_flag set.
3146
3147 Mon Oct 20 14:16:38 1997  Geoffrey KEATING  <geoffk@ozemail.com.au>
3148
3149         * rs6000/t-ppccomm: Use -msdata=none for crtstuff.
3150
3151 Mon Oct 20 12:28:17 1997  Doug Evans  <devans@canuck.cygnus.com>
3152
3153         * sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
3154         (DEFAULT_ARCH32_P): New macro.
3155         (TARGET_ARCH{32,64}): Allow compile time or runtime selection.
3156         (enum cmodel): Declare.
3157         (sparc_cmodel_string,sparc_cmodel): Declare.
3158         (SPARC_DEFAULT_CMODEL): Provide default.
3159         (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
3160         (TARGET_FULLANY): Deleted.
3161         (TARGET_CM_MEDMID): New macro.
3162         (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
3163         (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
3164         (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
3165         (CPP_SPEC): Rewrite.
3166         (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
3167         (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
3168         (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
3169         (ASM_SPEC): Add %(asm_arch).
3170         (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
3171         Rename asm_default to asm_cpu_default.
3172         Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
3173         cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
3174         (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
3175         ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
3176         (MASK_INT64,MASK_LONG64): Delete.
3177         (MASK_ARCH64): Renamed to MASK_64BIT.
3178         (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
3179         (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
3180         (TARGET_SWITCHES): Always provide 64 bit options.
3181         (ARCH64_SWITCHES): Delete.
3182         (TARGET_OPTIONS): New option -mcmodel=.
3183         (INT_TYPE_SIZE): Always 32.
3184         (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
3185         (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
3186         (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
3187         (PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
3188         * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
3189         CPP_SPEC.
3190         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
3191         * sparc/linux.h: Likewise.
3192         * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
3193         (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
3194         (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
3195         (SPARC_DEFAULT_CMODEL): Define.
3196         (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
3197         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
3198         (LONG_DOUBLE_TYPE_SIZE): Define.
3199         (ASM_SPEC): Add %(asm_arch).
3200         * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
3201         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
3202         (TARGET_CPU_DEFAULT): Add ultrasparc case.
3203         * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
3204         (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
3205         (SPARC_DEFAULT_CMODEL): Define.
3206         * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
3207         (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.  Delete
3208         MASK_LONG64, MASK_MEDANY.
3209         (SPARC_DEFAULT_CMODEL): Define.
3210         (CPP_PREDEFINES): Delete.
3211         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
3212         (ASM_SPEC): Add %(asm_arch).
3213         (LONG_DOUBLE_TYPE_SIZE): Define.
3214         (DWARF2_DEBUGGING_INFO): Define.
3215         * sparc/splet.h (CPP_SPEC): Delete.
3216         * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
3217         (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
3218         (BLOCK_PROFILER): Likewise.
3219         * sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
3220         (sparc_override_options): Handle code model selection.
3221         (sparc_init_expanders): Renamed from sparc64_init_expanders.
3222         * sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
3223         TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
3224         (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
3225         (sethi_di_fullany): Delete.
3226
3227 Mon Oct 20 02:00:18 1997  Klaus Kaempf <kkaempf@progis.de>
3228                           Jeff Law <law@cygnus.com>
3229                           Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3230
3231         * alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
3232         (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
3233         (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
3234         (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
3235         * alpha/alpha.md (arg_home): Likewise.
3236
3237         * alpha/alpha.c (vmskrunch): Delete
3238         * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.
3239         * alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
3240         truncate to 64 characters.
3241
3242         * make-l2.com: Support openVMS/Alpha.
3243
3244         * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.
3245
3246 Sun Oct 19 19:00:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
3247
3248         * longlong.h (count_leading_zeros): Add missing casts to USItype.
3249
3250 Sun Oct 19 18:44:06 1997  Jeffrey A Law  (law@cygnus.com)
3251
3252         * i386/bsd386.h (ASM_COMMENT_START): Define.
3253
3254 Sat Oct 18 13:47:15 1997  Jason Merrill  <jason@yorick.cygnus.com>
3255
3256         * tree.c (restore_tree_status): Also free up temporary storage
3257         when we finish a toplevel function.
3258         (dump_tree_statistics): Print stats for backend obstacks.
3259
3260 Sat Oct 18 12:47:31 1997  Doug Evans  <dje@canuck.cygnus.com>
3261
3262         * expr.c (use_group_regs): Don't call use_reg for MEMs.
3263
3264 Sat Oct 18 09:49:46 1997  Jason Merrill  <jason@yorick.cygnus.com>
3265
3266         * libgcc2.c (__throw): Don't copy the return address.
3267         * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
3268
3269         * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
3270         * toplev.c (main): Initialize exceptions_via_longjmp.
3271
3272         * tree.c: Add extra_inline_obstacks.
3273         (save_tree_status): Use it.
3274         (restore_tree_status): If this is a toplevel inline obstack and we
3275         didn't want to save anything on it, recycle it.
3276         (print_inline_obstack_statistics): New fn.
3277         * function.c (pop_function_context_from): Pass context to 
3278         restore_tree_status.
3279         * obstack.h (obstack_empty_p): New macro.
3280
3281 Sat Oct 18 00:43:59 1997  Jeffrey A Law  (law@cygnus.com)
3282
3283         * i386/freebsd.h (ASM_COMMENT_START): Fix.
3284
3285 Fri Oct 17 23:48:52 1997  Jim Wilson  (wilson@cygnus.com)
3286
3287         * v850.c (ep_memory_offset): New function.
3288         (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
3289
3290         * v850.h (CONST_OK_FOR_*): Add and correct comments.
3291         (CONSTANT_ADDRESS_P): Add comment.
3292         (EXTRA_CONSTRAINT): Define 'U'.
3293         * v850.md: Add comments on bit field instructions.
3294         (addsi3): Delete &r/r/r alternative.  Add r/r/U alternative.
3295         (lshrsi3): Use N not J constraint. 
3296
3297         * v850.md (v850_tst1+1): New define_split for tst1 instruction.
3298
3299         * v850.c (reg_or_0_operand): Call register_operand.
3300         (reg_or_int5_operand): Likewise.
3301         * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
3302         (TARGET_SWITCHES): Add "big-switch".
3303         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
3304         ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
3305         (CASE_DROPS_THROUGH): Comment out.
3306         (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
3307         * v850.md (cmpsi): Delete compare mode.
3308         (casesi): New pattern.
3309
3310         * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
3311         * v850.md (ashlsi3): Use SImode not QImode for shift count.
3312         (lshrsi3): Likewise.
3313
3314         * v850.c (print_operand): Add 'c', 'C', and 'z' support.  Delete
3315         unreachable switch statement after 'b' support.  Remove "b" from
3316         strings for 'b' support.
3317         * v850.md (branch_normal, branch_invert): Change %b to b%b.
3318
3319 Fri Oct 17 23:33:20 1997  Jeffrey A Law  (law@cygnus.com)
3320
3321         * Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
3322         empty line if @inhibit_libc@ is empty.
3323
3324 Fri Oct 17 23:24:40 1997  Robert Lipe (robertl@dgii.com)
3325
3326         * i386/sco5.h: Let ELF use dwarf2 unwinding.  COFF uses sjlj.
3327         (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
3328         (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
3329         (DWARF2_UNWIND_INFO): Let this track object file format.
3330         (EXTRA_SECTIONS): Add in_eh.
3331         (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
3332         (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
3333
3334 Fri Oct 17 17:13:42 1997  David S. Miller  <davem@tanya.rutgers.edu>
3335
3336         * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
3337         * sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
3338         TARGET_MEDANY.
3339         * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
3340         (output_double_int): Output DI mode values correctly when
3341         HOST_BITS_PER_WIDE_INT is 64.
3342         (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
3343         fmovd so it works if a quad float ends up in one of the upper 32
3344         float regs.
3345         * sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
3346         necessary for PIC support on sparc64.
3347
3348 Fri Oct 17 13:39:56 1997  Doug Evans  <dje@canuck.cygnus.com>
3349
3350         * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
3351         * sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
3352         (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
3353         (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
3354         (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
3355         (SPARC_FP_ARG_FIRST): New macro.
3356         (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
3357         (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
3358         (NPARM_REGS): There are 32 fp argument registers now.
3359         (FUNCTION_ARG_REGNO_P): Likewise.
3360         (FIRST_PARM_OFFSET): Update to new v9 abi.
3361         (REG_PARM_STACK_SPACE): Define for arch64.
3362         (enum sparc_arg_class): Delete.
3363         (sparc_arg_count,sparc_n_named_args): Delete.
3364         (struct sparc_args): Redefine and use for arch32 as well as arch64.
3365         (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
3366         (FUNCTION_ARG_ADVANCE): Rewrite.
3367         (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
3368         (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
3369         (FUNCTION_ARG_CALLEE_COPIES): Delete.
3370         (FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
3371         (STRICT_ARGUMENT_NAMING): Define.
3372         (doublemove_string): Declare.
3373         * sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
3374         (single_move_string): Use GEN_INT, and HOST_WIDE_INT.
3375         (doublemove_string): New function.
3376         (output_move_quad): Clean up some of the arch64 support.
3377         (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
3378         Don't add 8 bytes of reserved space if arch64.
3379         (sparc_builtin_saveregs): Combine arch32/arch64 versions.
3380         (init_cumulative_args): New function.
3381         (function_arg_slotno): New static function.
3382         (function_arg,function_arg_partial_nregs): New functions.
3383         (function_arg_{pass_by_reference,advance}): New functions.
3384         (function_arg_padding): New function.
3385         * ginclude/va-sparc.h: Rewrite v9 support.
3386
3387 Fri Oct 17 12:29:48 1997  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
3388
3389         * regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
3390         for hard regs to determine base and index registers.
3391
3392         * reload.c (debug_reload_to_stream): New function.  Specify stream
3393         into which to write debug info.
3394         (debug_reload): Modify to call debug_reload_to_stream with stderr.
3395
3396 Thu Oct 16 15:07:51 1997  Richard Henderson  <rth@cygnus.com>
3397
3398         * combine.c (can_combine_p): Don't combine with an asm whose
3399         output is a hard register.
3400
3401 Thu Oct 16 15:43:26 1997  Mike Stump  (mrs@wrs.com)
3402
3403         * c-decl.c (start_struct): Ensure that structs with forward
3404         declarations are in fact packed when -fpack-struct is given.
3405
3406         * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
3407         we are packing a structure.  This allows a structure with only
3408         bytes to be aligned on a byte boundary and have no padding on a
3409         m68k.
3410
3411 Thu Oct 16 15:17:54 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3412
3413         * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
3414
3415 Thu Oct 16 11:20:30 1997  Richard Henderson  <rth@cygnus.com>
3416
3417         * alpha.c (alpha_return_addr_rtx): New variable.
3418         (alpha_save_machine_status): New; save it.
3419         (alpha_restore_machine_status): New; restore it.
3420         (alpha_init_expanders): New; clear it.
3421         (alpha_return_addr): New; set it.
3422         (alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
3423         is overly conservative, so search the insns explicitly.
3424         (alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
3425         (alpha_sa_size [VMS && !VMS]): Likewise.
3426         * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
3427         (INIT_EXPANDERS): New definition.
3428         
3429         * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
3430         (output_prolog [!VMS]): Use them.
3431
3432         * alpha.c (output_prolog [!VMS]): Move gp detection to ...
3433         (alpha_does_function_need_gp): ... a new function.  Refine the 
3434         CALL_INSN test to just TYPE_JSR.
3435         * alpha.md (most call insns): Fix some jsr/ibr type transpositions.
3436
3437 Thu Oct 16 09:36:47 1997  Jeffrey A Law  (law@cygnus.com)
3438
3439         * version.c: Bump for snapshot.
3440
3441 Wed Oct 15 21:38:18 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3442
3443         * pa.c (move_operand): Respect -mdisable-indexing.
3444         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
3445
3446 Wed Oct 15 21:34:45 1997  David Edelsohn  <edelsohn@mhpcc.edu>
3447
3448         * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
3449         PPC601.
3450         (umulsidi3,umulsi3_highpart): Ditto.
3451         (smulsi3_highpart_no_mq): Add !TARGET_POWER.
3452
3453 Wed Oct 15 18:21:46 1997  Richard Henderson  <rth@cygnus.com>
3454
3455         * alpha.c (final_prescan_insn): Gut, remove and transform to ...
3456         (alpha_handle_trap_shadows): ... a new function.  Handle the entire
3457         function in one go.  Emit RTL for trapb, instead of printf directly.
3458         (alpha_reorg): New function.  Call alpha_handle_trap_shadows.
3459         (trap_pending): Kill global variable.
3460         (output_epilog): Don't call final_prescan_insn.
3461         (struct shadow_summary): Elide $31 and $f31; now it fits in a word.
3462         * alpha.h (FINAL_PRESCAN_INSN): Remove.
3463         (MACHINE_DEPENENT_REORG): Define.
3464         * alpha.md (jsr patterns with trapb): Stupid and useless.  Kill.
3465         (trapb): New insn.
3466
3467 Wed Oct 15 18:16:05 1997  Richard Henderson  <rth@cygnus.com>
3468
3469         Tune Haifa scheduler for Alpha:
3470         * alpha.h (ISSUE_RATE): Define.
3471         * alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
3472         EV4 adjustments to EV5.
3473         * alpha.md: Remove all scaling from function unit delays.  Rework
3474         EV5 function units to match the CPU.
3475         (umuldi3_highpart): EV5 added the IMULH insn class.
3476
3477 Wed Oct 15 17:42:41 1997  Jeffrey A Law  (law@cygnus.com)
3478
3479         * pa.c (following_call): Fail if the CALL_INSN is an indirect
3480         call.
3481
3482 Tue Oct 14 12:01:00 1997  Mark Mitchell  <mmitchell@usa.net>
3483
3484         * cplus-dem.c (demangle_signature): Don't look for return types on
3485         constructors.  Handle member template constructors.
3486
3487 Tue Oct 14 11:30:29 1997  Jason Merrill  <jason@yorick.cygnus.com>
3488
3489         * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
3490         * tree.h: Declare them.
3491
3492 Fri Oct 10 13:46:56 1997  Doug Evans  <dje@canuck.cygnus.com>
3493
3494         * configure.in: Handle --with-newlib.
3495         * Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
3496
3497         * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
3498
3499 Wed Oct  8 14:37:44 1997  Jeffrey A Law  (law@cygnus.com)
3500
3501         * config/ptx4.h: Fix typo.
3502
3503 Wed Oct  8 08:57:20 1997  Jeffrey A Law  (law@cygnus.com)
3504
3505         * version.c: Bump for snapshot.
3506
3507 Tue Oct  7 16:27:34 1997  Manfred Hollstein  <manfred@s-direktnet.de>
3508
3509         * aclocal.m4: Substitute INSTALL.
3510         * configure: Re-built.
3511
3512 Tue Oct  7 15:37:35 1997  Jeffrey A Law  (law@cygnus.com)
3513
3514         * integrate.c (save_for_inline_copying): Avoid undefined pointer
3515         operations.
3516         (expand_inline_function): Likewise.
3517
3518         * dwarf2out.c (output_call_frame_info): Reinstate last change
3519         using flag_debug_asm check instead of flag_verbose_asm.
3520
3521 Tue Oct  7 12:57:26 1997  Jim Wilson  <wilson@cygnus.com>
3522
3523         * dwarf2out.c (output_call_frame_info): Remove last change.
3524
3525 1997-10-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3526
3527         * frame.c (__frame_state_for): Execute the FDE insns until the
3528         current pc value is strictly bigger than the target pc value.
3529
3530 Tue Oct  7 11:00:42 1997  Jason Merrill  <jason@yorick.cygnus.com>
3531
3532         * regclass.c (init_reg_modes): If we can't find a mode for the 
3533         register, use the previous one.
3534
3535 Tue Oct  7 10:55:34 1997  Richard Henderson  <rth@cygnus.com>
3536
3537         * haifa-sched.c (print_block_visualization): Call fprintf directly,
3538         don't sprintf through an alloca'ed buffer.
3539
3540 Tue Oct  7 10:52:29 1997  Thomas Koenig (ig25@rz.uni-karlsruhe.de)
3541
3542         * reload.c (decompose): Always initialize val.base.
3543
3544 Tue Oct  7 10:19:26 1997  Manfred Hollstein  (manfred@lts.sel.alcatel.de)
3545
3546         * m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment
3547         instead of aborting.
3548         * dwarf2out.c (output_call_frame_info): Call app_enable and
3549         app_disable to let GNU as accept the generated comments.
3550
3551 Tue Oct  7 11:41:21 1997  Michael Meissner  <meissner@cygnus.com>
3552
3553         * tree.h (get_file_function_name): Add declaration.
3554         * dwarf2out.c (output_call_frame_info): No need to cast
3555         get_file_function_name call anymore.
3556         * profile.c (toplevel): Remove get_file_function_name
3557         declaration.
3558         * c-lang.c (finish_file): Ditto.
3559
3560 Tue Oct  7 10:01:45 1997  Chip Salzenberg <chip@rio.atlantic.net>
3561
3562         * Makefile.in (program_transform_name): Let autoconf substitute
3563         the correct value.
3564
3565 Tue Oct  7 09:54:35 1997  Jeffrey A Law  (law@cygnus.com)
3566
3567         * haifa-sched.c (schedule_block): If the first real insn in a
3568         block has any special notes attached to it, remove them.
3569
3570 Tue Oct  7 09:48:51 1997  Richard Henderson  <rth@cygnus.com>
3571
3572         * alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
3573
3574 Mon Oct  6 12:47:32 1997  Manfred Hollstein  (manfred@lts.sel.alcatel.de)
3575
3576         * m88k.c (m88k_begin_prologue): Remove superfluous backslash.
3577
3578 Mon Oct  6 12:04:24 1997  Jeffrey A Law  (law@cygnus.com)
3579
3580         * Makefile.in (check-g77): New test target.
3581         (CHECK-TARGETS): Add check-g77.
3582
3583 Fri Oct  3 11:56:36 1997  Jason Merrill  <jason@yorick.cygnus.com>
3584
3585         * toplev.c (rest_of_compilation): Defer all non-nested inlines.
3586
3587 Fri Oct  3 15:49:27 1997  Michael Meissner  <meissner@cygnus.com>
3588
3589         * flow.c (print_rtl_with_bb): Cast alloca return value for
3590         in_bb_p.
3591
3592 Thu Oct  2 21:15:03 1997  Richard Henderson  <rth@cygnus.com>
3593
3594         * i386.h (RETURN_ADDR_RTX): New definition that works for 
3595         __builtin_return_address(0) and -fomit-frame-pointer.
3596
3597 Wed Oct  1 13:43:53 1997  Jim Wilson  <wilson@cygnus.com>
3598
3599         Bring over from FSF.
3600         Tue Aug  5 16:10:45 1997  Jason Merrill  <jason@yorick.cygnus.com>
3601
3602         * mips.c (function_arg): Handle passing a struct 
3603         containing a double in a DFmode register without the PARALLEL.
3604
3605 Wed Oct  1 11:13:25 1997  Ian Lance Taylor  <ian@cygnus.com>
3606
3607         * pexecute.c: Use spawn if __CYGWIN32__.
3608
3609         * pexecute.c: Include "config.h" first, as per autoconf manual
3610         (from Paul Eggert  <eggert@twinsun.com>).
3611
3612 Wed Oct  1 01:44:36 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
3613
3614         * m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
3615         optimisation for f/expr.o and f/stb.o.
3616
3617 Tue Sep 30 23:48:57 1997  Jeffrey A Law  (law@cygnus.com)
3618
3619         * cse.c (this_insn_cc0_mode): Initialize.
3620
3621 Tue Sep 30 23:09:40 1997  Thomas Koenig <ig25@mvmap66.ciw.uni-karlsruhe.de>
3622
3623         * cccp.c (expand_to_temp_buffer): Initialize all members of obuf.
3624
3625         * haifa-sched.c (get_block_head_tail): Remove unneeded initialization.
3626
3627 Tue Sep 30 23:06:43 1997  Richard Henderson  <rth@cygnus.com>
3628
3629         * alpha.md (beq): For registers and ints 0-255, use cmpeq+bne, since
3630         that pair will dual-issue on the 21164 and plus+beq won't.
3631         (bne): Likewise for cmpeq+beq.
3632
3633 Tue Sep 30 16:07:58 1997  Jim Wilson  <wilson@cygnus.com>
3634
3635         * except.c (find_exception_handler_labels): Correct argument to free.
3636
3637 Tue Sep 30 11:00:00 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
3638
3639         * except.c (find_exception_handler_labels): Free LABELS when we're
3640         done.
3641
3642 Mon Sep 29 14:04:35 1997  Jeffrey A Law  (law@cygnus.com)
3643
3644         * version.c: Bump for snapshot.
3645
3646 Mon Sep 29 10:51:53 1997  Jason Merrill  <jason@yorick.cygnus.com>
3647
3648         * flow.c (find_basic_blocks): Mark calls as potentially jumping
3649         to the EH labels.
3650
3651 Mon Sep 29 09:58:06 1997  Jeffrey A Law  (law@cygnus.com)
3652
3653         * configure.in: Substitute for "install" too.
3654         * configure: Rebuilt.
3655
3656 Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
3657
3658         * Makefile.in (bootstrap-lean, compare-lean): New targets.
3659
3660 Mon Sep 29 00:18:16 1997  Richard Henderson  (rth@cygnus.com)
3661
3662         * alias.c (base_alias_check): Two symbols can conflict if they
3663         are accessed via AND.
3664         (memrefs_conflict_p): Likewise.
3665
3666         * alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
3667         after flushing argument registers to the stack.
3668
3669         * Makefile.in (mostlyclean): Remove .regmove files.
3670
3671 Sun Sep 28 18:59:58 1997  Jason Merrill  <jason@yorick.cygnus.com>
3672
3673         * libgcc2.c (__throw): Fix thinko.
3674
3675 Sun Sep 28 12:00:52 1997  Mark Mitchell  <mmitchell@usa.net>
3676
3677         * cplus-dem.c (demangle_template): Add new parameter.  Handle new
3678         template-function mangling.
3679         (consume_count_with_underscores): New function.
3680         (demangle_signature): Handle new name-mangling scheme.
3681
3682 Sun Sep 28 01:55:04 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
3683
3684         * flow.c (print_rtl_with_bb): Cast alloca return values for variables
3685         start and end.
3686
3687 Sun Sep 28 01:05:16 1997  Jeffrey A Law  (law@cygnus.com)
3688
3689         * frame.c: Remove last change.
3690         * dwarf2.h: Remove last change.
3691         * tree.h: Add declarations of DWARF2 unwind info support
3692         functions.
3693
3694 Sat Sep 27 11:02:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
3695
3696         * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
3697         * tree.h (built_in_function): Likewise.
3698         * expr.c (expand_builtin): Likewise.
3699         * except.h: Likewise.
3700         * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
3701         * libgcc2.c (copy_reg): New fn.
3702         (__throw): Use it.
3703
3704 Fri Sep 26 08:54:59 1997  Paul Eggert  <eggert@twinsun.com>
3705
3706         * c-typeck.c (build_binary_op): Warn about comparing signed vs
3707         unsigned if -W is specified and -Wno-sign-compare is not.
3708         * c-decl.c (warn_sign_compare): Initialize to -1.
3709         (c_decode_option): -Wall no longer implies -Wsign-compare.
3710
3711 Fri Sep 26 09:00:13 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3712
3713         * frame.c: Include gansidecl.h for PROTO.
3714         * dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
3715         defined.  Don't declare dwarf2out_cfi_label here.
3716         * dwarf2.h: Add declarations of DWARF2 unwind info support
3717         functions.
3718         * m68k.c: Include dwarf2.h.
3719         (output_function_prologue): Add dwarf2 support.
3720         * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
3721         (INCOMING_FRAME_SP_OFFSET): Likewise.
3722
3723         * integrate.c (expand_inline_function): Make sure there is at
3724         least one insn that can be used as an insertion point.
3725
3726 Wed Sep 24 21:34:06 1997  Jason Merrill  <jason@yorick.cygnus.com>
3727
3728         * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
3729
3730 Wed Sep 24 22:05:30 1997  Jeffrey A Law  (law@cygnus.com)
3731
3732         * version.c: Bump for snapshot.
3733
3734 Wed Sep 24 17:36:23 1997  Doug Evans  <dje@canuck.cygnus.com>
3735
3736         Bring over from FSF.
3737
3738         Wed Sep 24 19:17:08 1997  Doug Evans  <dje@cygnus.com>
3739
3740         * sparc/sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
3741         (get_pc_via_rdpc): Renamed from get_pc_sp64.
3742         * sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
3743
3744         Wed Sep 24 18:38:22 1997  David S. Miller  <davem@tanya.rutgers.edu>
3745
3746         * sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
3747         (TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
3748         -malign-functions=.
3749         (sparc_align_{loops,jumps,funcs}_string): Declare.
3750         (sparc_align_{loops,jumps,funcs}): Declare.
3751         (DEFAULT_SPARC_ALIGN_FUNCS): New macro.
3752         (FUNCTION_BOUNDARY): Use sparc_align_funcs.
3753         (STACK_BIAS): Define.
3754         (SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform
3755         test.
3756         (SPARC_SETHI_P): New macro.
3757         (CONST_OK_FOR_LETTER_P): Use it.
3758         (ASM_OUTPUT_ALIGN_CODE): Define.
3759         (ASM_OUTPUT_LOOP_ALIGN): Define.
3760         * sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
3761         (sparc_align_{loops,jumps,funcs}): New globals.
3762         (sparc_override_options): Handle -malign-loops=, -malign-jumps=,
3763         -malign-functions=.
3764         (move_operand): Use SPARC_SETHI_P.
3765         (arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
3766         perform test.
3767         (arith11_double_operand): Likewise.
3768         (arith10_double_operand): Likewise.
3769         (finalize_pic): Finish sparc64 support.
3770         (emit_move_sequence): Use SPARC_SETHI_P.  Simplify low part of
3771         64 bit constants if able.
3772         (output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
3773         (sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
3774         ! TARGET_FPU.
3775         * sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
3776         (get_pc_sp32): Use for sparc64 as well.
3777         (lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
3778         (sethi_di_sp64_const): Likewise.
3779         (movtf_cc_sp64): Check TARGET_HARD_QUAD.
3780         (cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
3781         (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
3782
3783         Tue Sep 23 19:02:46 1997  Doug Evans  <dje@cygnus.com>
3784
3785         * sparc/linux-aout.h (COMMENT_BEGIN): Delete.
3786         * sparc/linux.h (COMMENT_BEGIN): Likewise.
3787         * sparc/linux64.h (COMMENT_BEGIN): Likewise.
3788
3789         Tue Sep 23 14:48:18 1997  David S. Miller  <davem@tanya.rutgers.edu>
3790
3791         Add sparc64 linux support.
3792         * configure.in (sparc64-*-linux*): Recognize.  Add sparc/xm-sparc.h
3793         to xm_file list on 32-bit sparc-linux.
3794         * sparc/xm-sp64.h: New file.
3795         * sparc/linux64.h: New file.
3796         * sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
3797         Don't include xm-sparc.h.
3798         * config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
3799         * glimits.h (LONG_MAX): Handle sparc64.
3800
3801         Sat Sep 20 03:07:54 1997  Doug Evans  <dje@cygnus.com>
3802
3803         * sparc/sysv4.h (ASM_COMMENT_START): Delete.
3804         * sparc.h (ASM_COMMENT_START): Define.
3805         * sparc.c (output_function_prologue): Use it.
3806         (sparc_flat_output_function_{epi,pro}logue): Likewise.
3807
3808         Wed Sep 17 15:04:19 1997  Doug Evans  <dje@cygnus.com>
3809
3810         * sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
3811         use sparc.h's copies.
3812         * sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print
3813         ascii form as well.
3814
3815         Mon Sep  8 08:45:19 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3816
3817         * sparc.c (dwarf2out_cfi_label): Add declaration.
3818         (save_regs, output_function_prologue): Remove cast for it.
3819         (sparc_flat_{save_restore,output_function_prologue): Likewise.
3820         ({save,restore}_regs): No longer inline.
3821
3822 Tue Sep 23 12:34:51 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3823
3824         * fold-const.c (make_range): Correctly handle cases of converting
3825         from unsigned to signed type.
3826
3827 Tue Sep 23 12:34:51 1997  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
3828
3829         * fold-const.c (merge_ranges): Make sure that if one range is subset
3830         of another, it will always be the second range.  Correct (+,-) case to
3831         account for this.
3832
3833 Tue Sep 23 08:32:51 1997  Jason Merrill  <jason@yorick.cygnus.com>
3834
3835         * final.c (final_end_function): Also do dwarf2 thing if
3836         DWARF2_DEBUGGING_INFO.
3837         (final_start_function): Likewise.
3838
3839 Tue Sep 23 01:15:50 1997  David S. Miller  <davem@tanya.rutgers.edu>
3840
3841         * expmed.c (expand_divmod): If compute_mode is not the same as
3842         mode, handle the case where convert_modes() causes op1 to no
3843         longer be a CONST_INT.
3844
3845         * reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
3846         note holding get_jump_flags() calculation to all JUMP_INSNs.
3847         * rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
3848         * rtl.c (reg_note_name): Add new note types.
3849
3850 Tue Sep 23 00:59:54 1997  Jeffrey A Law  (law@cygnus.com)
3851
3852         * rtlanal.c (computed_jump_p): Fix typo in last change.
3853
3854 Tue Sep 23 00:42:44 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
3855
3856         * loop.c (indirect_jump_in_function_p): Return 0
3857         by default.
3858
3859 Tue Sep 23 00:33:55 1997  Jeffrey A Law  (law@cygnus.com)
3860
3861         * rs6000/xm-rs6000.h: Fix thinko in last change.
3862         * rs6000/xm-sysv4.h: Likewise.
3863
3864 Mon Sep 22 19:33:53 1997  Jim Wilson  <wilson@cygnus.com>
3865
3866         * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
3867
3868 Mon Sep 22 14:41:00 1997  Jeffrey A Law  (law@cygnus.com)
3869
3870         * reg-stack.c (find_blocks): Fix thinko in last change.
3871
3872 1997-09-21  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3873
3874         * m68k.c (output_function_prologue): Add dwarf2 support.
3875
3876         * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
3877         INCOMING_FRAME_SP_OFFSET): New definitions.
3878  
3879 Mon Sep 22 11:36:42 1997  David S. Miller  <davem@tanya.rutgers.edu>
3880
3881         * combine.c (try_combine): Use NULL_RTX instead of '0' where
3882         appropriate in calls to gen_rtx().
3883         * cse.c (cse_main): Likewise.
3884         * emit-rtl.c (gen_label_rtx): Likewise.
3885         * expr.c (init_expr_once): Likewise.
3886         * haifa-sched.c (flush_pending_lists, sched_analyze_insn,
3887         sched_analyze, init_rgn_data_dependences,
3888         compute_block_backward_dependences): Likewise.
3889         * sched.c (schedule_insns): Likewise.
3890         * varasm.c (immed_double_const): Likewise.
3891
3892         * sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
3893         SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
3894
3895 Mon Sep 22 11:21:33 1997  J. Kean Johnston  <jkj@sco.com>
3896
3897         * i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
3898         (MULTILIB_DEFAULTS): Define.
3899         (ASM_SPEC, CPP_SPEC): Handle -mcoff.
3900         (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
3901         (LIBGCC_SPEC): Likewise.
3902         (MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
3903         (SUBTARGET_SWITCHES): Add -mcoff and -melf.
3904         * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
3905         (CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
3906         (EXTRA_PARTS, TAROUTOPTS): Delete.
3907         (libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
3908         (MULTILIB_OPTIONS): Define.
3909         (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
3910         (MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
3911
3912 Mon Sep 22 02:10:43 1997  Jeffrey A Law  (law@cygnus.com)
3913
3914         * version.c: Bump for snapshot.
3915
3916 Sun Sep 21 17:45:45 1997  Jeffrey A Law  (law@cygnus.com)
3917
3918         * loop.c (loop_number): Delete function.  Change all references
3919         to use uid_loop_num array.
3920         * loop.h (loop_number): Delete declaration.
3921         * unroll.c (unroll_loop): Change "loop_number" references to
3922         use uid_loop_num instead.
3923
3924         * loop.c (loop_unroll_factor): Move outside #ifdef HAIFA
3925         conditional.
3926         (loop_unroll_iter): Remove unused variable and all references.
3927         (loop_optimize): Always allocate and clear space for loop_unroll_factor.
3928         (insert_bct): Fix minor formatting problems.
3929         * loop.h (loop_unroll_factor): Move decl outside #ifdef HAIFA.
3930         (loop_unroll_iter): Removed unused decl.
3931         * unroll.c (unroll_loop): Remove code to set loop_unroll_iter.
3932         Always record the unrolling factor.
3933
3934         * cse.c (simplify_relational_operation): Set h0u just like h0s.
3935         Similarly for h1u and h1s.
3936
3937         * flow.c (jmp_uses_reg_or_mem): Deleted unused function.
3938         (find_basic_blocks): Use computed_jump_p to determine if a
3939         particular JUMP_INSN is a computed jump.
3940         * reg-stack.c (find_blocks): Use computed_jump_p to determine
3941         if a particular JUMP_INSN is a computed jump.
3942         * rtlanal.c (jmp_uses_reg_or_mem): New function.
3943         (computed_jump_p): Likewise.
3944         * rtl.h (computed_jump_p): Declare.
3945         * genattrtab.c (pc_rtx): Define and initialize.
3946         * loop.c (loop_optimize): Always determine if the current
3947         function has a computed jump.
3948         (indirect_jump_in_function_p): Use computed_jump_p to determine
3949         if a particular JUMP_INSN is a computed jump.
3950
3951         * loop.c (fix_bct_param): Delete unused function.
3952         (check_bct_param): Likewise.
3953
3954 Sat Sep 20 16:22:06 1997  Jason Merrill  <jason@yorick.cygnus.com>
3955
3956         * frame.c (__deregister_frame): Check properly for initialized object.
3957
3958 Fri Sep 19 20:51:03 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
3959
3960         * alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
3961
3962 Fri Sep 19 18:53:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
3963
3964         * jump.c (thread_jumps): check can_reverse_comparison_p before
3965         threading a reversed-condition jump.
3966
3967         * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
3968         * haifa-sched.c (update_flow_info): Likewise.
3969
3970 Thu Sep 18 21:13:40 1997  Jeffrey A Law  (law@cygnus.com)
3971
3972         * Makefile.in (BOOT_CFLAGS): Use -O2.
3973
3974         * configure.in (strtoul, bsearch): Have autoconf check for these
3975         functions.
3976         * configure, config.in: Rebuilt.
3977
3978         * m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
3979         * mips/mips.h (alloca): Likewise.
3980         * rs6000/xm-rs6000.h (alloca): Likewise.
3981         * rs6000/xm-sysv4.h: Likewise.
3982
3983 Thu Sep 18 14:22:22 1997  Jason Merrill  <jason@yorick.cygnus.com>
3984
3985         * final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
3986         * dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
3987         (dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
3988
3989         * except.c (end_eh_unwinder): Subtract 1 from return address.
3990         * libgcc2.c (__throw): Likewise.
3991         (find_exception_handler): Don't change PC here.  Compare end with >.
3992
3993 Thu Sep 18 10:43:07 1997  Nick Clifton  <nickc@cygnus.com>
3994  
3995         * v850.c (compute_register_save_size): Correct register
3996         number.
3997         * v850.md (save_interrupt, return_interrupt): Correct
3998         register number.
3999         * v850/lib1funcs.asm (save_interrupt): Correct register number.
4000         (return_interrupt): Use stack pointer, not element pointer.
4001
4002 1997-09-18  Brendan Kehoe  <brendan@lisa.cygnus.com>
4003
4004         * configure.in, configure: Make sure to create the stage* and include
4005         symbolic links in each subdirectory.
4006
4007 Thu Sep 18 01:47:06 1997  Jeffrey A Law  (law@cygnus.com)
4008
4009         * pa.md (reload_peepholes): Don't allow addresses with side
4010         effects for the memory operand.
4011
4012 Wed Sep 17 18:19:53 1997  Jason Merrill  <jason@yorick.cygnus.com>
4013
4014         * libgcc2.c (find_exception_handler): Subtract one from our PC when
4015         looking for a handler, to avoid hitting the beginning of the next
4016         region.
4017
4018         * except.c (expand_builtin_set_return_addr_reg): Use force_operand.
4019
4020 Wed Sep 17 18:33:59 1997  Jeffrey A Law  (law@cygnus.com)
4021
4022         * mips/abi64.h (LONG_MAX_SPEC): Define.
4023         * mips.h (LONG_MAX_SPEC): Define.
4024         (CPP_SPEC): Include long_max_spec.
4025         (EXTRA_SPECS): Include long_max_spec.
4026
4027 Wed Sep 17 14:11:38 1997  Jeffrey A Law  (law@cygnus.com)
4028
4029         * v850.c (construct_save_jarl): Fix thinko in last change.
4030
4031 Wed Sep 17 09:53:07 1997  Jeffrey A Law  (law@cygnus.com)
4032
4033         * version.c: Bump for snapshot.
4034
4035 Tue Sep 16 14:22:36 1997  Jason Merrill  <jason@yorick.cygnus.com>
4036
4037         * libgcc2.c (find_exception_handler): Not found is -1.
4038
4039         * integrate.c (expand_inline_function): Move expand_start_bindings
4040         after expanding the arguments.
4041
4042 Tue Sep 16 11:13:46 1997  Jim Wilson  <wilson@cygnus.com>
4043
4044         * expr.c (expand_expr): Remove previous incorrect change.
4045         If target and slot has no DECL_RTL, then call mark_addressable
4046         again for the slot after we give it RTL.
4047
4048 Tue Sep 16 09:18:52 1997  Jason Merrill  (jason@cygnus.com)
4049
4050         * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
4051         again for the slot after we give it RTL.
4052
4053 Tue Sep 16 00:13:20 1997  Nick Clifton  <nickc@cygnus.com>
4054
4055         * v850.c (register_is_ok_for_epilogue,
4056         pattern_is_ok_for_epilogue, construct_restore_jr,
4057         pattern_is_ok_for_prologue, construct_save_jarl): New functions.
4058
4059         * v850.h (pattern_is_ok_for_prologue,
4060         pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New
4061         predicates.
4062
4063         * v850.md: Replace prologue and epilogue patterns with a
4064         match_parallel pattern.
4065
4066 Mon Sep 15 22:53:01 1997  Jeffrey A Law  (law@cygnus.com)
4067
4068         * aclocal.m4: Add replacement for AC_PROG_INSTALL.
4069         * configure.in: Use EGCS_PROG_INSTALL.
4070
4071 Mon Sep 15 22:40:55 1997  Jim Wilson  (wilson@cygnus.com)
4072
4073         * dwarf2out.c (gen_subprogram_die): Handle redefinition of an
4074         extern inline function.
4075
4076 Mon Sep 15 22:40:55 1997  Richard Henderson  (rth@cygnus.com)
4077
4078         * dwarf2out.c (reg_loc_descriptor): Fix prototype.
4079         (concat_loc_descriptor): New function.
4080         (loc_descriptor): Call it.
4081         (add_AT_location_description): Also elide the descriptor if both
4082         halves of a CONCAT are pseudos.
4083         (add_location_or_const_value_attribute): Recognize CONCAT too.
4084
4085 Mon Sep 15 15:24:00 1997  Richard Henderson  <rth@cygnus.com>
4086
4087         * alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.
4088
4089         * alpha/alpha.c (output_prolog): New variable sa_reg.  Use it for
4090         out-or-range reg_offset.
4091         (output_epilog): Likewise.
4092
4093 Mon Sep 15 15:39:26 1997  Jeffrey A Law  (law@cygnus.com)
4094
4095         * cse.c (simplify_relational_operation): If MODE specifies a
4096         mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
4097         is derived from the sign bit of the low word.
4098
4099 Mon Sep 15 11:43:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
4100
4101         Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
4102
4103         * dwarf2.h: Add DW_CFA_GNU_args_size.
4104         * frame.c (execute_cfa_insn): Likewise.
4105         * dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
4106         (dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
4107         (dwarf2out_frame_debug): If this isn't a prologue or epilogue
4108         insn, hand it off to dwarf2out_stack_adjust.
4109         (dwarf2out_begin_prologue): Initialize args_size.
4110         * frame.h (struct frame_state): Add args_size.
4111         * libgcc2.c (__throw): Use args_size.
4112         * final.c (final_scan_insn): If we push args, hand off all insns
4113         to dwarf2out_frame_debug.
4114         * defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
4115
4116         * dwarf2out.c dwarf2out_frame_debug): Fix typo.
4117         Handle epilogue restore of SP from FP.
4118         * emit-rtl.c (gen_sequence): Still generate a sequence if the 
4119         lone insn has RTX_FRAME_RELATED_P set.
4120
4121         * frame.c (extract_cie_info): Handle "e" augmentation.
4122         * dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
4123         absence of UNALIGNED_*_ASM_OP.
4124         (UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
4125         (output_call_frame_info): Use "e" instead of "z" for augmentation.
4126         Don't emit augmentation fields length.
4127         (dwarf2out_do_frame): Move outside of #ifdefs.
4128         * defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
4129         opcodes.
4130
4131         * sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
4132         * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
4133         * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
4134         * sparc/sun4gas.h: New file.
4135         * configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
4136
4137         * collect2.c (write_c_file_stat, write_c_file_glob): Declare 
4138         __register_frame_table and __deregister_frame.
4139
4140 1997-09-15  Brendan Kehoe  <brendan@cygnus.com>
4141
4142         * except.c (find_exception_handler_labels): Use xmalloc instead of
4143         alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
4144         in some cases.
4145
4146 Sun Sep 14 21:01:23 1997  Jeffrey A Law  (law@cygnus.com)
4147
4148         * Makefile.in: Various changes to build info files
4149         in the object tree rather than the source tree.
4150
4151 Sun Sep 14 12:24:30 1997  Jeffrey A Law  (law@cygnus.com)
4152
4153         * fixinc.math: New file to fix math.h on some systems.
4154         * configure.in (freebsd, netbsd): Use fixinc.math on these
4155         systems.
4156         * configure: Rebuilt.
4157
4158 Sun Sep 14 11:11:05 1997  Jeffrey A Law  (law@cygnus.com)
4159
4160         * regmove.c (regmove_optimize): If we end up moving the
4161         original insn due to lifetime overlaps, make sure to move
4162         REG_NOTES too.
4163
4164 Sat Sep 13 15:51:11 1997  Manfred Hollstein  <manfred@s-direktnet.de>
4165
4166         * Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure.
4167
4168 Sat Sep 13 12:57:26 1997  Jeffrey A Law  (law@cygnus.com)
4169
4170         * haifa-sched.c (add_branch_dependences): Make each insn in
4171         a SCHED_GROUP_P block explicitly depend on the previous insn.
4172
4173 Fri Sep 12 13:49:58 1997  Jason Merrill  <jason@yorick.cygnus.com>
4174
4175         * except.h: Prototype dwarf2 hooks.
4176         * expr.c: Adjust.
4177
4178 Thu Sep 11 17:43:55 1997  Jim Wilson  <wilson@cygnus.com>
4179
4180         * configure.in (native_prefix): Delete.
4181         (mips-dec-netbsd): Don't set prefix.
4182         (*linux*): Don't set prefix.
4183
4184 Thu Sep 11 15:48:32 1997  Fred Fish  <fnf@ninemoons.com>
4185
4186         * protoize.c: Include <varargs.h> only if HAVE_VARARGS_H is
4187         defined.  If not defined, include <sys/varargs.h> if
4188         HAVE_SYS_VARARGS_H is defined.
4189         * configure.in: Test for varargs.h and sys/varargs.h.
4190         * configure: Regenerate with autoconf.
4191         * config.in: Regenerate with autoheader.
4192
4193         * cpplib.c (quote_string): Cast first arg of sprintf call
4194         from "unsigned char *" to "char *".
4195         (output_line_command): Ditto.
4196         (macroexpand): Ditto.
4197         (do_line): Cast atoi arg from "unsigned char *" to "char *".
4198
4199 Wed Sep 10 21:37:30 1997  Jeffrey A Law  (law@cygnus.com)
4200
4201         * version.c: Bump for snapshot.
4202
4203         * Makefile.in (compare): Exit with nonzero status if there
4204         are comparison failures.  Note which files failed the
4205         comparison test in .bad_compare.
4206
4207 Wed Sep 10 17:05:46 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
4208
4209         * config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__ -D__pic__.
4210
4211 Wed Sep 10 16:37:28 1997  Fred Fish  <fnf@ninemoons.com>
4212
4213         * Makefile.in (LN, LN_S): New macros, use where appropriate.
4214         * aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New tests.
4215         * configure.in: Use GCC_PROG_LN_S and GCC_PROG_LN.
4216         * configure: Regenerated.
4217
4218 Thu Sep 11 11:09:43 1997  Jeffrey A Law  (law@cygnus.com)
4219
4220         * loop.c (strength_reduce): Fix typo.
4221
4222 Wed Sep 10 16:01:15 1997  Jim Wilson  <wilson@cygnus.com>
4223
4224         * m88k/m88k.c (struct option): Rename to struct options.
4225         * m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
4226         * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and comments.
4227         * libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
4228         __DOLPHIN__ or sysV88.
4229
4230 Wed Sep 10 14:58:40 1997  Jim Wilson  <wilson@cygnus.com>
4231
4232         * emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when
4233         create new subreg.
4234
4235 Wed Sep 10 15:19:22 1997  Jeffrey A Law  (law@cygnus.com)
4236
4237         * config.sub: Accept 'amigados' for backward compatability.
4238
4239 Wed Sep 10 14:05:08 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
4240
4241         * Makefile.in (testsuite/site.exp): New target.
4242         (check-gcc, check-g++): Depend on testsuite/site.exp.
4243         Don't stop for failure.
4244
4245 Wed Sep 10 12:59:57 1997  Jason Merrill  <jason@yorick.cygnus.com>
4246
4247         * expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
4248         if DWARF2_UNWIND_INFO.
4249
4250 Wed Sep 10 11:49:20 1997  Jason Merrill  <jason@yorick.cygnus.com>
4251
4252         Add support for exception handling using DWARF 2 frame unwind info.
4253         Currently works on SPARC and MIPS, and almost on x86.
4254         
4255         * libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
4256         next_stack_level, in_reg_window): Helper fns.
4257         (__throw): Implement for DWARF2_UNWIND_INFO.
4258
4259         * expr.c (expand_builtin): Handle builtins used by __throw.
4260         * tree.h (enum built_in_function): Add builtins used by __throw.
4261         * c-decl.c (init_decl_processing): Declare builtins used by __throw.
4262         * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
4263         * except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
4264         (expand_builtin_extract_return_addr): Likewise.
4265         (expand_builtin_frob_return_addr): Likewise.
4266         (expand_builtin_set_return_addr_reg): Likewise.
4267         (expand_builtin_eh_stub): Likewise.
4268         (expand_builtin_set_eh_regs): Likewise.
4269         (eh_regs): Choose two call-clobbered registers for passing back values.
4270
4271         * frame.c, frame.h: New files for parsing dwarf 2 frame info.
4272         * Makefile.in (LIB2ADD): New variable.  Add $(srcdir)/frame.c.
4273         (libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
4274         (stmp-multilib): Likewise.
4275         ($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
4276
4277         * except.c: #include "defaults.h".
4278         (exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
4279         (emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
4280         (register_exception_table_p): New fn.
4281         (start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
4282         (end_eh_unwinder): Likewise.
4283
4284         * crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP, 
4285         call __register_frame and __deregister_frame as needed.
4286         * varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
4287         * dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro.  Check
4288         EH_FRAME_SECTION_ASM_OP.
4289         * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
4290         * mips/iris6.h: (EH_FRAME_SECTION_ASM_OP): Define.
4291         (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
4292
4293         * dwarf2out.c (output_call_frame_info): If no support for
4294         EXCEPTION_SECTION, mark the start of the frame info with a
4295         collectable tag.
4296         * collect2.c (frame_tables): New list.
4297         (is_ctor_dtor): Recognise frame entries.
4298         (scan_prog_file): Likewise.
4299         (main): Pass -fno-exceptions to sub-compile.  Also do collection
4300         if there are any frame entries.
4301         (write_c_file_stat): Call __register_frame_table and
4302         __deregister_frame as needed.
4303         (write_c_file_glob): Likewise.
4304
4305         * defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.  
4306         Also require unaligned reloc support.
4307         * sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
4308         UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
4309         * sparc/sysv4.h: Not here.
4310
4311         * toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
4312         * dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
4313         (dwarf2out_finish): Don't call dwarf2out_frame_finish.
4314
4315         * libgcc2.c (L_eh): Reorganize, moving code shared by different
4316         EH implementations to the top.
4317         (find_exception_handler): Split out.  Start from 0.  Compare against
4318         end with >=.
4319         (__find_first_exception_table_match): Use it.
4320         * except.c (output_exception_table): Don't do anything if there's
4321         no table.  Don't output a first entry of zeroes.
4322         (eh_outer_context): Adjust properly.
4323         (add_eh_table_entry): Use xrealloc.
4324         * toplev.c (compile_file): Just call output_exception_table.
4325
4326 Wed Sep 10  11:30:36 1997  Jason Merrill  <jason@cygnus.com>
4327
4328         * i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
4329
4330 Wed Sep 10 08:17:10 1997  Torbjorn Granlund  <tege@pdc.kth..se>
4331
4332         * except.c (eh_outer_context): Do masking using expand_and.
4333
4334 Wed Sep 10 01:38:30 1997  Doug Evans  <dje@cygnus.com>
4335
4336         Add port done awhile ago for the ARC cpu.
4337         * arc/arc.h: New file.
4338         * arc/arc.c: New file.
4339         * arc/arc.md: New file.
4340         * arc/initfini.c: New file.
4341         * arc/lib1funcs.asm: New file.
4342         * arc/t-arc: New file.
4343         * arc/xm-arc.h: New file.
4344         * ginclude/va-arc.h: New file.
4345         * ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
4346         * ginclude/varargs.h: Likewise.
4347         * Makefile.in (USER_H): Add va-arc.h.
4348         * configure.in (arc-*-elf*): Recognize.
4349         * longlong.h: Add ARC support.
4350
4351 Wed Sep 10 01:32:54 1997  Jeffrey A Law  (law@cygnus.com)
4352
4353         * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
4354         when clearing non-BLKmode data.
4355
4356 Wed Sep 10 00:29:29 1997  Manfred Hollstein  <manfred@s-direktnet.de>
4357
4358         * m88k/sysv3.h (INITIALIZE_TRAMPOLINE) Define.
4359         * libgcc2.c (__enable_execute_stack): Provide for sysV88 too.
4360
4361         * xm-m88k.h (USG): Only define if it hasn't already been defined.
4362
4363         * Makefile.in (risky-stage1): Delete gratutious whitespace.
4364
4365         * Makefile.in (clean): Delete libgcc1-test.
4366
4367         * Makefile.in (INSTALL): cd to $(srcdir) before running texinfo.
4368
4369 Tue Sep  9 17:07:36 1997  Stan Cox  <coxs@dg-rtp.dg.com>
4370
4371         * m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
4372         template.
4373
4374 Tue Sep  9 09:50:02 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4375
4376         * dwarf2out.c (output_call_frame_info): Call named_section.
4377
4378 Tue Sep  9 09:12:17 1997  Jeffrey A Law  (law@cygnus.com)
4379
4380         * haifa-sched.c (print_value): Fix last change.
4381
4382 Tue Sep  9 01:30:37 1997  Jason Merrill  <jason@yorick.cygnus.com>
4383
4384         * mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
4385         write_symbols.
4386
4387 Mon Sep  8 16:32:43 1997  Jason Merrill  <jason@yorick.cygnus.com>
4388
4389         * mips.c (function_prologue): Set up the CFA when ABI_32.
4390
4391         * sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
4392         for dwarf2 unwind info.
4393         (output_function_prologue, sparc_flat_output_function_prologue): Same.
4394
4395         * final.c (final_end_function): Check dwarf2out_do_frame instead
4396         of DWARF2_DEBUG for dwarf2 unwind info.
4397         (final_scan_insn): Likewise.
4398         (final_start_function): Likewise.  Initialize dwarf2 frame debug here.
4399         (final): Not here.
4400
4401         * expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
4402         count > 0.
4403
4404         * varasm.c (exception_section): Check EXCEPTION_SECTION first.
4405
4406 Mon Sep  8 15:15:11 1997  Nick Clifton  <nickc@cygnus.com>
4407
4408         * v850.h (ASM_SPEC): Pass on target processor.
4409         (CPP_PREDEFINES): Only define if not already specified.
4410         (TARGET_VERSION): Only define if not already specified.
4411         (MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
4412         processor.
4413         (EXTRA_SWITCHES): Extra entries in the switches array.
4414         (TARGET_DEFAULT): Set default target processor.
4415
4416 Mon Sep  8 18:26:35 1997  Jim Wilson  <wilson@cygnus.com>
4417
4418         * m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In MOTOROLA
4419         cases, add %# and %/, and add : to make them into extended asms.
4420
4421 Sun Sep  7 23:57:50 1997  Weiwen Liu  <liu@hepunix.physics.yale.edu>
4422
4423         * alias.c (init_alias_analysis): Clean up incompatible pointer
4424         type warning in bzero.
4425         * regmove.c (regmove_optimize): Ditto.
4426         * haifa-sched.c (find_rgns): Ditto.
4427
4428         * haifa-sched.c (print_value): Clean up ptr->int cast
4429         warnings.
4430
4431 Sun Sep  7 23:18:32 1997  Fred Fish  <fnf@ninemoons.com>
4432
4433         * INSTALL: Change 'amigados' to 'amigaos' to match current usage.
4434         * install.texi (Configurations): Ditto.
4435         * config.sub: Ditto.
4436
4437 Sun Sep  7 22:56:56 1997  Weiwen Liu  (liu@hepvms.physics.yale.edu)
4438
4439         * Makefile.in (sdbout.o): Depend on insn-config.h.
4440
4441 Sun Sep  7 18:44:50 1997  Jim Wilson  <wilson@cygnus.com>
4442
4443         * m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
4444         For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
4445
4446 Sun Sep  7 18:30:46 1997  Jason Merrill  <jason@yorick.cygnus.com>
4447
4448         * dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
4449         prologue insn, only the first elt is significant.
4450         (output_call_frame_info): For exception handling, always use 4-byte
4451         fields as specified by the dwarf2 spec.
4452         Don't skip trivial FDEs.
4453
4454 Sun Sep  7 14:19:39 1997  Jeffrey A Law  (law@cygnus.com)
4455
4456         * version.c: Bump for snapshot.
4457
4458 Sun Sep  7 14:17:36 1997  Torbjorn Granlund  (tege@pdc.kth.se)
4459
4460         * expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp
4461         for negative constants.  Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR
4462         when op1_is_pow2.
4463
4464 Sun Sep  7 13:46:46 1997  Jeffrey A Law  (law@cygnus.com)
4465
4466         * final.c (shorten_branches): During first pass, assume worst
4467         possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
4468
4469         * Makefile.in (distclean): Remove various things left around
4470         by running the testsuite.
4471
4472 Sun Sep  7 13:16:06 1997  Manfred Hollstein  <manfred@s-direktnet.de>
4473
4474         * configure.in (out_file): Emit definition to config.status in order
4475         to have a defined value for configure.lang.
4476         * configure: Re-built.
4477
4478 Sun Sep  7 09:59:08 1997  Jan-Jaap van der Heijden (J.J.vanderHeijden@student.utwente.nl)
4479
4480         * configure.in: Make symlink to as-new rather than as.new.  Similarly
4481         for ld-new.
4482         * configure: Rebuilt.
4483
4484 Fri Sep  5 16:54:55 1997  Jim Wilson  <wilson@cygnus.com>
4485
4486         * profile.c (output_func_start_profiler): Set DECL_EXTERNAL to zero.
4487
4488 Fri Sep  5 16:16:44 1997  Christian Kuehnke  <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>
4489
4490         * sparc/sparc.md: Add ultrasparc scheduling support.
4491         * sparc/sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
4492
4493 Fri Sep  5 14:04:59 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
4494
4495         * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
4496         as initial value for real_label_map.
4497         (copy_for_inline): Likewise.
4498
4499 Fri Sep  5 13:36:44 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
4500
4501         * sched.c (update_flow_info) When looking if to set found_split_dest
4502         or found_orig_dest, look at all parts of a PARALLEL.
4503         * haifa-sched.c (update_flow_info): Likewise.
4504
4505 Fri Sep  5 10:08:44 1997  Jeffrey A Law  (law@cygnus.com)
4506
4507         * v850: New directory for v850 port.
4508         * v850/lib1funcs.asm: New file.
4509         * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
4510         * ginclude/va-v850.h: New file.
4511         * ginclude/varargs.h, ginclude/stdarg.h: Include va-mn10200.h.
4512         * configure.in (mn10200-*-*): New target.
4513         * configure: Rebuilt.
4514         * config.sub: Handle v850-elf.
4515         * Makefile.in (USER_H): Add va-mn10200.h. 
4516         * invoke.texi: Document v850 stuff.
4517
4518 Fri Sep  5 09:37:50 1997  Jim Wilson  (wilson@cygnus.com)
4519
4520         * sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
4521         has integer TYPE_{MAX,MIN}_VALUE before using them.
4522
4523         * m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
4524         __HPUX_ASM__ versions.
4525
4526 Fri Sep  5 09:08:44 1997  Jeffrey A Law  (law@cygnus.com)
4527
4528         * install.sh: Delete duplicate install script.
4529
4530 Thu Sep  4 23:14:27 1997  Stan Cox  (coxs@dg-rtp.dg.com)
4531
4532         * reg-stack.c (subst_stack_regs): Pop the stack register for a
4533         computed goto which sets the same stack register.
4534
4535         * reg-stack.c (compare_for_stack_reg): Swap only if the source and
4536         destination are both on the regstack.
4537         (subst_stack_regs_pat): Put the destination at the top of the regstack.
4538
4539 Thu Sep  4 15:02:27 1997  Jim Wilson  <wilson@cygnus.com>
4540
4541         * mips.md (nonlocal_goto_receiver): Define.
4542
4543         * profile.c (output_arc_profiler): Check next_insert_after for non
4544         NULL before deferencing it.
4545
4546         * i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
4547
4548 Thu Sep  4 14:51:57 1997  Jeffrey A Law  (law@cygnus.com)
4549
4550         * i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
4551
4552 Thu Sep  4 15:01:49 1997  Michael Meissner  <meissner@cygnus.com>
4553
4554         * toplev.c (rest_of_compilation): For passes starting with
4555         flow_analysis, use print_rtl_with_bb instead of print_rtl.
4556
4557         * print-rtl.c (print_rtl_single): Print a single rtl value to a
4558         file.
4559
4560         * flow.c (print_rtl_with_bb): Print which insns start and end
4561         basic blocks.  For the start of a basic block, also print the live
4562         information.
4563
4564 Thu Sep  4 11:51:43 1997  Jim Wilson  <wilson@cygnus.com>
4565
4566         * toplev.c (main): Change #elif to #else/#ifdef
4567
4568         * tlink.c: Include ctype.h.
4569         * ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
4570
4571 Thu Sep  4 11:17:16 1997  Mikeael Meissner  (meissner@cygnus.com)
4572
4573         * bitmap.c: Conditionally include stdlib.h.
4574         (free): Provide a declaration if NEED_DECLARATION_FREE.
4575
4576 Thu Sep  4 09:58:53 1997  Joel Sherrill  (joel@OARcorp.com)
4577
4578         * i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
4579
4580 Thu Sep  4 09:53:20 1997  Jim Wilson  (wilson@cygnus.com)
4581
4582         * profile.c (output_arc_profiler): Verify next_insert_after is an
4583         INSN before and after skipping a stack pop.
4584
4585 Thu Sep  4 07:39:19 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
4586
4587         * final.c (shorten_branches): Don't count the lengths of deleted
4588         instructions.
4589
4590 Thu Sep  4 09:43:01 1997  Jeffrey A Law  (law@cygnus.com)
4591
4592         * version.c: Bump for snapshot.
4593
4594 Thu Sep  4 11:04:21 1997  Michael Meissner  <meissner@cygnus.com>
4595
4596         * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
4597         two bitmaps ANDed together.
4598         (bitmap_print): Declare.
4599
4600         * bitmap.c (function_obstack): Don't declare any more.
4601         (bitmap_obstack): Obstack for allocating links from.
4602         (bitmap_obstack_init): New static to say whether to initialize
4603         bitmap_obstack.
4604         (bitmap_element_allocate): Use bitmap_obstack to allocate from.
4605         (bitmap_release_memory): Free all memory allocated from
4606         bitmap_obstack.
4607
4608         * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
4609         EXECUTE_IF_AND_IN_BITMAP.
4610
4611 Wed Sep  3 10:39:42 1997  Jim Wilson  <wilson@cygnus.com>
4612
4613         * alias.c (true_dependence): Address with AND can alias scalars.
4614         (anti_dependence, output_dependence): Likewise.
4615         
4616         * alias.c (true_dependence): Test x for BLKmode, in addition to mem.
4617
4618 Wed Sep  3 09:28:50 CDT 1997  Joel Sherrill (joel@OARcorp.com)
4619
4620         * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h,
4621           mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h,
4622           sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES
4623           definitions.  Use -qrtems instead of -mrtems.
4624
4625 Wed Sep  3 09:05:41 1997  Robert Lipe  (robert@dgii.com)
4626
4627         * xm-sco5.h (sys_siglist): Define.
4628         (SYS_SIGLIST_DECLARED): Likewise.
4629
4630 Tue Sep  2 23:33:33 1997  Jeffrey A Law  (law@cygnus.com)
4631
4632         * expr.c (convert_move): Handle truncation from TQFmode to QFmode.
4633
4634 Wed Sep  3 02:09:30 1997  Torbjorn Granlund  <tege@pdc.kth..se>
4635
4636         * except.c (eh_outer_context): Expand masking operation using
4637         expand_binop.
4638
4639 Tue Sep  2 18:09:39 1997  Jim Wilson  <wilson@cygnus.com>
4640
4641         * alpha.md (floatdisf2-1): New pattern.
4642
4643 Tue Sep  2 18:41:55 1997  Jeffrey A Law  (law@cygnus.com)
4644
4645         * xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
4646         * xm-news.h (SYS_SIGLIST_DECLARED): Likewise.
4647         * xm-sysv4.h (SYS_SIGLIST_DECLARED): Likewise.
4648         * gcc.texi: Note that if you define sys_siglist that you should
4649         also define SYS_SIGLIST_DECLARED.
4650
4651         * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
4652         are relative to the next instruction, not the current instruction.
4653
4654 Tue Sep  2 14:22:43 1997  Jim Wilson  <wilson@cygnus.com>
4655
4656         * local-alloc.c (contains_replace_regs): New function.
4657         (update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
4658         verify that there is no existing REG_EQUIV note, and add a call to
4659         contains_place_regs.
4660
4661 Tue Sep  2 12:48:11 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
4662
4663         * config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__ -D__pic__.
4664         (STARTFILE_SPEC): Always use crtbegin.o%s
4665         (ENDFILE_SPEC): Always use crtend.o%s.
4666
4667 Tue Sep  2 12:00:36 1997  Jim Wilson  <wilson@cygnus.com>
4668
4669         * alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
4670         is passed in.
4671         * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
4672         SFmode for 64 bit hosts.
4673         
4674 Tue Sep  2 13:42:38 1997  Paul N. Hilfinger  <hilfingr@CS.Berkeley.EDU>
4675
4676         * fixincludes: Permits spaces between # and define.  Discard C++
4677         comments in sys/pci.h on HP/UX 10.20.
4678
4679 Mon Sep  1 22:13:18 1997  Jeffrey A Law  (law@cygnus.com)
4680
4681         * version.c: Bump for snapshot.
4682
4683         * pa.c (restore_unscaled_index_insn_codes): New function.
4684         (record_unscaled_index_insn_codes): Likewise.
4685         (output_function_prologue): Call restore_unscaled_index_insn_codes.
4686         (output_function_epilogue): Free memory for unscaled_index_insn_codes.
4687         (pa_reorg): Call record_unscaled_index_insn_codes.
4688
4689         * haifa-sched.c (move_insn): Handle notes correctly for insns
4690         with SCHED_GROUP_P set.
4691         
4692 Mon Sep  1 16:58:57 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
4693
4694         * alpha/xm-linux.h (USE_BFD): Undef before define.
4695
4696 Mon Sep  1 16:25:34 1997  Jim Wilson  <wilson@cygnus.com>
4697
4698         * cse.c (cse_insn): Don't record BLKmode values.
4699
4700 Mon Sep  1 11:25:47 1997  Stephen Williams  (steve@icarus.icarus.com)
4701
4702         * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
4703
4704 Mon Sep  1 08:29:46 1997  Jeffrey A Law  (law@cygnus.com)
4705
4706         * cccp.c (sys_errlist): Remove special 4.4bsd declaration.
4707         * collect2.c (sys_errlist): Likewise.
4708         * cpplib.c (sys_errlist): Likewise.
4709         * gcc.c (sys_errlist): Likewise.
4710         * protoize (sys_errlist): Likewise.
4711         * configure.in: Check for strerror.
4712         * xm-freebsd.h (HAVE_STRERROR): Remove definition.
4713         * xm-gnu.h (HAVE_STRERROR): Likewise.
4714         * xm-linux.h (HAVE_STRERROR): Likewise.
4715         * xm-netbsd.h (HAVE_STRERROR): Likewise.
4716         * xm-bsd386.h (HAVE_STRERROR): Likewise.
4717         * xm-cygwin32.h (HAVE_STRERROR): Likewise.
4718         * xm-dos.h (HAVE_STRERROR): Likewise.
4719         * xm-mingw32.h (HAVE_STRERROR): Likewise.
4720         * xm-pa.h (HAVE_STRERROR): Likewise.
4721         * xm-papro.h (HAVE_STRERROR): Likewise.
4722         * xm-sysv4.h (HAVE_STRERROR): Likewise.
4723         * configure, config.in: Rebuilt.
4724
4725         * Makefile.in: Add several missing "else true" clauses.
4726
4727         * collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED.
4728         * mips-tfile.c: Likewise.
4729         * gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs.
4730         * xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
4731         * xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-sol2.h: Likewise.
4732         * configure.in: Check for sys_siglist declaration.
4733         * configure, config.in: Rebuilt.
4734
4735 Mon Sep  1 08:04:07 1997  Joel Sherrill (joel@OARcorp.com)
4736
4737         * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, 
4738         m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h,
4739         sparc/rtems.h (subtarget_switches): Added -mrtems as a switch.
4740         * i960/i960.h: Added SUBTARGET_SWITCHES macro.
4741         * rs6000/sysv4.h (extra_subtarget_switches): Added new
4742         macro EXTRA_SUBTARGET_SWITCHES.
4743         * configure.in (sh*-*-rtems*): New target.
4744         * sh/rtems.h: New file.
4745         * sh/sh.h: Added SUBTARGET_SWITCHES macro.
4746         * configure: Rebuilt.
4747
4748 Sat Aug 30 22:54:26 1997  Jim Wilson  <wilson@cygnus.com>
4749
4750         * unroll.c (calculate_giv_inc): Handle increment with code PLUS.
4751
4752 Sat Aug 30 10:49:46 1997  David Edelsohn  <edelsohn@mhpcc.edu>
4753
4754         * rs6000.md: Make DF fused-add operations pay attention to
4755         -mno-fused-add.
4756
4757 Fri Aug 29 19:19:54 1997  Jim Wilson  <wilson@cygnus.com>
4758
4759         * i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
4760
4761 Fri Aug 29 16:13:51 1997  Jeffrey A Law  (law@cygnus.com)
4762
4763         * pa.md (reload_peepholes): Make sure operand is a REG before
4764         examining REGNO.  Allow general registers too.
4765
4766 Fri Aug 29 11:42:04 1997  Jim Wilson  <wilson@cygnus.com>
4767
4768         * varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
4769
4770 Fri Aug 29 09:33:20 1997  Philipp Thomas  (kthomas@lxi165.gwdg.de)
4771
4772         * dwarf2out.c (build_abbrev_table): Use xrealloc, not xmalloc
4773         to reallocate abbrev_die_table.
4774
4775 Thu Aug 28 15:14:46 1997  Jim Wilson  <wilson@cygnus.com>
4776
4777         * m68k/m68k.md (iorsi_zexthi_ashl16): Disable.
4778
4779 1997-08-27  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
4780
4781         * Makefile.in (config.status): Depend on version.c
4782
4783         * expr.h (insn_gen_function): Reenable prototype.
4784
4785         * expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of
4786         first parameter.
4787
4788 Thu Aug 28 13:01:43 1997  Jim Wilson  <wilson@cygnus.com>
4789
4790         * i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
4791
4792 Thu Aug 28 07:03:15 1997  Jeffrey A Law  (law@cygnus.com)
4793
4794         * version.c: Bump for latest snapshot.
4795
4796         * bc-optab.c: Conditionally include stdlib.h.
4797         (free): Provide a declaration if NEED_DECLARATION_FREE.
4798         * tree.c (free): Provide a declaration if NEED_DECLARATION_FREE.
4799         * rtl.h (free): Remove declaration.
4800         * tree.h (free): Remvoe declaration.
4801
4802         * configure: Rebuilt.
4803
4804 Wed Aug 27 21:32:20 1997  Jeffrey A Law  (law@cygnus.com)
4805
4806         * flags.h (flag_move_all_movables): Declare.
4807         (flag_reduce_all_givs): Likewise.
4808         * loop.c (move_movables): Handle flag_move_all_movables.
4809         (strength_reduce): Handle flag_reduce_all_givs.
4810         * toplev.c (flag_move_all_movables): Define.
4811         (flag_reduce_all_givs): Likewise.
4812         (f_options): Add -fmove-all-movables and -freduce-all-givs.
4813         * invoke.texi: Document new options, including alias stuff that
4814         wasn't included last time.
4815
4816 Wed Aug 27 18:08:51 1997  Bob Manson  (manson@cygnus.com)
4817
4818         * t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
4819         * t-mn10200: Ditto.
4820         * t-vxsparc: Ditto.
4821         * t-vxworks68: Ditto.
4822         * t-vxworks960: Ditto.
4823         * t-vx29k: Ditto.
4824
4825 Wed Aug 27 16:35:29 1997  Richard Henderson  <rth@cygnus.com>
4826
4827         * alpha/xm-alpha.h (alloca): Define alloca to builtin_alloca for GNUC
4828         if not already defined, and USE_C_ALLOCA not defined.
4829
4830 Wed Aug 27 16:08:43 1997  Jim Wilson  <wilson@cygnus.com>
4831
4832         * config.guess: Replace with script that uses ../config.guess.
4833
4834         * config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
4835         if USE_GNULIBC_1 is not defined.
4836
4837 Wed Aug 27 15:49:12 1997  Richard Henderson  <rth@cygnus.com>
4838
4839         * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
4840         * config.guess: Recognize alpha-linux-gnulibc1.
4841         * configure.in (alpha-*-linux-gnulibc1): New target.
4842         (alpha-*-linux-gnu*): Don't build crtbegin/end.
4843
4844 Wed Aug 27 11:52:58 1997  Jim Wilson  <wilson@cygnus.com>
4845
4846         * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
4847         last change.
4848
4849 Wed Aug 27 01:56:18 1997  Doug Evans  <dje@seba.cygnus.com>
4850
4851         * loop.c (combine_movables): Earlier insns don't match later ones.
4852
4853 Wed Aug 27 01:24:25 1997  H.J. Lu   (hjl@gnu.ai.mit.edu)
4854
4855         * config/linux.h (CC1_SPEC): Define it only if not defined.
4856
4857         * config/m68k/linux.h (CC1_SPEC): Undefine it before include
4858         <linux.h>
4859
4860         * config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
4861         USE_GNULIBC_1 is not defined.
4862
4863         * config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New.  Defined as 1.
4864
4865         * config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
4866         as 1 if USE_GNULIBC_1 is not defined.
4867
4868 Wed Aug 27 00:49:14 1997  Jeffrey A Law  (law@cygnus.com)
4869
4870         * reorg.c (dbr_schedule): Allow current_function_return_rtx
4871         to be something other than a REG.
4872         * function.c (expand_function_end): Fix current_function_return_rtx
4873         if it was a pseudo.
4874
4875         * t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
4876         * x-netbsd: Likewise
4877         * x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS
4878         (INSTALL_HEADERS): Delete.
4879         * x-dguxbcs: Likewise.
4880         * x-hp3bsd44: Likewise
4881         * x-pa: Likewise.
4882
4883 Wed Aug 27 00:30:00 1997  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
4884
4885         * i386.md (pop): pop increments the stack pointer.
4886         (prologue_set_stack_ptr): New pattern.
4887         * i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
4888         instead of subsi3.
4889
4890 Tue Aug 26 18:50:32 1997  Jim Wilson  <wilson@cygnus.com>
4891
4892         * reload.c (find_reloads, case '0'): Reject matching a non-offsettable
4893         address where an offsettable address is required.
4894
4895 Tue Aug 26 17:54:56 1997  Michael P. Hayes  (michaelh@ongaonga.chch.cri.nz>
4896
4897         * loop.c (check_final_value): Don't miss a biv increment in a
4898         parallel.
4899
4900 Tue Aug 26 12:03:49 1997  Jim Wilson  (wilson@cygnus.com)
4901
4902         * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
4903         TYPE_DECL_IS_STUB instead of DECL_NAME.
4904
4905 Mon Aug 25 23:27:10 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
4906
4907         * objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
4908
4909 Mon Aug 25 23:27:10 1997  Jim Meyering <meyering@eng.ascend.com>
4910
4911         * objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
4912
4913 Mon Aug 25 13:12:24 1997  Jeffrey A Law  (law@cygnus.com)
4914
4915         * haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
4916         (find_post_sched_live): Likewise.
4917
4918         * haifa-sched.c (schedule_block): Remove old code to get arguments
4919         from hard regs into pseudos early.
4920
4921 Mon Aug 25 08:55:00 1997  Jeffrey A Law  (law@cygnus.com)
4922
4923         * version.c: Bump for new snapshot.
4924
4925         * local-alloc.c (update_equiv_regs): All the target to reject
4926         promotion of some REG_EQUAL to REG_EQUIV notes.
4927         * pa.h (DONT_RECORD_EQUIVALENCE): Define.
4928
4929         * pa.c (secondary_reload_class): (mem (mem ... )) does not need
4930         secondary reloads.
4931
4932         * pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
4933         store of the argument registers.
4934
4935 Mon Aug 25 08:39:02 1997  Craig Burley  (burley@gnu.ai.mit.edu)
4936
4937         * fold-const.c (multiple_of_p): New function.
4938         (fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
4939
4940 Mon Aug 25 01:47:41 1997  Jeffrey A Law  (law@cygnus.com)
4941
4942         * expr.h (insn_gen_function): Temporarily remove prototype.
4943
4944 Sun Aug 24 17:22:21 1997  Jim Wilson  <wilson@cygnus.com>
4945
4946         * Makefile.in (install-info): Don't cd into srcdir.  Add srcdir to
4947         filenames.  Use sed to extract base filename for install.
4948
4949 Sat Aug 23 18:19:40 1997  John F. Carr  <jfc@mit.edu>
4950
4951         * unroll.c (find_splittable_givs): Only share if two givs have the
4952         same add and multiply values.
4953
4954 Sat Aug 23 14:36:27 1997  Jim Wilson  <wilson@cygnus.com>
4955
4956         * m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
4957         * m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
4958
4959 Sat Aug 23 00:18:22 1997  Jeffrey A Law  (law@cygnus.com)
4960
4961         * pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
4962         around branch tables.
4963         * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
4964         and .end_brtab directives if TARGET_GAS.
4965
4966 Fri Aug 22 14:05:55 1997  Jim Wilson  <wilson@cygnus.com>
4967
4968         * alias.c (true_dependence): Pass x_addr not x to varies.
4969
4970         * acconfig.h (NEED_DECLARATION_CALLOC): Add.
4971         * configure.in: Add GCC_NEED_DECLARATION call for calloc.
4972         * rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
4973         declarations.
4974         * config.in, configure: Regenerate.
4975
4976 Thu Aug 21 23:52:16 1997  John F. Carr  <jfc@mit.edu>
4977
4978         * alias.c (find_base_value): Improve handling of PLUS, MINUS, and
4979         LO_SUM.
4980         (record_set): Handle LO_SUM like PLUS.
4981         (init_alias_analysis): When following chains of base addresses,
4982         do not stop on reaching a hard register.
4983
4984 Thu Aug 21 20:17:37 1997  Jeffrey A Law  (law@cygnus.com)
4985
4986         * version.c: Bump for new snapshot.
4987
4988 Thu Aug 21 17:28:00 1997  Jim Wilson  <wilson@cygnus.com>
4989
4990         * alpha.h (ARCH_ASM_FILE_START): Define.
4991         (ASM_FILE_START): Use ARCH_ASM_FILE_START.
4992         * osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string.
4993
4994 Thu Aug 21 10:22:19 1997  Jeffrey A Law  (law@cygnus.com)
4995
4996         * Makefile.in (install-common): Put gcov comment at start of line.
4997
4998 Wed Aug 20 22:47:33 1997  Jeffrey A Law  (law@cygnus.com)
4999
5000         * alias.c (init_alias_analysis): When simplifying the reg_base_value
5001         array, simplify entries for hard registers too.
5002
5003 Wed Aug 20 12:35:47 1997  Dave Love  <d.love@dl.ac.uk>
5004
5005         * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
5006         list.
5007
5008 Wed Aug 20 11:58:33 1997  Jim Wilson  <wilson@cygnus.com>
5009
5010         * stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test
5011         block_stack before dereferencing it.
5012
5013 Wed Aug 20 11:57:11 1997  Michael Meissner  <meissner@cygnus.com>
5014
5015         * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
5016
5017 Tue Aug 19 17:10:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
5018
5019         * cplus-dem.c: Add 'extern' to prepends_underscore.
5020
5021 Tue Aug 19 09:34:57 1997  Jeffrey A Law  (law@cygnus.com)
5022
5023         * haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
5024         (get_issue_rate): Delete.
5025         * pa.h (ISSUE_RATE): Define.
5026
5027         * configure.in: Turn on haifa by default for the PA.
5028         * configure: Rebuilt.
5029         * pa.c (override_options): Accept -mschedule=7200 option.
5030         (pa_adjust_cost): No longer need to scale costs for newer
5031         processors.
5032         * pa.h (enum processor_type): Add PROCESSOR_7200.
5033         * pa.md: Revamp scheduling parameters to work better with
5034         haifa.  Add scheduling parameters for the 7200.
5035
5036         * haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P
5037         insns too.
5038         (schedule_block): When adjusting basic_block_{head,end}, account
5039         for movement of SCHED_GROUP_P insns too.
5040
5041         * haifa-sched.c (debug_dependencies): Fix thinko.
5042
5043         * Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
5044         (site.exp, check, check-g++, check-gcc): New targets.
5045
5046         * haifa-sched.c: Make lots of variables static.
5047
5048 Tue Aug 19 07:18:34 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
5049
5050         * expr.h, real.h: Finish prototyping.
5051
5052 Mon Aug 18 21:49:02 1997  Jim Wilson  <wilson@cygnus.com>
5053
5054         * reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
5055         reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
5056         * reload1.c: Undo bugfix from Aug 11.
5057
5058 Mon Aug 18 17:39:02 1997  Mike Meissner  <meissner@cygnus.com>
5059
5060         * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
5061         quotes around the name.
5062         * configure: Regenerate.
5063
5064 Mon Aug 18 13:46:47 1997  Jim Wilson  <wilson@cygnus.com>
5065
5066         * Makefile.in (stmp-multilib-sub): Fix typo in last change.
5067
5068 Thu Aug  7 10:33:13 1997  Manfred Hollstein  <manfred@s-direktnet.de>
5069
5070         * Makefile.in (sub-makes): Pass the current value of LANGUAGES down
5071         to sub-makes to avoid building more passes than the user might have
5072         requested on the command line.
5073
5074 Sun Aug 17 15:42:17 1997  Dave Love  (d.love@dl.ac.uk)
5075
5076         * configure.in: Expurgate `broken_install' (install is
5077         autoconfed).
5078
5079         * configure.lang: Substitute autoconfed ${INSTALL} (not currently
5080         relevant).
5081
5082 Sat Aug 16 01:08:12 1997  Jeffrey A Law  (law@cygnus.com)
5083
5084         * loop.c (is_power_of_2, is_conditional_branch): Delete unused
5085         functions and declarations.
5086         (analyze_loop_iterations): Use condjump_p.
5087         (insert_bct): Likewise.  Use exact_log2.
5088         
5089 Fri Aug 15 23:48:32 1997  Jeffrey A Law  (law@cygnus.com)
5090
5091         * haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
5092         (schedule_region): Likewise.
5093         (schedule_insns): Likewise.
5094
5095         * PROJECTS: Update with Haifa stuff.
5096
5097 Fri Aug 15 12:49:56 1997  Jeffrey A Law  (law@cygnus.com)
5098
5099         * version.c: Change the version string to look like:
5100         egcs-2.90.00 970814 (gcc2-970802 experimental).
5101
5102         * loop.c (is_conditional_branch): Make definition match declaration.
5103
5104         * gcc.c: Take out experimental snapshot warning message.
5105
5106 Fri Aug 15 13:43:39 1997  Michael Meissner  <meissner@cygnus.com>
5107
5108         * haifa-sched.c (debug_dependencies): Use GET_NOTE_INSN_NAME to
5109         print out the names of the notes.  Print out the name of the insn
5110         that is not a note, and not an {,CALL_,JUMP_}INSN.
5111
5112 Wed Aug 13 17:32:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
5113
5114         * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
5115         again for the slot after we give it RTL.
5116
5117 Wed Aug 13 01:03:37 1997  Doug Evans  <dje@canuck.cygnus.com>
5118
5119         * configure.in (haifa configury): Fix typo.
5120         * configure: Regenerate.
5121
5122 Tue Aug 12 10:20:36 1997  Jeffrey A Law  (law@cygnus.com)
5123
5124         * version.c: Bump version to "gcc-3.0.0 970802 experimental".
5125
5126         * gcc.info*: Rebuilt.
5127
5128         * COPYING.g77, README.g77: New files.
5129         * real.c (ereal_unto_float, ereal_unto_double): New functions.
5130         * real.h (ereal_unto_float, ereal_unto_double): Declare them.
5131         (REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define.
5132
5133 Mon Aug 11 14:50:55 1997  Jeffrey A Law  (law@cygnus.com)
5134
5135         * Integrate Haifa instruction scheduler.
5136         * Makefile.in (ALL_CFLAGS): Add SCHED_CFLAGS.  Prefix all references
5137         to sched with $(SCHED_CFLAGS.
5138         * configure.in: Handle --enable-haifa.
5139         * configure: Rebuilt.
5140         * flags.h: Add new flags for haifa instruction scheduler.
5141         * genattrtab.c (expand_units): For haifa, don't subtract one
5142         when computing blockage.
5143         * toplev.h (flag_schedule_interblock): Haifa scheduler flag.
5144         (flag_schedule_speculative): Ditto.
5145         (flag_schedule_speculative_load): Ditto.
5146         (flag_schedule_speculative_load_dangerous): Ditto.
5147         (flag_schedule_reverse_before_reload): Ditto.
5148         (flag_schedule_reverse_after_reload): Ditto.
5149         (flag_branch_on_count_reg): Ditto.
5150         (f_options): Add Haifa switches.
5151         (main): Turn off some Haifa options if appropriate macro is
5152         defined.  Process Haifa switches.
5153         * unroll.c (iteration_info): No longer static, since Haifa
5154         scheduler uses it.
5155         (unroll_loop): Inform HAIFA scheduler about loop unrolling factor.
5156         * unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value.
5157         * loop.h (loop_unroll_factor, loop_number): Add HAIFA decls.
5158         * loop.h (loop_initial_value,loop_unroll_iter): New globals.
5159         * loop.c (loop_optimize): If HAIFA is defined, allocate additional
5160         storage for the Haifa scheduler.
5161         (mark_loop_jump): If HAIFA defined, set LABEL_OUTSIDE_LOOP_P and
5162         LABEL_NEXTREF.
5163         (strength_reduce): If HAIFA and HAVE_decrement_and_branch_on_count
5164         are defined, call analyze_loop_iterations and insert_bct to use
5165         countdown loops.
5166         (record_giv): Refine test for jumps out of loops if HAIFA is
5167         defined.
5168         (analyze_loop_iterations): New function to identify if we can use
5169         a countdown loop.
5170         (insert_bct): Insert countdown loop.
5171         (instrument_loop_bct): Low level code to insert countdown loop.
5172         (loop_number): Calculate UID of loop.
5173         (indirect_jump_in_function_p): Return true if an indirect jump is
5174         in the function.
5175         (is_power_of_2): Return true if value is a power of 2.
5176         (is_conditional_branch): Return true if insn is a conditional
5177         jump.
5178         (fix_bct_param): Process -fbct-{min,max}-N switches.
5179         (check_bct_param): Return true if loop should be instrumented.
5180         * loop.c (loop_initial_value,loop_unroll_iter): New globals.
5181         (loop_optimize): Initialize.
5182         (get_condition_for_loop): Ditto.
5183         * loop.c (strength_reduce): Inside of code that uses #ifdef
5184         HAVE_decrement_and_branch_on_count code, test it to make sure the
5185         condition is true.
5186         (instrument_loop_bct): Ditto.
5187         * haifa-sched.c: New file.
5188         
5189
5190         * Integrate regmove pass.
5191         * Makefile.in (OBJS): Add regmove.o
5192         (regmove.o): Add dependencies.
5193         * flow.c (find_use_as_address): No longer static.
5194         * rtl.h (find_use_as_address): Declare.
5195         * toplev.c (regmove_dump, flag_regmove): Define.
5196         (f_options): Add -fregmove.
5197         (regmove_dump_file, regmove_time): Define.
5198         (fatal_insn): Close the regmove dump file.
5199         (compile_file): Initialize regmove_time; open/close the regmove dump
5200         file as needed.  Print regmove time as needed.
5201         (rest_of_compilation): Run regmove pass if requested, dump
5202         RTL after regmove if requested.
5203         (main): If -O2 or more, turn on regmove.  Handle dump switches.
5204         * regmove.c: New file.
5205         
5206 Mon Aug 11 14:15:02 1997  Jeffrey A Law  (law@cygnus.com)
5207
5208         * Integrate tlink patch from jason@cygnus.com
5209         * gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
5210         (process_command): Increment n_switches for them.  Don't discard
5211         their args.  Validate them.
5212         (main): Escape " marks when creating COLLECT_GCC_OPTIONS.
5213         From Rohan Lenard.
5214         (process_command): Set include_prefixes from COMPILER_PATH.
5215         (main): Set COLLECT_GCC_OPTIONS sooner.
5216         * confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld.
5217         * tlink.c, hash.c, hash.h: New files.
5218         * Makefile.in (USE_COLLECT2): Always use collect2.
5219         (collect2): Depend on and link in hash.o and tlink.o.
5220         (tlink.o, hash.o): Add dependencies.
5221
5222 Mon Aug 11 10:04:49 1997  Jeffrey A Law  (law@cygnus.com)
5223
5224         * Integrate alias analysis changes from jfc@mit.edu
5225         * Makefile.in (OBJS): Add alias.o
5226         (alias.o): Add dependencies.
5227         * alias.c: New file.
5228         * sched.c: Remove alias analysis code.  It lives in alias.c now.
5229         (sched_analyze_2): Add new arguments to true_dependence.
5230         (schedule_insns): Always call init_alias_analysis.
5231         * calls.c (expand_call): Note calls to malloc, calloc, and realloc;
5232         mark return value from such functions as a pointer and keep track of
5233         them for alias analysis.  If a return value from a function is a
5234         pointer, mark it as such.
5235         * combine.c (distribute_notes): Handle REG_NOALIAS.
5236         * cse.c (struct write_data): Delete.  No longer needed.
5237         (invalidate): Don't call set_nonvarying_address_components anymore.
5238         Use true_dependence to decide if an entry should be removed from
5239         the hash table.
5240         (invalidate_memory): Remove WRITES argument, simplify appropriately.
5241         Fix all callers.
5242         (note_mem_written): Similarly for WRITE_PTR argument.
5243         (invalidate_from_clobbers): Similarly for W argument.
5244         (invalidate_for_call): Remove memory elements from the hash table.
5245         (refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
5246         (cse_rtx_varies_p): New function.  Derived from old
5247         cse_rtx_addr_varies_p.
5248         (cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
5249         Don't call note_mem_written anymore.  Stack pushes invalidate the stack
5250         pointer if PUSH_ROUNDING is defined.  No longer need to call
5251         cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
5252         (skipped_writes_memory): Remove variable.
5253         (invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
5254         (invalidate_skipped_block): Simplify for new alias analysis code.
5255         (cse_set_around_loop): Likewise.
5256         (cse_main): Call init_alias_analysis.
5257         * flags.h (flag_alias_check, flag_argument_noalias): Declare.
5258         * toplev.c (flag_alias_check, flag_argument_noalias): Define.
5259         (f_options): Add new alias checking arguments.
5260         (main): Set flag_alias_check when optimizing.
5261         * local_alloc (validate_equiv_mem_from_store): Add new arguments
5262         to true_dependence.
5263         (memref_referenced_p): Likewise.
5264         * loop.c (NUM_STORES): Increase to 30.
5265         (prescan_loop): Only non-constant calls set unknown_address_altered.
5266         (invariant_p): Add new arguments to true_dependence.
5267         (record_giv): Initialize unrolled and shared fields.
5268         (emit_iv_add_mult): Call record_base_value as needed.
5269         * loop.h (struct induction): Add unrolled and shared fields.
5270         * unroll.c  (unroll_loop): Call record_base_value as needed.
5271         (copy_loop_body): Likewise.
5272         (final_biv_value): Likewise.
5273         (final_giv_value): Likewise.
5274         (find_splittable_regs): Likewise.  Only create one new pseudo
5275         if we have multiple address GIVs that were combined with the same
5276         dst_reg GIV.  Note when a new register is created due to unrolling.
5277         * rtl.c (reg_note_name): Add REG_NOALIAS.
5278         * rtl.h (enum reg_note): Similarly.
5279         (rtx_varies_p, may_trap_p, side_effects_p): Declare.
5280         (volatile_refs_p, volatile_insn_p, remove_note): Likewise.
5281         (note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
5282         (true_dependence, read_dependence, anti_dependence): Likewise.
5283         (output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
5284         (mark_user_reg, mark_reg_pointer): Likewise.
5285
5286
5287         * Integrate reload bugfix from Wilon which enables the PA port
5288         to bootstrap again.
5289         * reload1.c (reload): Sum needs for both OPADDR_ADDR and and
5290         OPERAND_ADDRESS when computing how many registers an insn needs.
5291         (reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
5292         conflict.
5293         (reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like
5294         OPADDR_ADDR reload.
5295         (reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers
5296         in reload_reg_use_in_op_addr do not reach the end.
5297         do not reach the end.
5298         (reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
5299         RELOAD_FOR_OPERAND_ADDRESS.
5300
5301 Sun Aug 10 12:00:20 1997  Jeffrey A Law  (law@cygnus.com)
5302
5303         * egcs project officially starts.
5304