OSDN Git Service

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