OSDN Git Service

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