OSDN Git Service

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