OSDN Git Service

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