OSDN Git Service

Fix SDB debug output generation for ARM/COFF
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 Tue Jul 27 17:49:42 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
2
3         * config/arm/coff.h (ASM_FILE_START): If generating SDB output, call
4         output_file_directive.
5
6 Tue Jul 27 03:15:33 1999  Jason Merrill  <jason@yorick.cygnus.com>
7
8         * expr.c (expand_expr, case PLUS_EXPR): Get the mode from the 
9         tree for op1, not the rtl.
10
11 Tue Jul 27 00:18:34 1999  Richard Henderson  <rth@cygnus.com>
12
13         * m88k.c (m88k_builtin_saveregs): Break out the constructor code
14         to m88k_va_start, leaving only the register spill.
15         (m88k_build_va_list): New.
16         (m88k_va_start): New.
17         (m88k_va_arg): New.
18         * m88k.h (BUILD_VA_LIST_TYPE): New.
19         (EXPAND_BUILTIN_VA_START): New.
20         (EXPAND_BUILTIN_VA_ARG): New.
21
22 Mon Jul 26 19:07:11 1999  Geoff Keating  <geoffk@cygnus.com>
23
24         * config/rs6000/rs6000.c (rs6000_expand_builtin_saveregs):
25         Rename from expand_builtin_saveregs.
26         * config/rs6000/rs6000.h (EXPAND_BUILTIN_SAVEREGS): Change caller.
27
28 Mon Jul 26 22:52:47 1999  Richard Henderson  <rth@cygnus.com>
29
30         * i960.c (i960_setup_incoming_varargs): Use get_varargs_alias_set
31         for the register spill block.
32         (i960_build_va_list): New.
33         (i960_va_start): New.
34         (i960_va_arg): New.
35         * i960.h (BUILD_VA_LIST_TYPE): New.
36         (EXPAND_BUILTIN_VA_START): New.
37         (EXPAND_BUILTIN_VA_ARG): New.
38         * i960.md (store_multiple): Use change_address on individul mems.
39
40 Mon Jul 26 22:43:12 1999  Richard Henderson  <rth@cygnus.com>
41
42         * builtins.c (stabilize_va_list): Don't INDIRECT_REF through
43         an ARRAY_TYPE.
44         (std_expand_builtin_va_start): Back out one word if !stdarg_p.
45         (expand_builtin_va_end): Evaluate arg for side effects.
46         * c-common.c (c_common_nodes_and_builtins): Construct a
47         va_list_arg_type_node to handle array decomposition to pointer.
48
49 Mon Jul 26 18:51:34 1999  Richard Henderson  <rth@cygnus.com>
50
51         * except.c (start_dynamic_cleanup): Use force_operand on the
52         buffer's address.
53
54 Mon Jul 26 16:43:26 1999  Richard Henderson  <rth@cygnus.com>
55
56         * c4x.h (EXPAND_BUILTIN_VA_ARG): New.
57         * c4x.c (c4x_va_arg): New.
58
59 Mon Jul 26 12:30:09 1999  Jason Merrill  <jason@yorick.cygnus.com>
60
61         * cpplib.c (cpp_get_token): Don't return a CPP_POP if the buffer
62         has manual_pop set.
63
64 1999-07-26  Nathan Sidwell  <nathan@acm.org>
65
66         * eh-common.h (__eh_matcher): Prototype correctly.
67
68 Mon Jul 26 17:24:51 1999  Philip Blundell  <pb@nexus.co.uk>
69
70         * config/arm/thumb.h (THUMB_FLAG_SINGLE_PIC_BASE): Define.
71         (TARGET_SINGLE_PIC_BASE): Likewise.
72         (GOT_PCREL, NEED_GOT_RELOC, NEED_PLT_RELOC): Provide default
73         definitions.
74         (TARGET_CALLEE_INTERWORKING): Fix typo in comment.
75         (TARGET_SWITCHES): Add -m{no-}single-pic-base.
76         (TARGET_OPTIONS): Add -mpic-register=N.
77         (OUTPUT_INT_ADDR_CONST): New macro.
78         (INDEX_REGISTER_RTX_P, PIC_OFFSET_TABLE_REGNUM, FINALIZE_PIC,
79         LEGITIMATE_PIC_OPERAND_P): Likewise.
80         (LEGITIMIZE_ADDRESS, GOT_IF_LEGITIMATE_ADDRESS): Support PIC.
81         (ASM_OUTPUT_INT): Use OUTPUT_INT_ADDR_CONST rather than calling
82         output_addr_const directly.
83         (PRINT_OPERAND_PUNCT_VALID_P): Accept `|' for compatibility with 
84         ARM port.
85         (thumb_pic_register, thumb_pic_register_string): Declare.
86         
87         * config/arm/thumb.c (symbol_mentioned_p): New function: Imported
88         from arm.c.
89         (label_mentioned_p): New function: Imported from arm.c.
90         (legitimize_pic_address): New function: Imported from arm.c.
91         (is_pic):New function: Imported from arm.c.
92         (thumb_finalize_pic):New function: Imported from arm.c.
93         (add_constant): Cope with PIC constants.
94         (fixit): Cope with PIC constants.
95         (output_return): Do not treat the PIC register as live if
96         TARGET_SINGLE_PIC_BASE is true.
97         (thumb_function_prologue): Do not treat the PIC register as live if
98         TARGET_SINGLE_PIC_BASE is true.
99         (thumb_expand_prologue): Do not treat the PIC register as live if
100         TARGET_SINGLE_PIC_BASE is true.
101         (thumb_unexpand_epilogue): Do not treat the PIC register as live if
102         TARGET_SINGLE_PIC_BASE is true.
103         (thumb_print_operand): Accept '|'.
104         (thumb_override_options): Process PIC options.
105         
106         * config/arm/thumb.md (movsi): Support PIC.
107         (call_insn): Change "i" constraint to "X".
108         (call_value_insn): Likewise.
109         (consttable_4, consttable_8, consttable_end): Set and clear
110         "making_const_table" as appropriate.
111         (pic_load_addr, pic_add_dot_plus_four): New insns.
112         
113         * invoke.texi (Thumb Options): Fix spelling.  Document new 
114         options -msingle-pic-base and -mpic-register=.
115         
116 1999-07-26  Andrew Haley  <aph@cygnus.com>
117
118         * config/m32r/initfini.c (__init): Use a full word immediate for
119         __fini: this allows it to be placed in any memory region.
120
121         * config/m32r/t-m32r: Compile crtinit.o and crtfini.o for
122         -mmodel=medium.  This is OK for all memory models.
123
124 Mon Jul 26 11:58:46 1999  Nick Clifton  <nickc@cygnus.com>
125
126         * config/arm/arm.c: Replace %R%s in asm_fprintf strings with %r.
127         * config/arm/arm.h: Replace %R%s in asm_fprintf strings with %r.
128
129 Mon Jul 26 10:23:36 1999  Nick Clifton  <nickc@cygnus.com>
130
131         * final.c (asm_fprintf): Accept ASM_FPRINTF_EXTENSIONS, if
132         defined.
133
134         * tm.texi: Document ASM_FPRINTF_EXTENSIONS.
135
136 Sun Jul 25 23:51:59 1999  Richard Henderson  <rth@cygnus.com>
137
138         * i860.h (EXPAND_BUILTIN_SAVEREGS): New.
139         (BUILD_VA_LIST_TYPE): New.
140         (EXPAND_BUILTIN_VA_START): New.
141         (EXPAND_BUILTIN_VA_ARG): New.
142         * i860.c (output_delayed_branch): Disable.
143         (output_delay_insn): Likewise.
144         (i860_saveregs): New.
145         (i860_build_va_list): New.
146         (i860_va_start): New.
147         (i860_va_arg): New.
148         * i860.md: Disable all peepholes using output_delayed_branch.
149         * i860/sysv4.h (I860_SVR4_VA_LIST): New.
150
151 Sun Jul 25 23:44:13 1999  Richard Henderson  <rth@cygnus.com>
152
153         * clipper.h (EXPAND_BUILTIN_SAVEREGS): Remove argument.
154         (BUILD_VA_LIST_TYPE): New.
155         (EXPAND_BUILTIN_VA_START): New.
156         (EXPAND_BUILTIN_VA_ARG): New.
157         * clipper.c (clipper_builtin_saveregs): Only dump registers.
158         Return the address of the save area.
159         (clipper_build_va_list): New.
160         (clipper_va_start): New.
161         (clipper_va_arg): New.
162
163 Sun Jul 25 22:56:47 1999  Richard Henderson  <rth@cygnus.com>
164
165         * arc.h (EXPAND_BUILTIN_VA_START): New.
166         (EXPAND_BUILTIN_VA_ARG): New.
167         * arc.c (arc_setup_incoming_varargs): Set alias set of 
168         varargs save area.
169         (arc_va_start): New.
170         (arc_va_arg): New.
171
172 Sun Jul 25 22:45:55 1999  Richard Henderson  <rth@cygnus.com>
173
174         * alpha.h (EXPAND_BUILTIN_SAVEREGS): Delete.
175         (BUILD_VA_LIST_TYPE): New.
176         (EXPAND_BUILTIN_VA_START): New.
177         (EXPAND_BUILTIN_VA_ARG): New.
178         * alpha.c (alpha_builtin_saveregs): Delete.
179         (alpha_build_va_list): New.
180         (alpha_va_start): New.
181         (alpha_va_arg): New.
182
183 Sun Jul 25 21:40:33 1999  Jeffrey A Law  (law@cygnus.com)
184
185         * config/svr4.h (CTORS_SECTION_ASM_OP): Do not emit directives in
186         column zero.
187         (DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP): Likewise.
188         (FINI_SECTION_ASM_OP, ASM_OUTPUT_SECTION_NAME): Likewise.
189
190         * gcc.texi: More changes related to list conversion.
191         * invoke.texi: Likewise.
192
193 Sun Jul 25 18:15:39 1999  Richard Henderson  <rth@cygnus.com>
194
195         * builtins.c (expand_builtin_saveregs): Remove static, remove exp
196         and ignore arguments, bail if no EXPAND_BUILTIN_SAVEREGS.
197         (expand_builtin_next_arg): Accept ARGLIST not EXP.
198         (stabilize_va_list): New function.
199         (std_expand_builtin_va_start): New function.
200         (expand_builtin_va_start): New function.
201         (get_varargs_alias_set): New function.
202         (std_expand_builtin_va_arg): New function.
203         (expand_builtin_va_arg): New function.
204         (expand_builtin_va_end): New function.
205         (expand_builtin_va_copy): New function.
206         (expand_builtin): Call them.
207         * c-common.c (c_common_nodes_and_builtins): Build __builtin_va_list,
208         __builtin_{varargs_start,stdarg_start,end,copy}.
209         (build_va_arg): New function.
210         * c-common.h (CTI_PTR_TYPE, ptr_type_node): Delete.
211         (build_va_arg): Declare.
212         * c-decl.c (ptr_type_node, va_list_type_node): New.
213         * c-parse.gperf (__builtin_va_arg): New.
214         * c-parse.in (VA_ARG): New token.
215         (unary_expr): Recognize it.
216         * expr.c (expand_expr): Expand VA_ARG_EXPR.
217         * expr.h (std_expand_builtin_va_start): Declare.
218         (std_expand_builtin_va_arg): Declare.
219         (expand_builtin_va_arg): Declare.
220         (get_varargs_alias_set): Declare.
221         * tree.def (VA_ARG_EXPR): New.
222         * tree.h (BUILT_IN_VARARGS_START): New.
223         (BUILT_IN_STDARG_START, BUILT_IN_VA_END): New.
224         (ptr_type_node, va_list_type_node): Declare.
225         * tm.texi (EXPAND_BUILTIN_SAVEREGS): Kill unused ARGLIST argument.
226         * m32r.h (EXPAND_BUILTIN_SAVEREGS): Likewise.
227         * m88k.h, m88k.c: Likewise.
228         * mn10300.h, mn10300.c: Likewise.
229         * pa.h, pa.c: Likewise.
230         * rs6000.h, rs6000.c: Likewise.
231         * sh.h, sh.c: Likewise.
232         * sparc.h, sparc.c: Likewise.
233
234         * emit-rtl.c (operand_subword): Copy alias set.
235         (change_address): Likewise.
236
237 Sun Jul 25 15:04:37 1999  Jeffrey A Law  (law@cygnus.com)
238
239         * pa.c (compute_frame_size): Scan all the used callee saved registers,
240         not just the first one.
241
242 Fri Jul 23 14:09:58 1999  Philip Blundell  <pb@nexus.co.uk>
243
244         * config/arm/arm.h (TARGET_SWITCHES): Add 
245         -m{no-}single-pic-base.  Correct help string for -mshort-load-words.
246         (TARGET_OPTIONS): Add -mpic-register=.
247         (ARM_FLAG_SINGLE_PIC_BASE, TARGET_SINGLE_PIC_BASE): Define.
248         (arm_pic_register_string): Declare.
249         (NEED_PLT_GOT): Delete, replace with ...
250         (NEED_GOT_RELOC, NEED_PLT_RELOC): ... these.  New macros.
251         (OUTPUT_INT_ADDR_CONST): Replace NEED_PLT_GOT with NEED_GOT_RELOC.
252         (ASM_OUTPUT_MI_THUNK): Replace NEED_PLT_GOT with NEED_PLT_RELOC.
253         * config/arm/arm.c (arm_override_options): Add new option
254         -mpic-register=N.
255         (arm_pic_register_string): New variable.
256         (arm_finalize_pic): Respect TARGET_SINGLE_PIC_BASE.
257         (output_func_prologue): If TARGET_SINGLE_PIC_BASE, treat the PIC
258         register as never live.  Use NEED_PLT_RELOC not NEED_PLT_GOT.
259         (output_return_instruction): Likewise. 
260         * config/arm/elf.h (NEED_PLT_GOT): Delete, replace with ...
261         (NEED_GOT_RELOC, NEED_PLT_RELOC): ... these.  Define to flag_pic.
262         * config/arm/arm.md: Use NEED_PLT_RELOC in place of NEED_PLT_GOT.
263
264         * invoke.texi (ARM Options): Fix spelling.  Remove duplicate
265         mention of -msched-prolog.  Document new options -msingle-pic-base 
266         and -mpic-register=.
267
268 Thu Jul 22 18:23:56 1999  Richard Henderson  <rth@cygnus.com>
269
270         * haifa-sched.c (reemit_notes): Tidy.
271         * sched.c (reemit_notes): Duplicate 1998-08-31 patch to
272         haifa's routine.
273
274 Thu Jul 22 18:21:04 1999  Richard Henderson  <rth@cygnus.com>
275
276         * explow.c (trunc_int_for_mode): New function.
277         (plus_constant_wide): Use it.
278         * combine.c (simplify_and_const_int): Likewise.
279         (merge_outer_ops): Likewise.
280         (simplify_shift_const): Likewise.
281         * cse.c (simplify_unary_operation): Likewise.
282         (simplify_binary_operation): Likewise.
283         * emit-rtl.c (operand_subword): Likewise.
284         * rtl.h: Declare it.
285
286 Thu Jul 22 14:34:59 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
287
288         * config/arm/arm.c (arm_print_operand): Fix typo in 'M' case
289         (use NUM_REGS instead of NUM_INTS).
290
291 Thu Jul 22 11:25:20 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
292
293         * builtins.c: New file.
294         * expr.c (saveregs_value, apply_args_value):  Delete definition,
295         moved into builtins.c.
296         (string_constant): No longer static.
297         (get_pointer_alignment, c_strlen, get_memory_rtx, expand_builtin,
298         apply_args_size, apply_result_size, result_vector,
299         expand_builtin_apply_args, expand_builtin_apply,
300         expand_builtin_return): Delete functions, moved into builtins.c.
301         (INCOMING_REGNO, OUTGOING_REGNO): Delete unused macros.
302         * expr.h (saveregs_value, apply_args_value): Declare variables.
303         (expand_builtin, string_constant): Declare functions.
304         * Makefile.in: Update to build builtin.o.
305
306 Wed Jul 21 00:46:58 1999  Mark P. Mitchell  <mark@codesourcery.com>
307
308         * defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): New macro.
309         * tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Define it.
310         * dwarf2out.c (dwarf2out_init): Don't output a label to mark the
311         start of the text section if DWARF2_GENERATE_TEXT_SECTION_LABEL is
312         false.
313         * config/mips/iris6.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): 
314         Define to zero.
315         
316 1999-07-21  Michael Meissner  <meissner@cygnus.com>
317
318         * print-rtl.c (print_rtx): Print the names of the virtual
319         registers.
320
321 Wed Jul 21 16:00:32 1999  Nick Clifton  <nickc@cygnus.com>
322
323         * config/arm/arm.h (INITIAL_ELIMINATION_OFFSET): Fix typo
324         introduced in previous delta.
325
326 Wed Jul 21 14:30:51 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
327
328         * c-lang.c (finish_file): Rename void_list_node to void_list_node_1
329         to avoid name clash.
330
331 Wed Jul 21 08:39:22 1999  Gavin Romig-Koch  <gavin@cygnus.com>
332
333         * c-lex.c (yylex) : Correct the test for overflow when lexing
334         integer literals.
335
336 Tue Jul 20 18:02:42 1999  Richard Henderson  <rth@cygnus.com>
337
338         * haifa-sched.c (insn_cost): FREE implies cost 0 and vice versa.
339         (adjust_priority): Always call ADJUST_PRIORITY.
340         (schedule_insn): Only put insns into the ready at cost 0.
341         (schedule_block): Remove redundant initial sort.  Give clock_var
342         and can_issue_more to MD_SCHED_REORDER.  Requeue if hazard cost
343         is not 0.
344         * tm.texi (MD_SCHED_REORDER): Update docs.
345
346         * sparc.h (MD_SCHED_REORDER): Update.  Set CAN_ISSUE_MORE.
347         * sparc.c (ultra_reorder_called_this_block): Delete.
348         (ultrasparc_sched_init): Don't set it.
349         (ultrasparc_sched_reorder): Don't check it.
350         
351 Tue Jul 20 17:07:54 1999  Richard Henderson  <rth@cygnus.com>
352
353         * rs6000.h (struct rs6000_args): Add sysv_gregno.
354         * rs6000.c (init_cumulative_args): Init sysv_gregno.
355         (function_arg_boundary): Align DFmode.
356         (function_arg_advance): Restructure for ABI_V4; use sysv_gregno
357         to get fp reg and stack overflow correct.
358         (function_arg): Likewise.
359         (function_arg_pass_by_reference): True for TFmode for ABI_V4.
360         (setup_incoming_varargs): Restructure for ABI_V4; use 
361         function_arg_advance to skip final named argument.
362         (expand_builtin_saveregs): Properly unskip the last integer arg
363         when doing varargs.  Adjust overflow location calculation.
364
365         * ginclude/va-ppc.h (struct __va_list_tag): Make gpr and fpr 
366         explicitly unsigned.
367         (__VA_FP_REGSAVE): Use new OFS argument instead of AP->fpr directly.
368         (__VA_GP_REGSAVE): Similarly.
369         (__va_longlong_p): Delete.
370         (__va_arg_type_violation): New declaration.
371         (va_arg): Restructure.  Flag promotion errors.  Align double. 
372         TFmode passed by reference.
373
374         * rs6000.md (movdi_32+1): Use GEN_INT after arithmetic
375         in the HOST_BITS_PER_WIDE_INT > 32 case.
376
377 Tue Jul 20 12:37:30 1999  Hans-Peter Nilsson  <hp@bitrange.com>
378
379         * dwarf2out.c (output_abbrev_section): Terminate with a zero.
380
381 Tue Jul 20 12:12:27 1999  Jason Merrill  <jason@yorick.cygnus.com>
382
383         * gcc.c (default_compilers, cpp-output): Pass -fpreprocessed.
384         * toplev.c (documented_lang_options): Add -fpreprocessed.
385         * cpplib.h (struct cpp_buffer): Add preprocessed.
386         * cppinit.c (cpp_handle_option): Handle -fpreprocessed.
387         (cpp_start_read): Don't expand macros or emit an initial #line
388         directive if -fpreprocessed.
389
390 Tue Jul 20 12:12:09 1999  Michael Tiemann  <tiemann@holodeck.cygnus.com>
391
392         * cpplib.h (struct cpp_buffer): Added manual_pop for
393         better C++ tokenization.
394         * cpplib.c (cpp_get_token): Return CPP_EOF if manual_pop.
395         Also, support C++ tokenization for ->*, .*, <?, and >? operators.
396         * c-common.c (cpp_token): Make non-static.
397
398 Tue Jul 20 11:24:19 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
399
400         * c-common.h: New file.
401         * c-common.c (permanent_obstack): Delete unused declaration.
402         (c_global_trees): New array.
403         (c_common_nodes_and_builtins): New function; split off common code
404         from init_decl_processing in both c-decl.c and cp/decl.c.
405         * c-tree.h: Delete lots of declarations of tree nodes; replaced by
406         c_global_trees and accessor macros defined in c-common.h.
407         Include c-common.h.
408         * c-decl.c: Delete definitions for tree nodes that were replaced by
409         c_global_trees.
410         (init_decl_processing): Build void_list_node.
411         Call c_common_nodes_and_builtins; delete code to generate the common
412         builtins here.
413         * objc/objc-act.c (build_module_descriptor): Rename variable
414         void_list_node to avoid clash with c-common.h.
415
416         * Makefile.in: Update dependencies.
417         * objc/Make-lang.in: Likewise.
418
419 Mon Jul 19 14:22:18 1999  Mark P. Mitchell  <mark@codesourcery.com>
420
421         * config/mips/iris6gld.h (MAKE_DECL_ONE_ONLY): Define.
422         (UNIQUE_SECTION_P): Likewise.
423         (UNIQUE_SECTION): Likewise.
424
425 1999-07-19  Linas Vepstas  <linas@linas.org>
426
427         * config/i370/README: New file.
428         * config/i370/linux.h: New file.
429         * config/i370/mvs.h: New file.
430         * config/i370/oe.h: New file.
431         * config/i370/t-linux: New file.
432         * config/i370/t-mvs: New file.
433         * config/i370/t-oe: New file.
434         * config/i370/x-oe: New file.
435         * config/i370/xm-linux.h: New file.
436         * config/i370/xm-mvs.h: New file.
437         * config/i370/xm-oe.h: New file.
438
439         * i370.c (label_node_t): Add first_ref_page, label_addr, 
440         label_first_ref, label_last_ref members.
441         (mvs_need_base_reload): Renamed from mvs_label_emitted.
442         (MAX_MVS_LABEL_SIZE): Define.
443         (MAX_LONG_LABEL_SIZE): Define.
444         (alias_node_t, alias_anchor, alias_number): New.
445         (mvs_function_table): Reorder for EBCDIC.
446         (ascebc, ebcasc): Unconditionally define.
447         (i370_branch_dest, i370_branch_length): New functions.
448         (i370_short_branch, i370_label_scan): New functions.
449         (mvs_get_label): Renamed from mvs_add_label.  Search for
450         an existing label before creating a new one.
451         (mvs_add_label): New function.
452         (mvs_get_label_page): New function.
453         (mvs_free_label_list): Renamed from mvs_free_label.  Iterate
454         over the entire list.
455         (mvs_check_page) [TARGET_HLASM]: Use BASR not BALR.
456         (mvs_check_page) [TARGET_ELF_ABI]: New function.
457         (mvs_add_alias, mvs_need_alias): New functions.
458         (mvs_get_alias, mvs_check_alias): New functions.
459         (handle_pragma): New function.
460         (mvs_function_check): New function.
461         (unsigned_jump_follows_p): Search harder.
462         (i370_function_prolog) [TARGET_HLASM]: Handle LE370.  Scan labels.
463         (i370_function_prolog) [TARGET_ELF_ABI]: New function.
464         * i370.h (TARGET_VERSION): Delete.
465         (CPP_SPEC, CPP_PREDEFINES): Delete.
466         (mvs_label_emitted): Delete.
467         (TARGET_EBCDIC): Delete.
468         (MAP_CHARACTER): Define only if TARGET_EBCDIC.
469         (HANDLE_PRAGMA): Define.
470         (HARD_REGNO_NREGS): Handle complex modes.
471         (HARD_REGNO_MODE_OK): Likewise.
472         (CLASS_MAX_NREGS): Likewise.
473         (RET_REG): Likewise.
474         (EXTRA_CONSTRAINT): Define.
475         (RETURN_IN_MEMORY): True for DImode.
476         (TRAMPOLINE_TEMPLATE): Use gen_rtx instead of GEN_INT.
477         (FUNCTION_PROFILER): Delete.
478         (COUNT_REGS): Fail if REG_P but not REG_OK_FOR_BASE_P.
479         (NOTICE_UPDATE_CC): Correct handling of MULT, DIV, logicals and shifts.
480         (TARGET_ESC, TARGET_BELL): Conditionally define for TARGET_EBCDIC.
481         (TARGET_BS, TARGET_TAB, TARGET_NEWLINE): Likewise.
482         (TARGET_VT, TARGET_FF, TARGET_CR): Likewise.
483         (ASM_FILE_START): Add "RMODE ANY".
484         (ASM_OUTPUT_EXTERNAL): Check for aliases.
485         (ASM_GLOBALIZE_LABEL): Likewise.
486         (ASM_OUTPUT_LABELREF): Likewise.
487         (ASM_OUTPUT_COMMON): Likewise.
488         (PRINT_OPERAND): Handle 'K', 'W', default.
489         (PRINT_OPERAND_ADDRESS): New.
490         (Lots of defines): Add support for TARGET_ELF_ABI.
491         * i370.md (attr length): New.  Define for all patterns.
492         (*): Lots of tweeks to assembly output and constraints.
493
494 Mon Jul 19 15:09:29 1999  David Edelsohn  <edelsohn@gnu.org>
495
496         * rs6000.md (arithmetic, logical, and shift Rc combiner patterns):
497         Disable patterns performing SImode comparisons with SImode values
498         if TARGET_POWERPC64 and instruction does not sign-extend or does
499         not mask to narrower than SImode, i.e. where bit 31 and bit 63 may
500         differ for signed quantities.
501         (indirect_jump): Add expander to choose RTL based on TARGET_64BIT.
502         (tablejump): Patterns contingent on TARGET_64BIT not TARGET_POWERPC64.
503         (decrement_and_branch_on_count): Add 64-bit variant.
504
505 Mon Jul 19 09:36:27 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
506
507         * final.c (output_asm_insn): When searching for the matching string
508         for a given dialect, don't run past the end of the list of
509         alternatives if there are fewer alternatives in the template than
510         dialects.
511
512 1999-07-17  Alexandre Oliva  <oliva@dcc.unicamp.br>
513         
514         * gcc.texi: Update e-mail addresses and URLs to gcc.gnu.org.
515         Removed paragraph about compression of files and size limitation,
516         duplicated in the FAQ.  Use gcc-patches for posting patches.
517         * gcc.c (main): Updated URL with bug reporting instructions to
518         gcc.gnu.org.  Removed e-mail address.
519         * system.h (abort): Likewise.
520
521 1999-07-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
522
523         * Makefile.in (stmp-multilib-sub): Make the files extracted
524         from $(LIBGCC1) writable.
525
526 Sat Jul 17 14:25:46 1999  Nick Clifton  <nickc@cygnus.com>
527
528         * config/arm/aout.h: Reformat for improved readability.
529         
530         * config/arm/arm.h: Reformat for improved readability.
531         Replace uses of fprintf with asm_fprintf where appropriate.
532         (ARM_DECLARE_FUNCTION_NAME): New macro:  Perform any generic ARM
533         function declaration assembler actions.
534         (NUM_INTS): New macro: Convert from bytes to words.
535         (NUM_REGS): New macro: Compute number of registers required to
536         hold a quanitity of tyep MODE.
537         (NUM_REGS2): New macro: Like NUM_REGS but also copes with BLKmode
538         types.
539         (NUM_ARG_REGS): New macro: The number of argument registers
540         available.
541         (ARG_REGISTER): New macro: Compute the register number of the Nth
542         argument register.
543         (LAST_ARG_REGNUM): New macro: The number of the last argument
544         register.
545         (SP_REGNUM): New macro: Register number of the stack pointer.
546         (FP_REGNUM): New macro: Register number of the frame pointer.
547         (FUNCTION_ARG, FUNCTION_ARG_PARTIAL_NREGS, INIT_CUMULATIVE_AGS,
548         FUNCTION_ARG_ADVANCE, SETUP_INCOMING_VARARGS): Change
549         CUMULATIVE_ARGS so that it counts registers not bytes.
550         
551         * config/arm/arm.c: Rename TARGET_THUMB_INTERWORK to
552         TARGET_INTERWORK.
553         Replace uses of fprintf with asm_fprintf where appropriate.
554         (output_ascii_pseudo_op): Replace with version from thumb.c
555
556         * config/arm/coff.h (ASM_FILE_START): Emit ASM_APP_OFF.
557
558         * config/arm/elf.h (CPP_PREDEFINES): Replace with
559         SUBTARGET_CPP_SPEC.
560         (ASM_DECLARE_FUNCTION_NAME): Use ARM_DECLARE_FUNCTION_NAME.
561         (ASM_FILE_START): Emit ASM_APP_OFF.
562         
563 Fri Jul 16 13:48:09 1999  Jeffrey A Law  (law@cygnus.com)
564
565         * pa.c (compute_frame_size): Round frame according to 
566         STACK_BOUNDARY rather than a hardwired value.
567
568         * pa.h (POINTER_SIZE, PARM_BOUNDARY): Define in terms of BITS_PER_WORD.
569         
570         * configure.in (hppa*-*-hpux11*): Use symbolic MASK_PA_11 instead
571         of "1".
572         * configure: Rebuilt.
573
574         * configure.in (hppa*-*-linux*): New configuration.
575         * configure: Rebuilt.
576         * pa.h (MAX_OFILE_ALIGNMENT): Delete.
577         * pa/som.h (MAX_OFILE_ALIGNMENT): Define.
578         * pa/pa-linux.h: New file.
579         * pa/t-linux: New file.
580         * pa/xm-linux.h: New file.
581
582         * pa.c (hppa_legitimize_address): Change references from SImode to
583         either Pmode or word_mode as appropriate.
584         (emit_move_sequence, store_reg, load_reg): Likewise.
585         (set_reg_plus_d, hppa_expand_prologue): Likewise.
586         (output_mul_insn): Likewise.
587         * pa.h (PROMOTE_MODE): Likewise.
588         (INITIALZE_TRAMPOLINE): Likewise.
589         (Pmode): Define to word_mode.
590
591         * pa.c (compute_frame_size): Use UNITS_PER_WORD instead of hardwired
592         value of 4.  Allocate 8 bytes for each FP register save.
593         (hppa_expand_epilogue): Use UNITS_PER_WORD instead of harwarewired
594         value of 4.
595         (hppa_expand_prologue): Likewise.
596         * pa.h (PROMOTE_MODE): Likewise.
597         (HARD_REGNO_MODE_OK, FUNCTION_ARG_SIZE): Likewise.
598         (FUNCTION_ARG_BOUNDARY): Likewise.
599
600         * invoke.texi (HPPA Options): Remove -mspace/-mno-space.
601
602         * pa.c (out_of_line_prologue_epilogue): Delete.
603         (override_options): Remove -mspace related code.
604         (hppa_expand_prologue, hppa_expand_epilogue): Likewise.
605         (compute_frame_size): Only allocate space for register that
606         actually need to be saved.
607         * pa.h (MASK_SPACE, TARGET_SPACE): Delete.
608         (TARGET_SWITCHES): Remove -mspace, -mno-space
609         * pa/t-pa (LIB2FUNCS_EXTRA): Remove ee.asm and ee_fp.asm
610         * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.  Remove -mspace multilib.
611         * pa/ee.asm, pa/ee_fp.asm: Delete.
612
613         * pa/elf.h (ASM_OUTPUT_DOUBLE_INT): Define.
614
615         * config/svr4.h (CONST_SECTION_ASM_OP): Do not emit assembler
616         directive in column zero.
617
618 Fri Jul 16 01:39:57 1999  Jeffrey A Law  (law@cygnus.com)
619
620         * m68k.c (output_function_prologue): Fix computation of save mask
621         when generating PIC code.
622
623 Thu Jul 15 15:40:09 1999  Jim Wilson  <wilson@cygnus.com>
624
625         * tree.c (build_type_attribute_variant): Move current_obstack restore
626         after build_qualified_type call.
627
628 1999-07-15  Mark Mitchell  <mark@codesourcery.com>
629
630         * configure.in: Use t-iris6, even with GNU LD.
631         * config/mips/iris6gld.h: Fix typo in linker spec.
632         * config/mips/t-iris6gld: Remove.
633
634 Thu Jul 15 15:15:43 1999  David Edelsohn  <edelsohn@gnu.org>
635
636         * rs6000.md (insv, extzv): Remove SImode dependence in named
637         patterns.  Explicitly generate DImode RTL if PowerPC64 and
638         operand is DImode.
639         (insvdi): Reverse start and size in instruction template.
640
641 1999-07-12  Joseph S. Myers  <jsm28@cam.ac.uk>
642
643         * invoke.texi: Typo fixes.
644
645 Wed Jul 14 23:28:06 1999  Jeffrey A Law  (law@cygnus.com)
646
647         * emit-rtl.c (gen_realpart): Issue an error for cases GCC can not
648         handle at this time instead of silently generating incorrect code.
649         (gen_imagpart): Likewise.
650
651         * reload.c (find_reloads): Emit a USE for a pseudo register without
652         a hard register if we could not create an optional reload for the
653         pseudo.
654
655 Wed Jul 14 23:45:48 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
656
657         * c-typeck.c (output_init_element, process_init_element):
658         When advancing constructor_unfilled_fields for a RECORD_TYPE,
659         check for nameless bit fields.
660
661 Wed Jul 14 01:57:39 1999  Richard Henderson  <rth@cygnus.com>
662
663         * regclass.c (scan_one_insn): Notice subregs that change the
664         size of their operand.
665         (record_reg_classes): Use that to obey CLASS_CANNOT_CHANGE_SIZE.
666
667 Wed Jul 14 01:41:42 1999  Jeffrey A Law  (law@cygnus.com)
668
669         * configure.in (alpha*-*-*): Include alpha/t-ieee.
670         * configure: Rebuilt.
671         * alpha/t-ieee: New file.
672
673 Tue Jul 13 10:45:58 1999  Jeffrey A Law  (law@cygnus.com)
674
675         * rs6000.c (find_addr_reg): Do not select r0 as an address
676         register.
677
678 Tue Jul 13 00:46:18 1999  Philippe De Muyter  <phdm@macqel.be>
679
680         * m68k/x-mot3300 (XCFLAGS): List of big files now includes `cse.o'.
681
682 Mon Jul 12 14:29:15 1999  Jeffrey A Law  (law@cygnus.com)
683
684         * rs6000.md (movsf): Do not force easy FP constants into memory.
685
686         * expr.c (expand_expr, case PLUS_EXPR): Pass constants through
687         immed_double_const to ensure they are properly truncated then
688         sign extended.
689
690 Mon Jul 12 10:40:01 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
691
692         * config/arm/thumb.c (thumb_reorg): Call replace_symbols_in_block
693         always unless NO_DEBUG is used.  Compile this code
694         unconditionally.
695         (replace_symbols_in_block): Compile it unconditionally.
696         
697 Sun Jul 11 12:32:32 1999  Jeffrey A Law  (law@cygnus.com)
698
699         * configure.in (i?86-*-elf*): New target.
700         * configure: Rebuilt.
701         * i386/i386elf.h, i386/t-i386elf: New files.
702
703 Fri Jul  9 22:39:44 1999  Jason Merrill  <jason@yorick.cygnus.com>
704
705         * toplev.c (main): Don't complain about saying -gdwarf.
706         (rest_of_compilation): Remove redundant code.
707
708 Fri Jul  9 19:08:55 1999  Jim Wilson  <wilson@cygnus.com>
709
710         * unroll.c (unroll_loops): Don't delete named CODE_LABELs.
711
712 Fri Jul  9 18:54:18 1999  Felix Lee  <flee@cygnus.com>
713
714         * config/i960/i960.c (ret_label): Change asm label from "LR:" to
715         "Li960R:", to avoid name clash.
716
717 Fri Jul  9 10:48:28 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
718
719         * loop.c (check_dbra_loop): When reversing a loop, delete all
720         REG_EQUAL notes referencing the reversed biv except those which are
721         for a giv based on it.
722
723 Fri Jul  9 03:51:52 1999  Jeffrey A Law  (law@cygnus.com)
724
725         * version.c: Drop "gcc-" prefix from version #.
726
727 Thu Jul  8 18:06:30 1999  Jason Merrill  <jason@yorick.cygnus.com>
728
729         * dwarf2out.c (dwarf2out_line): Emit a line number comment after
730         the label if we're being verbose.
731
732 Thu Jul  8 14:18:46 1999  Richard Henderson  <rth@cygnus.com>
733
734         * m68k.c (output_function_prologue): Add pic register to mask
735         if live and flag_pic.
736         (output_function_epilogue): Likewise.
737
738 Thu Jul  8 12:55:12 1999  Jeffrey A Law  (law@cygnus.com)
739
740         * dbxelf.h (ASM_OUTPUT_SOURCE_LINE): Do not put assembler
741         directives in column zero.
742
743         * pa/elf.h (ASM_FILE_START): Define.
744         * pa/som.h (ASM_FILE_START): Include .level directives.
745         * pa/hpux10.h (ASM_FILE_START): Delete.
746         * pa/hpux11.h (ASM_FILE_START): Delete.
747
748         * pa/elf.h (BSS_SECTION_ASM_OP): Use .section .bss.
749
750 Thu Jul  8 18:03:19 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
751
752         * reload1.c (choose_reload_regs): Never call remove_adress_replacements
753         when reload_out equals reload_in.
754
755 Thu Jul  8 16:50:14 1999  Nick Clifton  <nickc@cygnus.com>
756
757         * invoke.texi (Spec Files): New node: Describe the contents of
758         spec files.
759
760 Thu Jul  8 10:28:25 1999  Craig Burley  <craig@jcb-sc.com>
761
762         * invoke.texi (DEC Alpha Options): Put @end table at
763         beginning of line, to avoid confusing texi2html.
764
765 Thu Jul  8 09:22:06 1999  Nick Clifton  <nickc@cygnus.com>
766
767         * config/arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Fixed typo
768         introduced in previous delta.
769
770 Wed Jul  7 02:00:04 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
771
772         * reload1.c (gen_reload): When synthesizing a 3 operand add
773         sequence, improve test for when to reload OP1 into the reload
774         register instead of OP0.
775
776 Wed Jul  7 01:38:03 1999  Jim Wilson  <wilson@cygnus.com>
777
778         * unroll.c (unroll_loop): Don't delete NOTE_INSN_DELETED_LABEL notes.
779
780 1999-07-07  Manfred Hollstein  <mhollstein@cygnus.com>
781
782         * m88k/dguxbcs.h (CPP_SPEC): Add missing \ in multi-line
783         string literal.
784
785 Wed Jul  7 01:16:43 1999  Richard Henderson  <rth@cygnus.com>
786
787         * ginclude/varargs.h (__builtin_va_alist_t): New typedef.
788         (va_dcl): Use __builtin_va_alist_t.
789
790 Wed Jul  7 01:14:42 1999  Jason Merrill  <jason@yorick.cygnus.com>
791
792         * dwarf2out.c (gen_struct_or_union_type_die): Only remember types
793         on the permanent_obstack.
794         * dwarfout.c (output_type): Likewise.
795
796 Tue Jul  6 15:25:32 1999  Gavin Romig-Koch  <gavin@cygnus.com>
797
798         * c-common.c (unsigned_type,signed_type,signed_or_unsigned_type) :
799         Merged from c-typeck.c and cp/typeck.c.
800         * c-typeck.c (unsigned_type,signed_type,signed_or_unsigned_type) :
801         Merged into c-common.
802
803 Tue Jul  6 13:06:01 1999  Dave Brolley  <brolley@cygnus.com>
804
805         * c-lex.c (errorcount): Declare it.
806         (finish_parse): Update errorcount when using CPPLIB.
807
808 1999-07-06  Bruce Korb  <ddsinc09@ix.netcom.com>
809
810         * fixinc/inclhack.def(end_else_label): Double the backslash so
811         sed gets a chance to see it.
812         * fixinc/inclhack.sh: regen
813         * fixinc/fixincl.x: regen
814
815 Fri Jul  2 18:49:51 1999  Nick Clifton  <nickc@cygnus.com>
816
817         Add framework to support armv5 architecture when it becomes
818         available: 
819         
820         * config/arm/arm.c (FL_ARCH5): New processor capability flag.
821         (arm_arch5): New variable.
822         (all_architectures): Add armv5 line.
823         * config/arm/arm.h (CPP_CPU_ARCH_SPEC): Define __ARM_ARCH_5__ if
824         -march=armv5 is specified on the command line.
825         (arm_arch5): Export this variable.
826         * invoke.texi: Document new string accepted by -march= switch for
827         ARM ports.
828
829         * config/arm/arm.h: Replace use of constant 12 as a register
830         number with IP_REGNUM.  Similarly 14 and LR_REGNUM.
831         * config/arm/arm.c: Replace use of constant 12 as a register
832         number with IP_REGNUM.  Similarly 14 and LR_REGNUM.
833
834         * config/arm/elf.h: Tidy up.
835         * config/arm/coff.h: Tidy up.
836         
837 Thu Jul  1 19:08:13 1999  Mark P. Mitchell  <mark@codesourcery.com>
838
839         * gcc/configure.in (mips-sgi-irix6*): Handle --with-gnu-ld.
840         * gcc/config/mips/t-iris6gld: New file.
841         * gcc/config/mips/iris6gld.h: Likewise.
842
843 Fri Jul  2 13:23:39 1999  Gavin Romig-Koch  <gavin@cygnus.com>
844
845         * c-decl.c (widest_integer_literal_type_node,
846         widest_unsigned_literal_type) : New.
847         (init_decl_processing): Handle/use the two new types.
848         * c-common.c (type_for_size,type_for_mode) : Same.
849         * c-lex.c (yylex) : Same.
850         * c-typeck.c (unsigned_type,signed_type,signed_or_unsigned_type) :
851         Same.
852         * c-tree.h (widest_integer_literal_type_node,
853         widest_unsigned_literal_type) : New.
854
855 Fri Jul  2 03:05:44 1999  Jeffrey A Law  (law@cygnus.com)
856
857         * dwarfout.c (field_byte_offset): Correctly compute the object's
858         byte offset for the first bit of a field which crosses an alignment
859         boundary on a !BYTES_BIG_ENDIAN target.
860
861 Fri Jul  2 01:36:36 1999  Robert Lipe  <robertlipe@usa.net>
862
863         * fixinc.svr4: Fix <arpa/inet.h> by deleting protos for htons and
864         ntohs.
865
866 Fri Jul  2 00:46:47 1999  Richard Henderson  <rth@cygnus.com>
867                           Jeff Law <law@cygnus.com>
868
869         * ginclude/varargs.h (va_dcl): Use word_mode for type of
870         __builtin_va_list.
871
872         * except.c: Include intl.h.
873         (expand_eh_return): Set current_function_cannot_inline.
874         (save_eh_status, restore_eh_status): Twiddle eh_return_stub_label.
875         * function.h (struct function): Add eh_return_stub_label.
876         * flow.c (delete_unreachable_blocks): Don't merge across EH edges.
877         * Makefile.in (except.o): Depend on intl.h.
878
879 Fri Jul  2 00:04:23 1999  David Edelsohn  <edelsohn@gnu.org>
880
881         * rs6000.md (movdf_hardfloat32): Handle PRE_INC and PRE_DEC the
882         same as offsettable in cases 1 and 2.
883
884 Thu Jul  1 20:54:10 1999  Richard Henderson  <rth@cygnus.com>
885
886         * alpha.md (extqh): Define as 64-((R&7)*8) instead of 56-(((R-1)&7)*8).
887         (extlh, extwh): Likewise.
888
889 Thu Jul  1 11:05:25 1999  Gavin Romig-Koch  <gavin@cygnus.com>
890
891         * c-lex.c (yylex): Improve 'integer constant out of range' messages.
892
893 Wed Jun 30 16:51:41 1999  Nick Clifton  <nickc@cygnus.com>
894
895         * configure.in: Add arm-pe and thumb-pe targets.
896         * configure: Regenerate.
897
898         * thumb.c (arm_naked_function_p): New function: Determines if
899         a function is naked (has no gcc generated prologue/epilogue).
900         (is_called_in_ARM_mode): Return true if the func has the
901         interfacearm attribute.
902         (output_return): Do not generate a return for naked functions.
903         (thumb_function_prologue): Do not generate a prologue for
904         naked functions.
905         (thumb_expand_prologue): Do not generate a prologue for naked
906         functions. 
907         (thumb_expand_epilogue): Do not generate an epilogue for naked
908         functions.
909         (arm_valid_machine_decl_attribute): New function, copied from
910         arm.c:  Permit naked and interfacearm attributes.
911         
912         * config/arm/pe.c: New file: Support code for arm-pe target.
913         * config/arm/pe.h: New file: Header file for arm-pe target.
914         * config/arm/tpe.h: New file: Header file for thumb-pe target.
915         * config/arm/t-thumb-pe: New file: Makefile fragment for
916         thumb-pe target.
917         
918 1999-07-01  Mark Kettenis  <kettenis@gnu.org>
919
920         * config/i386/gnu.h (CPP_SPEC): Define __PIC__ and __pic__ if
921         -fPIC or -fpic is specified.
922
923 Wed Jun 30 03:31:54 1999  Jeffrey A Law  (law@cygnus.com)
924
925         * expr.c (emit_block_move): Use copy_to_mode_reg for
926         !TARGET_MEM_FUNCTIONS case too.
927
928         * configure.in (hppa*-*-*): Add som.h or elf.h to tm_file as
929         appropriate.
930         * configure: Rebuilt.
931         (hppa1.1-*-pro*, hppa1.1-*-rtems*): Define target_cpu_default.
932         * pa.h: Include dbxelf.h.  Delete various dbx/stabs related
933         definitions made redundant by dbxelf.h inclusion.  Delete
934         lots of definitions related to assembly output that are
935         specific to the SOM object format.
936         * pa.c (output_function_prologue): Do not emit the function's
937         name for OBJ_ELF.
938         * pa-pro-end.h (STARTFILE_SPEC): Undefine before redefining.
939         * pa-pro.h: Deleted.
940         * som.h: New file with SOM specific definitions.
941         * elf.h: New file with ELF specific definitions.
942
943         * elfos.h (const_section): Output a tab before assembler directives.
944         (ctors_section, dtors_section): Likewise.
945         (ASM_OUTPUT_SECTION_NAME): Likewise.
946
947         * pa/pa1.h: Delete unused file.
948
949 Tue Jun 29 01:37:53 1999  Jeffrey A Law  (law@cygnus.com)
950
951         * configure.in (hppa*-hp-hpux11*): New configuration.
952         * configure: Rebuilt.
953         * pa/pa-hpux11.h: New file.
954         * pa.h (CPP_SPEC): Conditionally add -D__STDC_EXT__ to the cpp
955         command line.
956
957         * mips.md (leasi, leadi): New patterns.
958
959         * expr.c (emit_block_move): Properly handle case where one of the
960         block move arguments has a queued increment or decrement.
961         (clear_storage): Similarly.  Fix formatting goof.
962
963 1999-06-28  "David O'Brien"  <obrien@NUXI.com>
964
965         * fixinc/inclhack.def(stdio_va_list): This patch Removes a
966         semicolon from the BSD VA_LIST replacement expression.
967
968         * fixinc/inclhack.sh: regen
969         * fixinc/fixincl.x: regen
970
971         * fixinc/mkfixinc.sh: Have `i[34567]86-*-freebsd*' machines
972         now use the fixincl program.
973
974 Mon Jun 28 05:28:12 1999  Jeffrey A Law  (law@cygnus.com)
975
976         * m68k.h (CONDITIONAL_REGISTER_USAGE): Define for !SUN_FPA
977         case.  Also make the PIC register call_used.
978
979         * m68k.h (FINALIZE_PIC): Delete.
980         * m68k.c (finalize_pic): Delete.
981         
982 Mon Jun 28 05:16:35 1999  Richard Henderson  <rth@cygnus.com>
983
984         * m68k.h (PREFERRED_RELOAD_CLASS): Don't force any FP const_doubles
985         to memory.
986
987 Mon Jun 28 04:07:27 1999  David Edelsohn  <edelsohn@gnu.org>
988
989         * expmed.c (expand_divmod): Ensure unsigned value fits in reg_note.
990
991 Sun Jun 27 02:39:08 1999  Richard Henderson  <rth@cygnus.com>
992
993         * jump.c (jump_optimize_1): Validate the cmov copy to a temporary.
994
995 Sat Jun 26 17:18:18 1999  David Edelsohn  <edelsohn@gnu.org>
996
997         * rs6000.c (print_operand, case 'L'): Use plus_constant_for_output.
998
999 Fri Jun 25 11:33:24 1999  Richard Henderson  <rth@cygnus.com>
1000
1001         * alpha.c (override_options): Add -mcpu=ev45 as an alias for ev4.
1002
1003 Fri Jun 25 13:41:25 1999  David Edelsohn  <edelsohn@gnu.org>
1004
1005         * rs6000.c (output_toc): Always use hex values for floating-point
1006         constants.  Store single-precision values in upper-half of TOC
1007         entry in 64-bit mode.
1008         * rs6000.md (floatsidf2, floatunssidf2): Add !TARGET_POWERPC64
1009         to final constraints.
1010         (fix_truncdfsi2 splitter): Change pattern matching fctiwz.
1011         (fctiwz): Improve accuracy of RTL for pattern.
1012
1013 Fri Jun 25 11:26:38 1999  Gavin Romig-Koch  <gavin@cygnus.com>
1014
1015         * expr.c (expand_expr): Allow RTL_EXPR's through the 
1016         MAX_INTEGER_COMPUTATION_MODE checks.
1017
1018 Fri Jun 25 06:06:37 1999  Richard Henderson  <rth@cygnus.com>
1019
1020         * alpha.h (MASK_SUPPORT_ARCH, MASK_CPU_EV5, MASK_CPU_EV6): Define
1021         such that MASK_SUPPORT_ARCH is not negative.
1022
1023 Fri Jun 25 05:35:44 1999  Jeffrey A Law  (law@cygnus.com)
1024
1025         * loop.c (verify_dominator): Properly handle ADDR_VEC and
1026         ADDR_DIFF_VEC insns that appear inside loops.
1027
1028 Thu Jun 24 22:54:05 1999  David Edelsohn  <edelsohn@gnu.org>
1029                           Jeff Law <law@cygnus.com>
1030
1031         * rs6000.md (movdf_hardfloat32): Revert previous patch.
1032         Handle LO_SUM the same as offsettable in cases 1 and 2.
1033         * rs6000.c (find_addr_reg): Revert previous patch.
1034
1035 Thu Jun 24 22:43:12 1999  Philippe De Muyter  <phdm@macqel.be>
1036
1037         * system.h (strstr): New external function declaration.
1038         * acconfig.h (NEED_DECLARATION_STRSTR): New define slot.
1039         * configure.in (GCC_NEED_DECLARATIONS): Check for strstr.
1040         * config.in, configure: Rebuilt.
1041
1042 1999-06-24  Tom Tromey  <tromey@cygnus.com>
1043
1044         * gcc.c (main): Read user-specified specs files after computing
1045         additional startfile_prefixes.
1046
1047 Thu Jun 24 15:00:47 1999  Mark Mitchell  <mark@codesourcery.com>
1048
1049         Revert these two patches:
1050
1051         Thu Jun 17 21:34:24 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1052         * loop.c (strength_reduce): When doing biv->giv conversion, update
1053         reg note of NEXT->insn.
1054
1055         Thu Jun 17 17:22:07 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1056         * loop.c (strength_reduce): When doing biv->giv conversion, fix up
1057         reg_biv_class.
1058         (recombine_givs): Set ix field after sorting.
1059
1060 Wed Jun 23 21:26:00 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1061
1062         * rtlanal.c (reg_referenced_p): Use reg_overlap_mentioned_p
1063         for the parts of an UNSPEC / UNSPEC_VOLATILE.
1064
1065 1999-06-23  Bruce Korb  <ddsinc09@ix.netcom.com>
1066
1067         *fixinc/inclhack.def:  Add fix development commentary
1068         (read_ret_type): reactivate and add selection clause
1069         (zzz_*): tweak output file name to match what is used in hackshell.tpl
1070         *fixinc/{fixincl.x|inclhack.sh}: regen
1071
1072 Wed Jun 23 00:48:21 1999  Jason Merrill  <jason@yorick.cygnus.com>
1073
1074         * expr.c (expand_expr): STRIP_NOPS before checking against
1075         MAX_INTEGER_COMPUTATION_MODE
1076         (check_max_integer_computation_mode): Likewise.
1077
1078 Tue Jun 22 20:23:43 1999  Jim Wilson  <wilson@cygnus.com>
1079
1080         * md.texi (smul@var{m}3_highpart): Add missing 's' prefix.
1081
1082 1999-06-22  Jim Wilson  <wilson@cygnus.com>
1083
1084         * expr.c (store_expr): When target is a promoted subreg, return a
1085         promoted subreg as a result.
1086
1087 Tue Jun 22 17:14:58 1999  Michael Meissner  <meissner@cygnus.com>
1088
1089         * dwarf2out.c (dwarf2out_frame_debug_expr): Reformat to match GNU
1090         coding standards.
1091         (dwarf2out_define): Mark unused parameters appropriately.
1092         (gen_unspecified_parameters_die): Ditto.
1093         (gen_subprogram_die): Fix signed/unsigned warnings.
1094         (gen_variable_die): Ditto.
1095         
1096 1999-06-22  Bruce Korb <ddsinc09@ix.netcom.com>
1097
1098         * fixinc/inclhack.def(end_else_label): combined else_label
1099         and endif_label and fixed the sed expression.
1100         *fixinc/{fixincl.x|inclhack.sh}: regen
1101
1102 Tue Jun 22 01:58:18 1999  Jeffrey A Law  (law@cygnus.com)
1103
1104         * rs6000.md (movdf_hardfloat32): Use %X instead of always emitting
1105         'x' when handling non-offsettable addresses
1106
1107 Tue Jun 22 00:20:05 1999  Richard Earnshaw (rearnsha@arm.com)
1108
1109         * final.c (shorten_branches): Don't try to split an insn that has
1110         been deleted.
1111
1112 Mon Jun 21 12:47:39 1999  Mark Mitchell  <mark@codesourcery.com>
1113
1114         * config/mips/mips.c (symbolic_expression_p): New function.
1115         (mips_select_rtx_section): Put symbolic expressions in the
1116         data section, not the read-only data section.
1117
1118 Mon Jun 21 22:13:06 1999  Jeffrey A Law  (law@cygnus.com)
1119
1120         * rs6000.md (find_addr_reg): Handle LO_SUM addresses.
1121
1122 Mon Jun 21 20:10:42 1999  Richard Henderson  <rth@cygnus.com>
1123
1124         * collect2.c (main): Log frame table count.
1125         (GCC_OK_SYMBOL) [ECOFF]: Accept stGlobal.
1126         (scan_prog_file) [COFF]: Handle frame tables.
1127
1128         * alpha/alpha.h (UNALIGNED_SHORT_ASM_OP): Define.
1129         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Define.
1130         * alpha/elf.h: Undef them again.
1131         * alpha/vms.h: Remove their definitions.
1132
1133 Tue Jun 22 03:17:53 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1134
1135         * sh.c (machine_dependent_reorg): When fixing up fp pcloads,
1136         remove the clobber of r0 and change the REG_UNUSED note to
1137         REG_INC.
1138
1139 1999-06-21  Jakub Jelinek  <jj@ultra.linux.cz>
1140
1141         * real.c (ereal_from_double): Fix for 64-bit big endian hosts.
1142         * emit-rtl.c (gen_lowpart_common): Add case for hosts where double
1143         fits in HOST_WIDE_INT and one uses union to access a long constant
1144         as double.
1145
1146 Mon Jun 21 17:18:25 1999  Richard Henderson  <rth@cygnus.com>
1147
1148         * sparc.c (sparc_override_options): Don't allow profiling for
1149         code models other than medlow.
1150         (sparc_function_profiler): New function from old FUNCTION_PROFILER
1151         macro.  Use ASM_GENERATE_INTERNAL_LABEL and MCOUNT_FUNCTION.
1152         (sparc_function_block_profiler): Likewise.  Use user_label_prefix.
1153         (sparc_block_profiler): Likewise.
1154         (sparc_function_block_profiler_exit): Likewise.
1155         * sparc.h (FUNCTION_PROFILER): Call new sparc.c function.
1156         (FUNCTION_BLOCK_PROFILER): Likewise.
1157         (BLOCK_PROFILER): Likewise.
1158         (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
1159         (MCOUNT_FUNCTION): New.
1160         * sparc/pbd.h (FUNCTION_PROFILER): Delete.
1161         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Delete.
1162         * sparc/sun4o3.h (FUNCTION_PROFILER): Delete.
1163         (MCOUNT_FUNCTION): New.
1164         * sparc/sysv4.h (FUNCTION_BLOCK_PROFILER): Delete.
1165         (BLOCK_PROFILER): Delete.
1166         (MCOUNT_FUNCTION): New.
1167
1168 Mon Jun 21 14:11:29 1999  David Edelsohn  <edelsohn@gnu.org>
1169
1170         * rs6000.md (movdf_hardfloat32): Fix typo in case 2.
1171
1172 Mon Jun 21 12:27:17 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
1173
1174         * config/mips/elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
1175         Add the macros.
1176
1177         * config/m68k/m68kelf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
1178         Ditto.
1179
1180         * config/sh/sh.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
1181         Ditto.
1182
1183         * config/arm/telf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
1184         Ditto.
1185
1186 Mon Jun 21 14:58:42 1999  Nick Clifton  <nickc@cygnus.com>
1187
1188         * config/arm/arm.h: Add cpp support for ARM920 and ARM920T cpu
1189         types. 
1190
1191 Mon Jun 21 06:22:21 1999  Mark Elbrecht <snowball3@bigfoot.com>
1192
1193         * i386/djgpp.h (LIB_SPEC): New.
1194         (STARTFILE_SPEC): New.
1195
1196         * i386/xm-djgpp.h (NO_SYS_SIGLIST): Deleted. Now obsolete.
1197
1198 Mon Jun 21 06:19:33 1999  Philippe De Muyter  <phdm@macqel.be>
1199
1200         * fixinc/Makefile.in (gnu-regex.o): Do not define STDC_HEADERS in
1201         compiler flags.
1202
1203         * system.h (WSTOPSIG): New macro.
1204
1205 Mon Jun 21 05:33:15 1999  Mumit Khan  <khan@xraylith.wisc.edu>
1206
1207         * c-pragma.c (push_alignment): Don't ignore alignments greater than
1208         4 bytes.
1209         (insert_pack_attributes): Take into account member natural 
1210         alignment.
1211
1212         * i386/winnt.c (exports_head): New static variable.
1213         (i386_pe_record_exported_symbol): New function.
1214         (i386_pe_asm_file_end): Use.
1215         * i386/cygwin.h (ASM_OUTPUT_COMMON): Record the exported
1216         symbols to be emitted at end of assembly.
1217         (ASM_DECLARE_OBJECT_NAME): Likewise.
1218         (ASM_DECLARE_FUNCTION_NAME): Likewise.
1219
1220         * i386/uwin.h (CPP_SPEC): Use -idirafter instead -iprefix and
1221         -iwithprefix.
1222
1223 Mon Jun 21 04:44:31 1999  Jeffrey A Law  (law@cygnus.com)
1224
1225         * sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Fix paren error introduced
1226         in last change.
1227
1228 Sun Jun 20 17:27:20 1999  Richard Henderson  <rth@cygnus.com>
1229
1230         * haifa-sched.c (sched_analyze_1): Use free_list instead of 
1231         zapping reg_last_uses directly.
1232         (sched_analyze_2, sched_analyze_insn): Likewise.
1233         (sched_analyze): Likewise.  Don't clear reg_last_uses on calls.
1234
1235 Sun Jun 20 16:57:29 1999  David Edelsohn  <edelsohn@gnu.org>
1236
1237         * rs6000.md (movdf_hardfloat32): Use worst case insn length
1238         attributes for cases 1 and 2.
1239
1240 Sat Jun 19 22:52:55 1999  Richard Henderson  <rth@cygnus.com>
1241
1242         * haifa-sched.c (sched_analyze): Mark call-user regs as clobbered
1243         instead of set.
1244
1245 Sat Jun 19 05:40:07 1999  Philip Blundell <pb@nexus.co.uk>
1246
1247         * arm.c (arm_reload_in_hi): Invert sense of test on BYTES_BIG_ENDIAN.
1248
1249 Sat Jun 19 05:25:05 1999  Richard Earnshaw (rearnsha@arm.com)
1250
1251         * arm.h (CONDITIONAL_REGISTER_USAGE): If flag_pic, never use
1252         PIC_OFFSET_TABLE_REGNUM for general alloaction.
1253         (INITIAL_ELIMINATION_OFFSET): Count the fact that the PIC register
1254         must be stacked if it is used for PIC accesses.
1255         * arm.c (use_return_insn): Handle PIC register specially.
1256         (output_return_instruction): Likewise.
1257         (output_func_{prologue,epilogue}): Likewise.
1258         (output_expand_prologue): Likewise.
1259
1260         * arm.md (*adddf_esfdf_df): Renamed from *adddf_df_esfdf.
1261         (*strsi_predec): Renamed from *strqi_predec.
1262         (*loadsi_shiftpreinc): Renamed from *loadqi_shiftpreinc.
1263         (*loadsi_shiftpredec): Renamed from *loadqi_shiftpredec.
1264
1265         * arm.c (arm_override_options): Remove warning about PIC code
1266         not being supported.
1267
1268 Fri Jun 18 23:47:06 1999  David Edelsohn  <edelsohn@gnu.org>
1269
1270         * rs6000.c (find_addr_reg): New function.
1271         * rs6000.h (find_addr_reg): Declare.
1272         (offsettable_addr_operand): Delete.
1273         * rs6000.md (movdf_hardfloat32): Handle non-offsettable loads
1274         from and stores to GPRs.
1275
1276 Fri Jun 18 15:44:18 1999  Richard Henderson  <rth@cygnus.com>
1277
1278         * alpha.c (alpha_expand_block_move): Use get_insns rather than
1279         gen_sequence as argument to emit_no_conflict_block.
1280
1281 Fri Jun 18 07:02 1999  Bruce Korb <ddsinc09@ix.netcom.com>
1282
1283         * fixinc/mkfixinc.sh: enable the fixincl program for DG/UX
1284         * fixinc/inclhack.def(dgux_int_varargs): script must end with \n
1285         *fixinc/fixincl.x: regen
1286         *fixinc/inclhack.sh: regen
1287
1288 Thu Jun 17 15:06:10 PDT 1999 Don Lindsay  <dlindsay@cygnus.com>
1289
1290         * added support for -mpcrel (PC relative addressing for m68k) 
1291         based on code done by Michael Tiemann  <tiemann@axon.cygnus.com>.
1292         * invoke.texi (m68000 options): Add documentation for -mpcrel flag.
1293         * m68k.c (print_operand_address): Handle 32-bit PIC case.
1294         (comments for general_src_operand): Add some explanation
1295         about EXTRA_CONSTRAINTS.
1296         (OVERRIDE_OPTIONS): Enable -fPIC in combination with -mpcrel.
1297         * m68kelf.h (OVERRIDE_OPTIONS): Ditto.
1298         (LEGITIMATE_PIC_OPERAND_P): Fix typo.
1299         (LEGITIMATE_PIC_OPERAND_P): Re-derive from m68k.h case.
1300         * m68k.h (LEGITIMATE_PIC_OPERAND_P): Fix delete-o.
1301         (INDIRECTABLE_1_ADDRESS): Delete spurious '/' at end of macro.
1302         (OVERRIDE_OPTIONS): Change behavior so that -mpcrel implies -fpic
1303         if not already set.
1304         (OVERRIDE_OPTIONS): Merge in changes from m68k.h.
1305         * m68k.h (TARGET_PCREL): New target flag.
1306         (TARGET_SWITCHES): Add "pcrel" as a recognized switch.
1307         (OVERRIDE_OPTIONS): Add checks for -mpcrel.
1308         (LEGITIMATE_PIC_OPERAND_P): Don't normally accept anything that
1309         contains a SYMBOL_REF.  Relax this constraint during reload, since
1310         we want to use the predicates, not reload's built-in concept of a
1311         valid memory address, to control what insns need reloading.
1312         (EXTRA_CONSTRAINT): Define constraints to accept pc-relative
1313         operands (essentially 'g', 'm', and 's' under normal circumstances).
1314         * m68k.c (print_operand): Cause printing of pc-relative addresses
1315         to include pc register.
1316         (print_operand_address): Ditto.
1317         (general_src_operand): Accept operands that are not only
1318         general_operands, but are also valid when used as a pc-relative
1319         source.
1320         (nonimmediate_src_operand): Similar, for nonimmediate_operands.
1321         (memory_src_operand): Similar, for memory_operands.
1322         (pcrel_address): New predicate to accept the special case of a
1323         pc-relative address.
1324         * m68k.md (many patterns): Rewrite common SImode, HImode, and
1325         QImode insns to accept *_src_operand instead of *_operand where
1326         pc-relative operands can fit.  For example, a pc-relative operand
1327         can be used as a memory source operand for addsi3, but not as a
1328         memory destination.
1329         * hp320.h linux.h m68kv4.h (LEGITIMATE_PIC_OPERAND_P) as in m68k.h.
1330
1331 Fri Jun 18 09:11:07 1999  Nick Clifton  <nickc@cygnus.com>
1332
1333         * config/arm/telf.h (ASM_OUTPUT_DEF_FROM_DECLS): New Marco: USe
1334         .thumb_set pseudo op to mark aliases of thumb functions.
1335
1336 Wed Jun 16 18:19:13 1999  Nick Clifton  <nickc@cygnus.com>
1337
1338         * varasm.c (assemble_alias): Use ASM_OUTPUT_DEF_FROM_DECLS in
1339         preference to ASM_OUTPUT_DEF, if it is defined.
1340
1341         * tm.texi: Document new, optional target macro
1342         ASM_OUTPUT_DEF_FROM_DECLS.
1343
1344 Thu Jun 17 15:07 1999  Bruce Korb <ddsinc09@ix.netcom.com>
1345
1346         * fixincludes: ISCNTL patch
1347         * fixinc/inclhack.def (ioctl_fix_ctrl): Fix the definition of [_]*ISCTRL().
1348         (dgux_int_varargs): new for DG/UX
1349         * fixinc/{fixincl.x,inclhack.sh}: Regenerated.
1350
1351 Thu Jun 17 21:34:24 1999  Jeff Law <law@cygnus.com>
1352
1353         * invoke.texi (ia32 options): Fix typo.
1354
1355 Thu Jun 17 21:34:24 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1356
1357         * loop.c (strength_reduce): When doing biv->giv conversion, update
1358         reg note of NEXT->insn.
1359
1360 Thu Jun 17 14:25:08 1999  Jeffrey A Law  (law@cygnus.com)
1361
1362         * loop.c (move_movables): Note issues with replacing REGs with
1363         SUBREGs.
1364         * mips.h (GO_IF_LEGITIMATE_ADDRESS): Handle SUBREGs properly.
1365
1366 Thu Jun 17 13:28:30 1999  David O'Brien <obrien@FreeBSD.org>
1367
1368         * i386/freebsd-elf.h (LINK_SPEC): Fix typo.
1369
1370         * i386/freebsd-elf.h (FUNCTION_PROFILER): labels are not needed and
1371         the reference to `mcount' was not correct for the ELF on FreeBSD.
1372
1373 Thu Jun 17 17:22:07 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1374
1375         * loop.c (strength_reduce): When doing biv->giv conversion, fix up
1376         reg_biv_class.
1377
1378         (recombine_givs): Set ix field after sorting.
1379
1380 Thu Jun 17 02:54:30 1999  Jeffrey A Law  (law@cygnus.com)
1381
1382         * emit-rtl.c (operand_subword): Tighten checks for when it is safe
1383         to safe to extract a subword out of a REG.
1384
1385 Thu Jun 17 01:45:24 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1386
1387         * sh.md (mulsi3): Don't add a no-op move at the end.
1388
1389 Wed Jun 16 20:29:00 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1390
1391         * cse.c (cse_insn): Don't put hard register source into tables for
1392         the last insn of a libcall.
1393
1394 Wed Jun 16 19:44:33 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1395
1396         * loop.c (strength_reduce): Insert sets of derived givs at every
1397         biv increment, even if it's the only one.
1398
1399 Wed Jun 16 10:33:02 1999  Jason Merrill  <jason@yorick.cygnus.com>
1400
1401         * dwarfout.c (add_incomplete_type): New fn.
1402         (output_type): Call it.
1403         (retry_incomplete_types): New fn.
1404         (dwarfout_finish): Call it.
1405
1406         From Eric Raskin <ehr@listworks.com>:
1407         (output_type): Output types for bases.
1408
1409 Tue Jun 15 12:51:23 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
1410
1411         * mips.c (mips_output_conditional_branch): Add `break' 
1412         between `default' label and `close braces'.
1413
1414 Tue Jun 15 01:55:20 1999  David O'Brien <obrien@FreeBSD.org>
1415
1416         * i386/freebsd-elf.h (LINK_SPEC): clean up the linking library 
1417         specifications and make it realistic.  
1418         (LIB_SPEC): Likewise.
1419
1420 Mon Jun 14 15:38:43 1999  Jim Wilson  <wilson@cygnus.com>
1421
1422         * config/mips/mips.c (mips_secondary_reload_class): Check for
1423         (PLUS (SP) (REG)) and return appropriate register class.
1424         * config/mips/mips.md (reload_insi): Delete predicate for operand 1.
1425         Handle (PLUS (SP) (REG)).
1426         (tablejump): In mips16 code, use emit_insn instead of emit_jump_insn.
1427         (tablejump_mips161, tablejump_mips162): Use emit_jump_insn instead
1428         of emit_insn for tablejump.
1429         
1430 Mon Jun 14 17:26:40 1999  David Edelsohn  <edelsohn@gnu.org>
1431
1432         * rs6000.c (output_prolog): RS6000_CALL_GLUE must be
1433         asm_fprintf format string by itself.
1434         (output_function_profiler): Likewise.
1435
1436 Mon Jun 14 12:57:38 1999  David Mosberger  <davidm@hpl.hp.com>
1437
1438         * combine.c (simplify_logical, case AND): Only call
1439         simplify_and_const_int if the mode is no wider than HOST_WIDE_INT
1440         or the constant is positive.
1441
1442 Mon Jun 14 11:43:41 1999  Nick Clifton  <nickc@cygnus.com>
1443
1444         * configure.in: Fix typo in rs6000-ibm-aix4 case.
1445         * configure: Regenerate.
1446
1447 Mon Jun 14 03:55:40 1999  Jeffrey A Law  (law@cygnus.com)
1448
1449         * configure.in (rs6000-ibm-aix4.3*, powerpc-ibm-aix4.3*): Do not
1450         require a sub-version #.
1451         * configure: Rebuilt.
1452
1453 1999-06-14  Robert Lipe  (robertlipe@usa.net)
1454
1455         * svr4.h (DWARF2_DEBUGGING_INFO): Check for redefinition.
1456
1457 Mon Jun 14 10:30:52 BST 1999  Nathan Sidwell  <nathan@acm.org>
1458
1459         * c-typeck.c (process_init_element): Detect excess elements in
1460         char array initializer.
1461
1462 1999-06-14  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
1463
1464         * gcc.texi: Mention gcc 2.96 instead of egcs 1.00.
1465
1466 Sat Jun 12 22:29:48 EDT 1999  Jerry Quinn <jquinn@nortelnetworks.com>
1467
1468         * invoke.texi (Option Summary): Add -fpermissive flag.
1469
1470 Sat Jun 12 03:40:42 1999  Jeffrey A Law  (law@cygnus.com)
1471
1472         * sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing with operands
1473         that require PIC code sequences.
1474
1475 Wed Jun  9 16:29:01 1999  Nick Clifton  <nickc@cygnus.com>
1476
1477         * configure.in: Add new target: thumb-elf.
1478         * configure: Regenerate.
1479         * config/arm/t-thumb-elf: New file: Makefile fragment for
1480         thumb-elf build.
1481         * config/arm/telf.h: New file: Header file for thumb-elf
1482         build. 
1483
1484 Fri Jun 11 03:17:51 1999  Jeffrey A Law  (law@cygnus.com)
1485
1486         * Makefile.in (libgcc2): Pass MAYBE_USE_COLLECT2 as an argument.
1487         * libgcc2.c (__CTOR_LIST, __DTOR_LIST); Do not provide
1488         initializers is some circumstances.
1489
1490         * fixinc/inclhack.def (endif_label): Add additional selector for
1491         more bogus stuff after #endif statements.
1492         * fixinc/inclhack.sh, fixinc/fixincl.x: Rebuilt.
1493
1494 Thu Jun 10 20:44:36 1999  Mumit Khan  <khan@xraylith.wisc.edu>
1495
1496         * i386/cygwin.h (SET_ASM_OP): Define.
1497
1498 Thu Jun 10 20:37:57 1999  Mumit Khan  <khan@xraylith.wisc.edu>
1499
1500         * reg-stack.c (stack_reg_life_analysis): Find all the RETURN insns.
1501
1502 Thu Jun 10 19:23:00 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1503
1504         * sh.h (TARGET_HARWARD, TARGET_HARVARD): Changed the former to the
1505         latter.
1506
1507         * sh.md (ic_invalidate_line_i): Remove second alternative.
1508
1509 Thu Jun 10 06:55 1999  Bruce Korb <ddsinc09@ix.netcom.com>
1510
1511         *fixinc/inclhack.def(sun_auth_proto): We do not know how to
1512         test for the presence of valid prototypes.  Delete bypass expr.
1513         (ioctl_fix_ctrl): Correct the selection expression.
1514         (no_double_slash): Correct quoting rules
1515         *fixinc/fixincl.x: regen
1516         *fixinc/inclhack.sh: regen
1517
1518 Thu Jun 10 15:08:15 1999  Nick Clifton  <nickc@cygnus.com>
1519
1520         * config/arm/arm.c (struct all_cores): Add ARM920 and ARM920t.
1521
1522 Wed Jun  9 15:57:57 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1523
1524         * rs6000.md (movsi_got_internal_mem): Delete.
1525         * rs6000.h (CONDITIONAL_REGISTER_USAGE): Mark PIC_OFFSET_TABLE_REGNUM.
1526         (GOT_TOC_REGNUM): Delete.
1527         (PIC_OFFSET_TABLE_REGNUM): Define.
1528         (FINALIZE_PIC): Disable.
1529         * rs6000.c (rs6000_got_register): New code for fixed pic register.
1530         (rs6000_replace_regno): Delete.
1531         (rs6000_finalize_pic): Likewise.
1532         (output_prolog): Handle PIC_OFFSET_TABLE_REGNUM.
1533
1534 Wed Jun  9 19:44:26 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1535
1536         * loop.c (loop_insn_first_p): Don't compare LUIDs when P
1537         is a note; use <= for the compare; advance P while it is
1538         a NOTE.
1539
1540 Wed Jun  9 13:12:24 1999  Jeffrey A Law  (law@cygnus.com)
1541
1542         * fixinc/inclhack.def (no_double_slash): Fix quoting for test.
1543         * fixinc/inclhack.sh, fixinc/fixincl.x, fixinc/fixincl.sh; Rebuilt.
1544
1545         * varasm.c (remove_from_pending_weak_list): Verify t->name
1546         is non-NULL before passing it to strcmp.
1547
1548 Wed Jun  9 06:50 1999  Bruce Korb <ddsinc09@ix.netcom.com>
1549
1550         *fixinc/inclhack.def(sun_auth_proto): bypass the patch if
1551         the typed arguments are not part of a comment
1552         (ioctl_fix_ctrl): Added a purpose comment
1553         *fixinc/fixincl.x: regenerate
1554         *fixinc/inclhack.sh: regenerate
1555
1556 Wed Jun  9 22:57:02 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1557
1558         * invoke.texi: Add C4x invocation docs.
1559
1560 Wed Jun  9 22:34:38 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1561
1562         * config/c4x/c4x.h (TARGET_EXPOSE_LDP, LEGITIMIZE_RELOAD_ADDRESS):
1563         Define new macros. 
1564         * config/c4x/c4x.c (c4x_emit_move_sequence, src_operand): Use
1565         TARGET_EXPOSE_LDP.
1566         (c4x_legitimize_reload_address): New function.
1567         * config/c4x/c4x.md: Update docs.
1568
1569 Wed Jun  9 04:14:48 1999  Jeffrey A Law  (law@cygnus.com)
1570
1571         * fixincludes: Avoid removing '.'.
1572         * fixinc/fixinc.svr4: Likewise.
1573         * fixinc/fixinc.winnt: Likewise.
1574         * fixinc/inclhack.tpl: Likewise.
1575         * fixinc/fixincl.sh, fixinc/inclhack.sh: Rebuilt.
1576
1577 1999-06-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1578
1579         * fixinc/inclhack.def (sun_catmacro): Escape parens in the select
1580         pattern.
1581         * fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
1582
1583 Wed Jun  9 03:10:34 1999  Mumit Khan  <khan@xraylith.wisc.edu>
1584
1585         * c-pragma.c (handle_pragma_token): Handle `#pragma pack()'
1586         correctly.
1587
1588 Tue Jun  8 13:06:15 1999  Jim Wilson  <wilson@cygnus.com>
1589
1590         * configure.in (rs6000-ibm-aix4.[12]*): Change rx6000 to rs6000.
1591         * configure: Regenerate.
1592         
1593 Tue Jun  8 05:47:48 1999  Richard Earnshaw (rearnsha@arm.com)
1594
1595         * optabs.c (expand_cmplxdiv_wide): Use expand_abs to get the absolute
1596         values.
1597
1598 Mon Jun  7 22:30:37 1999  Jeffrey A Law  (law@cygnus.com)
1599
1600         * fixinc/inclhack.def (avoid_bool): Also catch
1601         "typedef [unsigned] int bool".
1602         * fixinc/inclhack.sh, fixinc/fixincl.x, fixinc/fixincl.sh: Rebuilt.
1603
1604         * m68k/x-hp3bsd44: Delete obsolete and incorrect file.
1605         * configure.in (m68k-hp-bsd4.4): No longer use x-hp3bsd44.
1606         * configure: Rebuilt.
1607
1608 Mon Jun  7 22:05:03 1999  Mark Kettenis  <kettenis@gnu.org>
1609
1610         * config/i386/gnu.h: Include <gnu.h> right after <i386/linux.h>,
1611         such that we can override its definitions if necessary.
1612         (CPP_SPEC): New define.  Support processor specific predefines via
1613         %(cpp_cpu).
1614         (CC1_SPEC): New define.  Support processor specific compiler
1615         options via %(cc1_cpu).
1616         (STARTFILE_SPEC): New define.  Use crt0.o instead of crt1.o for
1617         -static.
1618
1619 1999-06-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1620
1621         * fixinc/inclhack.def (math_gcc_ifndefs): Insert whitespace
1622         between sed's -e flag, and the open-quote following it.
1623         * fixinc/fixincl.x, fixinc/fixincl.sh: Rebuilt.
1624
1625 Mon Jun  7 20:34:20 1999  Robert Lipe <robertlipe@usa.net>
1626                           Jeffrey A Law  (law@cygnus.com)
1627
1628         * varasm.c (assemble_start_function): Remove the function
1629         from the pending weak decls list when we define a function.
1630         (assemble_variable): Similarly for variables.
1631         (weak_finish): Ignore items on the list with a NULL name.
1632         (remove_from_ending_weak_list); New function to "remove" an item
1633         from the pending weak declarations list.
1634
1635 Mon Jun  7 19:27:07 1999  Jerry Quinn <jquinn@nortelnetworks.com>
1636
1637         * pa.md (fmpyfadd, fmpynfadd, fnegabs): New patterns.
1638
1639 Mon Jun  7 14:07:39 1999  Dave Brolley  <brolley@cygnus.com>
1640
1641         * c-lex.c (GETC): Redefine to call getch.
1642         (UNGETC): Redefine to call put_back.
1643         (putback_buffer): New structure type.
1644         (putback): New static structure.
1645         (getch): New function.
1646         (put_back): New function.
1647         (yylex): Replace unused bytes from bad multibyte character.
1648
1649 Mon Jun  7 13:33:39 1999  Dave Brolley  <brolley@cygnus.com>
1650
1651         * cpplib.c (do_define): Cast `alloca' return value.
1652         (do_include, do_undef, do_pragma): Likewise.
1653         * cpphash.c (dump_definition): Cast `xstrdup' and `alloca' return
1654         values.
1655         * cppfiles.c (initialize_input_buffer): Cast `xmalloc' return values.
1656         * gcc/cppspec.c (lang_specific_driver): Cast xmalloc return value.
1657
1658 Sun Jun  6 11:58:34 1999  Jakub Jelinek  <jj@ultra.linux.cz>
1659
1660         * sparc.md (abstf2): This should be an expand.
1661         (split after abstf2_notv9): Fix mode.
1662         (abstf2_hq_v9): New pattern.
1663         (abstf2_v9): Only use when no hard quad.
1664         (absdf2_v9): Fix if target is not the same as source.
1665         (ashrsi3_extend, ashrsi3_extend2, lshrsi3_extend, lshrsi3_extend2):
1666         Add correct output constraints.
1667
1668 Sat Jun  5 17:04:16 1999  Craig Burley  <craig@jcb-sc.com>
1669
1670         From Dave Love to egcs-patches on 20 May 1999 17:38:38 +0100:
1671         * invoke.texi: Clarify text vis-a-vis Intel CPUs.
1672
1673 Sat Jun  5 12:11:24 1999  Mark Mitchell  <mark@codesourcery.com>
1674
1675         * mips.h (mips_output_conditional_branch): New function.
1676         (mips_adjust_insn_length): Likewise.
1677         (ASSEMBLER_SCRATCH_REGNUM): New macro.
1678         (ADJUST_INSN_LENGTH): Likewise.
1679         * mips.c (print_operand): Add `F' and `W' for floating-point
1680         comparison opcodes.
1681         (machine_dependent_reorg): Adjust MIPS16 code; instruction-lengths
1682         are now in bytes.
1683         (mips_adjust_insn_length): New function.
1684         (mips_output_conditional_branch): New function.
1685         * mips.md (length): Adjust attribute definition to handle
1686         conditional branches.   Change lengths to bytes, rather than
1687         instructions throughout.  Remove length attribute from
1688         instructions whose length is four bytes, and rely on the default
1689         instead.
1690         (dslot): Fix typo in comment.
1691         Reword conditional branch patterns to use
1692         mips_output_conditional_branch.
1693
1694 Fri Jun  4 13:30:27 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1695
1696         * alpha/osf.h (CPP_SUBTARGET_SPEC): Handle -threads.
1697         (LIB_SPEC): Likewise.
1698         Link with -lprof1_r for -g/-pg.
1699
1700 1999-06-04  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
1701
1702         * loop.c (check_dbra_loop): Fix change of Jan 19.
1703
1704 Fri Jun  4 00:12:40 1999  Marc Espie <espie@cvs.openbsd.org>
1705
1706         * freebsd-elf.h (SWITCH_TAKES_ARG):  Redefine, not define.
1707         (STARTFILE_SPEC):  Define, override the svr4.h version.
1708         (ENDFILE_SPEC):  Likewise.
1709
1710 Thu Jun  3 23:58:55 1999  Jeffrey A Law  (law@cygnus.com)
1711
1712         * fixinc/inclhack.def (limits_ifndefs): Also apply to sys/limits.h
1713         * fixinc/fixincl.x: Regenerated.
1714         * fixinc/inclhack.sh: Regenerated.
1715
1716 Fri Jun  4 05:42:23 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1717
1718         * sh.c (barrier_align): Don't return early for normal branch/barrier
1719         when optimizing for SH2.
1720
1721 Thu Jun  3 22:27:50 1999  Robert Lipe  <robertlipe@usa.net>
1722
1723         * i386/udk.h (LINK_SPEC): Correct linker search path for 
1724         system libraries.
1725
1726 Fri Jun  4 03:20:40 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1727
1728         * sh.c (fixup_addr_diff_vecs): Emit braf reference label.
1729         (braf_label_ref_operand): Delete.
1730         * sh.h (PREDICATE_CODES): Remove braf_label_ref_operand.
1731         * sh.md (casesi_jump_2): Operand1 is now the inside of a
1732         label_ref, and has no predicate.
1733         The patten has a predicate to guard against invalid substitutions.
1734         (dummy_jump): Delete.
1735         (casesi): Update use of casesi_jump_2.
1736
1737 Thu Jun 3 07:48 1999  Bruce Korb <ddsinc09@ix.netcom.com>
1738
1739         *fixinc/inclhack.def(Io_Def_Quotes): corrected sed expression
1740         *fixinc/fixincl.x: regenerate
1741         *fixinc/inclhack.sh: regenerate
1742
1743 Thu Jun  3 02:15:07 1999  Jason Merrill  <jason@yorick.cygnus.com>
1744
1745         * dwarf2out.c (add_incomplete_type): New fn.
1746         (gen_struct_or_union_type_die): Call it.
1747         (retry_incomplete_types): New fn.
1748         (dwarf2out_finish): Call it.
1749
1750 Thu Jun  3 01:19:03 1999  Jeffrey A Law  (law@cygnus.com)
1751
1752         * gcse.c (insert_insn_end_bb): Correct placement of insns when the
1753         current block starts with a CODE_LABEL and ends with a CALL and
1754         we can not find all the argument setup instructions for the CALL.
1755
1756 Wed Jun  2 15:44:15 1999  Mark Mitchell <mark@codesourcery.com>
1757
1758         Revert this change:
1759         * fold-const.c (fold): STRIP_NOPS when deciding whether or not
1760         something is a candidate for optimize_bit_field_compare.
1761
1762 Wed Jun  2 21:53:05 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1763
1764         * sh.h (CONST_OK_FOR_I, CONST_OK_FOR_L): Cast VALUE to HOST_WIDE_INT.
1765
1766 Wed Jun  2 12:25:55 1999  Richard Henderson  <rth@cygnus.com>
1767
1768         * alpha.c (override_options): Thinko in last patch.
1769
1770         * alpha/osf.h (CPP_SUBTARGET_SPEC): Define.
1771         (LIB_SPEC): Recognize -pthread.
1772
1773 Wed Jun  2 08:42:55 1999  Nick Clifton  <nickc@cygnus.com>
1774
1775         * config/arm/tcoff.h (USER_LABEL_PREFIX): Synchronise with
1776         definition in config/arm/coff.h
1777         * config/arm/coff.h: Add comment about USER_LABEL_PREFIX.
1778
1779 Wed Jun  2 07:07 1999 Bruce Korb <ddsinc09@ix.netcom.com>
1780
1781         * fixinc/fixincl.c(global def): Add FD_SHELL_SCRIPT to mark
1782         fixes that need "file=xxx\n" prepended before invocation
1783         (start_fixer - new): starting the fixer process is complex enough
1784         to warrent its own routine.  It prepends the "file=xxx\n" stuff.
1785         (process): uses the new routine; omit usage of putenv()
1786         * fixinc/fixincl.tpl: mark shell scripts with FD_SHELL_SCRIPT
1787         * fixinc/fixincl.x: regenerate
1788
1789 Wed Jun  2 02:29:07 1999  Jeffrey A Law  (law@cygnus.com)
1790
1791         * README, configure.in, gcc.1, gcc.texi: Update name (egcs -> gcc)
1792         and version #s (1.1 -> 2.96) as needed.
1793         * README.g77: Kill way out of date file in the toplevel directory.
1794  
1795 Wed Jun  2 00:52:34 1999  David O'Brien <obrien@FreeBSD.org>
1796
1797         * configure.in (i[34567]86-*-freebsdelf): Don't include linux.h,
1798         i386/freebsd-elf.h no longer requires it.  Instead include svr4.h.
1799         * configure: Rebuilt.
1800         * i386/freebsd-elf.h (DEFAULT_VTABLE_THUNKS): Define.
1801         (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, SET_ASM_OP): Likewise.
1802         (PREFERRED_DEBUGGING_TYPE, WCHAR_UNSIGNED): Likewise.
1803         (SWITCH_TAKES_ARG): Likewise.
1804         * i386/freebsd.h: Remove FREEBSD_NATIVE support.
1805         * config/t-freebsd: Moved from config/i386/ so it can used for all
1806         FreeBSD targets.
1807
1808 Mon May 31 02:22:55 1999  Philippe De Muyter  <phdm@macqel.be>
1809
1810         * m68k/x-mot3300 (XCFLAGS): Fixed to match stb.o, not f/stb.o.
1811
1812 Wed Jun  2 00:08:34 1999  Robert Lipe  <robertlipe@usa.net>
1813
1814         * configure.in (i[34567]86-*-udk*): Install headers with cpio.
1815         * configure: Rebuilt.
1816
1817 Tue Jun  1 19:06:22 1999  David Edelsohn  <edelsohn@gnu.org>
1818
1819         * rs6000/aix41.h (RS6000_CALL_GLUE): Define.
1820         * rs6000/aix43.h (RS6000_CALL_GLUE): Likewise.
1821         * rs6000/rs6000.c (rs6000_file_start): Use putc.
1822         (rs6000_output_load_toc_table): Same.
1823         (output_prolog, output_mi_thunk): Same.
1824         * rs6000/rs6000.h (SELECT_SECTION): Formatting.
1825         (ASM_GLOBALIZE_LABEL): Use putc.
1826
1827 Mon May 31 15:23:23 1999  Richard Henderson  <rth@cygnus.com>
1828
1829         * alpha.md (reload_*_help): New patterns and splitters.
1830         (reload_*): Use them.
1831         (mov[qh]i): Likewise.
1832
1833 Mon May 31 11:48:07 1999  Mark Mitchell  <mark@codesourcery.com>
1834
1835         * cccp.c (handle_directive): Handle backslash-newlines in quoted
1836         strings correctly.
1837
1838 Mon May 31 09:36:11 1999  Cort Dougan  <cort@cs.nmt.edu>
1839
1840         * rs6000/linux.h (LINK_SPEC): Use emulation elf32ppclinux.
1841
1842 Mon May 31 11:40:20 EDT 1999  John Wehle  (john@feith.com)
1843
1844         * flow.c (mark_regs_live_at_end, insn_dead_p,
1845         mark_set_1, mark_used_regs): Only give FRAME_POINTER_REGNUM
1846         and HARD_FRAME_POINTER_REGNUM special treatment if reload
1847         hasn't run or the frame pointer is needed.
1848         * haifa-sched.c (attach_deaths): Likewise.
1849         * sched.c (attach_deaths): Likewise.
1850
1851 Mon May 31 00:46:17 1999  Jeffrey A Law  (law@cygnus.com)
1852
1853         * jump.c (jump_optimize_1): Only set CAN_REACH_END if 
1854         calculate_can_reach_end returns nonzero.
1855
1856         * configure.in (native gas tests): Search for an assembler in the
1857         same manner that the installed compiler will.
1858         * configure: Rebuilt.
1859         * tm.texi (MD_EXEC_PREFIX): Note need to update configure.in too.
1860
1861         * alias.c (find_base_term): Improve handling of addresses
1862         constructed from binary operations.
1863
1864 Sun May 30 14:29:17 1999  Eric Raskin (ehr@listworks.com)
1865
1866         * dgux.h (STARTFILE_SPEC): Fix incorrectly matched curly-braces.
1867
1868 Sun May 30 14:19:13 1999  Jeffrey A Law  (law@cygnus.com)
1869
1870         * function.h (cleanup_label, frame_offset): Declare.
1871         (tail_recursion_label, tail_recursion_reentry): Likewise.
1872         (arg_pointer_save_area, rtl_expr_chain): Likewise.
1873         * stmt.c (cleanup_label, frame_offset): Delete extern declarations.
1874         (tail_recursion_label, tail_recursion_reentry): Likewise.
1875         (arg_pointer_save_area, rtl_expr_chain): Likewise.
1876
1877 Sat May 29 19:08:10 1999  Philip Blundell  <philb@gnu.org>
1878
1879         * config/arm/aout.h (ASM_OUTPUT_ALIGN): Only define if not already 
1880         defined.
1881         * config/arm/elf.h (ASM_OUTPUT_ALIGN): Define.
1882         (MAX_OFILE_ALIGNMENT): Define.
1883
1884 Fri May 28 21:40 1999  Robert Lipe <robertlipe@usa.net>
1885
1886         * fixincl.c: Replace local include scheme with #includes of
1887         gansidecl.h and system.h.
1888         * procopen.c:  Likewise.
1889         * server.c:  Likewise.
1890
1891 Fri May 28 03:47:03 1999  Eric Raskin (ehr@listworks.com)
1892
1893         * i386/t-dgux (EXTRA_PARTS): Add crti.o
1894         (crti.o): Add build rule and dependencies.
1895         * fixinc/fixinc.dgux:  Use modified _int_varargs.h
1896
1897 Fri May 28 03:41:02 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1898
1899         * rs6000/sysv4.h (CC1_SPEC): Add support for -profile
1900         (LIB_LINUX_SPEC): Likewise.
1901         (LIB_LINUX_SPEC): Add support for -pthread
1902         (CPP_OS_LINUX_SPEC): Likewise.
1903         (CPP_SYSV_SPEC): Avoid redefinitions if both -fpic and -fPIC are
1904         specified.
1905
1906 Thu May 27 13:04:52 1999  H.J. Lu  (hjl@gnu.org)
1907
1908         * i386.c (output_fp_cc0_set): Don't check the JUMP_INSN code for
1909         conditional move.
1910         (notice_update_cc, output_float_compare): Enable TARGET_CMOVE support.
1911         (output_float_compare, output_fp_cc0_set): Fix the FLOAT comparison
1912         for IEEE math and CC_FCOMI.
1913         (put_jump_code): No IEEE if CC_FCOMI is set.
1914
1915 1999-05-27  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
1916
1917         * fold-const.c (fold_truthop): Make the field reference unsigned
1918         when converting a single bit compare.
1919
1920 Thu May 27 02:40:48 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1921
1922         * loop.c (strength_reduce): Don't do biv->giv conversion on constants.
1923
1924 Thu May 27 02:09:27 1999  Jeffrey A Law  (law@cygnus.com)
1925
1926         * varasm.c (STRIP_NAME_ENCODING): Remove default definition.
1927         * output.h (STRIP_NAME_ENCODING): Strip '*' like the old varasm
1928         version did.
1929
1930         * reload.c (push_reload): Do not call remove_address_replacements
1931         when presented with identical optional reloads.
1932
1933 Wed May 26 14:18:05 1999  Richard Henderson  <rth@cygnus.com>
1934
1935         * alpha.h (MASK_FIX, TARGET_FIX): New.
1936         (MASK_*): Reorganize constants.
1937         (CPP_AM_FIX_SPEC): New.
1938         (TARGET_SWITCHES): Add FIX.
1939         (EXTRA_SPECS): Likewise.
1940         (CPP_CPU_EV6_SPEC): Use FIX, not CIX.
1941         (SECONDARY_MEMORY_NEEDED): Likewise.
1942         (REGISTER_MOVE_COST): Likewise.
1943         * alpha.c (override_options): Add FIX support.  Always use 
1944         ALPHA_TP_PROG for ev6.
1945         * alpha.md (sqrt and mov[sd]i patterns): Use FIX, not CIX.
1946         * alpha/elf.h (ASM_FILE_START): Look at FIX too.
1947         * configure.in (target_cpu_default2) [ev6]: Use FIX, not CIX.
1948
1949 Wed May 26 09:53:05 1999  Mark Mitchell  <mark@codesourcery.com>
1950
1951         * fold-const.c (fold): STRIP_NOPS when deciding whether or not
1952         something is a candidate for optimize_bit_field_compare.
1953
1954 Wed May 26 09:40:02 1999  Mark Mitchell  <mark@codesourcery.com>
1955
1956         * gcc.texi (Passes): Document branch-shortening.
1957         * invoke.texi (Debugging Options): Document the fact that `-dp'
1958         outputs length information for instructions.
1959
1960 Wed May 26 08:49:31 1999  Nick Clifton  <nickc@cygnus.com>
1961
1962         * flow.c: Revert previous delta.
1963
1964 Wed May 26 06:05:10 1999  Nick Clifton  <nickc@cygnus.com>
1965
1966         * flow.c (insn_dead_p): Check against frame_pointer_rtx not
1967         FRAME_POINTER_REGNUM. 
1968         (mark_set_1): Ditto.
1969         (mark_used_regs): Ditto.
1970
1971 Wed May 26 02:19:31 1999  Philip Blundell  <pb@nexus.co.uk>
1972
1973         * arm.h (NEED_PLT_GOT): Fix mistake in last change.
1974         (GOT_PCREL): New macro.  Define to 1 if not already defined.
1975         * arm/elf.h (GOT_PCREL): Define to 0.
1976         * arm.c (arm_finalize_pic): Take into account the setting of
1977         GOT_PCREL.
1978
1979 Tue May 25 14:06:06 1999  Jeffrey A Law  (law@cygnus.com)
1980
1981         * output.h (STRIP_NAME_ENCODING): Provide default definition.
1982         * dwarf2out.c (ASM_NAME_TO_STRING): Use STRIP_NAME_ENCODING.
1983
1984         * flow.c (mark_set_1): Do not record BLKmode stores as dead
1985         store elimination candidates.
1986
1987 Tue May 25 08:55:57 1999  Gavin Romig-Koch  <gavin@cygnus.com>
1988
1989         * config/mips/mips.h (ASM_OUTPUT_DOUBLE_INT) : Use 'dword' if 
1990         TARGET_GAS.
1991
1992 Mon May 24 20:30:08 1999  Jim Wilson  <wilson@cygnus.com>
1993
1994         * configure.in (rs6000-ibm-aix4.[12]*): Delete use of aix41-gld.h.
1995         Add use of x-aix41-gld.
1996         
1997 Mon May 24 16:44:09 1999  Jakub Jelinek  <jj@ultra.linux.cz>
1998
1999         * sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Define.
2000         (ASM_OUTPUT_DESTRUCTOR): Define.
2001
2002 Mon May 24 14:35:24 1999  Jeffrey A Law  (law@cygnus.com)
2003
2004         * loop.c (strength_reduce): Do not clear NOT_EVERY_ITERATION at the
2005         last CODE_LABEL in a loop if we have previously passed a jump
2006         to the top of the loop.
2007
2008 Mon May 24 07:56:29 1999  Nick Clifton  <nickc@cygnus.com>
2009
2010         * config/arm/arm.h (OUTPUT_INT_ADDR_CONST): Fix blunder made when
2011         applying Philip's patch.
2012
2013 Mon May 24 01:02:12 1999  Mark Mitchell  <mark@codesourcery.com>
2014
2015         * stmt.c (expand_end_bindings): Ignore any elements of VARS that
2016         are not VAR_DECLs.
2017
2018 Sun May 23 20:31:16 1999  Jeffrey A Law  (law@cygnus.com)
2019
2020         * loop.c (strength_reduce): Grow reg_single_usage as needed.
2021
2022 Sun May 23 10:13:20 1999  David O'Brien <obrien@FreeBSD.org>
2023
2024         * i386/freebsd-elf.h (LINK_SPEC): Change -static to -Bstatic.
2025         Also remove a useless comment.
2026
2027 Sun May 23 10:05:23 1999  Jerry Quinn <jquinn@nortelnetworks.com>
2028
2029         * pa.md (negdf2,negsf2):  Use fneg instead of fsub on pa 2.0.
2030  
2031 Sat May 22 21:02:06 1999  David Edelsohn  <edelsohn@gnu.org>
2032
2033         * collect2.c (main): Only generate import or export file and add
2034         to link arguments if non-empty.  Use xmalloc not alloca.
2035         (write_{export,import}_file): Delete.
2036         (write_aix_file): New function.
2037         (locatelib): Use xmalloc not malloc.
2038         (GCC_OK_SYMBOL): Do not check type if aix64.
2039
2040 Sat May 22 09:35:51 1999  Philip Blundell  <pb@nexus.co.uk>
2041
2042         Based on patch by Scott Bambrough and Pat Beirne:
2043         * config/arm/arm.c (making_const_table): New variable.
2044         * config/arm/arm.h (making_const_table): Declare.
2045         (OUTPUT_INT_ADDR_CONST): Mark symbols as position independent if
2046         appropriate.
2047         * config/arm/arm.md (consttable_4, consttable_8, consttable_end):
2048         Keep track of when we are building the constant table.  
2049
2050 Sat May 22 09:34:22 1999  Philip Blundell  <pb@nexus.co.uk>
2051
2052         * config/arm/arm.c (arm_override_options): Fix erroneous warning
2053         message.
2054         
2055 Sat May 22 09:06:33 1999  Nick Clifton  <nickc@cygnus.com>
2056
2057         * config/arm/arm.h (NEED_PLT_GOT): Only define if not already
2058         defined. 
2059
2060 Sat May 22 07:17:05 1999  Nick Clifton  <nickc@cygnus.com>
2061
2062         * tm.texi (FUNCTION_ARG): Correct description of a stack element
2063         in a PARALLEL.
2064
2065 Sat May 22 01:27:49 1999  Mark Mitchell  <mark@codesourcery.com>
2066
2067         * expr.h (lang_expand_constant): Guard with #ifdef TREE_CODE.
2068
2069 Fri May 21 21:19:02 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2070
2071         * rs6000.c (output_mi_thunk): Enable full support again.
2072
2073 Fri May 21 20:09:52 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
2074
2075         * sh.h (BRANCH_COST): Define.
2076
2077 Thu May 20 10:00:42 1999   Stephen L Moshier  <moshier@world.std.com>
2078
2079         * Makefile.in (GCC_FOR_TARGET): Add -I$(build_tooldir)/include.
2080
2081 Thu May 20 09:58:57 1999  Jan Hubicka <hubicka@freesoft.cz>
2082
2083         * function.c (assign_stack_local): Align stack slot propertly.
2084         (assign_outer_stack_local): Likewise.
2085
2086 Thu May 20 10:38:43 1999  Mark Mitchell  <mark@codesourcery.com>
2087
2088         * expr.h (lang_expand_constant): Declare.
2089         * toplev.c (lang_expand_constant): Define it.
2090         * varasm.c (output_constant): Use it.
2091
2092 Thu May 20 11:28:53 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2093
2094         * optabs.c (expand_cmplxdiv_straight, expand_cmplxdiv_wide):
2095         Change function definitions to K&R style.
2096
2097 Thu May 20 08:16:39 1999  Bruce Korb <ddsinc09@ix.netcom.com>
2098
2099         * fixinc/fixincl.c: We must not ignore SIGCLD now.
2100
2101 Thu May 20 07:06:39 1999  Alexandre Oliva  <aoliva@acm.org>
2102
2103         * fixinc/Makefile.in(gnu-regex.o): add $(INCLUDES) to compile options
2104         * fixinc/fixincl.c(wait_for_pid): K&R-ify arguments
2105         (several places): omit static initialization
2106         (process): use single fd, since only the read fd is used
2107         * fixinc/gnu-regex.c: define 'const' away, if not supported
2108         * fixinc/procopen.c(several places): omit static initialization
2109         * fixinc/server.c: define 'volitile' away, if not supported
2110
2111 1999-05-20  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
2112
2113         * config/dbxcoff.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Use
2114         asm_fprintf and %L to generate the label name.
2115         * config/dbxelf.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Likewise.
2116         (ASM_OUTPUT_SOURCE_LINE): Correct generation of internal labels.
2117
2118 Thu May 20 01:40:55 1999  Jeffrey A Law  (law@cygnus.com)
2119
2120         * jump.c (can_reverse_comparison_p): Do not abort if the comparison
2121         insn for a conditional jump can not be found.
2122
2123 Wed May 19 23:58:58 1999  Jeffrey A Law  (law@cygnus.com)
2124
2125         * mips.h (ENCODE_SECTION_INFO): Do not perform GP optimizations
2126         on variables in specific sections other than .sbss and .sdata.
2127
2128 Wed May 19 03:56:56 1999  Mark Mitchell  <mark@codesourcery.com>
2129
2130         * stmt.c (expand_return): Call start_cleanup_deferral and
2131         end_cleanup_deferral around conditional code.
2132
2133 Wed May 19 08:40:08 1999  Bruce Korb <ddsinc09@ix.netcom.com>
2134
2135         * fixinc/fixincl.tpl: Avoid depending on ANSI C features for
2136         filename lists.  Utilizes new "krstr" AutoGen function.
2137         * fixinc/fixincl.x: Rebuilt.
2138
2139 Wed May 19 02:47:11 1999  Jan Hubicka  (hubicka@freesoft.cz)
2140
2141         * i386.c (output_float_compare): Avoid GNU-C extensions.
2142
2143 Wed May 19 00:34:40 1999  Jeffrey A Law  (law@cygnus.com)
2144
2145         * version.c: Bump to distinguish mainline tree from the
2146         gcc-2.95 branch.
2147
2148 See ChangeLog.1 for earlier changes.
2149
2150 Local Variables:
2151 add-log-time-format: current-time-string
2152 End: