OSDN Git Service

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