OSDN Git Service

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