OSDN Git Service

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