OSDN Git Service

* loop.c (insert_bct): Replace use of sdiv_optab with asr_optab
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 Tue Aug 24 23:26:44 1999  Michael Tiemann  <tiemann@holodeck.cygnus.com>
2
3         * loop.c (insert_bct): Replace use of sdiv_optab with asr_optab
4         and delete comment that code should be rewritten.
5
6 Tue Aug 24 22:56:35 1999  Jeffrey A Law  (law@cygnus.com)
7
8         * haifa-sched.c (find_rgns): Mark a block found during the DFS search
9         as reachable.
10
11         * haifa-sched.c (get_visual_tbl_length): Fix off-by-one error.
12
13 Tue Aug 24 22:41:06 1999  Mumit Khan  <khan@xraylith.wisc.edu>
14
15         * fixinc/mkfixinc.sh: Don't fix uwin headers.
16         * i386/uwin.h (MD_STARTFILE_PREFIX): Define.
17         (LINK_SPEC): Add -u _main when building executables.
18         (ASM_DECLARE_FUNCTION): Update from Cygwin.
19         (ASM_FILE_END): Use the default for ix86-pe.
20         * i386/xm-uwin.h (HAVE_BCOPY): Undefine.
21
22 Tue Aug 24 20:49:47 1999  Art Haas  <ahaas@neosoft.com>
23
24         * final.c (output_addr_const): Handle case where ASM_OPEN_PAREN
25         and ASM_CLOSE_PAREN are empty strings.
26
27 Wed Aug 25 12:46:22 1999  Fred Fish  <fnf@cygnus.com>
28                           Geoffrey Keating <geoffk@cygnus.com>
29
30         * Makefile.in (PREPROCESSOR_DEFINES): New macro.
31         (protoize.o):  Use PREPROCESSOR_DEFINES and DRIVER_DEFINES.
32         (unprotoize.o): Ditto.
33         (test-protoize-simple): Don't define STD_PROTO_DIR.
34         * protoize.c: Use PARAMS rather than PROTO.  Minor whitespace
35         changes to make 'test-protoize-simple' pass.
36         (STD_PROTO_DIR): Remove define.
37         (STANDARD_EXEC_PREFIX): Supply default define.
38         (standard_exec_prefix): New variable, init to STANDARD_EXEC_PREFIX.
39         (target_machine): New variable, init to DEFAULT_TARGET_MACHINE.
40         (target_version): New variable, init to DEFAULT_TARGET_VERSION.
41         (GET_ENV_PATH_LIST): New macro.
42         (default_syscalls_dir): No longer initialized to STD_PROTO_DIR.
43         (do_processing): Initialize default_syscalls_dir using new
44         macros.  Use it to initialize syscalls_absolute_filename.
45
46 Tue Aug 24 16:58:15 1999  Richard Henderson  <rth@cygnus.com>
47
48         * jump.c (jump_optimize_1): Do cmov opt on any single-set; force
49         B into a register before emit_conditional_move.
50
51 Tue Aug 24 15:37:03 1999  Richard Henderson  <rth@cygnus.com>
52
53         * fold-const.c (fold): Reassociate (+ (+ (* a b) c) (* d e))
54         as (+ (+ (* a b) (* d e)) c).  Factor a common power-of-two
55         multiplicand out of (+ (* a b) (* c d)).
56
57 Tue Aug 24 11:46:10 1999  Bob Manson <manson@cygnus.com>
58                           Richard Henderson  <rth@cygnus.com>
59
60         * haifa-sched.c (split_hard_reg_notes): Move to flow.c
61         (new_insn_dead_notes): Likewise.
62         (update_n_sets): Likewise.
63         (update_flow_info): Move to flow.c, renamed to update_life_info;
64         extend to handle multiple source insns.
65         * flow.c: Include resource.h
66         (unlink_insn_chain): New.
67         (split_hard_reg_notes): New.
68         (maybe_add_dead_note): New.
69         (maybe_add_dead_note_use): New.
70         (find_insn_with_note): New.
71         (new_insn_dead_notes): New.
72         (update_n_sets): New.
73         (sets_reg_or_subreg_1, sets_reg_or_subreg): New.
74         (maybe_remove_dead_notes): New.
75         (update_life_info): New.
76         (prepend_reg_notes): New.
77         (replace_insns): New.
78         * output.h (update_life_info): Declare.
79         * recog.c (split_block_insns): Use update_life_info.
80         * resource.c (find_free_register): Use reg_alloc_order, don't use
81         fixed regs, make sure the mode is supported, don't use new regs.
82         (reg_dead_p): New.
83         * rtl.h (replace_insns): Declare.
84
85 Tue Aug 24 13:48:39 1999  Nathan Sidwell  <nathan@acm.org>
86
87         * expr.c (expand_expr): Cope with COND_EXPRs with one
88         non-returning branch.
89         
90 Mon Aug 23 22:28:16 1999  Mark Mitchell  <mark@codesourcery.com>
91
92         * expr.c (store_expr): Always pass down the target, even when not
93         doing CSE.
94
95 1999-08-24  Nick Clifton  <nickc@cygnus.com>
96
97         * configure.in: Define target_cpu_default for v850 targets.
98         * configure: Regenerate
99
100         * config/v850/v850.h (TARGET_CPU_generic): Define.
101         (GO_IF_LEGITIMATE_ADDRESS): Insist that SImode and larger constant
102         addresses are 4 byte aligned.
103
104         * config/v850/v850.c (print_operand): Cope with 'R' format DFmode
105         addresses.
106         
107 Tue Aug 24 09:32:07 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
108
109         * genattr.c (function_unit_desc): Constify a char*.  Add prototype.
110         (main): Add prototypes.
111
112         * genattrtab.c (substitute_address, write_const_num_delay_slots,
113         attr_eq, attr_numeral, attr_equal_p, attr_copy_rtx): Prototype.
114         (write_attr_get): Emit prototypes along with function definition.
115         (write_eligible_delay): Mark a parameter with ATTRIBUTE_UNUSED.
116         (write_complex_function): Emit static prototype along with
117         function definition.
118
119         * genemit.c (gen_split): Emit prototypes along with function
120         definition.
121
122         * genoutput.c (output_epilogue): Add prototype to `insn_outfun'.
123         Likewise for predicates and `insn_operand_predicate'.
124         (process_template): Emit static prototype along with function
125         definition.
126
127         * genrecog.c (make_insn_sequence): Constify a char*.  Add
128         prototypes for get_split_*().
129         (write_subroutine): Emit prototypes along with function
130         definition.
131
132 Tue Aug 24 12:35:20 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
133
134         * gcse.c (find_avail_set): Follow chains of register-register copies.
135         Use oprs_not_set_p to guarantee that the returned value can be
136         substituted.
137         (cprop_insn): Don't verify the return value of find_avail_set with
138         oprs_not_set_p.
139
140         * gcse.c (cprop_jump): New function, broken out of cprop_insn.
141         (cprop_cc0_jump): New function.
142         (cprop_insn): Break out new function cprop_jump and use it.
143         Also use cprop_cc0_jump for machines with CC0.
144         (cprop): Don't crash if cprop_insn turned the insn into a NOTE.
145
146         * tree.h (current_function_calls_setjmp,
147         current_function_calls_longjmp): Delete declarations.
148         * dsp16xx.c: Include "function.h".
149         * elxsi.c: Likewise.
150         * gmicro.c: Likewise.
151         * h8300.c: Likewise.
152         * i370.c: Likewise.
153         * m32r.c: Likewise.
154         * mn10200.c: Likewise.
155         * mn10300.c: Likewise.
156         * ns32k.c: Likewise.
157         * spur.c: Likewise.
158         * v850.c: Likewise.
159
160         * rtl.h (rtx_equal_function_value_matters): Declare.
161         * toplev.c (rtx_equal_function_value_matters): Don't declare.
162         * cse.c: Likewise.
163         * function.c: Likewise.
164         * emit-rtl.c: Likewise.
165
166 Tue Aug 24 02:47:44 1999  Jeffrey A Law  (law@cygnus.com)
167
168         * expr.c (convert_move): Fix arguments to TRULY_NOOP_TRUNCATION
169         call.
170
171 1999-08-24 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
172
173         * jump.c (delete_barrier_successors) Match (set (pc) (pc)) insn
174         exactly.
175
176 Mon Aug 23 23:35:52 1999  Matthias Klose  <doko@cs.tu-berlin.de>
177
178         * cpp.texi: Add a node documenting macro varargs (copied
179         from extend.texi).
180
181 1999-08-23 22:23 -0700  Zack Weinberg  <zack@bitmover.com>
182
183         * cppspec.c: Put a null pointer at the end of the new argv.
184
185 Mon Aug 23 21:23:24 1999  Jeffrey A Law  (law@cygnus.com)
186
187         * configure.in: Remove code to select/de-select the haifa
188         scheduler.  Every scheduled port gets haifa now.
189         * configure: Rebuilt.
190         * flags.h, genattrtab.c, rtl.h, toplev.c: Remove HAIFA ifdefs.
191         * sched.c Deleted.
192         * Makefile.in: Corresponding changes.
193
194 Mon Aug 23 16:04:13 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
195
196         * optabs.c (prepare_cmp_insn): Turn COMPARISON arg into a pointer.
197         All callers changed.
198         (prepare_float_lib_cmp): Likewise.
199         Use FLOAT_LIB_COMPARE_RETURNS_BOOL.
200         * expr.h (emit_float_lib_cmp): Delete declaration.
201         * tm.texi (FLOAT_LIB_COMPARE_RETURNS_BOOL): Document.
202         * sparc.h (FLOAT_LIB_COMPARE_RETURNS_BOOL): Define.
203         * sparc.md (bcc and scc patterns): Don't handle TFmode comparisons
204         specially.
205         (cmptf): Now conditional on TARGET_HARD_QUAD.
206
207 Fri Aug 20 17:52:27 1999  Jim Wilson  <wilson@cygnus.com>
208
209         * resource.c (mark_target_live_regs): Use
210         PIC_OFFSET_TABLE_REG_CALL_CLOBBERED.
211
212 Fri Aug 20 19:07:55 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
213
214         * rtl.c (rtx_class, note_insn_name, reg_note_name): Constify.
215
216         * rtl.h (rtx_class, reg_note_name, note_insn_name): Likewise.
217
218         * genopinit.c (gen_insn): Use accessor macro, not `rtx_class'.
219
220 Fri Aug 20 18:53:43 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
221
222         * rtl.h (rtx_format): Constify a char*.
223
224         * rtl.c (rtx_format): Likewise.
225         (copy_rtx, copy_most_rtx, read_rtx): Likewise.
226         (init_rtl): Use accessor macro, not `rtx_format'.
227
228         * alias.c (rtx_equal_for_memref_p, find_symbolic_term): Constify a
229         char*.
230
231         * caller-save.c (mark_referenced_regs): Likewise.
232
233         * combine.c (subst, make_compound_operation, known_cond,
234         gen_rtx_combine, update_table_tick, get_last_value_validate,
235         use_crosses_set_p, mark_used_regs_combine, move_deaths): Likewise.
236
237         * cse.c (rtx_cost, mention_regs, canon_hash, exp_equiv_p,
238         refers_to_p, canon_reg, fold_rtx, cse_process_notes,
239         count_reg_usage): Likewise.
240
241         * emit-rtl.c (gen_rtx, copy_rtx_if_shared, reset_used_flags):
242         Likewise.
243
244         * final.c (leaf_renumber_regs_insn): Likewise.
245
246         * flow.c (mark_used_regs, find_use_as_address, dump_flow_info,
247         dump_edge_info, count_reg_references): Likewise.
248
249         * function.c (fixup_var_refs_1, walk_fixup_memory_subreg,
250         fixup_stack_1, purge_addressof_1, instantiate_virtual_regs_1):
251         Likewise.
252
253         * gcse.c (oprs_unchanged_p, hash_expr_1, expr_equiv_p,
254         oprs_not_set_p, expr_killed_p, compute_transp, find_used_regs,
255         add_label_notes): Likewise.
256
257         * genattrtab.c (attr_rtx, attr_copy_rtx, encode_units_mask,
258         clear_struct_flag, count_sub_rtxs, count_alternatives,
259         compares_alternatives_p, contained_in_p, walk_attr_value,
260         write_expr_attr_cache): Likewise.
261
262         * genconfig.c (walk_insn_part): Likewise.
263
264         * genemit.c (max_operand_1, gen_exp): Likewise.
265
266         * genextract.c (walk_rtx): Likewise.
267
268         * genflags.c (num_operands): Likewise.
269
270         * genoutput.c (scan_operands): Likewise.
271
272         * genpeep.c (match_rtx): Likewise.
273
274         * genrecog.c (add_to_sequence): Likewise.
275
276         * haifa-sched.c (may_trap_exp, sched_analyze_2, attach_deaths):
277         Likewise.
278
279         * integrate.c (save_constants, copy_for_inline,
280         copy_rtx_and_substitute, subst_constants, restore_constants):
281         Likewise.
282
283         * jump.c  (mark_jump_label, invert_exp, redirect_exp,
284         rtx_renumbered_equal_p, rtx_equal_for_thread_p): Likewise.
285
286         * local-alloc.c (contains_replace_regs, memref_referenced_p):
287         Likewise.
288
289         * loop.c (record_excess_regs, rtx_equal_for_loop_p,
290         add_label_notes, replace_call_address, count_nonfixed_reads,
291         invariant_p, find_single_use_in_loop, find_mem_givs,
292         find_life_end, maybe_eliminate_biv_1, update_reg_last_use):
293         Likewise.
294
295         * print-rtl.c (reg_names, print_rtx): Likewise.
296
297         * recog.c (validate_replace_rtx_1, find_single_use_1): Likewise.
298
299         * reg-stack.c (stack_regs_mentioned_p, record_label_references,
300         record_reg_life_pat, swap_rtx_condition, goto_block_pat,
301         print_blocks): Likewise.
302
303         * regclass.c (fix_register, record_address_regs,
304         reg_scan_mark_refs): Likewise.
305
306         * regmove.c (stable_but_for_p): Likewise.
307
308         * reload.c (loc_mentioned_in_p, operands_match_p,
309         find_reloads_toplevsubst_reg_equivs, find_reloads_address_1,
310         copy_replacements, refers_to_regno_for_reload_p,
311         refers_to_mem_for_reload_p, find_inc_amount, regno_clobbered_p,
312         reload_when_needed_name, reg_class_names, debug_reload_to_stream):
313         Likewise.
314
315         * reload1.c (eliminate_regs, scan_paradoxical_subregs,
316         delete_address_reloads_1, count_occurrences,
317         reload_cse_mem_conflict_p, reload_combine_note_use,
318         add_auto_inc_notes): Likewise.
319
320         * resource.c (mark_referenced_resources, mark_set_resources):
321         Likewise.
322
323         * rtlanal.c (rtx_unstable_p, rtx_varies_p, rtx_addr_varies_p,
324         reg_mentioned_p, regs_set_between_p, modified_between_p,
325         modified_in_p, refers_to_regno_p, reg_overlap_mentioned_p,
326         rtx_equal_p, volatile_insn_p, volatile_refs_p, side_effects_p,
327         may_trap_p, inequality_comparisons_p, replace_rtx, replace_regs,
328         jmp_uses_reg_or_mem, for_each_rtx, regno_use_in): Likewise.
329
330         * sched.c (sched_analyze_2, attach_deaths): Likewise.
331
332         * stupid.c (stupid_mark_refs): Likewise.
333
334         * unroll.c (remap_split_bivs): Likewise.
335
336         * varasm.c (mark_constants): Likewise.
337
338         * a29k/a29k.c (uses_local_reg_p): Likewise.
339
340         * alpha/alpha.c (summarize_insn): Likewise.
341
342         * arm/arm.c (symbol_mentioned_p, label_mentioned_p,
343         eliminate_lr2ip): Likewise.
344
345         * arm/thumb.c (symbol_mentioned_p, label_mentioned_p): Likewise.
346
347         * i386/i386.c (symbolic_reference_mentioned_p, copy_all_rtx,
348         reg_mentioned_in_mem): Likewise.
349
350         * ns32k/ns32k.c (global_symbolic_reference_mentioned_p,
351         symbolic_reference_mentioned_p): Likewise.
352
353         * romp/romp.c (unsigned_comparisons_p, hash_rtx): Likewise.
354
355         * sh/sh.c (regs_used, mark_use): Likewise.
356
357         * vax/vax.c (vax_rtx_cost): Likewise.
358
359 Fri Aug 20 18:38:43 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
360
361         * machmode.h (mode_name): Constify a char*.
362         
363         * rtl.c (mode_name): Likewise.
364
365         * genopinit.c (gen_insn): Use accessor macro, not `mode_name'.
366
367         * optabs.c (init_libfuncs): Constify a char*.
368
369         * print-tree.c (mode_name): Remove redundant declaration.
370         (print_node): Use accessor macro, not `mode_name'.
371
372         * reload1.c (dump_needs): Constify a char*.  Use accessor macro,
373         not `mode_name'.
374         (new_spill_reg): Constify a char*.
375
376         * tree.c (mode_name): Remove redundant declaration.
377         
378 Fri Aug 20 18:31:26 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
379
380         * rtl.c (rtx_name): Constify a char*.
381
382         * rtl.h (rtx_name, fix_sched_param): Likewise.
383
384         * gmicro/gmicro.c (rtx_name): Remove redundant declaration.
385         (mypr): Use accessor macro, not `rtx_name'.
386
387         * genemit.c (print_code): Constify a char*.
388
389         * genopinit.c (gen_insn): Use accessor macro, not `rtx_name'.
390
391         * genpeep.c (print_code): Constify a char*.
392
393         * genrecog.c (print_code): Likewise.
394
395         * graph.c (start_fct, start_bb, node_data, draw_edge, end_fct,
396         end_bb): Add static prototype.
397         (draw_edge): Constify a char*.
398         (end_bb): Remove unused parameter.
399
400         * haifa-sched.c (fix_sched_param, safe_concat, print_exp
401         print_block_visualization): Constify a char*.
402
403 Fri Aug 20 15:02:10 1999  Mark Mitchell  <mark@codesourcery.com>
404
405         * c-common.c (c_get_alias_set): Update comment.
406
407 1999-08-20  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
408
409         * linux.h (LIB_SPEC): Added.
410
411 Fri Aug 20 22:32:17 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
412
413         * config/c4x/c4x.h (STARTFILE_SPEC): Don't define.
414
415 1999-08-19 18:43 -0700  Zack Weinberg  <zack@bitmover.com>
416
417         * tree.c (expr_check): Fix typo in last change.
418
419 1999-08-19 14:44 -0700  Zack Weinberg  <zack@bitmover.com>
420
421         * rtl.def (NOTE): Change format to "iuu0n".
422         (ADDR_DIFF_VEC): Change format to "eEee0".
423         (ADDRESSOF): Change format to "eit".
424
425         * rtl.h (rtvec): Make "elem" an array of rtx, not rtunion.
426         (RTVEC_ELT): Change to match.
427         (XVECEXP): Use XVEC and RTVEC_ELT.
428         (INSN_UID, INSN_CODE, CODE_LABEL_NUMBER, NOTE_LINE_NUMBER,
429         ADDRESSOF_REGNO, REGNO, SUBREG_WORD): Use XINT.
430         (PREV_INSN, NEXT_INSN, PATTERN, REG_NOTES, 
431         CALL_INSN_FUNCTION_USAGE, SUBREG_REG, SET_SRC, SET_DEST,
432         TRAP_CONDITION, TRAP_CODE): Use XEXP.
433         (INTVAL): Use XWINT.
434         (ADDRESSOF_DECL): Use XTREE.
435         (SET_ADDRESSOF_DECL): Delete.
436         (NOTE_DECL_NAME, NOTE_DECL_CODE, NOTE_DECL_RTL,
437         NOTE_DECL_IDENTIFIER, NOTE_DECL_TYPE): Kill.  These have been
438         ifdefed out since 2.6 at least.
439         (gen_rtvec_vv): Delete prototype.
440
441         * rtl.h (rtvec_alloc): rt->elem is now an array of rtx,
442         not rtunion.
443         (copy_most_rtx): Handle 't' format letter.
444         * emit-rtl.c (gen_rtvec_v): rt_val->elem is an array of rtx.
445         (gen_rtvec_vv): Delete function.  All callers changed to use
446         gen_rtvec_v instead.
447         * print-rtl.c (print_rtx): Move special casing of NOTEs to 
448         the '0' format letter.
449
450         * function.c (gen_mem_addressof): Don't use
451         SET_ADDRESSOF_DECL; provide `decl' to gen_rtx_ADDRESSOF
452         instead.
453         * integrate.c (copy_rtx_and_substitute): Likewise.
454         Copy 't' slots with XTREE.
455         (subst_constants): Treat 't' slots like '[swi]' slots.
456         * cse.c (canon_hash, exp_equiv_p): Treat 't' slots like '0' slots.
457         * jump.c (rtx_equal_for_thread_p): Likewise.
458         * rtlanal.c (rtx_equal_p): Likewise.
459         * stmt.c (expand_end_case): gen_rtx_ADDR_DIFF_VEC now takes
460         only four arguments.
461         * gengenrtl.c (type_from_format): Provide correct types for
462         'b' and 't' slots.
463
464
465         * tree.h [ENABLE_CHECKING] (TREE_CHECK, TREE_CLASS_CHECK):
466         If a recent gcc is in use (always in stage2 and beyond), use
467         statement expressions, so we don't make a function call unless
468         the check fails.  Evaluate arguments exactly once.
469         (CHAIN_CHECK, DO_CHECK, DO_CHECK1, TREE_CHECK1,
470         TREE_CLASS_CHECK1, TYPE_CHECK1, DECL_CHECK1, CST_CHECK1):
471         Delete.
472         (CST_OR_CONSTRUCTOR_CHECK, EXPR_CHECK): Redefine such that
473         they evaluate their arguments exactly once, irrespective of
474         the compiler in use.
475
476         * tree.c [ENABLE_CHECKING]: Define whichever set of functions
477         is used by the currently-enabled check macros.  This is:
478         (tree_check_failed, tree_class_check_failed): For gcc.
479         (tree_check, tree_class_check, cst_or_constructor_check,
480         expr_check): For other compilers.
481
482         * gencheck.c: Do not define any *_CHECK1 macros.
483
484 Thu Aug 19 14:42:38 1999  Mike Stump <mrs@wrs.com>
485                           Mark Mitchell <mark@codesourcery.com>
486
487         * c-common.c (c_get_alias_set): Fix support for poitners and
488         references.
489
490 Thu Aug 19 11:51:22 EDT 1999  John Wehle  (john@feith.com)
491
492         * alias.c: Include tree.h.
493         (nonlocal_reference_p, mark_constant_function): New functions.
494         * flow.c (life_analysis): Call mark_constant_function.
495         * rtl.h (mark_constant_function): Declare it.
496
497 Thu Aug 19 15:02:01 1999  Nick Clifton  <nickc@cygnus.com>
498
499         * config/rs6000/rs6000.c (rs6000_override_options): Fix test for
500         unrecognisable switches.
501
502 Wed Aug 18 23:31:57 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
503
504         * loop.c (recombine_givs): Set ix field after sorting.
505         (recombine_givs): Remove bogus index / giv lockstep looping.
506
507 Wed Aug 18 18:20:40 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
508
509         * expmed.c (emit_store_flag): If UNSIGNEDP, call unsigned_condition
510         on CODE.
511         (emit_store_flag_force): Use do_compare_rtx_and_jump.
512         (do_cmp_and_jump): Formatting fixes.
513         * expr.c (do_compare_and_jump): Renamed from compare; changed to call
514         do_compare_rtx_and_jump instead of compare_from_rtx.
515         (do_compare_rtx_and_jump): New function; mostly copied from
516         compare_from_rtx.
517         (do_jump_for_compare): Delete.
518         (expand_expr): Use do_compare_rtx_and_jump when handling MAX_EXPR and
519         MIN_EXPR.
520         (do_jump): Use do_compare_and_jump or do_compare_rtx_and_jump instead
521         of compare/do_jump_for_compare pairs.
522         (do_jump_by_parts_greater): Use do_jump_by_parts_greater_rtx.
523         (do_jump_by_parts_greater_rtx): Use do_compare_rtx_and_jump instead of
524         compare_from_rtx/do_jump_for_compare pairs.
525         (do_jump_by_parts_equality): Likewise.
526         (do_jump_by_parts_equality_rtx): Likewise.
527         * expr.h (do_compare_rtx_and_jump): Declare.
528         * optabs.c (prepare_cmp_insn): New function, contains most of the code
529         that used to be in emit_cmp_insn.
530         (cmp_available_p): New function.
531         (prepare_operand): New function.
532         (emit_cmp_and_jump_insn_1): New function, contains some code that used
533         to be in emit_cmp_insn.
534         (prepare_float_lib_cmp): Renamed from emit_float_lib_cmp; change some
535         parameters to be pointers; don't emit final compare but modify some of
536         the values pointed to by the args so the caller can perform the
537         correct comparison.
538         (expand_binop): Call emit_store_flag_force with signed forms of
539         comparison code.
540         (expand_abs): Use do_compare_rtx_and_jump instead of compare_from_rtx/
541         emit_jump_insn pair.
542         (emit_cmp_and_jump_insn): Use prepare_cmp_insn and
543         emit_cmp_and_jump_insn_1.  Call emit_queue.
544         (emit_cmp_insn): Just call emit_cmp_and_jump_insns with zero for LABEL
545         arg.
546         * flow.c (tidy_fallthru_edge): If HAVE_cc0, verify insn before a
547         jump sets cc0 before deleting it.
548         * integrate.c (expand_inline_function): Likewise.
549         * unroll.c (unroll_loop): Similar changes in several places.
550         (copy_loop_body): If HAVE_cc0, verify insn before a jump sets cc0
551         before deleting it.
552
553 Wed Aug 18 06:37:44 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
554
555         * Makefile.in (insn-recog.o): Update dependencies.
556         * genrecog.c (main): Make generated file include "function.h".
557
558 Sat Aug 14 00:54:57 1999  Geoffrey Keating  <geoffk@cygnus.com>
559
560         * cse.c (cse_insn): Call never_reached_warning when a jump is
561         changed to be unconditional.
562         * flags.h: Declare warn_notreached.
563         * flow.c (delete_block): Call never_reached_warning when
564         a block is deleted.
565         * jump.c (delete_barrier_successors): Call never_reached_warning 
566         when we delete everything after a BARRIER.
567         (never_reached_warning): New function.
568         * rtl.h: Declare never_reached_warning.
569         * toplev.c (warn_notreached): New variable.
570         (lang_independent_options): Set warn_notreached
571         when -Wunreachable-code.
572         (compile_file): We need line numbers for -Wunreachable-code.
573
574 Tue Aug 17 22:06:11 1999  Jan Hubicka  <hubicka@freesoft.cz>
575
576         * haifa-sched.c (insn_unit): Fix typo on out of range test.
577         * sched.c (insn_unit): Likewise.
578
579 Tue Aug 17 21:57:23 1999  Andreas Schwab  <schwab@suse.de>
580
581         * combine.c (distribute_notes): Handle REG_EH_RETHROW.
582
583 Tue Aug 17 17:39:43 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
584
585         * flow.c (create_edge_list): Use xmalloc, not malloc.
586
587 Tue Aug 17 01:40:54 1999  Loren Rittle  <ljrittle@acm.org>
588
589         * fixinc/inclhack.def (no_double_slash): Do not trash single-line
590         C-style comments.  Do not lose the character before double slash.
591
592 Mon Aug 16 18:08:22 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
593
594         * basic-block.h (struct edge_list): Stucture to maintain a vector
595         of edges.
596         (EDGE_INDEX_NO_EDGE, EDGE_INDEX, INDEX_EDGE_PRED_BB, INDEX_EDGE_SUCC_BB,
597          INDEX_EDGE, NUM_EDGES): New Macros for accessing edge list.
598         (create_edge_list, free_edge-List, print_edge_list, verify_edge_list):
599         New function prototypes.
600         * flow.c (create_edge_list): Function to create an edge list.
601         (free_edge_list): Discards memory used by an edge list.
602         (print_edge_list): Debug output showing an edge list.
603         (verify_edge_list): Internal consistency check for an edge list.
604         (find_edge_index): Function to find an edge index for a pred and succ.
605
606 Mon Aug 16 11:56:36 1999  Mark Mitchell  <mark@codesourcery.com>
607
608         * tree.c (type_hash_add): Use permalloc to allocate nodes in the
609         hashtable.
610
611 Mon Aug 16 17:04:15 1999  Jorn Rennecke <amylaar@cygnus.co.uk>
612
613         * mips.h (CLASS_CANNOT_CHANGE_SIZE): Define.
614
615 Fri Aug 13 15:20:43 1999  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
616
617         * config/i386/freebsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
618
619 Fri Aug 13 10:21:28 1999  Nick Clifton  <nickc@cygnus.com>
620
621         * toplev.c (rest_of_compilation): Allow machine dependent
622         reorganisation pass to place information into the RTL dump
623         file if it so wishes.
624
625 Sun Aug 15 12:41:21 1999  Jim Wilson  <wilson@cygnus.com>
626
627         * explow.c (hard_function_value): Use VOIDmode instead of
628         MAX_MACHINE_MODE.
629         * stmt.c (expand_return): Likewise.
630         * stor-layout.c (get_best_mode): Likewise.
631         
632         * genemit.c (gen_expand): If next is MATCH_PAR_DUP, then output
633         emit call instead of emit_insn call.
634
635 Sat Aug 14 15:04:06 1999  Mumit Khan  <khan@xraylith.wisc.edu>
636
637         * configure.in: Handle --disable/enable-win32-registry.
638         * install.texi: Document --disable/enable-win32-registry.
639         * acconfig.h (ENABLE_WIN32_REGISTRY): New macro.
640         (WIN32_REGISTRY_KEY): New macro.
641         * prefix.c: Use to enable/disable win32-specific code.
642         (lookup_key): Use versioned key.
643         * configure: Regenerate.
644         * config.in: Likewise.
645
646 Fri Aug 13 17:41:55 1999  Jason Merrill  <jason@yorick.cygnus.com>
647
648         * cpplib.c (read_line_number): New fn, split out of...
649         (do_line): Here.
650
651 Fri Aug 13 14:18:27 1999  Gavin Romig-Koch  <gavin@cygnus.com>
652
653         tree.c (lang_unsave_expr_now) : New.
654         (unsave_expr_now): Call lang_unsave_expr_now.
655         tree.h (lang_unsave_expr_now) : New.
656
657 Fri Aug 13 00:49:46 1999  Jason Merrill  <jason@yorick.cygnus.com>
658
659         * toplev.c (flag_new_exceptions): On by default.
660
661 1999-08-13  Michael Meissner  <meissner@cygnus.com>
662
663         * Makefile.in (GCC_FOR_TARGET): Move -B./ after the tooldir -B.
664
665 Fri Aug 13 01:29:57 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
666
667         * dwarfout.c (fundamental_type_code): Return FT_boolean for
668         INTEGER_TYPE with precision==1, it's __java_boolean.  
669
670 Thu Aug 12 23:51:04 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
671
672         * global.c (prune_preferences): Move some invariants out of the
673         inner loop.
674
675 Thu Aug 12 15:30:29 1999  Jesse Perry  (jap@unx.dec.com)
676
677         * configure.in (alpha*-dec-osf*): Add osf5.
678
679 Sun Aug  1 22:24:03 1999  Philip Blundell  <philb@gnu.org>
680
681         * configure.in: Rework handling of ARM GNU/Linux slightly.
682         (arm*-*-linux-gnuoldld): New target.
683         * configure: Regenerate.
684         * install.texi (Configurations): Add arm-*-linux-gnu{oldld} and
685         arm-*-elf.  Mention that arm-*-linux-gnuaout is obsolete.
686         * config/arm/linux-oldld.h: New file.
687         * config/arm/linux-elf26.h: Don't include linux-elf.h.
688         (TARGET_DEFAULT, SUBTARGET_LINK_SPEC, SUBTARGET_EXTRA_ASM_SPEC):
689         Don't define.
690         * config/arm/linux-elf.h (ASM_SPEC): Define.
691         (TARGET_DEFAULT, SUBTARGET_EXTRA_LINK_SPEC,
692         SUBTARGET_EXTRA_ASM_SPEC, CPP_APCS_PC_DEFAULT): Add definitions
693         for 26-bit APCS and old linker.
694         (CPP_PREDEFINES): Define `__arm__'; don't define `arm' or
695         `arm_elf'.
696         (FP_DEFAULT): Define to FP_SOFT3 for all machines.
697         * config/arm/linux-aout.h (CPP_PREDEFINES): Define `__arm__'; 
698         don't define `arm' or `arm_elf'.
699         * config/arm/t-linux (EXTRA_MULTILIB_PARTS, MULTILIB_OPTIONS,
700         MULTILIB_DIRNAMES): Define.  Fix typo in comment.
701
702 Thu Aug 12 10:14:47 1999  Andreas Schwab  <schwab@suse.de>
703
704         * rtl.texi: Fix typo.
705
706 Wed Aug 11 23:50:57 1999  Jason Merrill  <jason@yorick.cygnus.com>
707
708         * invoke.texi (C++ Dialect Options): Add -fms-extensions.
709
710 Wed Aug 11 12:59:37 1999  Mark Mitchell  <mark@codesourcery.com>
711
712         * extend.texi (C++ Signatures): Remove node.
713         * invoke.texi: Remove discussion of -fhandle-signatures,
714         signature, sigof, __signature__, and __sigof__.
715
716 Wed Aug 11 03:38:25 1999  Jeffrey A Law  (law@cygnus.com)
717
718         * Makefile.in (JAVAGC): Removed.
719
720 Wed Aug 11 02:13:26 1999  Mumit Khan  <khan@xraylith.wisc.edu>
721
722         * i386/cygwin.h (ASM_OUTPUT_ALIGNED_BSS): Define.
723
724 1999-08-11 Mark Elbrecht <snowball3@bigfoot.com>
725
726         * i386/djgpp.h (ASM_OUTPUT_ALIGNED_BSS): Define.
727
728 1999-08-11  Richard Earnshaw (rearnsha@arm.com)
729
730         * emit-rtl.c (mark_reg_pointer): Don't increase the alignment of
731         a register that is already known to be a pointer.
732
733 1999-08-11  Bruce Korb  <ddsinc09@ix.netcom.com>
734
735         * fixinc/inclhack.tpl: Only install assert.h conditionally.
736         * fixinc/inclhack.sh: Regenerated.
737         * fixinc/fixincl.sh: Regenerated.
738
739 Wed Aug 11 00:34:22 1999  Joe Buck  <jbuck@synopsys.com>
740
741         * invoke.texi: s/GNU CC/GCC/ for consistency with gcc.texi.
742         Fix documentation of -ansi flag to describe its C++ behavior.
743         Remove bogus reference to GCC 2.9.
744
745 Tue Aug 10 17:19:02 1999  Jim Wilson  <wilson@cygnus.com>
746
747         * config/sh/sh.c (machine_dependent_reorg): Only call PUT_MODE on
748         note if it is non-NULL.
749
750 Tue Aug 10 10:47:42 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
751
752         * except.h (eh_nesting_info): Add new structure defintion.
753         (init_eh_nesting_info, free_eh_nesting_info): Add function prototypes.
754         (reachable_handlers, update_rethrow_references): Add function 
755         prototypes.
756         * rtl.h (struct rtvec_def): Update comments.  REG_EH_RETHROW takes
757         a rethrow symbol instead of an integer exception region number.
758         * flow.c (Make_edges): Use new exception nesting routines to determine 
759         which handlers are reachable from a CALL or asynchronous insn.
760         Dont add an edge for calls with a REG_EH_REGION of -1 to non-local
761         goto receivers.
762         (delete_eh_regions): Update rethrow labels, and don't delete 
763         regions which are the target of a rethrow.
764         * except.c (struct func_eh_entry): Add rethrow_ref field, now we can
765         avoid overloading the SYMBOL_REF_USED flag.
766         (rethrow_symbol_map): Use new rethrow_ref field.
767         (rethrow_used): Use new rethrow_ref field.
768         (expand_rethrow): REG_EH_RETHROW now has a SYMBOL_REF instead 
769         of an integer.  Fix formatting.
770         (output_exception_table_entry): Use new rethrow_ref field.
771         (can_throw): Check for EH_REGION_NOTE before deciding
772         whether a CALL can throw or not.
773         (scan_region): Call rethrow_used() instead of accessing data structure.
774         (update_rethrow_references): New function to make sure only regions
775         which are still targets of a rethrow are flagged as such.
776         (process_nestinfo): New static function to initialize a handler 
777         list for a specific region.
778         (init_eh_nesting_info): New function to allocate and initialize
779         the list of all EH handlers reachable from all regions.
780         (reachable_handlers): New function to retrieve the list of handlers
781         reachable from a specific region and insn.
782         (free_eh_nesting_info): New function to dispose of a list of
783         reachable handlers.
784
785 Tue Aug 10 10:39:31 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
786
787         * flow.c (split_edge): Set JUMP_LABEL field.
788         (commit_one_edge_insertion): Set head correctly for insert_before.
789         When inserting insns, update insn block numbers if allocated.
790
791 Tue Aug 10 09:26:07 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
792
793         * dwarf2out.c (dwarf2out_frame_debug_expr, add_incomplete_type,
794         retry_incomplete_types): Add static prototype.
795         (stripattributes, dwarf_cfi_name, ASM_OUTPUT_DWARF_STRING,
796         dwarf_tag_name, dwarf_attr_name, dwarf_form_name,
797         dwarf_stack_op_name, dwarf_type_encoding_name, add_AT_string,
798         dwarf2_name, add_name_attribute, lookup_filename, dwarf2out_line,
799         dwarf2out_start_source_file, dwarf2out_define, dwarf2out_undef):
800         Constify a char*.
801
802         * dwarf2out.h (dwarf2out_define, dwarf2out_undef,
803         dwarf2out_start_source_file, dwarf2out_line): Likewise.
804
805 Tue Aug 10 09:21:46 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
806
807         * output.h (assemble_name): Constify a char*.
808
809         * varasm.c (UNIQUE_SECTION, assemble_start_function,
810         assemble_variable, assemble_name): Likewise.
811
812         * dwarf2out.c (ASM_NAME_TO_STRING): Likewise.
813
814         * arm/pe.c (arm_pe_unique_section): Likewise.
815         
816         * i386/cygwin.h (STRIP_NAME_ENCODING): Likewise.
817         
818         * i386/i386-interix.h (STRIP_NAME_ENCODING): Likewise.
819         
820         * i386/interix.c (i386_pe_unique_section): Likewise.
821         
822         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
823         
824         * i386/winnt.c (i386_pe_unique_section): Likewise.
825         
826         * m32r/m32r.h (ASM_OUTPUT_LABELREF): Likewise.
827         
828         * mn10200/mn10200.h (ASM_OUTPUT_LABELREF): Likewise.
829         
830         * mn10300/mn10300.h (ASM_OUTPUT_LABELREF): Likewise.
831         
832         * pa/pa.c (output_call): Likewise.
833         
834         * pa/pa.h (ASM_OUTPUT_MI_THUNK): Likewise.
835
836         * pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Likewise.
837         
838         * rs6000/rs6000.c (rs6000_output_load_toc_table, output_toc):
839         Likewise.
840         
841         * rs6000/rs6000.h (RS6000_OUTPUT_BASENAME, STRIP_NAME_ENCODING):
842         Likewise.
843         
844         * rs6000/sol2.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
845         
846         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME, ASM_OUTPUT_INT,
847         STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Likewise.
848         
849         * v850/v850.h (ASM_OUTPUT_LABELREF): Likewise.
850
851 Mon Aug  9 19:54:05 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
852
853         * real.c (GET_REAL, PUT_REAL): Use memcpy instead of bcopy.
854
855 Mon Aug  9 19:36:00 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
856
857         * tree.h (lang_identify): Constify a char*.
858         (print_error_function): Add extern prototype.  Constify a char*.
859
860         * c-lang.c (lang_identify): Constify a char*.
861
862         * objc/objc-act.c (lang_identify): Constify a char*.
863
864 Mon Aug  9 16:21:53 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
865
866         * genpeep.c (main): Make generated file include "function.h".
867         * arm.c (function_really_clobbers_lr): Delete INLINE_HEADER case.
868
869 Mon Aug  9 10:08:50 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
870
871         * Makefile.in: Update dependencies.
872         * alias.c: Include "function.h"
873         * c-decl.c: Likewise.
874         * caller-save.c: Likewise.
875         * calls.c: Likewise.
876         * combine.c: Likewise.
877         * cse.c: Likewise.
878         * explow.c: Likewise.
879         * final.c: Likewise.
880         * global.c: Likewise.
881         * graph.c: Likewise.
882         * local-alloc.c: Likewise.
883         * loop.c: Likewise.
884         * optabs.c: Likewise.
885         * profile.c: Likewise.
886         * recog.c: Likewise.
887         * regclass.c: Likewise.
888         * regmove.c: Likewise.
889         * reload.c: Likewise.
890         * reorg.c: Likewise.
891         * resource.c: Likewise.
892         * sched.c: Likewise.
893         * stupid.c: Likewise.
894         * config/1750a/1750a.c: Likewise.
895         * config/a29k/a29k.c: Likewise.
896         * config/arc/arc.c: Likewise.
897         * config/arm/arm.c: Likewise.
898         * config/arm/thumb.c: Likewise.
899         * config/c4x/c4x.c: Likewise.
900         * config/clipper/clipper.c: Likewise.
901         * config/convex/convex.c: Likewise.
902         * config/fx80/fx80.c: Likewise.
903         * config/i860/i860.c: Likewise.
904         * config/m68k/m68k.c: Likewise.
905         * config/m88k/m88k.c: Likewise.
906         * config/mips/mips.c: Likewise.
907         * config/pdp11/pdp11.c: Likewise.
908         * config/pyr/pyr.c: Likewise.
909         * config/romp/romp.c: Likewise.
910         * config/sh/sh.c: Likewise.
911         * config/tahoe/tahoe.c: Likewise.
912         * config/vax/vax.c: Likewise.
913         * config/we32k/we32k.c: Likewise.
914         * config/sparc/sparc.c: Include "function.h".
915         (mem_min_alignment): Test current_function rather than
916         regno_pointer_align.
917         * config/pa/pa.c: Likewise.
918         (compute_frame_size): Delete declaration of
919         current_function_outgoing_args_size.
920         * config/arc/arc.h (current_function_varargs): Delete declaration.
921         * config/elxsi/elxsi.h (current_function_calls_alloca): Delete
922         declaration.
923         * config/i370/i370.h (current_function_outgoing_args_size): Delete
924         declaration.
925         * config/i386/i386.h (FINALIZE_PIC): Delete declaration of
926         current_function_uses_pic_offset_table.
927         * config/m68k/a-ux.h (FUNCTION_EXTRA_EPILOGUE): Delete declaration
928         of current_function_returns_pointer.
929         * config/m68k/altos3068.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
930         * config/m68k/linux.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
931         * config/m68k/m68kv4.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
932         * config/m68k/mot3300.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
933         * config/m68k/pbb.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
934         * config/m68k/tower-as.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
935         * config/m88k/m88k.c: Include "function.h"
936         (call_used_regs, current_function_pretend_args_size,
937         current_function_outgoing_args_size, frame_pointer_needed): Delete
938         declarations.
939         * config/m88k/m88k.h (current_function_pretend_args_size): Delete
940         declaration.
941         * config/mips/mips.h (current_function_calls_alloca): Delete
942         declaration.
943         * config/mn10200/mn10200.h (current_function_needs_context,
944         rtx_equal_function_value_matters): Delete declarations.
945         * config/ns32k/ns32k (current_function_uses_pic_offset_table,
946         flag_pic): Delete declarations.
947         * config/pa/pa.h (current_function_pretend_args_size,
948         current_function_decl): Delete declarations.
949         * config/pa/som.h (current_function_varargs): Delete declaration.
950         * config/pdp11/pdp11.h (current_function_pretend_args_size): Delete
951         declaration.
952         * config/pyr/pyr.h (current_function_pretend_args_size,
953         current_function_args_size, current_function_calls_alloca): Delete
954         declarations.
955         * config/sh/sh.h (current_function_varargs): Delete declaration.
956         * config/sparc/sparc.h (current_function_outgoing_args_size,
957         current_function_calls_alloca, current_function_decl): Delete
958         declarations.
959         * config/spur/spur.h (current_function_pretend_args_size,
960         current_function_calls_alloca): Delete declarations.
961         * config/v850/v850.c (current_function_outgoing_args_size): Delete
962         declaration.
963         * config/vax/vms.h (current_function_name): Delete declaration.
964         * gcse.c: Include "function.h".
965         (current_function_name, current_function_calls_setjmp): Delete
966         declarations.
967         * haifa-sched.c: Include "function.h".
968         (forced_labels): Delete declaration.
969         * jump.c: Likewise.
970         * reg-stack.c: Likewise.
971         * reload1.c: Likewise.
972         * genemit.c (main): Make generated file include function.h.
973         * genoutput.c (output_prologue): Likewise.
974
975         * builtins.c (saveregs_value, apply_args_value): Delete variables.
976         * emit-rtl.c (reg_rtx_no, first_label_num, first_insn, last_insn,
977         sequence_rtl_expr, cur_insn_uid, last_linenum, last_filename,
978         regno_pointer_flag, regno_pointer_flag_length, regno_pointer_align,
979         regno_reg_rtx, sequence_stack): Delete variables.  Add accessor
980         macros for some of them.
981         (emit_filename, emit_lineno): Delete declarations.
982         (gen_reg_rtx): Use memset/memcpy instead of bzero/bcopy.  Access
983         regno_pointer_* variables through current_function.
984         (gen_inline_header_rtx): Delete function.
985         (save_emit_status): Delete function.
986         (set_new_last_label_num): New function.
987         (clear_emit_caches): New function.
988         (restore_emit_status): Just clear last_labelnum and call
989         clear_emit_caches.
990         (get_last_insn_anywhere): Variable sequence_stack is now accessed
991         through macro seq_stack.
992         (add_insn_after): Likewise.
993         (add_insn_before): Likewise.
994         (remove_insn): Likewise.
995         (pop_topmost_sequence): Likewise.
996         (in_sequence_p): Likewise.
997         (start_sequence_for_rtl_expr): Likewise.
998         (start_sequence): Likewise, and likewise for
999         sequence_rtl_expr/seq_rtl_expr.
1000         (push_topmost_sequence): Likewise.
1001         (end_sequence): Likewise.
1002         (init_virtual_regs): Now takes a "struct emit_status *" argument.
1003         All callers changed.  Store into that pointer instead of globals.
1004         (init_emit): Allocate emit elt of current_function.
1005         Changes for sequence_rtl_expr/sequence_stack renaming.
1006         Call clear_emit_caches instead of doing it in-line.
1007         Access regno_pointer_* variables through current_function.
1008         (init_emit_once) Don't clear sequence_stack.
1009         
1010         * expr.c (pending_stack_adjust, inhibit_defer_pop, pending_chain):
1011         Delete variables.
1012         (arg_pointer_save_area): Delete declaration.
1013         (finish_expr_for_function): Renamed from init_queue; no longer static.
1014         (init_expr): Don't call init_queue.
1015         (save_expr_status, restore_expr_status): Delete functions.
1016         (expand_expr): Changes to reflect new layout of struct function.
1017         Don't access current_function_check_memory_usage when current_function
1018         is 0.
1019         * expr.h (forced_labels, save_expr_regs, saveregs_value,
1020         apply_args_value, current_function_calls_alloca, inhibit_defer_pop,
1021         current_function_outgoing_args_size, current_function_arg_offset_rtx,
1022         current_function_uses_const_pool, function_call_count,
1023         current_function_uses_pic_offset_table, nonlocal_labels,
1024         current_function_internal_arg_pointer, nonlocal_goto_stack_level,
1025         current_function_check_memory_usage, nonlocal_goto_handler_slots,
1026         pending_stack_adjust, target_temp_slot_level, temp_slot_level): Delete
1027         declarations.
1028         (finish_expr_for_function): Declare.
1029         * flags.h (current_function_has_nonlocal_label,
1030         current_function_has_nonlocal_goto, current_function_is_thunk,
1031         current_function_has_computed_jump): Delete declarations.
1032         * flow.c (forced_labels): Delete declaration.
1033         * function.c (current_function_pops_args,
1034         current_function_returns_struct, current_function_returns_pcc_struct,
1035         current_function_needs_context, current_function_calls_setjmp,
1036         current_function_calls_longjmp, current_function_has_nonlocal_label,
1037         current_function_has_nonlocal_goto, current_function_is_thunk,
1038         current_function_has_computed_jump, current_function_calls_alloca,
1039         current_function_contains_functions, current_function_returns_pointer,
1040         current_function_epilogue_delay_list, current_function_args_size,
1041         current_function_pretend_args_size, current_function_arg_offset_rtx,
1042         current_function_outgoing_args_size, current_function_varargs,
1043         current_function_stdarg, current_function_args_info, cleanup_label,
1044         current_function_name, current_function_uses_const_pool,
1045         current_function_instrument_entry_exit, current_function_return_rtx,
1046         current_function_uses_pic_offset_table, nonlocal_labels,
1047         current_function_internal_arg_pointer, current_function_cannot_inline,
1048         current_function_check_memory_usage, function_call_count,
1049         nonlocal_goto_handler_slots, nonlocal_goto_handler_labels,
1050         nonlocal_goto_stack_level, return_label, save_expr_regs,
1051         stack_slot_list, rtl_expr_chain, tail_recursion_label, temp_slots,
1052         tail_recursion_reentry, arg_pointer_save_area, frame_offset,
1053         context_display, trampoline_list, parm_birth_insn, invalid_stack_slot,
1054         last_parm_insn, max_parm_reg, parm_reg_stack_loc, sequence_rtl_expr,
1055         temp_slot_level, var_temp_slot_level, target_temp_slot_level):
1056         Delete variables.
1057         (push_function_context_to): Don't save them.  Don't call
1058         save_storage_status, save_emit_status or save_expr_status.
1059         (pop_function_context_from): Don't restore them.  Don't call
1060         restore_storage_status or restore_expr_status.
1061         (get_func_frame_size): New function.
1062         (get_frame_size): Use it.
1063         (assign_outer_stack_local): Reflect some member name changes in struct
1064         function.
1065         (put_reg_into_stack): Likewise.
1066         (assign_stack_temp_for_type): sequence_rtl_expr was renamed to
1067         seq_rtl_expr.
1068         (fixup_var_refs): Likewise.
1069         (fix_lexical_addr): Likewise.
1070         (trampoline_address): Likewise.
1071         (prepare_function_start): Clear field inlinable of current_function.
1072         (init_function_for_compilation): New function.
1073         (expand_dummy_function_end): New function.
1074         (expand_function_end): Call finish_expr_for_function.
1075         * function.h (struct emit_status): New; fields moved here from struct
1076         function and from global variables.  Add accessor macros for some of
1077         the fields.
1078         (struct expr_status): Likewise.
1079         (REGNO_POINTER_ALIGN, REGNO_POINTER_FLAG): Moved here from regs.h.
1080         (struct function): Add fields expr and emit, inlinable, inl_emit,
1081         original_arg_vector, original_decl_initial, inl_last_parm_insn,
1082         inl_max_label_num.  Add many comments.
1083         Add accessor macros for all elts of struct function that no longer
1084         have a global variable.
1085         (cleanup_label, return_label, frame_offset, tail_recursion_label,
1086         tail_recursion_reentry, arg_pointer_save_area, rtl_expr_chain,
1087         stack_slot_list): Delete declarations.
1088         (get_func_frame_size): Declare.
1089         (save_expr_status, restore_expr_status, save_emit_status,
1090         save_storage_status, restore_storage_status): Delete declarations.
1091         (init_virtual_regs): Declare.
1092         * output.h (current_function_pops_args,
1093         current_function_returns_struct, current_function_returns_pcc_struct,
1094         current_function_needs_context, current_function_calls_setjmp,
1095         current_function_calls_longjmp, current_function_calls_alloca,
1096         current_function_has_nonlocal_label, current_function_varargs,
1097         current_function_has_computed_jump, current_function_returns_pointer,
1098         current_function_contains_functions, current_function_args_size,
1099         current_function_pretend_args_size, current_function_stdarg,
1100         current_function_outgoing_args_size, current_function_args_info,
1101         current_function_name, current_function_return_rtx,
1102         current_function_epilogue_delay_list,
1103         current_function_uses_const_pool, current_function_cannot_inline):
1104         Delete declarations.
1105         * regs.h (reg_rtx_no, regno_pointer_flag, regno_pointer_flag_length,
1106         regno_reg_rtx): Delete declaration.
1107         (REGNO_POINTER_FLAG): Delete macro.
1108         * stmt.c (expand_goto): Changes to reflect that some fields in struct
1109         function were renamed.
1110         * stor-layout.c (save_storage_status, restore_storage_status): Delete
1111         functions.
1112         * toplev.c: Include "function.h".
1113         (current_function_decl): Delete declaration.
1114         (compile_file): Call init_dummy_function_start and
1115         expand_dummy_function_end around some initializations that need to
1116         emit rtl.
1117         (rest_of_compilation): Use DECL_SAVED_INSNS properly.
1118         Call init_function_for_compilation.
1119         * unroll.c: Include "function.h"
1120         (unroll_loop): Access regno_pointer_* variables through
1121         current_function.
1122
1123         * tree.h (struct tree_decl): Add elt f to saved_insns member.
1124         (DECL_SAVED_INSNS): use it.
1125         (expand_dummy_function_end): Declare.
1126         (init_function_for_compilation): Declare.
1127         * calls.c (calls_function_1): Change use of DECL_SAVED_INSNS now
1128         that it's no longer an INLINE_HEADER.
1129         (expand_call): Likewise.
1130         * integrate.c (finish_inline): Delete function.
1131         (max_parm_reg, parm_reg_stack_loc): Delete declarations.
1132         (initialize_for_inline): Delete min_labelno, max_labelno and max_reg
1133         args.  Don't generate an INLINE_HEADER rtx, just return the arg
1134         vector.  All callers changed.
1135         (save_for_inline_copying):  Create a duplicate struct emit_status to
1136         hold the emit state for compiling the current function.  Use this and
1137         the other new fields in struct function that are for integration
1138         instead of an INLINE_HEADER.
1139         Use memcpy instead of bcopy.
1140         Store the current struct function in DECL_SAVED_INSNS of fndecl.
1141         (save_for_inline_nocopy): Similar changes, except no new emit_status
1142         is needed here.
1143         (expand_inline_function): Get information from function structure,
1144         not from an inline header rtx.
1145         (output_inline_function): Lose code to extract the necessary
1146         information from an inline header; simply put back the function
1147         structure into current_function.  Clear its inlinable elt.
1148         * rtl.def (INLINE_HEADER): Delete.
1149         * rtl.h: Delete all accessors for an INLINE_HEADER.
1150         (gen_inline_header_rtx): Delete declaration.
1151         (regno_reg_rtx, regno_pointer_align, nonlocal_goto_handler_labels):
1152         Delete declarations.
1153         (REGNO_POINTER_ALIGN): Delete.
1154         (clear_emit_caches): Declare.
1155         (set_new_last_label_num): Declare.
1156
1157 Mon Aug  9 01:52:24 1999  Jason Merrill  <jason@yorick.cygnus.com>
1158
1159         * print-tree.c (print_node): Print base for OFFSET_TYPEs.
1160
1161         * except.c (expand_eh_region_start_for_decl): Always start a new block.
1162         * stmt.c (is_eh_region): Make sure current_function is present, too.
1163
1164 Mon Aug  9 01:15:24 1999  Jeffrey A Law  (law@cygnus.com)
1165
1166         * pa.h (HARD_REGNO_MODE_OK): Correctly handle FPregs, even when
1167         for 64bit PA targets.
1168
1169         * pa.h (SELECT_SECTION): Define.
1170         * som.h (SELECT_SECTION): Delete.
1171
1172 Sun Aug  8 15:13:20 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1173
1174         * alias.c (init_alias_analysis): Wrap call to 
1175         `prologue_epilogue_contains' within HAVE_prologue||HAVE_epilogue.
1176
1177 1999-08-07  Bruce Korb  <autogen@linuxbox.com>
1178
1179         * fixinc/inclhack.def(irix_asm_apostrophe):  IRIX 5.2's
1180         <sys/asm.h> contains an asm comment with an apostrophe
1181         * fixinc/inclhack.sh:  regen
1182         * fixinc/fixincl.x:  regen
1183
1184 Sat Aug  7 19:37:07 1999  Richard Henderson  <rth@cygnus.com>
1185
1186         * function.c (init_function_start): Clear prologue & epilogue.
1187         (prologue_epilogue_contains): New function.
1188         * alias.c (init_alias_analysis): Use it.
1189         * rtl.h (prologue_epilogue_contains): Declare it.
1190
1191 Sat Aug  7 19:32:16 1999  Richard Henderson  <rth@cygnus.com>
1192
1193         * jump.c (onlyjump_p): New function.
1194         * rtl.h: Declare it.
1195         * flow.c (delete_unreachable_blocks): Use onlyjump_p instead
1196         of condjump_p in calling tidy_fallthru_edge and merge_blocks.
1197
1198 Sat Aug  7 17:09:36 1999  Richard Henderson  <rth@cygnus.com>
1199
1200         * global.c (build_insn_chain): Use EXECUTE_IF_SET_IN_REG_SET
1201         to invert loops.  Simplify block scanning.
1202
1203 Sat Aug  7 02:11:13 1999  Bernd Schmidt <bernds@cygnus.co.uk>
1204
1205         * gcse.c (hash_scan_set): Treat SYMBOL_REFs like CONST_INTs.
1206         (cprop_insn): Treat SYMBOL_REFs like CONST_INTs.
1207
1208 1999-08-07  Jonathan Larmour  <jlarmour@cygnus.co.uk>
1209
1210         * config/sparc/liteelf.h: New file to support sparclite-elf target
1211         * config/sparc/t-sp86x: New file to support sparc86x targets
1212         * config/sparc/sp86x-aout.h: New file to support sparc86x-aout target
1213         * config/sparc/sp86x-elf.h: New file to support sparc86x-elf target
1214         * configure.in: Support above target triplets
1215         * configure: Regenerated
1216
1217 Sat Aug  7 01:39:27 1999  Philippe De Muyter  <phdm@macqel.be>
1218
1219         * fixinc/server.c (server_setup): Do not prefix function used as
1220         parameter with `&'.
1221
1222 Sat Aug  7 00:21:20 1999  Richard Henderson  <rth@cygnus.com>
1223
1224         * alpha.md (movhi and movqi patterns): Correct predicate for !BWX.
1225         Remove fp reg alternatives.
1226         
1227 Sat Aug  7 00:06:54 1999  Jeffrey A Law  (law@cygnus.com)
1228
1229         * Makefile.in (TAROUTOPTS): Kill.
1230         (install-headers-tar): Use "xpf" for tar headerfile extraction
1231         * i370/x-oe (TAROUTOPTS): Delete.
1232         * m68k/x-apollo68 (TAROUTOPTS): Delete.
1233         * m68k/x-hp320 (TAROUTOPTS): Delete.
1234         * m68k/x-hp320g (TAROUTOPTS): Delete.
1235         * gcc.texi: Update bug reporting text.
1236
1237 1999-08-6 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1238
1239         * reg-stack.c (change_stack) Fixed problem with negative array index.
1240
1241 Fri Aug  6 23:08:44 1999  Jeffrey A Law  (law@cygnus.com)
1242
1243         * extend.texi, install.texi: Fix spelling mistakes.
1244
1245         * Makefile.in (PREMADE_ATTRTAB_MD, PREMADE_ATTRTAB): Delete.
1246         (s-attrtab); No longer try to use pre-made insn-attrtab file.
1247         * mips/t-bsd: Delete references to obsolete PREMADE_ATTRTAB and
1248         PREMADE_ATTRTAB_MD.
1249         * mips/t-ecoff: Likewise.
1250         * mips/t-elf: Likewise.
1251         * mips/t-mips: Likewise.
1252         * mips/t-osfrose: Likewise.
1253         * mips/t-r3900: Likewise.
1254         * mips/t-svr3: Likewise.
1255         * mips/t-svr4: Likewise.
1256         * mips/t-ultrix: Likewise.
1257
1258         * gcc.texi: Document recommend means to provide software floating
1259         point libraries in libgcc.a
1260
1261 1999-08-06  Jason Merrill  <jason@yorick.cygnus.com>
1262
1263         * c-lex.c (yylex): We can have a number with no digits.
1264
1265 Fri Aug  6 16:53:55 EDT 1999  John Wehle  (john@feith.com)
1266
1267         * jump.c (delete_prior_computation): New function, broken
1268         out of delete_computation.  Check for side effects with
1269         side_effects_p instead of FIND_REG_INC_NOTE.  Handle
1270         multi-word hard registers.
1271         (delete_computation): Use it.  Check for side effects with
1272         side_effects_p instead of FIND_REG_INC_NOTE.  Synthesize a
1273         missing REG_DEAD note for a register which is both set and
1274         used by an insn.
1275
1276 Fri Aug  6 11:05:29 1999  Jeffrey A Law  (law@cygnus.com)
1277
1278         * elf.h (TEXT_SPACE_P, FUNCTION_NAME_P): Delete.
1279         (ASM_GLOBALIZE_LABEL, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT): Likewise.
1280         (ASM_FILE_START): Import _mcount with the right type.
1281         (ASM_DECLARE_FUNCTION_NAME): Define.
1282         (ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
1283         * pa.c (output_function_prologue): Always emit the function's label
1284         here.
1285         * pa.h (TEXT_SPACE_P): Define.
1286         (FUNCTION_NAME_P, ENCODE_SECTION_INFO, STRIP_NAME_ENCODING): Likewise.
1287         (ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, ASM_GLOBALIZE_LABEL): Likewise.
1288         * som.h (TEXT_SPACE_P): Delete.
1289         (FUNCTION_NAME_P, ENCODE_SECTION_INFO, STRIP_NAME_ENCODING): Likewise.
1290         (ASM_GLOBALIZE_LABEL, ASM_OUTPUT_INT): Likewise.
1291
1292 Thu Aug  5 19:29:39 1999  Jim Wilson  <wilson@cygnus.com>
1293
1294         * expr.c (emit_group_load): Allow src to be a CONCAT.
1295
1296 Thu Aug  5 22:27:15 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1297
1298         * config/sh/lib1funcs.asm (___movstrSI0): Change or r0,r0,r0 to nop.
1299         (___mulsi3): Use '!' comment character.
1300
1301 Thu Aug  5 13:34:14 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
1302
1303         * reload1.c (maybe_fix_stack_asms): Also declare P as "const char *".
1304
1305 Thu Aug  5 02:40:42 1999  Jeffrey A Law  (law@cygnus.com)
1306
1307         * gcc.c: Update URLs and mail addresses.
1308         * gcc.texi: Likewise.
1309
1310 Thu Aug  5 01:14:13 1999  Daniel Jacobowitz <drow@false.org>
1311
1312         * rs6000.c (current_file_function_operand): Return zero for
1313         weak functions.
1314         (rs6000_encode_section_info): Do not set SYMBOL_REF_FLAG for
1315         weak symbols.
1316         * rs6000.h (ENCODE_SECTION_NIFO): Do not set SYMBOL_REF_FLAG
1317         for weak symbols.
1318
1319 Thu Aug  5 00:56:30 1999  Geoffrey Keating   <geoffk@cygnus.com>
1320
1321         * rs6000.c (rs6000_stack_info): For ABI_V4/ABI_SOLARIS -fpic, always
1322         allocate space in the stack frame for the PIC register.
1323
1324 Thu Aug  5 00:20:47 1999  Jeffrey A Law  (law@cygnus.com)
1325
1326         * m68k.md (xordi3, anddi3): These patterns are not available on
1327         the coldfire.
1328
1329 Wed Aug  4 23:39:20 1999  Mark Mitchell  <mark@codesourcery.com>
1330
1331         * real.c (GET_REAL): Don't violate ANSI/ISO aliasing rules.
1332         (PUT_REAL): Likewise.
1333
1334 Wed Aug  4 20:45:04 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1335
1336         * final.c (shorten_branches): Don't add an alignment for loops
1337         that have no label inside.
1338
1339 Wed Aug  4 16:39:24 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1340
1341         * builtins.c (expand_builtin_memcmp, expand_builtin_strcmp): Wrap
1342         prototypes in macro HAVE_cmpstrsi.
1343
1344         * cpplib.c (cpp_get_token): Remove unused label `op3'.
1345
1346         * emit-rtl.c (operand_subword): Remove unused variable
1347         `bits_per_word'.
1348
1349         * rtl.c (shallow_copy_rtx): Remove unused variable `format_ptr'.
1350
1351         * tree.c (chainon): Wrap variable `t2' in macro ENABLE_CHECKING.
1352
1353 Wed Aug  4 13:29:23 1999  Zack Weinberg  <zack@bitmover.com>
1354
1355         * cpphash.c (macroexpand): Delete leading whitespace when arg
1356         is concatenated before.
1357         (unsafe_chars): Correct test for whether + and - can extend a
1358         token.
1359
1360         * cppinit.c (cpp_start_read): Do dependencies for
1361         -include/-imacros files also.
1362
1363         * cpplib.c (cpp_scan_buffer): In no-output mode, don't bother
1364         tokenizing non-directive lines.
1365         (cpp_expand_to_buffer): Temporarily disable no-output mode.
1366         * cppmain.c: In no-output mode, just call cpp_scan_buffer for
1367         the input file.
1368
1369 Wed Aug  4 12:53:44 1999  Jason Merrill  <jason@yorick.cygnus.com>
1370
1371         * expr.c (expand_expr, case PLUS_EXPR): Fix parallel case, too.
1372
1373         * c-lex.c: Sync with C++ frontend.
1374         (linemode): New variable.
1375         (parse_float): imag, conversion_errno, and type are output only.
1376         (yylex): Adjust.  Move initial '.' case into main switch.
1377         Use linemode.
1378         (handle_generic_pragma): Just deal with tokens.
1379         (readescape): Use ISXDIGIT and ISGRAPH.
1380         * c-parse.in: Add END_OF_LINE token.
1381
1382         * c-lex.c (lang_init): Generalize.
1383         (nextchar): Remove.  Replace uses with UNGETC.
1384         (skip_white_space): Handle linemode here.  Optimize for cpplib.
1385         (skip_white_space_on_line): Remove.
1386         (extend_token_buffer_to): New fn.
1387         (extend_token_buffer): Use it.
1388         (read_line_number, check_newline): Just deal with tokens.
1389         (token_getch, token_put_back): New fns.
1390         (yylex): Use them.  More cpplib optimizations.  Simplify.
1391
1392 Wed Aug  4 12:53:44 1999  Michael Tiemann  <tiemann@holodeck.cygnus.com>
1393                           Jason Merrill  <jason@yorick.cygnus.com>
1394
1395         * c-lex.c (init_parse): Set cpp_token to CPP_DIRECTIVE.
1396         (consume_string): Make this smart about USE_CPPLIB.
1397         (check_newline): Rewrite to be intelligent about USE_CPPLIB.
1398         (yylex): Rewrite to be intelligent about USE_CPPLIB.
1399         Also, clean up cases where we redundantly set token_buffer[0].
1400         (read_line_number): New fn.
1401         (ignore_escape_flag): New variable.
1402
1403 Wed Aug  4 13:12:17 1999  Jeffrey A Law  (law@cygnus.com)
1404
1405         * a29k/t-a29kbare: Fix some comments.
1406         (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
1407         (FPBIT, DPBIT): Define.
1408         * a29k/t-vx29k: Likewise.
1409         * arc/t-arc: Likewise.
1410         * arm/t-arm-elf: Likewise.
1411         * arm/t-bare: Likewise.
1412         * arm/t-pe: Likewise.
1413         * arm/t-pe-thumb: Likewise.
1414         * arm/t-semi: Likewise.
1415         * arm/t-thumb: Likewise.
1416         * arm/t-thumb-elf: Likewise.
1417         * arm/t-thumb-linux: Likewise.
1418         * h8300/t-h8300: Likewise.
1419         * i960/t-i960: Likewise.
1420         * i960/t-vxworks960: Likewise.
1421         * m32r/t-m32r: Likewise.
1422         * mips/t-ecoff: Likewise.
1423         * mips/t-elf: Likewise.
1424         * mips/t-r3900: Likewise.
1425         * pa/t-pro: Likewise.
1426         * rs6000/t-aix43: Likewise.
1427         * rs6000/t-beos: Likewise.
1428         * rs6000/t-newas: Likewise.
1429         * rs6000/t-ppccomm: Likewise.
1430         * rs6000/t-rs6000: Likewise.
1431         * rs6000/t-winnt: Likewise.
1432         * rs6000/t-xnewas: Likewise.
1433         * rs6000/t-xrs6000: Likewise.
1434         * sh/t-sh: Likewise.
1435         * sparc/t-elf: Likewise.
1436         * sparc/t-sparcbare: Likewise.
1437         * sparc/t-sparclite: Likewise.
1438         * sparc/t-splet: Likewise.
1439         * v850/t-v850: Likewise.
1440         * mn10200/t-mn10200: Fix comments.
1441         * mn10300/t-mn10300: Likewise.
1442
1443         * pa.md (divsi3, udivsi3, modsi3, umodsi3 expanders): Clobber a new
1444         dummy operand.  Allocate a new pseudo for the dummy operand.
1445         (divsi3, udivsi3, modis3, umodsi3 patterns): Corresponding changes.
1446
1447         * pa.md (movqi, movhi patterns): Do not expose FP regs to regclass.
1448
1449 Wed Aug  4 11:53:55 1999  Tom Tromey  <tromey@cygnus.com>
1450
1451         * configure: Rebuilt.
1452         * configure.in: Removed --enable-java-gc option and JAVAGC subst.
1453
1454 Wed Aug  4 09:06:14 1999  Richard Earnshaw (rearnsha@arm.com)
1455
1456         * recog.c (preproces_constraints): Zero recog_op_alt before 
1457         processing the constraints.
1458
1459         * arm.c (typedef minipool_node): Renamed from pool_node.
1460         (minipool_vector, minipool_size, minipool_vector_label): Similarly.
1461         (add_minipool_constant): New function.
1462         (dump_minipool): New function.
1463         (find_barrier): Remove special case for getting the insn size of
1464         an insn that references the constant pool.
1465         (minipool_fixup): New structure.
1466         (push_minipool_barrier): New function.
1467         (push_minipool_fix): New function.
1468         (note_invalid_constants): New function.
1469         (add_pool_constant, dump_table, fixit, broken_move): Delete.
1470         (arm_reorg): Rewrite code to fix up the constant pool into a
1471         series of mini-pools embedded in the insn stream.
1472         (arm_output_epilogue): New function, made mainly from the body
1473         of output_func_epilogue.
1474         (output_func_epilogue): Move insn generation part of epilogue code
1475         to arm_output_epilogue.
1476         * arm.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Delete.
1477         * arm.md (pool_range): New attribute.
1478         (zero_extendqidi2): Add attribute pool_range.
1479         (zero_extend_hisi_insn, load_extendqisi, extendhisi_insn,
1480         extendqihi_insn, extendqisi_insn, movdi, movsi_insn, pic_load_addr,
1481         pic_load_addr_based_insn, movhi_insn_arch4, movhi_insn_littleend,
1482         movhi_insn_bigend, loadhi_si_bigend, movsf_hard_insn, movsf_soft_insn,
1483         movdf_hard_insn, movdf_soft_insn, movxf_hard_insn): Likewise.
1484         (epilogue): New expand.
1485         (epilogue_insn): New insn.  Call arm_output_epilogue.
1486
1487         * arm.c (arm_poke_function_name): Undo change of July 17.  Tidy up.
1488         * arm.h (TARGET_SWITCHES): Add missing doc string for TARGET_DEFAULT.
1489
1490 Mon Aug  2 19:18:44 1999  Jason Merrill  <jason@yorick.cygnus.com>
1491
1492         * linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
1493
1494 1999-08-04 Mark Elbrecht <snowball3@bigfoot.com> 
1495
1496         * config/i386/djgpp.h  (BSS_SECTION_ASM_OP): Define. 
1497
1498 Wed Aug  4 02:15:32 1999  Richard Henderson <rth@cygnus.com>
1499
1500         * jump.c (delete_insn): Delete the addr_vec when deleting a tablejump.
1501
1502 Wed Aug  4 01:48:08 1999  Jim Kingdon  <http://developer.redhat.com>
1503
1504         * global.c: Fix comment.
1505
1506 Wed Aug  4 01:43:01 1999  Ian Lance Taylor  <ian@zembu.com>
1507
1508         * gcc.c (access_check): New static function.
1509         (find_a_file): Use it when searching a directory list.
1510         * collect2.c (find_a_file): Don't accept directories found when
1511         searching a directory list.
1512
1513 Wed Aug  4 01:40:43 1999  Philippe De Muyter  <phdm@macqel.be>
1514
1515         * tlink.c (symbol_hash_lookup): Do not prefix functions used as
1516         function parameters with `&'.
1517         (file_hash_lookup, demangled_hash_lookup, tlink_init): Ditto.
1518
1519 Wed Aug  4 01:08:44 1999  Jeffrey A Law  (law@cygnus.com)
1520
1521         * flow.c (delete_unreachable_blocks): Do not call merge_blocks
1522         or tidy_fallthru_edge if the last insn in the block is not
1523         an unconditional jump or a simple conditional jump.
1524
1525 Tue Aug  3 20:21:20 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1526
1527         * Makefile.in (c-decl.o): Depends on defaults.h.
1528
1529 Tue Aug  3 14:14:52 1999  Jeffrey A Law  (law@cygnus.com)
1530
1531         * pa.h (HARD_REGNO_NREGS): FP registers are always 4 bytes wide for
1532         PA1.1 and above.
1533         (CLASS_MAX_NREGS): Likewise.
1534
1535 Tue Aug  3 03:51:20 1999  Jeffrey A Law  (law@cygnus.com)
1536
1537         * cse.c (cse_insn): Fix dumb thinko in last change.
1538
1539 Tue Aug  3 10:36:13 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
1540
1541         * reload1.c (maybe_fix_stack_asms): Declare CONSTRAINTS as
1542         "const char *".
1543
1544 Mon Aug  2 23:45:45 1999  Hans-Peter Nilsson  <hp@bitrange.com>
1545
1546         * dwarf2out.c (add_location_or_const_value_attribute): Correct
1547         test for sizes of passed and declared parameter types.
1548
1549 Tue Aug  3 00:03:41 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1550
1551         * fixincludes: Fix the return type of bsearch, char* -> void*.
1552
1553         * fixinc/inclhack.def: Likewise.
1554
1555 Mon Aug  2 18:29:32 1999  Mark Mitchell  <mark@codesourcery.com>
1556
1557         * invoke.texi (-fdump-translation-unit): New option.
1558
1559 Mon Aug  2 17:54:19 1999  Richard Henderson  <rth@cygnus.com>
1560
1561         * expr.h (PROMOTE_PROTOTYPES): Move ...
1562         * defaults.h: ... to here.
1563         * c-decl.c: Include defaults.h instead of expr.h.
1564         * c-typeck.c: Include defaults.h.
1565
1566 Mon Aug  2 17:10:24 1999  Mark Mitchell  <mark@codesourcery.com>
1567
1568         * toplev.h (errorcount): Declare.
1569         (warningcount): Likewise.
1570         (sorrycount): Likewise.
1571         * c-lex.c (errorcount): Don't declare.
1572         * dwarf2out.c (errorcount): Don't declare.
1573
1574 Mon Aug  2 17:02:08 1999  Jason Merrill  <jason@yorick.cygnus.com>
1575
1576         * config/libgloss.h: Add a note discouraging use with ELF.
1577         * configure.in: Don't use libgloss.h for ELF targets.
1578         Always use_collect2 on a.out targets.
1579
1580 Mon Aug  2 16:27:42 1999  Jim Wilson  <wilson@cygnus.com>
1581
1582         * combine.c (force_to_mode, case LSHIFTRT): Add goto shiftrt.
1583         (force_to_mode, case ASHIFTRT): Add shiftrt label.
1584
1585 Tue Aug  3 00:45:02 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1586
1587         * loop.c (strength_reduce): When doing biv->giv conversion, update
1588         reg note of NEXT->insn.
1589
1590 1999-08-02  Jakub Jelinek  <jj@ultra.linux.cz>
1591
1592         * real.c (PUT_REAL): Clear unused bytes if long double is IEEE quad.
1593
1594 1999-08-02  Jakub Jelinek  <jj@ultra.linux.cz>
1595
1596         * c-decl.c (get_parm_info, store_parm_decls): Change all uses of
1597         PROMOTE_PROTOTYPES, so that it tests it as a C expression.
1598         Ensure expr.h is included.
1599         * c-typecheck.c (convert_arguments): Ditto.
1600
1601         * expr.h: Supply default for PROMOTE_PROTOTYPES (0).
1602
1603         * config/arc/arc.h: Define PROMOTE_PROTOTYPES to 1.
1604         * config/convex/convex.h: Ditto.
1605         * config/dsp16xx/dsp16xx.h: Ditto.
1606         * config/fx80/fx80.h: Ditto.
1607         * config/gmicro/gmicro.h: Ditto.
1608         * config/i370/i370.h: Ditto.
1609         * config/i386/i386.h: Ditto.
1610         * config/m32r/m32r.h: Ditto.
1611         * config/m68k/m68k.h: Ditto.
1612         * config/m88k/m88k.h: Ditto.
1613         * config/mips/mips.h: Ditto.
1614         * config/pa/pa.h: Ditto.
1615         * config/pyr/pyr.h: Ditto.
1616         * config/tahoe/tahoe.h: Ditto.
1617         * config/we32k/we32k.h: Ditto.
1618
1619         * config/sparc/sparc.h: Define PROMOTE_PROTOTYPES
1620         based on arch size.
1621
1622         * config/i1750a/i1750a.h: Define PROMOTE_PROTOTYPES to 0.
1623
1624         * config/i860/paragon.h: Remove PROMOTE_PROTOTYPES
1625         from comment.
1626
1627         * tm.texi: Document new usage of PROMOTE_PROTOTYPES.
1628
1629 1999-08-02  Richard Henderson  <rth@cygnus.com>
1630
1631         * m32r.c (m32r_setup_incoming_varargs): Use get_varargs_alias_set
1632         for the register spill block.
1633         (m32r_va_arg): New.
1634         * m32r.h (EXPAND_BUILTIN_VA_ARG): New.
1635         (EXPAND_BUILTIN_SAVEREGS): Delete #if 0 code.
1636
1637         * m32r.h (INT8_P): Don't short-cut test with (unsigned).
1638         (INT16_P, CMP_INT16_P, UINT16_P): Likewise.
1639         (UPPER16_P, UINT24_P, INT32_P, UINT5_P): Likewise.
1640
1641 1999-08-02  Jakub Jelinek  <jj@ultra.linux.cz>
1642
1643         * config/sparc/linux.h: Define WCHAR_TYPE as "int" and undef
1644         MAX_WCHAR_TYPE defined in sparc.h.
1645         * config/sparc/linuxaout.h: Likewise.
1646         * config/sparc/linux64.h: Likewise.
1647         Also default to -mvis if CPU is UltraSPARC.
1648
1649 1999-08-02  Jakub Jelinek  <jj@ultra.linux.cz>
1650
1651         * config/sparc/sparc.h (ASM_DECLARE_REGISTER_GLOBAL): New macro.
1652         (RTX_OK_FOR_OLO10): Likewise.
1653         (GO_IF_LEGITIMATE_ADDRESS): If assembler supports offsetable
1654         %lo(), allow it in addresses...
1655         (PRINT_OPERAND_ADDRESS): ... and print it appropriately.
1656         * config/sparc/sparc.md (sethi_di_medlow_embmedany_pic): sethi %lo()
1657         does not make sense.
1658         * config/sparc/sparc.c (sparc_hard_reg_printed): New array.
1659         (sparc_output_scratch_registers): New function.
1660         (output_function_prologue, sparc_flat_output_function_prologue): Use
1661         it.
1662         * varasm.c (make_decl_rtl): Use ASM_DECLARE_REGISTER_GLOBAL if
1663         defined.
1664         * tm.texi (ASM_DECLARE_REGISTER_GLOBAL): Document it.
1665         * configure.in: Add check for .register pseudo-op support in as and
1666         check for offsetable %lo().
1667         * acconfig.h: Add templates for the above checks.
1668         * configure: Regenerate.
1669
1670 1999-08-02  Richard Henderson  <rth@cygnus.com>
1671
1672         * sparc/linux64.h (TARGET_DEFAULT): Remove MASK_APP_REGS.
1673         * sparc/sol2-sld-64.h (TARGET_DEFAULT): Likewise.
1674         * sparc/sol2.h (TARGET_DEFAULT): Likewise.
1675
1676 Mon Aug  2 23:46:45 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1677
1678         * loop.c (strength_reduce): When doing biv->giv conversion, fix up
1679         reg_biv_class.
1680
1681 1999-08-02  Jakub Jelinek  <jj@ultra.linux.cz>
1682
1683         * config/float-sparc.h: New file.
1684         * configure.in: Use float_format=sparc for sparc-*-linux-gnulibc1,
1685         sparc-*-linux-gnu and sparc64-*-linux*.
1686
1687 1999-08-02  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1688
1689         * rs6000.c (rs6000_va_list): Type is an array.
1690         (rs6000_va_start): Don't doubly adjust for varargs.
1691         (rs6000_va_arg): Evaluate long long GPR adjustment.
1692
1693 Mon Aug  2 16:15:57 1999  David Edelsohn  <edelsohn@gnu.org>
1694
1695         * rs6000/aix43.h (SUBTARGET_SWITCHES): Use -m64 and -m32 instead of
1696         -maix64 and -maix32.
1697         (ASM_SPEC, ASM_CPU_SPEC, CPP_SPEC, CPP_CPU_SPEC, LIB_SPEC,
1698         LINK_SPEC): Change appropriately.
1699         * rs6000/rs6000.c (short_cint_operand): Use CONST_OK_FOR_LETTER_P.
1700         (u_short_cint_operand): Likewise.
1701         * rs6000/rs6000.md (movdi splitters): Add TARGET_POWERPC64 support
1702         for 64-bit hosts.
1703         * rs6000/t-aix43 (MULTILIB): Change to -m64.
1704
1705         * invoke.texi (RS/6000 Submodel): Document 64-bit processor options.
1706
1707 Mon Aug  2 16:15:57 1999  Geoff Keating  <geoffk@cygnus.com>
1708
1709         * rs6000/rs6000.c (num_insns_constant_wide): Correct
1710         for type promotion.
1711         (add_operand): Get test correct for 64-bit HOST_WIDE_INT.
1712         (non_add_cint_operand): Likewise.
1713         (logical_operand): Likewise.
1714         (non_logical_cint_operand): Likewise.
1715         (print_operand): Correct printf()s for 64-bit HOST_WIDE_INT.
1716         (print_operand_address): Correct printf() for 64-bit HOST_WIDE_INT.
1717         (rs6000_select_rtx_section): Suppress warning.
1718         (small_data_operand): Suppress warning.
1719         (rs6000_got_register): Suppress warning.
1720         * rs6000/rs6000.md (andsi3): HOST_WIDE_INT is a signed
1721         type, so `J' is generally the wrong constraint for a SImode value;
1722         use `L' instead.
1723         (andsi3_internal2): Likewise.
1724         (andsi3_internal3): Likewise.
1725         (iorsi3_internal1): Likewise.
1726         (xorsi3_internal1): Likewise.
1727         (movsi): Likewise.
1728         (movsf_softfloat): Likewise.
1729         (scc insns): Likewise.
1730         (movsi+2): Preserve sign bits of SImode constant.
1731         (floatsidf2_internal+1): Sign-extend SImode constant correctly.
1732         (movdf+1): Sign-extend properly.
1733         (movdi_32+1): Sign-extend properly.
1734         (scc insns): Sign-extend properly.
1735
1736         * md.texi (RS/6000 EXTRA_CONSTRAINTS): Update documentation for J,
1737         K, L, and T.
1738
1739 1999-08-02  Richard Henderson  <rth@cygnus.com>
1740
1741         * alpha.c (override_options): Move ev6 alpha_tp frobbing out of
1742         -mcpu parsing code.
1743         (print_operand): Notice alpha_fptm not alpha_tp for sw completion.
1744         * alpha.md (all fp insns): Likewise.
1745
1746 1999-08-02  Nick Clifton  <nickc@cygnus.com>
1747
1748         * config/v850/v850.h (STRICT_ALIGNMENT): Only define if not
1749         already defined.
1750
1751 Mon Aug  2 03:38:33 1999  Jeffrey A Law  (law@cygnus.com)
1752
1753         * pa.c (legitimize_pic_address): Clarify comments.  Do not call the
1754         pic_load_label generator directly.
1755         * pa.md (pic_load_label): Clarify comments.  Remove modes on operands.
1756         No longer a named pattern.
1757
1758 Mon Aug  2 09:38:10 1999  Nick Clifton  <nickc@cygnus.com>
1759
1760         * explow.c (force_reg): Call force_operand if X does not
1761         satisfy general_operand.
1762
1763 Mon Aug  2 01:34:22 1999  Jeffrey A Law  (law@cygnus.com)
1764
1765         * fix-header.c (main): When testing for CONTINUED, use string
1766         equality, not pointer equality.
1767
1768 Mon Aug  2 01:27:24 1999  Dan Nicolaescu  <dann@ics.uci.edu>
1769
1770         * sparc.c (sparc_block_profiler): Use the %g2 register, not %o0.
1771
1772 Sun Aug  1 22:46:42 1999  Jeffrey A Law  (law@cygnus.com)
1773
1774         * cse.c (cse_insn): Fix loop which deletes insns after a jump
1775         that has become an unconditional jump.
1776
1777         * m68k.c (output_function_prologue): Fix typo in CPU32 case.
1778         (output_function_epilogue): Similarly.
1779
1780 Sun Aug  1 20:14:00 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
1781
1782         * tree.h (init_dummy_function_start): Declare.
1783
1784 Sun Aug  1 12:55:31 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
1785
1786         * stmt.c (emit_filename, emit_lineno, expr_stmts_for_value,
1787         last_expr_type, last_expr_value, block_start_count, block_stack,
1788         stack_block_stack, cond_stack, loop_stack, case_stack, nesting_stack,
1789         nesting_depth, goto_fixup_chain): Delete global vars; now allocated
1790         dynamically in stmt elt of struct function for each function.
1791         (struct nesting): Rename function_call_count elt to n_function_calls,
1792         target_temp_slot_level to block_target_temp_slot_level.  All users
1793         changed.
1794         (struct stmt_status): New structure definition.
1795         Add many accessor macros for stmt_status elements which previously
1796         were global variables.
1797         (init_stmt_for_function): Allocate stmt elt for current_function.
1798         Reflect that block_start_count was renamed to
1799         current_block_start_count.
1800         (save_stmt_status, restore_stmt_status): Delete functions.
1801         (preserve_subexpressions_p): Don't access loop_stack when outside
1802         a function.
1803         (expand_start_bindings): Reflect that block_start_count was renamed to
1804         current_block_start_count.
1805         (expand_fixup): Likewise.
1806         (expand_decl): Don't access block_stack when outside a function.
1807         (expand_decl_cleanup): Likewise.
1808         (expand_dcc_cleanup): Likewise.
1809         (expand_dhc_cleanup): Likewise.
1810         (expand_anon_union_decl): Likewise.
1811         (set_file_and_line_for_stmt): New function.
1812         (in_control_zone_p): New function.
1813
1814         * function.h (struct function): Add new elt stmt.
1815         Delete elts block_stack, stack_block_stack, cond_stack, loop_stack,
1816         case_stack, nesting_stack, nesting_depth, block_start_count,
1817         last_expr_type, last_expr_value, expr_stmts_for_value, emit_filename,
1818         emit_lineno, goto_fixup_chain.
1819         (save_eh_status, restore_eh_status, save_stmt_status,
1820         restore_stmt_status): Delete declarations.
1821         * function.c (push_function_context_to): Don't call save_stmt_status.
1822         (pop_function_context_to): Don't call restore_stmt_status.
1823         * tree.h (in_control_zone_p): Declare.
1824         * rtl.h (set_file_and_line_for_stmt): Declare.
1825
1826         * emit-rtl.c (emit_line_note): Don't set emit_filename/emit_lineno;
1827         call set_file_and_line_for_stmt.
1828
1829 Thu Jul 31 12:34:45 1999  Joe Buck  <jbuck@synopsys.com>
1830
1831         * gcc.texi: Use terms "GNU Compiler Collection" and "GCC".
1832         Also update copyright.
1833
1834 Sat Jul 31 11:10:07 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
1835
1836         * c-pragma.c: Don't include "except.h".
1837         * emit-rtl.c: Likewise.
1838         * stor-layout.c: Likewise.
1839         * tree.c: Likewise.
1840         * varasm.c: Likewise.
1841
1842         * flow.c: Include "function.h".
1843         * tree.h (init_dummy_function_start): Declare new function.
1844         
1845         * except.h (struct eh_status): New structure.
1846         (struct label_node, struct eh_entry): Declare even if tree.h hasn't
1847         been included.
1848         (eh_return_stub_label, ehstack, catchstack, ehqueue,
1849         catch_clauses, false_label_stack, caught_return_label_stack,
1850         protect_list, current_function_ehc): Add accessor macros for the
1851         corresponding fields in current_function->eh; delete declarations
1852         for all items that used to be declared here.
1853         * except.c (eh_return_stub_label, ehstack, catchstack, ehqueue,
1854         catch_clauses, false_label_stack, caught_return_label_stack,
1855         protect_list, current_function_ehc): Delete variables.
1856         (init_eh_for_function): Allocate current_function->eh.
1857         (save_eh_status, restore_eh_status): Delete functions.
1858
1859         * function.h (struct function): Add fields next_global and eh.
1860         Delete all exception handling related fields.
1861         * function.c (current_function): New variable.
1862         (all_functions): New variable.
1863         (push_function_context_to): Don't allocate a struct function,
1864         use current_function instead.  Call init_dummy_function_start when
1865         outside a function.  Clear current_function before returning.
1866         (pop_function_context_from): Restore current_function.
1867         Don't free the restored struct function.        
1868         (prepare_function_start): New function.
1869         (init_dummy_function_start): New function.
1870         (init_function_start): Break out some code into prepare_function_start
1871         and call it here.
1872
1873         * stmt.c (save_stmt_status): Don't call save_eh_status.
1874         (restore_stmt_status): Don't call restore_eh_status.
1875
1876         * Makefile.in: Update dependencies.
1877
1878 Sat Jul 31 04:10:01 1999  Jeffrey A Law  (law@cygnus.com)
1879
1880         * pa.c (compute_frame_size): Use STARTINg_FRAME_OFFSET instead
1881         of depending on a magic constant value.  Update comments.
1882         (hppa_expand_prologue): Similarly.
1883
1884         * pa.md (reload_indi, reload_outdi): Allow any register for the
1885         original reload register.
1886
1887 Fri Jul 30 19:41:35 1999  Jim Wilson  <wilson@cygnus.com>
1888
1889         * cccp.c (print_help): Change marcos to macros.
1890
1891 1999-07-30  Richard Henderson  <rth@cygnus.com>
1892
1893         * c-typeck.c (initializer_constant_valid_p): Move ...
1894         * c-common.c (initializer_constant_valid_p): ... here.  Use 
1895         FOO_TYPE_P instead of tests against TREE_CODE.  Allow subtraction
1896         of label addresses.
1897         * c-common.h (initializer_constant_valid_p): Declare.
1898         * c-tree.h (initializer_constant_valid_p): Remove.
1899
1900 Fri Jul 30 16:33:42 1999  Mathias Froehlich  <frohlich@na.uni-tuebingen.de>
1901
1902         * config/i386/sol2-c1.asm: Align the stack.
1903         * config/i386/sol2-gc1.asm: Likewise.
1904
1905 1999-07-30  Vladimir Makarov  <vmakarov@loony.cygnus.com>
1906
1907         * config/sparc/sparc.h (ASM_CPU32_DEFAULT_SPEC): Change -Av8 onto
1908         -Asparclite for sparc86x.
1909         (CPP_CPU32_DEFAULT_SPEC, CPP_CPU_SPEC): Remove -D__sparc_v8__ for
1910         sparc86x.
1911         (ASM_CPU_SPEC): Use -Asparclite for sparc86x.
1912
1913 Fri Jul 30 14:53:56 1999  Jakub Jelinek  <jj@ultra.linux.cz>
1914
1915         * config/sparc/linux64.h (CC1_SPEC): Preserve CPU specified by
1916         the user if using the non-default arch size in BI_ARCH configuration.
1917         * config/sparc/sol2-sld-64.h (CC1_SPEC): Ditto.
1918
1919         * config/sparc/sparc.md (cmp_mul_set, cmp_udiv_cc_set):
1920         Fix patterns so that they actually match.
1921         (cmp_sdiv_cc_set): Ditto, also don't require g0 to be zero.
1922         (mulsidi3_sp64, const_mulsidi3_sp64): New patterns.
1923         (const_mulsidi3_sp32): Renamed from const_mulsidi3, only on
1924         TARGET_HARD_MUL32.
1925         (mulsidi3): Reflect this in the expand.
1926         (smulsi3_highpart): Only on TARGET_ARCH32.
1927         (umulsidi3_sp64, const_umulsidi3_sp64): New patterns.
1928         (const_umulsidi3_sp32): Renamed from const_umulsidi3.
1929         (umulsidi3): Reflect this in the expand.
1930         (umulsi3_highpart): Only on TARGET_ARCH32.
1931         (divsi3_sp32): Renamed from divsi3, only on TARGET_ARCH32,
1932         don't require g0 to be zero.
1933         (udivsi3_sp32): Renamed from udivsi3, only on TARGET_ARCH32.
1934         ({,u}divsi3): New expands.
1935         ({,u}divsi3_sp64): New patterns.
1936         (after lshrdi3_v8plus): Four new patterns to help combiner
1937         optimizing nested mixed mode shifts.
1938
1939         * config/sparc/sparc.c (sparc_override_options): Use deprecated
1940         v8 instructions if optimizing for UltraSPARC I, II, IIi, as it
1941         speed things up. Don't use them by default on plain v9 in 64bit
1942         mode, according to what SPAMv9 sais.
1943
1944         * config/sparc/sparc.h: Fix comments, e.g. Linux already preserves
1945         top 32 bits of %[og][0-7] in signal handlers.
1946         Also, TARGET_HARD_MUL32 now is only true for TARGET_ARCH32.
1947
1948 Fri Jul 30 03:00:41 1999  Jeffrey A Law  (law@cygnus.com)
1949
1950         * pa.md (zvdep_imm32): Renamed from zvdep_imm.
1951         (ashlsi3): Corresponding changes.
1952
1953         * pa.c (compute_zdepwi_operands): Renamed from compute_zdepi_operands.
1954
1955 Thu Jul 29 18:37:13 1999  Jeffrey A Law  (law@cygnus.com)
1956
1957         * pa.h (FIRST_PARM_CALLER_OFFSET): Delete.
1958
1959 Thu Jul 29 19:01:58 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
1960
1961         * arm.h (Hint): Delete macro.
1962         Substitute HOST_WIDE_INT for Hint in some prototypes.
1963         * arm.c: Substitute HOST_WIDE_INT for Hint in one prototype.
1964
1965 Thu Jul 29 09:21:42 1999  Nick Clifton  <nickc@cygnus.com>
1966
1967         * builtins.c (expand_builtin_setjmp): Use force_operand to
1968         make sure that the buffer address is in a suitable form to be
1969         passed to force_reg.
1970
1971 Wed Jul 28 12:50:48 1999  Geoff Keating  <geoffk@cygnus.com>
1972
1973         * config/mips/mips.c: system.h handles MIN and MAX, don't undefine
1974         them here.
1975
1976 Wed Jul 28 13:18:35 1999  Jeffrey A Law  (law@cygnus.com)
1977
1978         * pa.md (indirect_jump): Remove mode from match_operand.  Verify
1979         proper mode in the condition string.
1980         (icacheflush, dcacheflush): Remove modes from match_operands.
1981
1982         * pa.c (emit_move_sequence): Always convert scratch_reg to the
1983         proper mode before using it.
1984
1985         * pa.md (adddi3, subdi3): Turn into a define_expand/define_insn
1986         pair.
1987
1988         * pa.c (store_reg): Do not call add_high_const generator directly.
1989         (load_reg, set_reg_plus_d): Likewise.
1990         * pa.md (add_high_const): No longer a named pattern.
1991
1992         * pa.c (legitimize_address): Consistently use Pmode rather than
1993         SImode.  Do not call gen_pic2_highpart directly anymore.
1994         * pa.md (pic2_highpart): No longer a named pattern.
1995         (pic2_lo_sum): Similarly.  Reformat to make more readable.
1996
1997         * pa.md (call, call_value): Use "word_mode" instead of "SImode" as
1998         needed.
1999
2000         * README: Update.
2001
2002 Wed Jul 28 11:28:04 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2003
2004         * builtins.c (expand_builtin): Typo in call to expand_builtin_ffs.
2005
2006 Wed Jul 28 11:23:48 1999  Richard Henderson  <rth@cygnus.com>
2007
2008         * pa.c (hppa_builtin_saveregs):  Use get_varargs_alias_set
2009         and tag the spill mems.
2010         (hppa_va_start): New.
2011         (hppa_va_arg): New.
2012         * pa.h (EXPAND_BUILTIN_VA_START): New.
2013         (EXPAND_BUILTIN_VA_ARG): New.
2014
2015 Wed Jul 28 11:22:21 1999  Richard Henderson  <rth@cygnus.com>
2016
2017         * mn10300.c (mn10300_builtin_saveregs): Use get_varargs_alias_set
2018         and tag the spill mems.
2019         (mn10300_va_start): New.
2020         (mn10300_va_arg): New.
2021         * mn10300.h (EXPAND_BUILTIN_VA_START): New.
2022         (EXPAND_BUILTIN_VA_ARG): New.
2023
2024 Wed Jul 28 11:20:19 1999  Richard Henderson  <rth@cygnus.com>
2025
2026         * mn10200.c (mn10200_va_arg): New.
2027         * mn10200.h (EXPAND_BUILTIN_VA_ARG): New.
2028
2029 Wed Jul 28 11:19:06 1999  Richard Henderson  <rth@cygnus.com>
2030
2031         * builtins.c (std_expand_builtin_va_arg): Use int_size_in_bytes
2032         rather than play with TREE_INT_CST_LOW.
2033
2034 1999-07-27  Philip Blundell  <pb@nexus.co.uk>
2035
2036         * config/arm/telf.h: Include dbxelf.h.
2037         (CPP_PREDEFINES): Only define if not already defined.
2038         (ASM_IDENTIFY_GCC): Likewise.
2039         (SUBTARGET_EXTRA_SECTIONS): Likewise.
2040         (SUBTARGET_EXTRA_SECTION_FUNCTIONS): Likewise.
2041         * config/arm/thumb.h (LINK_SPEC): Only define if not already
2042         defined.
2043         (DBX_DEBUGGING_INFO): Don't define.
2044         * config/arm/linux-telf.h: New file.
2045         * config/arm/linux-tgas.h: New file.
2046         * config/arm/t-thumb-linux: New file.
2047         * config/arm/uclinux-elf.h: New file.
2048         * config/arm/uclinux-telf.h: New file.
2049         * configure.in (arm-*-uclinux, thumb-*-linux-gnu,
2050         thumb-*-uclinux): New targets.
2051         * configure: Regenerate.
2052
2053 Tue Jul 27 23:20:21 1999  Jeffrey A Law  (law@cygnus.com)
2054
2055         * pa.md (post_store, pre_load): New expanders.
2056         (post_stwm, pre_ldwm): Renamed to post_stw and pre_ldw respectively.
2057         (post_ldwm, pre_stwm): Make these unnamed patterns since we never
2058         need to directly generate RTL for them.
2059         * pa.c (hppa_expand_prologue, hppa_expand_epilogue): Corresponding
2060         changes.
2061
2062 Tue Jul 27 16:05:52 1999  David Edelsohn  <edelsohn@gnu.org>
2063
2064         * aix43.h (ASM_CPU_SPEC, CPP_CPU_SPEC): Add rs64a and PPC630.
2065         * rs6000.c (processor_target_table): Add powerpc64, rs64a, and PPC630.
2066         (rs6000_cpu): Choose between 32-bit and 64-bit default processors.
2067         (secndary_reload_class): Make TARGET_ELF conditional compile.
2068         (print_operand_address): Similar.
2069         (output_toc): Print all values as hex.
2070         (get_issue_rate): Rearrange and add RS64A and PPC630.
2071         * rs6000.h (processor_type): Add RS64A and PPC630.
2072         (PROCESSOR_POWERPC64): New.
2073         (PROMOTE_MODE): Use word_mode.
2074         (RTX_COSTS): Add RS64A and PPC630.
2075         * rs6000.md (scheduling information): Add lmul and ldiv
2076         representing 64-bit integer multiply and divide.  Add rs64a and
2077         PPC630 information.
2078         (ashldi3): Add support for "rldic" instruction.
2079         * sysv4.h (PROCESSOR_DEFAULT): Change to PROCESSOR_750.
2080         
2081 Tue Jul 27 15:31:53 1999  Vladimir Makarov  <vmakarov@toad.to.cygnus.com>
2082
2083         * config/sparc/sparc.c (sparc_override_options): Enable SPARCLITE
2084         instead of V8 for sparclite86x in cpu_table.
2085
2086 Tue Jul 27 17:49:42 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
2087
2088         * config/arm/coff.h (ASM_FILE_START): If generating SDB output, call
2089         output_file_directive.
2090
2091 Tue Jul 27 03:15:33 1999  Jason Merrill  <jason@yorick.cygnus.com>
2092
2093         * expr.c (expand_expr, case PLUS_EXPR): Get the mode from the 
2094         tree for op1, not the rtl.
2095
2096 Tue Jul 27 00:18:34 1999  Richard Henderson  <rth@cygnus.com>
2097
2098         * m88k.c (m88k_builtin_saveregs): Break out the constructor code
2099         to m88k_va_start, leaving only the register spill.
2100         (m88k_build_va_list): New.
2101         (m88k_va_start): New.
2102         (m88k_va_arg): New.
2103         * m88k.h (BUILD_VA_LIST_TYPE): New.
2104         (EXPAND_BUILTIN_VA_START): New.
2105         (EXPAND_BUILTIN_VA_ARG): New.
2106
2107 Mon Jul 26 19:07:11 1999  Geoff Keating  <geoffk@cygnus.com>
2108
2109         * config/rs6000/rs6000.c (rs6000_expand_builtin_saveregs):
2110         Rename from expand_builtin_saveregs.
2111         * config/rs6000/rs6000.h (EXPAND_BUILTIN_SAVEREGS): Change caller.
2112
2113 Mon Jul 26 22:52:47 1999  Richard Henderson  <rth@cygnus.com>
2114
2115         * i960.c (i960_setup_incoming_varargs): Use get_varargs_alias_set
2116         for the register spill block.
2117         (i960_build_va_list): New.
2118         (i960_va_start): New.
2119         (i960_va_arg): New.
2120         * i960.h (BUILD_VA_LIST_TYPE): New.
2121         (EXPAND_BUILTIN_VA_START): New.
2122         (EXPAND_BUILTIN_VA_ARG): New.
2123         * i960.md (store_multiple): Use change_address on individul mems.
2124
2125 Mon Jul 26 22:43:12 1999  Richard Henderson  <rth@cygnus.com>
2126
2127         * builtins.c (stabilize_va_list): Don't INDIRECT_REF through
2128         an ARRAY_TYPE.
2129         (std_expand_builtin_va_start): Back out one word if !stdarg_p.
2130         (expand_builtin_va_end): Evaluate arg for side effects.
2131         * c-common.c (c_common_nodes_and_builtins): Construct a
2132         va_list_arg_type_node to handle array decomposition to pointer.
2133
2134 Mon Jul 26 18:51:34 1999  Richard Henderson  <rth@cygnus.com>
2135
2136         * except.c (start_dynamic_cleanup): Use force_operand on the
2137         buffer's address.
2138
2139 Mon Jul 26 16:43:26 1999  Richard Henderson  <rth@cygnus.com>
2140
2141         * c4x.h (EXPAND_BUILTIN_VA_ARG): New.
2142         * c4x.c (c4x_va_arg): New.
2143
2144 Mon Jul 26 12:30:09 1999  Jason Merrill  <jason@yorick.cygnus.com>
2145
2146         * cpplib.c (cpp_get_token): Don't return a CPP_POP if the buffer
2147         has manual_pop set.
2148
2149 1999-07-26  Nathan Sidwell  <nathan@acm.org>
2150
2151         * eh-common.h (__eh_matcher): Prototype correctly.
2152
2153 Mon Jul 26 17:24:51 1999  Philip Blundell  <pb@nexus.co.uk>
2154
2155         * config/arm/thumb.h (THUMB_FLAG_SINGLE_PIC_BASE): Define.
2156         (TARGET_SINGLE_PIC_BASE): Likewise.
2157         (GOT_PCREL, NEED_GOT_RELOC, NEED_PLT_RELOC): Provide default
2158         definitions.
2159         (TARGET_CALLEE_INTERWORKING): Fix typo in comment.
2160         (TARGET_SWITCHES): Add -m{no-}single-pic-base.
2161         (TARGET_OPTIONS): Add -mpic-register=N.
2162         (OUTPUT_INT_ADDR_CONST): New macro.
2163         (INDEX_REGISTER_RTX_P, PIC_OFFSET_TABLE_REGNUM, FINALIZE_PIC,
2164         LEGITIMATE_PIC_OPERAND_P): Likewise.
2165         (LEGITIMIZE_ADDRESS, GOT_IF_LEGITIMATE_ADDRESS): Support PIC.
2166         (ASM_OUTPUT_INT): Use OUTPUT_INT_ADDR_CONST rather than calling
2167         output_addr_const directly.
2168         (PRINT_OPERAND_PUNCT_VALID_P): Accept `|' for compatibility with 
2169         ARM port.
2170         (thumb_pic_register, thumb_pic_register_string): Declare.
2171         
2172         * config/arm/thumb.c (symbol_mentioned_p): New function: Imported
2173         from arm.c.
2174         (label_mentioned_p): New function: Imported from arm.c.
2175         (legitimize_pic_address): New function: Imported from arm.c.
2176         (is_pic):New function: Imported from arm.c.
2177         (thumb_finalize_pic):New function: Imported from arm.c.
2178         (add_constant): Cope with PIC constants.
2179         (fixit): Cope with PIC constants.
2180         (output_return): Do not treat the PIC register as live if
2181         TARGET_SINGLE_PIC_BASE is true.
2182         (thumb_function_prologue): Do not treat the PIC register as live if
2183         TARGET_SINGLE_PIC_BASE is true.
2184         (thumb_expand_prologue): Do not treat the PIC register as live if
2185         TARGET_SINGLE_PIC_BASE is true.
2186         (thumb_unexpand_epilogue): Do not treat the PIC register as live if
2187         TARGET_SINGLE_PIC_BASE is true.
2188         (thumb_print_operand): Accept '|'.
2189         (thumb_override_options): Process PIC options.
2190         
2191         * config/arm/thumb.md (movsi): Support PIC.
2192         (call_insn): Change "i" constraint to "X".
2193         (call_value_insn): Likewise.
2194         (consttable_4, consttable_8, consttable_end): Set and clear
2195         "making_const_table" as appropriate.
2196         (pic_load_addr, pic_add_dot_plus_four): New insns.
2197         
2198         * invoke.texi (Thumb Options): Fix spelling.  Document new 
2199         options -msingle-pic-base and -mpic-register=.
2200         
2201 1999-07-26  Andrew Haley  <aph@cygnus.com>
2202
2203         * config/m32r/initfini.c (__init): Use a full word immediate for
2204         __fini: this allows it to be placed in any memory region.
2205
2206         * config/m32r/t-m32r: Compile crtinit.o and crtfini.o for
2207         -mmodel=medium.  This is OK for all memory models.
2208
2209 Mon Jul 26 11:58:46 1999  Nick Clifton  <nickc@cygnus.com>
2210
2211         * config/arm/arm.c: Replace %R%s in asm_fprintf strings with %r.
2212         * config/arm/arm.h: Replace %R%s in asm_fprintf strings with %r.
2213
2214 Mon Jul 26 10:23:36 1999  Nick Clifton  <nickc@cygnus.com>
2215
2216         * final.c (asm_fprintf): Accept ASM_FPRINTF_EXTENSIONS, if
2217         defined.
2218
2219         * tm.texi: Document ASM_FPRINTF_EXTENSIONS.
2220
2221 Sun Jul 25 23:51:59 1999  Richard Henderson  <rth@cygnus.com>
2222
2223         * i860.h (EXPAND_BUILTIN_SAVEREGS): New.
2224         (BUILD_VA_LIST_TYPE): New.
2225         (EXPAND_BUILTIN_VA_START): New.
2226         (EXPAND_BUILTIN_VA_ARG): New.
2227         * i860.c (output_delayed_branch): Disable.
2228         (output_delay_insn): Likewise.
2229         (i860_saveregs): New.
2230         (i860_build_va_list): New.
2231         (i860_va_start): New.
2232         (i860_va_arg): New.
2233         * i860.md: Disable all peepholes using output_delayed_branch.
2234         * i860/sysv4.h (I860_SVR4_VA_LIST): New.
2235
2236 Sun Jul 25 23:44:13 1999  Richard Henderson  <rth@cygnus.com>
2237
2238         * clipper.h (EXPAND_BUILTIN_SAVEREGS): Remove argument.
2239         (BUILD_VA_LIST_TYPE): New.
2240         (EXPAND_BUILTIN_VA_START): New.
2241         (EXPAND_BUILTIN_VA_ARG): New.
2242         * clipper.c (clipper_builtin_saveregs): Only dump registers.
2243         Return the address of the save area.
2244         (clipper_build_va_list): New.
2245         (clipper_va_start): New.
2246         (clipper_va_arg): New.
2247
2248 Sun Jul 25 22:56:47 1999  Richard Henderson  <rth@cygnus.com>
2249
2250         * arc.h (EXPAND_BUILTIN_VA_START): New.
2251         (EXPAND_BUILTIN_VA_ARG): New.
2252         * arc.c (arc_setup_incoming_varargs): Set alias set of 
2253         varargs save area.
2254         (arc_va_start): New.
2255         (arc_va_arg): New.
2256
2257 Sun Jul 25 22:45:55 1999  Richard Henderson  <rth@cygnus.com>
2258
2259         * alpha.h (EXPAND_BUILTIN_SAVEREGS): Delete.
2260         (BUILD_VA_LIST_TYPE): New.
2261         (EXPAND_BUILTIN_VA_START): New.
2262         (EXPAND_BUILTIN_VA_ARG): New.
2263         * alpha.c (alpha_builtin_saveregs): Delete.
2264         (alpha_build_va_list): New.
2265         (alpha_va_start): New.
2266         (alpha_va_arg): New.
2267
2268 Sun Jul 25 21:40:33 1999  Jeffrey A Law  (law@cygnus.com)
2269
2270         * config/svr4.h (CTORS_SECTION_ASM_OP): Do not emit directives in
2271         column zero.
2272         (DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP): Likewise.
2273         (FINI_SECTION_ASM_OP, ASM_OUTPUT_SECTION_NAME): Likewise.
2274
2275         * gcc.texi: More changes related to list conversion.
2276         * invoke.texi: Likewise.
2277
2278 Sun Jul 25 18:15:39 1999  Richard Henderson  <rth@cygnus.com>
2279
2280         * builtins.c (expand_builtin_saveregs): Remove static, remove exp
2281         and ignore arguments, bail if no EXPAND_BUILTIN_SAVEREGS.
2282         (expand_builtin_next_arg): Accept ARGLIST not EXP.
2283         (stabilize_va_list): New function.
2284         (std_expand_builtin_va_start): New function.
2285         (expand_builtin_va_start): New function.
2286         (get_varargs_alias_set): New function.
2287         (std_expand_builtin_va_arg): New function.
2288         (expand_builtin_va_arg): New function.
2289         (expand_builtin_va_end): New function.
2290         (expand_builtin_va_copy): New function.
2291         (expand_builtin): Call them.
2292         * c-common.c (c_common_nodes_and_builtins): Build __builtin_va_list,
2293         __builtin_{varargs_start,stdarg_start,end,copy}.
2294         (build_va_arg): New function.
2295         * c-common.h (CTI_PTR_TYPE, ptr_type_node): Delete.
2296         (build_va_arg): Declare.
2297         * c-decl.c (ptr_type_node, va_list_type_node): New.
2298         * c-parse.gperf (__builtin_va_arg): New.
2299         * c-parse.in (VA_ARG): New token.
2300         (unary_expr): Recognize it.
2301         * expr.c (expand_expr): Expand VA_ARG_EXPR.
2302         * expr.h (std_expand_builtin_va_start): Declare.
2303         (std_expand_builtin_va_arg): Declare.
2304         (expand_builtin_va_arg): Declare.
2305         (get_varargs_alias_set): Declare.
2306         * tree.def (VA_ARG_EXPR): New.
2307         * tree.h (BUILT_IN_VARARGS_START): New.
2308         (BUILT_IN_STDARG_START, BUILT_IN_VA_END): New.
2309         (ptr_type_node, va_list_type_node): Declare.
2310         * tm.texi (EXPAND_BUILTIN_SAVEREGS): Kill unused ARGLIST argument.
2311         * m32r.h (EXPAND_BUILTIN_SAVEREGS): Likewise.
2312         * m88k.h, m88k.c: Likewise.
2313         * mn10300.h, mn10300.c: Likewise.
2314         * pa.h, pa.c: Likewise.
2315         * rs6000.h, rs6000.c: Likewise.
2316         * sh.h, sh.c: Likewise.
2317         * sparc.h, sparc.c: Likewise.
2318
2319         * emit-rtl.c (operand_subword): Copy alias set.
2320         (change_address): Likewise.
2321
2322 Sun Jul 25 15:04:37 1999  Jeffrey A Law  (law@cygnus.com)
2323
2324         * pa.c (compute_frame_size): Scan all the used callee saved registers,
2325         not just the first one.
2326
2327 Fri Jul 23 14:09:58 1999  Philip Blundell  <pb@nexus.co.uk>
2328
2329         * config/arm/arm.h (TARGET_SWITCHES): Add 
2330         -m{no-}single-pic-base.  Correct help string for -mshort-load-words.
2331         (TARGET_OPTIONS): Add -mpic-register=.
2332         (ARM_FLAG_SINGLE_PIC_BASE, TARGET_SINGLE_PIC_BASE): Define.
2333         (arm_pic_register_string): Declare.
2334         (NEED_PLT_GOT): Delete, replace with ...
2335         (NEED_GOT_RELOC, NEED_PLT_RELOC): ... these.  New macros.
2336         (OUTPUT_INT_ADDR_CONST): Replace NEED_PLT_GOT with NEED_GOT_RELOC.
2337         (ASM_OUTPUT_MI_THUNK): Replace NEED_PLT_GOT with NEED_PLT_RELOC.
2338         * config/arm/arm.c (arm_override_options): Add new option
2339         -mpic-register=N.
2340         (arm_pic_register_string): New variable.
2341         (arm_finalize_pic): Respect TARGET_SINGLE_PIC_BASE.
2342         (output_func_prologue): If TARGET_SINGLE_PIC_BASE, treat the PIC
2343         register as never live.  Use NEED_PLT_RELOC not NEED_PLT_GOT.
2344         (output_return_instruction): Likewise. 
2345         * config/arm/elf.h (NEED_PLT_GOT): Delete, replace with ...
2346         (NEED_GOT_RELOC, NEED_PLT_RELOC): ... these.  Define to flag_pic.
2347         * config/arm/arm.md: Use NEED_PLT_RELOC in place of NEED_PLT_GOT.
2348
2349         * invoke.texi (ARM Options): Fix spelling.  Remove duplicate
2350         mention of -msched-prolog.  Document new options -msingle-pic-base 
2351         and -mpic-register=.
2352
2353 Thu Jul 22 18:23:56 1999  Richard Henderson  <rth@cygnus.com>
2354
2355         * haifa-sched.c (reemit_notes): Tidy.
2356         * sched.c (reemit_notes): Duplicate 1998-08-31 patch to
2357         haifa's routine.
2358
2359 Thu Jul 22 18:21:04 1999  Richard Henderson  <rth@cygnus.com>
2360
2361         * explow.c (trunc_int_for_mode): New function.
2362         (plus_constant_wide): Use it.
2363         * combine.c (simplify_and_const_int): Likewise.
2364         (merge_outer_ops): Likewise.
2365         (simplify_shift_const): Likewise.
2366         * cse.c (simplify_unary_operation): Likewise.
2367         (simplify_binary_operation): Likewise.
2368         * emit-rtl.c (operand_subword): Likewise.
2369         * rtl.h: Declare it.
2370
2371 Thu Jul 22 14:34:59 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
2372
2373         * config/arm/arm.c (arm_print_operand): Fix typo in 'M' case
2374         (use NUM_REGS instead of NUM_INTS).
2375
2376 Thu Jul 22 11:25:20 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
2377
2378         * builtins.c: New file.
2379         * expr.c (saveregs_value, apply_args_value):  Delete definition,
2380         moved into builtins.c.
2381         (string_constant): No longer static.
2382         (get_pointer_alignment, c_strlen, get_memory_rtx, expand_builtin,
2383         apply_args_size, apply_result_size, result_vector,
2384         expand_builtin_apply_args, expand_builtin_apply,
2385         expand_builtin_return): Delete functions, moved into builtins.c.
2386         (INCOMING_REGNO, OUTGOING_REGNO): Delete unused macros.
2387         * expr.h (saveregs_value, apply_args_value): Declare variables.
2388         (expand_builtin, string_constant): Declare functions.
2389         * Makefile.in: Update to build builtin.o.
2390
2391 Wed Jul 21 00:46:58 1999  Mark P. Mitchell  <mark@codesourcery.com>
2392
2393         * defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): New macro.
2394         * tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Define it.
2395         * dwarf2out.c (dwarf2out_init): Don't output a label to mark the
2396         start of the text section if DWARF2_GENERATE_TEXT_SECTION_LABEL is
2397         false.
2398         * config/mips/iris6.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): 
2399         Define to zero.
2400         
2401 1999-07-21  Michael Meissner  <meissner@cygnus.com>
2402
2403         * print-rtl.c (print_rtx): Print the names of the virtual
2404         registers.
2405
2406 Wed Jul 21 16:00:32 1999  Nick Clifton  <nickc@cygnus.com>
2407
2408         * config/arm/arm.h (INITIAL_ELIMINATION_OFFSET): Fix typo
2409         introduced in previous delta.
2410
2411 Wed Jul 21 14:30:51 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
2412
2413         * c-lang.c (finish_file): Rename void_list_node to void_list_node_1
2414         to avoid name clash.
2415
2416 Wed Jul 21 08:39:22 1999  Gavin Romig-Koch  <gavin@cygnus.com>
2417
2418         * c-lex.c (yylex) : Correct the test for overflow when lexing
2419         integer literals.
2420
2421 Tue Jul 20 18:02:42 1999  Richard Henderson  <rth@cygnus.com>
2422
2423         * haifa-sched.c (insn_cost): FREE implies cost 0 and vice versa.
2424         (adjust_priority): Always call ADJUST_PRIORITY.
2425         (schedule_insn): Only put insns into the ready at cost 0.
2426         (schedule_block): Remove redundant initial sort.  Give clock_var
2427         and can_issue_more to MD_SCHED_REORDER.  Requeue if hazard cost
2428         is not 0.
2429         * tm.texi (MD_SCHED_REORDER): Update docs.
2430
2431         * sparc.h (MD_SCHED_REORDER): Update.  Set CAN_ISSUE_MORE.
2432         * sparc.c (ultra_reorder_called_this_block): Delete.
2433         (ultrasparc_sched_init): Don't set it.
2434         (ultrasparc_sched_reorder): Don't check it.
2435         
2436 Tue Jul 20 17:07:54 1999  Richard Henderson  <rth@cygnus.com>
2437
2438         * rs6000.h (struct rs6000_args): Add sysv_gregno.
2439         * rs6000.c (init_cumulative_args): Init sysv_gregno.
2440         (function_arg_boundary): Align DFmode.
2441         (function_arg_advance): Restructure for ABI_V4; use sysv_gregno
2442         to get fp reg and stack overflow correct.
2443         (function_arg): Likewise.
2444         (function_arg_pass_by_reference): True for TFmode for ABI_V4.
2445         (setup_incoming_varargs): Restructure for ABI_V4; use 
2446         function_arg_advance to skip final named argument.
2447         (expand_builtin_saveregs): Properly unskip the last integer arg
2448         when doing varargs.  Adjust overflow location calculation.
2449
2450         * ginclude/va-ppc.h (struct __va_list_tag): Make gpr and fpr 
2451         explicitly unsigned.
2452         (__VA_FP_REGSAVE): Use new OFS argument instead of AP->fpr directly.
2453         (__VA_GP_REGSAVE): Similarly.
2454         (__va_longlong_p): Delete.
2455         (__va_arg_type_violation): New declaration.
2456         (va_arg): Restructure.  Flag promotion errors.  Align double. 
2457         TFmode passed by reference.
2458
2459         * rs6000.md (movdi_32+1): Use GEN_INT after arithmetic
2460         in the HOST_BITS_PER_WIDE_INT > 32 case.
2461
2462 Tue Jul 20 12:37:30 1999  Hans-Peter Nilsson  <hp@bitrange.com>
2463
2464         * dwarf2out.c (output_abbrev_section): Terminate with a zero.
2465
2466 Tue Jul 20 12:12:27 1999  Jason Merrill  <jason@yorick.cygnus.com>
2467
2468         * gcc.c (default_compilers, cpp-output): Pass -fpreprocessed.
2469         * toplev.c (documented_lang_options): Add -fpreprocessed.
2470         * cpplib.h (struct cpp_buffer): Add preprocessed.
2471         * cppinit.c (cpp_handle_option): Handle -fpreprocessed.
2472         (cpp_start_read): Don't expand macros or emit an initial #line
2473         directive if -fpreprocessed.
2474
2475 Tue Jul 20 12:12:09 1999  Michael Tiemann  <tiemann@holodeck.cygnus.com>
2476
2477         * cpplib.h (struct cpp_buffer): Added manual_pop for
2478         better C++ tokenization.
2479         * cpplib.c (cpp_get_token): Return CPP_EOF if manual_pop.
2480         Also, support C++ tokenization for ->*, .*, <?, and >? operators.
2481         * c-common.c (cpp_token): Make non-static.
2482
2483 Tue Jul 20 11:24:19 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
2484
2485         * c-common.h: New file.
2486         * c-common.c (permanent_obstack): Delete unused declaration.
2487         (c_global_trees): New array.
2488         (c_common_nodes_and_builtins): New function; split off common code
2489         from init_decl_processing in both c-decl.c and cp/decl.c.
2490         * c-tree.h: Delete lots of declarations of tree nodes; replaced by
2491         c_global_trees and accessor macros defined in c-common.h.
2492         Include c-common.h.
2493         * c-decl.c: Delete definitions for tree nodes that were replaced by
2494         c_global_trees.
2495         (init_decl_processing): Build void_list_node.
2496         Call c_common_nodes_and_builtins; delete code to generate the common
2497         builtins here.
2498         * objc/objc-act.c (build_module_descriptor): Rename variable
2499         void_list_node to avoid clash with c-common.h.
2500
2501         * Makefile.in: Update dependencies.
2502         * objc/Make-lang.in: Likewise.
2503
2504 Mon Jul 19 14:22:18 1999  Mark P. Mitchell  <mark@codesourcery.com>
2505
2506         * config/mips/iris6gld.h (MAKE_DECL_ONE_ONLY): Define.
2507         (UNIQUE_SECTION_P): Likewise.
2508         (UNIQUE_SECTION): Likewise.
2509
2510 1999-07-19  Linas Vepstas  <linas@linas.org>
2511
2512         * config/i370/README: New file.
2513         * config/i370/linux.h: New file.
2514         * config/i370/mvs.h: New file.
2515         * config/i370/oe.h: New file.
2516         * config/i370/t-linux: New file.
2517         * config/i370/t-mvs: New file.
2518         * config/i370/t-oe: New file.
2519         * config/i370/x-oe: New file.
2520         * config/i370/xm-linux.h: New file.
2521         * config/i370/xm-mvs.h: New file.
2522         * config/i370/xm-oe.h: New file.
2523
2524         * i370.c (label_node_t): Add first_ref_page, label_addr, 
2525         label_first_ref, label_last_ref members.
2526         (mvs_need_base_reload): Renamed from mvs_label_emitted.
2527         (MAX_MVS_LABEL_SIZE): Define.
2528         (MAX_LONG_LABEL_SIZE): Define.
2529         (alias_node_t, alias_anchor, alias_number): New.
2530         (mvs_function_table): Reorder for EBCDIC.
2531         (ascebc, ebcasc): Unconditionally define.
2532         (i370_branch_dest, i370_branch_length): New functions.
2533         (i370_short_branch, i370_label_scan): New functions.
2534         (mvs_get_label): Renamed from mvs_add_label.  Search for
2535         an existing label before creating a new one.
2536         (mvs_add_label): New function.
2537         (mvs_get_label_page): New function.
2538         (mvs_free_label_list): Renamed from mvs_free_label.  Iterate
2539         over the entire list.
2540         (mvs_check_page) [TARGET_HLASM]: Use BASR not BALR.
2541         (mvs_check_page) [TARGET_ELF_ABI]: New function.
2542         (mvs_add_alias, mvs_need_alias): New functions.
2543         (mvs_get_alias, mvs_check_alias): New functions.
2544         (handle_pragma): New function.
2545         (mvs_function_check): New function.
2546         (unsigned_jump_follows_p): Search harder.
2547         (i370_function_prolog) [TARGET_HLASM]: Handle LE370.  Scan labels.
2548         (i370_function_prolog) [TARGET_ELF_ABI]: New function.
2549         * i370.h (TARGET_VERSION): Delete.
2550         (CPP_SPEC, CPP_PREDEFINES): Delete.
2551         (mvs_label_emitted): Delete.
2552         (TARGET_EBCDIC): Delete.
2553         (MAP_CHARACTER): Define only if TARGET_EBCDIC.
2554         (HANDLE_PRAGMA): Define.
2555         (HARD_REGNO_NREGS): Handle complex modes.
2556         (HARD_REGNO_MODE_OK): Likewise.
2557         (CLASS_MAX_NREGS): Likewise.
2558         (RET_REG): Likewise.
2559         (EXTRA_CONSTRAINT): Define.
2560         (RETURN_IN_MEMORY): True for DImode.
2561         (TRAMPOLINE_TEMPLATE): Use gen_rtx instead of GEN_INT.
2562         (FUNCTION_PROFILER): Delete.
2563         (COUNT_REGS): Fail if REG_P but not REG_OK_FOR_BASE_P.
2564         (NOTICE_UPDATE_CC): Correct handling of MULT, DIV, logicals and shifts.
2565         (TARGET_ESC, TARGET_BELL): Conditionally define for TARGET_EBCDIC.
2566         (TARGET_BS, TARGET_TAB, TARGET_NEWLINE): Likewise.
2567         (TARGET_VT, TARGET_FF, TARGET_CR): Likewise.
2568         (ASM_FILE_START): Add "RMODE ANY".
2569         (ASM_OUTPUT_EXTERNAL): Check for aliases.
2570         (ASM_GLOBALIZE_LABEL): Likewise.
2571         (ASM_OUTPUT_LABELREF): Likewise.
2572         (ASM_OUTPUT_COMMON): Likewise.
2573         (PRINT_OPERAND): Handle 'K', 'W', default.
2574         (PRINT_OPERAND_ADDRESS): New.
2575         (Lots of defines): Add support for TARGET_ELF_ABI.
2576         * i370.md (attr length): New.  Define for all patterns.
2577         (*): Lots of tweeks to assembly output and constraints.
2578
2579 Mon Jul 19 15:09:29 1999  David Edelsohn  <edelsohn@gnu.org>
2580
2581         * rs6000.md (arithmetic, logical, and shift Rc combiner patterns):
2582         Disable patterns performing SImode comparisons with SImode values
2583         if TARGET_POWERPC64 and instruction does not sign-extend or does
2584         not mask to narrower than SImode, i.e. where bit 31 and bit 63 may
2585         differ for signed quantities.
2586         (indirect_jump): Add expander to choose RTL based on TARGET_64BIT.
2587         (tablejump): Patterns contingent on TARGET_64BIT not TARGET_POWERPC64.
2588         (decrement_and_branch_on_count): Add 64-bit variant.
2589
2590 Mon Jul 19 09:36:27 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
2591
2592         * final.c (output_asm_insn): When searching for the matching string
2593         for a given dialect, don't run past the end of the list of
2594         alternatives if there are fewer alternatives in the template than
2595         dialects.
2596
2597 1999-07-17  Alexandre Oliva  <oliva@dcc.unicamp.br>
2598         
2599         * gcc.texi: Update e-mail addresses and URLs to gcc.gnu.org.
2600         Removed paragraph about compression of files and size limitation,
2601         duplicated in the FAQ.  Use gcc-patches for posting patches.
2602         * gcc.c (main): Updated URL with bug reporting instructions to
2603         gcc.gnu.org.  Removed e-mail address.
2604         * system.h (abort): Likewise.
2605
2606 1999-07-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2607
2608         * Makefile.in (stmp-multilib-sub): Make the files extracted
2609         from $(LIBGCC1) writable.
2610
2611 Sat Jul 17 14:25:46 1999  Nick Clifton  <nickc@cygnus.com>
2612
2613         * config/arm/aout.h: Reformat for improved readability.
2614         
2615         * config/arm/arm.h: Reformat for improved readability.
2616         Replace uses of fprintf with asm_fprintf where appropriate.
2617         (ARM_DECLARE_FUNCTION_NAME): New macro:  Perform any generic ARM
2618         function declaration assembler actions.
2619         (NUM_INTS): New macro: Convert from bytes to words.
2620         (NUM_REGS): New macro: Compute number of registers required to
2621         hold a quanitity of tyep MODE.
2622         (NUM_REGS2): New macro: Like NUM_REGS but also copes with BLKmode
2623         types.
2624         (NUM_ARG_REGS): New macro: The number of argument registers
2625         available.
2626         (ARG_REGISTER): New macro: Compute the register number of the Nth
2627         argument register.
2628         (LAST_ARG_REGNUM): New macro: The number of the last argument
2629         register.
2630         (SP_REGNUM): New macro: Register number of the stack pointer.
2631         (FP_REGNUM): New macro: Register number of the frame pointer.
2632         (FUNCTION_ARG, FUNCTION_ARG_PARTIAL_NREGS, INIT_CUMULATIVE_AGS,
2633         FUNCTION_ARG_ADVANCE, SETUP_INCOMING_VARARGS): Change
2634         CUMULATIVE_ARGS so that it counts registers not bytes.
2635         
2636         * config/arm/arm.c: Rename TARGET_THUMB_INTERWORK to
2637         TARGET_INTERWORK.
2638         Replace uses of fprintf with asm_fprintf where appropriate.
2639         (output_ascii_pseudo_op): Replace with version from thumb.c
2640
2641         * config/arm/coff.h (ASM_FILE_START): Emit ASM_APP_OFF.
2642
2643         * config/arm/elf.h (CPP_PREDEFINES): Replace with
2644         SUBTARGET_CPP_SPEC.
2645         (ASM_DECLARE_FUNCTION_NAME): Use ARM_DECLARE_FUNCTION_NAME.
2646         (ASM_FILE_START): Emit ASM_APP_OFF.
2647         
2648 Fri Jul 16 13:48:09 1999  Jeffrey A Law  (law@cygnus.com)
2649
2650         * pa.c (compute_frame_size): Round frame according to 
2651         STACK_BOUNDARY rather than a hardwired value.
2652
2653         * pa.h (POINTER_SIZE, PARM_BOUNDARY): Define in terms of BITS_PER_WORD.
2654         
2655         * configure.in (hppa*-*-hpux11*): Use symbolic MASK_PA_11 instead
2656         of "1".
2657         * configure: Rebuilt.
2658
2659         * configure.in (hppa*-*-linux*): New configuration.
2660         * configure: Rebuilt.
2661         * pa.h (MAX_OFILE_ALIGNMENT): Delete.
2662         * pa/som.h (MAX_OFILE_ALIGNMENT): Define.
2663         * pa/pa-linux.h: New file.
2664         * pa/t-linux: New file.
2665         * pa/xm-linux.h: New file.
2666
2667         * pa.c (hppa_legitimize_address): Change references from SImode to
2668         either Pmode or word_mode as appropriate.
2669         (emit_move_sequence, store_reg, load_reg): Likewise.
2670         (set_reg_plus_d, hppa_expand_prologue): Likewise.
2671         (output_mul_insn): Likewise.
2672         * pa.h (PROMOTE_MODE): Likewise.
2673         (INITIALZE_TRAMPOLINE): Likewise.
2674         (Pmode): Define to word_mode.
2675
2676         * pa.c (compute_frame_size): Use UNITS_PER_WORD instead of hardwired
2677         value of 4.  Allocate 8 bytes for each FP register save.
2678         (hppa_expand_epilogue): Use UNITS_PER_WORD instead of harwarewired
2679         value of 4.
2680         (hppa_expand_prologue): Likewise.
2681         * pa.h (PROMOTE_MODE): Likewise.
2682         (HARD_REGNO_MODE_OK, FUNCTION_ARG_SIZE): Likewise.
2683         (FUNCTION_ARG_BOUNDARY): Likewise.
2684
2685         * invoke.texi (HPPA Options): Remove -mspace/-mno-space.
2686
2687         * pa.c (out_of_line_prologue_epilogue): Delete.
2688         (override_options): Remove -mspace related code.
2689         (hppa_expand_prologue, hppa_expand_epilogue): Likewise.
2690         (compute_frame_size): Only allocate space for register that
2691         actually need to be saved.
2692         * pa.h (MASK_SPACE, TARGET_SPACE): Delete.
2693         (TARGET_SWITCHES): Remove -mspace, -mno-space
2694         * pa/t-pa (LIB2FUNCS_EXTRA): Remove ee.asm and ee_fp.asm
2695         * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.  Remove -mspace multilib.
2696         * pa/ee.asm, pa/ee_fp.asm: Delete.
2697
2698         * pa/elf.h (ASM_OUTPUT_DOUBLE_INT): Define.
2699
2700         * config/svr4.h (CONST_SECTION_ASM_OP): Do not emit assembler
2701         directive in column zero.
2702
2703 Fri Jul 16 01:39:57 1999  Jeffrey A Law  (law@cygnus.com)
2704
2705         * m68k.c (output_function_prologue): Fix computation of save mask
2706         when generating PIC code.
2707
2708 Thu Jul 15 15:40:09 1999  Jim Wilson  <wilson@cygnus.com>
2709
2710         * tree.c (build_type_attribute_variant): Move current_obstack restore
2711         after build_qualified_type call.
2712
2713 1999-07-15  Mark Mitchell  <mark@codesourcery.com>
2714
2715         * configure.in: Use t-iris6, even with GNU LD.
2716         * config/mips/iris6gld.h: Fix typo in linker spec.
2717         * config/mips/t-iris6gld: Remove.
2718
2719 Thu Jul 15 15:15:43 1999  David Edelsohn  <edelsohn@gnu.org>
2720
2721         * rs6000.md (insv, extzv): Remove SImode dependence in named
2722         patterns.  Explicitly generate DImode RTL if PowerPC64 and
2723         operand is DImode.
2724         (insvdi): Reverse start and size in instruction template.
2725
2726 1999-07-12  Joseph S. Myers  <jsm28@cam.ac.uk>
2727
2728         * invoke.texi: Typo fixes.
2729
2730 Wed Jul 14 23:28:06 1999  Jeffrey A Law  (law@cygnus.com)
2731
2732         * emit-rtl.c (gen_realpart): Issue an error for cases GCC can not
2733         handle at this time instead of silently generating incorrect code.
2734         (gen_imagpart): Likewise.
2735
2736         * reload.c (find_reloads): Emit a USE for a pseudo register without
2737         a hard register if we could not create an optional reload for the
2738         pseudo.
2739
2740 Wed Jul 14 23:45:48 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
2741
2742         * c-typeck.c (output_init_element, process_init_element):
2743         When advancing constructor_unfilled_fields for a RECORD_TYPE,
2744         check for nameless bit fields.
2745
2746 Wed Jul 14 01:57:39 1999  Richard Henderson  <rth@cygnus.com>
2747
2748         * regclass.c (scan_one_insn): Notice subregs that change the
2749         size of their operand.
2750         (record_reg_classes): Use that to obey CLASS_CANNOT_CHANGE_SIZE.
2751
2752 Wed Jul 14 01:41:42 1999  Jeffrey A Law  (law@cygnus.com)
2753
2754         * configure.in (alpha*-*-*): Include alpha/t-ieee.
2755         * configure: Rebuilt.
2756         * alpha/t-ieee: New file.
2757
2758 Tue Jul 13 10:45:58 1999  Jeffrey A Law  (law@cygnus.com)
2759
2760         * rs6000.c (find_addr_reg): Do not select r0 as an address
2761         register.
2762
2763 Tue Jul 13 00:46:18 1999  Philippe De Muyter  <phdm@macqel.be>
2764
2765         * m68k/x-mot3300 (XCFLAGS): List of big files now includes `cse.o'.
2766
2767 Mon Jul 12 14:29:15 1999  Jeffrey A Law  (law@cygnus.com)
2768
2769         * rs6000.md (movsf): Do not force easy FP constants into memory.
2770
2771         * expr.c (expand_expr, case PLUS_EXPR): Pass constants through
2772         immed_double_const to ensure they are properly truncated then
2773         sign extended.
2774
2775 Mon Jul 12 10:40:01 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
2776
2777         * config/arm/thumb.c (thumb_reorg): Call replace_symbols_in_block
2778         always unless NO_DEBUG is used.  Compile this code
2779         unconditionally.
2780         (replace_symbols_in_block): Compile it unconditionally.
2781         
2782 Sun Jul 11 12:32:32 1999  Jeffrey A Law  (law@cygnus.com)
2783
2784         * configure.in (i?86-*-elf*): New target.
2785         * configure: Rebuilt.
2786         * i386/i386elf.h, i386/t-i386elf: New files.
2787
2788 Fri Jul  9 22:39:44 1999  Jason Merrill  <jason@yorick.cygnus.com>
2789
2790         * toplev.c (main): Don't complain about saying -gdwarf.
2791         (rest_of_compilation): Remove redundant code.
2792
2793 Fri Jul  9 19:08:55 1999  Jim Wilson  <wilson@cygnus.com>
2794
2795         * unroll.c (unroll_loops): Don't delete named CODE_LABELs.
2796
2797 Fri Jul  9 18:54:18 1999  Felix Lee  <flee@cygnus.com>
2798
2799         * config/i960/i960.c (ret_label): Change asm label from "LR:" to
2800         "Li960R:", to avoid name clash.
2801
2802 Fri Jul  9 10:48:28 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
2803
2804         * loop.c (check_dbra_loop): When reversing a loop, delete all
2805         REG_EQUAL notes referencing the reversed biv except those which are
2806         for a giv based on it.
2807
2808 Fri Jul  9 03:51:52 1999  Jeffrey A Law  (law@cygnus.com)
2809
2810         * version.c: Drop "gcc-" prefix from version #.
2811
2812 Thu Jul  8 18:06:30 1999  Jason Merrill  <jason@yorick.cygnus.com>
2813
2814         * dwarf2out.c (dwarf2out_line): Emit a line number comment after
2815         the label if we're being verbose.
2816
2817 Thu Jul  8 14:18:46 1999  Richard Henderson  <rth@cygnus.com>
2818
2819         * m68k.c (output_function_prologue): Add pic register to mask
2820         if live and flag_pic.
2821         (output_function_epilogue): Likewise.
2822
2823 Thu Jul  8 12:55:12 1999  Jeffrey A Law  (law@cygnus.com)
2824
2825         * dbxelf.h (ASM_OUTPUT_SOURCE_LINE): Do not put assembler
2826         directives in column zero.
2827
2828         * pa/elf.h (ASM_FILE_START): Define.
2829         * pa/som.h (ASM_FILE_START): Include .level directives.
2830         * pa/hpux10.h (ASM_FILE_START): Delete.
2831         * pa/hpux11.h (ASM_FILE_START): Delete.
2832
2833         * pa/elf.h (BSS_SECTION_ASM_OP): Use .section .bss.
2834
2835 Thu Jul  8 18:03:19 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
2836
2837         * reload1.c (choose_reload_regs): Never call remove_adress_replacements
2838         when reload_out equals reload_in.
2839
2840 Thu Jul  8 16:50:14 1999  Nick Clifton  <nickc@cygnus.com>
2841
2842         * invoke.texi (Spec Files): New node: Describe the contents of
2843         spec files.
2844
2845 Thu Jul  8 10:28:25 1999  Craig Burley  <craig@jcb-sc.com>
2846
2847         * invoke.texi (DEC Alpha Options): Put @end table at
2848         beginning of line, to avoid confusing texi2html.
2849
2850 Thu Jul  8 09:22:06 1999  Nick Clifton  <nickc@cygnus.com>
2851
2852         * config/arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Fixed typo
2853         introduced in previous delta.
2854
2855 Wed Jul  7 02:00:04 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2856
2857         * reload1.c (gen_reload): When synthesizing a 3 operand add
2858         sequence, improve test for when to reload OP1 into the reload
2859         register instead of OP0.
2860
2861 Wed Jul  7 01:38:03 1999  Jim Wilson  <wilson@cygnus.com>
2862
2863         * unroll.c (unroll_loop): Don't delete NOTE_INSN_DELETED_LABEL notes.
2864
2865 1999-07-07  Manfred Hollstein  <mhollstein@cygnus.com>
2866
2867         * m88k/dguxbcs.h (CPP_SPEC): Add missing \ in multi-line
2868         string literal.
2869
2870 Wed Jul  7 01:16:43 1999  Richard Henderson  <rth@cygnus.com>
2871
2872         * ginclude/varargs.h (__builtin_va_alist_t): New typedef.
2873         (va_dcl): Use __builtin_va_alist_t.
2874
2875 Wed Jul  7 01:14:42 1999  Jason Merrill  <jason@yorick.cygnus.com>
2876
2877         * dwarf2out.c (gen_struct_or_union_type_die): Only remember types
2878         on the permanent_obstack.
2879         * dwarfout.c (output_type): Likewise.
2880
2881 Tue Jul  6 15:25:32 1999  Gavin Romig-Koch  <gavin@cygnus.com>
2882
2883         * c-common.c (unsigned_type,signed_type,signed_or_unsigned_type) :
2884         Merged from c-typeck.c and cp/typeck.c.
2885         * c-typeck.c (unsigned_type,signed_type,signed_or_unsigned_type) :
2886         Merged into c-common.
2887
2888 Tue Jul  6 13:06:01 1999  Dave Brolley  <brolley@cygnus.com>
2889
2890         * c-lex.c (errorcount): Declare it.
2891         (finish_parse): Update errorcount when using CPPLIB.
2892
2893 1999-07-06  Bruce Korb  <ddsinc09@ix.netcom.com>
2894
2895         * fixinc/inclhack.def(end_else_label): Double the backslash so
2896         sed gets a chance to see it.
2897         * fixinc/inclhack.sh: regen
2898         * fixinc/fixincl.x: regen
2899
2900 Fri Jul  2 18:49:51 1999  Nick Clifton  <nickc@cygnus.com>
2901
2902         Add framework to support armv5 architecture when it becomes
2903         available: 
2904         
2905         * config/arm/arm.c (FL_ARCH5): New processor capability flag.
2906         (arm_arch5): New variable.
2907         (all_architectures): Add armv5 line.
2908         * config/arm/arm.h (CPP_CPU_ARCH_SPEC): Define __ARM_ARCH_5__ if
2909         -march=armv5 is specified on the command line.
2910         (arm_arch5): Export this variable.
2911         * invoke.texi: Document new string accepted by -march= switch for
2912         ARM ports.
2913
2914         * config/arm/arm.h: Replace use of constant 12 as a register
2915         number with IP_REGNUM.  Similarly 14 and LR_REGNUM.
2916         * config/arm/arm.c: Replace use of constant 12 as a register
2917         number with IP_REGNUM.  Similarly 14 and LR_REGNUM.
2918
2919         * config/arm/elf.h: Tidy up.
2920         * config/arm/coff.h: Tidy up.
2921         
2922 Thu Jul  1 19:08:13 1999  Mark P. Mitchell  <mark@codesourcery.com>
2923
2924         * gcc/configure.in (mips-sgi-irix6*): Handle --with-gnu-ld.
2925         * gcc/config/mips/t-iris6gld: New file.
2926         * gcc/config/mips/iris6gld.h: Likewise.
2927
2928 Fri Jul  2 13:23:39 1999  Gavin Romig-Koch  <gavin@cygnus.com>
2929
2930         * c-decl.c (widest_integer_literal_type_node,
2931         widest_unsigned_literal_type) : New.
2932         (init_decl_processing): Handle/use the two new types.
2933         * c-common.c (type_for_size,type_for_mode) : Same.
2934         * c-lex.c (yylex) : Same.
2935         * c-typeck.c (unsigned_type,signed_type,signed_or_unsigned_type) :
2936         Same.
2937         * c-tree.h (widest_integer_literal_type_node,
2938         widest_unsigned_literal_type) : New.
2939
2940 Fri Jul  2 03:05:44 1999  Jeffrey A Law  (law@cygnus.com)
2941
2942         * dwarfout.c (field_byte_offset): Correctly compute the object's
2943         byte offset for the first bit of a field which crosses an alignment
2944         boundary on a !BYTES_BIG_ENDIAN target.
2945
2946 Fri Jul  2 01:36:36 1999  Robert Lipe  <robertlipe@usa.net>
2947
2948         * fixinc.svr4: Fix <arpa/inet.h> by deleting protos for htons and
2949         ntohs.
2950
2951 Fri Jul  2 00:46:47 1999  Richard Henderson  <rth@cygnus.com>
2952                           Jeff Law <law@cygnus.com>
2953
2954         * ginclude/varargs.h (va_dcl): Use word_mode for type of
2955         __builtin_va_list.
2956
2957         * except.c: Include intl.h.
2958         (expand_eh_return): Set current_function_cannot_inline.
2959         (save_eh_status, restore_eh_status): Twiddle eh_return_stub_label.
2960         * function.h (struct function): Add eh_return_stub_label.
2961         * flow.c (delete_unreachable_blocks): Don't merge across EH edges.
2962         * Makefile.in (except.o): Depend on intl.h.
2963
2964 Fri Jul  2 00:04:23 1999  David Edelsohn  <edelsohn@gnu.org>
2965
2966         * rs6000.md (movdf_hardfloat32): Handle PRE_INC and PRE_DEC the
2967         same as offsettable in cases 1 and 2.
2968
2969 Thu Jul  1 20:54:10 1999  Richard Henderson  <rth@cygnus.com>
2970
2971         * alpha.md (extqh): Define as 64-((R&7)*8) instead of 56-(((R-1)&7)*8).
2972         (extlh, extwh): Likewise.
2973
2974 Thu Jul  1 11:05:25 1999  Gavin Romig-Koch  <gavin@cygnus.com>
2975
2976         * c-lex.c (yylex): Improve 'integer constant out of range' messages.
2977
2978 Wed Jun 30 16:51:41 1999  Nick Clifton  <nickc@cygnus.com>
2979
2980         * configure.in: Add arm-pe and thumb-pe targets.
2981         * configure: Regenerate.
2982
2983         * thumb.c (arm_naked_function_p): New function: Determines if
2984         a function is naked (has no gcc generated prologue/epilogue).
2985         (is_called_in_ARM_mode): Return true if the func has the
2986         interfacearm attribute.
2987         (output_return): Do not generate a return for naked functions.
2988         (thumb_function_prologue): Do not generate a prologue for
2989         naked functions.
2990         (thumb_expand_prologue): Do not generate a prologue for naked
2991         functions. 
2992         (thumb_expand_epilogue): Do not generate an epilogue for naked
2993         functions.
2994         (arm_valid_machine_decl_attribute): New function, copied from
2995         arm.c:  Permit naked and interfacearm attributes.
2996         
2997         * config/arm/pe.c: New file: Support code for arm-pe target.
2998         * config/arm/pe.h: New file: Header file for arm-pe target.
2999         * config/arm/tpe.h: New file: Header file for thumb-pe target.
3000         * config/arm/t-thumb-pe: New file: Makefile fragment for
3001         thumb-pe target.
3002         
3003 1999-07-01  Mark Kettenis  <kettenis@gnu.org>
3004
3005         * config/i386/gnu.h (CPP_SPEC): Define __PIC__ and __pic__ if
3006         -fPIC or -fpic is specified.
3007
3008 Wed Jun 30 03:31:54 1999  Jeffrey A Law  (law@cygnus.com)
3009
3010         * expr.c (emit_block_move): Use copy_to_mode_reg for
3011         !TARGET_MEM_FUNCTIONS case too.
3012
3013         * configure.in (hppa*-*-*): Add som.h or elf.h to tm_file as
3014         appropriate.
3015         * configure: Rebuilt.
3016         (hppa1.1-*-pro*, hppa1.1-*-rtems*): Define target_cpu_default.
3017         * pa.h: Include dbxelf.h.  Delete various dbx/stabs related
3018         definitions made redundant by dbxelf.h inclusion.  Delete
3019         lots of definitions related to assembly output that are
3020         specific to the SOM object format.
3021         * pa.c (output_function_prologue): Do not emit the function's
3022         name for OBJ_ELF.
3023         * pa-pro-end.h (STARTFILE_SPEC): Undefine before redefining.
3024         * pa-pro.h: Deleted.
3025         * som.h: New file with SOM specific definitions.
3026         * elf.h: New file with ELF specific definitions.
3027
3028         * elfos.h (const_section): Output a tab before assembler directives.
3029         (ctors_section, dtors_section): Likewise.
3030         (ASM_OUTPUT_SECTION_NAME): Likewise.
3031
3032         * pa/pa1.h: Delete unused file.
3033
3034 Tue Jun 29 01:37:53 1999  Jeffrey A Law  (law@cygnus.com)
3035
3036         * configure.in (hppa*-hp-hpux11*): New configuration.
3037         * configure: Rebuilt.
3038         * pa/pa-hpux11.h: New file.
3039         * pa.h (CPP_SPEC): Conditionally add -D__STDC_EXT__ to the cpp
3040         command line.
3041
3042         * mips.md (leasi, leadi): New patterns.
3043
3044         * expr.c (emit_block_move): Properly handle case where one of the
3045         block move arguments has a queued increment or decrement.
3046         (clear_storage): Similarly.  Fix formatting goof.
3047
3048 1999-06-28  "David O'Brien"  <obrien@NUXI.com>
3049
3050         * fixinc/inclhack.def(stdio_va_list): This patch Removes a
3051         semicolon from the BSD VA_LIST replacement expression.
3052
3053         * fixinc/inclhack.sh: regen
3054         * fixinc/fixincl.x: regen
3055
3056         * fixinc/mkfixinc.sh: Have `i[34567]86-*-freebsd*' machines
3057         now use the fixincl program.
3058
3059 Mon Jun 28 05:28:12 1999  Jeffrey A Law  (law@cygnus.com)
3060
3061         * m68k.h (CONDITIONAL_REGISTER_USAGE): Define for !SUN_FPA
3062         case.  Also make the PIC register call_used.
3063
3064         * m68k.h (FINALIZE_PIC): Delete.
3065         * m68k.c (finalize_pic): Delete.
3066         
3067 Mon Jun 28 05:16:35 1999  Richard Henderson  <rth@cygnus.com>
3068
3069         * m68k.h (PREFERRED_RELOAD_CLASS): Don't force any FP const_doubles
3070         to memory.
3071
3072 Mon Jun 28 04:07:27 1999  David Edelsohn  <edelsohn@gnu.org>
3073
3074         * expmed.c (expand_divmod): Ensure unsigned value fits in reg_note.
3075
3076 Sun Jun 27 02:39:08 1999  Richard Henderson  <rth@cygnus.com>
3077
3078         * jump.c (jump_optimize_1): Validate the cmov copy to a temporary.
3079
3080 Sat Jun 26 17:18:18 1999  David Edelsohn  <edelsohn@gnu.org>
3081
3082         * rs6000.c (print_operand, case 'L'): Use plus_constant_for_output.
3083
3084 Fri Jun 25 11:33:24 1999  Richard Henderson  <rth@cygnus.com>
3085
3086         * alpha.c (override_options): Add -mcpu=ev45 as an alias for ev4.
3087
3088 Fri Jun 25 13:41:25 1999  David Edelsohn  <edelsohn@gnu.org>
3089
3090         * rs6000.c (output_toc): Always use hex values for floating-point
3091         constants.  Store single-precision values in upper-half of TOC
3092         entry in 64-bit mode.
3093         * rs6000.md (floatsidf2, floatunssidf2): Add !TARGET_POWERPC64
3094         to final constraints.
3095         (fix_truncdfsi2 splitter): Change pattern matching fctiwz.
3096         (fctiwz): Improve accuracy of RTL for pattern.
3097
3098 Fri Jun 25 11:26:38 1999  Gavin Romig-Koch  <gavin@cygnus.com>
3099
3100         * expr.c (expand_expr): Allow RTL_EXPR's through the 
3101         MAX_INTEGER_COMPUTATION_MODE checks.
3102
3103 Fri Jun 25 06:06:37 1999  Richard Henderson  <rth@cygnus.com>
3104
3105         * alpha.h (MASK_SUPPORT_ARCH, MASK_CPU_EV5, MASK_CPU_EV6): Define
3106         such that MASK_SUPPORT_ARCH is not negative.
3107
3108 Fri Jun 25 05:35:44 1999  Jeffrey A Law  (law@cygnus.com)
3109
3110         * loop.c (verify_dominator): Properly handle ADDR_VEC and
3111         ADDR_DIFF_VEC insns that appear inside loops.
3112
3113 Thu Jun 24 22:54:05 1999  David Edelsohn  <edelsohn@gnu.org>
3114                           Jeff Law <law@cygnus.com>
3115
3116         * rs6000.md (movdf_hardfloat32): Revert previous patch.
3117         Handle LO_SUM the same as offsettable in cases 1 and 2.
3118         * rs6000.c (find_addr_reg): Revert previous patch.
3119
3120 Thu Jun 24 22:43:12 1999  Philippe De Muyter  <phdm@macqel.be>
3121
3122         * system.h (strstr): New external function declaration.
3123         * acconfig.h (NEED_DECLARATION_STRSTR): New define slot.
3124         * configure.in (GCC_NEED_DECLARATIONS): Check for strstr.
3125         * config.in, configure: Rebuilt.
3126
3127 1999-06-24  Tom Tromey  <tromey@cygnus.com>
3128
3129         * gcc.c (main): Read user-specified specs files after computing
3130         additional startfile_prefixes.
3131
3132 Thu Jun 24 15:00:47 1999  Mark Mitchell  <mark@codesourcery.com>
3133
3134         Revert these two patches:
3135
3136         Thu Jun 17 21:34:24 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
3137         * loop.c (strength_reduce): When doing biv->giv conversion, update
3138         reg note of NEXT->insn.
3139
3140         Thu Jun 17 17:22:07 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
3141         * loop.c (strength_reduce): When doing biv->giv conversion, fix up
3142         reg_biv_class.
3143         (recombine_givs): Set ix field after sorting.
3144
3145 Wed Jun 23 21:26:00 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
3146
3147         * rtlanal.c (reg_referenced_p): Use reg_overlap_mentioned_p
3148         for the parts of an UNSPEC / UNSPEC_VOLATILE.
3149
3150 1999-06-23  Bruce Korb  <ddsinc09@ix.netcom.com>
3151
3152         *fixinc/inclhack.def:  Add fix development commentary
3153         (read_ret_type): reactivate and add selection clause
3154         (zzz_*): tweak output file name to match what is used in hackshell.tpl
3155         *fixinc/{fixincl.x|inclhack.sh}: regen
3156
3157 Wed Jun 23 00:48:21 1999  Jason Merrill  <jason@yorick.cygnus.com>
3158
3159         * expr.c (expand_expr): STRIP_NOPS before checking against
3160         MAX_INTEGER_COMPUTATION_MODE
3161         (check_max_integer_computation_mode): Likewise.
3162
3163 Tue Jun 22 20:23:43 1999  Jim Wilson  <wilson@cygnus.com>
3164
3165         * md.texi (smul@var{m}3_highpart): Add missing 's' prefix.
3166
3167 1999-06-22  Jim Wilson  <wilson@cygnus.com>
3168
3169         * expr.c (store_expr): When target is a promoted subreg, return a
3170         promoted subreg as a result.
3171
3172 Tue Jun 22 17:14:58 1999  Michael Meissner  <meissner@cygnus.com>
3173
3174         * dwarf2out.c (dwarf2out_frame_debug_expr): Reformat to match GNU
3175         coding standards.
3176         (dwarf2out_define): Mark unused parameters appropriately.
3177         (gen_unspecified_parameters_die): Ditto.
3178         (gen_subprogram_die): Fix signed/unsigned warnings.
3179         (gen_variable_die): Ditto.
3180         
3181 1999-06-22  Bruce Korb <ddsinc09@ix.netcom.com>
3182
3183         * fixinc/inclhack.def(end_else_label): combined else_label
3184         and endif_label and fixed the sed expression.
3185         *fixinc/{fixincl.x|inclhack.sh}: regen
3186
3187 Tue Jun 22 01:58:18 1999  Jeffrey A Law  (law@cygnus.com)
3188
3189         * rs6000.md (movdf_hardfloat32): Use %X instead of always emitting
3190         'x' when handling non-offsettable addresses
3191
3192 Tue Jun 22 00:20:05 1999  Richard Earnshaw (rearnsha@arm.com)
3193
3194         * final.c (shorten_branches): Don't try to split an insn that has
3195         been deleted.
3196
3197 Mon Jun 21 12:47:39 1999  Mark Mitchell  <mark@codesourcery.com>
3198
3199         * config/mips/mips.c (symbolic_expression_p): New function.
3200         (mips_select_rtx_section): Put symbolic expressions in the
3201         data section, not the read-only data section.
3202
3203 Mon Jun 21 22:13:06 1999  Jeffrey A Law  (law@cygnus.com)
3204
3205         * rs6000.md (find_addr_reg): Handle LO_SUM addresses.
3206
3207 Mon Jun 21 20:10:42 1999  Richard Henderson  <rth@cygnus.com>
3208
3209         * collect2.c (main): Log frame table count.
3210         (GCC_OK_SYMBOL) [ECOFF]: Accept stGlobal.
3211         (scan_prog_file) [COFF]: Handle frame tables.
3212
3213         * alpha/alpha.h (UNALIGNED_SHORT_ASM_OP): Define.
3214         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Define.
3215         * alpha/elf.h: Undef them again.
3216         * alpha/vms.h: Remove their definitions.
3217
3218 Tue Jun 22 03:17:53 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
3219
3220         * sh.c (machine_dependent_reorg): When fixing up fp pcloads,
3221         remove the clobber of r0 and change the REG_UNUSED note to
3222         REG_INC.
3223
3224 1999-06-21  Jakub Jelinek  <jj@ultra.linux.cz>
3225
3226         * real.c (ereal_from_double): Fix for 64-bit big endian hosts.
3227         * emit-rtl.c (gen_lowpart_common): Add case for hosts where double
3228         fits in HOST_WIDE_INT and one uses union to access a long constant
3229         as double.
3230
3231 Mon Jun 21 17:18:25 1999  Richard Henderson  <rth@cygnus.com>
3232
3233         * sparc.c (sparc_override_options): Don't allow profiling for
3234         code models other than medlow.
3235         (sparc_function_profiler): New function from old FUNCTION_PROFILER
3236         macro.  Use ASM_GENERATE_INTERNAL_LABEL and MCOUNT_FUNCTION.
3237         (sparc_function_block_profiler): Likewise.  Use user_label_prefix.
3238         (sparc_block_profiler): Likewise.
3239         (sparc_function_block_profiler_exit): Likewise.
3240         * sparc.h (FUNCTION_PROFILER): Call new sparc.c function.
3241         (FUNCTION_BLOCK_PROFILER): Likewise.
3242         (BLOCK_PROFILER): Likewise.
3243         (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
3244         (MCOUNT_FUNCTION): New.
3245         * sparc/pbd.h (FUNCTION_PROFILER): Delete.
3246         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Delete.
3247         * sparc/sun4o3.h (FUNCTION_PROFILER): Delete.
3248         (MCOUNT_FUNCTION): New.
3249         * sparc/sysv4.h (FUNCTION_BLOCK_PROFILER): Delete.
3250         (BLOCK_PROFILER): Delete.
3251         (MCOUNT_FUNCTION): New.
3252
3253 Mon Jun 21 14:11:29 1999  David Edelsohn  <edelsohn@gnu.org>
3254
3255         * rs6000.md (movdf_hardfloat32): Fix typo in case 2.
3256
3257 Mon Jun 21 12:27:17 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
3258
3259         * config/mips/elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
3260         Add the macros.
3261
3262         * config/m68k/m68kelf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
3263         Ditto.
3264
3265         * config/sh/sh.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
3266         Ditto.
3267
3268         * config/arm/telf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
3269         Ditto.
3270
3271 Mon Jun 21 14:58:42 1999  Nick Clifton  <nickc@cygnus.com>
3272
3273         * config/arm/arm.h: Add cpp support for ARM920 and ARM920T cpu
3274         types. 
3275
3276 Mon Jun 21 06:22:21 1999  Mark Elbrecht <snowball3@bigfoot.com>
3277
3278         * i386/djgpp.h (LIB_SPEC): New.
3279         (STARTFILE_SPEC): New.
3280
3281         * i386/xm-djgpp.h (NO_SYS_SIGLIST): Deleted. Now obsolete.
3282
3283 Mon Jun 21 06:19:33 1999  Philippe De Muyter  <phdm@macqel.be>
3284
3285         * fixinc/Makefile.in (gnu-regex.o): Do not define STDC_HEADERS in
3286         compiler flags.
3287
3288         * system.h (WSTOPSIG): New macro.
3289
3290 Mon Jun 21 05:33:15 1999  Mumit Khan  <khan@xraylith.wisc.edu>
3291
3292         * c-pragma.c (push_alignment): Don't ignore alignments greater than
3293         4 bytes.
3294         (insert_pack_attributes): Take into account member natural 
3295         alignment.
3296
3297         * i386/winnt.c (exports_head): New static variable.
3298         (i386_pe_record_exported_symbol): New function.
3299         (i386_pe_asm_file_end): Use.
3300         * i386/cygwin.h (ASM_OUTPUT_COMMON): Record the exported
3301         symbols to be emitted at end of assembly.
3302         (ASM_DECLARE_OBJECT_NAME): Likewise.
3303         (ASM_DECLARE_FUNCTION_NAME): Likewise.
3304
3305         * i386/uwin.h (CPP_SPEC): Use -idirafter instead -iprefix and
3306         -iwithprefix.
3307
3308 Mon Jun 21 04:44:31 1999  Jeffrey A Law  (law@cygnus.com)
3309
3310         * sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Fix paren error introduced
3311         in last change.
3312
3313 Sun Jun 20 17:27:20 1999  Richard Henderson  <rth@cygnus.com>
3314
3315         * haifa-sched.c (sched_analyze_1): Use free_list instead of 
3316         zapping reg_last_uses directly.
3317         (sched_analyze_2, sched_analyze_insn): Likewise.
3318         (sched_analyze): Likewise.  Don't clear reg_last_uses on calls.
3319
3320 Sun Jun 20 16:57:29 1999  David Edelsohn  <edelsohn@gnu.org>
3321
3322         * rs6000.md (movdf_hardfloat32): Use worst case insn length
3323         attributes for cases 1 and 2.
3324
3325 Sat Jun 19 22:52:55 1999  Richard Henderson  <rth@cygnus.com>
3326
3327         * haifa-sched.c (sched_analyze): Mark call-user regs as clobbered
3328         instead of set.
3329
3330 Sat Jun 19 05:40:07 1999  Philip Blundell <pb@nexus.co.uk>
3331
3332         * arm.c (arm_reload_in_hi): Invert sense of test on BYTES_BIG_ENDIAN.
3333
3334 Sat Jun 19 05:25:05 1999  Richard Earnshaw (rearnsha@arm.com)
3335
3336         * arm.h (CONDITIONAL_REGISTER_USAGE): If flag_pic, never use
3337         PIC_OFFSET_TABLE_REGNUM for general alloaction.
3338         (INITIAL_ELIMINATION_OFFSET): Count the fact that the PIC register
3339         must be stacked if it is used for PIC accesses.
3340         * arm.c (use_return_insn): Handle PIC register specially.
3341         (output_return_instruction): Likewise.
3342         (output_func_{prologue,epilogue}): Likewise.
3343         (output_expand_prologue): Likewise.
3344
3345         * arm.md (*adddf_esfdf_df): Renamed from *adddf_df_esfdf.
3346         (*strsi_predec): Renamed from *strqi_predec.
3347         (*loadsi_shiftpreinc): Renamed from *loadqi_shiftpreinc.
3348         (*loadsi_shiftpredec): Renamed from *loadqi_shiftpredec.
3349
3350         * arm.c (arm_override_options): Remove warning about PIC code
3351         not being supported.
3352
3353 Fri Jun 18 23:47:06 1999  David Edelsohn  <edelsohn@gnu.org>
3354
3355         * rs6000.c (find_addr_reg): New function.
3356         * rs6000.h (find_addr_reg): Declare.
3357         (offsettable_addr_operand): Delete.
3358         * rs6000.md (movdf_hardfloat32): Handle non-offsettable loads
3359         from and stores to GPRs.
3360
3361 Fri Jun 18 15:44:18 1999  Richard Henderson  <rth@cygnus.com>
3362
3363         * alpha.c (alpha_expand_block_move): Use get_insns rather than
3364         gen_sequence as argument to emit_no_conflict_block.
3365
3366 Fri Jun 18 07:02 1999  Bruce Korb <ddsinc09@ix.netcom.com>
3367
3368         * fixinc/mkfixinc.sh: enable the fixincl program for DG/UX
3369         * fixinc/inclhack.def(dgux_int_varargs): script must end with \n
3370         *fixinc/fixincl.x: regen
3371         *fixinc/inclhack.sh: regen
3372
3373 Thu Jun 17 15:06:10 PDT 1999 Don Lindsay  <dlindsay@cygnus.com>
3374
3375         * added support for -mpcrel (PC relative addressing for m68k) 
3376         based on code done by Michael Tiemann  <tiemann@axon.cygnus.com>.
3377         * invoke.texi (m68000 options): Add documentation for -mpcrel flag.
3378         * m68k.c (print_operand_address): Handle 32-bit PIC case.
3379         (comments for general_src_operand): Add some explanation
3380         about EXTRA_CONSTRAINTS.
3381         (OVERRIDE_OPTIONS): Enable -fPIC in combination with -mpcrel.
3382         * m68kelf.h (OVERRIDE_OPTIONS): Ditto.
3383         (LEGITIMATE_PIC_OPERAND_P): Fix typo.
3384         (LEGITIMATE_PIC_OPERAND_P): Re-derive from m68k.h case.
3385         * m68k.h (LEGITIMATE_PIC_OPERAND_P): Fix delete-o.
3386         (INDIRECTABLE_1_ADDRESS): Delete spurious '/' at end of macro.
3387         (OVERRIDE_OPTIONS): Change behavior so that -mpcrel implies -fpic
3388         if not already set.
3389         (OVERRIDE_OPTIONS): Merge in changes from m68k.h.
3390         * m68k.h (TARGET_PCREL): New target flag.
3391         (TARGET_SWITCHES): Add "pcrel" as a recognized switch.
3392         (OVERRIDE_OPTIONS): Add checks for -mpcrel.
3393         (LEGITIMATE_PIC_OPERAND_P): Don't normally accept anything that
3394         contains a SYMBOL_REF.  Relax this constraint during reload, since
3395         we want to use the predicates, not reload's built-in concept of a
3396         valid memory address, to control what insns need reloading.
3397         (EXTRA_CONSTRAINT): Define constraints to accept pc-relative
3398         operands (essentially 'g', 'm', and 's' under normal circumstances).
3399         * m68k.c (print_operand): Cause printing of pc-relative addresses
3400         to include pc register.
3401         (print_operand_address): Ditto.
3402         (general_src_operand): Accept operands that are not only
3403         general_operands, but are also valid when used as a pc-relative
3404         source.
3405         (nonimmediate_src_operand): Similar, for nonimmediate_operands.
3406         (memory_src_operand): Similar, for memory_operands.
3407         (pcrel_address): New predicate to accept the special case of a
3408         pc-relative address.
3409         * m68k.md (many patterns): Rewrite common SImode, HImode, and
3410         QImode insns to accept *_src_operand instead of *_operand where
3411         pc-relative operands can fit.  For example, a pc-relative operand
3412         can be used as a memory source operand for addsi3, but not as a
3413         memory destination.
3414         * hp320.h linux.h m68kv4.h (LEGITIMATE_PIC_OPERAND_P) as in m68k.h.
3415
3416 Fri Jun 18 09:11:07 1999  Nick Clifton  <nickc@cygnus.com>
3417
3418         * config/arm/telf.h (ASM_OUTPUT_DEF_FROM_DECLS): New Marco: USe
3419         .thumb_set pseudo op to mark aliases of thumb functions.
3420
3421 Wed Jun 16 18:19:13 1999  Nick Clifton  <nickc@cygnus.com>
3422
3423         * varasm.c (assemble_alias): Use ASM_OUTPUT_DEF_FROM_DECLS in
3424         preference to ASM_OUTPUT_DEF, if it is defined.
3425
3426         * tm.texi: Document new, optional target macro
3427         ASM_OUTPUT_DEF_FROM_DECLS.
3428
3429 Thu Jun 17 15:07 1999  Bruce Korb <ddsinc09@ix.netcom.com>
3430
3431         * fixincludes: ISCNTL patch
3432         * fixinc/inclhack.def (ioctl_fix_ctrl): Fix the definition of [_]*ISCTRL().
3433         (dgux_int_varargs): new for DG/UX
3434         * fixinc/{fixincl.x,inclhack.sh}: Regenerated.
3435
3436 Thu Jun 17 21:34:24 1999  Jeff Law <law@cygnus.com>
3437
3438         * invoke.texi (ia32 options): Fix typo.
3439
3440 Thu Jun 17 21:34:24 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
3441
3442         * loop.c (strength_reduce): When doing biv->giv conversion, update
3443         reg note of NEXT->insn.
3444
3445 Thu Jun 17 14:25:08 1999  Jeffrey A Law  (law@cygnus.com)
3446
3447         * loop.c (move_movables): Note issues with replacing REGs with
3448         SUBREGs.
3449         * mips.h (GO_IF_LEGITIMATE_ADDRESS): Handle SUBREGs properly.
3450
3451 Thu Jun 17 13:28:30 1999  David O'Brien <obrien@FreeBSD.org>
3452
3453         * i386/freebsd-elf.h (LINK_SPEC): Fix typo.
3454
3455         * i386/freebsd-elf.h (FUNCTION_PROFILER): labels are not needed and
3456         the reference to `mcount' was not correct for the ELF on FreeBSD.
3457
3458 Thu Jun 17 17:22:07 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
3459
3460         * loop.c (strength_reduce): When doing biv->giv conversion, fix up
3461         reg_biv_class.
3462
3463         (recombine_givs): Set ix field after sorting.
3464
3465 Thu Jun 17 02:54:30 1999  Jeffrey A Law  (law@cygnus.com)
3466
3467         * emit-rtl.c (operand_subword): Tighten checks for when it is safe
3468         to safe to extract a subword out of a REG.
3469
3470 Thu Jun 17 01:45:24 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
3471
3472         * sh.md (mulsi3): Don't add a no-op move at the end.
3473
3474 Wed Jun 16 20:29:00 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
3475
3476         * cse.c (cse_insn): Don't put hard register source into tables for
3477         the last insn of a libcall.
3478
3479 Wed Jun 16 19:44:33 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
3480
3481         * loop.c (strength_reduce): Insert sets of derived givs at every
3482         biv increment, even if it's the only one.
3483
3484 Wed Jun 16 10:33:02 1999  Jason Merrill  <jason@yorick.cygnus.com>
3485
3486         * dwarfout.c (add_incomplete_type): New fn.
3487         (output_type): Call it.
3488         (retry_incomplete_types): New fn.
3489         (dwarfout_finish): Call it.
3490
3491         From Eric Raskin <ehr@listworks.com>:
3492         (output_type): Output types for bases.
3493
3494 Tue Jun 15 12:51:23 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
3495
3496         * mips.c (mips_output_conditional_branch): Add `break' 
3497         between `default' label and `close braces'.
3498
3499 Tue Jun 15 01:55:20 1999  David O'Brien <obrien@FreeBSD.org>
3500
3501         * i386/freebsd-elf.h (LINK_SPEC): clean up the linking library 
3502         specifications and make it realistic.  
3503         (LIB_SPEC): Likewise.
3504
3505 Mon Jun 14 15:38:43 1999  Jim Wilson  <wilson@cygnus.com>
3506
3507         * config/mips/mips.c (mips_secondary_reload_class): Check for
3508         (PLUS (SP) (REG)) and return appropriate register class.
3509         * config/mips/mips.md (reload_insi): Delete predicate for operand 1.
3510         Handle (PLUS (SP) (REG)).
3511         (tablejump): In mips16 code, use emit_insn instead of emit_jump_insn.
3512         (tablejump_mips161, tablejump_mips162): Use emit_jump_insn instead
3513         of emit_insn for tablejump.
3514         
3515 Mon Jun 14 17:26:40 1999  David Edelsohn  <edelsohn@gnu.org>
3516
3517         * rs6000.c (output_prolog): RS6000_CALL_GLUE must be
3518         asm_fprintf format string by itself.
3519         (output_function_profiler): Likewise.
3520
3521 Mon Jun 14 12:57:38 1999  David Mosberger  <davidm@hpl.hp.com>
3522
3523         * combine.c (simplify_logical, case AND): Only call
3524         simplify_and_const_int if the mode is no wider than HOST_WIDE_INT
3525         or the constant is positive.
3526
3527 Mon Jun 14 11:43:41 1999  Nick Clifton  <nickc@cygnus.com>
3528
3529         * configure.in: Fix typo in rs6000-ibm-aix4 case.
3530         * configure: Regenerate.
3531
3532 Mon Jun 14 03:55:40 1999  Jeffrey A Law  (law@cygnus.com)
3533
3534         * configure.in (rs6000-ibm-aix4.3*, powerpc-ibm-aix4.3*): Do not
3535         require a sub-version #.
3536         * configure: Rebuilt.
3537
3538 1999-06-14  Robert Lipe  (robertlipe@usa.net)
3539
3540         * svr4.h (DWARF2_DEBUGGING_INFO): Check for redefinition.
3541
3542 Mon Jun 14 10:30:52 BST 1999  Nathan Sidwell  <nathan@acm.org>
3543
3544         * c-typeck.c (process_init_element): Detect excess elements in
3545         char array initializer.
3546
3547 1999-06-14  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
3548
3549         * gcc.texi: Mention gcc 2.96 instead of egcs 1.00.
3550
3551 Sat Jun 12 22:29:48 EDT 1999  Jerry Quinn <jquinn@nortelnetworks.com>
3552
3553         * invoke.texi (Option Summary): Add -fpermissive flag.
3554
3555 Sat Jun 12 03:40:42 1999  Jeffrey A Law  (law@cygnus.com)
3556
3557         * sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing with operands
3558         that require PIC code sequences.
3559
3560 Wed Jun  9 16:29:01 1999  Nick Clifton  <nickc@cygnus.com>
3561
3562         * configure.in: Add new target: thumb-elf.
3563         * configure: Regenerate.
3564         * config/arm/t-thumb-elf: New file: Makefile fragment for
3565         thumb-elf build.
3566         * config/arm/telf.h: New file: Header file for thumb-elf
3567         build. 
3568
3569 Fri Jun 11 03:17:51 1999  Jeffrey A Law  (law@cygnus.com)
3570
3571         * Makefile.in (libgcc2): Pass MAYBE_USE_COLLECT2 as an argument.
3572         * libgcc2.c (__CTOR_LIST, __DTOR_LIST); Do not provide
3573         initializers is some circumstances.
3574
3575         * fixinc/inclhack.def (endif_label): Add additional selector for
3576         more bogus stuff after #endif statements.
3577         * fixinc/inclhack.sh, fixinc/fixincl.x: Rebuilt.
3578
3579 Thu Jun 10 20:44:36 1999  Mumit Khan  <khan@xraylith.wisc.edu>
3580
3581         * i386/cygwin.h (SET_ASM_OP): Define.
3582
3583 Thu Jun 10 20:37:57 1999  Mumit Khan  <khan@xraylith.wisc.edu>
3584
3585         * reg-stack.c (stack_reg_life_analysis): Find all the RETURN insns.
3586
3587 Thu Jun 10 19:23:00 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
3588
3589         * sh.h (TARGET_HARWARD, TARGET_HARVARD): Changed the former to the
3590         latter.
3591
3592         * sh.md (ic_invalidate_line_i): Remove second alternative.
3593
3594 Thu Jun 10 06:55 1999  Bruce Korb <ddsinc09@ix.netcom.com>
3595
3596         *fixinc/inclhack.def(sun_auth_proto): We do not know how to
3597         test for the presence of valid prototypes.  Delete bypass expr.
3598         (ioctl_fix_ctrl): Correct the selection expression.
3599         (no_double_slash): Correct quoting rules
3600         *fixinc/fixincl.x: regen
3601         *fixinc/inclhack.sh: regen
3602
3603 Thu Jun 10 15:08:15 1999  Nick Clifton  <nickc@cygnus.com>
3604
3605         * config/arm/arm.c (struct all_cores): Add ARM920 and ARM920t.
3606
3607 Wed Jun  9 15:57:57 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3608
3609         * rs6000.md (movsi_got_internal_mem): Delete.
3610         * rs6000.h (CONDITIONAL_REGISTER_USAGE): Mark PIC_OFFSET_TABLE_REGNUM.
3611         (GOT_TOC_REGNUM): Delete.
3612         (PIC_OFFSET_TABLE_REGNUM): Define.
3613         (FINALIZE_PIC): Disable.
3614         * rs6000.c (rs6000_got_register): New code for fixed pic register.
3615         (rs6000_replace_regno): Delete.
3616         (rs6000_finalize_pic): Likewise.
3617         (output_prolog): Handle PIC_OFFSET_TABLE_REGNUM.
3618
3619 Wed Jun  9 19:44:26 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
3620
3621         * loop.c (loop_insn_first_p): Don't compare LUIDs when P
3622         is a note; use <= for the compare; advance P while it is
3623         a NOTE.
3624
3625 Wed Jun  9 13:12:24 1999  Jeffrey A Law  (law@cygnus.com)
3626
3627         * fixinc/inclhack.def (no_double_slash): Fix quoting for test.
3628         * fixinc/inclhack.sh, fixinc/fixincl.x, fixinc/fixincl.sh; Rebuilt.
3629
3630         * varasm.c (remove_from_pending_weak_list): Verify t->name
3631         is non-NULL before passing it to strcmp.
3632
3633 Wed Jun  9 06:50 1999  Bruce Korb <ddsinc09@ix.netcom.com>
3634
3635         *fixinc/inclhack.def(sun_auth_proto): bypass the patch if
3636         the typed arguments are not part of a comment
3637         (ioctl_fix_ctrl): Added a purpose comment
3638         *fixinc/fixincl.x: regenerate
3639         *fixinc/inclhack.sh: regenerate
3640
3641 Wed Jun  9 22:57:02 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
3642
3643         * invoke.texi: Add C4x invocation docs.
3644
3645 Wed Jun  9 22:34:38 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
3646
3647         * config/c4x/c4x.h (TARGET_EXPOSE_LDP, LEGITIMIZE_RELOAD_ADDRESS):
3648         Define new macros. 
3649         * config/c4x/c4x.c (c4x_emit_move_sequence, src_operand): Use
3650         TARGET_EXPOSE_LDP.
3651         (c4x_legitimize_reload_address): New function.
3652         * config/c4x/c4x.md: Update docs.
3653
3654 Wed Jun  9 04:14:48 1999  Jeffrey A Law  (law@cygnus.com)
3655
3656         * fixincludes: Avoid removing '.'.
3657         * fixinc/fixinc.svr4: Likewise.
3658         * fixinc/fixinc.winnt: Likewise.
3659         * fixinc/inclhack.tpl: Likewise.
3660         * fixinc/fixincl.sh, fixinc/inclhack.sh: Rebuilt.
3661
3662 1999-06-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3663
3664         * fixinc/inclhack.def (sun_catmacro): Escape parens in the select
3665         pattern.
3666         * fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
3667
3668 Wed Jun  9 03:10:34 1999  Mumit Khan  <khan@xraylith.wisc.edu>
3669
3670         * c-pragma.c (handle_pragma_token): Handle `#pragma pack()'
3671         correctly.
3672
3673 Tue Jun  8 13:06:15 1999  Jim Wilson  <wilson@cygnus.com>
3674
3675         * configure.in (rs6000-ibm-aix4.[12]*): Change rx6000 to rs6000.
3676         * configure: Regenerate.
3677         
3678 Tue Jun  8 05:47:48 1999  Richard Earnshaw (rearnsha@arm.com)
3679
3680         * optabs.c (expand_cmplxdiv_wide): Use expand_abs to get the absolute
3681         values.
3682
3683 Mon Jun  7 22:30:37 1999  Jeffrey A Law  (law@cygnus.com)
3684
3685         * fixinc/inclhack.def (avoid_bool): Also catch
3686         "typedef [unsigned] int bool".
3687         * fixinc/inclhack.sh, fixinc/fixincl.x, fixinc/fixincl.sh: Rebuilt.
3688
3689         * m68k/x-hp3bsd44: Delete obsolete and incorrect file.
3690         * configure.in (m68k-hp-bsd4.4): No longer use x-hp3bsd44.
3691         * configure: Rebuilt.
3692
3693 Mon Jun  7 22:05:03 1999  Mark Kettenis  <kettenis@gnu.org>
3694
3695         * config/i386/gnu.h: Include <gnu.h> right after <i386/linux.h>,
3696         such that we can override its definitions if necessary.
3697         (CPP_SPEC): New define.  Support processor specific predefines via
3698         %(cpp_cpu).
3699         (CC1_SPEC): New define.  Support processor specific compiler
3700         options via %(cc1_cpu).
3701         (STARTFILE_SPEC): New define.  Use crt0.o instead of crt1.o for
3702         -static.
3703
3704 1999-06-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3705
3706         * fixinc/inclhack.def (math_gcc_ifndefs): Insert whitespace
3707         between sed's -e flag, and the open-quote following it.
3708         * fixinc/fixincl.x, fixinc/fixincl.sh: Rebuilt.
3709
3710 Mon Jun  7 20:34:20 1999  Robert Lipe <robertlipe@usa.net>
3711                           Jeffrey A Law  (law@cygnus.com)
3712
3713         * varasm.c (assemble_start_function): Remove the function
3714         from the pending weak decls list when we define a function.
3715         (assemble_variable): Similarly for variables.
3716         (weak_finish): Ignore items on the list with a NULL name.
3717         (remove_from_ending_weak_list); New function to "remove" an item
3718         from the pending weak declarations list.
3719
3720 Mon Jun  7 19:27:07 1999  Jerry Quinn <jquinn@nortelnetworks.com>
3721
3722         * pa.md (fmpyfadd, fmpynfadd, fnegabs): New patterns.
3723
3724 Mon Jun  7 14:07:39 1999  Dave Brolley  <brolley@cygnus.com>
3725
3726         * c-lex.c (GETC): Redefine to call getch.
3727         (UNGETC): Redefine to call put_back.
3728         (putback_buffer): New structure type.
3729         (putback): New static structure.
3730         (getch): New function.
3731         (put_back): New function.
3732         (yylex): Replace unused bytes from bad multibyte character.
3733
3734 Mon Jun  7 13:33:39 1999  Dave Brolley  <brolley@cygnus.com>
3735
3736         * cpplib.c (do_define): Cast `alloca' return value.
3737         (do_include, do_undef, do_pragma): Likewise.
3738         * cpphash.c (dump_definition): Cast `xstrdup' and `alloca' return
3739         values.
3740         * cppfiles.c (initialize_input_buffer): Cast `xmalloc' return values.
3741         * gcc/cppspec.c (lang_specific_driver): Cast xmalloc return value.
3742
3743 Sun Jun  6 11:58:34 1999  Jakub Jelinek  <jj@ultra.linux.cz>
3744
3745         * sparc.md (abstf2): This should be an expand.
3746         (split after abstf2_notv9): Fix mode.
3747         (abstf2_hq_v9): New pattern.
3748         (abstf2_v9): Only use when no hard quad.
3749         (absdf2_v9): Fix if target is not the same as source.
3750         (ashrsi3_extend, ashrsi3_extend2, lshrsi3_extend, lshrsi3_extend2):
3751         Add correct output constraints.
3752
3753 Sat Jun  5 17:04:16 1999  Craig Burley  <craig@jcb-sc.com>
3754
3755         From Dave Love to egcs-patches on 20 May 1999 17:38:38 +0100:
3756         * invoke.texi: Clarify text vis-a-vis Intel CPUs.
3757
3758 Sat Jun  5 12:11:24 1999  Mark Mitchell  <mark@codesourcery.com>
3759
3760         * mips.h (mips_output_conditional_branch): New function.
3761         (mips_adjust_insn_length): Likewise.
3762         (ASSEMBLER_SCRATCH_REGNUM): New macro.
3763         (ADJUST_INSN_LENGTH): Likewise.
3764         * mips.c (print_operand): Add `F' and `W' for floating-point
3765         comparison opcodes.
3766         (machine_dependent_reorg): Adjust MIPS16 code; instruction-lengths
3767         are now in bytes.
3768         (mips_adjust_insn_length): New function.
3769         (mips_output_conditional_branch): New function.
3770         * mips.md (length): Adjust attribute definition to handle
3771         conditional branches.   Change lengths to bytes, rather than
3772         instructions throughout.  Remove length attribute from
3773         instructions whose length is four bytes, and rely on the default
3774         instead.
3775         (dslot): Fix typo in comment.
3776         Reword conditional branch patterns to use
3777         mips_output_conditional_branch.
3778
3779 Fri Jun  4 13:30:27 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3780
3781         * alpha/osf.h (CPP_SUBTARGET_SPEC): Handle -threads.
3782         (LIB_SPEC): Likewise.
3783         Link with -lprof1_r for -g/-pg.
3784
3785 1999-06-04  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
3786
3787         * loop.c (check_dbra_loop): Fix change of Jan 19.
3788
3789 Fri Jun  4 00:12:40 1999  Marc Espie <espie@cvs.openbsd.org>
3790
3791         * freebsd-elf.h (SWITCH_TAKES_ARG):  Redefine, not define.
3792         (STARTFILE_SPEC):  Define, override the svr4.h version.
3793         (ENDFILE_SPEC):  Likewise.
3794
3795 Thu Jun  3 23:58:55 1999  Jeffrey A Law  (law@cygnus.com)
3796
3797         * fixinc/inclhack.def (limits_ifndefs): Also apply to sys/limits.h
3798         * fixinc/fixincl.x: Regenerated.
3799         * fixinc/inclhack.sh: Regenerated.
3800
3801 Fri Jun  4 05:42:23 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
3802
3803         * sh.c (barrier_align): Don't return early for normal branch/barrier
3804         when optimizing for SH2.
3805
3806 Thu Jun  3 22:27:50 1999  Robert Lipe  <robertlipe@usa.net>
3807
3808         * i386/udk.h (LINK_SPEC): Correct linker search path for 
3809         system libraries.
3810
3811 Fri Jun  4 03:20:40 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
3812
3813         * sh.c (fixup_addr_diff_vecs): Emit braf reference label.
3814         (braf_label_ref_operand): Delete.
3815         * sh.h (PREDICATE_CODES): Remove braf_label_ref_operand.
3816         * sh.md (casesi_jump_2): Operand1 is now the inside of a
3817         label_ref, and has no predicate.
3818         The patten has a predicate to guard against invalid substitutions.
3819         (dummy_jump): Delete.
3820         (casesi): Update use of casesi_jump_2.
3821
3822 Thu Jun 3 07:48 1999  Bruce Korb <ddsinc09@ix.netcom.com>
3823
3824         *fixinc/inclhack.def(Io_Def_Quotes): corrected sed expression
3825         *fixinc/fixincl.x: regenerate
3826         *fixinc/inclhack.sh: regenerate
3827
3828 Thu Jun  3 02:15:07 1999  Jason Merrill  <jason@yorick.cygnus.com>
3829
3830         * dwarf2out.c (add_incomplete_type): New fn.
3831         (gen_struct_or_union_type_die): Call it.
3832         (retry_incomplete_types): New fn.
3833         (dwarf2out_finish): Call it.
3834
3835 Thu Jun  3 01:19:03 1999  Jeffrey A Law  (law@cygnus.com)
3836
3837         * gcse.c (insert_insn_end_bb): Correct placement of insns when the
3838         current block starts with a CODE_LABEL and ends with a CALL and
3839         we can not find all the argument setup instructions for the CALL.
3840
3841 Wed Jun  2 15:44:15 1999  Mark Mitchell <mark@codesourcery.com>
3842
3843         Revert this change:
3844         * fold-const.c (fold): STRIP_NOPS when deciding whether or not
3845         something is a candidate for optimize_bit_field_compare.
3846
3847 Wed Jun  2 21:53:05 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
3848
3849         * sh.h (CONST_OK_FOR_I, CONST_OK_FOR_L): Cast VALUE to HOST_WIDE_INT.
3850
3851 Wed Jun  2 12:25:55 1999  Richard Henderson  <rth@cygnus.com>
3852
3853         * alpha.c (override_options): Thinko in last patch.
3854
3855         * alpha/osf.h (CPP_SUBTARGET_SPEC): Define.
3856         (LIB_SPEC): Recognize -pthread.
3857
3858 Wed Jun  2 08:42:55 1999  Nick Clifton  <nickc@cygnus.com>
3859
3860         * config/arm/tcoff.h (USER_LABEL_PREFIX): Synchronise with
3861         definition in config/arm/coff.h
3862         * config/arm/coff.h: Add comment about USER_LABEL_PREFIX.
3863
3864 Wed Jun  2 07:07 1999 Bruce Korb <ddsinc09@ix.netcom.com>
3865
3866         * fixinc/fixincl.c(global def): Add FD_SHELL_SCRIPT to mark
3867         fixes that need "file=xxx\n" prepended before invocation
3868         (start_fixer - new): starting the fixer process is complex enough
3869         to warrent its own routine.  It prepends the "file=xxx\n" stuff.
3870         (process): uses the new routine; omit usage of putenv()
3871         * fixinc/fixincl.tpl: mark shell scripts with FD_SHELL_SCRIPT
3872         * fixinc/fixincl.x: regenerate
3873
3874 Wed Jun  2 02:29:07 1999  Jeffrey A Law  (law@cygnus.com)
3875
3876         * README, configure.in, gcc.1, gcc.texi: Update name (egcs -> gcc)
3877         and version #s (1.1 -> 2.96) as needed.
3878         * README.g77: Kill way out of date file in the toplevel directory.
3879  
3880 Wed Jun  2 00:52:34 1999  David O'Brien <obrien@FreeBSD.org>
3881
3882         * configure.in (i[34567]86-*-freebsdelf): Don't include linux.h,
3883         i386/freebsd-elf.h no longer requires it.  Instead include svr4.h.
3884         * configure: Rebuilt.
3885         * i386/freebsd-elf.h (DEFAULT_VTABLE_THUNKS): Define.
3886         (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, SET_ASM_OP): Likewise.
3887         (PREFERRED_DEBUGGING_TYPE, WCHAR_UNSIGNED): Likewise.
3888         (SWITCH_TAKES_ARG): Likewise.
3889         * i386/freebsd.h: Remove FREEBSD_NATIVE support.
3890         * config/t-freebsd: Moved from config/i386/ so it can used for all
3891         FreeBSD targets.
3892
3893 Mon May 31 02:22:55 1999  Philippe De Muyter  <phdm@macqel.be>
3894
3895         * m68k/x-mot3300 (XCFLAGS): Fixed to match stb.o, not f/stb.o.
3896
3897 Wed Jun  2 00:08:34 1999  Robert Lipe  <robertlipe@usa.net>
3898
3899         * configure.in (i[34567]86-*-udk*): Install headers with cpio.
3900         * configure: Rebuilt.
3901
3902 Tue Jun  1 19:06:22 1999  David Edelsohn  <edelsohn@gnu.org>
3903
3904         * rs6000/aix41.h (RS6000_CALL_GLUE): Define.
3905         * rs6000/aix43.h (RS6000_CALL_GLUE): Likewise.
3906         * rs6000/rs6000.c (rs6000_file_start): Use putc.
3907         (rs6000_output_load_toc_table): Same.
3908         (output_prolog, output_mi_thunk): Same.
3909         * rs6000/rs6000.h (SELECT_SECTION): Formatting.
3910         (ASM_GLOBALIZE_LABEL): Use putc.
3911
3912 Mon May 31 15:23:23 1999  Richard Henderson  <rth@cygnus.com>
3913
3914         * alpha.md (reload_*_help): New patterns and splitters.
3915         (reload_*): Use them.
3916         (mov[qh]i): Likewise.
3917
3918 Mon May 31 11:48:07 1999  Mark Mitchell  <mark@codesourcery.com>
3919
3920         * cccp.c (handle_directive): Handle backslash-newlines in quoted
3921         strings correctly.
3922
3923 Mon May 31 09:36:11 1999  Cort Dougan  <cort@cs.nmt.edu>
3924
3925         * rs6000/linux.h (LINK_SPEC): Use emulation elf32ppclinux.
3926
3927 Mon May 31 11:40:20 EDT 1999  John Wehle  (john@feith.com)
3928
3929         * flow.c (mark_regs_live_at_end, insn_dead_p,
3930         mark_set_1, mark_used_regs): Only give FRAME_POINTER_REGNUM
3931         and HARD_FRAME_POINTER_REGNUM special treatment if reload
3932         hasn't run or the frame pointer is needed.
3933         * haifa-sched.c (attach_deaths): Likewise.
3934         * sched.c (attach_deaths): Likewise.
3935
3936 Mon May 31 00:46:17 1999  Jeffrey A Law  (law@cygnus.com)
3937
3938         * jump.c (jump_optimize_1): Only set CAN_REACH_END if 
3939         calculate_can_reach_end returns nonzero.
3940
3941         * configure.in (native gas tests): Search for an assembler in the
3942         same manner that the installed compiler will.
3943         * configure: Rebuilt.
3944         * tm.texi (MD_EXEC_PREFIX): Note need to update configure.in too.
3945
3946         * alias.c (find_base_term): Improve handling of addresses
3947         constructed from binary operations.
3948
3949 Sun May 30 14:29:17 1999  Eric Raskin (ehr@listworks.com)
3950
3951         * dgux.h (STARTFILE_SPEC): Fix incorrectly matched curly-braces.
3952
3953 Sun May 30 14:19:13 1999  Jeffrey A Law  (law@cygnus.com)
3954
3955         * function.h (cleanup_label, frame_offset): Declare.
3956         (tail_recursion_label, tail_recursion_reentry): Likewise.
3957         (arg_pointer_save_area, rtl_expr_chain): Likewise.
3958         * stmt.c (cleanup_label, frame_offset): Delete extern declarations.
3959         (tail_recursion_label, tail_recursion_reentry): Likewise.
3960         (arg_pointer_save_area, rtl_expr_chain): Likewise.
3961
3962 Sat May 29 19:08:10 1999  Philip Blundell  <philb@gnu.org>
3963
3964         * config/arm/aout.h (ASM_OUTPUT_ALIGN): Only define if not already 
3965         defined.
3966         * config/arm/elf.h (ASM_OUTPUT_ALIGN): Define.
3967         (MAX_OFILE_ALIGNMENT): Define.
3968
3969 Fri May 28 21:40 1999  Robert Lipe <robertlipe@usa.net>
3970
3971         * fixincl.c: Replace local include scheme with #includes of
3972         gansidecl.h and system.h.
3973         * procopen.c:  Likewise.
3974         * server.c:  Likewise.
3975
3976 Fri May 28 03:47:03 1999  Eric Raskin (ehr@listworks.com)
3977
3978         * i386/t-dgux (EXTRA_PARTS): Add crti.o
3979         (crti.o): Add build rule and dependencies.
3980         * fixinc/fixinc.dgux:  Use modified _int_varargs.h
3981
3982 Fri May 28 03:41:02 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3983
3984         * rs6000/sysv4.h (CC1_SPEC): Add support for -profile
3985         (LIB_LINUX_SPEC): Likewise.
3986         (LIB_LINUX_SPEC): Add support for -pthread
3987         (CPP_OS_LINUX_SPEC): Likewise.
3988         (CPP_SYSV_SPEC): Avoid redefinitions if both -fpic and -fPIC are
3989         specified.
3990
3991 Thu May 27 13:04:52 1999  H.J. Lu  (hjl@gnu.org)
3992
3993         * i386.c (output_fp_cc0_set): Don't check the JUMP_INSN code for
3994         conditional move.
3995         (notice_update_cc, output_float_compare): Enable TARGET_CMOVE support.
3996         (output_float_compare, output_fp_cc0_set): Fix the FLOAT comparison
3997         for IEEE math and CC_FCOMI.
3998         (put_jump_code): No IEEE if CC_FCOMI is set.
3999
4000 1999-05-27  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
4001
4002         * fold-const.c (fold_truthop): Make the field reference unsigned
4003         when converting a single bit compare.
4004
4005 Thu May 27 02:40:48 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
4006
4007         * loop.c (strength_reduce): Don't do biv->giv conversion on constants.
4008
4009 Thu May 27 02:09:27 1999  Jeffrey A Law  (law@cygnus.com)
4010
4011         * varasm.c (STRIP_NAME_ENCODING): Remove default definition.
4012         * output.h (STRIP_NAME_ENCODING): Strip '*' like the old varasm
4013         version did.
4014
4015         * reload.c (push_reload): Do not call remove_address_replacements
4016         when presented with identical optional reloads.
4017
4018 Wed May 26 14:18:05 1999  Richard Henderson  <rth@cygnus.com>
4019
4020         * alpha.h (MASK_FIX, TARGET_FIX): New.
4021         (MASK_*): Reorganize constants.
4022         (CPP_AM_FIX_SPEC): New.
4023         (TARGET_SWITCHES): Add FIX.
4024         (EXTRA_SPECS): Likewise.
4025         (CPP_CPU_EV6_SPEC): Use FIX, not CIX.
4026         (SECONDARY_MEMORY_NEEDED): Likewise.
4027         (REGISTER_MOVE_COST): Likewise.
4028         * alpha.c (override_options): Add FIX support.  Always use 
4029         ALPHA_TP_PROG for ev6.
4030         * alpha.md (sqrt and mov[sd]i patterns): Use FIX, not CIX.
4031         * alpha/elf.h (ASM_FILE_START): Look at FIX too.
4032         * configure.in (target_cpu_default2) [ev6]: Use FIX, not CIX.
4033
4034 Wed May 26 09:53:05 1999  Mark Mitchell  <mark@codesourcery.com>
4035
4036         * fold-const.c (fold): STRIP_NOPS when deciding whether or not
4037         something is a candidate for optimize_bit_field_compare.
4038
4039 Wed May 26 09:40:02 1999  Mark Mitchell  <mark@codesourcery.com>
4040
4041         * gcc.texi (Passes): Document branch-shortening.
4042         * invoke.texi (Debugging Options): Document the fact that `-dp'
4043         outputs length information for instructions.
4044
4045 Wed May 26 08:49:31 1999  Nick Clifton  <nickc@cygnus.com>
4046
4047         * flow.c: Revert previous delta.
4048
4049 Wed May 26 06:05:10 1999  Nick Clifton  <nickc@cygnus.com>
4050
4051         * flow.c (insn_dead_p): Check against frame_pointer_rtx not
4052         FRAME_POINTER_REGNUM. 
4053         (mark_set_1): Ditto.
4054         (mark_used_regs): Ditto.
4055
4056 Wed May 26 02:19:31 1999  Philip Blundell  <pb@nexus.co.uk>
4057
4058         * arm.h (NEED_PLT_GOT): Fix mistake in last change.
4059         (GOT_PCREL): New macro.  Define to 1 if not already defined.
4060         * arm/elf.h (GOT_PCREL): Define to 0.
4061         * arm.c (arm_finalize_pic): Take into account the setting of
4062         GOT_PCREL.
4063
4064 Tue May 25 14:06:06 1999  Jeffrey A Law  (law@cygnus.com)
4065
4066         * output.h (STRIP_NAME_ENCODING): Provide default definition.
4067         * dwarf2out.c (ASM_NAME_TO_STRING): Use STRIP_NAME_ENCODING.
4068
4069         * flow.c (mark_set_1): Do not record BLKmode stores as dead
4070         store elimination candidates.
4071
4072 Tue May 25 08:55:57 1999  Gavin Romig-Koch  <gavin@cygnus.com>
4073
4074         * config/mips/mips.h (ASM_OUTPUT_DOUBLE_INT) : Use 'dword' if 
4075         TARGET_GAS.
4076
4077 Mon May 24 20:30:08 1999  Jim Wilson  <wilson@cygnus.com>
4078
4079         * configure.in (rs6000-ibm-aix4.[12]*): Delete use of aix41-gld.h.
4080         Add use of x-aix41-gld.
4081         
4082 Mon May 24 16:44:09 1999  Jakub Jelinek  <jj@ultra.linux.cz>
4083
4084         * sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Define.
4085         (ASM_OUTPUT_DESTRUCTOR): Define.
4086
4087 Mon May 24 14:35:24 1999  Jeffrey A Law  (law@cygnus.com)
4088
4089         * loop.c (strength_reduce): Do not clear NOT_EVERY_ITERATION at the
4090         last CODE_LABEL in a loop if we have previously passed a jump
4091         to the top of the loop.
4092
4093 Mon May 24 07:56:29 1999  Nick Clifton  <nickc@cygnus.com>
4094
4095         * config/arm/arm.h (OUTPUT_INT_ADDR_CONST): Fix blunder made when
4096         applying Philip's patch.
4097
4098 Mon May 24 01:02:12 1999  Mark Mitchell  <mark@codesourcery.com>
4099
4100         * stmt.c (expand_end_bindings): Ignore any elements of VARS that
4101         are not VAR_DECLs.
4102
4103 Sun May 23 20:31:16 1999  Jeffrey A Law  (law@cygnus.com)
4104
4105         * loop.c (strength_reduce): Grow reg_single_usage as needed.
4106
4107 Sun May 23 10:13:20 1999  David O'Brien <obrien@FreeBSD.org>
4108
4109         * i386/freebsd-elf.h (LINK_SPEC): Change -static to -Bstatic.
4110         Also remove a useless comment.
4111
4112 Sun May 23 10:05:23 1999  Jerry Quinn <jquinn@nortelnetworks.com>
4113
4114         * pa.md (negdf2,negsf2):  Use fneg instead of fsub on pa 2.0.
4115  
4116 Sat May 22 21:02:06 1999  David Edelsohn  <edelsohn@gnu.org>
4117
4118         * collect2.c (main): Only generate import or export file and add
4119         to link arguments if non-empty.  Use xmalloc not alloca.
4120         (write_{export,import}_file): Delete.
4121         (write_aix_file): New function.
4122         (locatelib): Use xmalloc not malloc.
4123         (GCC_OK_SYMBOL): Do not check type if aix64.
4124
4125 Sat May 22 09:35:51 1999  Philip Blundell  <pb@nexus.co.uk>
4126
4127         Based on patch by Scott Bambrough and Pat Beirne:
4128         * config/arm/arm.c (making_const_table): New variable.
4129         * config/arm/arm.h (making_const_table): Declare.
4130         (OUTPUT_INT_ADDR_CONST): Mark symbols as position independent if
4131         appropriate.
4132         * config/arm/arm.md (consttable_4, consttable_8, consttable_end):
4133         Keep track of when we are building the constant table.  
4134
4135 Sat May 22 09:34:22 1999  Philip Blundell  <pb@nexus.co.uk>
4136
4137         * config/arm/arm.c (arm_override_options): Fix erroneous warning
4138         message.
4139         
4140 Sat May 22 09:06:33 1999  Nick Clifton  <nickc@cygnus.com>
4141
4142         * config/arm/arm.h (NEED_PLT_GOT): Only define if not already
4143         defined. 
4144
4145 Sat May 22 07:17:05 1999  Nick Clifton  <nickc@cygnus.com>
4146
4147         * tm.texi (FUNCTION_ARG): Correct description of a stack element
4148         in a PARALLEL.
4149
4150 Sat May 22 01:27:49 1999  Mark Mitchell  <mark@codesourcery.com>
4151
4152         * expr.h (lang_expand_constant): Guard with #ifdef TREE_CODE.
4153
4154 Fri May 21 21:19:02 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4155
4156         * rs6000.c (output_mi_thunk): Enable full support again.
4157
4158 Fri May 21 20:09:52 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
4159
4160         * sh.h (BRANCH_COST): Define.
4161
4162 Thu May 20 10:00:42 1999   Stephen L Moshier  <moshier@world.std.com>
4163
4164         * Makefile.in (GCC_FOR_TARGET): Add -I$(build_tooldir)/include.
4165
4166 Thu May 20 09:58:57 1999  Jan Hubicka <hubicka@freesoft.cz>
4167
4168         * function.c (assign_stack_local): Align stack slot propertly.
4169         (assign_outer_stack_local): Likewise.
4170
4171 Thu May 20 10:38:43 1999  Mark Mitchell  <mark@codesourcery.com>
4172
4173         * expr.h (lang_expand_constant): Declare.
4174         * toplev.c (lang_expand_constant): Define it.
4175         * varasm.c (output_constant): Use it.
4176
4177 Thu May 20 11:28:53 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4178
4179         * optabs.c (expand_cmplxdiv_straight, expand_cmplxdiv_wide):
4180         Change function definitions to K&R style.
4181
4182 Thu May 20 08:16:39 1999  Bruce Korb <ddsinc09@ix.netcom.com>
4183
4184         * fixinc/fixincl.c: We must not ignore SIGCLD now.
4185
4186 Thu May 20 07:06:39 1999  Alexandre Oliva  <aoliva@acm.org>
4187
4188         * fixinc/Makefile.in(gnu-regex.o): add $(INCLUDES) to compile options
4189         * fixinc/fixincl.c(wait_for_pid): K&R-ify arguments
4190         (several places): omit static initialization
4191         (process): use single fd, since only the read fd is used
4192         * fixinc/gnu-regex.c: define 'const' away, if not supported
4193         * fixinc/procopen.c(several places): omit static initialization
4194         * fixinc/server.c: define 'volitile' away, if not supported
4195
4196 1999-05-20  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
4197
4198         * config/dbxcoff.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Use
4199         asm_fprintf and %L to generate the label name.
4200         * config/dbxelf.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Likewise.
4201         (ASM_OUTPUT_SOURCE_LINE): Correct generation of internal labels.
4202
4203 Thu May 20 01:40:55 1999  Jeffrey A Law  (law@cygnus.com)
4204
4205         * jump.c (can_reverse_comparison_p): Do not abort if the comparison
4206         insn for a conditional jump can not be found.
4207
4208 Wed May 19 23:58:58 1999  Jeffrey A Law  (law@cygnus.com)
4209
4210         * mips.h (ENCODE_SECTION_INFO): Do not perform GP optimizations
4211         on variables in specific sections other than .sbss and .sdata.
4212
4213 Wed May 19 03:56:56 1999  Mark Mitchell  <mark@codesourcery.com>
4214
4215         * stmt.c (expand_return): Call start_cleanup_deferral and
4216         end_cleanup_deferral around conditional code.
4217
4218 Wed May 19 08:40:08 1999  Bruce Korb <ddsinc09@ix.netcom.com>
4219
4220         * fixinc/fixincl.tpl: Avoid depending on ANSI C features for
4221         filename lists.  Utilizes new "krstr" AutoGen function.
4222         * fixinc/fixincl.x: Rebuilt.
4223
4224 Wed May 19 02:47:11 1999  Jan Hubicka  (hubicka@freesoft.cz)
4225
4226         * i386.c (output_float_compare): Avoid GNU-C extensions.
4227
4228 Wed May 19 00:34:40 1999  Jeffrey A Law  (law@cygnus.com)
4229
4230         * version.c: Bump to distinguish mainline tree from the
4231         gcc-2.95 branch.
4232
4233 See ChangeLog.1 for earlier changes.
4234
4235 Local Variables:
4236 add-log-time-format: current-time-string
4237 End: