OSDN Git Service

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