OSDN Git Service

* recog.c (general_operand, immediate_operand,
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
2
3         * recog.c (general_operand, immediate_operand,
4         nonmemory_operand): Require CONST_INTs to be sign-extended
5         values for their modes.
6
7 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
8
9         * expmed.c (store_bit_field): Truncate CONST_INTs.
10         (expand_mult_highpart, expand_divmod): Likewise.
11         * expr.c (convert_modes, store_field): Likewise.
12         * integrate.c (expand_inline_function): Use promote_mode() to
13         determine whether to convert_modes() an argument as signed
14         or unsigned.
15         * optabs.c (expand_binop): Get CONST_INT operands
16         sign-extended for their appropriate modes.
17         * stmt.c (emit_case_nodes): Convert node values to the
18         appropriate mode.
19         (expand_end_case): Convert minval and range to the appropriate
20         mode.
21         * unroll.c (loop_iterations): Truncate abs_diff to the mode of
22         the iteration variable.
23         * varasm.c (immed_double_const): Don't require words to be
24         narrower than host wide ints to properly sign-extend
25         CONST_INTs.
26
27 2001-04-12  kaz Kojima  <kkojima@rr.iij4u.or.jp>
28
29         * sh.md (builtin_setjmp_receiver): New expander.
30
31 2001-04-12  David Edelsohn  <dje@watson.ibm.com>
32
33         * config/rs6000/rs6000.c (rs6000_emit_move): Do not
34         special-case HOST_BITS_PER_WIDE_INT != 32.  Use same criteria
35         for generating CONST_INT and CONST_DOUBLE.
36
37 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
38
39         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
40         already sign-extended.
41         (rs6000_emit_prologue): Make register iterator signed.
42         (rs6000_emit_epilogue): Likewise.
43         * config/rs6000/rs6000.md (addsi3, adddi3): Sign-extend high
44         and low.
45         (movsf split, movdf split): Sign-extend CONST_INTs.
46         (movdi splits): Likewise.
47
48 2001-04-12  Kelley Cook <kelley.cook@home.com>
49
50         * config-lang.in (lang_dirs): Add in zlib.
51
52 2001-04-11  Alexandre Oliva  <aoliva@redhat.com>
53
54         * config/i386/i386.md: Apply trunc_int_for_mode() to GEN_INT
55         operands that make it to RTL.
56
57 2001-04-11  Stan Shebs  <shebs@apple.com>
58
59         Add Darwin (Mac OS X kernel) native support.
60         * config.gcc (powerpc-*-darwin*): Add native bits.
61         * config/darwin.c: New file, generic Darwin support functions.
62         * config/darwin.h: New file, generic Darwin definitions.
63         * config/darwin-protos.h: New file, generic Darwin prototypes.
64         * rs6000/darwin.h: New file, Darwin for PowerPC.
65         * rs6000/t-darwin: New file, Darwin makefile fragment.
66         * rs6000/rs6000.h (OBJECT_MACHO): New macro.
67         (TARGET_MACHO): Ditto.
68         (rs6000_abi): Add ABI_DARWIN.
69         (RS6000_REG_SAVE): Add ABI_DARWIN case.
70         (RS6000_SAVE_AREA): Ditto.
71         (FP_ARG_MAX_REG): Ditto.
72         (RETURN_ADDRESS_OFFSET): Ditto.
73         * rs6000/rs6000.c (rs6000_legitimize_address): Add TARGET_MACHO
74         cases.
75         (rs6000_emit_move): Add ABI_DARWIN cases.
76         (print_operand): Ditto.
77         (first_reg_to_save): Ditto.
78         (rs6000_stack_info): Ditto, also align stack by 16 instead of 8.
79         (debug_stack_info): Ditto.
80         (rs6000_emit_prologue): Ditto.
81         (rs6000_emit_epilogue): Ditto.
82         (output_profiler_hook): Ditto.
83         (output_function_profiler): Ditto.
84         (rs6000_add_gc_roots): Call machopic_add_gc_roots if TARGET_MACHO.
85         (output_mi_thunk): Add TARGET_MACHO case.
86         (add_compiler_stub): Ditto.
87         (output_compiler_stub): Ditto.
88         (no_previous_def): Ditto.
89         (output_call): Ditto.
90         (machopic_output_stub): Ditto.
91         (rs6000_machopic_legitimize_pic_address): Ditto.
92         (toc_section): Ditto.
93         * rs6000/rs6000.md (addsi3_high): New TARGET_MACHO pattern.
94         (macho_high): Ditto.
95         (macho_low): Ditto.
96         (movsi_low): Ditto.
97         (load_macho_picbase): Ditto.
98         (call): Add TARGET_MACHO case to modify function.
99         (call_value): Ditto.
100         (call_nonlocal_sysv): Add ABI_DARWIN case.
101         (call_value_nonlocal_sysv): Ditto.
102         * rs6000/rs6000-protos.h (rs6000_machopic_legitimize_pic_address):
103         Add prototype.
104         (machopic_output_stub): Ditto.
105         * ginclude/stddef.h: Test _BSD_WCHAR_T_DEFINED_.
106
107 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
108
109         * dwarf2out.c (modified_type_die): Don't create new types here.
110         * tree.h (get_qualified_type): New function.
111         (build_qualified_type): Adjust comment.
112         * tree.c (get_qualified_type): New function.
113         (build_qualified_type): Use it.
114
115 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
116
117         * cpp.texi (-Wtraditional): Update description.
118
119         * invoke.texi (-Wtraditional): Likewise.
120
121 2001-04-11  Jim Wilson  <wilson@redhat.com>
122
123         * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Return 128 if argument
124         requires more than 64 bits of alignment.
125
126 2001-04-11  Neil Booth  <neil@daikokuya.demon.co.uk>
127
128         * cpplib.c (do_line): Sanity check iff enable checking.
129
130 2001-04-11  Richard Henderson  <rth@redhat.com>
131
132         * Makefile.in (insn-recog.o): Depend on toplev.h.
133         (insn-emit.o, doloop.o): Likewise.
134         * genrecog.c, genemit.c: Include toplev.h in generated file.
135         * doloop.c: Include toplev.h.
136
137 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
138
139         * Makefile.in (gcse.o): Depend on params.h.
140         * gcse.c: Include params.h.
141         (gcse_main): Don't do GCSE if doing so will take inordinate
142         amounts of memory.
143         * params.def (PARAM_MAX_GCSE_MEMORY): New  parameter.
144         * params.h (MAX_GCSE_MEMORY): New macro.
145
146 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
147
148         * Makefile.in (insn-output.o): Depend on $(EXPR_H).
149
150         * genoutput.c (output_prologue): Include expr.h in insn-output.c.
151
152 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
153
154         * output.h (assemble_real): Declare if REAL_VALUE_TYPE is defined.
155
156         * real.h (ereal_atof, real_value_truncate, target_isnan,
157         target_isinf, target_negative, assemble_real, debug_real): Delete
158         redundant prototypes.
159
160         * Makefile.in (ifcvt.o): Depend on toplev.h.
161
162         * c-semantics.c: Include expr.h.
163
164         * ifcvt.c: Include toplev.h.
165
166         * expr.h (rtx_equal_p): Delete prototype.
167
168         * rtl.h (exact_log2_wide, floor_log2_wide, permalloc,
169         protect_from_queue, gen_jump, gen_beq, gen_bge, gen_ble,
170         eliminate_constant_term, expand_complex_abs, find_single_use,
171         make_tree, init_expr_once, init_optabs, supports_one_only):
172         Likewise.
173         
174         * tree.h (exact_log2_wide, floor_log2_wide, expand_null_return,
175         rest_of_type_compilation, emit_queue, do_pending_stack_adjust,
176         expand_assignment, store_expr, emit_line_note_after,
177         emit_line_note_force, split_specs_attrs, label_rtx): Likewise.
178         
179         * toplev.h (exact_log2_wide, floor_log2_wide): Add prototype.
180
181         * sparc-protos.h: Delete redundant prototypes.
182
183 2001-04-11  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
184
185         * reload.c (push_reload): Add condition missed in SUBREG byte
186         offset patch.
187
188 Wed Apr  4 00:28:23 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
189
190         * sparc/sol2-sld-64.h (STARTFILE_SPEC): Added missing blank.
191
192 Wed Apr 11 14:06:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
193
194         * i386.md (floatsisf_sse): Fix output template
195         * i386.c (ix86_expand_fp_movcc)
196
197         * reg-stack.c (emit_pop_insn): Handle complex modes.
198         (move_for_stack_reg): Emit proper move mode.
199         (subst_stack_regs_pat): Handle complex modes.
200
201 2001-04-11  Jakub Jelinek  <jakub@redhat.com>
202
203         * cpplex.c (_cpp_lex_token): Only warn if -Wcomment.
204
205 2001-04-10  Richard Henderson  <rth@redhat.com>
206
207         * libgcc2.h (__terminate_func_ptr): Remove typedef.
208         (__pure_virtual, __terminate, __terminate_set_func,
209         __default_terminate, __throw_type_match, __empty,
210         __get_eh_context, __get_eh_info, __get_dynamic_handler_chain,
211         __eh_rtime_match, __unwinding_cleanup, __rethrow,
212         __sjthrow, __sjpopnthrow, __eh_alloc, __eh_free):
213         Remove prototypes of deleted functions.
214
215 2001-04-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
216
217         * c-typeck.c (convert_arguments): -Wtraditional now activates
218         -Wconversion warnings, except for changes in signed-ness.
219         Detect complex<->int & int<->complex conversions as well.
220
221         * invoke.texi (-Wtraditional): Document it.
222
223 Tue Apr 10 17:45:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
224
225         * gcse.c (update_ld_motion_stores): Don't use variable I for an insn.
226         * flow.c (set_block_for_new_insns): Remove needless cast and
227         properly check for unset block number.
228
229 2001-04-10  Andrew MacLeod  <amacleod@redhat.com>
230
231         * function.c (purge_single_hard_subreg_set): Only check REGNO if 
232         the subreg was a hard register. Pseudos are left as subregs.
233
234 2001-04-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
235
236         * Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro.
237         (LIB2ADD_ST): New macro, pass it to mklibgcc.
238         * mklibgcc.in (libgcc2_st_objs): New variable, set it from LIB2ADD_ST.
239         (libgcc_st_objs): New, set from libgcc2_st_objs. Use it for libgcc.a.
240         * config/rs6000/t-ppccomm (LIB2FUNCS_STATIC_EXTRA): New macro.
241
242 2001-04-09  Bo Thorsen  <bo@suse.co.uk>
243
244         * config/i386/i386.md: "TARGET_64BIT && TARGET_64BIT": Removed one.
245
246 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
247
248         * output.h (set_block_num): Missed it earlier, remove deprecated 
249         prototype.
250
251 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
252
253         * gcse.c (oprs_unchanged_p): Pass basic_block to load_killed_in_block_p.
254         (load_killed_in_block_p): Change bb parameter from int to basic_block.
255         (oprs_not_set_p): Pass basic_blocks instead of ints as parameters.
256         (handle_rd_kill_set): Change bb parameter from int to basic_block.
257         (compute_kill_rd): Pass basic_blocks instead of ints as parameters.
258         (expr_killed_p): Change bb parameter from int to basic_block, pass 
259         basic_blocks instead of ints as parameters.
260         (compute_ae_kill): Pass basic_blocks instead of ints as parameters.
261         (expr_reaches_here_p_work, expr_reaches_here_p): Change bb parameter 
262         from int to basic_block, pass basic_blocks instead of ints as parms.
263         (pre_expr_reaches_here_p_work, pre_expr_reaches_here_p): Change bb 
264         parameter from int to basic_block, pass basic_blocks instead of ints.
265         (process_insert_insn): Pass basic_blocks instead of ints as parameters.
266         (insert_insn_end_bb): Change bb parameter from int to basic_block, 
267         pass basic_blocks instead of ints.
268         (pre_edge_insert, pre_insert_copy_insn, pre_insert_copies): Pass 
269         basic_blocks instead of ints as parameters.
270         (pre_delete): Pass basic_blocks instead of ints as parameters.
271         (hoist_expr_reaches_here_p): Change bb parameter from int to 
272         basic_block, pass basic_blocks instead of ints.
273         (hoist_code): Pass basic_blocks instead of ints as parameters.
274         (reg_set_info, store_ops_ok, store_killed_after, store_killed_before): 
275         Change bb parameter from int to basic_block.
276         (build_store_vectors): Pass basic_blocks instead of ints as parameters.
277         (insert_insn_start_bb): Change bb parameter from int to basic_block, 
278         pass basic_blocks instead of ints.
279         (insert_store): Pass basic_blocks instead of ints as parameters.
280         (replace_store_insn, delete_store): Change bb parameter from int to 
281         basic_block, pass basic_blocks instead of ints.
282         (store_motion): Pass basic_blocks instead of ints as parameters.
283
284 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
285
286         * basic-block.h (set_new_block_for_insns): New Prototype.
287         (set_block_num): Delete prototype.
288         * flow.c (set_block_num): Remove obsolete function.
289         (set_block_for_new_insns): Set BB for single or multiple insns.
290         * gcse.c (handle_avail_expr): Use set_block_for_new_insns.
291         (process_insn_end_bb): Use set_block_for_new_insns or 
292         set_block_for_insn instead of set_block_num.
293         (pre_insert_copy_insn): Use set_block_for_new_insns.
294         (update_ld_motion_stores): Use set_block_for_new_insns.
295         (insert_insn_start_bb): Use set_block_for_new_insns.
296         (replace_store_insn): Use set_block_for_new_insns.
297
298 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
299             Jeff Law  <law@redhat.com>
300
301         * alias.c (get_addr): Externalize.
302         (canon_true_dependence): New function. Behaves like true_dependance
303         except it already assumes a MEM has been canonicalized.
304         * flags.h (flag_gcse_lm, flag_gcse_sm): New optimization flags.
305         * gcse.c (struct ls_expr): Add load/store expressions structure.
306         (modify_mem_list, canon_modify_mem_list): New variable.
307         (gcse_main): Initialize & finalize alias analysis. Use enhanced 
308         load motion and store motion if requested.
309         (alloc_gcse_mem): Allocate space for modify_mem_list array.
310         (free_gcse_mem): Free the modify_mem_list array.
311         (oprs_unchanged_p): Use load_killed_in_block_p.
312         (gcse_mems_conflict_p, gcse_mem_operand): New variables.
313         (mems_conflict_for_gcse_p): New function.  Don't kill loads 
314         with stores to themselves if its in the load/store expression list.
315         (load_killed_in_block_p): New function.
316         (canon_list_insert): New Function.
317         (record_last_mem_set_info): Keep a list of all instructions which
318         can modify memory for each basic block.
319         (compute_hash_table, reset_opr_set_tables): Clear modify_mem_list.
320         (oprs_not_set_p): Use load_killed_in_block_p.
321         (mark_call, mark_set, mark_clobber): Use record_last_mem_set_info.
322         (expr_killed_p): Use load_killed_in_block_p.
323         (compute_transp): Do not pessimize memory references.
324         (pre_edge_insert): Update stores for a load motion expression.
325         (one_pre_gcse_pass): Check loads/stores for extra load motion.
326         (ldst_entry): Find or create a ldst_expr structure.
327         (free_ldst_entry): Free memory for an individual item.
328         (free_ldst_mems): Free entire load/store expression list.
329         (print_ldst_list): Print debug info.
330         (find_rtx_in_ldst): Try to find an rtx expression in the ldst list.
331         (enumerate_ldsts): Assign integer values to each entry in list.
332         (first_ls_expr): First expression in the list.
333         (next_ls_expr): Next expression in the list.
334         (simple_mem): Check if expression qualifies for ld/st expression list.
335         (invalidate_any_buried_refs): Remove from expression list if its
336         used in some other way we dont understand.
337         (compute_ld_motion_mems): Find all potential enhanced load motion
338         expression.
339         (trim_ld_motion_mems): Remove any expressions which are invalid.
340         (update_ld_motion_stores): Copy store values to registers for loads
341         which have been moved.
342         (regvec, st_antloc, num_store): New global statics.
343         (reg_set_info): Marks registers as set.
344         (store_ops_ok): Verfies registers expressions are valid in a block.
345         (find_moveable_store): Look for moveable stores in a pattern.
346         (compute_store_table): Find stores in a function worth moving, maybe.
347         (load_kills_store): Check dependance of a load and store.
348         (find_loads): Find any loads in a pattern.
349         (store_killed_in_insn): Check if a store is killed in an insn.
350         (store_killed_after): Check is store killed after an insn in a block.
351         (store_killed_before): Check is store killed before an insn in a block.
352         (build_store_vectors): Generate the antic and avail vectors.
353         (insert_insn_start_bb): Insert at the start of a BB, update BLOCK_HEAD.
354         (insert_store): Add a store to an edge.
355         (replace_store_insn): Replace a store with a SET insn.
356         (delete_store): Delete a store insn.
357         (free_store_memory): Free memory.
358         (store_motion): Perform store motion.
359         * invoke.texi: Add documentation for -fcse-lm and -fgcse-sm.
360         * rtl.h (get_addr, canon_true_dependence): Add prototypes.
361         * toplev.c (flag_gcse_lm, flag_gcse_sm): New Variables.
362         (f_options): Add gcse-lm and gcse-sm.
363
364 Mon Apr  9 16:18:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
365
366         * i386.c (expand_fp_movcc): Fix condition reversal code.
367
368         * i386.c (ix86_register_move_cost): Fix handling of reformating penalty
369         * i386.h (INTEGER_CLASS_P, MAYBE_INTEGER_CLASS_P): New.
370         (CLASS_MAX_NREGS): Use it.
371
372         * i386.h (HARD_REGNO_NREGS): Handle properly TF and TCmodes on 64bit;
373         handle properly complex values.
374         (CLASS_MAX_NREGS): Likewise; update comment.
375
376 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
377
378         * ia64.c (ia64_flag_schedule_insns2): New variable.
379         (ia64_override_options): Initialize it.  Clear
380         flag_schedule_insns_after_reload.
381         (ia64_reorg): Only do scheduling if ia64_flag_schedule_insns2.
382
383 Mon Apr  9 15:09:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
384
385         * i386.md (truncdfsf2_*): Add i387->int/sse reg alternatives;
386         Do not require source to match destination anymore;
387         Add abort to the nontrivial cases that should be handled by split.
388         (fix_trunc?fdi): Add SSE case for x86_64.
389         (floatdi?f): Likewise.
390         (floatdi?f_sse): New.
391         (fix_trunc?fdi_sse): New.
392
393 2001-04-09  Richard Sandiford   <rsandifo@redhat.com>
394
395         * dwarfout.c (DEBUG_ARANGES_BEGIN_LABEL): New label.
396         (DEBUG_ARANGES_END_LABEL): Ditto.
397         (dwarfout_init): Generate length and version fields at the start
398         of the .debug_aranges info.  Insert DEBUG_ARANGES_BEGIN_LABEL
399         after the length field.
400         (dwarfout_finish): Insert DEBUG_ARANGED_END_LABEL at the end of
401         the .debug_aranges info.
402
403 Sun Apr  8 00:43:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
404
405         * i386.c (call, call_value): Make sure that resulting call_insn
406         does have proper second operand.
407
408 Sun Apr  8 22:50:49 2001  Christopher Faylor <cgf@cygnus.com>
409
410         * config/i386/xm-cygwin.h (GET_ENV_PATH_LIST): Eliminate obsolete
411         function.  Remove include of sys/cygwin.h.
412
413 Sun Apr  8 22:20:27 2001  Christopher Faylor <cgf@cygnus.com>
414
415         * config/i386/cygwin.h (STARTFILE_SPEC): search */lib/w32api by default.
416         (CPP_SPEC): Always search */include/w32api for header files.
417         (ASM_OUTPUT_SECTION_NAME): Avoid testing NULL DECL.
418         (LINK_SPEC): Add "cyg" to the library search prefixes.
419
420 2001-04-08  Philip Blundell  <philb@gnu.org>
421
422         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Use asm_fprintf.
423
424 2001-04-08  Neil Booth  <neil@daikokuya.demon.co.uk>
425
426         * cpperror.c (print_location): Don't special case <stdin>.
427         (_cpp_begin_message): Handle WARNING_SYSHDR the same as
428         WARNING, but we don't check if we're in system headers.
429         * cpplib.h (enum error_type): WARNING_SYSHDR: New.
430         * cpplib.c (do_warning): Warn in system headers.
431
432 2001-04-07  Mumit Khan <khan@NanoTech.Wisc.EDU>
433
434         * mbchar.c: Include config.h first.
435
436 2001-04-07  Zack Weinberg  <zackw@stanford.edu>
437
438         * config.gcc: Set default for xmake_file at top, not bottom.
439         Change places that set xmake_file to "none" to set to the
440         empty string instead, or remove them entirely if there is no
441         default xmake_file for this cpu_type.  Remove references to
442         deleted files.
443
444         * config/x-lynx, config/convex/x-convex, config/elxsi/x-elxsi,
445         config/i386/x-isc, config/i386/x-isc3, config/i386/x-ncr3000,
446         config/i386/x-next, config/i386/x-sco, config/i386/x-sysv3,
447         config/i386/x-vsta, config/i860/x-sysv4, config/m68k/x-amix,
448         config/m68k/x-apollo68, config/m68k/x-ccur, config/m68k/x-crds,
449         config/m68k/x-hp2bsd, config/m68k/x-mot3300, config/m68k/x-mot3300-gas,
450         config/m68k/x-tower, config/m88k/x-sysv4, config/mips/x-dec-osf1,
451         config/mips/x-sni-svr4, config/mips/x-ultrix, config/romp/x-mach,
452         config/romp/x-romp, config/rs6000/x-beos, config/rs6000/x-lynx,
453         config/rs6000/x-mach, config/rs6000/x-sysv4, config/sparc/x-sysv4:
454         Delete.
455
456         * config/a29k/x-unix, config/i386/x-aix, config/i386/x-osf1elf,
457         config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
458         config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
459         config/mips/x-sysv, config/rs6000/x-aix31:
460         Just set CLIB to -lld or -lmld, as appropriate.
461
462         * config/arm/x-riscix, config/i370/x-oe, config/i386/x-dgux,
463         config/i386/x-sco4, config/i386/x-sco5, config/m68k/x-hp320,
464         config/m68k/x-hp320g, config/m68k/x-next, config/m88k/x-dgux,
465         config/mips/x-iris, config/pa/x-pa:
466         Just set (some of) FIXPROTO_DEFINES, STMP_FIXPROTO,
467         OTHER_FIXINCLUDES_DIRS.
468
469         * config/i386/x-djgpp: Don't set LN or LN_S.
470         * config/m88k/x-dolph: Don't define __m88k__.
471         * config/m88k/x-tekXD88: Don't set AR_FLAGS.
472         * config/pa/x-pa-mpeix: Just set up quadlib.asm.
473         * config/i860/fx2800.h: No need to #undef SVR4.
474
475         38 x-host fragments remain, 2 x-cpu.
476
477 2001-04-07  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
478
479         * c4x.h (HARD_REGNO_NREGS): HCmode mode uses 2 regs not 4.
480
481 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
482
483         * cpplib.c (cpp_push_buffer): Give stdin buffers the name <stdin>.
484
485 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
486
487         * configure.in: Add check for lstat.
488         * configure, config.in: Regenerate.
489         * cppinit.c (append_include_chain): Make empty path ".".
490         * cpplib.c (do_line): Don't simplify #line paths.
491         * cppfiles.c (remove_component_p): New function.
492         (find_or_create_entry): Acknowledge stat () errors during
493         path simplification.
494         (handle_missing_header): Don't simplify paths.
495         (_cpp_simplify_pathname): Don't simplify VMS paths.  Return
496         the empty path untouched.  Don't leave a trailing '/'.
497
498 2001-04-06  Benjamin Kosnik  <bkoz@redhat.com>
499
500         * cppdefault.c (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
501         * Makefile.in (-DGPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
502
503 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
504
505         * cppfiles.c (open_file): Fail directories silently, but
506         with an errno of NOENT set.
507         (read_include_file): Move the common exit code to the sole
508         caller.  Return an int indicating success or failure.  Let
509         open_file handle directories.
510         (stack_include_file): If read_include_file fails,
511         push a "null" buffer.
512
513 2001-04-05  DJ Delorie  <dj@redhat.com>
514
515         * function.h (virtuals_instantiated): Declare.
516         * function.c: (virtuals_instantiated): Make global.
517         * calls.c (emit_library_call_value_1): Use
518         virtual_outgoing_args_rtx only if it hasn't been instantiated.
519         Otherwise, use the stack pointer directly.
520
521 Thu Apr  5 19:13:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
522
523         * i386.c (x86_initialize_trampoline): New global function.
524         * i386.h (TRAMPOLINE_SIZE): Size is 23 for x86_64.
525         (INITIALIZE_TRAMPOLINE): Move offline.
526         * i386-protos.h (x86_initialize_trampoline): Declare.
527
528 Thu Apr  5 19:02:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
529
530         * i386.md (movdi_1_rex64): Allow SSE->SSE reg move.
531         (lea_0): Rename to lea_1.
532         (lea_1_zext, lea_1_rex64, lea_2_rex64): New patterns.
533         (lea_general_?): Allow SImodes on TARGET_64BIT
534         (lea_general_?_zext): New patterns.
535         (call_1, call_1_rex64): Fix.
536
537 Thu Apr  5 19:00:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
538
539         * i386.c (ix86_split_long_move): Use PUT_MODE instead of change_address.
540
541 Thu Apr  5 18:25:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
542
543         * i386.c (function_arg): Return constm1_rtx for last argument.
544         (ix86_expand_prologue): Update gen_call calls.
545         * i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
546         * i386.md (call_pop): Likewise.
547         (call): Second operand is VOIDmode.
548         (call_0): Likewise; Support 64bits.
549         (call_exp): New expander.
550         (call_1): Get to the sync.
551         (call_1_exp): New pattern.
552         (call_value): Support 64bit.
553         (call_value_exp): New pattern.
554         (untyped_call): Update gen_call call.
555         (call_value_pop): Disable for 64bit.
556         (call_value_0_rex64): New pattern.
557         (call_value_1_rex64): Likewise.
558
559 2001-04-05  Bo Thorsen  <bo@suse.de>
560
561         * i386.md: Don't allow "builtin_setjmp_receiver" for TARGET_64BIT.
562
563 Thu Apr  5 13:44:17 2001  J"orn Rennecke <amylaar@redhat.com>
564
565         * i386.md (*andsi_1+3): If used after reload, make sure the operand
566         satisfies ANY_QI_REG_P.
567
568 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
569
570         * config/ia64/ia64.c (rtx_needs_barrier): A PARALLEL can contain
571         ASM_OPERAND.
572
573         * sched-deps.c (sched_analyze_insn): Revert more of the March 27
574         change.
575
576 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
577
578         * config.gcc: Remove default for xm_file.  Clean up local
579         machine type handling.  Remove settings of xm_file to
580         something that doesn't exist.  In the big switch, set xm_file,
581         don't append to it (the value before the big switch is always
582         null).  Don't force build_xm_file or host_xm_file to have a value.
583         * configure.in: Remove default for xm_file.  Do not special
584         case $cpu/xm-$cpu.h not existing.
585         * configure: Regenerate.
586
587 2001-04-04  Diego Novillo  <dnovillo@redhat.com>
588
589         * simplify-rtx.c (simplify_binary_operation): Check for overflow
590         when folding integer division and modulo operations.
591
592 2001-04-04  Andrew MacLeod  <amacleod@redhat.com>
593
594         * dwarf2out.c (output_cfi): Add 'for_eh' parameter, use PTR_SIZE
595         instead of DWARF2_ADDR_SIZE for EH addresses.
596         (output_call_frame_info): Use PTR_SIZE instead of DWARF2_ADDR_SIZE for
597         EH addresses.
598
599 2001-04-04  Richard Henderson  <rth@redhat.com>
600
601         * config/ia64/ia64.h (IA64_UNWIND_INFO): Disable.
602         * config/ia64/t-glibc (LIB2ADDEH): Disable.
603         * config/ia64/t-ia64 (LIB2ADDEH): Disable.
604
605 2001-04-04  Richard Henderson  <rth@redhat.com>
606
607         * configure.in (gcc_cv_as_leb128): Escape "." in regexp.
608         * configure: Rebuilt.
609
610 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
611
612         * gcse.c (delete_null_pointer_checks_1): Add delete_list argument,
613         push insns to delete to it instead of deleting them.
614         (delete_null_pointer_checks): Delete insns from delete_list after
615         all delete_null_pointer_checks_1 passes are done.
616
617 2001-04-04  Richard Henderson  <rth@redhat.com>
618
619         * configure.in (gcc_cv_as_leb128): Tweek minor number extraction.
620         * configure: Rebuilt.
621
622 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
623
624         * expr.h: Remove #ifdef FUNCTION_CONVERSION_BUG logic.
625         * config/romp/xm-romp.h: Delete.
626
627 2001-04-04  Bernd Schmidt  <bernds@redhat.com>
628
629         * sched-deps.c (sched_analyze_insn): Partially revert March 27
630         change.
631
632 2001-04-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
633
634         * emit-rtl.c (mark_label_nuses) Increment the label uses for
635         all labels present in rtx.
636         (try_split) Call new function for all split insns.
637
638 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
639
640         * recog.c (validate_replace_rtx_1): Instead of aborting just make
641         sure the change won't be validated.
642
643 Wed Apr  4 00:45:38 EDT 2001  John Wehle  (john@feith.com)
644
645         * rtl.h (set_noop_p): Declare.
646         * flow.c (set_noop_p): Move from here ...
647         * rtlanal.c (set_noop_p): ... to here and enhance.
648         * cse.c (delete_trivially_dead_insns): Use it.
649         * gcse.c (hash_scan_set): Likewise.
650         * jump.c (delete_noop_moves): Likewise.
651         * recog.c (split_all_insns): Likewise.
652
653 2001-04-04  Alan Modra  <alan@linuxcare.com.au>
654
655         * dwarf2out.c (dwarf2out_frame_debug_expr): Support adjusting
656         stack pointer via a LO_SUM.  Ditto for setting a temp register
657         used to save to the stack.  Set cfa_temp when setting fp, and
658         allow matches to cfa_temp in addition to cfa_store when saving
659         regs.  Handle POST_INC and LO_SUM register stores.  Document the
660         changes and errors in rule 12 doco.
661
662         * pa.c (set_reg_plus_d, store_reg, load_reg): Return last insn.
663         (actual_fsize, local_fsize, save_fregs): Move for store_reg to see.
664         (load_reg): Move closer to epilogue code.
665         (DO_FRAME_NOTES): Define to control the following..
666         (FRP): Define to set RTX_FRAME_RELATED_P on insns.
667         (hppa_expand_prologue): Use FRP and REG_FRAME_RELATED_EXPR
668         notes as necessary.
669         (hppa_expand_epilogue): Likewise.
670
671 2001-04-03  Richard Henderson  <rth@redhat.com>
672
673         * configure.in (gcc_cv_as_leb128): Reject gas before 2.11.
674         * configure: Rebuild.
675
676 2001-04-03  Richard Henderson  <rth@redhat.com>
677
678         * rtl.h (LCT_THROW): New.
679         * calls.c (emit_library_call_value_1): Handle it.
680         * except.c (connect_post_landing_pads): Use it.
681
682 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
683
684         * gansidecl.h: Delete file.
685         * configure.in: Change all refs to gansidecl.h to use
686         ansidecl.h.  Adjust *_file_list so they know where ansidecl.h
687         lives.
688         * configure: Regenerate.
689
690         * Makefile.in (intl.o): Don't depend on gansidecl.h.
691         * defaults.h: s/gansidecl.h/ansidecl.h/ in comment.
692         * ggc.h, config/fr30/fr30.h, config/mcore/mcore.c:
693         Don't include gansidecl.h.
694         * intl.c, main.c, version.c, fixinc/fixlib.h,
695         fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not
696         gansidecl.h.
697
698 Tue Apr  3 19:41:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
699
700         * i386.c (ix86_force_to_memory, ix86_free_from_memory):
701         Update for 64bit.
702
703 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
704
705         * config/i386/xm-beos.h, config/i386/xm-isc.h,
706         config/i386/xm-next.h, config/i386/xm-sco.h,
707         config/i386/xm-sco5.h, config/m68k/xm-plexus.h,
708         config/m88k/xm-m88k.h: Delete.
709
710         * config/i386/xm-djgpp.h: Don't define __MSDOS__.
711         * config/romp/xm-romp.h: Don't define bcopy.
712         * config/rs6000/xm-beos.h: Don't define bcopy, HAVE_VPRINTF,
713         HAVE_PUTENV, HAVE_RENAME, or USE_C_ALLOCA.
714
715         * config.gcc: Remove references to deleted files.
716
717         14 xm-host.h remain, 1 xm-cpu.h.
718
719 2001-04-03  Jakub Jelinek  <jakub@redhat.com>
720             David S. Miller  <davem@pierdol.cobaltmicro.com>
721             Andrew MacLeod  <amacleod@redhat.com>
722
723         Use byte offsets in SUBREGs instead of words.
724
725         * alias.c (nonlocal_mentioned_p): Use subreg_regno function.
726         * caller-save.c (mark_set_regs): Change callers of subreg_hard_regno
727         to pass new argument.
728         (add_stored_regs): Use subreg_regno_offset function.
729         * calls.c (expand_call): For non-paradoxical SUBREG take endianess
730         into account.
731         (precompute_arguments): Use gen_lowpart_SUBREG.
732         * combine.c (try_combine): Replace explicit XEXP with SUBREG_REG.
733         (combine_simplify_rtx): Rework to use SUBREG_BYTE.
734         (simplify_set): Rework to use SUBREG_BYTE.
735         (expand_field_assignment): Use SUBREG_BYTE.
736         (make_extraction): Use SUBREG_BYTE.
737         (if_then_else_cond): Use SUBREG_BYTE.
738         (apply_distributive_law): Use SUBREG_BYTE and fixup subreg comments.
739         (gen_lowpart_for_combine): Compute full byte offset.
740         * cse.c (mention_regs): Use SUBREG_BYTE.
741         (remove_invalid_subreg_refs): Rework to use SUBREG_BYTE.
742         (canon_hash): Use SUBREG_BYTE.
743         (fold_rtx): Pass SUBREG_BYTE div UNITS_PER_WORD to operand_subword.
744         (gen_lowpart_if_possible): Formatting.
745         * dbxout.c (dbxout_symbol_location): Compute SUBREG hard regnos
746         correctly.
747         * dwarf2out.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
748         (mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
749         (loc_descriptor): Fixup explicit XEXP into SUBREG_REG
750         * dwarfout.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
751         (output_mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
752         (output_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
753         * emit-rtl.c (gen_rtx_SUBREG): New function, used to verify
754         certain invariants about SUBREGs the compiler creates.
755         (gen_lowpart_SUBREG): New function.
756         (subreg_hard_regno): New function to get the final register number.
757         (gen_lowpart_common): Use SUBREG_BYTE.
758         (gen_imagpart): Spacing nits.
759         (subreg_realpart_p): Use SUBREG_BYTE.
760         (gen_highpart): Use SUBREG_BYTE.
761         (subreg_lowpart_p): Always compute endian corrected goal offset,
762         even at the byte level, then compare against that.
763         (constant_subword): New function, pulled out all constant cases
764         from operand_subword and changed second argument name to offset.
765         (operand_subword): Detect non REG/SUBREG/CONCAT/MEM cases early
766         and call constant_subword to do the work.  Return const0_rtx if
767         looking for a word outside of OP.
768         (operand_subword_force): Change second arg name to offset.
769         * expmed.c (store_bit_field): Use SUBREG_BYTE.
770         (store_split_bit_field): Use SUBREG_BYTE.
771         (extract_bit_field): Use SUBREG_BYTE.
772         (extract_split_bit_field): Use SUBREG_BYTE.
773         (expand_shift): Use SUBREG_BYTE.
774         * expr.c (store_expr, expand_expr): Use gen_lowpart_SUBREG.
775         * final.c (alter_subreg) Use subreg_hard_regno and SUBREG_BYTE.
776         * flow.c (set_noop_p): Use SUBREG_BYTE.
777         (mark_set_1): Remove ALTER_HARD_SUBREG. Use subreg_regno_offset instead.
778         * function.c (fixup_var_refs_1): Fixup explicit XEXP into a SUBREG_REG.
779         (fixup_memory_subreg): Use SUBREG_BYTE and remove byte endian
780         correction code.
781         (optimize_bit_field): Use SUBREG_BYTE.
782         (purge_addressof_1): Use SUBREG_BYTE.
783         (purge_single_hard_subreg_set): Use subreg_regno_offset function.
784         (assign_params): Mark arguments SUBREG_PROMOTED_VAR_P if they are
785         actually promoted by the caller and PROMOTE_FOR_CALLS_ONLY is true.
786         * gengenrtl.c (special_rtx): Add SUBREG.
787         * global.c (mark_reg_store): Use SUBREG_BYTE.
788         (set_preference): Rework to use subreg_regno_offset and SUBREG_BYTE.
789         * ifcvt (noce_emit_move_insn): Use SUBREG_BYTE.
790         * integrate.c (copy_rtx_and_substitute): Use SUBREG_BYTE and make sure
791         final byte offset is congruent to subreg's mode size.
792         (subst_constants): Use SUBREG_BYTE.
793         (mark_stores): Use subreg_regno_offset function.
794         * jump.c (rtx_renumbered_equal_p, true_regnum): Use subreg_regno_offset
795         function and SUBREG_BYTE.
796         * local-alloc.c (combine_regs): Use subreg_regno_offset function.
797         (reg_is_born): Use subreg_hard_regno.
798         * recog.c (valid_replace_rtx_1): Use SUBREG_BYTE and remove byte
799         endian correction code.  Don't combine subregs unless resulting
800         offset aligns with type.  Fix subreg constant extraction for DImode.
801         Simplify SUBREG of VOIDmode CONST_DOUBLE.
802         (general_operand): Remove dead mode_altering_drug code.
803         (indirect_operand): Use SUBREG_BYTE.
804         (constrain_operands): Use subreg_regno_offset function.
805         * reg-stack.c (get_true_reg): Use subreg_regno_offset function.
806         * regmove.c (regmove_optimize): Use SUBREG_BYTE.
807         (optimize_reg_copy_3): Use gen_lowpart_SUBREG.
808         * regs.h (REG_SIZE): Allow target to override.
809         (REGMODE_NATURAL_SIZE): New macro which target can override.
810         * reload.c (reload_inner_reg_of_subreg): subreg_regno should be used
811         on the entire subreg rtx.
812         (push_reload): Use SUBREG_BYTE in comments and code.
813         (find_dummy_reload): Use subreg_regno_offset.  Only adjust offsets
814         for hard registers inside subregs.
815         (operands_match_p): Use subreg_regno_offset.
816         (find_reloads): Use SUBREG_BYTE and only advance offset for subregs
817         containing hard regs.
818         (find_reload_toplev): Use SUBREG_BYTE.  Remove byte endian
819         corrections when fixing up MEM subregs.
820         (find_reloads_address_1): Use SUBREG_BYTE, subreg_regno, and
821         subreg_regno_offset where appropriate.
822         (find_reloads_subreg_address): Use SUBREG_BYTE.  Remove
823         byte endian corrections when fixing up MEM subregs.
824         (subst_reloads): When combining two subregs, make sure final
825         offset is congruent to subreg's mode size.
826         (find_replacement): Use SUBREG_BYTE and subreg_regno_offset.
827         (refers_to_regno_for_reload_p): Use subreg_regno.
828         (reg_overlap_mentioned_for_reload_p): Use subreg_regno_offset.
829         * reload1.c (eliminate_regs) Use SUBREG_BYTE. Remove byte endian
830         correction code for memory subreg fixups.
831         (forget_old_reload_1): Use subreg_regno_offset.
832         (choose_reload_regs): Use subreg_regno.
833         (emit_input_reload_insns): Use SUBREG_BYTE.
834         (reload_combine_note_store): Use subreg_regno_offset.
835         (move2add_note_store): Use subreg_regno_offset.
836         * resource.c (update_live_status, mark_referenced_resources): Use
837         subreg_regno function.
838         (mark_set_resources): Use subreg_regno function.
839         * rtl.h (SUBREG_WORD): Rename to SUBREG_BYTE.
840         (subreg_regno_offset, subreg_regno): Define prototypes.
841         (subreg_hard_regno, constant_subword, gen_rtx_SUBREG): Newi functions.
842         (gen_lowpart_SUBREG): Add prototype.
843         * rtl.texi (subreg): Update to reflect new byte offset representation.
844         Add mentioning of the effect that BYTES_BIG_ENDIAN has on subregs now.
845         * rtlanal.c (refers_to_regno_p): Use subreg_regno.
846         (reg_overlap_mentioned_p): Use subreg_regno.
847         (replace_regs); Make sure final offset of combined subreg is
848         congruent to size of subreg's mode.
849         (subreg_regno_offset): New function.
850         (subreg_regno): New function.
851         * sched-vis.c (print_value): Change SUBREG_WORD to SUBREG_BYTE.
852         * sdbout.c (sdbout_symbol): Compute offset using alter_subreg.
853         * stmt.c (expand_anon_union_decl): Use gen_lowpart_SUBREG.
854         * tm.texi (ALTER_HARD_SUBREG): Remove, it is now dead.
855         (SUBREG_REGNO_OFFSET): Describe SUBREG_REGNO_OFFSET overrides.
856         * config/a29k/a29k.c (gpc_reg_operand): Use subreg_regno.
857         (a29k_get_reloaded_address): Use SUBREG_BYTE.
858         (print_operand): Use SUBREG_BYTE.
859         * config/alpha/alpha.c (print_operand_address): Use SUBREG_BYTE.
860         * config/arm/arm.c (arm_reload_in_hi): Use SUBREG_BYTE.
861         (arm_reload_out_hi): Use SUBREG_BYTE.
862         * config/d30v/d30v.c (d30v_split_double): Use subreg_regno_offset
863         instead of SUBREG_WORD.
864         (d30v_print_operand_memory_reference): Use subreg_regno_offset.
865         * config/dsp16xx/dsp16xx.md (extendqihi2, zero_extendqihi2): Fix
866         SUBREG creation to use byte offset.
867         * config/h8300/h8300.md (Unnamed HImode zero extraction and 16bit
868         inverted load insns): Fix explicit rtl subregs to use byte
869         offsets.
870         * config/i370/i370.md (cmpstrsi, movstrsi, mulsi3, divsi3,
871         udivsi3, umodsi3): Generate SUBREGs with byte offsets.
872         * config/i860/i860.c (single_insn_src_p): Use SUBREG_BYTE.
873         * config/i860/i860.md (mulsi3_big): Fixup explicit SUBREGs in rtl
874         to use byte offsets.
875         (unnamed fmlow.dd insn): Fixup SUBREGS to use byte offsets.
876         * config/i960/i960.md (extendhisi2): Generate SUBREGs with byte
877         offsets, also make sure it is congruent to SUBREG's mode size.
878         (extendqisi2, extendqihi2, zero_extendhisi2, zero_extendqisi2,
879         unnamed ldob insn): Generate SUBREGs with byte offset.
880         (zero_extendqihi2): SUBREG's are byte offsets.
881         * config/m68hc11/m68hc11.c (m68hc11_gen_lowpart): Use SUBREG_BYTE.
882         (m68hc11_gen_highpart): Use SUBREG_BYTE.
883         * config/m68k/m68k.md (zero_extendhisi2, zero_extendqihi2,
884         zero-extendqisi2): Generate SUBREGs with byte offset.
885         (umulsidi3, mulsidi3, subreghi1ashrdi_const32,
886         subregsi1ashrdi_const32, subreg1lshrdi_const32): Fixup explicit
887         subregs in rtl to use byte offsets.
888         * config/m88k/m88k.md (extendsidi2): fixup subregs to use byte offset.
889         * config/mips/mips.c (mips_move_1word): Use subreg_regno_offset.
890         (mips_move_2words): Use subreg_regno_offset.
891         (mips_secondary_reload_class): Use subreg_regno_offset.
892         * config/mips/mips.md (DImode plus, minus, move, and logical op
893         splits): Fixup explicit subregs in rtl to use byte offsets.
894         * config/mn10200/mn10200.c (print_operand): Use subreg_regno function.
895         * config/mn10300/mn10300.c (print_operand): Use subreg_regno function.
896         * config/ns32k/ns32k.md (udivmoddisi4): Fix explicit subregs in
897         rtl to use byte offsets.
898         * config/pa/pa.c (emit_move_sequence): Use SUBREG_BYTE.
899         * config/pa/pa.md (floatunssisf2, floatunssidf2, mulsi3): fix explicit
900         subregs to use byte offsets.
901         * config/pdp11/pdp11.md (zero_extendhisi2, modhi3, modhi3+1):
902         Fixup explicit subregs in rtl to use byte offsets.
903         * config/romp/romp.c (memory_offset_in_range_p): Use SUBREG_BYTE
904         and remove byte endian correction code.
905         * config/sh/sh.c (output_movedouble): Use subreg_regno.
906         (gen_ashift_hi): Use SUBREG_BYTE.
907         (regs_used): Use subreg_regno_offset.
908         (machine_dependent_reorg): Use subreg_regno_offset.
909         * config/sh/sh.h (INDEX_REGISTER_RTX_P): Use SUBREG_BYTE.
910         * config/sh/sh.md (DImode and DFmode move splits): Use subreg_regno.
911         (movdf_i4): Subregs are byte offsets now.
912         * config/sparc/sparc.c (ultra_find_type): Use SUBREG_BYTE.
913         * config/sparc/sparc.h (ALTER_HARD_SUBREG): Removed.
914         (REGMODE_NATURAL_SIZE): Override.
915         (REG_SIZE): For SUBREG check float mode on SUBREG_REG's mode.
916         * config/sparc/sparc.md (TFmode move splits): Generate SUBREGs
917         with byte offsets.
918         (zero_extendhisi2, zero_extendqidi2_insn, extendhisi2,
919         extendqihi2, sign_extendqihi2_insn, sign_extendqisi2_insn,
920         extendqidi2): Generate SUBREGs with byte offsets, also make sure
921         it is congruent to SUBREG's mode size.
922         (smulsi3_highpart_v8plus): Fix explicit subregs in rtl to use byte
923         offsets.
924         (cmp_siqi_trunc, cmp_siqi_trunc_set, cmp_diqi_trunc,
925         cmp_diqi_trunc_set, lshrdi3_v8plus+1, lshrdi3_v8plus+2,
926         lshrdi3_v8plus+3, lshrdi3_v8plus+4): Use proper
927         SUBREG_BYTE offset for non-paradoxical subregs in patterns.
928         * config/v850/v850.c (print_operand, output_move_double): Use
929         subreg_regno function.
930
931 2001-04-03  Alexandre Oliva  <aoliva@redhat.com>
932
933         * configure.in (target_subdir): Use target_alias, not target.
934         * configure: Rebuilt.
935
936         * config/sh/crtn.asm (init, fini): Restore r15 from r14, not the
937         other way round.
938         * config/sh/crti.asm: Fix typos in comments.
939
940 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
941
942         * pa.h: Revise comments for TARGET_NO_SPACE_REGS and
943         TARGET_FAST_INDIRECT_CALLS.
944         * pa.c (override_options): TARGET_NO_SPACE_REGS is now OK with
945         -fPIC.  Don't warn.
946         (return_addr_rtx): Short circuit export stub matching when
947         TARGET_NO_SPACE_REGS.
948         (output_millicode_call): For out of range calls, make -fPIC
949         take precedence, then TARGET_PORTABLE_RUNTIME, then ble.  Don't
950         return before delay slot checks when TARGET_PORTABLE_RUNTIME.
951         * pa.md: Modify length attr calculation of all millicode insns to
952         match above.
953
954 2001-04-02  Geoffrey Keating  <geoffk@redhat.com>
955
956         * configure.in (gcc_cv_as_leb128): Correct name of cache variable.
957         Require at least 2.11 in the version test.  Specifically check
958         for and reject GAS version 2.10.90.
959         * configure: regenerate.
960
961 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
962
963         * pa.c (override_options): Remove PIC profiling warning.
964         (hp_profile_labelno): Delete.
965         (hp_profile_label_rtx): Delete.
966         (hp_profile_label_name): Delete.
967         (pa_add_gc_roots): Remove reference to hp_profile_label_rtx.
968         (output_function_prologue): Remove profiling code and all tests on
969         profile_flag.  Move store of PIC_OFFSET_TABLE_REGNUM now that
970         merge_sp_adjust_with_store can work for PIC and profiling.
971         (hppa_expand_epilogue): Remove profile_flag test.
972         (hppa_can_use_return_insn_p): Likewise.
973         (hppa_init_pic_save): Emit before tail_recursion_reentry, and
974         cater for PROFILE_HOOK.
975         (hppa_profile_hook): New function.
976         * pa.h (FUNCTION_PROFILER): Now does nothing.
977         (PROFILE_HOOK): Define.
978         (hppa_profile_hook): Declare.
979         (PROFILE_BEFORE_PROLOGUE): Delete.
980         (ASM_OUTPUT_REG_PUSH): Delete.
981         (ASM_OUTPUT_REG_POP): Delete.
982         * pa.md (call_profiler): Turn it into a call insn, and don't `use'
983         r24.  Accept function name operand, and use this and a locally
984         generated label to calculate pc-rel offset to func start.
985
986 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
987
988         * $(HOST_PREFIX_1)errors.o, $(HOST_PREFIX_1)ggc-none.o,
989         ggc-common.o, ggc-simple.o, ggc-page.o, ggc-none.o: Depend on
990         $(SYSTEM_H).
991
992 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
993
994         * dwarf2out.c (dwarf2out_frame_debug_expr): Move errant HIGH and
995         LO_SUM cases to where they belong.
996
997 2001-04-02  Richard Henderson  <rth@redhat.com>
998
999         * except.h (lang_eh_type_covers): Mark extern.
1000         (lang_eh_runtime_type): Likewise.
1001
1002 2001-04-02  Zack Weinberg  <zackw@stanford.edu>
1003
1004         * genattr.c, gencheck.c, gencodes.c, genconfig.c, genflags.c,
1005         gengenrtl.c:  Wrap generated header in multiple-include guard.
1006         Improve error checking.
1007
1008 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1009
1010         * configure.in: Don't check for putenv.
1011         * configure: Regenerate.
1012         * gcc.c (putenv): Don't define.
1013         * vax/xm-vms.h: Handle putenv.
1014
1015 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
1016
1017         * ifcvt.c (noce_emit_move_insn): New.
1018         (noce_try_store_flag, noce_try_store_flag_constants,
1019         noce_try_store_flag_inc, noce_try_store_flag_mask,
1020         noce_try_cmove, noce_try_cmove_arith, noce_try_minmax,
1021         noce_try_abs): Use it.
1022         (noce_process_if_block): Likewise.
1023         For STRICT_LOW_PART, take mode from its SUBREG.
1024
1025 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
1026
1027         * fold-const.c (fold): Before optimizing unsigned comparison with
1028         0x7fffffffU, make sure arg0 is integral type.
1029
1030 2001-04-02  Joseph S. Myers  <jsm28@cam.ac.uk>
1031
1032         * c-tree.texi: Document representation of wide strings.
1033
1034 2001-04-01  Richard Henderson  <rth@redhat.com>
1035
1036         * except.h (expand_builtin_dwarf_fp_regnum): Declare.
1037
1038 Sun Apr  1 11:49:05 CEST 2001  Jan Hubicka  <jH@suse.cz>
1039
1040         * i386.md: remove obsoleted comments.
1041         (adddi_?): Rename to adddi_?_rex64; disable for 32bit.
1042         (x86_movsicc_0_m1_rex64): Rename to x86_movdicc_0_m1_rex64;
1043         fix output template.
1044
1045 2001-03-31  Marek Michalkiewicz  <marekm@linux.org.pl>
1046
1047         * config/avr/libgcc.S (__mulhi3): Optimize previous change.
1048
1049 2001-03-30  Bernd Schmidt  <bernds@redhat.com>
1050
1051         * loop.c (load_mems): When generating a load from a pseudo, update
1052         REGNO_LAST_UID.
1053
1054 Fri Mar 30 17:36:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
1055
1056         * i386.c (ix86_split_long_move): Use change address to compensate
1057         stack pointer change in push instruction.
1058
1059 Fri Mar 30 00:31:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
1060
1061         * i386.md (sse_movdfcc_eq): Fix constraint (sse_mov?fcc splitter): Use operands_match_p
1062         instead of rtx_equal_p; fix the output template.
1063
1064 Fri Mar 30 00:21:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
1065
1066         * i386.c (ix86_expand_setcc): Support 64bit.
1067         (ix86_expand_int_movcc): Likewise.
1068         * i386.md (movdicc_rex64, x86_movsicc_0_m1_rex64, movdicc_c_rex64):
1069         New patterns.
1070
1071         * i386.md (allocate_stack_worker): Turn to expander.
1072         (allocate_stack_worker_1, allocate_stack_worker_rex64): New insns.
1073
1074         * i386.c (print_reg): Do not print x86_64 style regs on IA-32
1075
1076 2001-03-29  Richard Henderson  <rth@redhat.com>
1077
1078         * libgcc2.c [L__main]: Include unwind-dw2-fde.h instead of frame.h.
1079
1080 2001-03-28  Matthew Hiller  <hiller@redhat.com>
1081
1082         * config/mn10300/mn10300.md (cmpsi): Fix first alternative's
1083         output template.
1084
1085         * MAINTAINERS: Added self.
1086
1087 2001-03-28  Richard Henderson  <rth@redhat.com>
1088
1089         * Makefile.in (cs-tconfig.h): Depend on CONFIG_H, not GCONFIG_H.
1090         Use ALL_CFLAGS not HOST_CFLAGS for sjlj detection.
1091
1092 2001-03-28  Jim Wilson  <wilson@redhat.com>
1093
1094         * config/ia64/ia64.md (movtf): Change DImode to TFmode in calls to
1095         operand_subword.
1096
1097 2001-03-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1098
1099         * toplev.h (fatal_error): Add ATTRIBUTE_NORETURN.
1100
1101         * tradcif.y (yyerror): Likewise.  Add format specifier in call to
1102         `error'.
1103
1104         * tradcpp.c (macroexpand): Likewise for call to `error_with_line'.
1105
1106 2001-03-28  DJ Delorie  <dj@redhat.com>
1107
1108         * Makefile.in (stage1_build): Revert CFLAGS patch.
1109
1110 2001-03-28  Marek Michalkiewicz  <marekm@linux.org.pl>
1111
1112         * config/avr/libgcc.S (__mulhi3): Correct tests to exit the loop
1113         when multiplier or multiplicand is zero.
1114
1115 2001-03-28  Bernd Schmidt  <bernds@redhat.com>
1116
1117         * cselib.c (hash_rtx): Don't do tail recursion elimination by hand.
1118
1119         * config/ia64/ia64.c (update_set_flags): New function, broken out of
1120         rtx_needs_barrier.
1121         (set_src_needs_barrier): Likewise.
1122         (rtx_needs_barrier): For SET case, use these two functions.  Rework
1123         PARALLEL case to handle all inputs before all outputs.
1124         (emit_insn_group_barriers): Call init_insn_group_barriers only if we
1125         saw a label and no stop bit since then.
1126         (maybe_rotate, process_epilogue): Add prototypes.
1127
1128 2001-03-28  Richard Henderson  <rth@redhat.com>
1129
1130         * config/rs6000/rs6000.h (EPILOGUE_USES): Use TARGET_AIX,
1131         not TARGET_TOC for special toc restore handling.
1132         * config/rs6000/rs6000.md (eh_return): Likewise.
1133
1134 2001-03-28  Richard Henderson  <rth@redhat.com>
1135
1136         * config/sparc/sparc.c (eligible_for_epilogue_delay): False if
1137         current_function_calls_eh_return.
1138         (output_function_epilogue): Handle eh_return.
1139         * config/sparc/sparc.h (DOESNT_NEED_UNWINDER): Remove.
1140         (EH_RETURN_DATA_REGNO): New.
1141         (EH_RETURN_STACKADJ_RTX): New.
1142         (EH_RETURN_HANDLER_RTX): New.
1143         * config/sparc/sparc.md (call/short branch peepholes): Check
1144         can_throw_internal instead of in_same_eh_region.
1145
1146         * config/rs6000/rs6000.c (rs6000_stack_info): Allocate space
1147         for eh_return data registers.
1148         (rs6000_emit_prologue): Save eh_return data registers.
1149         (rs6000_emit_epilogue): Force inline restores if eh_return.
1150         Restore eh_return data registers.  Mind EH_RETURN_STACKADJ_RTX.
1151         * config/rs6000/rs6000.h (rs6000_stack_t): Add ehrd_offset.
1152         (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX): New.
1153         (EPILOGUE_USES): True for TOC_REGISTER if calls_eh_return and
1154         the target uses one.
1155         * config/rs6000/rs6000.md (eh_epilogue, eh_reg_restore): Remove.
1156         (return_eh_si, return_eh_di): Remove.
1157         (eh_return): New, from corpse of eh_epilogue.
1158         (eh_set_lr_si, eh_set_lr_di): New.
1159
1160         * config/i386/i386.c (general_no_elim_operand): Disallow virtual regs.
1161         (ix86_save_reg): If maybe_eh_return, true for EH_RETURN_DATA_REGNOs.
1162         True for pic register if current_function_calls_eh_return.
1163         (ix86_expand_epilogue): Change "emit_return" argument into "style".
1164         Handle eh_return requirements.
1165         * config/i386/i386.h (EH_RETURN_DATA_REGNO): New.
1166         (EH_RETURN_STACKADJ_RTX): New.
1167         * config/i386/i386.md (exception_receiver): Remove.
1168         (eh_return, eh_return_1): New.
1169         * config/i386/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
1170
1171         * config/alpha/alpha.c (alpha_sa_mask): Add EH_RETURN_DATA_REGNOs.
1172         (alpha_mark_machine_status): No eh_epilogue_sp_ofs ...
1173         (alpha_expand_epilogue): ... use EH_RETURN_STACKADJ_RTX instead.
1174         * config/alpha/alpha.h (machine_function): Remove eh_epilogue_sp_ofs.
1175         (EH_RETURN_DATA_REGNO): New.
1176         (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): New.
1177         * config/alpha/alpha.md (eh_epilogue): Remove.
1178         (exception_receiver): Use $26 for ldgp input.
1179         * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
1180
1181 2001-03-28  Richard Henderson  <rth@redhat.com>
1182
1183         * except.c: Rewrite entirely for IA-64 ABI exception handling.
1184         * except.h: Likewise.
1185
1186         * Makefile.in (LIB2ADDEH): Mention unwind-dw2*.c
1187         (LIB2ADDEHDEP): New.
1188         (LIB2FUNCS_EH): Remove.
1189         (LIB2ADD): Remove LIB2ADDEH.
1190         (libgcc.mk): Pass LIB2ADDEHDEP, don't pass LIB2FUNCS_EH.
1191         (LIBGCC_DEPS): Use LIB2ADDEHDEP.
1192         (crt{begin,end}[S].o): Likewise.
1193         (except.o): Update includes.
1194         * mklibgcc.in: Remove LIB2FUNCS_EH, add LIB2ADDEH, LIB2ADDEHDEP.
1195         (libgcc2_c_dep): Use LIB2ADDEHDEP.
1196
1197         * basic-block.h (struct basic_block_def): Remove eh_beg, eh_end.
1198         * bb-reorder.c (reorder_basic_blocks): Don't disable for EH.
1199         * builtins.def (BUILT_IN_EH_RETURN_DATA_REGNO): New.
1200         * builtins.c (expand_builtin): Implement it.
1201         [BUILT_IN_EH_RETURN]: Update for nr arguments change.
1202         * c-common.c (c_common_nodes_and_builtins): Declare it.
1203         * c-decl.c (init_decl_processing): Update __builtin_eh_return.
1204         * calls.c (libfunc_nothrow): Remove.
1205         (emit_library_call_value_1): Don't call it.
1206         * crtstuff.c: Include unwind-dw2-fde.h instead of frame.h.
1207         * dwarf2.h (dwarf_call_frame_info): Add dwarf2.1 elements.
1208         (DW_EH_PE_*): New defines for pointer encoding in .eh_frame.
1209         * dwarf2out.c (struct dw_fde_struct): Add uses_eh_lsda, funcdef_number.
1210         (current_funcdef_number): Globalize.
1211         (output_call_frame_info): Emit frame data if an lsda is needed.
1212         Generate augmentation for personality routine.  Don't play with
1213         difference symbols.
1214         (dwarf2out_begin_prologue): Record funcdef_number.
1215         * dwarf2out.h (current_funcdef_number): Declare.
1216         * expr.c (expand_expr): Update for except.h name changes.
1217         Remove POPDCC_EXPR, POPDHC_EXPR.  Add EXC_PTR_EXPR.
1218         * expr.h (LTI_throw, LTI_rethrow): Remove.
1219         (LTI_sjthrow, LTI_sjpopnthrow, LTI_terminate): Remove.
1220         (LTI_eh_rtime_match): Remove.
1221         (LTI_unwind_resume, LTI_eh_personality): Add.
1222         (LTI_unwind_sjlj_register, LTI_unwind_sjlj_unregister): Add.
1223         * final.c (final): Don't call check_exception_handler_labels,
1224         init_insn_eh_region, or free_insn_eh_region.
1225         (final_scan_insn): Always emit debug labels for
1226         NOTE_INSN_EH_REGION notes.
1227         * flags.h (flag_new_exceptions): Remove.
1228         * flow.c (entry_exit_blocks): Remove eh_beg, eh_end.
1229         (record_active_eh_regions): Remove.
1230         (count_basic_blocks): Check all instructions for REG_EH_REGION.
1231         Use can_throw_internal.
1232         (find_basic_blocks_1): Likewise.
1233         (move_stray_eh_region_notes): Remove.
1234         (find_label_refs): No eh_return_stub_label.
1235         (make_edges): Likewise.  No init/free_eh_nesting_info.  Handle RESX.
1236         (make_eh_edge): No eh_nest_info.  Update for reachable_handlers
1237         changes.
1238         (delete_unreachable_blocks): Don't track deleted handlers.
1239         (flow_delete_block): Use maybe_remove_eh_handler.
1240         (delete_eh_regions): Remove.
1241         (merge_blocks): Don't check for eh region match.
1242         (mark_regs_live_at_end): Handle EH_RETURN_DATA_REGNO,
1243         EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX.
1244         (init_propagate_block_info): Disable dead frame store optimization
1245         when current_function_calls_eh_return.
1246         (dump_bb): Don't print eh_beg, eh_end.
1247         * function.c (fixup_var_refs): No catch_clauses.
1248         (expand_function_end): Likewise.  Call expand_eh_return before
1249         the return register use.  Call sjlj_emit_function_exit_after.
1250         (expand_function_start): Force pseudo DECL_RESULT if sjlj exceptions.
1251         * function.h (struct function): Add calls_eh_return, uses_eh_lsda.
1252         * ifcvt.c (dead_or_predicable): Remove eh region check.
1253         * integrate.c (function_cannot_inline_p): Disallow __builtin_eh_return.
1254         Don't check for EH vs parameters.
1255         (expand_inline_function_eh_labelmap, eif_eh_map): Remove.
1256         (expand_inline_function): Call duplicate_eh_regions.
1257         (copy_insn_list): Don't handle NOTE_INSN_EH_REGION_BEG/END.
1258         (copy_insn_notes): Remap REG_EH_REGION notes.
1259         (copy_rtx_and_substitute): Remove SYMBOL_REF_NEED_ADJUST check.
1260         * integrate.h (struct inline_remap): Add local_return_label.
1261         * jump.c (jump_optimize_1): Don't init/free_insn_eh_region, nor
1262         check_exception_handler_labels, nor exception_optimize.
1263         (find_cross_jump): No EH region check.
1264         * optabs.c (init_optabs): Update for changed eh libfuncs.
1265         * rtl.def (RESX): New.
1266         * rtl.h (SYMBOL_REF_NEED_ADJUST): Remove.
1267         * stmt.c (expand_decl_cleanup): Simplify using_eh_for_cleanups_p
1268         checks.  Update for except.h name changes.
1269         (expand_cleanups): Likewise.
1270         (expand_dcc_cleanup, expand_dhc_cleanup): Remove.
1271         * toplev.c (dump_file_index, dump_file): Add .02.eh dump.
1272         (compile_file): Call init_eh before init_optabs.  Don't
1273         output_exception_table here.
1274         (rest_of_compilation): Call convert_from_eh_region_ranges,
1275         convert_to_eh_region_ranges, output_function_exception_table.
1276         Don't emit_eh_context.
1277         * tree.def (POPDHC_EXPR, POPDCC_EXPR): Remove.
1278         (EXC_PTR_EXPR): New.
1279
1280         * md.texi (eh_epilogue): Remove.
1281         (eh_return): Document.
1282         * tm.texi (EH_RETURN_DATA_REGNO): Document.
1283         (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): Document.
1284
1285         * eh-common.h: Remove file.
1286         * frame-dwarf2.c, frame.c, frame.h: Remove files.
1287         * libgcc2.c (L_eh): Remove.
1288
1289         * unwind-dw2-fde.c: New file, largely copied from frame.c.
1290         * unwind-dw2-fde.h: New file.
1291         * unwind-dw2.c: New file, largely cribbed from frame-dwarf2.c.
1292         * unwind-sjlj.c, unwind.h, unwind.inc: New files.
1293         * libgcc-std.ver: Update for eh symbols.
1294
1295 2001-03-27  Richard Henderson  <rth@redhat.com>
1296
1297         * regmove.c (perhaps_ends_bb_p): Use can_throw_internal to
1298         reduce false positives.
1299         (regmove_optimize): Disable if flag_non_call_exceptions.
1300
1301         * stmt.c (expand_return): Remove always true predicate.
1302         (expand_decl_cleanup_no_eh): Remove dead code.
1303
1304         * sched-deps.c (sched_analyze_insn): Consolidate scheduling
1305         barrier code.  Add a scheduling barrier if a non-call insn
1306         can throw internally.
1307
1308         * rtlanal.c (rtx_addr_can_trap_p): Virtual registers cannot trap.
1309         Auto-inc addresses trap only if their base register does.
1310
1311         * except.c (can_throw_internal): Rename from can_throw.
1312         * except.h, resource.c: Update references.
1313
1314         * integrate.c (copy_insn_list): Use returnjump_p.
1315         (copy_insn_notes): Recurse for CALL_PLACEHOLDER.
1316
1317         * function.h (struct function): Move all boolean valued fields
1318         to single bit fields at the end of the struct.
1319
1320         * bb-reorder.c, dwarf2out.c, except.c, except.h, flow.c,
1321         jump.c, toplev.c:
1322         Rename asynchronous_exceptions to flag_non_call_exceptions.
1323
1324         * gthr-single.h (UNUSED): New.  Distinguish between how C
1325         and C++ mark unused function arguments.  Use throughout.
1326
1327         * Makefile.in (cs-tconfig.h): Copy USING_SJLJ_EXCEPTIONS
1328         value to target configuration header.
1329         * configure.in (CONFIG_SJLJ_EXCEPTIONS): New.
1330         * config.in, configure: Rebuild.
1331         * except.h (USING_SJLJ_EXCEPTIONS): New.  Define based on
1332         configuration and target defines.
1333         (exceptions_via_longjmp): Remove.
1334         * dwarf2out.c, except.c, final.c, toplev.c, config/ia64/ia64.c:
1335         Use USING_SJLJ_EXCEPTIONS instead of exceptions_via_longjmp.
1336
1337         * except.h (flag_non_call_exceptions): Move ...
1338         * flags.h: ... here.
1339
1340         * combine.c (distribute_notes) [REG_EH_REGION]: If non-call
1341         exceptions, put the note on the trapping instruction.
1342
1343         * flags.h (flag_new_exceptions): Remove.
1344         * toplev.c: Don't set it.
1345         * final.c: Don't check it.
1346         * except.c: Provide stub definition.
1347
1348         * flow.c (tidy_fallthru_edges): Don't combine complex edges.
1349         (calculate_global_regs_live): Kill call-clobbered registers
1350         across exception edges.
1351         * reg-stack.c (convert_regs_1): Kill the entire target stack
1352         across non-call exception edges.
1353
1354         * flow.c (cleanup_cfg): Take no argument.
1355         * output.h, sibcall.c, toplev.c: Update all calls.
1356
1357 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1358
1359         * configure.in: Don't check for bcopy.
1360         * configure, config.in: Regenerate.
1361
1362         * system.h: Don't define or prototype bcopy, instead poison it.
1363
1364 2001-03-27  Richard Henderson  <rth@redhat.com>
1365
1366         * function.c (expand_function_start): Set DECL_REGISTER on
1367         a pseudo used for DECL_RESULT.
1368
1369         * rtl.h (LCT_NORETURN): New.
1370         * calls.c (emit_library_call_value_1): Handle it.
1371
1372 2001-03-27  Stan Shebs  <shebs@apple.com>
1373
1374         * objc/objc-act.c (objc_init): Use dump_base_name.
1375         (gen_declaration): Clear the buffer arg.
1376         (gen_declaration_1): New function, body of gen_declaration.
1377         (adorn_decl): Call gen_declaration_1 instead of gen_declaration.
1378         (gen_method_decl): Ditto, plus always clear buffer arg.
1379         (error_with_ivar): Simplify.
1380         (warn_with_method): Ditto.
1381         (build_message_expr): Don't clear buffers.
1382         (dump_interface): Ditto.
1383         (objc_debug): Ditto.
1384         (build_keyword_selector): Clear the buffer by only zeroing
1385         the first element.
1386         (objc_implementation_context): Declare.
1387         (start_class): Warn about missing @end.
1388         (finish_objc): Ditto.
1389
1390 2001-03-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1391
1392         * reload1.c (eliminate_regs): Don't abort on MEM USEs.
1393
1394 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1395
1396         * Makefile.in (SYSTEM_H): Define.
1397         Depend on $(SYSTEM_H), not system.h.
1398
1399         * objc/Make-lang.in: Depend on $(SYSTEM_H), not system.h.
1400
1401 2001-03-27  Jim Wilson  <wilson@redhat.com>
1402
1403         * final.c (final_scan_insn, case NOTE_INSN_BASIC_BLOCK): Call
1404         IA64_UNWIND_EMIT.
1405         * config/ia64/ia64.c (block_num, need_copy_state): New static vars.
1406         (process_epilogue): New static function.
1407         (process_set): Call process_epilogue instead of emitting .restore
1408         directly.
1409         (process_for_unwind_directive): Handle NOTE_INSN_BASIC_BLOCK.
1410
1411         * flow.c (struct reg_cond_life_info): New fields orig_condition
1412         and stores.
1413         (init_propagate_block_info): Set new fields.
1414         (mark_regno_cond_dead): Set and use new fields.
1415         (flush_reg_cond_reg_1): Likewise.
1416         (and_reg_cond, case AND): Check for redundant AND conditions.
1417         (mark_used_reg): Delete unnecessary clears before freeing splay trees.
1418         Set new fields.
1419
1420 2001-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
1421
1422         * cppmacro.c (stringify_arg): Null terminate strings.
1423
1424 2001-03-27  Zack Weinberg  <zackw@stanford.edu>
1425
1426         * config.gcc (m68hc11-*-*, m68hc12-*-*): Convert to new tm.h
1427         inclusion style.  xm-m68hc11.h no longer exists.
1428         * config/m68hc11/xm-m68hc11.h: Delete file.
1429         * config/m68hc11/m68hc12.h: Convert to new tm.h inclusion style.
1430
1431         * config/m68hc11/m68hc11.h: Convert to new tm.h inclusion style.
1432         Don't define GCC_VERSION, N_, or PARAMS; don't include
1433         gansidecl.h or stdio.h.  Define inhibit_libc here.
1434         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
1435         Delete code conditioned on #if GCC_VERSION == 2095.
1436
1437         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
1438         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
1439         Delete code conditioned on #if GCC_VERSION == 2095.
1440
1441 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1442
1443         * system.h: Include symcat.h.
1444         (STRINGIFY): Don't define.
1445
1446         * configure.in: Adjust comment.
1447
1448         * builtins.c: Use STRINGX, not STRINGIFY.
1449         * gencheck.c: Likewise.
1450         * gengenrtl.c: Likewise.
1451         * protoize.c: Likewise.
1452
1453         * cpplex.c: Don't include symcat.h.
1454         * cpplib.c: Likewise.
1455
1456         * gansidecl.h (HAVE_STRINGIZE): Don't define.
1457
1458 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
1459
1460         * c-typeck.c (digest_init): Fold init expression.
1461
1462 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1463
1464         * sbitmap.c (sbitmap_copy): Call memcpy, not bcopy.
1465
1466 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
1467
1468         * except.c (eh_regs): Save results of build_pointer_type to a temp
1469         as FUNCTION_VALUE macro may evaluate its args multiple times.
1470
1471 2001-03-26  Mark Mitchell  <mark@codesourcery.com>
1472
1473         * c-common.h (DECL_NUM_STMTS): New macro.
1474         * c-decl.c (duplicate_decls): Copy DECL_NUM_STMTS, not
1475         DECL_FRAME_SIZE.
1476         (pushdecl): Likewise.
1477         * c-semantics.c (add_stmt): Update DECL_NUM_STMTS.
1478         * integrate.c (expand_inline_function): Don't check
1479         DECL_FRAME_SIZE.
1480         * print-tree.c (print_node): Don't print it.
1481         * toplev.c (rest_of_compilation): Don't try to inline when
1482         flag_no_inline is on.
1483         * tree.h (DECL_FRAME_SIZE): Remove.
1484         (tree_decl): Adjust accordingly.
1485
1486 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1487
1488         * combine.c (try_combine): Use memcpy, not bcopy.
1489
1490         * genattrtab.c (expand_units): Likewise.
1491
1492 Mon Mar 26 15:55:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
1493
1494         * i386.md (push mem DI peep2): New.
1495         (mov 0, mov -1 peep2): Handle 64bit.
1496         (lea to arithmetics peep2): Handle 64bit leas.
1497         (rsp arithmetics to push/pop peep2s): New.
1498
1499         * i386.md (truncdfsf2_3, trunctfsf2_2): Change predicate to memory_operand.
1500
1501 Mon Mar 26 14:35:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
1502
1503         * i386.c (struct machine_function): Add save_varrargs_registers.
1504         (ix86_save_varrargs_registers): New macro.
1505         (ix86_frame_layout): Support 64bit; support red zones and varrargs area.
1506         (ix86_expand_prologue): Likewise.
1507         (ix86_emit_epilogue_esp_adjustement): Likewise.
1508         (ix86_expand_epilogue): Likewise.
1509         * i386.md (pro_epilogue_adjust_stack): Turn to expander; support 64bit.
1510         (pro_epilogue_adjust_stack_1): New insn.
1511         (pro_epilogue_adjust_stack_rex64): Likewise.
1512         * i386.h (MASK_NO_RED_ZONE): New constant.
1513         (TARGET_RED_ZONE): New macro.
1514         (TARGET_OPTIONS): Add "red-zone" and "no-red-zone"
1515         (RED_ZONE_SIZE): New constant.
1516         (RED_ZONE_RESERVE): New constant.
1517
1518 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1519
1520         * toplev.c (set_float_handler): Use memcpy, not bcopy.
1521
1522 2001-03-25  Kazu Hirata  <kazu@hxi.com>
1523
1524         * config/h8300/h8300.md (umodqi3): Output a tab instead of a
1525         space.
1526         (modqi3): Likewise.
1527         (umodhi3): Likewise.
1528         (modhi3): Likewise.
1529
1530 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1531
1532         * mkconfig.sh (DEFINES): Handle entries with '='.
1533
1534         * config.gcc: Don't use i370/xm-mvs.h or ns32k/xm-pc532-min.h.
1535         Set xm_defines to MACRO=value instead.
1536
1537         * i370/xm-mvs.h: Delete.
1538
1539         * ns32k/xm-pc532-min.h: Likewise.
1540
1541 Sun Mar 25 15:01:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
1542
1543         * i386.md (ashldi3, ashrdi3, lshrdi3): Change predicates to
1544         shiftdi_operand;
1545         use ix86_expand_binary_operator
1546         (?sh??i_?): Disable for 64bit.
1547         * i386.h (PREDICATE_CODES): Add shiftdi_operand.
1548         * i386.c (shiftdi_operand): New predicate.
1549
1550         * (ashldi3_1_rex64, ashldi3_cmp_rex64, ashlsi3_1_zext, ashlsi3_cmp_zext,
1551         ashrdi3_63_rex64, ashrdi3_1_one_bit_rex64, ashrdi3_1_rex64,
1552         ashrdi3_one_bit_cmp_rex64, ashrdi3_cmp_rex64, ashrsi3_31_zext,
1553         ashrsi3_1_one_bit_zext, ashrsi3_1_zext, ashrsi3_one_bit_cmp_zext,
1554         ashrsi3_cmp_zext, lshrdi3_1_one_bit_rex64, lshrdi3_1_rex64,
1555         lshrdi3_cmp_one_bit_rex64, lshrdi3_cmp_rex64, lshrsi3_1_one_bit_zext,
1556         lshrsi3_1_zext, lshrsi3_cmp_one_bit_zext, lshrsi3_cmp_zext,
1557         rotlsi3_1_one_bit_rex64, rotldi3_1_rex64,
1558         rotlsi3_1_one_bit_zext, rotlsi3_1_zext, rotrdi3_1_one_bit_rex64,
1559         rotrdi3_1_rex64, rotrsi3_1_one_bit_zext, rotrsi3_1_zext): New patterns.
1560         (rotldi3, rotrdi3): New expanders.
1561
1562 Sun Mar 25 14:25:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
1563
1564         * i386.md (movstrsi): Move offline.
1565         (movstrdi): New.
1566         (strmovdi_rex64): New.
1567         (strmov?i): Accept 64bit.
1568         (strmov?i_rex64): New.
1569         (strmov?i_rex_1): New.
1570         (strmov?i_1): Disable for 64bit.
1571         (rep_mov?i_rex64): New.
1572         (rep_mov?i): Disable for 64bit.
1573         (clrstrsi): Move offline.
1574         (strset?i_rex64): New.
1575         (strset?i: Accept 64bit.
1576         (rep_stos?i): Disable for 64bit.
1577         (rep_stos?i_rex64): New.
1578         (strset?i_rex_1): New.
1579         (strset?i_1): Disable for 64bit.
1580         (cmpstrsi): Accept 64bit.
1581         (cmpstrsi_nz_1): Rename to cmpstrqi_nz_1; Disable for 64bit.
1582         (cmpstrqi_nz_rex_1): New.
1583         (cmpstrsi_1): Rename to cmpstrqi_1; Disable for 64bit.
1584         (strlensi): Move offline.
1585         (strlendi): New.
1586         (strlenqi_1): Disable for 64bit; fix constraints.
1587         (strlenqi_rex_1): New.
1588         * i386.c (ix86_adjust_counter): New static function.
1589         (ix86_zero_extend_to_Pmode): Likewise.
1590         (ix86_expand_aligntest): Likweise.
1591         (ix86_expand_strlensi_unroll_1): Make static; update for 64bit.
1592         (ix86_expand_movstr): New global function.
1593         (ix86_expand_clrstr): New global function.
1594         (ix86_expand_strlen): New global function.
1595         * i386-protos.h (ix86_expand_movstr, ix86_expand_clrstr,
1596         ix86_expand_strlen): Declare.
1597         (ix86_expand_strlensi_unroll_1): Delete.
1598
1599 Sat Mar 24 23:15:19 CET 2001  Jan Hubicka  <jh@suse.cz>
1600
1601         * i386.md (cmpdi): Fix operand predicates.
1602         (cmpdi_ccno_1_rex64, cmpdi_minus_1_rex64, cmpdi_1_rex64,
1603          cmpdi_1_insn_rex64): New patterns.
1604         (adddi3): Turn to expander.
1605         (adddi3_1, adddi3_carry_rex64, adddi3_cc_rex64): New patterns.
1606         (addsi3_carry_zext): New pattern.
1607         (adddi_?_rex64): New patterns and splitters.
1608         (addsi_?_zext): New patterns.
1609         (subsi3_carry_zext): New pattern.
1610         (subdi_?_rex64): New patterns and splitters.
1611         (iorsi_?_zext): New patterns.
1612         (iordi_?_rex64): New patterns and splitters.
1613         (iorsi_?_zext): New patterns.
1614         (iorsi_?_zext_imm): New patterns.
1615         (xorsi_?_zext): New patterns.
1616         (xordi_?_rex64): New patterns and splitters.
1617         (xorsi_?_zext): New patterns.
1618         (negdi*): New patterns.
1619         (one_cmpldi*): Likewise.
1620         (one_cmplsi*_zext, negsi*_zext): Likewise.
1621         (testqi_ext_3_rex64): New pattern.
1622
1623 Sat Mar 24 21:13:28 CET 2001  Jan Hubicka  <jh@suse.cz>
1624
1625         * i386-protos.h (ix86_split_long_move): Return void.
1626         * i386.c (ix86_split_to_parts): Handle 64bit target.
1627         (ix86_split_long_move): Likewise.
1628         * i386.md (all calls to ix86_split_long_move): Update.
1629
1630 2001-03-23  Richard Henderson  <rth@redhat.com>
1631
1632         * config/mips/iris4.h (ASM_OUTPUT_ASCII): Rename local variables
1633         to avoid shadowing arguments.
1634
1635 2001-03-23  Jakub Jelinek  <jakub@redhat.com>
1636
1637         * varasm.c (make_decl_rtl): Don't append var_labelno discriminator
1638         to variable names where DECL_NAME is different from
1639         DECL_ASSEMBLER_NAME.
1640
1641 2001-03-23  Jim Wilson  <wilson@redhat.com>
1642
1643         * varasm.c (make_decl_rtl): Add TREE_PUBLIC check to abort test.
1644         (assemble_alias): Call make_decl_rtl.
1645
1646 Fri Mar 23 16:59:08 2001  J"orn Rennecke <amylaar@redhat.com>
1647
1648         * stor-layout.c (layout_type): Give OFFSET_TYPE a MODE_INT type.
1649
1650 2001-03-23  Bryce McKinlay  <bryce@albatross.co.nz>
1651
1652         * extend.texi: Document the "java_interface" attribute.
1653
1654 2001-03-22  Zack Weinberg  <zackw@stanford.edu>
1655
1656         * mkconfig.sh: Use a subshell with redirected stdout,
1657         instead of closing stdout and confusing commands that run
1658         afterward.  Throw away output of cmp.
1659
1660 2001-03-22  Gordon Sadler  <gbsadler1@lcisp.com>
1661
1662         * Makefile.in (stage1_build): Pass CFLAGS to stage1_build.
1663
1664 Thu Mar 22 22:15:59 CET 2001  Jan Hubicka  <jh@suse.cz>
1665
1666         * i386.md (zero_extendsidi2_32): Break out from ...
1667         (zero_extendsidi2): ... here ; turn to expander.
1668         (zero_extendsidi2_rex64): New.
1669         (extendsidi2_32): Break out from ...
1670         (extendsidi2): ... here ; turn to expander.
1671         (extendsidi2_rex64): New.
1672         (zero_extendhidi2, zero_extendqidi2, extendhidi2, extendqidi2): New.
1673         (trunc?f?f splitters): Add 64bit versions.
1674
1675 Thu Mar 22 21:41:16 CET 2001  Jan Hubicka  <jh@suse.cz>
1676
1677         * i386.md (pushsi, pushsi2_prologue): Disable.
1678         (pushsi2_rex64): New.
1679         (movabs?i_1_rex64, movabs?i_2_rex64): New.
1680         (movqi_ext_1): Disable for 64bit.
1681         (movqi_ext_1_rex64): New.
1682         (pushdi2_rex64): New pattern, peep2s and splitter.
1683         (pushdi2_prologue_rex64): New pattern.
1684         (popdi1_epilogue_rex64, popdi1, movdi_xor_rex64, movdi_or_rex64):
1685         Likewise.
1686         (movdi splitters): Disable for 64bit.
1687         (movdi_1_rex64): New pattern, peep2s and splitters.
1688         (swapdi): New pattern.
1689         (pushsf): Disable for 64bit.
1690         (pushsf_rex64): New pattern and splitter.
1691         (pushdf_nointeger): Disable for 64bit.
1692         (pushdf_integer): Handle the 64bit case.
1693         (pushtf): Likewise; update splitters.
1694
1695 2001-03-22  Richard Henderson  <rth@redhat.com>
1696
1697         * mkconfig.sh: Include insn-flags.h.
1698         * Makefile.in (CONFIG_H): Include insn-flags.h.
1699         (lots of objects): Remove insn-codes.h and insn-flags.h.
1700
1701         * alias.c, bb-reorder.c, calls.c, do-loop.c, flow.c, haifa-sched.c,
1702         integrate.c, jump.c, loop.c, predict.c, profile.c, reg-stack.c,
1703         regmove.c, reorg.c, a29k/a29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
1704         avr/avr.c, clipper/clipper.c, convex/convex.c, d30v/d30v.c,
1705         dsp16xx/dsp16xx.c, fr30/fr30.c, h8300/h8300.c, i370/i370.c,
1706         i386/i386.c, i860/i860.c, ia64/ia64.c, m32r/m32r.c, m68hc11/m68hc11.c,
1707         m68k/m68k.c, m88k/m88k.c, mcore/mcore.c, mn10200/mn10200.c,
1708         mn10300/mn10300.c, ns32k/ns32k.c, pa/pa.c, pdp11/pdp11.c,
1709         pj/pj.c, romp/romp.c, rs6000/rs6000.c, sh/sh.c, sparc/sparc.c,
1710         v850/v850.c, vax/vax.c:
1711         Don't include insn-flags.h.
1712
1713         * diagnostic.c, expr.h, reload.c, toplev.c:
1714         Don't include insn-codes.h.
1715
1716         * builtins.c, combine.c, except.c, explow.c, expmed.c, expr.c,
1717         final.c, function.c, optabs.c, recog.c, reload1.c, stmt.c,
1718         c4x/c4x.c, i960/i960.c, mips/mips.c:
1719         Don't include insn-codes.h or insn-flags.h.
1720
1721         * genemit.c, genopinit.c, genoutput.c: Don't include insn-codes.h
1722         or insn-flags.h in the generated code.
1723         * genflags.c (gen_proto): Use "struct rtx_def *" instead of "rtx".
1724         (main): Forward declare struct rtx_def.
1725
1726 2001-03-22  Joseph S. Myers  <jsm28@cam.ac.uk>
1727
1728         * invoke.texi (-ffast-math): Remove duplicate line about
1729         __FAST_MATH__.
1730
1731         * gcc.texi: Remove more obsolete documentation of bugs and
1732         installation problems.
1733
1734 2001-03-21  Kazu Hirata  <kazu@hxi.com>
1735
1736         * config/h8300/h8300.md (movsi_h8300hs): Split the 2nd alternative
1737         into two parts.
1738
1739 2001-03-20  Jason Merrill  <jason@redhat.com>
1740
1741         * collect2.c (is_ctor_dtor): Always use '_' in the file fn names,
1742         not '.' or '$'.
1743         * tree.c (FILE_FUNCTION_FORMAT): Likewise.
1744         * varasm.c (CHKR_PREFIX): Likewise.
1745
1746 Wed Mar 21 14:27:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1747
1748         * gcse.c (hash_scan_set): An expression is not anticipatible if it
1749         is part of a multi-SET insn.
1750
1751         * cse.c (find_comparison_args): Remove previous change.
1752         * ifcvt.c (noce_process_if_block): When moving an insn, remove any
1753         REG_EQUAL notes.
1754
1755         * config/i386/i386.md (conditional_trap): Remove warning.
1756
1757         * recog.c (push_operand): Fix error in last change that caused
1758         undefined symbol on many targets.
1759
1760         * sdbout.c: #include ggc.h.
1761         (sdbout_init): Move to end of file.
1762         Call ggc_add_tree_root for anonymous_types.
1763         (sdbout_symbol): Use DECL_NAME for local, not DECL_ASSEMBLER_NAME.
1764         (sdbout_one_type): Use DECL_NAME for field name.
1765         * Makefile.in (sdbout.o): Show includes ggc.h.
1766
1767 Wed Mar 21 20:33:26 CET 2001  Jan Hubicka  <jh@suse.cz>
1768
1769         * i386.c (override_options): Default ix86_regparm to REGPARM_MAX.
1770         (override_options): Use properlimits for preferred_stack_boundary.
1771         (ix86_valid_type_attribute_p): Disable stdcall and cdecl attributes
1772         on x86_64.
1773         (ext_register_operand): Accept DImode.
1774         (load_pic_register): Abort on 64bit.
1775         (gen_push): Use Pmode instead of SImode.
1776         (ix86_save_reg): Pic reg is never used on 64bit.
1777         (ix86_expand_prologue): Likewise.
1778         (ix86_emit_save_regs): Use Pmode instead of SImode.
1779         (legitimate_address_p): Check displacement for 64bit.
1780         (print_operand): Avoid outputting of (%rip) on 64bit.
1781         (print_operand_address): Output (%rip) where possible.
1782         (split_di): Abort on 64bit registers.
1783         (ix86_expand_branch): DImode comparison is simple for x86_64.
1784         (memory_address_length): Recognize memory addresses formed using
1785         PRE/POST modify.
1786         (ix86_data_alignment, ix86_local_alignment): Align arrays to 16 bytes
1787         for x86_64.
1788         * i386.h (TARGET_USE_SAHF): Disable for 64bit.
1789
1790 Wed Mar 21 18:51:19 CET 2001  Jan Hubicka  <jh@suse.cz>
1791
1792         * recog.c (push_operand): Recognize new format of push instructions.
1793
1794 Wed Mar 21 10:53:57 CET 2001  Jan Hubicka  <jh@suse.cz>
1795
1796         * i386.md (pushqi1): New.
1797         * i386-protos.h (x86_64_general_operand, x86_64_szext_general_operand,
1798         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
1799         x86_64_immediate_operand, x86_64_immediate_operand,
1800         x86_64_zext_immediate_operand): Declare.
1801         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
1802         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
1803         x86_64_immediate_operand, x86_64_immediate_operand,
1804         x86_64_zext_immediate_operand): define.
1805         * i386.h (PREDICATE_CODES): Add new predicates.
1806
1807 Wed Mar 21 10:25:13 CET 2001  Jan Hubicka  <jh@suse.cz>
1808
1809         * i386.md (pophi1, popqi1, pushqi1): Remove.
1810
1811         * expr.c (emit_single_push_insn): New function.
1812         (move_by_pieces): Accept NULL as destination for push instructions.
1813         (gen_push_operand): Kill.
1814         (emit_push_insn): Pass NULL when pushing; avoid updating of
1815         stack_pointer_delta.
1816         * expr.h (gen_push_operand): Kill.
1817
1818 Tue Mar 20 20:15:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1819
1820         * rtl.texi (COMPARE): Clarify documentation and reference section
1821         on comparisons.
1822
1823 2001-03-20  Stan Shebs  <shebs@apple.com>
1824
1825         * objc/objc-act.c (get_static_reference): Use NULL_TREE.
1826         (get_object_reference): Ditto.
1827         (error_with_ivar): Use error_with_file_and_line.
1828         (warn_with_method): Use warning_with_file_and_line.
1829
1830 2001-03-20  Tom Tromey  <tromey@redhat.com>
1831
1832         * libgcc-std.ver: Added __fixunssfsi and __fixunsdfsi.
1833
1834 2001-03-20  Mark Mitchell  <mark@codesourcery.com>
1835
1836         * tree.c (set_decl_assembler_name): Set DECL_ASSEMBLER_NAME for
1837         variables that are TREE_PUBLIC, even if not TREE_STATIC.
1838
1839 2001-03-20  DJ Delorie  <dj@redhat.com>
1840
1841         * Makefile.in (install-libgcc): Pass complete list of variables.
1842         (install-multilib): Ditto.
1843
1844 2001-03-20  David Billinghurst  <David.Billinghurst@riotinto.com>
1845
1846         * config/i386/cygwin.h: Declare ctor_section, dtor_section
1847         drectve_section, switch_to_section.
1848
1849         * winnt.c: Declare functions associated_type, gen_stdcall_suffix,
1850         i386_pe_dllexport_p, i386_pe_dllimport_p, i386_pe_mark_dllexport,
1851         i386_pe_mark_dllimport.
1852
1853 2001-03-20  David Billinghurst <David.Billinghurst@riotinto.com>
1854
1855         * config/i386/cygwin.h: Include <stdio.h> Declare and constify
1856         functions i386_pe_*.
1857
1858         * config/i386/winnt.c: Include "tm_p.h" and "toplev.h" Constify
1859         i386_pe_* functions with char * arguments.
1860
1861 2001-03-20  Alexandre Oliva  <aoliva@redhat.com>
1862
1863         * config/sh/sh.md (movsf_ie): Fix output patterns for fpul load
1864         and store.
1865         (movsi_ie): Introduce fpul store.
1866
1867 2001-03-20  Alan Modra  <alan@linuxcare.com.au>
1868
1869         * Makefile.in (OBJS): Remove hashtab.o.
1870
1871 2001-03-19  Stan Shebs  <shebs@apple.com>
1872
1873         * objc/objc-act.c (maybe_objc_method_name): Remove, never called.
1874         * c-lang.c (maybe_objc_method_name): Ditto.
1875         * c-tree.h (maybe_objc_method_name): Remove decl.
1876
1877 2001-03-19  Tom Tromey  <tromey@redhat.com>
1878
1879         * gcc.c (init_gcc_specs): Fix comment.
1880
1881 2001-03-19  Mark Mitchell  <mark@codesourcery.com>
1882
1883         Compute DECL_ASSEMBLER_NAME lazily.
1884         * tree.h (DECL_ASSEMBLER_NAME): Compute it lazily.
1885         (DECL_ASSEMBLER_NAME_SET_P): New macro.
1886         (SET_DECL_ASSEMBLER_NAME): Likewise.
1887         (COPY_DECL_ASSEMBLER_NAME): Likewise.
1888         (set_decl_assembler_name): Declare.
1889         (lang_set_decl_assembler_name): Likewise.
1890         * tree.c (lang_set_decl_assembler_name): New variab.e
1891         (set_decl_assembler_name): New function.
1892         (init_obstacks): Set lang_set_decl_assembler_name.
1893         (build_decl): Don't set DECL_ASSEMBLER_NAME.
1894         * c-decl.c (duplicate_decls): Use SET_DECL_ASSEMBLER_NAME,
1895         COPY_DECL_ASSEMBLER_NAME, etc.  Don't set DECL_ASSEMBLER_NAME
1896         where it's not necessary.
1897         (builtin_function): Likewise.
1898         (finish_decl): Likewise.
1899         * dbxout.c (dbxout_type_methods): Likewise.
1900         * ggc-common.c (ggc_mark_trees): Likewise.
1901         * profile.c (output_func_start_profiler): Likewise.
1902         * varasm.c (make_decl_rtl): Likewise.
1903
1904         * cse.c (find_comparison_args): Update documentation.  Fix
1905         mishandling of COMPARE operations.
1906
1907         * tree.def (ABS_EXPR): Add documentation.
1908         * fold-const.c (fold): Improve folding of ABS_EXPRs.
1909
1910 2001-03-19  Zack Weinberg  <zackw@stanford.edu>
1911
1912         * Makefile.in (hash.o): Depend on $(GCONFIG_H), not $(CONFIG_H).
1913
1914 2001-03-19  Jakub Jelinek  <jakub@redhat.com>
1915
1916         * crtstuff.c (init_dummy): Use CRT_END_INIT_DUMMY if defined.
1917         Remove ia32 linux PIC kludge and move it...
1918         * config/i386/linux.h (CRT_END_INIT_DUMMY): ...here.
1919
1920 Mon Mar 19 18:53:54 CET 2001  Jan Hubicka  <jh@suse.cz>
1921
1922         * i386.md (absdf2 expander): Fix 64bit case.
1923
1924 2001-03-19  Brad Lucier  <lucier@math.purdue.edu>
1925
1926         * Makefile.in: Have splay-tree.o depend on $(GCONFIG_H).
1927
1928 2001-03-16  Andrew Haley  <aph@cambridge.redhat.com>
1929
1930         * config/ia64/libgcc-ia64.ver: Add __ia64_backtrace.
1931
1932 2001-03-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1933
1934         * README.X11: Remove obsolete file.
1935
1936 2001-03-18  Anthony Green  <green@redhat.com>
1937
1938         * config/pj/pj.h: Remove some trailing commas.
1939         (ASM_SPEC): Use -EB and -EL, not -mb and -ml.
1940
1941 2001-03-18  Richard Henderson  <rth@redhat.com>
1942
1943         * defaults.h (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Move from ...
1944         * calls.c: ... here.
1945         * combine.c, expr.c, final.c, function.c toplev.c: Don't provide
1946         defaults for them here.
1947
1948 2001-03-17  Anthony Green  <green@redhat.com>
1949
1950         * config/pj/lib1funcs.S: Fix broken comment.
1951         * config/pj/pj.h (LOCAL_LABEL_PREFIX): Prefix internal
1952         labels with '.'.
1953
1954 2001-03-18  Joseph S. Myers  <jsm28@cam.ac.uk>
1955
1956         * gcc.texi: Remove obsolete information relating to build and
1957         installation problems with enquire or the Pyramid C compiler.
1958
1959 2001-03-17  Richard Henderson  <rth@redhat.com>
1960
1961         * dwarf2out.c (queue_reg_save): New.
1962         (flush_queued_reg_saves, clobbers_queued_reg_save): New.
1963         (dwarf2out_frame_debug_expr): Call queue_reg_save instead of
1964         dwarf2out_reg_save.
1965         (dwarf2out_frame_debug): Call flush_queued_reg_saves when needed.
1966         (cfa, cfa_store, cfa_temp): Make static.
1967         * final.c (final_scan_insn): Always call dwarf2out_frame_debug.
1968
1969 2001-03-17  Richard Henderson  <rth@redhat.com>
1970
1971         * integrate.h (struct inline_remap): Add local_return_label.
1972         * integrate.c (expand_inline_function): Initialize it and emit
1973         it after copy_insn_notes.
1974         (copy_insn_list): Don't store local_return_label here.
1975         (copy_insn_notes): New function split out from copy_insn_list.
1976
1977 2001-03-17  Richard Henderson  <rth@redhat.com>
1978
1979         * dwarf2out.c (lookup_filename): Emit .file if the assembler
1980         is generating .debug_line.
1981         (dwarf2out_init): Add main_input_filename to the file table first.
1982         * configure.in (as_dwarf2_debug_line): Test with file number 1
1983         instead of file number 0.
1984
1985 Sat Mar 17 11:52:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1986
1987         * combine.c (undobuf): Remove field previous_undos; all refs deleted.
1988         (gen_rtx_combine): Deleted; all references changed as appropriate.
1989         (gen_unary): Deleted; all refs changed to call simplify_gen_unary.
1990
1991         * print-tree.c (print_node): Print DECL_NONADDRESSABLE_P.
1992
1993 2001-03-17  David Billinghurst  <David.Billinghurst@riotinto.com>
1994
1995         * config/i386/xm-cygwin.h: Include <sys/cygwin.h.  Remove unused
1996         variable.
1997
1998 2001-03-16  Jim Wilson  <wilson@redhat.com>
1999
2000         * config/ia64/ia64.c (ia64_compute_frame_size): If reg_fp is zero,
2001         then set it to LOC_REG (79) instead of aborting.
2002
2003 2001-03-16  Phil Edwards  <pme@sources.redhat.com>
2004
2005         * gccbug.in:  Remove high priority.
2006
2007 2001-03-16  Richard Henerson  <rth@redhat.com>
2008
2009         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): Substitute leading od
2010         output with a space instead of deleting it.
2011         * configure: Regenerate.
2012
2013 2001-03-16  Zack Weinberg  <zackw@stanford.edu>
2014
2015         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): New utility macro which
2016         handles the gory details of converting an object file into
2017         something that's safe to grep.
2018         (gcc_AC_C_COMPILE_BIGENDIAN): Rename to
2019         gcc_AC_C_COMPILE_ENDIAN.  Use gcc_AC_EXAMINE_OBJECT.  Put
2020         newlines at either end of the string we're looking for.
2021         Make 'checking ...' message less stilted.
2022         (gcc_AC_C_FLOAT_FORMAT): Use gcc_AC_EXAMINE_OBJECT.  Handle
2023         ARM in-memory layout and its hypothetical converse.  Don't
2024         define HOST_FLOAT_WORDS_BIG_ENDIAN unless it's different from
2025         HOST_WORDS_BIG_ENDIAN.
2026
2027         * configure.in: Adjust for renamed macro.  Move
2028         gcc_AC_C_FLOAT_FORMAT below gcc_AC_C_COMPILE_ENDIAN.
2029         * configure, config.in: Regenerate.
2030
2031 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
2032
2033         * fixinc/Makefile.in: Set SHELL.
2034
2035 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
2036
2037         * fixinc/fixincl.c (fix_with_system): Quote file names before
2038         passing them to shell.
2039
2040 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
2041
2042         * Makefile.in: Use fix-header$(build_exeext) instead
2043         of fix-header.
2044
2045 2001-03-16  Richard Henderson  <rth@redhat.com>
2046
2047         * dwarf2out.c: Revert most of 2000-11-25 and 2001-01-24 changes.
2048         (LN_PROLOG_AS_LABEL, LN_PROLOG_END_LABEL): New.
2049         (size_of_line_prolog): Remove.
2050         (output_line_info): Compute prologue size via label difference.
2051         (lookup_filename): Return "unspecified" for <internal> and <built-in>.
2052
2053         * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Require that the
2054         assembler error when redefining file numbers.
2055         * config.in, configure: Rebuild.
2056
2057         * dwarf2asm.c (dw2_asm_output_data): Mask data to the output size.
2058         (dw2_asm_output_data_uleb128): Use space not tab after .uleb128.
2059         (dw2_asm_output_delta_uleb128): Likewise.
2060         (dw2_asm_output_delta_sleb128): Similarly.
2061         (dw2_asm_output_data_sleb128): Similarly.  Print number in decimal.
2062
2063 2001-03-16  Michael Meissner  <meissner@redhat.com>
2064
2065         * mips.h (BITMASK_HIGH): Replacement for 0x80000000 that avoids
2066         warnings.
2067         (BITMASK_UPPER16): Replacement for 0xffff0000 that avoids
2068         warnings.
2069         (BITMASK_LOWER16): Replacement for 0x0000ffff.
2070
2071         * mips.c (save_restore_insns): Use BITMASK_UPPER16/BITMASK_LOWER16
2072         instead of 0xffff0000/0x0000ffff to avoid warnings about constants
2073         being unsigned in ISO C and signed in traditional.
2074         (expand_prologue): Ditto.
2075         (RA_MASK): Use BITMASK_HIGH to avoid warnings.
2076
2077         * mips.md (divmodsi4,divmodsi4): Use BITMASK_HIGH to avoid
2078         warnings.
2079         (divsi3,divdi3): Ditto.
2080         (modsi3,moddi3): Ditto.
2081         (fix_truncdfsi2,fix_truncdfdi2): Ditto.
2082         (fix_truncsfsi2,fix_truncsfdi2): Ditto.
2083         (movsi split): Use BITMASK_UPPER16/BITMASK_LOWER16 to avoid
2084         warnings.
2085
2086 Fri Mar 16 14:47:57 CET 2001  Jan Hubicka  <jh@suse.cz>
2087
2088         * i386.c (ix86_expand_fp_movcc): Do not attempt to construct
2089         SSE based conditional moves on LTGT/UNEQ conditions;
2090         Canonicalize EQ to NE.
2091         * i386.md (sse_mov?fcc): Disallow EQ and NE in IEEE mode.
2092         (sse_mov?fcc_ne): New.
2093
2094         * i386-protos.h (sign_extended_value, zero_extended_value): Declare.
2095
2096 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
2097
2098         * config/sh/sh.c (sh_expand_prologue): Insns that set up the PIC
2099         register may be dead.
2100
2101 2001-03-16  Brad Lucier  <lucier@math.purdue.edu>
2102
2103         * Makefile.in (hash.o): Depend on CONFIG_H.
2104
2105 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
2106
2107         * dwarf2out.c (rtl_for_decl_location): Use DECL_RTL_IF_SET.
2108
2109 2001-03-15  Richard Henderson  <rth@redhat.com>
2110
2111         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): New.
2112         (ASM_OUTPUT_DWARF_PCREL): New.
2113         * config/ia64/hpux.h (ASM_OUTPUT_DWARF_OFFSET): Remove.
2114
2115 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
2116
2117         * cppfiles.c (stack_include_file): Use MAX of sysp.
2118
2119 2001-03-15  Steve Ellcey  <sje@cup.hp.com>
2120
2121         * config.gcc (ia64*-*-hpux*): New case.
2122         * config/ia64/hpux.h: New file for HP-UX support.
2123         * config/ia64/t-hpux: New file for HP-UX support.
2124
2125 2001-03-16  Bruce Korb  <bkorb@gnu.org>, Alexandre Oliva  <aoliva@redhat.com>
2126
2127         * fixinc/inclhack.def (irix_stdio_va_list): New.
2128         * fixinc/fixincl.x: Rebuilt.
2129
2130 2001-03-15  Richard Henderson  <rth@redhat.com>
2131
2132         * dwarf2asm.c (dw2_asm_output_offset): Use ASM_OUTPUT_DWARF_OFFSET
2133         if provided by the target.
2134         (dw2_asm_output_pcrel): Likewise with ASM_OUTPUT_DWARF_PCREL.
2135         (dw2_asm_output_addr): New.
2136         * dwarf2asm.h (dw2_asm_output_addr): Declare.
2137         * dwarf2out.c (output_cfi): Use it for program addresses.
2138         (output_call_frame_info, output_die): Likewise.
2139         (output_aranges, output_line_info): Likewise.
2140
2141 2001-03-15  Bruce Korb  <bkorb@gnu.org>
2142
2143         * gcc.c(main): make more rigorous
2144         * collect2.c(main): guard against ignoring SIGCHLD
2145         * protoize.c(main): ditto
2146         * gcc/fixinc/fixincl.c(initialize): ditto
2147
2148 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
2149
2150         * sdbout.c (sdbout_symbol): Use DECL_RTL_SET_P, SET_DECL_RTL.
2151         (sdbout_parms): Likewise.
2152
2153 Thu Mar 15 12:57:14 2001  Jeffrey A Law  (law@cygnus.com)
2154
2155         * reload1.c (reload_cse_simplify_set): For LOAD_EXTEND_OP, do not
2156         "widen" a destination that is already wider than a word.  Also do
2157         not widen if LOAD_EXTEND_OP is NIL for the given mode.
2158
2159 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
2160
2161         * config/ia64/ia64.c (ia64_sched_reorder): Remove debugging aids.
2162
2163 Thu Mar 15 11:30:31 EST 2001  John Wehle  (john@feith.com)
2164
2165         * i960.h (ROUND_TYPE_SIZE_UNIT): Fix typo.
2166
2167 Thu Mar 15 11:24:29 EST 2001  John Wehle  (john@feith.com)
2168
2169         * i960.h (i960_maxbitalignment,
2170         i960_last_maxbitalignment): Declare.
2171         * i960.c (i960_maxbitalignment,
2172         i960_last_maxbitalignment): Make global.
2173         (process_pragma): Delete.
2174         (i960_pr_align, i960_pr_noalign): Move from here ...
2175         * i960-c.c: ... to this new file.
2176         * t-960bare (i960-c.o): New rule.
2177         * t-vxworks960 (i960-c.o): Likewise.
2178         * config.gcc (i960-*-*): Define c_target_objs and
2179         cxx_target_objs.
2180
2181 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
2182
2183         * cselib.c (hash_rtx): For REG and MEM, just use value of expression
2184         without adding in rtx code and mode.
2185
2186         * alias.c (init_alias_analysis): Don't use any rtx whose value
2187         varies as a known value.
2188         Delete a superfluous test.
2189
2190         * config/ia64/ia64.c (maybe_rotate): New function, broken out of
2191         ia64_sched_reorder.
2192         (ia64_sched_reorder): Call maybe_rotate; also rotate after
2193         scheduling a stop bit.
2194         (ia64_emit_nops): Correctly handle ASMs.
2195
2196 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
2197
2198         * varasm.c (assemble_variable): Use DECL_RTL_SET_P.
2199
2200 2001-03-15  Neil Booth  <neil@daikokuya.demon.co.uk>
2201
2202         * cpp.texi: Update documentation for -include and -imacros.
2203         * cppfiles.c (struct include_file): Remove "defined" memeber.
2204         (find_or_create_entry): Make a copy of the file name, and
2205         simplify it.
2206         (open_file): Update to ensure we use the simplified filename.
2207         (stack_include_file): Don't set search_from.
2208         (cpp_included): Don't simplify the path name here.
2209         (find_include_file): New prototype.  Call search_from to
2210         get the start of the "" include chain.  Don't simplify the
2211         filenames here.
2212         (_cpp_execute_include): New prototype.  Move diagnostics to
2213         do_include_common.  Update.
2214         (_cpp_pop_file_buffer): Don't set defined.
2215         (search_from): New prototype.  Use the preprocessor's cwd
2216         for files included from the command line.
2217         (read_name_map): Don't simplify the pathname here.
2218         * cpphash.h (enum include_type): New.
2219         (struct buffer): Delete search from.  New search_cached.
2220         (_cpp_execute_include): Update prototype.
2221         * cppinit.c (do_includes): Use _cpp_execute_include.
2222         * cpplib.c (do_include_common): New function.
2223         (do_include, do_include_next, do_import): Use it.
2224
2225 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
2226
2227         * varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME, not the
2228         contents of the RTL, to determine the name of the object.
2229
2230 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
2231
2232         * tree.h (DECL_RTL): Allocate RTL lazily.
2233         (SET_DECL_RTL): New macro.
2234         (DECL_RTL_SET_P): Likewise.
2235         (COPY_DECL_RTL): Likewise.
2236         (DECL_RTL_IF_SET): Likewise.
2237         * varasm.c (make_decl_rtl): Add assertions about the kind of
2238         declaration we are processing.
2239         * c-decl.c (duplicate_decls): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
2240         (start_decl): Likewise.
2241         (finish_decl): Likewise.
2242         * c-semantics.c (emit_local_var): Likewise.
2243         * calls.c (expand_call): Likewise.
2244         * dbxout.c (dbxout_symbol): Likewise.
2245         * emit-rtl.c (unshare_all_rtl): Likewise.
2246         (unshare_all_decls): Likewise.
2247         (reset_used_decls): Likewise.
2248         * expr.c (store_constructor): Likewise.
2249         (safe_from_p): Likewise.
2250         (expand_expr): Likewise.
2251         * function.c (put_var_into_stack): Likewise.
2252         (instantiate_decls_1): Likewise.
2253         (assign_parms): Likewise.
2254         (expand_function_start): Likewise.
2255         (expand_function_end): Likewise.
2256         * ggc-common.c (gcc_mark_trees): Likewise.
2257         * integrate.c (function_cannot_inline_p): Likewise.
2258         (copy_decl_for_inlining): Likewise.
2259         (expand_inline_function): Likewise.
2260         (integrate_parm_decls): Likewise.
2261         (integrate_decl_tree): Likewise.
2262         * print-tree.c (print_node): Likewise.
2263         * reg-stack.c (stack_result): Likewise.
2264         * stmt.c (label_rtx): Likewise.
2265         (expand_return): Likewise.
2266         (expand_decl): Likewise.
2267         (expand_decl_cleanup): Likewise.
2268         (expand_anon_union_decl): Likewise.
2269         * toplev.c (check_global_declarations): Likewise.
2270         (rest_of_decl_compilation): Likewise.
2271         * tree.c (simple_cst_equal): Likewise.
2272         * objc/objc-act.c (generate_static_references): Likewise.
2273
2274 2001-03-14  Zack Weinberg  <zackw@stanford.edu>
2275
2276         * aclocal.m4 (gcc_AC_C_CHARSET, gcc_AC_C_COMPILE_BIGENDIAN,
2277         gcc_AC_C_FLOAT_FORMAT): New macros.
2278         * configure.in: Add AC_PROG_CPP after CC tests;
2279         gcc_AC_C_CHARSET and gcc_AC_C_FLOAT_FORMAT after the sizeof
2280         tests; and gcc_AC_C_COMPILE_BIGENDIAN after gcc_AC_C_CHAR_BIT.
2281         * configure, config.in: Regenerate.
2282
2283         * config/a29k/xm-a29k.h, config/arc/xm-arc.h,
2284         config/arm/xm-arm.h, config/c4x/xm-c4x.h,
2285         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
2286         config/i370/xm-linux.h, config/i370/xm-oe.h,
2287         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
2288         config/m68k/xm-m68k.h, config/mips/xm-mips.h,
2289         config/pa/xm-linux.h, config/pa/xm-pa.h,
2290         config/rs6000/xm-lynx.h, config/rs6000/xm-mach.h,
2291         config/rs6000/xm-rs6000.h, config/rs6000/xm-sysv4.h,
2292         config/sparc/xm-sparc.h, config/vax/xm-vax.h,
2293         config/we32k/xm-we32k.h: Delete.
2294
2295         * config/i370/xm-mvs.h, config/m88k/m88k.h,
2296         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
2297         config/vax/xm-vms.h: Don't define any of:
2298         HOST_FLOAT_FORMAT, HOST_EBCDIC, HOST_WORDS_BIG_ENDIAN
2299
2300         * config/rs6000/aix.h: Define COLLECT_EXPORT_LIST here.
2301
2302         * config.gcc: Remove references to deleted files.
2303         (i370-*-opened*): Use i370/xm-mvs.h (which now defines only
2304         FATAL_EXIT_CODE, which is the same between oe and mvs).
2305
2306 2001-03-14  DJ Delorie  <dj@redhat.com>
2307             Vladimir Makarov  <vmakarov@redhat.com>
2308
2309         * config/i960/i960.c (i960_function_prologue): Compute size of
2310         frame according to number of registers actually saved there.
2311
2312 2001-03-14  Richard Henderson  <rth@redhat.com>
2313
2314         * expr.c (emit_move_insn_1): Fix else if around #endif.
2315
2316 Wed Mar 14 22:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
2317                               Vojtech Pavlik
2318
2319         * md.texi (machine constraints): Document 'Q', 'R', 'e' and 'Z'
2320         constraints.
2321
2322 Wed Mar 14 22:26:10 CET 2001  Jan Hubicka  <jh@suse.cz>
2323
2324         * i386.c (ix86_cmodel_string, ix86_cmodel): Define.
2325         (override_options): Parse cmodel string.
2326         (x86_64_sign_extended_value, x86_64_zero_extended_value): New.
2327         * i386.h (TARGET_OPTIONS): Add "cmodel".
2328         (EXTRA_CONSTRAINT): Recognize 'e' and 'Z'.
2329         (enum cmodel): New.
2330         (ix86_cmodel_string, ix86_cmodel): Declare.
2331
2332 Wed Mar 14 22:26:54 CET 2001  Jan Hubicka  <jh@suse.cz>
2333
2334         Spot by Matt Kraai:
2335         * i386.h (GENERAL_REG_P): Add missing REG_P.
2336
2337 2001-03-14  Laurynas Biveinis  <lauras@softhome.net>
2338
2339         * configure.in: Use $gcc_cv_as instead of $as.
2340         * configure: Regenerated.
2341
2342 2001-03-14  Neil Booth  <neil@daikokuya.demon.co.uk>
2343
2344         * cppfiles.c (stack_include_file): Only increase the include
2345         count if we actually process the file properly, as opposed
2346         to treating it as length zero.  Only call read_include_file
2347         if not DO_NOT_REREAD.  Handle the -H include file output
2348         here.
2349         (read_include_file): Remove now redundant DO_NOT_REREAD check.
2350         (cpp_included, find_include_file): Simplify pathnames after
2351         remapping them.  If remapping, don't use the remapped file
2352         name's buffer as our scratch buffer.
2353         (cpp_pop_file_buffer): Replace the multiple include macro
2354         only if it isn't yet set.
2355         (read_name_map): Simplify remapped names when reading in.
2356         (remap_filename): Move code to code path that uses it.
2357         (_cpp_simplify_pathname): Return the input pointer.
2358         * cpphash.h (_cpp_simplify_pathname): Update prototype.
2359
2360 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
2361
2362         * expr.c (expand_expr): Revove bogus conditional.
2363
2364 Wed Mar 14 19:29:50 CET 2001  Jan Hubicka  <jh@suse.cz>
2365
2366         * expr.c (emit_move_insn_1): Guard PUSH_ROUNDING use by ifdef.
2367
2368 2001-03-14  Jakub Jelinek  <jakub@redhat.com>
2369
2370         * reg-stack.c (stack_result): Unconditionally use
2371         FUNCTION_OUTGOING_VALUE resp. FUNCTION_VALUE.
2372
2373 Wed Mar 14 16:36:25 CET 2001  Jan Hubicka  <jh@suse.cz>
2374
2375         * expr.c (emit_move_insn_1):  Split push of complex value when
2376         no suitable push instruction exist.
2377
2378         * i386.md (QImode move/add/shift patterns): Use ANY_QI_REG_P
2379         instead of QI_REG_P.
2380
2381 Tue Mar 13 22:22:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2382
2383         * alias.c (handled_component_p, can_address_p): New functions.
2384         (get_alias_set): Use them.
2385
2386 2001-03-13  Jim Wilson  <wilson@redhat.com>
2387
2388         * config/ia64/ia64.c (find_gr_spill): Subtract frame_pointer_needed
2389         from 80 in try_locals code.
2390         (ia64_expand_prologue): Add comment pointing to find_gr_spill change.
2391
2392 2001-03-13  Zack Weinberg  <zackw@stanford.edu>
2393
2394         * aclocal.m4 (gcc_AC_COMPILE_CHECK_SIZEOF, gcc_AC_C_CHAR_BIT,
2395         gcc_AC_C_LONG_LONG): New.
2396         * configure.in: Use them.  Probe the size of short, int, long,
2397         and long long/__int64 if we have them.  Move all the AC_C_*
2398         checks together, except gcc_AC_C_CHAR_BIT which has to go
2399         after AC_CHECK_HEADERS(limits.h).
2400         Take hwint.h out of host_xm_file and build_xm_file.
2401
2402         * hwint.h: Unconditionally define HOST_BITS_PER_CHAR,
2403         HOST_BITS_PER_SHORT, HOST_BITS_PER_INT, HOST_BITS_PER_LONG,
2404         and HOST_BITS_PER_LONGLONG in terms of SIZEOF_* and CHAR_BIT.
2405         Move the HOST_WIDEST_INT setup logic here from system.h.
2406         Provide HOST_WIDEST_INT even if HOST_BITS_PER_LONGLONG is not
2407         defined.
2408         * system.h: Include hwint.h after limits.h.  HOST_WIDEST_INT
2409         is now handled by hwint.h.
2410
2411         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms.h,
2412         config/c4x/xm-c4x.h, config/i370/xm-oe.h,
2413         config/ia64/xm-ia64.h: Don't define any of:
2414         HOST_BITS_PER_LONG, HOST_BITS_PER_CHAR, HOST_BITS_PER_SHORT,
2415         HOST_BITS_PER_LONGLONG.
2416
2417         * config/alpha/xm-alpha.h, config/dsp16xx/xm-dsp16xx.h,
2418         config/h8300/xm-h8300.h, config/mips/iris6.h,
2419         config/mn10200/xm-mn10200.h, config/pa/xm-pa64hpux.h,
2420         config/sparc/xm-sp64.h: Delete.
2421         * config.gcc: Remove references to deleted files.
2422
2423         * config/arm/xm-arm.h, config/mips/xm-mips.h: Don't define
2424         HOST_FLOAT_FORMAT to IEEE_FLOAT_FORMAT.
2425         * config/i370/xm-linux.h: Clarify floating-point situation in
2426         a comment.
2427
2428 2001-03-13  Neil Booth  <neil@daikokuya.demon.co.uk>
2429
2430         * cppfiles.c (NO_INCLUDE_PATH): New macro.
2431         (find_include_file): Decide here which part of the include
2432         chain to start the search.  Complain about an empty include
2433         chain in all cases apart from an abolsute file name.
2434         (_cpp_execute_include): Don't choose the search chain here.
2435         Don't call handle_missing_include in the case of an empty
2436         include chain.
2437         (_cpp_compare_file_date): Don't choose the search chain here.
2438         * cpplib.c (do_include_next): Move the in-main-file diagnostic
2439         here from _cpp_execute_include.  Behave like #include if
2440         we're in the main file.
2441
2442 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2443
2444         * system.h (malloc, realloc, calloc, strdup): Only poison these
2445         tokens when IN_GCC is defined.
2446
2447 Tue Mar 13 14:38:44 CET 2001  Jan Hubicka  <jh@suse.cz>
2448
2449         * i386.md (abs?f expander): Support SSE case.
2450         (abd?f_if): Add new "USE"; add splitters.
2451
2452 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2453
2454         * cpp.texi (poison): Explain the macro expansion exception.
2455
2456 2001-03-13  Jakub Jelinek  <jakub@redhat.com>
2457
2458         * expr.c (store_expr): Add dont_store_target.  If temp is already in
2459         target before copying to reg, don't store it into target again.
2460
2461 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
2462
2463         * cppinternals.texi: Update for file handling.
2464
2465 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
2466
2467         * emit-rtl.c (remove_unnecessary_notes): Reverse Richard Kenner's
2468         2001-02-24 which broke building the Java library.
2469         * function.c (identify_blocks): Likewise.
2470         (all_blocks): Likewise.
2471         * integrate.c (integrate_decl_tree): Likewise.
2472         * print-tree.c (print_node): Likewise.
2473         * tree.h (BLOCK_NUMBER): Likewise.
2474         (struct tree_block): Likewise.
2475
2476 2001-03-12  David Edelsohn  <edelsohn@gnu.org>
2477
2478         * rs6000/aix51.h (CPP_SPEC, CPLUSPLUS_CPP_SPEC): Fix typo in
2479         __WCHAR_TYPE__ definition.
2480         (WCHAR_TYPE_SIZE): #undef before #define.
2481
2482 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
2483
2484         * cppfiles.c: Update comments.
2485         (destroy_include_file_node): Rename destroy_node.
2486         (find_or_create_entry): New function.
2487         (open_file, _cpp_fake_include): Use it.
2488         (handle_missing_header): New function, broken out of
2489         _cpp_execute include.  Don't segfault if there is no
2490         system or quoted path.
2491         (_cpp_execute_include): Use handle_missing_header.
2492
2493 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
2494
2495         * jump.c (reversed_comparison_code_parts): Reverse Jan Hubricka's
2496         2001-02-28 patch because it breaks arm-linux and mips-sgi-irix6.5.
2497
2498 Mon Mar 12 14:05:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2499
2500         * flow.c (insn_dead_p): Don't consider two memrefs equivalent
2501         unless anti_dependence says they are.
2502         * alias.c (objects_must_conflict): If neither has a type specified,
2503         they must conflict.
2504
2505 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
2506             David Billinghurst <David.Billinghurst@riotinto.com>
2507
2508         * config/mips/iris5.h:  Change WCHAR_TYPE to int.
2509
2510 Mon Mar 12 16:32:21 CET 2001  Jan Hubicka  <jh@suse.cz>
2511
2512         * i386.md (trunctfdf2_2): Rename missnamed pattern.
2513         (*_one_bit): Remove type on the match_operand in attributes.
2514
2515 Mon Mar 12 16:27:56 CET 2001  Jan Hubicka  <jh@suse.cz>
2516
2517         * i386.c: Commit forgotten hunk in previous patch.
2518         (regclass_map): Add extended registers.
2519         (dbx_register_map): Add missing frame register.
2520
2521 Mon Mar 12 15:41:08 CET 2001  Jan Hubicka  <jh@suse.cz>
2522
2523         * i386.md (all XFmode patterns except swapxf): Disable for 64bit.
2524
2525         * i386.md (x86_sahf_1): Disable for 64bit.
2526         (popsi*, pophi*): Likewise.
2527         (pushqi, pushhi): Likewise.
2528         (movdi, pushdi): Likewise.
2529         (zero extend DImode splitter): Likewise.
2530         (adddi, minusdi splitter): Likewise.
2531         (umulsidi): Likewise.
2532         (umulsi): New.
2533         (mulsidi): Disable for 64bit
2534         (lshift:DI/ashift:DI): Disable for 64bit.
2535         (loop patterns): Likewise.
2536         (call_pop, call_value_pop expanders and patterns): Likewise.
2537         (prologue_get_pc): Likewise.
2538         (leave): Likewise.
2539         (fcmovDI pattern and splitter): Likewise.
2540         (movdfcc_1_rex64): New.
2541
2542 Mon Mar 12 15:16:36 CET 2001  Jan Hubicka  <jh@suse.cz>
2543
2544         * i386.h (VALID_FP_MODE_P): XFmode is invalid on x86_64.
2545         (MODES_TIEABLE_P): QImodes and DImodes are tiable on x86_64.
2546         (HARD_REGNO_CALLER_SAVE_MODE): Save QImodes as QImodes for x86_64.
2547         (STATIC_CHAIN_REGNUM): Set to r10 for x86_64.
2548         (PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM for x86_64.
2549         (LIMIT_RELOAD_CLASS): Avoid limiting of QImodes on x86_64.
2550         (SECONDARY_OUTPUT_RELOAD_CLASS): No need to QImodes.
2551         (PUSH_ROUNDING): x86_64 rounds to 64bits.
2552         (CONSTANT_ADDRESS_P): Accept CONST_DOUBLE.
2553         (REGPARM_MAX): Set to 6 for x86_64.
2554         (SSE_REGPARM_MAX): Set to 16 for x86_64.
2555         * i386.c (hard_regno_mode_ok): QImodes can be in all general purpose
2556         registers.
2557
2558         * (patterns that does use upper halves): Update constraints
2559         'q' to 'Q' and 'r' to 'R'.
2560         (cmpqi_ext_1): Disable for 64bit.
2561         (cmpqi_ext_3_insn): Likewise.
2562         (movqi_extzv_1): Likewsie.
2563         (addqi_ext_1): Liekwsie
2564         (testqi_ext_1): Liekwsie
2565         (andqi_ext_1): Liekwsie
2566         (xorqi_ext_1): Liekwsie
2567         (cmpqi_ext_1_rex64): New.
2568         (cmpqi_ext_3_insn_rex64): Likewise.
2569         (movqi_extzv_1_rex64): Likewsie.
2570         (addqi_ext_1_rex64): Liekwsie
2571         (testqi_ext_1_rex64): Liekwsie
2572         (andqi_ext_1_rex64): Liekwsie
2573         (xorqi_ext_1_rex64): Liekwsie
2574
2575 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
2576
2577         * configure.in: Move check for unsigned enumerated bitfields
2578         to macro in aclocal.m4.  Disable it for now.
2579         * configure, config.in: Regenerate.
2580         * system.h: Don't do anything with ONLY_INT_FIELDS.  Use the
2581         unsigned-int form of ENUM_BITFIELD() unless being compiled by GCC.
2582         * varasm.c (struct rtx_const): Use ENUM_BITFIELD().  Move enum
2583         kind above its first use.
2584
2585         * config/xm-interix.h, config/alpha/xm-alpha.h,
2586         config/i370/xm-linux.h, config/i386/xm-beos.h,
2587         config/i386/xm-mingw32.h, config/mips/xm-mips.h,
2588         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
2589         config/rs6000/xm-beos.h, config/rs6000/xm-sysv4.h,
2590         Don't define ONLY_INT_FIELDS under any circumstances.
2591
2592         * config/pa/xm-pa.h: Don't define __BSD_NET2__.
2593
2594         * config/pa/xm-pahpux.h, config/pa/xm-papro.h,
2595         config/sparc/xm-sysv4.h: Delete - now identical with some
2596         other xm header.
2597         * config.gcc (hppa targets): Replace xm-pahpux.h and
2598         xm-papro.h with implicit xm-pa.h.
2599         (sparc targets): Replace xm-sysv4.h with implicit or explicit
2600         xm-sparc.h.
2601
2602 2001-03-12  Aldy Hernandez  <aldyh@redhat.com>
2603
2604         * reload1.c (reload_cse_simplify): Call reload_cse_simplify_set
2605         before reload_cse_noop_set_p.
2606
2607 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
2608
2609         * config.gcc: Where xm-host.h used to include another
2610         xm-host.h, list the nested header directly in xm_file.  Remove
2611         references to deleted files.  Can now use sparc/xm-sp64.h for
2612         sparcv9-*-solaris*.
2613
2614         * config/xm-linux.h, config/arm/xm-linux.h,
2615         config/i386/xm-dos.h, config/i386/xm-gnu.h,
2616         config/i386/xm-linux.h, config/i386/xm-openbsd.h,
2617         config/i860/xm-fx2800.h, config/m68k/xm-atari.h,
2618         config/m68k/xm-linux.h, config/m68k/xm-sun3.h,
2619         config/sparc/xm-linux.h, config/sparc/xm-sysv4-64.h:
2620         Delete.
2621
2622         * config/alpha/xm-alpha-interix.h: Don't include alpha/xm-alpha.h.
2623         * config/mips/xm-iris5.h: Don't include mips/xm-mips.h.  Don't
2624         bother to wrap #undef in #ifdef.
2625         * config/pa/xm-linux.h, config/rs6000/xm-sysv4.h:
2626         Don't include xm-linux.h.
2627         * config/sparc/xm-sp64.h: Don't include sparc/xm-sparc.h.
2628
2629         * configure.in: Wrap regexps using [] in changequote block.
2630         Use expr : not echo | grep.  Simplify regexps.
2631         * configure: Regenerate.
2632
2633         56 xm-files remain, 22 xm-arch.
2634
2635 2001-03-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2636
2637         * mips-tfile.c: Cast arg to PTR when specifier is HOST_PTR_PRINTF.
2638         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
2639         (local_index, local_rindex): Delete, use strchr/strrchr instead.
2640         (copy_object): Fix format specifier vs argument mismatch.
2641
2642         * mips-tdump.c: Make local functions static.
2643         (rindex): Don't #undef.
2644         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
2645         (fatal, fancy_abort): Delete.
2646         (read_seek): Avoid signed/unsigned compare.
2647
2648 Sun Mar 11 17:01:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2649
2650         * combine.c (try_combine): Fix error in change to try original
2651         register.
2652         (gen_rtx_combine): Do same as gen_rtx for now.
2653
2654 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
2655
2656         * configure.in: AC_SUBST xm_defines.
2657         * configure: Regenerate.
2658         * Makefile.in: Set DEFINES=$(xm_defines) when building
2659         tconfig.h.
2660
2661 2001-03-11  Neil Booth  <neil@daikokuya.demon.co.uk>
2662
2663         * cppfiles.c (INCLUDE_LEN_FUDGE, ENOMEM): Delete.
2664         (cpp_included, find_include_file): Update.
2665         (_cpp_compare_file_date): Make else unconditional.
2666
2667 2001-03-10  kaz Kojima <kkojima@rr.iij4u.or.jp>
2668
2669         * config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.
2670
2671 2001-03-10  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
2672
2673         * config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics.
2674         * config/sh/lib1funcs.asm (mulsi3): Convert mulu to mulu.w.
2675
2676 Sat Mar 10 22:42:05 2001  Alexandre Oliva  <aoliva@redhat.com>
2677
2678         * tree.c (build_common_tree_nodes_2): Don't copy va_list_type_node
2679         if it's a record type.
2680
2681 Sat Mar 10 17:52:54 2001  Christopher Faylor <cgf@cygnus.com>
2682
2683         * config/i386/cygwin.h: Make ../w32api a system directory.  Reorganize
2684         mingw includes slightly.
2685
2686 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2687
2688         * system.h (malloc, realloc, calloc, strdup, bzero, bcmp, rindex):
2689         #undef token before poisoning it.
2690
2691 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2692
2693         * alpha.c (check_float_value): Use memcpy, not bcopy.
2694
2695         * m32r.c (m32r_sched_reorder): Likewise.
2696
2697         * vax.c (check_float_value): Likewise.
2698
2699 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
2700
2701         * toplev.c (file_name_nondirectory): Remove.
2702         * toplev.h: Similarly.
2703         * dwarf2out.c (compute_section_prefix): Use lbasename instead
2704         of file_name_nondirectory.
2705
2706 Sat Mar 10 10:36:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2707
2708         * mips-tdump.c (read_seek): Call xmalloc, not malloc.
2709         * mips-tfile.c: Don't #undef rindex; not used.
2710
2711 Sat Mar 10 14:34:59 CET 2001  Jan Hubicka  <jh@suse.cz>
2712
2713         * i386.h (DBX_REGISTER_NUMBER): Return proper values for 64bits.
2714         (dbx64_register_map): Declare.
2715         (RETURN_ADDR_RTX): Fix for 64bit.
2716         (DWARF_FRAME_RETURN_COLUMN): Set to 16 for 64bit.
2717         (INCOMING_FRAME_SP_OFFSET): Set to 8.
2718         * i386.c (dbx64_register_map): New global array.
2719         * beos-elf.h, freebsd.h, i386-interix.h, i386elf.h,
2720         linux.h (DBX_REGISTER_REGNUMBER): Use dbx64_register_map
2721         for 64bits.
2722
2723 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
2724
2725         * cppfiles.c (search_from): Use lbasename.
2726         * mkdeps.c (deps_add_default_target): Use lbasename.
2727
2728 2001-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2729
2730         * fixinc/server.c (load_data, run_shell): Use xmalloc, xrealloc &
2731         xcalloc in lieu of malloc, realloc & calloc.
2732
2733         * gencheck.c (xmalloc): Use really_call_malloc, not malloc.
2734
2735         * gengenrtl.c (xmalloc): Likewise.
2736
2737         * gensupport.c (xcalloc, xrealloc, xmalloc): Use the
2738         really_call_* memory allocation routines.
2739
2740         * stmt.c (check_for_full_enumeration_handling): Use
2741         really_call_calloc, not calloc.
2742
2743         * system.h (really_call_malloc, really_call_calloc,
2744         really_call_realloc): Define.
2745         (malloc, realloc, calloc, strdup, bzero, bcmp, rindex): Poison.
2746
2747 Fri Mar  9 18:39:19 2001  Jeffrey A Law  (law@cygnus.com)
2748
2749         * pa.md (builtin_longjmp): Rework slightly to work for PA64 too.
2750
2751 2001-03-09  Nicola Pero <n.pero@mi.flashnet.it>
2752
2753         * configure: Rebuilt.
2754         * configure.in: Only use `lang_requires' for languages athat are
2755         actually enabled.
2756
2757 2001-03-09  Joseph S. Myers  <jsm28@cam.ac.uk>
2758
2759         * invoke.texi: Fix typo.
2760         * gcc.1: Regenerate.
2761
2762 2001-03-09  Zack Weinberg  <zackw@stanford.edu>
2763
2764         * configure.in: Prune nonexistent files from build_xm_file,
2765         xm_file, and host_xm_file lists.  Warn unless they're
2766         $cpu/xm-$cpu.h.
2767         Don't generate *config.h here.
2768         AC_SUBST all variables needed to generate *config.h.
2769         * configure: Regenerate.
2770         * mkconfig.sh: New helper script, from code removed from
2771         configure.in.
2772         * Makefile.in: Zap all MALLOC variables - no longer used
2773         anywhere, and malloc.c doesn't exist.
2774         Substitute in variables needed to generate *config.h.
2775         Stop lying about the dependencies contained in CONFIG_H and
2776         GCONFIG_H.
2777         (HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
2778         (config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
2779         cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
2780         (all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
2781         $(TM_P_H), etc. as appropriate.
2782
2783         * config.gcc: Zap references to deleted files.
2784         * ggc-none.c: Don't include rtl.h or tm_p.h.
2785
2786         * config/i386/xm-beos.h, config/i386/xm-dgux.h,
2787         config/i386/xm-djgpp.h, config/i386/xm-dos.h,
2788         config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
2789         config/i386/xm-linux.h, config/i386/xm-linux.h,
2790         config/i386/xm-next.h, config/i386/xm-openbsd.h,
2791         config/i386/xm-sun.h, config/i386/xm-sysv3.h:
2792         Don't include i386/xm-i386.h.
2793
2794         * config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
2795         config/i386/xm-i386.h, config/i860/xm-i860.h,
2796         config/i960/xm-i960.h, config/mcore/xm-mcore.h,
2797         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
2798         config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
2799         Delete (empty except comments, #includes of other deleted
2800         files, and macros used nowhere).
2801
2802 Fri Mar  9 20:05:27 CET 2001  Jan Hubicka  <jh@suse.cz>
2803
2804         * i386.h (MAX_WCHAR_TYPE_SIZE): New constant to keep tradcpp
2805         independent on TARGET_FLAGS.
2806
2807 Fri Mar  9 19:52:52 CET 2001  Jan Hubicka  <jh@suse.cz>
2808
2809         * i386.h (FIRST_PSEUDO_REGISTER): Set to 53.
2810
2811         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ONES): Add
2812         extended ones.
2813         (CONDITIONAL_REGISTER_USAGE): Set proper values according to
2814         TARGET_64BIT.
2815         (FIRST_REX_INT_REG, LAST_REX_INT_REG, FIRST_REX_SSE_REG,
2816         LAST_REX_SSE_REG): define.
2817         (enum reg_class): Add 'LEGACY_REGS'
2818         (REG_CLASS_CONTENTS): Likewise; add extended registers.
2819         (SSE_REGNO_P): Recognize extended registers.
2820         (ANY_QI_REG_P, REX_INT_REGNO_P, REX_INT_REG_P): New.
2821         (REG_CLASS_FROM_LETTER): Add 'R' and 'Q'.
2822         (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P,
2823         REG_OK_FOR_BASE_NONSTRICT_P): Recognize REX registers.
2824         (REG_OK_FOR_STRREG_NONSTRICT_P, REG_OK_FOR_STRREG_STRICT_P,
2825          REG_OK_FOR_STRREG_P): Remove.
2826         (HI_REGISTER_NAMES): Add extended registers.
2827         (ADDITIONAL_REGISTER_NAMES): Likewise.
2828         (QI_REGISTER_NAMES): Add 8bit extended registers.
2829         (DEBUG_REG): Support extended registers.
2830         * i386.c (regclass_map): Add extended registers.
2831         (dbx_register-map): Likewise.
2832         (svr4_dbx_register_map): Likewise.
2833         (print_reg): Support extended registers.
2834         (print_operand): Support 64bit operands.
2835
2836 Fri Mar  9 19:37:46 CET 2001  Jan Hubicka  <jh@suse.cz>
2837
2838         * i386.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 128bit for x86_64
2839         (BOOL_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
2840          FLOAT_TYPE_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE,
2841          DOUBLE_TYPE_SIZE, LONG_LONG_TYPE_SIZE): New constants.
2842         (BITS_PER_WORD, UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY,
2843          STACK_BOUNDARY): Set properly for 64bits.
2844         (MAX_BITS_PER_WORD, MIN_UNITS_PER_WORD): New constants.
2845         (EMPTY_FIELD_BOUNDARY): Define using BITS_PER_WORD.
2846         (BIGGEST_FIELD_ALIGNMENT): Set to 128 for 64bits.
2847         (MOVE_MAX): Set to 16.
2848         (MOVE_MAX_PIECES): 8 for 64bit.
2849         (Pmode): Set to SImode.
2850
2851 Fri Mar  9 09:00:36 2001  Mike Stump  <mrs@wrs.com>
2852
2853         * cselib.c (hash_rtx): Ensure that hash isn't zero upon return.
2854
2855 Fri Mar  9 17:38:08 CET 2001  Jan Hubicka  <jh@suse.cz>
2856
2857         * i386.h (mask_64bit): New constant.
2858         (target_64bit): New macro.
2859         (target_options): Add '64'/'32'
2860         (target_default): Define.
2861         * cygwin.h freebsd-aout.h i386-interix.h i386.h i386elf.h isc.h
2862         isccoff.h netbsd.h next.h openbsd.h p sco.h sco5.h scodbx.h sequent.h
2863         unix.h win32.h (TARGET_DEFAULT): Rename to TARGET_SUBTARGET_DEFAULT.
2864
2865 Thu Mar  8 23:36:56 2001  Jeffrey A Law  (law@cygnus.com)
2866
2867         * config/pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Disable.
2868
2869 Thu Mar  8 23:29:37 2001  John Wehle  (john@feith.com)
2870
2871         * rtlanal.c (rtx_varies_p): Check operand 0 of a
2872         LO_SUM unless for_alias is set.
2873
2874 2001-03-08  Stan Shebs  <shebs@apple.com>
2875
2876         * objc/objc-act.c: Fix old typos in comments, add comments for
2877         various functions.
2878         (hash_init): Fix file name in error message.
2879         (hash_enter): Ditto.
2880         (hash_add_attr): Ditto.
2881         (continue_class): Ditto.
2882
2883 2001-03-08  Bruce Korb  <bkorb@gnu.org>
2884
2885         gcc.c(main): ensure SIGCHLD handling is set to SIG_DFL so that
2886         wait4() can receive the signal.
2887
2888 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2889
2890         * fixinc/inclhack.def (AAB_dgux_int_varargs): Don't use HTML
2891         entities.
2892         * fixinc/fixincl.x: Regenerate.
2893
2894 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2895
2896         * fixinc/inclhack.def (AAA_standards): Undo <standards.h> breakage
2897         on Tru64 UNIX.
2898         * fixinc/fixincl.x: Regenerate.
2899
2900 2001-03-08  Richard Henderson  <rth@redhat.com>
2901
2902         * configure.in (HAVE_AS_LEB128): New assembler check.
2903         * configure, config.in: Rebuilt.
2904
2905 Thu Mar  8 19:54:04 CET 2001  Jan Hubicka  <jh@suse.cz>
2906
2907         * reg-stack.c (move_for_stack_reg): Avoid non-poping fst for
2908         TFmode too.
2909
2910 2001-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2911
2912         * config/ns32k/xm-pc532-min.h, config/we32k/xm-we32k.h: Delete
2913         references to the MAXPATHLEN macro.
2914
2915         * config/alpha/xm-alpha.h, config/arm/xm-arm.h,
2916         config/i386/xm-cygwin.h, config/xm-linux.h: Delete references to
2917         the POSIX macro.
2918
2919         * config/i386/xm-gnu.h, config/xm-gnu.h,
2920         config/alpha/xm-openbsd.h, config/i386/xm-openbsd.h,
2921         config/m68k/xm-openbsd.h, config/mips/xm-openbsd.h,
2922         config/sparc/xm-openbsd.h, config/xm-openbsd.h: Delete empty
2923         and/or unused files.
2924
2925         * config.gcc: Define POSIX in xm_defines as appropriate in lieu of
2926         doing so in various xm-*.h files.
2927
2928 Thu Mar  8 06:32:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2929
2930         * config/i386/i386.md (clrstrsi): Call ix86_set_move_mem_attrs.
2931
2932 2001-03-08  Alexandre Oliva  <aoliva@redhat.com>
2933
2934         * configure.in (enable_shared): Support per-package shared-library
2935         enabling.
2936         * configure: Rebuilt.
2937
2938 2001-03-07  David Edelsohn  <edelsohn@gnu.org>
2939
2940         * rs6000.md (cr logic): Add original POWER mnemonic alternative
2941         for crnot.  Set operands[5] in splitter.
2942
2943 2001-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2944
2945         * config/i370/xm-mvs.h, config/i370/xm-oe.h,
2946         config/i386/xm-beos.h, config/i386/xm-mingw32.h,
2947         config/m88k/xm-m88k.h, config/mips/xm-iris6.h,
2948         config/mips/xm-openbsd.h, config/pa/xm-pa64hpux.h,
2949         config/pa/xm-pahpux.h, config/rs6000/xm-beos.h,
2950         config/rs6000/xm-darwin.h, config/rs6000/xm-mach.h,
2951         config/rs6000/xm-rs6000.h, config/xm-interix.h: Delete references
2952         to the USG macro.
2953
2954         * config/vax/xm-vaxv.h, config/a29k/xm-unix.h,
2955         config/i370/xm-i370.h, config/i386/xm-dgux.h,
2956         config/i386/xm-sun.h, config/i386/xm-sysv3.h,
2957         config/m68k/xm-tower.h, config/m68k/xm-aux.h,
2958         config/m68k/xm-hp320.h, config/m68k/xm-amix.h,
2959         config/m68k/xm-altos3068.h, config/m68k/xm-mot3300.h,
2960         config/m68k/xm-m68kv.h, config/m88k/xm-openbsd.h,
2961         config/mips/xm-nws3250v4.h, config/mips/xm-sysv.h,
2962         config/mips/xm-iris3.h, config/mips/xm-iris4.h, config/xm-svr3.h,
2963         config/xm-svr4.h, config/sparc/xm-pbd.h, config/clipper/xm-clix.h:
2964         Delete unused and/or empty files.
2965
2966         * config.gcc: Define USG in xm_defines as appropriate.  Define
2967         POSIX in lieu of xm-svr4.h.  Delete all references to the SVR3
2968         macro.  Remove deleted xm-* files from $xm_files variable.
2969
2970 2001-03-07  Tom Tromey  <tromey@redhat.com>
2971
2972         * configure: Rebuilt.
2973         * configure.in: Allow config-lang.in to set `lang_requires' to list
2974         of other required languages.
2975
2976 2001-03-07  Andrew MacLeod  <amacleod@redhat.com>
2977
2978         * config/a29k/a29k.c (print_operand): Free a29k_last_prologue_insn
2979         after its emitted.
2980         (output_prologue): Use xmalloc not oballoc.
2981         (output_epilog): Free a29k_first_epilogue_insn when finished.
2982         * confif/a29k/a29k.h (PREDICATE_CODES): Remove shift_constant_operand.
2983
2984 2001-03-07  Brad Lucier  <lucier@math.purdue.edu>
2985
2986         * builtins.c (expand_builtin_mathfn): Check
2987         flag_unsafe_math_optimizations, not flag_fast_math.
2988         (expand_builtin): Likewise
2989         * combine.c (combine_simplify_rtx): Likewise.
2990         (simplify_if_then_else): Likewise.
2991         * cse.c (fold_rtx): Likewise.
2992         * flags.h: Remove flag_fast_math.  Add
2993         flag_unsafe_math_optimizations and flag_trapping_math.
2994         * fold-const.c (negate_expr): Check
2995         flag_unsafe_math_optimizations, not flag_fast_math.
2996         (invert_truthvalue): Likewise.
2997         (fold): Likewise.  Before associating operands, check that
2998         code == MULT_EXPR, not code != MULT_EXPR.
2999         * ifcvt.c (noce_try_minmax): Check
3000         flag_unsafe_math_optimizations, not flag_fast_math.
3001         (noce_operand_ok): Check flag_trapping_math, not flag_fast_math.
3002         * invoke.texi: Document -funsafe-math-optimizations and
3003         -fno-trapping-math.  Change documentation for -ffast-math.
3004         * jump.c (reversed_comparison_code_parts): Likewise.
3005         (rtx_equal_for_thread_p): Likewise.
3006         * optabs.c (emit_conditional_move): Likewise.
3007         * simplify-rtx.c (simplify_binary_operation): Likewise.
3008         (simplify_relational_operation): Likewise.
3009         (simplify_ternary_operation): Likewise.
3010         * toplev.c: Remove flag_fast_math.  Add flag_trapping_math and
3011         flag_unsafe_math_optimizations.  Remove fast-math entry from f_options.
3012         Add trapping-math and unsafe-math-optimizations entries to f_options.
3013         (set_fast_math_flags): New, sets flags for -ffast-math.
3014         (set_no_fast_math_flags): New, sets flags for -fno-fast-math.
3015         (decode_f_option): Add code to handle -ffast-math and -fno-fast-math.
3016         * toplev.h: Declare set_fast_math_flags and set_no_fast_math_flags.
3017
3018         * config/alpha/alpha.c (alpha_emit_conditional_branch): Likewise.
3019         (alpha_emit_conditional_move): Initialize local_fast_math to
3020         flag_unsafe_math_optimizations, not flat_fast_math.
3021         * config/c4x/c4x.c (c4x_override_options): Call set_fast_math_flags
3022         instead of setting flag_fast_math to 1.
3023         * config/convex/convex.md: Check flag_unsafe_math_optimizations,
3024         not flag_fast_math.
3025         * config/i386/i386.c (override_options): Likewise
3026         * config/i386/i386.md: Likewise.
3027         * config/m68k/m68k.md: Likewise.
3028         * config/mips/mips.md: Likewise.
3029         * config/rs6000/rs6000.c (validate_condition_mode): Likewise.
3030         (rs6000_generate_compare): Likewise.
3031
3032 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
3033
3034         * Makefile.in: Set RANLIB to @RANLIB@.
3035         Remove RANLIB_TEST.
3036
3037 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
3038
3039         * fixinc/inclhack.def (djgpp_wchar_h): New test.
3040         * fixinc/fixincl.x: Regenerated.
3041
3042 2001-03-07  Richard Henderson  <rth@redhat.com>
3043
3044         * config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
3045
3046 2001-03-07  Richard Henderson  <rth@redhat.com>
3047
3048         * emit-rtl.c (remove_unnecessary_notes): Verify proper nesting
3049         of block notes and exception handling notes.
3050
3051         * lists.c (init_EXPR_INSN_LIST_cache): Don't check initialized.
3052         * toplev.c (rest_of_compilation): Call init_EXPR_INSN_LIST_cache ...
3053         (compile_file): ... here.
3054
3055 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3056
3057         * fixinc/Makefile.in (FIXINC_DEFS): Add -DHAVE_CONFIG_H.
3058
3059         * fixinc/gnu-regex.c: Don't include auto-host.h since we get
3060         config.h now.  Include libiberty.h to handle alloca.
3061
3062 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
3063
3064         * c-parse.in (yylexname): New function, split out of _yylex.
3065         (objc_rid_sans_at): New table.
3066         (init_reswords): Initialize it.
3067         (_yylex): Give labels clearer names.  Handle CPP_ATSIGN by
3068         retrieving the next token and checking it for significance as
3069         an ObjC keyword or string constant.
3070
3071         * cpplex.c (_cpp_lex_token): Just return CPP_ATSIGN for '@'.
3072         * cpplib.h (TTYPE_TABLE): Add CPP_ATSIGN, drop CPP_OSTRING.
3073
3074         * c-lex.c, c-parse.in, cppmacro.c, cpplex.c: Remove references
3075         to CPP_OSTRING.
3076
3077 2001-03-06  Stephen L Moshier  <moshier@mediaone.net>
3078
3079         * config/m68k/m68k.c (const_uint32_operand): Accept any
3080         const_int on a 32-bit host.
3081
3082 2001-03-06  Nicola Pero  <n.pero@mi.flashnet.it>
3083
3084         * objc/objc-act.c (init_objc): Set save_lang_status,
3085         restore_lang_status, and mark_lang_status.
3086
3087 2001-03-06  Krister Walfridsson  <cato@df.lth.se>
3088
3089         * dwarf2asm.c (dw2_asm_output_delta): Fix smallest_mode_for_size call.
3090
3091 2001-03-06  Neil Booth  <neil@daikokuya.demon.co.uk>
3092
3093         * cppinternals.texi: Update.
3094
3095 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3096
3097         * config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
3098         config/alpha/xm-alpha.h, config/arc/xm-arc.h, config/arm/xm-arm.h,
3099         config/c4x/xm-c4x.h, config/clipper/xm-clix.h,
3100         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
3101         config/dsp16xx/xm-dsp16xx.h, config/elxsi/xm-elxsi.h,
3102         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
3103         config/i370/xm-linux.h, config/i370/xm-mvs.h, config/i370/xm-oe.h,
3104         config/i386/xm-i386.h, config/i860/xm-i860.h,
3105         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
3106         config/m32r/xm-m32r.h, config/m68k/xm-m68k.h,
3107         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
3108         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
3109         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
3110         config/pa/xm-linux.h, config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
3111         config/pa/xm-pahpux.h, config/pa/xm-papro.h, config/pj/xm-pj.h,
3112         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
3113         config/rs6000/xm-lynx.h, config/rs6000/xm-rs6000.h,
3114         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
3115         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
3116         config/v850/xm-v850.h, config/vax/xm-vax.h, config/vax/xm-vms.h,
3117         config/we32k/xm-we32k.h: Delete HOST_BITS_PER_* definitions which
3118         match the defaults provided in hwint.h.
3119
3120         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
3121         config/sparc/xm-lynx.h, config/xm-std32.h: Delete files.
3122
3123         * config.gcc (xm_file): Don't set to files which are deleted.
3124
3125         * hwint.h: Provide default values for HOST_BITS_PER_*.  No longer
3126         guard this file against these macros being undefined.
3127
3128 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
3129
3130         * objc/objc-act.c (objc_add_static_instance): Set DECL_INITIAL
3131         and DECL_DEFER_OUTPUT on the decl we create, before calling
3132         rest_of_decl_compilation.
3133
3134 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
3135
3136         * aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE
3137         AC_FUNC_ALLOCA.
3138         * configure, config.in: Regenerate.
3139         * config.gcc: Remove references to deleted files.
3140
3141         * genattr.c, genattrtab.c, genextract.c, genoutput.c,
3142         genrecog.c, rtl.c: Do not use alloca anywhere.
3143
3144         * Makefile.in, build-make, system.h, config/x-interix,
3145         config/x-svr4, config/xm-interix.h, config/xm-openbsd.h,
3146         config/alpha/xm-alpha.h, config/alpha/xm-vms.h,
3147         config/arc/xm-arc.h, config/arm/xm-arm.h,
3148         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
3149         config/h8300/xm-h8300.h, config/i370/x-oe,
3150         config/i370/xm-linux.h, config/i386/x-aix, config/i386/x-beos,
3151         config/i386/x-ncr3000, config/i386/x-sco5,
3152         config/i386/xm-dgux.h, config/i860/x-sysv4,
3153         config/i960/xm-i960.h, config/m32r/xm-m32r.h,
3154         config/m68k/x-crds, config/m68k/x-dpx2, config/m68k/x-hp320,
3155         config/m68k/x-hp320g, config/m69k/x-mot3300,
3156         config/m68k/x-mot3300-gas, config/m68k/xm-amix.h,
3157         config/m68k/xm-hp320.h, config/m68k/xm-m68kv.h,
3158         config/m68k/xm-mot3300.h, config/m88k/x-dolph,
3159         config/m88k/x-sysv4, config/m88k/x-tekXD88,
3160         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
3161         config/mips/x-iris, config/mips/x-iris3,
3162         config/mips/x-sni-svr4, config/mips/x-sysv,
3163         config/mips/xm-iris6.h, config/mips/xm-mips.h,
3164         config/mips/xm-nws3250v4.h, config/pa/x-hpux,
3165         config/pa/x-pa-mpeix, config/pa/xm-pa.h,
3166         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
3167         config/pa/xm-papro.h, config/romp/xm-romp.h,
3168         config/rs6000/x-aix31, config/rs6000/x-aix41,
3169         config/rs6000/x-beos, config/rs6000/x-lynx,
3170         config/rs6000/x-mach, config/rs6000/x-rs6000,
3171         config/rs6000/x-sysv4, config/rs6000/xm-rs6000.h,
3172         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
3173         config/sparc/x-sysv4, config/sparc/xm-linux.h,
3174         config/sparc/xm-pbd.h, config/sparc/xm-sparc.h,
3175         config/vax/xm-vms.h: Eradicate all references to alloca and
3176         related stuff.
3177
3178         * config/xm-alloca.h, config/clipper/x-clix,
3179         config/i386/xm-sysv4.h, config/i860/x-fx2800,
3180         config/i860/x-sysv3, config/m88k/x-sysv3,
3181         config/sparc/xm-sol2.h, config/we32k/x-we32k: Delete
3182         (contained only alloca related hacks).
3183
3184         * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Just define
3185         USE_C_ALLOCA.
3186
3187 2001-03-05  Brad Lucier  <lucier@math.purdue.edu>
3188
3189         * invoke.texi: Document __FAST_MATH__.
3190
3191 2001-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3192
3193         * crtstuff.c: Restore include of auto-host.h.
3194
3195 2001-03-05  Fergus Henderson  <fjh@cs.mu.oz.au>
3196
3197         Put main() in a separate file, so that the language
3198         front-end can use a different main().
3199
3200         * main.c: New.
3201         * toplev.c: (main): Rename as toplev_main.
3202         * toplev.h: Declare toplev_main.
3203         * Makefile.in (OBJS): add toplev.o.
3204           (BACKEND): remove toplev.o, add main.o.
3205
3206 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
3207
3208         * cppfiles.c (search_from): Special case the empty string.
3209
3210 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
3211
3212         * cppfiles.c (_cpp_execute_include): Don't make a null-terminated
3213         copy of the filename.  Don't use CPP_PREV_BUFFER.  Don't call
3214         strlen or strcpy; we already know the length.
3215         (_cpp_compare_file_date): Similarly.
3216         * cpphash.h (struct cpp_reader): Delete done_initialising.
3217         (CPP_PREV_BUFFER): Delete.
3218         * cppinit.c (cpp_start_read): Don't set done_initialising.
3219         * cpplex.c (parse_string): Guarantee null-termination.
3220         (_cpp_equiv_toklists): Remove.
3221         * cpplib.c (glue_header_name): Null-terminate.
3222         (do_line): Don't leak memory.
3223         * cpplib.h (BT_WEAK): Delete.
3224         * cppmain.c (cb_ident): Strings are now null-terminated.
3225
3226 2001-03-04  Laurynas Biveinis  <lauras@softhome.net>
3227
3228         * gcc.c (convert_filename): Append executable suffix
3229         if NO_AUTO_EXE_SUFFIX is not defined.
3230         * gcc.texi: Document NO_AUTO_EXE_SUFFIX.
3231         * config/i386/djgpp.h: Define NO_AUTO_EXE_SUFFIX.
3232
3233 2001-03-03  David O'Brien  <obrien@FreeBSD.org>
3234
3235         from 2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
3236         * c-parse.gperf, c-gperf.h: Delete.
3237         (c-gperf.h was accidently re-added to the CVS repo in the rev
3238         1.16 commit by tromey)
3239
3240 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
3241
3242         * cpplex.c (_cpp_lex_token): Don't warn about directives in
3243         macro arguments when looking for the '('.
3244         * cppmacro.c (funlike_invocation_p): Set parsing_args to
3245         2 when really parsing arguments; 1 when looking for '('.
3246         Always restore the lexer position.
3247
3248 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
3249
3250         * longlong.h (umul_ppmm): Don't use a multiline string.
3251
3252 2001-03-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3253
3254         * fixinc/fixlib.h (t_bool): Add identifier `t_bool' in typedef.
3255         * fixinc/server.c (read_pipe_timeout): Use enum t_bool instead of
3256         t_bool in declaration because pcc can't combine volatile with typedef
3257         types.
3258
3259 Sat Mar  3 19:47:13 CET 2001  Jan Hubicka  <jh@suse.cz>
3260
3261         * i386.c (ix86_expand_fp_compare): Delay creating of scratch register
3262         until when it is really needed.
3263         (ix86_expand_compare): Update call of ix86_expand_fp_compare.
3264         * i386.h (PREDICATE_CODES): Add all codes for sse_comparison_operator
3265         * i386.md (float?i?f splitter): Don't force source operand to memory
3266         for SSE.
3267         (sse_movdfcc): Fix constraint.
3268         (sse_movdfcc splitter): Handle properly the second alternative.
3269
3270 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
3271
3272         * cpplex.c (parse_string): Unconditionally pedwarn.
3273
3274 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
3275
3276         * cpp.texi: Update.
3277         * cppexp.c (parse_number): Update.
3278         * cpplex.c (parse_string): Pedwarn if multiline string does not
3279         result from a system header's macro.
3280         * cpplib.h (sys_objmacro_p): Rename sys_macro_p.
3281         * cppmacro.c (sys_objmacro_p): Rename sys_macro_p.  Return true
3282         for function-like macros too.
3283         * c-lex.c (lex_number): Update.
3284
3285 2001-03-03  Richard Henderson  <rth@redhat.com>
3286
3287         * dwarf2out.c (output_call_frame_info): Fix augmentation length.
3288
3289 Sat Mar  3 04:17:17 2001  J"orn Rennecke <amylaar@redhat.com>
3290
3291         * combine.c (try_combine): If split with mode-changed scratch
3292         register didn't work, try the original mode.
3293
3294 Sat Mar  3 03:46:47 2001  J"orn Rennecke <amylaar@redhat.com>
3295
3296         * tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
3297         * config/c4x/c4x.h: Likewise.
3298         * stor-layout.c (compute_record_mode): Likewise.
3299         (layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK.
3300
3301 2001-03-02  Zack Weinberg  <zackw@stanford.edu>
3302
3303         * configure.in: Kill tm.h.  Include the files in the $tm_file
3304         list in all three of config.h, hconfig.h, tconfig.h, after the
3305         relevant set of xm_files.  Put TARGET_CPU_DEFAULT in all
3306         three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
3307         * configure: Regenerate.
3308         * Makefile.in (clean): Don't delete tm.h.
3309
3310         * system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
3311         defined, set them from EXIT_SUCCESS and EXIT_FAILURE.  If
3312         those are not defined, set SEC and FEC to 0 and 1.
3313         * gcc.texi: Update to match.
3314
3315         * crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
3316         * config/fp-bit.c, config/m68k/aux-crt2.asm,
3317         config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
3318         Include tconfig.h, not tm.h.
3319
3320         * config/xm-lynx.h, config/xm-std32.h,
3321         config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
3322         config/alpha/xm-alpha.h, config/arc/xm-arc.h,
3323         config/avr/xm-avr.h, config/c4x/xm-c4x.h,
3324         config/clipper/xm-clix.h, config/convex/xm-convex.h,
3325         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
3326         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
3327         config/h8300/xm-h8300.h, config/i370/xm-linux.h,
3328         config/i386/xm-i386.h, config/i860/xm-i860.h,
3329         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
3330         config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h,
3331         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
3332         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
3333         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
3334         config/pa/xm-linux.h, config/pa/xm-pa.h,
3335         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
3336         config/pa/xm-papro.h, config/pdp11/xm-pdp11.h,
3337         config/pj/xm-pj.h, config/romp/xm-romp.h,
3338         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
3339         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
3340         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
3341         config/v850/xm-v850.h, config/vax/xm-vax.h,
3342         config/we32k/xm-we32k.h:
3343         Don't include tm.h.
3344         Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
3345
3346         * config/i370/xm-i370.h, config/i370/xm-mvs.h,
3347         config/i370/xm-oe.h: Don't include tm.h.  Don't define
3348         SUCCESS_EXIT_CODE.
3349         * config/vax/xm-vms.h: Don't include tm.h.
3350
3351         * config/xm-lynx.h, config/avr/xm-avr.h,
3352         config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h,
3353         Delete; made empty by above changes.
3354         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
3355         config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h:
3356         Don't include config/xm-lynx.h or tm.h.
3357
3358         * config/xm-gnu.h: Don't include fcntl.h.
3359         * config/sparc/xm-lynx.h: Don't include sys/types.h and
3360         sys/wait.h.
3361         * config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf.
3362
3363 2001-03-02  Richard Henderson  <rth@redhat.com>
3364
3365         * tm.texi (File Framework): Document UNALIGNED_SHORT_ASM_OP,
3366         UNALIGNED_INT_ASM_OP, and UNALIGNED_DOUBLE_INT_ASM_OP.
3367
3368 2001-03-02  Richard Henderson  <rth@redhat.com>
3369
3370         * Makefile.in (OBJS): Add dwarf2asm.o.
3371         * dwarf2asm.c, dwarf2asm.h: New files.
3372         * dwarf2out.c (*): Use them.
3373         (size_of_uleb128, size_of_sleb128): Remove.
3374         (output_uleb128, output_sleb128): Remove.
3375         (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Remove.
3376         (UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Remove.
3377         (UNALIGNED_OFFSET_ASM_OP, UNALIGNED_WORD_ASM_OP): Remove.
3378         (FDE_LABEL, LINE_NUMBER_BEGIN_LABEL, LINE_NUMBER_END_LABEL): New.
3379         (ASM_OUTPUT_DWARF_DATA1, ASM_OUTPUT_DWARF_DELTA1): Remove.
3380         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_DELTA2): Remove.
3381         (ASM_OUTPUT_DWARF_DATA4, ASM_OUTPUT_DWARF_DELTA4): Remove.
3382         (ASM_OUTPUT_DWARF_DATA, ASM_OUTPUT_DWARF_DELTA): Remove.
3383         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_ADDR_DATA): Remove.
3384         (ASM_OUTPUT_DWARF_ADDR_DELTA, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
3385         (ASM_OUTPUT_DWARF_OFFSET4, ASM_OUTPUT_DWARF_OFFSET): Remove.
3386         (ASM_OUTPUT_DWARF_CONST_DOUBLE): Remove.
3387         (ASM_OUTPUT_DWARF_NSTRING, ASM_OUTPUT_DWARF_STRING): Remove.
3388         (dwarf2out_frame_debug): Remove unused variables.
3389         (output_loc_operands): Don't abort on 8 byte constants if
3390         host integers are wide enough.
3391         (output_symbolic_ref): Remove.
3392         (size_of_die): Don't assume 4 byte host integers.
3393         (output_line_info): Use ASM_GENERATE_INTERNAL_LABEL for begin
3394         and end labels.
3395         (add_const_value_attribute) [CONST_INT]: Verify we're not doing
3396         something stupid with HOST_WIDE_INT to long truncation.
3397         [CONST_DOUBLE]: Likewise.
3398
3399         * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Remove.
3400         (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
3401         * config/arm/unknown-elf.h: Likewise.
3402         * config/rs6000/aix.h (UNALIGNED_SHORT_ASM_OP): New.
3403         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): New.
3404         (ASM_OUTPUT_DWARF_ADDR_VAR, ASM_OUTPUT_DWARF_DELTA_VAR): Remove.
3405         (ASM_OUTPUT_DWARF_DELTA2, ASM_OUTPUT_DWARF_DELTA4): Remove.
3406         (ASM_OUTPUT_DWARF_DELTA, ASM_OUTPUT_DWARF_ADDR_DELTA): Remove.
3407         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_DATA4): Remove.
3408         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_OFFSET4): Remove.
3409         (ASM_OUTPUT_DWARF_OFFSET): Remove.
3410         * config/rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Remove.
3411         * config/sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
3412         (UNALIGNED_LONGLONG_ASM_OP, ASM_OUTPUT_DWARF_ADDR): Remove.
3413         (ASM_OUTPUT_DWARF_ADDR_CONST, ASM_OUTPUT_DWARF_REF): Remove.
3414
3415 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3416
3417         * cselib.c (hash_rtx): Cast enums to unsigned int.
3418
3419 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3420
3421         * print-rtl.c (print_rtx): Cast enums to int for comparison.
3422         * c-decl.c (grokdeclarator): Cast enums to int for comparison and
3423         shifts.
3424         * c-format.c (C_STD_VER): Cast to int for comparisons.
3425         (check_function_format): Cast various enums to int for &.
3426         (maybe_read_dollar_number): Likewise.
3427         (check_format_info): Likewise.
3428         (check_format_info_main): Likewise.
3429         * expr.c (emit_move_insn_1): Cast enums to unsigned int for comparison.
3430         (safe_from_p): Likewise.
3431         * varasm.c (const_hash): Cast enum to int for %.
3432         * emit-rtl.c (init_emit_once): Use int loop variable to work around
3433         pcc enum problems with < and ++ operators.
3434         * regclass.c (init_reg_sets_1): Cast enums for comparison.
3435         (choose_hard_reg_mode): Use unsigned int to iterate over CCmodes.
3436         (regclass_init): Change enum class to int to iterate over reg_classes.
3437         * genrecog.c (merge_trees): Cast enums for comparison.
3438         * rtl.h (GET_CODE): Cast to enum rtx_code.
3439         (PUT_CODE): Cast to ENUM_BITFIELD(rtx_code).
3440         (GET_MODE): Cast to enum machine_mode.
3441         (PUT_MODE): Cast to ENUM_BITFIELD(machine_mode).
3442         (GET_NOTE_INSN_NAME): Cast enum to int.
3443         * tree.h (TREE_CODE): Cast to enum tree_code.
3444         (TREE_SET_CODE): Cast VALUE to ENUM_BITFIELD(tree_code).
3445         * timevar.c (timevar_print): Change loop variable id from enum to
3446         unsigned int.
3447         * fixinc/fixincl.c (VLEVEL): Cast enums in comparison to unsigned int.
3448         * config/i386/i386.md: Use PUT_MODE for mode assignment.
3449         * toplev.c (compile_file): Cast enum DFI to int.
3450         (decode_d_option): Likewise.
3451
3452 Fri Mar  2 12:18:13 2001  Christopher Faylor <cgf@cygnus.com>
3453
3454         * cppinit.c (append_include_chain): Mark "after" include file name list
3455         as a system directory.
3456         * cpp.texi: Document new behavior.
3457
3458 Fri Mar  2 11:59:43 CET 2001  Jan Hubicka  <jh@suse.cz>
3459
3460         * ifcvt.c (noce_operand_ok): Handle properly unarry operations.
3461
3462 2001-03-02  Neil Booth  <neil@daikokuya.demon.co.uk>
3463
3464         * cppfiles.c (struct include_file): Update.
3465         (stack_include_file): Use search_from.
3466         (cpp_included, find_include_file): Update.
3467         (cpp_execute_include): Update.  ptr->name may not be
3468         null terminated.  Use the new search_from member variable
3469         of cpp_buffer.
3470         (_cpp_compare_file_date): Similarly.
3471         (search_from): New function, similiar to actual_directory.
3472         (actual_directory): Delete.
3473         (remap_filename): Update.  loc->name may not be null terminated.
3474         (struct file_name_list): Rename search_path.  Update.
3475         * cpphash.h (struct cpp_buffer): Delete actual_dir.  New members
3476         search_from and dir.
3477         (struct cpp_reader): Remove actual_dirs.
3478         * cppinit.c (struct cpp_pending): Update for renamed objects.
3479         (append_include_chain, remove_dup_dir, remove_dup_dirs,
3480         merge_include_chains, cpp_destroy, cpp_start_read): Similarly.
3481         * cpplib.h (struct cpp_options): Similarly.
3482
3483 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
3484
3485         * config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
3486         config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
3487         config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
3488         config/clipper/xm-clix.h, config/convex/xm-convex.h,
3489         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
3490         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
3491         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
3492         config/i370/xm-linux.h, config/i370/xm-mvs.h,
3493         config/i370/xm-oe.h, config/i386/xm-aix.h,
3494         config/i386/xm-i386.h, config/i386/xm-osf.h,
3495         config/i860/xm-i860.h, config/i960/xm-i960.h,
3496         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
3497         config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
3498         config/mcore/xm-mcore.h, config/mips/xm-mips.h,
3499         config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
3500         config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
3501         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
3502         config/pa/xm-pahpux.h, config/pa/xm-papro.h,
3503         config/pj/xm-pj.h, config/romp/xm-romp.h,
3504         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
3505         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
3506         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
3507         config/v850/xm-v850.h, config/vax/xm-vax.h,
3508         config/vax/xm-vms.h, config/we32k/xm-we32k.h:
3509         Do not define TRUE or FALSE.
3510
3511         * config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
3512         empty by above change.
3513         * config.gcc: Remove references to these files.
3514
3515         * configure.in: Detect stdbool.h.
3516         * configure, config.in: Regenerate.
3517         * system.h: Include stddef.h here if available.
3518         Set HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.
3519         Then set up a sensible boolean type at the very end.
3520
3521         * combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
3522         config/mcore/mcore.c: Rename variables named 'true' and/or 'false'.
3523
3524         * hash.h: Delete 'boolean' typedef and related #undefs.
3525
3526         * function.c, ggc-common.c, hash.h, hash.c, tlink.c: Replace
3527         all uses of 'boolean' with 'bool'.
3528
3529 2001-03-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3530
3531         * cpplib.c (_cpp_init_stacks): Cast enum for comparison.
3532         * cppexp.c (lex): Cast enums for comparison.
3533         * cppinit.c (parse_option): Cast enum for comparison.
3534         * cpplex.c (cpp_spell_token): Cast enums to int for minus.
3535         (cpp_output_token): Likewise.
3536         (cpp_can_paste): Cast enums for comparsion and plus/minus.
3537         (cpp_avoid_paste): Cast enums for minus and comparison.
3538
3539 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
3540
3541         * gcc.c, objc/lang-specs.h: Add zero initializer for cpp_spec
3542         field to all array elements.
3543
3544 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
3545
3546         * cpphash.h (struct cpp_reader): Add print_version field.
3547         * cppinit.c (cpp_handle_option): For -v, -version, and --version,
3548         just set print_version and other flags as appropriate.
3549         (cpp_post_options): Print version here if print_version is set.
3550
3551         * toplev.c (exit_after_options): New flag.
3552         (independent_decode_option): Don't exit here; just set
3553         exit_after_options.
3554         (main): Exit after calling lang_hooks.post_options if
3555         exit_after_options is true.
3556
3557         * cppinit.c (append_include_chain): Drop never-used case QUOTE.
3558         (merge_include_chains): Adjust comment to match code.
3559
3560 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
3561
3562         * stringpool.c (set_identifier): New function.
3563         * tree.h: Prototype it.
3564
3565         * c-parse.in: Kill D_YES. If compiled for objc, call
3566         save_and_forget_protocol_qualifiers from init_reswords.
3567         * objc/objc-act.c (remember_protocol_qualifiers,
3568         forget_protocol_qualifiers): Don't diddle C_IS_RESERVED_WORD.
3569         Swap out the non-keyword IDENTIFIER_NODEs for keyword ones, or
3570         vice versa.
3571         (save_and_forget_protocol_qualifiers): New function.
3572         * c-lex.h: Prototype save_and_forget_protocol_qualifiers.
3573
3574 2001-03-01  Diego Novillo  <dnovillo@redhat.com>
3575
3576         * c-semantics.c (prune_unused_decls): Return error_mark_node
3577         instead of (tree) 1 to stop traversing the tree chain.
3578
3579 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
3580
3581         Fix a problem introduced by Kenner's Feb 18 change.
3582         * toplev.c (rest_of_compilation): Disable flag_cse_follow_jumps and
3583         flag_cse_skip_blocks only temporarily, not for ever.
3584
3585 Thu Mar  1 09:49:58 2001  Jeffrey A Law  (law@cygnus.com)
3586
3587         * config/pa/som.h  (ASM_IDENTIFY_GCC): Define.
3588         (ASM_IDENTIFY_GCC_AFTER_SOURCE): Likewise.
3589
3590         * pa.c (emit_move_sequence): Verify operand0 is a hard register
3591         before determining its register class.
3592
3593 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
3594
3595         * config/ia64/ia64.c (ia64_hard_regno_rename_ok): Disallow renaming
3596         from reg 4 if current_function_calls_setjmp.
3597         (gen_nop_type): New function.
3598         (ia64_emit_nops): New function.
3599         (ia64_reorg): Call it.
3600         (ia64_sched_reorder): Move code that rotates bundles up a bit.
3601
3602         * reload1.c (eliminate_regs_in_insn): Restrict the special case
3603         code not to try to optimize adds with anything but a REG destination.
3604
3605         * sched-int.h (struct haifa_insn_data): Add new member priority_known.
3606         (INSN_PRIORITY_KNOWN): New accessor macro.
3607         * haifa-sched.c (priority): Use it instead of testing priority against
3608         zero.
3609
3610 2001-02-28  DJ Delorie  <dj@redhat.com>
3611
3612         * config/m68k/m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes,
3613         since that doesn't work the way gcc wants on a generic m68k.
3614
3615 2001-02-28  Richard Henderson  <rth@redhat.com>
3616
3617         * caller-save.c (save_call_clobbered_regs): Fix typo in
3618         comparison last change.
3619
3620 Wed Feb 28 19:31:42 CET 2001  Jan Hubicka  <jh@suse.cz>
3621
3622         * i386.c (pentium4_cost): New.
3623         (m_PENT4): New macro.
3624         (x86_push_memory, x86_movx,x86_cmove, x86_deep_branch, x86_use_sahf
3625         x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8
3626         x86_integer_DFmode_moves, x86_partial_reg_dependency,
3627         x86_memory_mismatch_stall): Add Pentium4
3628         (x86_use_q_reg, x86_use_any_reg): Kill.
3629         (override_options): Add pentium4.
3630         (incdec_operand): Return 0 for pentium4.
3631         (ix86_issue_rate): Add PROCESSOR_PENTIUM4 and PROCESSOR_ATHLON.
3632         * i386.h (x86_use_q_reg, x86_use_any_reg): Kill.
3633         (TARGET_PENTIUM4): Define.
3634         (enum processor_type): Add PROCESSOR_PENTIUM4.
3635         (CPP_CPU_DEFAULT_SPEC): Add pentium4 support.
3636         * i386.md (attribute "cpu"): Add pentium4.
3637         * invoke.texi (march): Add pentium4.
3638
3639 Wed Feb 28 19:28:06 CET 2001  Jan Hubicka  <jh@suse.cz>
3640
3641         * i386.md (sse_mov?fcc*): New patterns and splitters.
3642         * i386.c (ix86_expand_movcc): Work post-reload; recognize
3643         the SSE based conditional moves.
3644
3645 Wed Feb 28 19:18:23 CET 2001  Jan Hubicka  <jh@suse.cz>
3646
3647         * i386.md (attribute mode): Add "TI".
3648         (movsf_1): Add pxor support; remove constant propagation splitter.
3649         (movdf_integer): Likewise.
3650         (movdf_nointeger): Likewise.
3651         (movxf constant prop splitter): Handle all modes; update for SSE.
3652         * i386.h (CONST_DOUBLE_OK_FOR_LETTER): Add 'H' for SSE constants.
3653         * i386.c (standard_80387_constant_p): Rewrite.
3654         (standard_sse_constant_p): New.
3655         * i386-protos.h (standard_sse_constant_p): New.
3656
3657 Wed Feb 28 19:05:37 CET 2001  Jan Hubicka  <jh@suse.cz>
3658
3659         * i386.md (sse_setccsf, sse_setccdf): New.
3660         (sse_cmp* patterns): Use '%D' instead of outputtting condition
3661         flag directly.
3662         * i386.c (sse_comparison_operator): Accept the supported unordered
3663         comparses; be ready for fast_math.
3664         (print_operand): Support 'D'.
3665
3666 Wed Feb 28 18:54:51 CET 2001  Jan Hubicka  <jh@suse.cz>
3667
3668         * jump.c (reversed_comparison_code): Kill.
3669
3670 Wed Feb 28 18:50:15 CET 2001  Jan Hubicka  <jh@suse.cz>
3671
3672         * toplev.c (rest_of_compilation): Do post-reload splitting unconditionally
3673         for STACK_REGS
3674
3675 Wed Feb 28 18:47:37 CET 2001  Jan Hubicka  <jh@suse.cz>
3676
3677         * i386.md (sse_andti3, sse_nandti_3, sse_xorti3): Add SSE2 versions;
3678         add missing '%' in constraints.
3679
3680 Wed Feb 28 17:24:24 CET 2001  Jan Hubicka  <jh@suse.cz>
3681
3682         * c-common.c (build_common_tree_nodes): Build intTI_type_nodes
3683         for HOST_BITS_PER_WIDE_INT == 32 too.
3684
3685 Wed Feb 28 17:22:35 CET 2001  Jan Hubicka  <jh@suse.cz>
3686
3687         * caller-save.c (reg_save_code, reg_restore_code):  Index by mode, not
3688         NREGS.
3689         (insert_save, insert_restore): New parameter save_mode.
3690         (init_caller_save): Update initialization of reg_save_code
3691         and reg_restore_code.
3692         (save_call_clobbered_regs):  Compute save_modes and update calls to
3693         reg_save_code and reg_restore_code.
3694         (insert_restore):  Unsignetize numbers; use save_modes to choose mode
3695         of spill; update use of reg_restore_code.
3696         (insert_save):  Likewise.
3697         * i386.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
3698         * c4x.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
3699         * regs.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
3700
3701 Wed Feb 28 17:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
3702
3703         * ifcvt.c (noce_emit_store_flag, noce_try_store_flag_constants,
3704         noce_try_store_flag_inc, noce_try_store_flag_mask,
3705         noce_try_cmove_arith):
3706         Use reversed_comparison_code instead of reverse_comparison and
3707         can_reverse_comparison_p.
3708
3709 Wed Feb 28 17:17:29 CET 2001  Jan Hubicka  <jh@suse.cz>
3710
3711         * jump.c (reversed_comparison_code_parts): Allow reversal of
3712         unordered compares in -ffast-math mode; reverse ordered compares
3713         for FP even w/o -ffast-math.
3714
3715 2001-02-27  Richard Henderson  <rth@redhat.com>
3716
3717         * print-rtl.c (print_rtx) [i]: Don't print field five on
3718         NOTEs other than NOTE_INSN_DELETED_LABEL.
3719
3720 2001-02-27  Zack Weinberg  <zackw@stanford.edu>
3721
3722         * mips/xm-iris4.h: Delete #if 0 block (there since before 1997).
3723         * pa/xm-linux.h, pa/xm-pa.h, pa/xm-papro.h: Don't declare errno.
3724
3725 2001-02-27  Diego Novillo  <dnovillo@redhat.com>
3726
3727         * c-common.c (walk_stmt_tree): Visit the chain of the current tree
3728         even if walk_subtrees is 0.
3729         * c-semantics.c (prune_unused_decls): Return a non-null value to
3730         stop traversing the tree chain.
3731
3732 2001-02-27  DJ Delorie  <dj@redhat.com>
3733
3734         * config/m68k/m68k.c (output_function_prologue): Save the new CFA
3735         register, *then* define it as the new CFA.
3736
3737 Tue Feb 27 16:49:13 2001  Jeffrey A Law  (law@cygnus.com)
3738
3739         * pa.c (override_options): Promote -fpic to -fPIC.
3740         (legitimize_pic_address): Simplify due to removal of
3741         small PIC as a code generation option.
3742         (secondary_reload_class): Similarly.
3743         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Similarly.
3744         (PRINT_OPERAND_ADDRESS): Similarly.
3745         * pa.md (various patterns): Similarly.
3746         (small pic lo_sum pattern): Remove.
3747
3748 Tue Feb 27 16:01:13 CET 2001  Jan Hubicka  <jh@suse.cz>
3749                               Fergus Henderson
3750
3751         * md.texi (min, max): Document
3752
3753 Tue Feb 27 15:51:35 CET 2001  Jan Hubicka  <jh@suse.cz>
3754
3755         * i386.md (movsf, movdf): Use movaps for reg-reg moves if
3756         TARGET_PARTIAL_REG_DEPENDENCY.
3757         (truncdfsf2_1_sse, truncdfsf2_2): Penalize the fpreg->mem case.
3758
3759 Tue Feb 27 15:36:48 CET 2001  Jan Hubicka  <jh@suse.cz>
3760
3761         * i386.md (mins*, maxs*): New patterns, expanders and splitters.
3762
3763 2001-02-26  Jeffrey Oldham  <oldham@codesourcery.com>
3764
3765         * mips.c (mips_make_temp_file): Fix thinko in last change.
3766
3767 2001-02-26  Jason Eckhardt  <jle@redhat.com>
3768
3769         * combine.c (known_cond): Do not reverse the condition when
3770         SMAX/UMAX is being considered and the condition is for equality
3771         or inequality.
3772
3773         * testsuite/gcc.c-torture/execute/20010221-1.c: New test.
3774
3775 2001-02-26  Philip Blundell  <philb@gnu.org>
3776
3777         * config.gcc: Remove obsolete targets "arm*-*-linuxoldld" and
3778         "armv2-*-linux".
3779         * config/arm/linux-elf.h: Remove historical relics related to
3780         above configurations.
3781         * config/arm/linux-oldld.h: Delete.
3782         * config/arm/linux-elf26.h: Delete.
3783
3784 2001-02-26  Jason Merrill  <jason@redhat.com>
3785
3786         * c-decl.c (finish_decl): Set DECL_DEFER_OUTPUT on tentative file-scope
3787         definitions.
3788         * toplev.c (rest_of_decl_compilation): Check DECL_DEFER_OUTPUT to
3789         recognize a tentative definition.  Lose obsolete code.
3790
3791         * toplev.c (wrapup_global_declarations): Don't emit DECL_COMDAT
3792         variables unless necessary, either.
3793
3794 2001-02-25  Richard Henderson  <rth@redhat.com>
3795
3796         * ifcvt.c (struct noce_if_info): Add test_bb.
3797         (noce_get_alt_condition): New.
3798         (noce_try_minmax, noce_try_abs): New.
3799         (noce_operand_ok): New.
3800         (noce_process_if_block): Use them.
3801         * rtlanal.c (may_trap_p): NEG and ABS can never trap.
3802
3803 Sun Feb 25 14:26:17 2001  Christopher Faylor <cgf@cygnus.com>
3804
3805         * config/i386/cygwin.h (CPP_SPEC): Add missing space before w32api
3806         include.
3807
3808 2001-02-25  Zack Weinberg  <zackw@stanford.edu>
3809
3810         * config.gcc: Put back pa/t-openbsd and rs6000/t-openbsd.
3811         * config/mips/mips.c (mips_make_temp_file): Set temp_filename
3812         properly.
3813         (mips_asm_file_end): Free temp_filename here.
3814
3815 Sun Feb 25 08:34:23 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3816
3817         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): Move decl.
3818         * config/i386/i386.c (ix86_set_move_mem_attrs_1): Fix typo.
3819
3820         * config/i386/i386.md (movstrsi): Handle FAIL case.
3821
3822 2001-02-25  Neil Booth  <neil@daikokuya.demon.co.uk>
3823
3824         * cppinit.c (builtin_array): Update.
3825         (init_builtins): Flag builtins to warn if redefined or
3826         undefined.  Define __GXX_WEAK as a normal macro.
3827         * cpplib.c (do_undef): Warn if flagged NODE_WARN.
3828         * cpplib.h (NODE_WARN): New flag.
3829         * cppmacro.c (builtin_macro): Remove handling of __GXX_WEAK__.
3830         Handle __STDC__ as a builtin only on Solaris.
3831         (warn_of_redefinition): Renamed from check_macro_definition.
3832         Reverse sense of test.  Always warn if NODE_WARN.
3833         (_cpp_create_definition): Use warn_of_redefinition.  Flag
3834         any macro beginning with "__STDC_" to require a mandatory
3835         warning if redefined or undefined.
3836
3837 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
3838
3839         * xm-interix.h, xm-lynx.h, alpha/xm-vms.h, convex/xm-convex.h,
3840         i370/xm-i370.h, i370/xm-linux.h, i370/xm-mvs.h, i370/xm-oe.h,
3841         i386/xm-beos.h, i386/xm-dos.h, i386/xm-mingw32.h,
3842         i860/xm-i860.h, m68k/xm-3b1.h, m68k/xm-amix.h, m68k/xm-aux.h,
3843         m68k/xm-crds.h, m68k/xm-mot3300.h, m88k/xm-sysv3.h,
3844         mips/xm-mips.h, rs6000/xm-beos.h, vax/xm-vms.h:
3845         Don't define any of:
3846         USE_PROTOTYPES, vfork, mktemp, SVR3, NO_SYS_PARAMS_H,
3847         P_tmpdir, MVS, NO_DBX_FORMAT, USE_STDARGS, STDC_HEADERS,
3848         NO_PRECOMPILES, i860, __PTR_TO_INT, __INT_TO_PTR, rindex,
3849         index, FULL_PROTOTYPES, AUX, R_OK, W_OK, X_OK, F_OK,
3850         STACK_DIRECTION, MIPS, MAX_READ_LEN, MAX_WRITE_LEN.
3851
3852         * alpha/xm-alpha.h, clipper/xm-clix.h, d30v/xm-d30v.h,
3853         fr30/xm-fr30.h, i370/xm-linux.h: Remove commented-out macro
3854         definitions.
3855
3856         * m68k/xm-3b1.h, m68k/xm-crds.h, m88k/xm-sysv3.h:
3857         Delete now-empty file.
3858
3859         * alpha/vms.h: Define NEED_ATEXIT here...
3860         * alpha/xm-vms.h: ...not here.
3861
3862         * i386/cygwin.h: Don't define PARAMS.
3863         * mips/mips.c: Don't prototype mktemp.  Don't define
3864         P_tmpdir.  Use make_temp_file to create temporary files.
3865         Don't be clever and delete temporary files early.
3866         * config.gcc: Drop references to deleted files.  Don't define
3867         FULL_PROTOTYPES.
3868         * gcc.texi: Don't mention USE_PROTOTYPES.
3869
3870 Sat Feb 24 20:25:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3871
3872         * config/i386/i386.c (ix86_set_move_mem_attrs): New function.
3873         (ix86_set_move_mem_attrs_1): Likewise.
3874         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): New declaration.
3875         * config/i386/i386.md (movstrsi): Call it.
3876
3877 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
3878
3879         * config.gcc: Expunge references to alpha/t-pe, pa/t-openbsd,
3880         x-linux-aout, i386/t-go32, t-osf, m68k/x-m68kv,
3881         ns32k/xm-netbsd.h, rs6000/t-openbsd, rs6000/t-xnewas,
3882         rs6000/x-aix41-gld.  These are nonexistent, empty, or obsolete.
3883
3884         (i750a-*-*): Error here if hosting on i750a.
3885         (alpha*-*-winnt*, ix86-*-winnt3*): Remove stanzas entirely.
3886
3887         * x-linux-aout, xm-freebsd.h, i386/beos-pe.h, ns32k/xm-netbsd.h:
3888         Remove (empty modulo comments).
3889
3890         * 1750a/xm-1750a.h, alpha/config-nt.sed, alpha/win-nt.h,
3891         alpha/xm-winnt.h, i386/config-nt.sed, i386/os2.h,
3892         i386/t-winnt, i386/win-nt.h, i386/xm-freebsd.h, i386/xm-os2.h,
3893         i386/xm-winnt.h, m68k/x-alloca-c, m88k/x-dguxbcs,
3894         mips/x-netbsd, mips/x-nws3250v4, rs6000/t-xnewas,
3895         rs6000/t-xrs6000, rs6000/xm-cygwin.h: Remove (obsolete)
3896
3897         * i386/crtdll.h, i386/cygwin.h, i386/mingw32.h:
3898         Remove reference to winnt.h in comment.
3899         * rs6000/t-newas, rs6000/t-rs6000: Override LIBGCC1_TEST to null.
3900
3901 2001-02-24  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3902
3903         * loop.c (check_dbra_loop): A biv has uses besides counting if it is
3904         used to set another biv.
3905
3906 Sat Feb 24 06:45:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3907
3908         * tree.h (BLOCK_DEAD): New macro.
3909         (struct tree_block): New flag, dead_flag.
3910         * print-tree.c (print_node, case 'b'): Print missing fields.
3911         * emit-rtl.c (remove_unnecessary_notes): Set BLOCK_DEAD.
3912         * function.c (identify_blocks): Enable test for misplaced notes.
3913         (all_blocks): Skip BLOCK_DEAD blocks.
3914         * integrate.c (integrate_decl_tree): Likewise.
3915
3916         * errors.c (internal_error, trim_filename): New functions.
3917         (fancy_abort): Call internal_error.
3918         * errors.h (internal_error, trim_filename): New declarations.
3919
3920 2001-02-24  Alexandre Oliva  <aoliva@redhat.com>
3921
3922         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Reverted
3923         2000-08-26's patch.
3924         (EXTRA_CONSTRAINT): Formatting changes.
3925
3926 2001-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3927
3928         * rtl.c (rtl_check_failed_code2): Fix typo in last change.
3929
3930 2001-02-23  Per Bothner  <per@bothner.com>
3931
3932         * gcc.c (record_temp_file, pfatal_with_name, error):  Make non-static,
3933         so they can be called from java/jvspec.c.
3934         * gcc.h (record_temp_file, pfatal_with_name, error):  Declare.
3935
3936 Sat Feb 24 03:32:50 CET 2001  Jan Hubicka  <jh@suse.cz>
3937
3938         * i386.c (ix86_frame): New structure.
3939         (ix86_compute_frame_size): Kill.
3940         (ix86_compute_frame_layout): New.
3941         (ix86_save_reg): New.
3942         (ix86_can_use_return_insn_p): Use frame layout stuff.
3943         (ix86_expand_prologue): Likewise.
3944         (ix86_expand_epilogue): Likewise.
3945         (ix86_initial_elimination_offset): Likewise.
3946         (ix86_nsaved_regs): Use ix86_save_reg.
3947         (ix86_emit_save_regs): Likewise.
3948
3949 Sat Feb 24 03:30:38 CET 2001  Jan Hubicka  <jh@suse.cz>
3950
3951         * flow.c (find_sub_basic_blocks): New function.
3952         (split_block): Be ready for basic block introduced by CODE_LABEL.
3953         (commit_one_edge_insertion): Call find_sub_basic_block.
3954
3955         * flow.c (make_edges): Add edge from entry for blocks starting with
3956         label having ALTERNATE_NAME
3957
3958 Sat Feb 24 03:19:42 CET 2001  Jan Hubicka  <jh@suse.cz>
3959
3960         * function.c (epilogue_done): Be ready for first basic block not
3961         containing PROLOGUE_END note.
3962         (reposition_prologue_and_epilogue_notes): Avoid placing
3963         PROLOGUE_END note between BASIC_BLOCK.
3964
3965 Sat Feb 24 03:17:09 CET 2001  Jan Hubicka  <jh@suse.cz>
3966
3967         * loop.c (canonicalize_condition): Move to reversed_comparison_code.
3968
3969 2001-02-21  DJ Delorie  <dj@redhat.com>
3970
3971         * config/i960/i960.h (FRAME_POINTER_REQUIRED): Revert removal of
3972         check for current_function_has_nonlocal_goto from 1999-11-12.
3973
3974 Fri Feb 23 15:28:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3975
3976         * diagnostic.c (trim_filename): No longer static.
3977         * toplev.h (trim_filename): Declare.
3978         * rtl.c (rtl_check_failed_bounds): Call internal_error.
3979         (rtl_check_failed_type1, rtl_check_failed_type2): Likewise.
3980         (rtl_check_failed_code1, rtl_check_failed_code2): Likewise.
3981         (rtvec_check_failed_bounds): Likewise.
3982         * tree.c (tree_check_failed, tree_class_check_failed): Likewise.
3983
3984         * convert.c (convert_to_integer): Don't do unsigned unless result or
3985         both inputs are unsigned.
3986
3987         * fold-const.c (fold_convert): Don't call size_int_type_wide if
3988         input overflows.
3989
3990         * c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
3991
3992         * varasm.c (output_constant): Recompute CODE after lang-specific fn.
3993
3994 2001-02-23  Jeffrey Oldham  <oldham@codesourcery.com>
3995
3996         * Makefile.in (resource.o): Add params.h dependence.
3997         * params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter.
3998         * params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise.
3999         * resource.c: Add dependence on params.h.
4000         (current_live_regs): Fix explanatory comment.
4001         (find_basic_block): Add new parameter to permit limiting search
4002         for a BARRIER.
4003         (mark_target_live_regs): Add new argument to find_basic_block call.
4004         (incr_ticks_for_insn): Likewise.
4005
4006 2001-02-23  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
4007
4008         * diagnostic.c (output_to_stream): Rename to
4009         output_buffer_to_stream. Loses the stream parameter.
4010         (init_output_buffer): Set diagnosic_buffer's stream.
4011         (flush_diagnostic_buffer): Adjust.
4012         (default_print_error_function): Likewise.
4013         (finish_diagnostic): Likewise.
4014         (verbatim): Likewise.
4015
4016         * diagnostic.h (struct output_buffer): Add `stream' field.
4017         (output_buffer_attached_stream): New macro.
4018
4019 2001-02-23  Jakub Jelinek  <jakub@redhat.com>
4020
4021         * fold-const.c (extract_muldiv) [case PLUS_EXPR]: If not MULT_EXPR,
4022         check if either operand is divisible by C.
4023         (multiple_of_p): Handle LSHIFT_EXPR with small constant shift.
4024         If type is signed, consider negative numbers as well.
4025
4026 2001-02-22  Richard Henderson  <rth@redhat.com>
4027
4028         * config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to
4029         reach .text instead of gp-relative relocs.
4030         * config/ia64/crtend.asm (.init): Likewise.
4031
4032 2001-02-22  Andreas Jaeger  <aj@suse.de>
4033
4034         * extend.texi (C++ Attributes): Fix typo.
4035
4036 2001-02-21  David Mosberger  <davidm@hpl.hp.com>
4037
4038         * config/ia64/ia64.c (ia64_epilogue_uses): For syscall_linkage
4039         functions, drop current_function_args_info.words test.
4040         (ia64_compute_frame_size): Mark syscall_linkage functions as
4041         using eight input registers.
4042
4043 2001-02-21  Loren J. Rittle  <ljrittle@acm.org>
4044         Bruce Korb  <bkorb@gnu.org>
4045
4046         * fixinc/inclhack.def (freebsd_gcc3_breakage): new fix
4047         * fixinc/README: Document how to convert sed substitutions
4048         to format style c_fix-es.
4049         * fixinc/fixincl.x: regen
4050
4051 2001-02-21  Jeffrey D. Oldham  <oldham@codesourcery.com>
4052
4053         * gcc.c: Add comment explaining how to add a command-line option.
4054         Add title to specs language comment.
4055
4056 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
4057
4058         * gcc.c (cc1_options): Add "-param".
4059         (DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
4060         (option_map): Likewise.
4061         * toplev.c (display_help): Add entry for "--param".
4062         (independent_decode_option): Fix typographical error.
4063
4064 Wed Feb 21 18:57:28 CET 2001  Catherine Moore  <clm@redhat.com>
4065                               Bernd Schmidt  <bernds@redhat.com>
4066                               Jan Hubicka  <jh@suse.cz>
4067
4068         * i386.c (function_arg_advance):  Pass SSE arguments in registers.
4069         (function_arg): Likewise.
4070
4071 Wed Feb 21 18:12:41 CET 2001  Jan Hubicka  <jh@suse.cz>
4072
4073         * i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.
4074
4075 2001-02-21  Kazu Hirata  <kazu@hxi.com>
4076
4077         * config/h8300/h8300.md (iorsi3): Do not output an extra newline
4078         character.
4079         (xorsi3): Likewise.
4080
4081 Wed Feb 21 17:35:24 CET 2001  Jan Hubicka  <jh@suse.cz>
4082
4083         * flow.c (init_propagate_block_info): Canon address and use single_set
4084         for killing dead memory stores.
4085
4086 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
4087
4088         * Makefile.in (reorg.o): Add params.h dependence.
4089         * params.def: Fix typographical error in comment.
4090         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
4091         * params.h: Modify introductory comment.
4092         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
4093         * reorg.c: Add dependence on params.h.
4094         (redundant_insn): Add parameterized throttle for search.
4095         (fill_simple_delay_slots): Add a comment explaining a variable.
4096         Move conditional out of loop, simplifying code.
4097         (fill_eager_delay_slots): Fix typographical error in comment.
4098
4099 2001-02-20  Aldy Hernandez  <aldyh@redhat.com>
4100
4101         * tm.texi (REVERSE_CONDEXEC_PREDICATES_P): New macro documentation.
4102
4103         * flow.c (ior_reg_cond): Use REVERSE_CONDEXEC_PREDICATES_P macro.
4104         (REVERSE_CONDEXEC_PREDICATES_P): Define macro.
4105
4106 2001-02-21  Jason Merrill  <jason@redhat.com>
4107
4108         * tree.h (DECL_UNINLINABLE): Move from C++ frontend.
4109         (struct tree_decl): Add uninlinable bitfield.
4110         * c-decl.c (duplicate_decls): Set it.
4111         * integrate.c (function_cannot_inline_p): Check it.
4112
4113         * dwarf2out.c (add_name_and_src_coords_attributes): Don't add
4114         DW_AT_MIPS_linkage_name to abstract methods.
4115         (dwarf2out_abstract_function): Emit class context before calling
4116         set_decl_abstract_flags.  Don't clear DECL_ABSTRACT.
4117         (gen_subprogram_die): Remove obsolete code.
4118         (gen_member_die): Don't include clones in the member list.
4119         (gen_decl_die): Emit abstract info for clone origin.
4120         * dwarfout.c (output_type): Don't include clones in the member list.
4121         * dbxout.c (dbxout_type_methods): Ignore abstract methods.
4122         * toplev.c (note_deferral_of_defined_inline_function): Don't clear
4123         DECL_ABSTRACT on a function that already has it set.
4124
4125         * dwarf2out.c (gen_formal_types_die): Also accept a FUNCTION_DECL.
4126         (get_subprogram_die): Pass it in.
4127
4128 2001-02-21  Richard Earnshaw  <rearnsha@arm.com>
4129
4130         * flow.c (mark_set_1): Make not_dead unsigned long.  For
4131         non-pseudos, use it as a bitmask of the hard regs that
4132         don't die.
4133
4134 2001-02-21  Neil Booth  <neil@daikokuya.demon.co.uk>
4135
4136         * cppfiles.c: Update comments.
4137         (_cpp_read_file): Don't check for NULL filenames any more.
4138         * cppinit.c (cpp_start_read): Don't do canonicalization of
4139         in_fname and out_fname.  Use the passed file name exclusively.
4140         (_cpp_handle_options): Don't treat "-" as a command line option,
4141         but as a normal filename.
4142         (_cpp_post_options): Canonicalize in_fname and out_fname.
4143         * cppmain.c (printer_init): Don't check out_fname for NULL.
4144         * c-lex.c (orig_filename): Rename cpp_filename for clarity.
4145         (init_c_lex): Update, and use "" to represent stdin to CPP.
4146         (yyparse): Update.
4147
4148 2001-02-20  Will Cohen  <wcohen@redhat.com>
4149
4150         * config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
4151         * config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
4152         (INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
4153         fixunstfsi_libfunc.
4154
4155 2001-02-20  Stan Shebs  <shebs@apple.com>
4156
4157         * config/rs6000/rs6000.c (output_cbranch): Output branches
4158         on separate lines instead of using ';' to separate.
4159
4160 2001-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
4161
4162         * cppinit.c (set_lang):  Move builtin handling to...
4163         (init_builtins): ...here.
4164         (_cpp_create_reader): Move call to set_lang.
4165
4166 2001-02-20  Mark Mitchell  <mark@codesourcery.com>
4167
4168         * stmt.c (expand_return): If an attempt is made to return the
4169         error_mar_node, treat the return like a return without a value.
4170
4171 2001-02-19  Zack Weinberg  <zackw@stanford.edu>
4172
4173         * sibcall.c (skip_copy_to_return_value): Call
4174         identify_call_return_value here, and return orig_insn if it
4175         returns zero.  Hardret and softret arguments now unnecessary.
4176         (call_ends_block_p): Don't call identify_call_return_value here.
4177
4178         * ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or
4179         's' slots in RTXen.
4180         * ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete function.
4181         * ggc.h (ggc_mark_if_gcable): Delete prototype.
4182
4183 Mon Feb 19 20:30:16 2001  Jeffrey A Law  (law@cygnus.com)
4184
4185         * pa.c (move_operand): Accept code to load the address of a
4186         symbol out of the DLT as a valid move operand.
4187         (print_operand, case 'A'): New to handle generating a DLT
4188         reference for a LO_SUM expression.
4189         * pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references.
4190         * pa.md (movsi, movdi patterns): Allow DLT LO_SUM references.
4191
4192 2001-02-19  Joseph S. Myers  <jsm28@cam.ac.uk>
4193
4194         * README, cpp.texi, gcc.texi, version.c: Update version number to
4195         3.1.
4196         * cpp.1, gcov.1, gcc.1: Regenerate.
4197
4198 2001-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
4199
4200         * cppfiles.c (stack_include_file): Generate dependencies
4201         here, and manage include_count here too.
4202         (PRINT_THIS_DEP): Delete.
4203         (_cpp_execute_include): Do not generate dependencies here,
4204         apart from the case of a missing header.  Do not manage
4205         include_count.
4206         (_cpp_read_file): Leave dependency generation to
4207         stack_include_file.
4208
4209 Mon Feb 19 10:17:47 2001  Jeffrey A Law  (law@cygnus.com)
4210
4211         * config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to
4212         target_cpu_default.  Remove dead assignment to
4213         target_cpu_default.
4214
4215 Mon Feb 19 16:47:39 CET 2001  Jan Hubicka  <jh@suse.cz>
4216
4217         * regclass.c (contains_reg_of_mode): Make global.
4218         (init_reg_sets): Remove contains_reg_of_mode; take into account
4219         CLASS_MAX_NREGS when looking for the proper mode.
4220         (dump_regclass): Dump only classes considered for the pseudo.
4221         (regclass): Use contains_reg_of_mode.
4222
4223 Mon Feb 19 16:45:42 CET 2001  Jan Hubicka  <jh@suse.cz>
4224
4225         * gcc.c (do_spec_1): 'n' for printing notices.
4226         * i386.h (CC1_CPU_SPEC): Notice deprecated options as deprecated.
4227
4228 Mon Feb 19 15:51:30 CET 2001  Jan Hubicka  <jh@suse.cz>
4229
4230         * reg-stack.c (next_flags_user): Use current_block->end
4231         (swap_rtx_condition): Look for next user if flags don't die;
4232         give up on CALL_INSNs; use current_block->end.
4233
4234 Mon Feb 19 08:27:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4235
4236         * sibcall.c (call_ends_block_p): New function.
4237         (optimize_sibling_and_tail_recursive_call): Use it.
4238
4239 2001-02-18  Kazu Hirata  <kazu@hxi.com>
4240
4241         * config/h8300/h8300.md: Update copyright.
4242         (andsi3): Do not output an extra newline character.
4243
4244 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4245
4246         * toplev.c (note_deferral_of_defined_inlined_function): Argument
4247         FNDECL may be unused.
4248
4249         * toplev.c (rest_of_compilation): Don't have CSE skip blocks or
4250         follow jumps after first run.
4251         If -fexpensive-optimizations rerun CSE after GCSE and iterate until
4252         it doesn't change any jumps.
4253
4254 Sun Feb 18 17:05:50 2001  Jeffrey A Law  (law@cygnus.com)
4255
4256         * Makefile.in (rtlanal.o): Depend on hard-reg-set.h.
4257         ($HOST_PREFIX_1)rtlanal.o: Remove rules for building
4258         (mostlyclean): Corresponding changes.
4259         * rtlanal.c (hard-reg-set.h): Include.
4260         (rtx_unstable_p): Do not treat the argument pointer specially
4261         if it is not a fixed register.
4262         (rtx_varies_p, rtx_addr_can_trap_p): Similarly.
4263
4264 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4265
4266         * sibcall.c (optimize_sibling_and_tail_recursive_call): Compare
4267         against last real insn in basic block.
4268         Rework to avoid gotos.
4269
4270         * Makefile.in (gcse.o): Now includes ggc.h.
4271         * gcse.c: Include ggc.h.
4272         (want_to_gcse_p): Verify expression can be in SET as valid insn.
4273         (try_replace_reg): Remove warning of uninitialize variable.
4274         (process_insert_insn): Call invalid_insn_p to validate insn.
4275         * recog.c (insn_invalid_p): Now global.
4276         See if can make valid by adding CLOBBERs of SCRATCH only and do if so.
4277         * recog.h (insn_invalid_p): New declaration.
4278
4279         * jump.c (jump_optimize_1): Only define reversed_code #ifdef HAVE_trap.
4280
4281         * config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put
4282         assignments from FP constants since 'Y' output code can't handle it.
4283         (eligible_for_sibcall_delay): Likewise.
4284
4285         * flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.
4286         Call fancy_abort directly, passing args.
4287         (print_rtl_and_abort): Now a macro, like fancy_abort.
4288
4289         * final.c (output_operand_lossage): Use internal_error, not error.
4290
4291 2001-02-18  Shane Nay  <shane@agendacomputing.com>
4292
4293         * mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to
4294         structure shift insns.
4295
4296 2001-02-18  Mark Mitchell  <mark@codesourcery.com>
4297
4298         * invoke.texi (-fsquangle): Remove documentation.
4299         (-fname-mangling-version): Likewise.
4300
4301 2001-02-18  Lars Brinkhoff  <lars@nocrew.org>
4302
4303         * optabs.c (expand_abs): Remove reference to
4304         HAVE_contitional_arithmetic.
4305         * combine.c (simplify_set): Likewise.
4306
4307 2001-02-18  Richard Henderson  <rth@redhat.com>
4308
4309         * ifcvt.c (dead_or_predicable): Don't move code if eh regions
4310         would be disrupted.
4311
4312 2001-02-18  Richard Henderson  <rth@redhat.com>
4313
4314         * config/ns32k/ns32k.h (ADJSP): Upcase arguments.
4315
4316         * config/alpha/alpha.md (movsi_fix): Fix typo in pattern name.
4317
4318         * reload1.c (reload_cse_simplify_set): Fix typo.
4319
4320 Sun Feb 18 09:30:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4321
4322         * diagnostic.c (_fatal_insn): Decrement errorcount.
4323
4324         * invoke.texi (-I): Add note avoiding use for system header files.
4325
4326         * rtl.h (add_clobbers): Remove duplicate declaration.
4327         * recog.h (added_clobbers_hard_reg_p): New declaration.
4328         * genemit.c (struct clobber_pat): New field has_hard_reg.
4329         (gen_insn): Record if added clobbers clobber hard reg.
4330         (gen_split): Avoid unused warning if number of operands is 0.
4331         (output_added_clobbers_hard_reg_p): New function.
4332         (main): Call it.
4333
4334 2001-02-18  Alan Modra <alan@linuxcare.com.au>
4335
4336         * pa.c (hppa_expand_prologue): Simplify code storing return
4337         pointer.  For large (>=8k) frames with a post_store, adjust stack
4338         pointer by 8k-64 first rather than by 64.  When testing with
4339         VAL_14_BITS_P, always use the actual value rather than the value
4340         negated.  Add blockage to prevent scheduling of spills before
4341         stack frame has been created.
4342         (hppa_expand_epilogue): Simplify code loading return pointer.
4343         Allow a slightly larger range for merge_sp_adjust_with_load case.
4344         When testing with VAL_14_BITS_P, always use the actual value.
4345
4346         * pa.c (pa_adjust_insn_length): Check that block move
4347         pattern is a set before looking at operands.
4348
4349 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
4350
4351         * fold-const.c (fold_binary_op_with_conditional_arg): New
4352         function, split out from ...
4353         (fold): ... here.
4354         * tree.def (COND_EXPR): Document the use of VOID_TYPE for
4355         conditional arms that throw exceptions.
4356
4357         * print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not
4358         looking at a BLOCK.
4359
4360 2001-02-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4361
4362         * aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test,
4363         define HAVE_DECL_* to 1 to mask potential backup declarations.
4364         * configure: Regenerated.
4365
4366 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
4367
4368         * invoke.texi (-Woverloaded-virtual): Clarify documentation.
4369
4370 2001-02-17  Richard Henderson  <rth@redhat.com>
4371
4372         * reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP
4373         when replacing a memory load with a register.
4374
4375 Sat Feb 17 14:48:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4376                           Jan Hubicka  <jh@suse.cz>
4377
4378         * recog.c (validate_replace_src_1): New.
4379         (validate_replace_src_data): Likewise.
4380         (validate_replace_src): Use note_uses.
4381         * rtl.h (note_uses): Declare.
4382         * rtlanal.c (note_uses): New.
4383
4384 Sat Feb 17 10:52:34 CET 2001  Jan Hubicka  <jh@suse.cz>
4385
4386         * reg-stack.c (stack_def): Make field reg unsigned.
4387         (remove_regno_note): Unsignetize parameter.
4388
4389 2001-02-16  Jes Sorensen  <jes@linuxcare.com>
4390
4391         * ia64.c (errata_emit_nops): Add VOIDmode as second argument to
4392         shladd_operand() call.
4393
4394 2001-02-16  Bruce Korb  <bkorb@gnu.org>
4395             Rodney Brown  <RodneyBrown@mynd.com>
4396
4397         * fixinc/mkfixinc.sh: Use C fixincludes for UnixWare 7.
4398         * fixinc/inclhack.def: Add fixinc.svr4 patterns with matching
4399         machine restrictions
4400         * fixinc/fixincl.x: regen
4401
4402 Fri Feb 16 12:41:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4403
4404         * gcse.c (hash_scan_set): If cprop, see if REG_EQUAL or REG_EQUIV.
4405         Don't CSE a nop.
4406         (hash_scan_insn): Clean up calls to hash_scan_set.
4407         (compute_kill_rd): REGNO now unsigned.
4408         (try_replace_reg): Rework to use simplify_replace_rtx.
4409         (cprop_jump, cprop_cc0_jump): Likewise.
4410         (cprop_insn): Call find_reg_equal_equiv_note.
4411         Reflect changes to cprop_jump and cprop_cc0_jump.
4412
4413         * recog.c (validate_replace_src): Replace in operands of
4414         ZERO_EXTRACT in SET_DEST.
4415
4416         * cse.c (new_label_ref): New variable.
4417         (insert): Set it instead of recorded_label_ref.
4418         (cse_basic_block): Set recorded_label_ref if new_label_ref use, has
4419         CODE_LABEL for this function, and not already in REG_LABEL note.
4420
4421 2001-02-16  Jeffrey Oldham  <oldham@codesourcery.com>
4422
4423         * resource.c (mark_referenced_resources): Fix typo in introductory
4424         comment.
4425         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Fix typo in
4426         string constant.
4427
4428 2001-02-16  Jason Merrill  <jason@redhat.com>
4429
4430         * dwarf2out.c (add_bound_info): Don't crash if SAVE_EXPR_RTL is
4431         NULL.
4432         (gen_subprogram_die): Don't abort on seeing a second definition if
4433         the previous one was abstract.  Don't replace an abstract instance
4434         in the lookup table.
4435
4436         * dwarf2out.c (dwarf2out_abstract_function): Rename from
4437         gen_abstract_function.
4438         * dwarf2out.h: Declare it.
4439         * toplev.c (note_outlining_of_inline_function): New fn.
4440         * toplev.h: Declare it.
4441         * integrate.c (output_inline_function): Call it.
4442         * c-decl.c (duplicate_decls): Call it when redefining an extern
4443         inline.  Don't inline the new defn.
4444
4445         * tree.h (BLOCK_CHAIN): Use BLOCK_CHECK.
4446
4447 2001-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4448
4449         * .gdbinit: Rename to gdbinit.in.
4450         * gdbinit.in: New file,
4451         * configure.in: Generate .gdbinit from gdbinit.in.
4452         * configure: Regenerated.
4453         * Makefile.in (distclean): Always remove .gdbinit.
4454
4455 2001-02-16  Jakub Jelinek  <jakub@redhat.com>
4456
4457         * objc/objc-act.c (start_class): Register implemented_classes with
4458         GC.
4459
4460 2001-02-16  Neil Booth  <neil@daikokuya.demon.co.uk>
4461
4462         * cppfiles.c (_cpp_make_system_header): Generate a file
4463         change callback.
4464
4465 2001-02-15  Jim Meyering  <meyering@lucent.com>
4466
4467         * Makefile.in (install-common): Don't depend on installdirs here.
4468         Instead, make each of the lang.install-common targets (e.g.,
4469         c++.install-common in cp/Make-lang.in) depend on it.
4470         (install-driver): Depend on installdirs.
4471
4472 Thu Feb 15 21:30:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4473
4474         * flow.c (tidy_fallthru_edge): Never end block on line number NOTE.
4475
4476         * function.c (assign_parms): Set RTX_UNCHANGING_P in pseudo when we
4477         do in memory.
4478
4479 2001-02-15  Mark Mitchell  <mark@codesourcery.com>
4480
4481         * invoke.texi (--param): Document.
4482
4483 Thu Feb 15 15:16:38 2001  Alexandre Oliva  <aoliva@redhat.com>
4484
4485         * config/sh/sh.h (BOOL_TYPE_SIZE): Don't define.
4486
4487 Thu Feb 15 10:52:31 CET 2001  Jan Hubicka  <jh@suse.cz>
4488
4489         * i386.md (extendsfdf2_2): Fix constraints.
4490
4491 Thu Feb 15 09:46:21 CET 2001  Jan Hubicka  <jh@suse.cz>
4492
4493         * i386.md (fop_df_3 splitter): Fix operand number.
4494
4495 Wed Feb 14 12:37:37 CET 2001  Jan Hubicka  <jh@suse.cz>
4496
4497         * invoke.texi (-mreg-alloc): Nuke.
4498         * i386.c (ix86_reg_alloc_order, regs_allocated,
4499         order_regs_for_local_alloc): Nuke.
4500         (override_options): Kill reg_alloc code.
4501         * i386.h (TARGET_OPTIONS): Kill reg-alloc.
4502         (REG_ALLOC_ORDER): SSE goes before I387.
4503         (ORDER_REGS_FOR_LOCAL_ALLOC): Kill.
4504         (ix86_reg_alloc_order): Likewise.
4505         * i386-protos.h (ix86_reg_alloc_order): Kill.
4506
4507 2001-02-14  Richard Henderson  <rth@redhat.com>
4508
4509         * toplev.c (f_options): Clarify -fschedule-insns2 documentation.
4510
4511 Wed Feb 14 11:59:58 CET 2001  Jan Hubicka  <jh@suse.cz>
4512
4513         * i386.h (RETURN_IN_MEMORY): Fix formating; reject TFmodes
4514
4515 Wed Feb 14 11:12:38 CET 2001  Jan Hubicka  <jh@suse.cz>
4516
4517         * i386-protos.h (ix86_memory_move_cost): Move offline.
4518         * i386.c (ix86_register_move_cost): Compute properly cost of
4519         SSE, MMX and i387 instructions.
4520         (*_cost): Add costs of SSE/MMX moves.
4521         (ix86_memory_move_cost): Move offline from ....; Likewise.
4522         * i386.h (MEMORY_MOVE_COST): .... here;
4523         (struct processor costs): Add new fields to represent costs
4524         of SSE/MMX moves.
4525
4526 Wed Feb 14 10:08:26 CET 2001  Jan Hubicka  <jh@suse.cz>
4527
4528         * regclass.c (init_reg_sets_1): Reinstall the optimization of
4529         move_cost together with Matt Kraai's fix.
4530
4531 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
4532
4533         * Makefile.in (OBJS): Add params.o.
4534
4535 2001-02-14  Richard Henderson  <rth@redhat.com>
4536             DJ Delorie  <dj@redhat.com>
4537
4538         * jump.c (jump_optimize_1): When we delete a conditional jump
4539         preceeding a non-conditional jump to effectively the same place,
4540         make sure that the combined jump skips any clobber insns between
4541         the two labels.
4542
4543 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
4544
4545         * gcc.c (do_spec_1): Fix off-by-one error for '%M' case.
4546
4547 2001-02-14  Mark Mitchell  <mark@codesourcery.com>
4548
4549         * Makefile.in (toplev.o): Depend on params.h.
4550         (intergate.o): Likewise.
4551         (params.o): New target.
4552         * flags.h (inline_max_insns): Remove.
4553         * integrate.c: Include params.h.
4554         Use MAX_INLINE_INSNS instead of inline_max_insns.
4555         * params.c: New file.
4556         * params.h: Likewise.
4557         * params.def: Likewise.
4558         * toplev.c: Include params.h.
4559         (lang_independent_params): New variable.
4560         (decode_f_option): Use the param machinery instead of setting
4561         max_inline_insns.
4562         (independent_decode_option): Handle "--param name=value".
4563         (main): Register language-independent parameters.
4564
4565 Wed Feb 14 11:13:45 CET 2001  Jan Hubicka  <jh@suse.cz>
4566
4567         * i386.md (pushsf, pushdf_nointeger): Fix constraint.
4568
4569 2001-02-14  Richard Henderson  <rth@redhat.com>
4570
4571         * regclass.c (init_reg_sets_1): Revert last two changes.
4572
4573 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
4574
4575         * stor-layout.c (is_pending_size, put_pending_size): New functions.
4576         (variable_size): Call put_pending_size.
4577         * tree.h (is_pending_size, put_pending_size): Add prototypes.
4578         * fold-const.c (extract_muldiv): If SAVE_EXPR is on the pending
4579         sizes list, put newly created SAVE_EXPR there as well.
4580
4581 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
4582
4583         * config/ia64/ia64.c (last_group): Only 2 entries are needed.
4584         (errata_find_address_regs): load_group has only 2 entries.
4585         (errata_emit_nops): Likewise.  shladd is not problematic.
4586         Clear last_group if nop was emitted.
4587         (fixup_errata): load_group has only 2 entries.
4588         Optimize.
4589
4590 2001-02-14  Neil Booth  <neil@daikokuya.demon.co.uk>
4591
4592         * c-lex.c (lex_number): Only warn traditionally for U suffix
4593         outside system macros.
4594         * cppexp.c (parse_number): Similarly.
4595         * cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
4596         * cppmacro.c (struct cpp_macro): New member node.
4597         (parse_args): Only warn about missing rest args if not
4598         a system macro.
4599         (funlike_invocation_p): Similarly for uninvoked funlike macros.
4600         (cpp_sys_objmacro_p): New.
4601         (_cpp_create_definition): Store the node with the macro defn.
4602         Remember if the macro is defined in a system header.
4603
4604 2001-02-13  DJ Delorie  <dj@redhat.com>
4605
4606         * configure.in (check_languages): determine languages to check
4607         * Makefile.in (check-c++): alias for check-g++
4608         (check-f77): alias for check-g77
4609         (CHECK_TARGETS): depend on configured languages
4610
4611 Wed Feb 14 01:13:59 CET 2001  Jan Hubicka  <jh@suse.cz>
4612
4613         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
4614         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
4615         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
4616         (sqrtextendsfdf2): Disable for SSE2.
4617
4618 Wed Feb 14 00:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
4619
4620         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
4621         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
4622         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
4623         (sqrtextendsfdf2): Disable for SSE2.
4624
4625 Wed Feb 14 00:11:20 CET 2001  Jan Hubicka  <jh@suse.cz>
4626
4627         * i386.md (movsfcc_1): Support integer cmove instruction.
4628         (movdfcc_1): Likewise; new splitter.
4629
4630 Tue Feb 13 23:19:27 CET 2001  Jan Hubicka  <jh@suse.cz>
4631
4632         * i386.c (output_fp_compare): Support SSE.
4633         (prepare_fp_compare_args): SSE comparisons always support memory.
4634         * i386.h (TARGET_CMOVE): SSE imply cmove.
4635         * i386.md (cmp?f2): Enable for SSE too.
4636         (cmpfp_i*): Support SSE.
4637         (cmpfp_i_sse): New.
4638         (cmpfp_i_sse_only): New.
4639         (s*, b* fp expanters): Enable for SSE too.
4640         (fp_jcc_1_sse, fp_jcc_1_sse_only, fp_jcc_2_sse, fp_jcc_2_sse_only):
4641         New patterns.
4642
4643 Tue Feb 13 23:05:42 CET 2001  Jan Hubicka  <jh@suse.cz>
4644
4645         * regclass.c (init_reg_sets_1): Silence warning.
4646
4647 Tue Feb 13 22:03:07 CET 2001  Jan Hubicka  <jh@suse.cz>
4648
4649         * i386.md (sqrt?f2): Change to expander.
4650         (sqrt?f2_1, sqrt?f2_sse_only, sqrt?f2_i387): New.
4651
4652 Tue Feb 13 15:42:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4653
4654         * rtlanal.c (find_reg_equal_equiv_note): New function.
4655         * simplify-rtx.c (simplify_gen_unary, simplify_gen_ternary): New fns.
4656         (simplify_gen_relational, simplify_replace_rtx): Likewise.
4657         * rtl.h: Add declarations for above functions.
4658
4659 Tue Feb 13 21:09:11 CET 2001  Jan Hubicka  <jh@suse.cz>
4660
4661         * cse.c (cse_main): Converts ifdefs on PIC_OFFSET_TABLE_REGNUM to
4662         conditionals.
4663         * defaults.h (PIC_OFFSET_TABLE_REGNUM): Default to INVALID_REGNUM.
4664         * emit-rtl.c (init_emit_once): Convert ifdefs to conditionals.
4665         * flow.c (mark_regs_live_at_end): Likewise.
4666         (calculate_global_regs_live): Likewise.
4667         * gcse.c (compute_hash_table): Likewise.
4668         (compute_kill_rd): Likewise.
4669         * resource.c (mark_target_live_regs): Likewise.
4670         * rtl.h (INVALID_REGNUM): New macro.
4671
4672 Tue Feb 13 20:59:22 CET 2001  Jan Hubicka  <jh@suse.cz>
4673
4674         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch.
4675
4676 Tue Feb 13 16:32:20 CET 2001  Jan Hubicka  <jh@suse.cz>
4677
4678         * i386.md (fixsfsi2, fixdfdi2): Force operand to register
4679         for SSE.
4680
4681 Tue Feb 13 14:53:16 CET 2001  Jan Hubicka  <jh@suse.cz>
4682
4683         * i386.md (add?f3, sub?f3, mul?f3, dif?f3): Enable for TARGET_SSE(2)
4684         too.
4685         (fop_sf_comm, fop_df_comm, fop_sf_1, fop_df_1): Support SSE.
4686         (fop_sf_comm_sse, fop_df_comm_sse): New patterns.
4687         (fop_sf_1_sse, fop_df_1_sse): New patterns
4688         (fop_*): Disable float_extend and float patterns for SSE compilation.
4689         * i386.c (output_387_binary_op): Support SSE.
4690
4691 Tue Feb 13 14:16:34 CET 2001  Jan Hubicka  <jh@suse.cz>
4692
4693         * i386.md (dummy_extendsfdf2): Support SSE2
4694         (extendsfdf2): Enable if 80387 or SSE2.
4695         (extendsfdf2_1): Support SSE2. Disable if SSE2 is avialble
4696         and no MIX_I387_SSE2
4697         (extendsfdf2_1_sse_only): New pattern.
4698         (truncdfsf2): Enable if SSE2 or 80387; Always use SSE only version
4699         of SSE.
4700         (truncdfsf2_1): Support SSE.
4701         (truncdfsf2_2): Support SSE.
4702         (truncdfsf2_2_1_sse): New pattern.
4703         (fixtruncsfsi2): Always use SSE if available.
4704         (fix_truncsfsi_sse): New pattern.
4705         (fix_truncdfsi_sse): New pattern.
4706         (floatsis?f2): Support SSE.
4707         (floatsidf2_i387): New pattern.
4708         (floatsidf2_sse): Likewise.
4709
4710 Tue Feb 13 07:52:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4711
4712         * configure.in: Use "have_gnat" variable, not "gnat".
4713         * configure: Regenerated.
4714
4715         * config/sparc/sparc.c (function_value): Treat all non-record
4716         aggregate types like used to treat UNION_TYPE.
4717
4718 Tue Feb 13 13:31:33 CET 2001  Jan Hubicka  <jh@suse.cz>
4719
4720         * i386.c (print_reg): Use ANY_FP_REG instead of FP_REG
4721         * i386.h (MASK_128BIT_LONG_DOUBLE): Renumber
4722         (MASK_SSE2): New.
4723         (MASK_MIX_SSE_I387): New.
4724         (TARGET_SSE): SSE2 imply SSE.
4725         (TARGET_SSE2, TARGET_MIX_SSE_I387): New.
4726         (TARGET_SWITCHES): Add "sse2", "mix-sse-i387".
4727         (enum reg_class): Add new classes.
4728         (REG_CLASS_NAMES): Likewise.
4729         (REG_CLASS_CONTENTS): Likewise.
4730         (ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros.
4731         (REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is
4732         supported. Add 'Y' to be SSE_REGS when SSE2 is supported.
4733         (CLASS_MAX_NREGS): Use new macros.
4734         (REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED.
4735         * i386.md (pushsf, movsf): Support SSE.
4736         (pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update
4737         splitters to use ANY_FP_REGNO_P.
4738         (movdf_nointeger, movdf_integer): Likewise.
4739
4740 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
4741
4742         * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro.
4743         (try_combine): Use it.
4744
4745 Tue Feb 13 11:37:06 CET 2001  Jan Hubicka  <jh@suse.cz>
4746
4747         * i386.h (SSE_CLASS_P, MMX_CLASS_P, MAYBE_FLOAT_CLASS_P,
4748         MAYBE_SSE_CLASS_P, MAYBE_MMX_CLASS_P): New macros.
4749         (PREFERRED_RELOAD_CLASS, SECONDARY_MEMORY_NEEDED): Move offline.
4750         (REGISTER_MOVE_COST): Likewise.
4751         * i386-protos.h (ix86_secondary_memory_needed,
4752         ix86_preferred_reload_class, ix86_register_move_cost): Declare.
4753         * i386.c (ix86_secondary_memory_needed,
4754         ix86_preferred_reload_class, ix86_register_move_cost): New function.
4755
4756 Die Feb 13 11:04:25 CET 2001  Jan Hubicka  <jh@suse.cz>
4757
4758         * i386.h (VALID_FP_MODE_P, VALID_INT_MODE_P): New.
4759         (HARD_REGNO_MODE_OK): Move offline to ....
4760         * i386.c (ix86_hard_regno_mode_ok) ... here;
4761         refuse all incorrect modes.
4762         * i386-protos.h (ix86_hard_regno_mode_ok): Declare.
4763
4764 2001-02-13  Richard Henderson  <rth@redhat.com>
4765
4766         * sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the
4767         entire operator; replicate that and match_dup the operands.
4768         (cmp_ccx_arith_op_set): Likewise.
4769         (cmp_cc_arith_op_not_set): Likewise.
4770         (cmp_ccx_arith_op_not_set): Likewise.
4771
4772 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
4773
4774         * explow.c (trunc_int_for_mode): Sign-extend value to mode.
4775
4776 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
4777
4778         * config/rs6000/sysv4.h (MASK_NO_BITFIELD_WORD): New macro.
4779         (TARGET_NO_BITFIELD_WORD): New macro.
4780         (SUBTARGET_SWITCHES): Add -mbit-word, -mno-bit-word options.
4781         (BITFIELD_NBYTES_LIMITED): Define based on TARGET_NO_BITFIELD_WORD.
4782
4783 Mon Feb 12 18:13:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4784
4785         * cselib.c: New file, from simplify-rtx.c.
4786         * simplify-rtx.c: Remove cselib parts.
4787         * Makefile.in: Add cselib.o.
4788
4789 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
4790
4791         * config/rs6000/rs6000.c (rs6000_float_const): Remove warning.
4792         (setup_incoming_varargs): Remove warning.
4793
4794         * config/rs6000/rs6000.c (validate_condition_mode): When
4795         flag_fast_math, allow floating-point conditionals to be reversed.
4796         (rs6000_generate_compare): When flag_fast_math, don't generate
4797         cror operations for FP conditionals.
4798
4799         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
4800         -mcall-i960.
4801         (ASM_SPEC): Likewise.
4802         (CC1_ENDIAN_LITTLE_SPEC): Likewise.
4803         (CC1_SPEC): Likewise.
4804         (LINK_TARGET_SPEC): Likewise.
4805         (CPP_ENDIAN_SPEC): Likewise.
4806         * Makefile.in (check-consistency): New target.
4807
4808 2001-02-12  Joseph S. Myers  <jsm28@cam.ac.uk>
4809
4810         * c-decl.c (grokdeclarator): In C99 mode, give the more specific
4811         "return type defaults" warning for functions with return type
4812         defaulting to int.
4813         * c-lang.c (c_init): In C99 mode, enable warnings for implicit
4814         function declarations by default rather than only when pedantic.
4815
4816 Mon Feb 12 17:28:48 CET 2001  Jan Hubicka  <jh@suse.cz>
4817
4818         * regclass.c (init_reg_sets_1): Optimize calculation of move_cost
4819         arrays.
4820
4821 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
4822
4823         * extend.texi (Deprecated): Deprecate new initializer lists.
4824
4825 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
4826
4827         * mkdeps.c (deps_add_default_target): Robustify. Add
4828         basename component only.
4829         * cpp.texi (-M): Describe how default target is generated.
4830         * invoke.texi (-M): Likewise.
4831
4832 2001-02-12  Kazu Hirata  <kazu@hxi.com>
4833
4834         * toplev.c (push_float_handler): Remove.
4835         (pop_float_handler): Remove.
4836         * toplev.h: Remove prototypes for the above functions.
4837
4838 2001-02-12  Jakub Jelinek  <jakub@redhat.com>
4839
4840         * c-common.c (constant_fits_type_p): New function.
4841         (convert_and_check): Use it.
4842
4843 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
4844
4845         * Makefile.in (GXX_ABI_FLAG): Don't define.
4846         * configure.in (--enable-new-gxx-abi): Remove option.
4847         * config.in: Regenerated.
4848         * configure: Likewise.
4849
4850 2001-02-12  Alexandre Oliva  <aoliva@redhat.com>
4851
4852         * lcm.c (compute_earliest): Let EXIT_BLOCK be handled as a regular
4853         basic block.
4854         (optimize_mode_switching) [NORMAL_MODE]: Set up EXIT_BLOCK as a
4855         regular basic block, and arrange for all edges into it to switch
4856         to normal mode.
4857
4858 2001-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4859
4860         * Makefile.in (distclean): Do not remove .gdbinit.
4861
4862 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
4863
4864         * Makefile.in (gcc.o): Fix typos.
4865         (protize.o): Likewise.
4866         (unprotoize.o): Likewise.
4867
4868 2001-02-11  Richard Henderson  <rth@redhat.com>
4869
4870         * tree.c (build1): Check for null operand in last change.
4871
4872 2001-02-11  Richard Henderson  <rth@redhat.com>
4873
4874         * fold-const.c (split_tree): Don't assume a constant isn't splittable.
4875         (fold): Don't assume a constant isn't foldable.
4876         * tree.c (build): Set TREE_CONSTANT for an expression with no
4877         side-effects and constant operands.
4878         (build1): Likewise.
4879
4880 2001-02-10  Richard Henderson  <rth@redhat.com>
4881
4882         * jump.c (squeeze_notes): Revert 2000-05-12 change.
4883
4884 2001-02-10  Anthony Green  <green@redhat.com>
4885
4886         * cpp.texi (Standard Predefined): Add documentation for
4887         __OPTIMIZE_SIZE__.
4888
4889         * c-common.c (combine_strings): Improve warning message.
4890
4891 2001-02-10  Geoffrey Keating  <geoffk@redhat.com>
4892
4893         * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Use two dashes for
4894         --oformat.
4895         * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Likewise.
4896
4897 Fri Feb  9 15:05:27 2001  Christopher Faylor <cgf@cygnus.com>
4898
4899         * config/i386/t-cygwin (T_CPPFLAGS): Use correct location for
4900         CYGWIN_CROSS_DIR.
4901
4902 2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
4903
4904         * config/sh/sh.md (sibcalli, sibcalli_pcrel, sibcalli): Set
4905         fp_mode attribute.
4906
4907 2001-02-09  Nick Clifton  <nickc@redhat.com>
4908
4909         * config/arm/arm.md: Change output contraint on post inc
4910         load/store multiple patterns to be a read/write contraint.
4911
4912 2001-02-09  Neil Booth  <neil@daikokuya.demon.co.uk>
4913
4914         * gcc.c (cpp_options): Delete .d files on error.  Don't delete
4915         .o files when using the -M options.
4916
4917 2001-02-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4918             David Edelsohn  <edelsohn@gnu.org>
4919
4920         * config/rs6000/rs6000.c (output_toc): Allow 32-bit targets to
4921         handle DImode constants.  Use one TOC entry for SImode and smaller
4922         constants, aligned properly.
4923
4924 2001-02-08  Jason Merrill  <jason@redhat.com>
4925
4926         * config/arm/arm.c (arm_expand_prologue): Do tell the dwarf2 backend
4927         about the SP adjustment for saving the static chain pointer.
4928         * dwarf2out.c (dwarf2out_frame_debug_expr): Use the specified
4929         offset when setting a temporary CFA register.
4930
4931 2001-02-08  Chandrakala Chavva  <cchavva@redhat.com>
4932
4933         * config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
4934         powerpc-*-chorusos* .
4935         * config/rs6000/chorus.h : New file.
4936         * config/i386/chorus.h : New file.
4937         * config/sparc/chorus.h : New file.
4938         * config/sparc/t-chorus-elf : New file.
4939
4940 2001-02-08  David Edelsohn  <edelsohn@gnu.org>
4941
4942         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ...
4943         * config/rs6000/aix.h (ASM_OUTPUT_SYMBOL_REF): ... to here.
4944         * config/rs6000/aix51.h (CPLUSCPLUS_CPP_SPEC): Define it.
4945         (__WCHAR_TYPE__): Correct macro name.
4946
4947 2001-02-08  Richard Henderson  <rth@redhat.com>
4948
4949         * config/i386/i386.c (ix86_frame_pointer_required): New.
4950         (ix86_setup_frame_addresses): New.
4951         (struct machine_funciton): Add accesses_prev_frame.
4952         * config/i386/i386.h (FRAME_POINTER_REQUIRED): Call
4953         ix86_frame_pointer_required.
4954         (SUBTARGET_FRAME_POINTER_REQUIRED): New.
4955         (SETUP_FRAME_ADDRESSES): New.
4956         * config/i386/i386-protos.h: Update.
4957         * config/i386/sco5.h (SUBTARGET_FRAME_POINTER_REQUIRED): Rename
4958         from FRAME_POINTER_REQUIRED.
4959         * config/i386/svr3gas.h: Likewise.
4960         * config/i386/sysv3.h: Likewise.
4961         * config/i386/v3gas.h: Likewise.
4962
4963 2001-02-08  Richard Henderson  <rth@redhat.com>
4964
4965         * config/sparc/sparc.c (function_arg_record_value_3): Fix
4966         calculation of the number of integer registers required.
4967         (function_arg_record_value): Likewise.
4968
4969 2001-02-08  Jason Merrill  <jason@redhat.com>
4970
4971         * diagnostic.c (internal_error): Say "confused" after 1 error, not
4972         two.  Print file and line with "confused" message.
4973
4974         * dwarf2out.c (dwarf2out_line): Include filename in -dA output.
4975
4976 Thu Feb  8 11:21:28 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4977
4978         * rtlanal.c (remove_node_from_expr_list): Correctly update PREV.
4979
4980 2001-02-08  Bernd Schmidt  <bernds@redhat.com>
4981
4982         * final.c (cleanup_subreg_operands): The address of a MEM can
4983         contain SUBREGs.
4984
4985         * config/ia64/ia64.c (ia64_variable_issue): Call group_barrier_needed_p
4986         for asms, too.
4987
4988 2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
4989
4990         * gcc.texi (Incompatibilities): Update documentation of
4991         preprocessing numbers.
4992
4993 2001-02-07  Jakub Jelinek  <jakub@redhat.com>
4994
4995         * c-decl.c (finish_enum): Revert part of 2000-01-05 change.
4996
4997 2001-02-07  Mark Mitchell  <mark@codesourcery.com>
4998
4999         * config/rs6000/aix43.h (CPLUSCPLUS_CPP_SPEC): Define it.
5000
5001         * defaults.h (CPLUSPLUS_CPP_SPEC): New macro.
5002         * gcc.c (struct compiler): Add cpp_spec field.
5003         (input_file_compiler): New variable.
5004         (do_spec_1): Allow a particular compiler to handle `%C'
5005         specially.
5006         (main): Store the current compiler in input_file_compiler.
5007         * tm.texi (CPLUSPLUS_CPP_SPEC): Document.
5008
5009 2001-02-07  Zack Weinberg  <zack@wolery.stanford.edu>
5010
5011         * cpphash.h (struct spec_nodes): Add n_true and n_false.
5012         * cppinit.c (cpp_create_reader): Initialize them.
5013         (append_include_chain): cxx_aware arg might be unused.
5014         * cppexp.c (lex): In C++ mode, recognize 'true' and 'false'
5015         keywords and give them their phase 7 meaning.  Pedwarn about
5016         this unless '__bool_true_false_are_defined' is defined.
5017
5018 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
5019
5020         * lcm.c (optimize_mode_switching): Emit mode_set before the
5021         JUMP_INSN of an abnormal edge.
5022
5023 2001-02-07  Bernd Schmidt  <bernds@redhat.com>
5024
5025         * builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
5026         a scheduling barrier at the end.
5027
5028         * tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document.
5029
5030 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
5031
5032         * config/sh/sh.md (reload_outsf): Removed.
5033         (movsf_ie): Introduce constraints for FPUL loads and stores.
5034         (reload_insf): Broaden the output constraint.
5035
5036         * config/elfos.h (INT_ASM_OP): Don't define it if it's already
5037         defined.
5038         * config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
5039         ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h.
5040
5041 2001-02-06  Chandrakala Chavva  <cchavva@redhat.com>
5042
5043         * final.c: Revert my previous changes.
5044         * output.h: Make profile_label_no extern.
5045         * config/rs6000/rs6000.c (output_profile_hook): Use standard functions
5046         for generating label.
5047
5048 2001-02-06  Laurynas Biveinis  <lauras@softhome.net>
5049
5050         * config/i386/djgpp.h: Add comments about standard paths.
5051         (MD_EXEC_PREFIX): Undefine before defining.
5052         (MD_STARTFILE_PREFIX): New.
5053
5054 2001-01-30  Bruce Korb  <bkorb@gnu.org>
5055
5056         fixinc/fixincl.c(process):  Emit error message only if appropriate :)
5057         (load_file): do not rely on load_file_data() to close file pointer
5058         fixinc/fixlib.c(load_file_data): do not close passed in file pointer
5059         fixinc/inclhack.def(irix_limits_const): add test_text
5060
5061 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
5062
5063         * cppexp.c (parse_defined): Improve diagnostics for invalid
5064         syntax.
5065
5066 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
5067
5068         * cppmacro.c (cpp_get_token): Avoid pasting after a builtin.
5069
5070 2001-02-06  Mark Mitchell  <mark@codesourcery.com>
5071
5072         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Define.
5073         * config/rs6000/rs6000-protos.h (rs6000_output_symbol_ref): Declare.
5074         * config/rs6000/rs6000.c (VTABLE_NAME_P): New macro.
5075         (rs6000_output_symbol_ref): New function.
5076         (output_toc): Use VTABLE_NAME_P.
5077
5078 Tue Feb  6 07:54:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5079
5080         * print-tree.c (print_node, case PARM_DECL):
5081         Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN.
5082
5083         * stor-layout.c (reference_types_internal): New variable.
5084         (internal_reference_types): New function.
5085         (layout_type, case REFERENCE_TYPE): Make Pmode if internal.
5086         * tree.h (internal_reference_types): New declaration.
5087
5088         * cse.c (find_best_addr): Fix typo in computing cost.
5089
5090 Mon Feb  5 21:56:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5091
5092         * combine.c (nonzero_bits, case PLUS): If pointers extend unsigned
5093         and this is the sum of a pointer and a constant, we know the result
5094         did not overflow.
5095         (num_sign_bit_copies, case PLUS): Likewise.
5096         * explow.c (convert_memory_address): Remove opposite SUBREG.
5097         * function.c (instantiate_new_reg): New function (from common code).
5098         (instantiate_virtual_regs_1): Call it.
5099         For PLUS, handle if (plus (subreg (virt-reg) (const_int))
5100         if pointers sign- or zero-extend.
5101         * simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND):
5102         If pointers extend unsigned, use inside of SUBREG.
5103         (simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend.
5104
5105 2001-02-05  Benjamin Kosnik  <bkoz@redhat.com>
5106
5107         * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target
5108         subdir of gcc_gxx_include_dir.
5109         (gcc_gxx_target_include_dir): Remove.
5110
5111 2001-02-05  Jeffrey Oldham  <oldham@codesourcery.com>
5112
5113         * dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments.
5114         (dwarf2out_frame_debug_expr): Revise introductory comments to add
5115         a high-level description.
5116
5117 2001-02-05  Chandrakala Chavva  <cchavva@redhat.com>
5118
5119         * final.c: Move the declaration of profile_label_no to ...
5120         * output.h: ... here.
5121         * function.c (expand_function_start): Call PROFILE_HOOK.
5122         * config/rs6000/aix.h: Define PROFILE_HOOK.
5123         * config/rs6000/rs6000-protos.h: output_profile_hook new.
5124         * config/rs6000/rs6000.c (output_profile_hook): Define.
5125         (output_prolog): Do nothing for ABI_AIX as it is taken care by
5126         output_profile_hook.
5127         tm.texi : Explain new macro PROFILE_HOOK.
5128
5129 2001-02-06  Hans-Peter Nilsson  <hp@axis.com>
5130
5131         * extend.texi (Extended Asm): Do not say that semicolon is always
5132         a valid line-breaking character for GNU assemblers.  Use
5133         newline-tab as the most commonly supported syntax.  Use
5134         newline-tab rather than semicolon in multi-insn examples.
5135
5136 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5137
5138         * Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).
5139
5140 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5141             David Edelsohn  <edelsohn@gnu.org>
5142
5143         * config/rs6000/rs6000.c (rs6000_return_addr): Use PIC
5144         code for AIX, even without flag_pic.
5145
5146 2001-02-05  Jakub Jelinek  <jakub@redhat.com>
5147
5148         * c-typeck.c (common_type): push and pop binding level around
5149         calling common_type on function parameters.
5150
5151 Mon Feb  5 14:30:37 2001  Christopher Faylor <cgf@cygnus.com>
5152
5153         * config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter.
5154
5155 Mon Feb  5 11:23:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5156
5157         * config/mips/mips.c (override_options): Fix typo in last change.
5158         (mips_make_temp_file): Call fatal_io_error, not pfatal_with_name.
5159         (mips_asm_file_end): Likewise; also pass more args to fatal_io_error.
5160
5161 2001-02-05  Nathan Sidwell  <nathan@codesourcery.com>
5162
5163         * invoke.texi (-fdump-class-layout): Document.
5164         (-fdump-translation-unit): Use `=' as filename separator.
5165
5166 2001-02-05  Mark Mitchell  <mark@codesourcery.com>
5167
5168         * Makefile.in (s-mlib): Don't build multilibs if
5169         --disable-multilib.
5170         (DRIVER_DEFINES): Adjust accordingly.
5171         (gcc.o): Likewise.
5172         (protoize.o): Likewise.
5173         (unprotoize.o): Likewise.
5174         * configure.in: Recognize --enable-multilib.
5175
5176 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
5177
5178         * Makefile.in (DRIVER_DEFINES): Fix quoting.
5179
5180         * Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3.
5181         * configure.in: Remove --enable-libstdcxx_v3 support.
5182         * configure: Regenerated.
5183
5184 Sun Feb  4 15:52:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5185
5186         * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
5187         Call abort instead of fatal.
5188         (TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal.
5189         * config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise.
5190         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise.
5191         (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise.
5192         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
5193         * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise.
5194
5195         * diagnostic.h (set_internal_error_function): Renamed.
5196         * toplev.h (internal_error): Renamed from fatal.
5197         (pfatal_with_name): Deleted.
5198         (fatal_io_error): Now has printf-style arguments.
5199         * diagnostic.c (pfatal_with_name): Deleted.
5200         (fatal_io_error): Rework to have args in printf-style.
5201         (set_internal_error_function): Renamed from set_fatal_function.
5202         (internal_error): Renamed from fatal.
5203         (error_recursion, fancy_abort): Call internal_error instead of fatal.
5204         * dwarf2out.c (get_cfa_from_loc_descr): Likewise.
5205         * emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
5206         * expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
5207         * flow.c (verify_flow_info): Likewise.
5208         * config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
5209         * config/mips/mips.c (save_restore_insns): Likewise.
5210
5211         * except.c (duplicate_eh_handlers): Call abort instead of fatal.
5212         * flow.c (verify_flow_info): Likewise.
5213         * config/arm/arm.c (thumb_load_double_from_address): Likewise.
5214         * config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
5215         (avr_normalize_condition): Likewise.
5216         * config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
5217         * config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
5218         (limit_reload_class, double_reg_to_memory): Likewise.
5219         (print_operand_address, emit_1600_code_shift): Likewise.
5220         (gen_tst_reg, gen_compare_reg): Likewise.
5221         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
5222         * config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
5223         Deleted.
5224         * config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.
5225
5226         * c-parse.in (methoddef): Call fatal_error instead of fatal.
5227         * objc/objc-act.c (build_ivar_chain): Likewise.
5228         * dwarfout.c (dwarfout_init): Call fatal_io_error instead of
5229         pfatal_with_name.
5230         * graph.c (clean_graph_dump_file): Likewise.
5231         * profile.c (init_branch_prob): Likewise.
5232         * objc/objc-act.c (objc_init): Likewise.
5233
5234         * config/arm/arm.c (arm_override_options): Make errors non-fatal.
5235         * config/avr/avr.c (avr_override_options): Likewise.
5236         * config/c4x/c4x.c (c4x_expand_prologue): Likewise.
5237         * config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
5238         * config/h8300/h8300.c (h8300_init_once): Likewise.
5239         * config/mips/mips.c (override_options): Likewise.
5240         * config/i386/i386.c (override_options): Likewise, rework.
5241         * config/m68k/m68k.c (override_options): Likewise.
5242
5243         * config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
5244         instead of fatal.
5245         * config/mips/mips.c (print_operand): Likewise.
5246         * hash.c (hash_allocate): Don't check for failure returns from
5247         obstack functions that can't fail.
5248         (hash_table_init_n, hash_table_init): Likewise; also now return void.
5249         * hash.h (hash_table_init_n, hash_table_init): Now return void.
5250         * objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
5251         (get_object_reference): Likewise.
5252
5253 2001-02-04  Nick Clifton  <nickc@redhat.com>
5254
5255         * config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e,
5256         StrongARM1110, 10TDMI, and 1020T.
5257
5258 2001-02-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5259
5260         * mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif.
5261
5262 2001-02-04  Alexandre Oliva  <aoliva@redhat.com>
5263
5264         * config/sh/sh.md (movdf load split): Pass register number to
5265         FP_OR_XD_REGISTER_P.
5266
5267 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
5268
5269         * cppinit.c (BC): New macro.
5270         (builtin_array): Add __GXX_WEAK__.
5271         * cpplib.h (builtin_type): Add BT_WEAK.
5272         * cppmacro.c (builtin_macro): Handle BT_WEAK.
5273         * defaults.h (SUPPORTS_ONE_ONLY): Define.
5274         * varasm.c (SUPPORTS_ONE_ONLY): Do not define.
5275
5276 2001-02-03  Jakub Jelinek  <jakub@redhat.com>
5277
5278         * cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C.
5279
5280 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
5281
5282         * cpphash.h: Rename _ALIGN POOL_ALIGN.
5283         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
5284
5285 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
5286
5287         * cpphash.h: Rename ALIGN _ALIGN.
5288         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
5289
5290 Fri Feb  2 23:15:29 2001  Christopher Faylor <cgf@cygnus.com>
5291
5292         * config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross
5293         compilation environment.
5294         * config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow
5295         control over location of cygwin includes and libs.
5296
5297 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
5298
5299         * c4x.h (HARD_REGNO_CALL_PART_CLOBBERED): Fix typo.
5300
5301 2001-02-02  lars brinkhoff  <lars@nocrew.org>
5302
5303         * md.texi (Standard Names): remove reference to spur.md.
5304
5305 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
5306
5307         * c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define.
5308         (HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG.
5309         (INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise.
5310         * c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG.
5311         (c4x_expand_prologue, c4x_expand_epilogue): Likewise.
5312
5313 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5314
5315         * c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand,
5316         c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register
5317         number before reload.
5318         (c4x_adjust_cost): Return zero before reload.
5319         * c4x.md (load_immed_address+1, load_immed_address+2): Do not
5320         split before reload.
5321
5322 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5323
5324         * c4x.c (c4x_hard_regno_rename_ok): New.
5325         * c4x-protos.h (c4x_hard_regno_rename_ok): New.
5326         * c4x.h (HARD_REGNO_RENAME_OK): Define.
5327
5328 Fri Feb  2 20:03:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5329
5330         * diagnostic.h: Add missing "extern" in all declarations.
5331
5332 2001-02-02  Alex Samuel  <samuel@codesourcery.com>
5333
5334         * Makefile.in (gcc_gxx_target_include_dir): Generate dynamically
5335         as for gcc_gxx_include_dir.
5336
5337 2001-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
5338
5339         * cpp.texi, invoke.texi: Update -Wtraditional documentation.
5340
5341 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
5342
5343         * config/sh/sh.c (output_far_jump): Don't use braf on SH1.  Emit
5344         label before alignment to be used as the braf base address.
5345         * config/sh/sh.md (length): Use longer lengths for SH1 PIC far
5346         branches.
5347         (casesi_jump_2): Require at least TARGET_SH2.
5348
5349         * config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent
5350         truncation to 32-bit doubles on -m3e and -m4-single-only.
5351
5352 2001-02-02  Mark Mitchell  <mark@codesourcery.com>
5353
5354         * gcc.c (init_gcc_specs): New function.  Make -shared-libgcc
5355         the default when building a shared object.
5356         (init_spec): Use it.
5357         * testsuite/lib/g++.exp: Include the directory where libgcc
5358         is located to the LD_LIBRARY_PATH list.
5359         * invoke.texi (-shared-libgcc): Document the cases in which
5360         GCC defaults to using the shared libgcc.
5361
5362 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
5363
5364         * config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume
5365         unsigned is wide enough.
5366         (BITS_PER_SI): New.
5367         * config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI.
5368         (si_to_float): Likewise.
5369         (float_to_si, float_to_usi): Use BITS_PER_SI.
5370
5371 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
5372
5373         * dwarf2out.c: Added explanation of abbreviations.
5374         (def_cfa_1): Added comments listing DWARF2 instructions.
5375         (cfa_temp_reg): Removed in favor of cfa_temp.
5376         (cfa_temp_value): Removed in favor of cfa_temp.
5377         (cfa_temp): New global variable.
5378         (dwarf2out_frame_debug_expr): Added extensive introductory
5379         comments explaining the function's transformations.  Revised to
5380         use cfa_temp.  Added some rtx checking.  Generalize IOR case.
5381         (dwarf2out_frame_debug): Revised to use cfa_temp.
5382         (output_aranges): Cast as "unsigned" to avoid warning.
5383         * rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better
5384         explain which instructions must be marked.
5385
5386 2001-02-01  Richard Henderson  <rth@redhat.com>
5387
5388         * local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
5389         new instruction.
5390
5391 2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
5392
5393         * config/sh/crt1.asm (main_k): Modified so that start calls
5394         ___setup_argv_and_call_main.
5395
5396 2001-02-01  Neil Booth  <neil@daikokuya.demon.co.uk>
5397
5398         * cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader.
5399         * cpplex.c (_cpp_lex_token): New token picks up the saved flags,
5400         and AVOID_LPASTE is cleared on meeting an unescaped newline.
5401         * cppmacro.c (builtin_macro): Set builtin flags here.
5402         (paste_all_tokens): Preserve AVOID_LPASTE on pasted token.
5403         (replace_args): Clarify intent.
5404         (cpp_get_token): Macro expansion tokens get the saved flags.
5405         Update.
5406         * cppmain.c (scan_buffer): Remove now-redundant print.printed
5407         check.
5408
5409 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
5410
5411         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of
5412         2001-Jan-29.
5413
5414 Thu Feb  1 07:22:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5415
5416         * builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space
5417         returns Pmode pseudo, but we need ptr_mode.
5418         * explow.c (allocate_dynamic_stack_space): Use plus_constant.
5419         Remove bogus conversions; use HOST_WIDE_INT for size.
5420         Don't use TARGET if wrong mode.
5421
5422         * config/i386/i386.c (ix86_compute_frame_size): Allow
5423         stack_alignment_needed to be non-default even if size is zero.
5424
5425 2001-01-31  Alan Modra <alan@linuxcare.com.au>
5426
5427         * pa.c (hppa_init_pic_save): New function.
5428         * pa.h (hppa_init_pic_save): Declare.
5429         * pa.md (call, call_value, sibcall, sibcall_value): Use
5430         the above instead of duplicated code.
5431
5432         * pa.c (hppa_encode_label): Correct size of alloca buffer
5433         so we don't overrun it.  Correct leading `*' case.
5434         * pa.h (STRIP_NAME_ENCODING): Simplify now that we don't
5435         need to handle `*@'.
5436         (FUNCTION_NAME_P): Likewise.
5437
5438 2001-01-31  Richard Henderson  <rth@redhat.com>
5439
5440         * config.gcc (alpha-osf5): Use float-i128.h.
5441
5442         * config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
5443         * config/float-i32.h: Likewise.
5444         * config/float-i64.h: Likewise.
5445         * config/float-sh.h: Likewise.
5446         * config/float-sparc.h: Likewise.
5447
5448 2001-01-31  DJ Delorie  <dj@redhat.com>
5449
5450         * expmed.c (extract_bit_field): allow non-integral modes if we
5451         want to extract a whole register from itself.
5452
5453 2001-01-31  Jakub Jelinek  <jakub@redhat.com>
5454
5455         * c-typeck.c (set_init_index): If first is equal to last, assume as
5456         if it was not a range at all.
5457
5458 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
5459
5460         * config/fp-bit.c: Include tm.h.
5461         (float_to_si): Don't assume SImode is 32-bits wide.
5462         (float_to_usi): Likewise.
5463
5464 2001-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
5465
5466         * c-parse.in (structsp): Pedwarn when "enum foo" refers to an
5467         incomplete type.
5468         (typename): Call pending_xref_error after parsing typed_typespecs.
5469         * c-decl.c (lookup_tag): Give error immediately rather than
5470         leaving it pending if the tag of the wrong type is in the same
5471         binding level.
5472         (xref_tag): Don't pedwarn for forward declarations of enum types
5473         here.
5474         * gcc.texi (Actual Bugs): Remove entry for misuse of struct, union
5475         and enum tags.
5476
5477 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
5478
5479         * config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo.
5480
5481 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
5482
5483         * cpplib.c (T_ELIF): Move to STDC89, not that it matters.
5484         (_cpp_handle_directive): Suggest not using #elif with -Wtraditional.
5485
5486 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
5487
5488         * cpphash.h (struct cpp_reader): New saved_flags.
5489         * cppmacro.c (cpp_get_token): Use saved_flags to remember
5490         to avoid a paste after a pasted token.
5491
5492 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
5493
5494         * libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
5495         * libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
5496         Wtype_MIN instead of LONG_MIN.
5497
5498 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
5499
5500         * fixinc/fixincl.tpl: Add 2001 to copyright.  Change name of
5501         README file.
5502         * fixinc/fixincl.x: Regenerated.
5503         * fixinc/inclhack.def (irix_limits_const): New definition to
5504         convert "const" to "__const" in limits.h.
5505
5506 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
5507
5508         * fixinc/genfixes (AG): Fix "autogen4" thinko.
5509
5510 2001-01-30  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
5511
5512         * regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED
5513         when register dies in the insn.
5514
5515 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
5516
5517         * diagnostic.c (fatal): Fix word wrap.
5518
5519 2001-01-30  Alexandre Oliva  <aoliva@redhat.com>
5520
5521         * combine.c (try_combine): Fix SUBREG setting for
5522         HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD.
5523
5524 2001-01-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5525
5526         * jump.c (comparison_dominates_p): Don't try to handle UNKNOWN
5527         comparison codes.
5528
5529 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
5530
5531         * c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
5532         is not NULL.
5533         * toplev.c (decode_W_option): Update warn_larger_than
5534         unconditionally for each processed switch.
5535
5536 2001-01-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5537
5538         * pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
5539         to NULL_RTX.
5540         (hppa_expand_prologue): Delete code to save pic offset table register
5541         in the function prologue.
5542         * pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
5543         * pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
5544         table register at the beginning of the function after the prologue.
5545
5546 2001-01-29  lars brinkhoff  <lars@nocrew.org>
5547
5548         * tm.texi (PUSH_ROUNDING): Remove duplicate lines.
5549
5550 2001-01-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5551             Jeff Law <law@redhat.com>
5552
5553         * pa.md (return): Revise comment for trivial return.
5554         (return_internal): Non-trivial return pattern for non-PIC code.
5555         (return_internal_pic): Non-trivial return pattern for PIC code.
5556         It uses the PIC register to ensure it is restored after
5557         function calls.
5558         (epilogue): Generate appropriate return for PIC and non-PIC code.
5559
5560 Mon Jan 29 23:53:14 2001  Christopher Faylor <cgf@cygnus.com>
5561
5562         * config/i386/cygwin.h: Fix -mno-cygwin search path for link.
5563
5564 2001-01-29  DJ Delorie  <dj@redhat.com>
5565
5566         * combine.c (if_then_else_cond): Pass the correct mode to
5567         operand_subword() for constants.
5568
5569 Mon Jan 29 20:38:19 2001  Christopher Faylor <cgf@cygnus.com>
5570
5571         * config/i386/cygwin.h: Add w32api to include search.  Search different
5572         directories in a cross-build environment.
5573
5574 2001-11-29  Tim Josling  <tej@melbpc.org.au>
5575
5576         * tree.h (TYPE_STUB_DECL): Add documentation.
5577
5578 2001-11-29  Laurynas Biveinis  <lauras@softhome.net>
5579
5580         * sdbout.c (sdbout_one_type): Skip types with indeterminate size.
5581         (sdbout_field_types): Likwise.  Fix use of host_integerp.
5582
5583 2001-01-29  Thomas Pfaff  <tpfaff@gmx.net>
5584
5585         * mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
5586         cygwin.h.
5587
5588 2001-01-29  Jeffrey Oldham  <oldham@codesourcery.com>
5589
5590         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
5591         to use flag_gnu_linker.
5592
5593 2001-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
5594
5595         * cpplib.c (T_BAD_DIRECTIVE): Remove.
5596         (_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
5597
5598 2001-01-29  Joseph S. Myers  <jsm28@cam.ac.uk>
5599
5600         * tree.c, tree.h (build_parse_node): Remove; was identical to
5601         build_nt.
5602         * c-lang.c (start_cdtor), objc/objc-act.c
5603         (build_module_descriptor): Use build_nt instead of
5604         build_parse_node.
5605
5606 2001-01-29  Jakub Jelinek  <jakub@redhat.com>
5607
5608         * config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
5609         (testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
5610         not have any upper bits set.
5611
5612 2001-01-29  Phil Edwards  <pme@sources.redhat.com>
5613
5614         * COPYING.LIB:  Update to LGPL 2.1 from the FSF.
5615
5616 2001-01-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5617
5618         * stmt.c (estimate_case_costs): Use integer_minus_one_node.
5619
5620         * tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.
5621
5622         * tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
5623         (integer_minus_one_node): Define.
5624
5625 2001-01-28  Alexandre Oliva  <aoliva@redhat.com>
5626
5627         * Makefile.in (bootstrap2-lean): Fix typo.
5628
5629 2001-01-28  Neil Booth  <neil@daikokuya.demon.co.uk>
5630
5631         * cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
5632         : Don't set fe_value.
5633         * cpplib.h (AVOID_LPASTE): New flag.
5634         (struct cpp_hashnode): Remove fe_value.
5635         * cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
5636         * cppmacro.c (builtin_macro): Don't set flags here.
5637         (replace_args): Set AVOID_LPASTE flag on first token of an
5638         argument, and the token following it.
5639         (cpp_get_token): Set AVOID_LPASTE flag on first token of a
5640         macro expansion, and on the token following it.  Do it for
5641         builtins too.
5642         * cppmain.c (scan_buffer): Avoid pasting only flagged tokens.
5643
5644 2001-01-27  Richard Henderson  <rth@redhat.com>
5645
5646         * config/alpha/t-ieee: Remove multilibbing.
5647         (TARGET_LIBGCC2_CFLAGS): Add -mieee.
5648
5649 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5650
5651         * configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
5652
5653         * Makefile.in: Remove all dependencies on defaults.h.
5654         * builtins.c: Don't include defaults.h.
5655         * c-common.c: Likewise.
5656         * c-decl.c: Likewise.
5657         * c-pragma.c: Likewise.
5658         * c-typeck.c: Likewise.
5659         * combine.c: Likewise.
5660         * i386.c: Likewise.
5661         * frame-ia64.c: Likewise.
5662         * cppexp.c: Likewise.
5663         * crtstuff.c: Likewise.
5664         * dbxout.c: Likewise.
5665         * dwarf2out.c: Likewise.
5666         * dwarfout.c: Likewise.
5667         * emit-rtl.c: Likewise.
5668         * except.c: Likewise.
5669         * expr.c: Likewise.
5670         * final.c: Likewise.
5671         * frame-dwarf2.c: Likewise.
5672         * libgcc2.c: Likewise.
5673         * optabs.c: Likewise.
5674         * profile.c: Likewise.
5675         * sdbout.c: Likewise.
5676         * toplev.c: Likewise.
5677         * tradcif.y: Likewise.
5678         * tree.c: Likewise.
5679         * varasm.c: Likewise.
5680
5681 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5682
5683         * builtins.c (expand_builtin_fputs): Use size_one_node when
5684         transforming into fwrite.
5685
5686 2001-01-27  Joseph S. Myers  <jsm28@cam.ac.uk>
5687
5688         * extend.texi (Attribute Syntax): New section.
5689
5690 2001-01-27  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
5691
5692         * fixproto: Correctly install synthesised unistd.h and stdlib.h when
5693         they didn't need fixing.
5694
5695 2001-01-27  Janis Johnson <janis@us.ibm.com>
5696
5697         * config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
5698         if appropriate.
5699         * config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
5700         to remove macro definitions that are duplicated from elfos.h.
5701
5702 2001-01-27  Richard Henderson  <rth@redhat.com>
5703
5704         * config/i386/sco5gas.h: Move ...
5705         * config/usegas.h: ... here.
5706         * config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.
5707
5708 2001-01-27  Jakub Jelinek  <jakub@redhat.com>
5709
5710         * c-typeck.c (struct constructor_stack): Add range_stack member.
5711         (really_start_incremental_init): Clear it.
5712         (push_init_level): Save constructor_range_stack and clear it if
5713         pushing explicit braces.
5714         (pop_init_level): abort if constructor_range_stack is non-zero at
5715         explicit closing brace.  Restore saved constructor_range_stack if
5716         not implicit.
5717
5718 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
5719
5720         * expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
5721         into register was forced into memory.
5722
5723 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
5724
5725         * Makefile.in: Remove uses of + before $(MAKE).
5726
5727 2001-01-26  Richard Henderson  <rth@redhat.com>
5728
5729         * stmt.c (cost_table): Remove.
5730         (COST_TABLE, cost_table_initialized): New.
5731         (estimate_case_costs): Use the later instead of the former.
5732         (balance_case_nodes): Likewise.
5733
5734 2001-01-26  Richard Henderson  <rth@redhat.com>
5735
5736         * alias.c (objects_must_conflict_p): Read-only slots may not
5737         conflict despite having the same type.
5738
5739 2001-01-27  Michael Hayes  <mhayes@redhat.com>
5740
5741         * loop.c (loop_giv_reduce_benefit): Copy mode size into
5742         int variable.
5743         (check_ext_dependant_givs): Initialise u_start_val and
5744         u_end_val.
5745         (load_mems): Make last_max_reg unsigned.
5746         (try_swap_copy_prop): Use INSN_P and initialise set.
5747
5748 Fri Jan 26 23:22:58 2001  Denis Chertykov  <denisc@overta.ru>
5749
5750         * README.AVR : Removed.
5751
5752 Fri Jan 26 11:37:26 2001  Jeffrey A Law  (law@cygnus.com)
5753
5754         * pa-64.h (text_section): Remove declaration.
5755
5756         * pa.md (return_internal): Remove mode on PIC register use.
5757
5758 2001-01-25  lars brinkhoff  <lars@nocrew.org>
5759
5760         * tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN,
5761         ASM_CLOSE_PAREN): fix typos.
5762
5763 2001-01-25  Mark Mitchell  <mark@codesourcery.com>
5764
5765         * acconfig.h: Define `const' to the empty string if neither
5766         __STDC__ nor __cplusplus is defined.
5767         * config.in: Regenerated.
5768
5769 2001-01-25  David Edelsohn  <edelsohn@gnu.org>
5770
5771         * config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
5772         * collect2.c (main): Delete importf.  Add ".obj" file extension.
5773         (GCC_CHECK_HDR): Handle AIX V5 new magic number.
5774         (aix_std_libs): Add additional AIX libraries to skip.
5775         * config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
5776         * config/rs6000/aix51.h: New file.
5777
5778 2001-01-25  Michael Hayes  <mhayes@redhat.com>
5779
5780         * loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
5781         (loop_insn_emit_before): No longer static.
5782         (move_movables): Replace emit_insn_after with loop_insn_emit_after.
5783         (loop_givs_rescan, load_mems): Likewise.
5784         (check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
5785         (maybe_eliminate_biv_1):
5786         (move_movables): Replace emit_call_insn_before with
5787         loop_call_insn_hoist.
5788         * loop.h (loop_insn_emit_before): Add.
5789         * unroll.c (copy_loop_body): Replace emit_insn_before with
5790         loop_insn_emit_before.
5791
5792 2001-01-25  Neil Booth  <neil@daikokuya.demon.co.uk>
5793
5794         * diagnostic.c (fatal): Request preprocessed source.
5795
5796 Thu Jan 25 02:01:16 2001  J"orn Rennecke <amylaar@redhat.com>
5797
5798         * c-decl.c (duplicate_decls): If different_binding_level is nonzero,
5799         olddecl has argument types and newdecl has none, use the argument
5800         types from olddecl.
5801
5802 2001-01-24  Ulrich Drepper  <drepper@redhat.com>
5803
5804         * dwarf2out.c (prefix_of): New function.  Determine longest common
5805         prefix of the two arguments.  The units are whole path components.
5806         (output_file_names): When adding a new directory find the one entry
5807         with the longest common prefix already in the list.  Artificially
5808         generate entry if there is none for this prefix.
5809         Fix test to check whether the zeroth directory entry is used.
5810
5811 Wed Jan 24 23:51:55 2001  J"orn Rennecke <amylaar@redhat.com>
5812
5813         * reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
5814         Changed all callers.  Take it into account when deciding if a
5815         previously loaded value matches.
5816
5817 2001-01-24  Richard Henderson  <rth@redhat.com>
5818
5819         * reload.c (find_reloads_subreg_address): Fail the substitution
5820         if the resulting address is insufficiently aligned.
5821
5822 2001-01-24  DJ Delorie  <dj@redhat.com>
5823
5824         * combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
5825         check the original operand's mode also.
5826         * simplify-rtx.c (simplify_ternary_operation): Ditto.
5827
5828 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
5829
5830         * c-parse.in (cast_expr): Move compound literals from here ...
5831         (primary): ... to here.  Use standard terminology "compound
5832         literal" instead of "constructor expression".
5833
5834 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
5835
5836         * gcc.1, cpp.1: Regenerate.
5837
5838 2001-01-24  Alexandre Oliva  <aoliva@redhat.com>
5839
5840         * calls.c (emit_library_call_value_1): Memory slot for
5841         pass-by-reference argument should have the mode of the argument,
5842         not of the pointer to it.
5843
5844 2001-01-24  Tom Tromey  <tromey@redhat.com>
5845
5846         * gcc.texi (G++ and GCC): Mention gcj manual.
5847         (Standards): Link to section of manual mentioning gcj/Java
5848         compatibility.
5849
5850 2001-01-24  Jakub Jelinek  <jakub@redhat.com>
5851
5852         * cppfiles.c (_cpp_read_file): Add to dependencies if requested.
5853         * cppinit.c (cpp_start_read): Remove deps_add_dep call.
5854         * tradcpp.c (main): Add -imacros or -include'd dependencies
5855         for -M*.
5856         * cpp.texi (-M, -MM): Document -M -include behaviour.
5857
5858 2001-01-24  Roger Collins <roger@ProProject.com>
5859
5860         * config/i386/xm-i386.h: Make __i386__ a boolean macro.
5861
5862 2001-01-24  Will Cohen  <wcohen@redhat.com>
5863
5864         * config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
5865         whether registers are 32 bits or 64 bits in size.
5866
5867 2001-01-24  Ben Elliston  <bje@redhat.com>
5868
5869         * config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
5870
5871 2001-01-24  Richard Henderson  <rth@redhat.com>
5872
5873         * config/alpha/alpha.md (builtin_longjmp_internal): New.
5874         (builtin_longjmp): Use it instead of emit_indirect_jump.
5875
5876 2001-01-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5877
5878         * bb-reorder.c (make_reorder_chain_1): Handle case where
5879         jump edge goes to the same block as the fallthru edge.
5880
5881 2001-01-23  Jim Wilson  <wilson@redhat.com>
5882
5883         * dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
5884         * frame.h (__ia64_personality_v1): Add prototype.
5885         * libgcc2.c (ia64_throw_helper): Change personality declaration to
5886         prototype form.  Add void * cast to first argument to personality
5887         call.
5888         * real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
5889         (asctoe113): Likewise.
5890         * config/ia64/frame-ia64.c: Include eh-common.h.
5891         * config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
5892         prototypes.
5893         * config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
5894         to dump parameter.
5895         (itanium_split_issue): Add prototype.
5896         (gen_nop_type): Ifdef out.
5897         (find_best_packet): Initialize best_packet.
5898         (ia64_encode_section_info): New local string.  Use for ggc_alloc_string
5899         result.
5900         * config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
5901         * config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
5902         (flushrs): Add explicit stop bit at end.
5903         * config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
5904         trailing \ to >.
5905
5906 2001-01-23  Chris Demetriou  <cgd@broadcom.com>
5907
5908         * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
5909         of EH symbols.
5910         * libgcc2.c (__terminate_func): Make variable static.
5911         (__terminate_set_func): New function to set __terminate_func.
5912         * libgcc2.h (__terminate_func_ptr): New typedef.
5913         (__terminate_set_func): New function.
5914
5915 2001-01-23  Richard Henderson  <rth@redhat.com>
5916
5917         * flow.c (init_propagate_block_info): Don't consider unchanging
5918         memories for dead frame store elimination.
5919
5920 2001-01-23  Richard Henderson  <rth@redhat.com>
5921
5922         * varasm.c (UNIQUE_SECTION): Move default implementation ...
5923         * defaults.h: ... here.
5924
5925 2001-01-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5926
5927         * c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
5928
5929 2001-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
5930
5931         * c-lex.c (lex_charconst): Fix typo: s/p/str.
5932
5933 2001-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5934
5935         * rs6000.h (rs6000_return_addr): Move prototype from here...
5936         * rs6000-protos.h (rs6000_return_addr): ...to here.
5937         (rs6000_init_expanders): Delete prototype.
5938
5939 2001-01-23  Nick Clifton  <nickc@redhat.com>
5940
5941         * invoke.texi: Replace , with \, inside @gccoptlist macros.
5942         (Spec Files): Document %B and %j and %. and %v3 and %M and
5943         %{S*&T} spec switches.
5944
5945 2001-01-24  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5946
5947         * c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
5948
5949 2001-01-23  Chris Demetriou  <cgd@sibyte.com>
5950             Neil Booth  <neil@daikokuya.demon.co.uk>
5951
5952         * cpperror.c: Merge handlers of PEDWARN and WARNING.
5953         Have -Werror make pedantic warnings errors, like the
5954         rest of GCC.
5955
5956 2001-01-23  Phil Edwards  <pme@sources.redhat.com>
5957
5958         * c-tree.texi (IDENTIFIER_LENGTH):  Fix typo.
5959
5960 2001-01-23  Jakub Jelinek  <jakub@redhat.com>
5961
5962         * integrate.h (struct inline_remap): Add compare_src, compare_mode.
5963         * integrate.c (expand_inline_function): Initialize them.
5964         (subst_constants): If changing COMPARE so that both its arguments
5965         will be VOIDmode and the comparison mode will be lost, note
5966         compare_mode.  Use the recorded compare_mode to optimize
5967         IF_THEN_ELSE.
5968
5969 2001-01-23  Jason Merrill  <jason@redhat.com>
5970
5971         * dwarf2out.c (new_die): Use xcalloc.
5972         (output_die): Abort rather than emit a local reference to offset 0.
5973
5974 2001-01-17  Andrew Haley  <aph@redhat.com>
5975
5976         * libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
5977         of a saved register; return NULL instead.
5978         (copy_reg): Take a pointer to a source register rather than a
5979         frame_state.
5980         (next_stack_level): Remember the address in the stack frame of all
5981         saved registers.
5982         Use the saved register pointer array as the source of the CFA.
5983         (throw_helper): Rewrite.  Unwind once rather than twice and keep
5984         track of saved registers as we go.
5985
5986 2001-01-23  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5987
5988         * c4x-protos.h (c4x_legitimize_reload_address): Remove.
5989         * c4x.c (c4x_legitimize_reload_address): Remove.
5990         * c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
5991         reload address for ldp(k) insn.
5992
5993 Mon Jan 22 20:53:47 2001  Jeffrey A Law  (law@cygnus.com)
5994
5995         * pa.md (return_internal): Add a USE of the PIC register to ensure
5996         it is restored after each call.
5997         (return expander): Corresponding changes.
5998
5999 2001-01-22  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6000
6001         * rs6000.h (INIT_EXPANDERS): Delete.
6002         (RETURN_ADDR_RTX): Call rs6000_return_addr().
6003         * rs6000.c (rs6000_override_options): Call *_machine_status from
6004         here...
6005         (rs6000_init_expanders): ...instead of here. Delete.
6006         (rs6000_mark_machine_status): New function.
6007         (rs6000_init_machine_status): Use xcalloc.
6008         (rs6000_return_addr): Generate RTX for the return address.
6009         (rs6000_ra_ever_killed): New, check if LR was ever destroyed.
6010         (rs6000_stack_info): Use it.
6011
6012 2001-01-22  Thomas Pfaff  <tpfaff@gmx.net>
6013
6014         * gthr-win32.h: Include errno.h to get a declaration for
6015         EINVAL and _mingw.h if the target is mingw32.
6016
6017 2001-01-22  Andres Felipe Vargas <avargas@teletulua.com.co>
6018
6019         * cpp.texi: Correct typos.
6020
6021 Mon Jan 22 13:59:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6022
6023         * explow.c (probe_stack_range): Ensure value passed to
6024         stack_check_libfunc is ptr_mode, not Pmode.
6025
6026 Mon Jan 22 16:53:06 2001  J"orn Rennecke <amylaar@redhat.com>
6027
6028         * recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
6029         case, don't use operand_subword to calculate a SUBREG that is
6030         wider than a word.
6031
6032         * rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
6033
6034 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
6035
6036         * c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
6037         (c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
6038         valid.  If not replace it by equivalent insns.
6039
6040 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
6041
6042         * c4x.c (c4x_check_legit_addr): Only check CONST.  Not if CONST
6043         contains SYMBOL_REF, LABEL_REF and CONST_INT.
6044         (c4x_U_constraint, symbolic_address_operand): Likewise.
6045         (c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
6046         memory.
6047         (c4x_r11_set_p, c4x_check_laj_p): New functions.
6048         * c4x-protos.h (c4x_check_laj_p): Add prototype.
6049         * c4x.md (in_annul_slot_3): Do not allow auto-increment in last
6050         anulling slot because of silicon bug.
6051         (laj, lajv): Call c4x_check_laj_p to check for silicon bug.
6052
6053 2001-01-22  Alan Modra <alan@linuxcare.com.au>
6054
6055         * cppexp.c (parse_charconst):  Change `mask' type to agree
6056         with parse_escape.
6057
6058 2001-01-21  Richard Henderson  <rth@redhat.com>
6059
6060         * config/i386/i386.c (ix86_asm_file_end): Disable putting
6061         pic_label_name in a linkonce section.
6062
6063 2001-01-17  Philipp Thomas  <pthomas@suse.de>
6064
6065         * aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
6066         found in libintl.
6067         * configure: Regenerate.
6068
6069 Sun Jan 21 02:38:56 2001  J"orn Rennecke <amylaar@redhat.com>
6070
6071         * expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
6072         uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
6073
6074 Sun Jan 21 09:44:17 2001  Denis Chertykov  <denisc@overta.ru>
6075
6076         * config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
6077         If REVERSE nonzero then condition code in X must be reversed.
6078         (encode_section_info): Optimise if/else.
6079         (avr_function_value): Fix formatting.
6080
6081         * config/avr/avr.md (branch): Call to ret_cond_branch changed.
6082         (difficult_branch): Likewise.
6083         (rvbranch): Likewise.
6084         (difficult_rvbranch): Likewise.
6085
6086         * config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
6087
6088         * config/avr/libgcc.S: Fix comment.
6089
6090 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
6091
6092         * sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
6093
6094 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
6095
6096         * cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
6097
6098 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
6099
6100         * aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
6101         * configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
6102         * configure, config.in: Regenerate.
6103         * Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
6104         (LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
6105         (strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
6106         (doprint.o): New rule.
6107
6108 2001-01-20  Joseph S. Myers  <jsm28@cam.ac.uk>
6109
6110         * c-typeck.c (digest_init): Handle boolean types as scalars.
6111
6112 Sat Jan 20 12:46:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6113
6114         * stmt.c (expand_return): Don't return anything if size is zero.
6115         Delete redundant assignment to BYTES.
6116         * expr.c (move_block_from_reg): Do nothing if NREGS is zero.
6117
6118 2001-01-20  Marek Michalkiewicz  <marekm@linux.org.pl>
6119
6120         * config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
6121         the same as the default library function names.
6122         * config/avr/avr.md: Document special characters after '%'.
6123         (mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
6124         knowing which of the call-used registers are really clobbered.
6125         (divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
6126         New.  Both quotient and remainder from one libgcc.S call.
6127         * config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
6128         clobber as few registers as possible.
6129         * config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
6130
6131 2001-01-20  Neil Booth  <neil@daikokuya.demon.co.uk>
6132
6133         * cppmacro.c (funlike_invocation_p): Don't move back up to the
6134         context of the top of the stack.
6135
6136 2001-01-20  Jakub Jelinek  <jakub@redhat.com>
6137
6138         * function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
6139         (fixup_var_refs_insns): ...here.
6140
6141 2001-01-20  Zack Weinberg  <zack@wolery.stanford.edu>
6142
6143         * function.c (fixup_var_refs_insns): Break up into
6144         fixup_var_refs_insn [body of loop], fixup_var_refs_insns
6145         [loop over entire insn list], and fixup_var_refs_insns_with_hash
6146         [loop over hash table entries].
6147         (fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
6148         fixup_var_refs_insns_with_hash, to match above changes.
6149
6150 2001-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6151
6152         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
6153         (libgcc.a): Likewise.
6154         (stmp-multilib): Likewise.
6155         (STAGE2_FLAGS_TO_PASS): Likewise.
6156
6157 2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
6158
6159         * config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
6160         temporary if no_new_pseudos.
6161
6162 2001-01-19  Neil Booth  <neil@daikokuya.demon.co.uk>
6163
6164         * cppinternals.texi: Update.
6165
6166 2001-01-19  Richard Earnshaw  <rearnsha@arm.com>
6167
6168         * arm.c (arm_init_builtins): Re-enable builtins.
6169
6170 Fri Jan 19 13:02:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6171
6172         * rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
6173         * flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
6174         element to be null, and always expect an EXPR_LIST.
6175         * rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
6176         * sched-deps.c (sched_analyze_1): Likewise.
6177         * sched-rgn.c (check_live_1, update_live_1): Likewise.
6178
6179         * regclass.c (max_set_parallel): New variable.
6180         (reg_scan): Take it into account in computation of max_parallel.
6181         (reg_scan_mark_refs, case SET): Compute it.
6182
6183         * alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
6184         args are REG.
6185         * expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
6186         * function.c (assign_parms): Use INTVAL for a CONST_INT.
6187
6188 2001-01-19  Jason Merrill  <jason@redhat.com>
6189
6190         * dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
6191         for the abstract instance of an inline function.
6192
6193 Fri Jan 19 14:31:35 2001  Alexandre Oliva  <aoliva@redhat.com>
6194                           J"orn Rennecke <amylaar@redhat.com>
6195
6196         * reload1.c (move2add_note_store): Treat all registers directly or
6197         indirectly derived from a base register as members of the same set
6198         of values.
6199         (reload_cse_move2add): Adjust accordingly.  Take mode and offset
6200         of base register into account.
6201
6202 Fri Jan 19 09:18:42 2001  J"orn Rennecke <amylaar@redhat.com>
6203
6204         * alias.c (find_base_value): Recognize TRUNCATE.
6205         (record_set): In PLUS case, invalidate if other summand is also a
6206         base value.
6207
6208 Thu Jan 18 06:43:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6209
6210         * flow.c (mark_set_1, case PARALLEL): New case; rework to allow
6211         entry to be EXPR_LIST.
6212         * rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
6213         be an EXPR_LIST (but not null, which other code doesn't allow).
6214         (note_stores): Properly handle PARALLEL in SET.
6215         Recursively call for top-level PARALLEL.
6216         * sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
6217         * sched-rgn.c (check_live_1, update_live_1): Likewise.
6218
6219         * config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
6220
6221 2001-01-18  Neil Booth  <neil@daikokuya.demon.co.uk>
6222
6223         * cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
6224         not pfile->skipping (== 0).
6225
6226 2001-01-17  Nick Clifton  <nickc@redhat.com>
6227
6228         * config/rs6000/rs6000.c: Add prototypes for {init|free}_
6229         machine_status.
6230
6231 2001-01-17  Jim Wilson  <wilson@redhat.com>
6232
6233         * invoke.texi (IA-64 options): Improve.
6234
6235 2001-01-17  Tom Tromey  <tromey@redhat.com>
6236
6237         * invoke.texi (Optimize Options): Use `{}' to around @samp
6238         argument.
6239
6240 2001-01-17  Aldy Hernandez  <aldyh@redhat.com>
6241
6242         * invoke.texi (-fno-guess-branch-probability): New option.
6243
6244 Wed Jan 17 13:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6245
6246         * combine.c (try_combine): Don't set i3_subst_into_i2 for
6247         case of making new double-word constant.
6248         Revert last change: instead just test i3_subst_into_i2.
6249
6250 2001-01-17  Jakub Jelinek  <jakub@redhat.com>
6251
6252         * config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
6253         Use q constraints instead of r.
6254
6255 Tue Jan 16 22:23:04 2001  Alan Modra (alan@linuxcare.com.au)
6256
6257         * config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
6258         (machine_function): Define.
6259         (PIC_OFFSET_TABLE_SAVE_RTX) : Define.
6260         * config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
6261         pa_free_machine_status): New functions.
6262         (override_options): Set {init,mark,free}_machine_status to above.
6263         (hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
6264         PIC_OFFSET_TABLE_REGNUM_SAVED.
6265         * config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
6266         PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
6267         * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
6268         references to PIC_OFFSET_TABLE_REGNUM_SAVED.
6269         * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
6270
6271 2001-01-15  DJ Delorie  <dj@redhat.com>
6272
6273         * Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
6274         (cpp.1): Ditto.
6275         (gcc.1): Ditto.
6276
6277 Tue Jan 16 17:20:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6278
6279         * flow.c (propagate_on_insn): Make trying to delete a prologue
6280         or epilogue insn an ICE, not a warning.  Allow doing this if
6281         the current function returns with stack pointer depressed.
6282
6283         * combine.c (try_combine): If i3_subst_into_i2, properly check for
6284         I3 having more than one SET.
6285
6286 2001-01-16  Jim Wilson  <wilson@redhat.com>
6287
6288         * invoke.texi: Document IA-64 options.
6289
6290         * config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
6291         (fixup_errata): Delete TARGET_A_STEP use.
6292         * config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
6293         (TARGET_SWITCHES): Delete -ma-step option.
6294         * config/ia64/ia64.md (all FP patterns): Delete %B0.
6295         (movqicc_astep, movqi_internal_astep, movhicc_astep,
6296         movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
6297         movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
6298         movdfcc_astep, movdf_internal_astep, movtfcc_astep,
6299         movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
6300         Delete.
6301         (movqi_internal, movhi_internal, movsi_internal, movdi_internal,
6302         movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
6303         cmovsi_internal): Delete ! TARGET_A_STEP check.
6304
6305 2001-01-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6306
6307         * gcc.texi (Bug Lists): Do not mention newsgroups nor the
6308         possibility to report bugs via postal mail. Change a URL and
6309         merge in a nearly duplicate statement...
6310         (Bug Reporting): ...from here.
6311         (Service): Refer to the Bug Reporting section instead of
6312         duplicating an URL.
6313         (Contributing): Remove trivial explanations concerning snapshots.
6314
6315 2001-01-16  Alan Modra <alan@linuxcare.com.au>
6316
6317         * cppmain.c (general_init): Don't use ANSI prototype.
6318
6319 2001-01-16  Tom Tromey  <tromey@redhat.com>
6320
6321         * gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
6322
6323 2001-01-16  Richard Henderson  <rth@redhat.com>
6324
6325         * config/i386/i386.h: Fix comment typo.
6326         * config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
6327         (ashr+compare patterns): Match CCGOCmode not CCNOmode.
6328
6329 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
6330
6331         * gcc.c:  Revert previous -fsyntax-only-related change; move
6332         to cp/g++spec.c.
6333
6334 2001-01-16  Jakub Jelinek  <jakub@redhat.com>
6335
6336         * config/i386/i386.c (fcmov_comparison_operator): Only initialize
6337         inmode after checking GET_CODE (op).
6338
6339 2001-01-16  Richard Henderson  <rth@redhat.com>
6340
6341         * flow.c (struct propagate_block_info): Add mem_set_list_len.
6342         (MAX_MEM_SET_LIST_LEN): New.
6343         (propagate_one_insn): Update mem_set_list_len.
6344         (invalidate_mems_from_autoinc): Likewise.
6345         (invalidate_mems_from_set): Likewise.
6346         (mark_used_regs): Likewise.
6347         (init_propagate_block_info): Likewise.  Stop collecting memories
6348         when we reach MAX_MEM_SET_LIST_LEN.
6349         (mark_set_1): Likewise.
6350
6351 2001-01-16  Richard Henderson  <rth@redhat.com>
6352
6353         * unroll.c (precondition_loop_p): Fail if no iteration
6354         variable found.
6355
6356 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
6357
6358         * gcc.c:  When -fsyntax-only is given, do not complain about
6359         unused libraries.
6360
6361 2001-01-15  Richard Henderson  <rth@redhat.com>
6362
6363         * config/i386/i386.c (asm_output_function_prefix): Remove.
6364         (ix86_asm_file_end): New.
6365         (load_pic_register): Generate pic_label_name into a
6366         staticly allocated buffer.
6367         * config/i386/i386-protos.h: Update.
6368         * config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
6369         (ASM_FILE_END): New.
6370         * config/i386/i386afe.h: New file.
6371         * config.gcc (i?86-*-elf) [tm_file]: Use it.
6372         (i?86-*-{freebsd,linux*,moss*}): Likewise.
6373         * config/elfos.h (ASM_FILE_END): Undef before redefinition.
6374         * config/i386/cygwin.h (ASM_FILE_END): Likewise.
6375         * config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
6376         * config/i386/sco5.h (ASM_FILE_END): Likewise.
6377         * config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
6378
6379 2001-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
6380
6381         * Makefile.in (install-man): Remove explicit dependency on
6382         $(srcdir)/gcc.1.
6383
6384         * configure.in, configure: Revert previous patch requiring perl
6385         5.6.0.
6386
6387 2001-01-12  Aldy Hernandez  <aldyh@redhat.com>
6388
6389         * toplev.c (flag_guess_branch_prob): New.
6390         (f_options): Add guess-branch-probability option.
6391         (rest_of_decl_compilation): Only estimate branch probability if
6392         flag set.
6393         (main): set flag_guess_branch_prob.
6394
6395         * flags.h (flag_guess_branch_prob): New.
6396
6397 2001-01-15  DJ Delorie  <dj@redhat.com>
6398
6399         * gcc.texi (Makefile): Add documentation for Makefile targets.
6400
6401 2001-01-15  Philip Blundell  <philb@gnu.org>
6402
6403         * config/arm/arm.c (arm_finalize_pic): New arg "prologue".
6404         (is_pic): Delete.
6405         * config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
6406         (is_pic): Delete declaration.
6407         * config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
6408         (OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
6409         * config/arm/arm.md (builtin_setjmp_receiver): New.
6410
6411 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
6412
6413         * arm.c (use_return_insn): Don't try to determine the function type
6414         until after reload has completed.
6415         (arm_output_epilogue): Don't adjust the sp value recovered from the
6416         stack.
6417         (emit_multi_reg_push): Don't record dwarf information for the pc.
6418         * arm.md (eh_epilogue): The function type may have changed, so it
6419         needs to be recalculated.
6420         * arm/netbsd.h (DWARF2_UNWIND_INFO): Delete.  Can now use dwarf2
6421         unwind tables on arm/netbsd.
6422
6423 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
6424
6425         * arm.md (cbranchsi4): Correct calculation of branch ranges.
6426         (negated_cbranchsi4): Likewise.
6427
6428 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
6429
6430         * config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
6431         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
6432         (ASM_SPEC): Call subtarget_extra_asm_spec.  Don't
6433         pass -mapcs-* options to assembler.
6434         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
6435         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
6436         (ASM_SPEC): Call subtarget_extra_asm_spec.
6437
6438 2001-01-15  Andreas Jaeger  <aj@suse.de>
6439
6440         * config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
6441         warnings.
6442         (ix86_expand_builtin): Likewise.
6443
6444         * gencodes.c (output_predicate_decls): Make i size_t to avoid
6445         warning about comparison between signed and unsigned.
6446
6447 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
6448
6449         * expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
6450
6451 2001-01-14  Ralf Baechle <ralf@gnu.org>
6452
6453         * config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
6454         SUBTARGET_CPP_SPEC apropriatly.
6455
6456 2001-01-12  Mark Mitchell  <mark@codesourcery.com>
6457
6458         * varasm.c (make_decl_rtl): Fix typo in last change.
6459
6460 2001-01-14  Jeffrey Oldham  <oldham@codesourcery.com>
6461
6462         * defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
6463         linker supports the init_priority C++ attribute.
6464         * tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
6465         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
6466         linker does not support init_priority C++ attribute.
6467
6468 Sun Jan 14 22:31:30 2001  J"orn Rennecke <amylaar@redhat.com>
6469
6470         * Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
6471
6472 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
6473
6474         * c-parse.in (finish_parse): Add comment about cpp_destroy.
6475         * cp/lex.c (finish_parse): Similarly.
6476         * cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
6477         Return the number of errors encountered.
6478         * cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
6479         * cppmain.c (main): Don't call cpp_destroy.
6480
6481 2001-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
6482
6483         * configure.in: Require at least perl 5.6.0 to regenerate
6484         manpages.
6485         * configure: Regenerate.
6486
6487 2001-01-14  Richard Henderson  <rth@redhat.com>
6488
6489         * genrecog.c (DT_veclen_ge): New.
6490         (add_to_sequence) [MATCH_PARALLEL]: Generate one.
6491         (maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
6492         (nodes_identical_1): Handle DT_veclen_ge.
6493         (write_cond, debug_decision_2): Likewise.
6494
6495 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
6496
6497         * arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete.  Replace
6498         with ...
6499         (ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
6500
6501 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
6502
6503         * cppmain.c (do_preprocessing): New function; most of the old
6504         main.
6505         (main): Call it to do most of the work.
6506         (cb): Move from global scope to set_callbacks ().
6507         (setup_callbacks): Get the callback pointer.
6508         (general_init, printer_init): Clean up code and comments.
6509
6510 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
6511
6512         * config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
6513         compiling PIC.
6514
6515 2001-01-14  Kazu Hirata  <kazu@hxi.com>
6516
6517         * config/h8300/h8300.c (get_shift_alg): Update comments.
6518
6519 Sun Jan 14 06:20:49 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6520
6521         * ggc-page.c (alloc_annon): Call perror and correctly call exit.
6522         (alloc_page, ggc_alloc): Add casts to remove warnings.
6523
6524 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
6525
6526         * combine.c (simplify_comparison): Don't change `code' when
6527         can't reverse comparison.
6528
6529 2001-01-14  Richard Henderson  <rth@redhat.com>
6530
6531         * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
6532         update all call sites.  Return true for all non-label constants.
6533
6534 Sun Jan 14 10:09:48 MET 2001  Jan hubicka  <jh@suse.cz>
6535
6536         * i386.c (ix86_expand_compare): Add bypass_test and second_test
6537         parameters.
6538         (ix86_expand_branch): Update.
6539         (ix86_expand_setcc): Update to handle multiple test conditions.
6540         (expand_int_movcc): Likewise.
6541         (expand_fp_movcc): Likewise.
6542         * i386-protos.h (ix86_expand_compare): New.
6543         * i386.md (andqi_?_slp, orqi_?_slp): New.
6544         (conditional trap expander): Update call to ix86_expand_compare.
6545
6546 2001-01-14  Richard Henderson  <rth@redhat.com>
6547
6548         * config/vax/vax.md: Use nonimmediate_operand instead of
6549         general_operand in destinations.
6550
6551         * config/vax/vax.md (indirect_jump): Use register_operand.
6552
6553         * config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
6554         * config/vax/vax.md (call_pop): Turn into an expander.
6555         (call_value_pop): Likewise.
6556         (call, call_value): New.
6557
6558 2001-01-14  Andreas Jaeger  <aj@suse.de>
6559
6560         * config/i386/i386.c (ix86_split_fp_branch): Remove unused
6561         variables.
6562         (ix86_fp_compare_mode): Add unused attribute.
6563         (ix86_expand_fp_movcc): Remove unused variable.
6564         (ix86_expand_builtin): Make fcode unsigned.
6565
6566         * expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
6567         (expand_expr): Add cast to avoid signed warning.
6568         (store_field): Likewise.
6569         (store_constructor_field): Likewise.
6570         (store_constructor): Likewise.
6571         (store_expr): Likewise.
6572         (clear_storage): Likewise.
6573         (emit_group_store): Likewise.
6574         (emit_group_load): Likewise.
6575
6576 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
6577
6578         * c-common.c: Move format checking code to ...
6579         * c-format.c: ... here.  New file.  Reorder some functions and
6580         declarations.
6581         (decl_handle_format_attribute, decl_handle_format_arg_attribute):
6582         New functions.
6583         * c-common.h (decl_handle_format_attribute,
6584         decl_handle_format_arg_attribute): Declare.
6585         * Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
6586         (c-common.o): Adjust dependencies.
6587         (c-format.o): New list of dependencies.
6588
6589 2001-01-13  Jakub Jelinek  <jakub@redhat.com>
6590
6591         * unroll.c (loop_iterations): If we cannot prove iteration variable
6592         is set once in each iteration, punt.
6593
6594 Sun Jan 14 00:23:15 2001  Denis Chertykov  <denisc@overta.ru>
6595
6596         * config/avr/avr.md ("strlenhi"): Remove clobber of input address.
6597         (*strlenhi): Remove clobber (which was buggy) of output address.
6598
6599 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
6600
6601         * Makefile.in (generated-manpages): Add gcc.1
6602         ($(srcdir)/gcc.1): New target.
6603         (maintainer-clean): Delete $(srcdir)/gcc.1.
6604         * gcc.texi: Add macros @gccoptlist and @gol.
6605         * invoke.texi: Include option summary in manpage.  Mark up option
6606         summary with @gccoptlist and @gol.  Use @r in one place where
6607         appropriate.
6608         * texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
6609         * gcc.1: Generate from invoke.texi.
6610
6611 2001-01-13  Richard Henderson  <rth@redhat.com>
6612
6613         * ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
6614         (struct page_entry): Add group member.
6615         (struct page_group): New.
6616         (struct globals): Add page_groups member.
6617         (alloc_anon): Only define for using mmap; remove valloc call.
6618         (page_group_index): New.
6619         (set_page_group_in_use): New.
6620         (clear_page_group_in_use): New.
6621         (alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
6622         (free_page, release_pages): Likewise.
6623         * configure.in (with-gc): Default to ggc-page always.
6624
6625 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
6626
6627         * reload1.c (replace_pseudos_in_call_usage): Use
6628         reg_equiv_constant and reg_equiv_address, and don't try
6629         regno_reg_rtx first.
6630
6631 2001-01-13  Richard Henderson  <rth@redhat.com>
6632
6633         * ggc-page.c (alloc_page): Round up allocation size to one page.
6634         Set e->order on extra pages.
6635
6636 2001-01-13  Richard Henderson  <rth@redhat.com>
6637
6638         * genrecog.c (nodes_identical): Expand commentary.
6639         (write_switch): Watch out for identical nodes.
6640
6641 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
6642
6643         * cppfiles.c (_cpp_fake_include): New function.
6644         * cpphash.h (_cpp_fake_include): New.
6645         * cpplib.c (do_line): Call _cpp_fake_include when entering
6646         header files in preprocessed input.
6647         * cppmain.c (cb_pragma_implementation): Remove handling.
6648         (setup_callbacks): Don't register pragmas.
6649
6650 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
6651
6652         * extend.texi: Udate for CPP.
6653
6654 2001-01-13  Andreas Jaeger  <aj@suse.de>
6655
6656         * reload1.c: Add prototype for replace_pseudos_in_call_usage.
6657
6658         * regmove.c: Add prototype for replace_in_call_usage.
6659
6660 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
6661
6662         * cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
6663         struct cpp_chunk, struct htab, struct toklist,
6664         struct cpp_context, CPP_STACK_MAX, struct lexer_state,
6665         struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
6666         CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
6667         ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
6668         (struct macro_args): Delete.
6669         * cpphash.h: See above.
6670
6671 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
6672
6673         * cppmain.c (struct printer): Remove no_line_dirs.
6674         (options, cb): New.
6675         (main, setup_callbacks, scan_buffer, printer_init, cb_define)
6676         : Use options rather than CPP_OPTION.
6677         (setup_callbacks): Use cb rather than pfile->cb.
6678         (main): No need to check for a buffer.  Use cpp_errors.
6679         (printer_init): Don't set no_line_dirs.
6680         (maybe_print_line): Use options not no_line_dirs.
6681         (cb_file_change): Don't call print_line if -P.
6682
6683 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
6684
6685         * c-lex.c (init_c_lex): Use cpp_get_callbacks to set
6686         callbacks.
6687         * c-parse.in (finish_parse): Use cpp_errors.
6688         (__yylex): Use return value of cpp_pop_buffer.
6689         * cp/lex.c (finish_parse): Use cpp_errors.
6690         * cp/spew.c (read_token): Use return value of cpp_pop_buffer.
6691
6692 Sat Jan 13 16:57:40 2001  Denis Chertykov  <denisc@overta.ru>
6693
6694         * README.AVR: URLs corrected.
6695
6696 Sat Jan 13 07:30:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6697
6698         * c-decl.c (start_function): Don't warn if old prototype is builtin
6699         that's not in C's namespace.
6700         * libgcc2.c (_varargs): Update definition of __builtin_saveregs.
6701         (_bb): Add prototype for ctime.
6702         * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
6703
6704 Sat Jan 13 09:53:32 MET 2001  Jan Hubicka  <jh@suse.cz>
6705
6706         * i386.c (ix86_fp_comparison_arithmetics_cost,
6707         ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
6708         ix86_fp_comparison_cost): New functions.
6709         (ix86_expand_fp_compare): Use the costs to choose best bethod; add
6710         two new parameters SECOND_TEST and BYPASS_TEST; allow generating
6711         two-branch sequences; make static.
6712         (ix86_use_fcomi_compare): Do decision according to the costs.
6713         (split_fp_branch): New.
6714         * i386.md (compare-and-branch patterns): Use split_fp_branch.
6715         * i386-protos.h (ix86_expand_fp_compare): Remove
6716         (ix86_split_fp_branch): Declare.
6717
6718         * i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
6719         and ix86_comparison_operator.
6720
6721         * i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
6722         to make it cheaper.
6723
6724         * i386.c (put_condition_code): Output properly the unordered/ordered
6725         compares in fp case.
6726         (ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
6727
6728         * tm.texi (REVERSE_CONDITION): Document.
6729         * i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
6730         in -ffast-math mode.
6731         * i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
6732
6733 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
6734
6735         * config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
6736
6737         * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
6738         optimized away.
6739
6740         * config/sh/sh.c (mova_p): Fix test for mova_const.
6741
6742 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
6743
6744         * fix-header.c (read_scan_file): Use cpp_get_callbacks and
6745         cpp_get_options rather than dereferencing pfile and using
6746         CPP_OPTION.
6747         * scan-decls.c (scan_decls): Use return value of
6748         cpp_pop_buffer rather than CPP_BUFFER.
6749
6750 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
6751
6752         * cppinit.c (cpp_handle_option): help_only is now part of the
6753         cpp_options structure.
6754         * cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
6755         cpp_set_callbacks): New functions.
6756         * cpplib.h (cpp_callbacks): Break out as a named structure.
6757         (cpp_options): Move help_only here from cpp_reader.
6758         (CPP_FATAL_ERRORS): Update to use cpp_errors.
6759         (cpp_errors, cpp_get_options, cpp_get_callbacks,
6760         cpp_set_callbacks): New prototypes.
6761         * cppmain.c (main): Update for help_only.
6762
6763 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
6764
6765         * Makefile.in (info, maintainer-clean, install-info, uninstall):
6766         Also build and remove and install and uninstall c-tree.info and
6767         cppinternals.info.
6768         ($(srcdir)/gcc.info): Add dependency on contrib.texi.
6769         ($(srcdir)/cppinternals.info): New target.
6770         * c-tree.texi: Change file name used when makeinfo used without -o
6771         from ir.info to c-tree.info.  Add info directory entry.
6772         * cppinternals.texi: Add info directory entry.
6773         * .cvsignore: Update.
6774
6775 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
6776
6777         * c-typeck.c (store_init_value): Don't require constant initializer
6778         elements with -pedantic -std=c99.
6779         (digest_init): Change error about non-constant initializer elements
6780         into pedwarn.
6781         (constructor_range_end): Remove.
6782         (constructor_incremental, designator_depth,
6783         designator_errorneous): New variables.
6784         (struct constructor_stack): Remove range_end, add incremental.
6785         (struct constructor_range_stack, constructor_range_stack): New.
6786         (struct initializer_stack): Add constructor_range_stack.
6787         (finish_init): Set it.
6788         (start_init): Likewise.  require_constant_elements for non-static
6789         trees only if not flag_isoc99.
6790         (really_start_incremental_init): Remove constructor_range_end, add
6791         constructor_incremental.
6792         (pop_init_level): Likewise.
6793         (push_init_level): Likewise.  If implicit and the subobject had some
6794         value set already, preinitialize the level with it.
6795         Warn about missing braces only if not pushing due to designators.
6796         (set_designator, push_range_stack): New functions.
6797         (set_init_label): Use them.
6798         (set_init_index): Likewise.  Remove constructor_range_end.
6799         Error if designator index is outside of array bounds.
6800         (add_pending_init): Compare values of purpose index trees, not the
6801         trees themselves.  Allow overwriting of already initialized element.
6802         Issue a warning if it had side-effects.
6803         (set_nonincremental_init, set_nonincremental_init_from_string): New
6804         functions.
6805         (pending_init_member): Rename to...
6806         (find_init_member): ...this function.  Call set_nonincremental_init
6807         if necessary.  Compare values of purpose index trees, not the trees
6808         themselves.  Return the actual value, not just non-zero if something
6809         is found.
6810         (output_init_element): Remove checks for duplicates.
6811         If field has zero size, only check the initializer for correctness.
6812         Call set_nonincremental_init if necessary.  Push RECORD/ARRAY into AVL
6813         if constructor_incremental is zero.  Change error about initializers
6814         not computable at load time into pedwarn.
6815         (output_pending_init_elements): Compare bit positions, not
6816         FIELD_DECLs to take into account zero-sized fields.
6817         (process_init_element): Use constructor_range_stack to fill all
6818         ranges in the designator lists from current level up.
6819         * extend.texi: Update documentation for labeled elements.
6820
6821 2001-01-12  Alexandre Oliva  <aoliva@redhat.com>
6822
6823         * calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
6824         to function usage for arguments passed by reference.  Optimize
6825         callee-copied arguments.
6826         * regmove.c (replace_in_call_usage): New function.
6827         (fixup_match_1): Call it.
6828         * cse.c (cse_insn): Canonicalize registers in function usage.
6829         * reload1.c (replace_pseudos_in_call_usage): New function.
6830         (reload): Call it.
6831
6832         * Makefile.in: Reverted yesterday's wrong patch.  Installed the
6833         right version.
6834
6835 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
6836
6837         * config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
6838         not XEXP (tmp, 0).
6839
6840 2001-01-12  DJ Delorie  <dj@redhat.com>
6841
6842         * Makefile.in (bootstrap): rename stages to be mnemonic.  Add
6843         restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
6844         targets.
6845
6846 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
6847
6848         * cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
6849         tm.texi: Consistently refer to ISO C instead of ANSI C.  Refer to
6850         -std options alongside references to -ansi.  Update some
6851         documentation for C99.
6852         * cpp.1: Regenerate.
6853
6854 2001-01-12  Andreas Jaeger  <aj@suse.de>
6855
6856         * haifa-sched.c (restore_line_notes): Remove argument block B
6857         since it's unused.
6858         * sched-ebb.c (schedule_ebb): Change caller.
6859         * sched-rgn.c (schedule_region): Likewise.
6860         * sched-int.h (restore_line_notes): Adjust prototype.
6861
6862         * loop.h: Remove wrong declaration of doloop_condition_get.
6863
6864 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
6865
6866         * extend.texi:  Move C++-extension-related node from the C section
6867         into the C++ section.
6868
6869 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
6870
6871         * extend.texi: Refer to an array of pointers to functions instead
6872         of one of functions.
6873
6874 Fri Jan 12 12:08:12 MET 2001  Andreas Jaeger  <aj@suse.de>
6875                               Jan Hubicka  <jh@suse.cz>
6876
6877         * combine.c (reversed_comparison): Fix typo in last patch.
6878         Check X for NULL.
6879         (combine_reversed_comparison_code): Make static to follow
6880         prototype declaration.
6881
6882 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
6883
6884         * install.texi:  Remove misplaced duplicate entry.
6885
6886 2001-01-11  Ulrich Drepper  <drepper@redhat.com>
6887
6888         * config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
6889
6890 Thu Jan 11 17:06:30 EST 2001  John Wehle  (john@feith.com)
6891
6892         * final.c: (leaf_function_p): Fix typo.
6893
6894 2001-01-11  Zack Weinberg  <zack@wolery.stanford.edu>
6895
6896         * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
6897         Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
6898         which you have.
6899         (AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
6900         * configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
6901         mmap_anon, and valloc is available.
6902         * ggc-page.c: Restructure ifdef logic to match new autoconf
6903         spec.  Don't throw away the test page in init_ggc.
6904
6905         * configure, config.in: Regenerate.
6906
6907 2001-01-12  Michael Hayes  <mhayes@redhat.com>
6908
6909         * loop.h (total_biv_increment): Constify iv_class pointer.
6910         (struct induction): Replace `mem_mode' with `mem' rtx.
6911         * unroll.c (total_biv_increment): Constify iv_class pointer.
6912         * loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
6913         (find_mem_givs, combine_givs_p): Likewise.
6914         (debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
6915
6916 2001-01-10  Thomas Pfaff <tpfaff@gmx.net>
6917
6918         * gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
6919         LastError.
6920         (__gthread_getspecific): Ditto.
6921
6922 Fri Jan 12 00:04:00 MET 2001  Jan Hubicka  <jh@suse.cz>
6923
6924         * i386.c (ix86_comparison_operator, fcmov_comparison_operator,
6925         put_condition_code): Convert fp comparison codes to integer
6926         before handling.
6927         (ix86_expand_fp_compare): Postnote the fp comparison code converison
6928         to final.
6929
6930         * i386.c (unsigned_comparison, no_comparison_operator): Kill.
6931         * i386-protos.h (no_comparison_operator): Kill.
6932
6933         * i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
6934
6935         * combine.c (REVERSIBLE_CC_MODE): Remove.
6936         (reversible_comparison_p): Remove.
6937         (combine_reversed_comparison_code): New.
6938         (reversed_comparison): New.
6939         (combine_simplify_rtx): Use
6940         combine_reversed_comparison_code/reversed_comparison instead
6941         of reversible_comparison_p.
6942         (simplify_if_then_else): Likewise.
6943         (simplify_set): Likewise.
6944         (simplify_logical): Likewise.
6945         (if_then_else_cond): Likewise.
6946         (known_cond): Likewise.
6947         (simplify_comparison): Likewise.
6948
6949 2001-01-11  Alan Lehotsky  <lehotsky@tiac.net>
6950
6951         * builtins.c (std_expand_builtin_va_start): Handle varargs when
6952         sizeof (int) is larger than sizeof(__word__).
6953
6954 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
6955
6956         * cppinit.c (do_includes): Fix typo.
6957
6958 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
6959
6960         * config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
6961         in S_REGS does not occur because not all sources are possible
6962         when a S_REGS is a destination (sometimes needs a clobber).
6963         (movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
6964         (zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
6965         (anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
6966         (ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
6967         (ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
6968         (ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
6969         (lshrdi_const1, lshrsi3_const16): Likewise.
6970         (*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
6971         (*movhi_68hc12, *movqi_68hc12): Likewise.
6972         (movstrictqi): Make sure reloading in D_REGS as a destination
6973         does not happen.
6974
6975 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
6976
6977         * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
6978
6979 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
6980
6981         * cppinit.c (cpp_start_read): If -fpreprocessed, ignore
6982         -D, -U and -A, and don't initialize the builtins.
6983         (do_includes): Error if -include or -imacros with -fpreprocessed.
6984         * cppmain.c (cb_define, cb_undef): Unconditionally process
6985         the callback.
6986         * tradcpp.c (main): Fix typo.
6987
6988 2000-01-11  Mark Elbrecht  <snowball3@bigfoot.com>
6989
6990         * cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
6991         (read_name_map): Use IS_ABSOLUTE_PATH.
6992         * tradcpp.c (get_filename): Likewise.
6993
6994 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
6995
6996         * config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
6997         (*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
6998         (*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
6999         (*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
7000         (*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
7001         (cmphi_z_used): Don't use '@' for the output.
7002         (tstqi_z_used): Likewise.
7003         (cmpqi_z_used): Likewise.
7004         (one_cmplsi2): Likewise.
7005
7006 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
7007
7008         * config/sh/sh.c (barrier_align): Recognize branch around far
7009         branch and redundant insn.
7010
7011 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
7012
7013         * invoke.texi: Restore documentation of the drivers' switches -MD
7014         and -MMD.
7015
7016 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
7017
7018         * config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
7019
7020         * Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
7021         check-objc//%): Support parallel testing of multilibs.
7022         (TESTSUITEDIR): Set to testsuite by default, but override for
7023         parallel testing.
7024         (check-gcc, check-g++, check-g77, check-objc): Enter
7025         $(TESTSUITEDIR).
7026
7027 2001-01-11  Bernd Schmidt  <bernds@redhat.com>
7028
7029         * alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
7030         * sched-deps.c (deps_may_trap_p): Likewise.
7031         * basic-block.h: Remove a comment.
7032         * flow.c (PROP_POSTRELOAD): Remove.
7033         (update_life_info): Don't add it to prop_flags.
7034         (mark_set_1): Lose the code that was enabled by it.
7035
7036 2001-01-11  Michael Hayes  <mhayes@redhat.com>
7037
7038         * flow.c (flow_call_edges_add): New.
7039         * basic_block.h (flow_call_edges_add): New.
7040
7041 2001-01-11  J"orn Rennecke <amylaar@redhat.com>
7042
7043         * reload1.c (move2add_note_store): Update reg_set_luid even if
7044         base reg remains the same.
7045
7046 2001-01-10  Nick Clifton  <nickc@redhat.com>
7047
7048         * config/d30v/d30v.c (d30v_init_machine_status): Initialise
7049         machine_function structure to zero.
7050         Add prototypes for machine_status functions.
7051
7052 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
7053
7054         * c-common.h (CTI_VOID_LIST): Remove.
7055         (void_list_node): Likewise.
7056         * tree.h (TI_VOID_LIST_NODE): New enumeral.
7057         (void_list_node): New macro.
7058         * config/arm/arm.c (arm_init_builtins): Use void_list_node.
7059         * config/i386/i386.c (ix86_init_builtins): Likewise.
7060         * config/ia64a/ia64.c (ia64_init_builtins): Likewise.
7061
7062 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
7063
7064         * Makefile.in (tradcpp0): Depend on mkdeps.h.  Link mkdeps.o
7065         * cppinit.c (cpp_start_read): Update comment, remove unneeded
7066         if statement.
7067         * tradcpp.c: Include mkdeps.h.
7068         (deps, print_deps_phony_targets, deps_append, output_deps,
7069         init_dependency_output, output_deps): New.
7070         (deps_buffer, deps_allocated_size, deps_size, deps_column,
7071         deps_output): Delete.
7072         (print_deps_missing_files): Rename deps_missing_files.
7073         (inhibit_output): Make global.
7074         (main): Delete inhibit_output, deps_stream, deps_target.
7075         Use mkdeps functionality in the same way as cpplib.  Remove
7076         -g3 handling.  Handle -MF, -MP, -MQ, -MT.  Update handling of
7077         -M and -MM.  Remove old handling of deps via deps_out, and
7078         old reading of environment variables.
7079         (get_filename): Update to use deps_add_dep.
7080
7081 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
7082
7083         * output.h (make_function_rtl): Remove prototype.
7084         (make_decl_rtl): Likewise.
7085         * varasm.c (make_function_rtl): Remove.
7086         (make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
7087         than from a third parameter.
7088         * tree.h (make_decl_rtl): Remove last parameter.
7089         * c-decl.c (builtin_function): Remove last argument in call to
7090         make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
7091         (start_function): Likewise.
7092         * except.c (call_get_eh_context): Likewise.
7093         * expr.c (emit_block_move): Likewise.
7094         (clear_storage): Likewise.
7095         * profile.c (output_func_start_profiler): Likewise.
7096         * toplev.c (rest_of_decl_compilation): Likewise.
7097         * objc/objc-act.c (create_builtin_decl): Likewise.
7098         (synth_module_prologue): Likewise.
7099         (generate_static_reference): Likewise.
7100         (build_selector_reference_decl): Likewise.
7101         (build_class_reference_decl): Likewise.
7102         (build_objc_string_decl): Likewise.
7103         (build_protocol_reference): Likewise.
7104
7105 2001-01-10  Richard Henderson  <rth@redhat.com>
7106
7107         * hwint.h: Revert yesterday's change.
7108
7109 2001-01-10  Nick Clifton  <nickc@redhat.com>
7110
7111         * function.h (save_machine_status): Delete.
7112         (restore_machine_status): Delete.
7113         Amend comment describing {init|mark|free}_machine_status.
7114
7115         * function.c (save_machine_status): Delete.
7116         (restore_machine_status): Delete.
7117         Amend comment describing {init|mark|free}_machine_status.
7118         (push_function_context_to): Remove invocation of
7119         save_machine_status.
7120         (pop_function_context_from): Remove invocation of
7121         restore_machine_status.
7122
7123         * emit-rtl.c (init_emit_once): Amend comment describing
7124         {init|mark|free}_machine_status.
7125
7126         * tm.texi (Per-Function Data): New node.  Describe the
7127         INIT_EXPANDERS macro and the {init|mark|free}_machine_status
7128         function pointers.
7129
7130 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
7131
7132         * cppinit.c (OPT_g): Remove.
7133         (cpp_handle_option): Update for removed -g3.
7134         (print_help): Update.
7135         * cpplib.h (struct cpp_options): Remove debug_output.
7136         * cppmain.c (setup_callbacks, cb_define): Update.
7137         * gcc.c (cpp_options): Translate -g3 to -dD.
7138
7139 2001-01-10  Aldy Hernandez  <aldyh@redhat.com>
7140
7141         * config/i960/i960.md: Change modifier to + on the zero_extract
7142         pattern after the (rotate -2 reg) canonicalization pattern.
7143
7144 2001-01-10  Richard Henderson  <rth@redhat.com>
7145
7146         * config/alpha/alpha.c (alpha_free_machine_status): New.
7147         (override_options): Install it.
7148         (alpha_mark_machine_status): Verify machine non-null.
7149         * config/i386/i386.c (ix86_free_machine_status): New.
7150         (override_options): Install it.
7151         (ix86_init_machine_status): Use xcalloc.
7152         (ix86_mark_machine_status): Verify machine non-null.
7153         * config/ia64/ia64.c (ia64_free_machine_status): New.
7154         (ia64_override_options): Install it.
7155         (ia64_mark_machine_status): Verify machine non-null.
7156
7157 Wed Jan 10 11:34:39 2001  Jeffrey A Law  (law@cygnus.com)
7158
7159         * function.c (instantiate_virtual_regs): Instantiate virtual
7160         registers found in CALL_INSN_FUNCTION_USAGE.
7161
7162 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
7163
7164         * i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
7165         equivalent to -ansi in disabling -Di386.
7166
7167 Wed Jan 10 16:38:31 MET 2001  Jan Hubicka  <jh@suse.cz>
7168
7169         * i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
7170         new functions.
7171         (ix86_expand_fp_compare): Make trivial use of new infrastructure.
7172
7173 2001-01-10  Richard Earnshaw  <rearnsha@arm.com>
7174
7175         * arm.c (arm_init_builtins): Temporarily disable xscale builtins.
7176
7177 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
7178
7179         * invoke.texi: Document that -fcond-mismatch isn't supported for
7180         C++.
7181
7182 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
7183
7184         * gcc.texi: Define macro gcctabopt.
7185         * invoke.texi: Add manpage sections BUGS and AUTHOR.  Use
7186         @command, @env and @option in some places where appropriate.  Use
7187         @gcctabopt where appropriate.  Put URLs and email addresses inside
7188         @w.
7189
7190 2001-01-10  Nathan Sidwell  <nathan@codesourcery.com>
7191
7192         * gcc.c (cpp_options): Set MD file name from output
7193         filename, if specified.
7194         (suffix_subst): New static variable.
7195         (do_spec): Clear it.
7196         (do_spec_1, case '.'): Handle new `%.suffix' spec.
7197         Clear it.
7198         (give_switch): Handle suffix_subst.
7199
7200 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
7201
7202         * invoke.texi:  Fix another typo.
7203
7204 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
7205
7206         * invoke.texi:  Fix typo.
7207
7208 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
7209
7210         * c-lang.c (lang_hooks): Update.
7211         (lang_decode_option): Remove.
7212         (lang_init_options): Rename c_init_options.
7213         * toplev.c (main): Use lang_hooks for lang_init_options
7214         and lang_decode_option.
7215         * toplev.h (lang_hooks): Add 2 new hooks.
7216         * tree.h: Remove lang_init_options and lang_decode_option.
7217         * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
7218         * cp/decl2.c: Similarly.
7219         * cp/lex.c (lang_init_options): Rename cxx_init_options.
7220         (lang_hooks): Update.
7221         * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
7222         for consistency.
7223         (lang_init_options): Rename ffe_init_options.
7224         (lang_hooks): Update.
7225         (lang_decode_option): Remove.
7226         * java/lang.c (lang_init_options): Rename java_init_options.
7227         (lang_decode_option): Rename java_decode_option.
7228         (lang_hooks): Update.
7229         * objc/objc-act.c (lang_init_options): Rename objc_init_options.
7230         (lang_decode_option): Rename objc_decode_option.
7231         (lang_hooks): Update.
7232
7233 2001-01-09  Nick Clifton  <nickc@redhat.com>
7234
7235         * config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
7236         (d30v_return_addr_rtx): Delete.
7237         (d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
7238         cfun->machine structure.
7239         (struct machine_function): Move to d30v.h
7240         (d30v_save_machine_status): Delete.
7241         (d30v_restore_machine_status): Delete.
7242         (d30v_init_machine_status): New Function.
7243         (d30v_mark_machine_status): New Function.
7244         (d30v_free_machine_status): New Function.
7245         (d30v_init_expanders): Use new functions.
7246         (d30v_return_addr): Use ra_rtx field in cfun->machine.
7247         (d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
7248         d30v_return_addr_rtx.
7249
7250         * config/d30v/d30v.h (struct_machine): Move here.
7251         Add eh_epilogue_sp_ofs field.
7252
7253         *config/d30v/d30v.md (epilogue): Initialise eh_epilogue_sp_ofs
7254         field in cfun->machine structure.
7255
7256 Tue Jan  9 21:34:57 2001  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7257
7258         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
7259         PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
7260         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
7261
7262 Tue Jan  9 21:25:19 2001  Jeffrey A Law  (law@cygnus.com)
7263
7264         * objc/lang-options.h: Remove bogus reference to
7265         Java trademark.
7266
7267 2001-01-09  Kazu Hirata  <kazu@hxi.com>
7268
7269         * config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
7270         return the result.
7271
7272 2001-01-09  Alan Lehotsky  <lehotsky@tiac.net>
7273
7274         * reload.c (find_reloads_address): Check for eliminable registers
7275         when substituting a constant expression for a pseudo.
7276
7277 2001-01-09  Joseph S. Myers  <jsm28@cam.ac.uk>
7278
7279         * c-common.c (enum format_type): Add format_type_error.
7280         (decode_format_type): New function.
7281         (decl_attributes): Use it.
7282         (format_kind_info): Adjust comment.
7283
7284 2001-01-09  David O'Brien  <obrien@BSDi.com>
7285
7286         * config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
7287         i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
7288         files in tm_file.
7289         * config/i386/gnu.h: Don't include required platform specific .h files,
7290         tm.h will do it instead.
7291         * config/i386/i386elf.h: Likewise.
7292         * config/i386/linux.h: Likewise.
7293         * config/i386/moss.h: Likewise.
7294         * config/mips/gnu.h: Likewise.
7295
7296 2001-01-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7297
7298         * config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
7299         (rs6000-ibm-aix3.[01]*): Likewise.
7300         (rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
7301         (rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
7302         (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
7303         (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
7304         (powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
7305         (powerpc-*-eabiaix*): Likewise.
7306         (powerpc-*-eabisim*): Likewise.
7307         (powerpc-*-elf*): Likewise.
7308         (powerpc-*-eabi*): Likewise.
7309         (powerpc-*-rtems*): Likewise.
7310         (powerpc-*-linux*libc1): Likewise.
7311         (powerpc-*-linux*): Likewise.
7312         (powerpc-wrs-vxworks*): Likewise.
7313         (powerpcle-wrs-vxworks*): Likewise.
7314         (powerpcle-*-sysv*): Likewise.
7315         (powerpcle-*-elf*): Likewise.
7316         (powerpcle-*-eabisim*): Likewise.
7317         (powerpcle-*-eabi*): Likewise.
7318         (powerpcle-*-solaris2*): Likewise.
7319         * config/rs6000/aix31.h: Delete includes.
7320         * config/rs6000/aix3newas.h: Likewise.
7321         * config/rs6000/aix41.h: Likewise.
7322         * config/rs6000/aix43.h: Likewise.
7323         * config/rs6000/beos.h: Likewise.
7324         * config/rs6000/rtems.h: Likewise.
7325         * config/rs6000/sysv4.h: Likewise.
7326
7327 2001-01-09  Kazu Hirata  <kazu@hxi.com>
7328
7329         * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
7330         Change an argument mode of machine_mode to shift_mode of
7331         shift_mode.  Remove an extra error check.
7332         (emit_a_shift): Adopt to the new calling prototype of
7333         get_shift_alg.
7334         (function_prologue): Fix code for a monitor
7335         function.  Support H8/S.
7336         (function_epilogue): Do not output pop for a monitor function.
7337
7338 2001-01-09  Nick Clifton  <nickc@redhat.com>
7339
7340         * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
7341         (setup_incoming_varargs): Use sysv_varargs_p field of the
7342         cfun->machine structure.
7343         (struct machine_function): Move to rs6000.h
7344         (rs6000_save_machine_status): Delete.
7345         (rs6000_restore_machine_status): Delete.
7346         (rs6000_init_machine_status): New Function.
7347         (rs6000_free_machine_status): New Function.
7348         (rs6000_init_expanders): Use new functions.
7349
7350         * config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
7351         export.
7352         (struct machine_function): Move here.
7353
7354         * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
7355         sysv_varargs_p field of the cfun->machine structure.
7356
7357         * config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
7358         Remove prototype.
7359         (rs6000_restore_machine_status): Remove prototype.
7360
7361 2001-01-09  Richard Henderson  <rth@redhat.com>
7362
7363         * sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
7364         reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
7365         * sched-deps.c (sched_analyze_1): Update uses of struct deps.
7366         (sched_analyze_2, sched_analyze_insn): Likewise.
7367         (sched_analyze, init_deps): Likewise.
7368         (free_deps): Likewise.  Iterate with EXECUTE_IF_SET_IN_REG_SET.
7369         * sched-rgn.c (propagate_deps): Likewise.  Remove max_reg argument.
7370         (compute_block_backward_dependences): Update propagate_deps call.
7371
7372 2001-01-09  Mark Elbrecht  <snowball3@bigfoot.com>
7373
7374         * gcc.c (process_command): Set switches[n_switches].ordering to 0.
7375
7376 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
7377
7378         * cppinit.c (OPT_MD, OPT_MMD): Restore.
7379         (cpp_handle_option): Handle them.
7380         (cpp_post_options): Ensure one of -M or -MM is specified with
7381         any other -M? option.
7382         (init_dependency_output): Suppress output with -MG.
7383
7384 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
7385
7386         * cpp.texi: Update.
7387         * invoke.texi: Update.
7388
7389 2001-01-09  Bernd Schmidt  <bernds@redhat.com>
7390
7391         * sh.md (reload_outsf): Generate recognizable patterns for
7392         TARGET_SH3E.
7393
7394 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
7395
7396         * c-lang.c (lang_hooks): Update.
7397         (lang_init): Rename c_init.
7398         (lang_finish): Remove.
7399         * toplev.c (compile_file): Use lang_hooks for lang_init ()
7400         and lang_finish ().
7401         * toplev.h (lang_hooks): Add init () and finish ().
7402         * tree.h (lang_init, lang_finish): Remove.
7403         * cp/tree.h (lang_init, lang_finish): Remove.
7404         * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
7405         * cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
7406         lang_hooks): New.
7407         (lang_init, lang_finish): Remove.
7408         * f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
7409         (lang_hooks): Update.
7410         * java/lang.c (lang_init): Rename java_init.
7411         (lang_finish): Remove.
7412         (lang_hooks): Update.
7413         * objc/objc-act.c (lang_init): Rename objc_init.
7414         (lang_finish): Remove.
7415         (lang_hoooks): Update.
7416
7417 20001-01-09  Graham Stott  <grahams@redhat.com>
7418
7419         * cppfiles.c (_cpp_execute_include): Move `len` initialisation
7420         after `ptr` is initialised.
7421
7422 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
7423
7424         * config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
7425         (INITIALIZE_TRAMPOLINE): Adjust accordingly.
7426         * config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
7427         stack adjusts, instead of r3.
7428
7429 2001-01-09  Michael Hayes  <mhayes@redhat.com>
7430
7431         * flow.c (flow_loop_scan): Break out of ...
7432         (flow_loops_find) ... here.
7433         * basic-block.h (flow_loop_scan): New.
7434         (LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
7435         (LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
7436
7437 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
7438
7439         * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
7440         macro_buffer_len.
7441         * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
7442         realloc()ing macro_buffer.
7443
7444         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
7445         if it's wider than long and the target's long is wider than the
7446         host's.
7447
7448 2001-01-09  Mark Mitchell  <mark@codesourcery.com>
7449
7450         Remove support for using UWIN as a host machine.
7451         * configure.in: Issue an error message.
7452         * configure: Regenerated.
7453         * config.gcc: Remove xm_* UWIN configury.
7454         * config/i386/xm-uwin.h: Remove.
7455
7456 2001-01-08  Nick Clifton  <nickc@redhat.com>
7457
7458         * config/v850/v850.c (ra_rtx): Delete.
7459         (v850_save_machine_status): Delete.
7460         (v850_restore_machine_status): Delete.
7461         (v850_init_machine_status): New function.
7462         (v850_mark_machine_status): New function.
7463         (v850_free_machine_status): New function.
7464         (v850_return_addr): Use ra_rtx field in machine structure.
7465         (v850_init_expanders): Use new functions.
7466
7467         * config/v850/v850-protos.h: Fix prototypes for v850_output_*
7468         * config/v850/v850.c: Change arguments to v850_output+* functions
7469         to take a const char *, to avoid compile time warning.
7470         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
7471         (USER_LABEL_PREFIX): Redefine.
7472
7473 2000-01-08  Jim Wilson  <wilson@redhat.com>
7474
7475         * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
7476         1 to unsigned HOST_WIDE_INT before left shift.
7477
7478 2001-01-08  Nick Clifton  <nickc@redhat.com>
7479
7480         * config/arm/arm.c (arm_mark_machine_status): Check to see if
7481         the machine structure has been allocated.
7482         (arm_free_machine_status): New function: Free the machine
7483         specific function structure.
7484
7485 2001-01-08  Richard Henderson  <rth@redhat.com>
7486
7487         * jump.c (simplejump_p): Revert last change.
7488
7489 2001-01-08  Neil Booth  <neil@daikokuya.demon.co.uk>
7490
7491         * cppinit.c (init): Rename init_library.
7492         (cpp_create_reader): Update.
7493         * gcc.c (cpp_options): If -o given, use it as the target of
7494         any -M options.
7495
7496 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
7497
7498         * arm.c (arm_arch5e): New variable.
7499         (all_cores): XScale is a 5TE device.
7500         (arm_override_options): Set arm_arch5e.
7501         (arm_init_builtins): __builtin_prefetch is in arch5e.
7502         * arm.h (arm_arch5e): Declare it.
7503
7504         * arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
7505
7506         * arm.md (define_constants): Add defines for UNSPEC and
7507         UNSPEC_VOLATILE insns.  Update all users.
7508         (define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
7509         * arm.c (multi_register_push, note_invalid_constants)
7510         (emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
7511         * arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
7512         (STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
7513
7514 Mon Jan  8 16:14:56 MET 2001  Jan Hubicka  <jh@suse.cz>
7515
7516         * jump.c (jump_optimize_1): Use reversed_comparison_code
7517         instead of can_reverse_comparison_p.
7518         (jump_back_p): Likewise.
7519         (invert_exp_1): Likewise.
7520         (thread_jumps): Likewise.
7521         * simplify-rtx.c (simplify_unary_operation): Likewise.
7522         (simplify_ternary_operation): Likewise.
7523         * cse.c (find_comparison_args): Convert to use
7524         can_reverse_comparison_p.
7525         (record_jump_equiv): Likewise.
7526
7527 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
7528
7529         * arm.h (HARD_REGNO_RENAME_OK): Delete.
7530         (EPILOGUE_USES): Define.
7531         (INITIAL_ELIMINATION_OFFSET): Current prologue code does not
7532         automatically stack the LR if it isn't live.
7533
7534 Mon Jan  8 13:46:02 MET 2001  Jan Hubicka  <jh@suse.cz>
7535
7536         * i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
7537         properly.
7538
7539 Sun Jan  7 18:37:43 2001  Mark P Mitchell  <mark@codesourcery.com>
7540
7541         * ggc-page.c (max_alignment): New structure.
7542         (MAX_ALIGNMENT): New macro.
7543         (init_ggc): Use it to round up the sizes in the
7544         extra_order_size_table.
7545
7546 2001-01-07  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7547
7548         * config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
7549         after reload.
7550
7551 2001-01-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7552
7553         * builtins.def (BUILT_IN_FPRINTF): New entry.
7554
7555         * c-common.c (c_expand_builtin_fprintf): New function.
7556         (init_function_format_info): Handle __builtin_fprintf.
7557         (c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
7558         (c_expand_builtin): Handle BUILT_IN_FPRINTF.
7559
7560         * c-decl.c (duplicate_decls): Adjust comment.
7561
7562         * extend.texi (fprintf): Document new builtin.
7563
7564 2001-01-07  Richard Henderson  <rth@redhat.com>
7565
7566         * jump.c (simplejump_p): Recognize any single_set jump
7567         of the proper form.
7568
7569 2001-01-07  Richard Henderson  <rth@redhat.com>
7570
7571         * configure.in (slibdir): Accept an --with-slibdir option.
7572         Use "test" not "[" in configure.  Default to $(libdir).
7573
7574         * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
7575         fix typo in rm -f.
7576         * config/t-aix43 (SHLIB_INSTALL): Likewise.
7577         * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
7578         (SHLIB_LINK): Create links for the soname.
7579         * config/mips/t-iris6: Likewise.
7580         * config/sparc/t-slibgcc: Likewise.
7581         * config/sparc/t-slibgcc-sld: Likewise.
7582
7583 2001-01-07  Jakub Jelinek  <jakub@redhat.com>
7584
7585         * config/i386/i386.c (constant_call_address_operand): Accept
7586         (const (plus (symbol_ref) (const_int))).
7587         * config/i386/i386.h (PREDICATE_CODES): Add CONST for
7588         constant_call_address_operand.
7589
7590 2001-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7591
7592         * libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
7593         and LONG_LONG_TYPE_SIZE > 32.
7594
7595 2001-01-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7596
7597         * jump.c (reversed_comparison_code_parts): Fix typo introduced by
7598         the previous change.
7599
7600 Sun Jan  7 19:37:48 MET 2001  Jan Hubicka  <jh@suse.cz>
7601
7602         * jump.c (reversed_comparison_code_parts, reversed_comparison_code):
7603         New.
7604         (can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
7605         (reverse_condition_maybe_unordered): Abort on unsigned comparisons.
7606         * rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
7607         Declare.
7608
7609 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
7610
7611         * fix-header.c (read_scan_file): s/pfile/scan_in/.
7612
7613 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
7614
7615         * c-lang.c (c_post_options): Call cpp_post_options.
7616         * objc/objc-act.c (objc_post_options): Similarly.
7617         * cppmain.c (main): Similarly.
7618         * fix-header.c (read_scan_file): Similarly.
7619         * cppinit.c (cpp_start_read): Move option consistency checks
7620         to cpp_post_options.  Don't call init_dependency_output.
7621         If needed, add default target and main file dependency.
7622         (OPT_MD, OPT_MMD): Remove.
7623         (OPT_MF): New.
7624         (cpp_handle_option): Update for OPT_* changes.
7625         (cpp_post_options): New.
7626         (init_dependency_output): Command line -MF overrides environment
7627         variables.  Don't set default target etc.  Suppress output
7628         if dependencies are going to stdout.
7629         (print_help): Update.
7630         * cpplib.h (cpp_post_options): New.
7631         * gcc.c (cpp_options): Update for -MD, -MMD, -MF.
7632
7633 Sun Jan  7 14:44:19 MET 2001  Jan Hubicka  <jh@suse.cz>
7634
7635         * jump.c (comparison_dominates_p): Support unordered compares.
7636
7637 Sun Jan  7 14:39:07 MET 2001  Jan Hubicka  <jh@suse.cz>
7638
7639         * simplify-rtx.c (simplify_relational_operation): Always simplify
7640         ORDERED and UNORDERED when FLAG_FAST_MATH.  Handle properly UNLE
7641         and UNGE.
7642
7643 Sun Jan  7 14:35:13 MET 2001  Jan Hubicka  <jh@suse.cz>
7644
7645         * combine.c (combine_simplify_rtx): Recognize the unordered compares.
7646         (nonzero_bits): Likewise.
7647         (simplify_comparison): Likewise.
7648         (num_sign_bit_copies): Likewise; return more sane value depending
7649         on STORE_FLAG_VALUE.
7650         (known_cond): Do not assume EQ to be always true for equivalent
7651         operands.
7652
7653 Sun Jan  7 14:31:57 MET 2001  Jan Hubicka  <jh@suse.cz>
7654
7655         * cse.c (fold_rtx): Handle unordered comparisons.
7656
7657 Sun Jan  7 13:49:19 MET 2001  Jan Hubicka  <jh@suse.cz>
7658
7659         * rtlanal.c (set_of_1): New static function.
7660         (reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
7661          reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
7662          reg_set_last_last_regno): Remove.
7663         (set_of): New global function.
7664         (set_of_data): New structure.
7665         (reg_set_p, reg_set_last): Revamp for set_of.
7666         * rtl.h (set_of): New.
7667
7668 2001-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
7669
7670         * c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
7671         * extend.texi: Document _Exit builtin.
7672
7673 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
7674
7675         * (initialize, initialize_builtins,
7676         initialize_dependency_output, initialize_standard_includes):
7677         Rename s/initialize/init. Update.
7678         (init_dependency_output): Move to after
7679         cpp_handle_options, the correct location temporally at least.
7680         (opt_comp): Move next to init (), its caller.  Fix prototype.
7681         (init): Make "initialized" local scope.
7682         (cpp_create_reader): Always call init ().
7683         (cpp_start_read): Update.
7684         (output_deps): New function, broken out of cpp_finish.
7685         (cpp_finish): Break out output_deps.
7686
7687 2001-01-07  Richard Henderson  <rth@redhat.com>
7688
7689         * collect2.c (COFF specific stuff): Revert 12-06 patch
7690         to prototype system functions.
7691
7692 2001-01-07  Michael Hayes  <mhayes@redhat.com>
7693
7694         * hard-reg-set.h: Add multiple include guard.
7695         * basic-block.h (struct loop): Add `sink' field.
7696         * loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
7697         (emit_iv_add_mult): Delete.
7698         (loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
7699         (loop_iv_add_mult_emit_before, loop_insn_sink): Define.
7700         (unroll_loop): Remove end_insert_before argument.
7701         * loop.c (loop_givs_rescan): Remove end_insert_before argument.
7702         (maybe_eliminate_biv_1): Likewise.
7703         (emit_iv_add_mult): Delete.
7704         (gen_add_mult, loop_regs_update): New.
7705         (loop_insn_emit_after, loop_insn_emit_before): New.
7706         (loop_insn_sink, loop_insn_sink_or_swim): New.
7707         (emit_iv_add_mult): Delete.
7708         (scan_loop): Set loop->sink.
7709         (loop_givs_reduce): Use loop_insn_sink and its ilk.
7710         (loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
7711         (maybe_eliminate_biv_1): Likewise.
7712         (maybe_eliminate_biv_1): Add basic block argument.
7713         * unroll.c (unroll_loop): Remove end_insert_before argument.
7714         (find_splittable_regs): Likewise.
7715         (find_splittable_regs): Use loop_insn_sink and its ilk.
7716         (find_splittable_givs, final_biv_value, final_giv_value): Likewise.
7717
7718 2001-01-07  Michael Hayes  <mhayes@redhat.com>
7719
7720         * loop.h (loop_insn_hoist): New prototype.
7721         * loop.c (loop_insn_hoist, loop_insn_emit_before): New.
7722         (move_movables, loop_givs_rescan): Use loop_insn_hoist.
7723         (check_dbra_loop, load_mems): Likewise.
7724         * unroll.c (unroll_loop, find_splittable_regs): Likewise.
7725         (find_splittable_givs): Likewise.
7726
7727 2001-01-07  Michael Hayes  <mhayes@redhat.com>
7728
7729         * loop.c (emit_iv_add_mult): Use single_set to examine new insn.
7730
7731 2001-01-07  Richard Henderson  <rth@redhat.com>
7732
7733         * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
7734
7735 2001-01-07  Richard Henderson  <rth@redhat.com>
7736
7737         * Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
7738         NO_SHARED_LIBGCC_MULTILIB as required for the target.
7739         * gcc.c (init_spec): Massage the existing libgcc_spec into a
7740         variant that handles a shared libgcc.
7741         (process_command): Always validate -{static,shared}-libgcc.
7742         (do_spec_1): New 'M' case.
7743         * invoke.text (Link Options): Document -{static,shared}-libgcc.
7744
7745 2001-01-07  Richard Henderson  <rth@redhat.com>
7746
7747         * Makefile.in (slibdir): New variable.
7748         (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
7749         (installdirs): Create slibdir.
7750         (install-libgcc, install-multilib): Defer to libgcc.mk.
7751         * configure.in (slibdir): Substitute.
7752         * mklibgcc.in (install): New target.
7753
7754         * config/t-linux (SHLIB_LINK): Create links for the soname.
7755         (SHLIB_INSTALL): New.
7756         * config/alpha/t-osf4 (SHLIB_INSTALL): New.
7757         * config/mips/t-iris6 (SHLIB_INSTALL): New.
7758         * config/rs6000/t-aix43 (SHLIB_INSTALL): New.
7759         * config/sparc/t-slibgcc (SHLIB_INSTALL): New.
7760         * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
7761
7762 2001-01-07  Richard Henderson  <rth@redhat.com>
7763
7764         * config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
7765         * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
7766         * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
7767
7768 2001-01-07  Michael Hayes  <mhayes@redhat.com>
7769
7770         * loop.c (count_loop_regs_set): Delete.
7771         (load_mems_and_recount_loop_regs_set): Delete.
7772         (loop_regs_scan): Merge common code from count_loop_regs_set,
7773         scan_loop, and load_mems_and_recount_loop_regs_set.
7774         (scan_loop): Call load_mems directly and loop_regs_scan
7775         again if new registers created.
7776
7777 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
7778
7779         * toplev.c (main): Call the front-end specific post_options
7780         hook if one is given.
7781         * toplev.h (struct_lang_hooks, lang_hooks): New.
7782         * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
7783         for the C front end.
7784         * cp/decl2.c (cxx_post_options, lang_hooks): Implement
7785         lang_hooks for the C++ front end.
7786         * objc/objc-act.c (objc_post_options, lang_hooks): Implement
7787         lang_hooks for the ObjC front end.
7788         * f/com.c (lang_hooks): Hooks for the Fortran front end.
7789         * java/lang.c (lang_hooks): Hooks for the Java front end.
7790
7791 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
7792
7793         * c-lex.c (init_c_lex): Request #define / #undef callbacks
7794         for verbose DWARF[2] debugging.
7795         (cb_define, cb_undef): The new callbacks.
7796         * toplev.h (debug_define, debug_undef): Make const correct.
7797         * toplev.c (debug_define, debug_undef): Similarly.  Do not
7798         perform the verbosity tests here anymore.
7799
7800 2001-01-07  Alexandre Oliva  <aoliva@redhat.com>
7801
7802         * reload.c (subst_reloads): Take INSN argument.  When
7803         replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
7804         * reload.h (subst_reloads): Adjust prototype.
7805         * reload1.c (reload_as_needed): Pass INSN to subst_reloads.
7806         * jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
7807         present in JUMP_INSNs and copy them to JUMP_LABEL.
7808         * flow.c (find_label_refs, find_basic_blocks_1): Skip
7809         JUMP_INSNs and insns with REG_LABELs that are followed by
7810         JUMP_INSNs with the same REG_LABEL.
7811         * sched-rgn.c (is_cfg_nonregular): Likewise.
7812         * rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
7813         note is available.
7814         * unroll.c (unroll_loop): Look for REG_LABEL notes in
7815         JUMP_INSNs too.
7816         * rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
7817
7818 2001-01-06  Richard Henderson  <rth@redhat.com>
7819
7820         * loop.c (scan_loop): Use xcalloc for the regs array.
7821         (load_mems_and_recount_loop_regs_set): Zero the new memory
7822         received from xrealloc.
7823
7824 2001-01-06  Neil Booth  <neil@daikokuya.demon.co.uk>
7825
7826         * mkdeps.c (deps_add_dep): Fix vector re-allocation.
7827
7828 Sat Jan  6 00:09:34 2001  J"orn Rennecke <amylaar@redhat.com>
7829
7830         * integrate.c (copy_rtx_and_substitute): When copying
7831         an ignored return value, strip REG_FUNCTION_VALUE_P.
7832
7833 2001-01-06  Michael Hayes  <mhayes@redhat.com>
7834
7835         * loop.c (debug_biv, debug_giv): New.
7836         (loop_biv_dump): Break out from ...
7837         (record_biv): ... here.
7838         (loop_giv_dump): Break out from ...
7839         (record_giv): ... here.
7840         (loop_bivs_check): Use print_simple_rtl.
7841         * unroll.c (loop_iterations): Use print_simple_rtl.
7842
7843 2000-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7844
7845         * pa.md (return, return_internal): Modify patterns to prevent regrename
7846         mucking with the return pointer.
7847
7848 2001-01-05  Richard Henderson  <rth@redhat.com>
7849
7850         * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
7851
7852 Fri Jan  5 16:34:18 2001  Nick Clifton  <nickc@redhat.com>
7853
7854         * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
7855         version supplied by Matteo Frigo.
7856
7857 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
7858
7859         * cpp.texi: Update for -MQ.
7860         * cppinit.c (cpp_create_reader): Always create pfile->deps.
7861         (cpp_cleanup): Always free pfile->deps.
7862         (initialize_dependency_output): Don't create pfile->deps.
7863         (cpp_handle_option): Similarly.
7864         (OPT_MQ): New.
7865         * gcc.c (cpp_options): Handle -MQ.
7866         (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
7867         * mkdeps.c (base_name): Remove.
7868         (deps_init): Don't allocate vector space until it's needed.
7869         (deps_free): Only free vectors if allocated.
7870         (deps_add_target, deps_add_dep): Update for initial allocation.
7871         (deps_add_default_target): Don't strip to the base_name.
7872
7873 2001-01-05  DJ Delorie <dj@redhat.com>
7874
7875         * config/v850/v850.h (RETURN_ADDR_RTX): Define.
7876         (INIT_EXPANDERS): Define.
7877
7878         * config/v850/v850.c (struct machine_function): Define.
7879         (v850_save_machine_status): New function.
7880         (v850_restore_machine_status): New function.
7881         (v850_return_addr): New function.
7882         (v850_init_expanders): New function.
7883
7884         * config/v850/v850-protos.h: Add prototypes for v850_return_addr
7885         and v850_init_expanders.
7886
7887 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
7888
7889         * cpplib.h (struct cpp_reader): Add help_only field.
7890         * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
7891         (cpp_handle_option): Set pfile->help_only if we see -h,
7892         --help, -target-help, or --version.  Print version string but
7893         do not set help_only if we see -v or -version.  Make text
7894         printed by -v match that printed by (-)-version.
7895
7896         * cppmain.c (main): Exit after option parsing if
7897         pfile->help_only is true.
7898
7899         * toplev.c (independent_decode_option): Call print_version,
7900         then exit, if we see --version (but not -version).
7901         (print_version): Split lengthy message into two lines.
7902
7903 2001-01-05  Nick Clifton  <nickc@redhat.com>
7904
7905         * config/v850/v850.c (v850_encode_data_area): Use alloca to create
7906         temporary string for initialisation before calling ggc_alloc_string.
7907
7908 2001-01-06  Michael Hayes  <mhayes@redhat.com>
7909
7910         * rtl.h (print_simple_rtl): New.
7911         * print-rtl.c (print_simple_rtl): New.
7912         (flag_simple): New.
7913         (print_rtx): Disable printing of flags and modes, etc.,
7914         if `flag_simple` nonzero.
7915
7916 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
7917
7918         * function.c (fixup_var_refs): Use push_to_full_sequence where
7919         possible.
7920
7921 2001-01-05  Michael Meissner  <meissner@redhat.com>
7922
7923         * flags.h (flag_reorder_blocks): Add declaration.
7924         (flag_rename_block): Ditto.
7925
7926 2001-01-05  DJ Delorie  <dj@redhat.com>
7927
7928         * function.c (reorder_blocks): Make sure the flags are all reset
7929         before using them to mark blocks, else a second invocation will
7930         corrupt the block chain.
7931         (reorder_blocks_0): New, resets the flags.
7932
7933 Fri Jan  5 20:34:06 2001  J"orn Rennecke <amylaar@redhat.com>
7934
7935         * cse.c (find_comparison_args): Stop if the argument is known to
7936         be constant.
7937
7938 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
7939
7940         * config/sh/sh.md (movdf): When splitting load into pair of
7941         registers, don't clobber the register used in the address too
7942         early.
7943
7944 2001-01-05  Jeffrey Oldham  <oldham@codesourcery.com>
7945
7946         * varasm.c (mark_constant_pool): Improve initial comments.
7947         (mark_constants): Move marking of constants to mark_constant.
7948         (mark_constant): New function to recursively mark all constants
7949         referred to by a constant.
7950
7951 2001-01-05  Catherine Moore  <clm@redhat.com>
7952
7953         * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
7954
7955 2001-01-05  Phil Edwards  <pme@sources.redhat.com>
7956
7957         * cp/lang-options.h:  Bring comment in line with reality.
7958         * f/lang-options.h:  Likewise.
7959         * java/lang-options.h:  Likewise.
7960         * objc/lang-options.h:  Likewise.
7961         * ch/lang-options.h:  Likewise.
7962         * f/g77.texi:  And update the manual.
7963
7964 2001-01-05  Marek Michalkiewicz  <marekm@linux.org.pl>
7965             Denis Chertykov  <denisc@overta.ru>
7966
7967         * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
7968         * config/avr/avr.c (avr_peep2_scratch_safe): New function.
7969         * config/avr/avr.md (all peepholes that request a scratch register):
7970         Call it, FAIL the peephole if not safe (in interrupt functions).
7971
7972 2001-01-05  Mark Mitchell  <mark@codesourcery.com>
7973
7974         * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
7975
7976 2001-01-05  Joseph S. Myers  <jsm28@cam.ac.uk>
7977
7978         * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
7979         Define.
7980         * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
7981         BUILT_IN_CREAL and BUILT_IN_CIMAG.
7982         * c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
7983         conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
7984         (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
7985         BUILT_IN_CIMAG.
7986         * extend.texi: Document these builtins.
7987
7988 2001-01-05  Daniel Berlin  <dberlin@redhat.com>
7989
7990         * c-common.c (lang_get_alias_set): Say we know nothing of
7991         VECTOR_TYPE aliasing.
7992
7993         * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
7994
7995 2001-01-05  Bruce Korb  <bkorb@gnu.org>
7996
7997         * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
7998         their x* equivalent versions for atexit-less systems
7999         * fixinc/fixincl.c(main): do not return from main() on atexit-less
8000         systems (or any other system any more).
8001
8002 2001-01-05  Richard Earnshaw  <rearnsha@arm.com>
8003
8004         * arm.md (ldmsi_postinc): Avoid use of match_dup between input and
8005         output operands.  Use arm_hard_register_operand for operand 4.
8006         (stmsi_postinc): Similarly.
8007         (ldmsi): Use arm_hard_register_operand for opernand 2.
8008         (stmsi): Similarly.
8009         * arm.c (arm_hard_register_operand): New function.
8010         * arm-protos.h (arm_hard_register_operand): Prototype it.
8011
8012         * arm.h (HARD_REGNO_RENAME_OK): Define.
8013
8014 Fri Jan  5 16:29:49 MET 2001  Jan Hubicka  <jh@suse.cz>
8015
8016         * simplify-rtx.c (cfc_args): add "unordered" field.
8017         (check_fold_consts): Set unordered field.
8018         (simplify_relational_operation): Simplify the unordered
8019         comparisons.
8020
8021         * reg-stack.c (swap_rtx_condition): Ensure that the transformation
8022         is valid.
8023
8024         * emit-rtl.c (try_split): Fix code to mark labels.
8025         * jump.c (mark_jump_label): Make global.
8026         * rtl.h (mark_jump_label): Declare.
8027
8028         * predict.c (estimate_probability): Handle unordred comparisons.
8029
8030 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
8031
8032         * cpp.texi: Update for -MP.  Clarify behaviour of -MT.
8033         * cppinit.c (initialize_dependency_output):  Update.
8034         (cpp_finish): Output dummy targets for -MP.
8035         (OPT_MP): New.
8036         (cpp_handle_option): Handle -MP.  Don't quote -MT options.
8037         * cpplib.h (struct cpp_options): Add deps_phony_targets.
8038         * gcc.c (cpp_options): Update to handle -MP.
8039         * mkdeps.c (deps_add_target, deps_add_default_target): Update
8040         to quote only the default target.
8041         (deps_phony_targets): Insert a preceding newline.  Rename from
8042         deps_dummy_targets for consistency.
8043         * mkdeps.h: Update
8044
8045 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
8046
8047         * calls.c (emit_library_call_value_1): Support
8048         INIT_CUMULATIVE_LIBCALL_ARGS.
8049         * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
8050
8051 2001-01-04  Richard Henderson  <rth@redhat.com>
8052
8053         * c-decl.c (finish_struct): Detect flexible array members
8054         used in an inappropriate context.
8055         * c-typeck.c (really_start_incremental_init): Special case
8056         constructor_max_index for zero length arrays.
8057         (pop_init_level): Allow initialization of flexible array
8058         members.  Deprecate initialization of zero length arrays.
8059         Don't issue missing initializer warning for flexible array
8060         members or zero length arrays.
8061         (process_init_element): Don't dereference null DECL_SIZE.
8062         * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
8063         Don't abort for empty constructors.  Use size_binop
8064         (output_constructor): Add commentary regarding zero length
8065         array futures.  Abort if we try to initialize an array of
8066         unspecified length with a non-empty constructor in the middle
8067         of a structure.
8068
8069         * extend.texi (Zero Length): Update and clarify documentation
8070         on static initialization.
8071
8072 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
8073
8074         * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
8075         with more than 32767 words of local storage.
8076
8077 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
8078
8079         * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
8080         for 'abs', 'labs', and 'fabs'.
8081         (c4x_expand_builtin): Likewise.
8082         * config/c4x/c4x.h (enum c4x_builtins): Likewise.
8083
8084 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
8085
8086         * config/sh/sh.md (prget, prset): New insn types.
8087         (return delay slot): Dont' allow prset.
8088         (call, sfunc delay slot): Don't allow prget.
8089         (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
8090         for prset and prget.
8091
8092 2001-01-05  Michael Hayes  <mhayes@redhat.com>
8093
8094         * loop.h (struct loop_reg): New.
8095         (struct loop_regs): Change to use array of `struct loop_reg'.
8096         * loop.c: Replace assortment of varrays with single regs array.
8097         (count_one_set): Delete may_not_move array argument
8098         and use regs array instead.  All caller's changed.
8099         (count_loop_regs_set): Delete may_not_move and single_usage
8100         arguments and use regs array instead.  All caller's changed.
8101         (find_single_use_in_loop): Replace usage array argument with pointer
8102         to regs structure.  All caller's changed.
8103         (loop_optimize): Delete `moved_once' array.
8104
8105 2001-01-05  Michael Hayes  <mhayes@redhat.com>
8106
8107         * loop.c (prescan_loop): Set loop_info->has_nonconst_call.
8108         Use it instead of loop_info->has_call for scanning loop mems.
8109         (check_dbra_loop): Replace loop_info->has_call test with
8110         loop_info->has_nonconst_call.
8111
8112 2000-01-04  Matthew Hiller  <hiller@redhat.com>
8113
8114         * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
8115         for TARGET_SH3E.
8116
8117 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
8118
8119         * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
8120         use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
8121
8122 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
8123
8124         * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
8125         (flag_short_double, flag_short_wchar): Define.
8126         (c_common_nodes_and_builtins): Create many tree nodes shared
8127         between C and C++ here instead of in cp/decl.c and ...
8128         * c-decl.c (init_decl_processing): ... here.
8129         (SIZE_TYPE, WCHAR_TYPE): Don't define.
8130         (flag_short_double, flag_short_wchar): Don't define.
8131         (record_builtin_type): New function.
8132         (build_void_list_node): New function.
8133         * c-common.h (flag_short_double, flag_short_wchar,
8134         record_builtin_type, build_void_list_node): Declare.
8135
8136 Thu Jan  4 21:09:47 2001  J"orn Rennecke <amylaar@redhat.com>
8137
8138         * integrate.c (expand_inline_function): Don't put a virtual
8139         register into the reg map.
8140
8141         * function.c (fixup_var_refs_1): If force_operand didn't put
8142         the address into the target, move it there.
8143
8144 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
8145
8146         Special-case tree_decl/tree_list allocations.
8147         * ggc-page.c (OBJECT_PER_PAGE): Reimplement.
8148         (OBJECT_SIZE): New macro.
8149         (NUM_EXTRA_ORDER): Likewise.
8150         (extra_order_size_table): New variable.
8151         (NUM_ORDERS): New macro.
8152         (objects_per_page_table): New variable.
8153         (object_size_table): New variable.
8154         (G.pages): Use NUM_ORDERS to bound the array.
8155         (G.page_tails): Likewise.
8156         (DIV_ROUND_UP): Remove.
8157         (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
8158         (alloc_page): Use OBJECT_SIZE.
8159         (size_lookup): Don't make it const.
8160         (ggc_alloc): Use OBJECT_SIZE.
8161         (ggc_set_mark): Likewise.
8162         (ggc_get_size): Likewise.
8163         (init_ggc): Set up the object_size_table, objects_per_page_table,
8164         and adjust size_lookup.
8165         (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
8166         (ggc_pop_context): Use NUM_ORDERS.
8167         (clear_marks): Likewise.
8168         (sweep_pages): Likewise.
8169         (poison_pages): Likewise.
8170         (ggc_print_statistics): Use OBJECT_SIZE.
8171
8172 Thu Jan  4 15:54:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8173
8174         * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
8175         Only call array_size_for_constructor if last field and array type
8176         with no upper bound.
8177
8178 2001-01-04  Philip Blundell  <philb@gnu.org>
8179
8180         * config/arm/arm.c (arm_gen_constant): Prefer to emit constants
8181         from bit 31 downwards, if this requires no more insns.
8182         (count_insns_for_constant): New helper function for above.
8183
8184 2001-01-04  Alexandre Oliva  <aoliva@redhat.com>
8185
8186         * gencodes.c (output_predicate_decls): Remove empty initializer.
8187
8188 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
8189
8190         * tree.c (copy_node): Remove documentation about obstacks.
8191         (buidl1): Check that nobody tries to build 2-argument nodes this
8192         way.
8193
8194 2001-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8195
8196         * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
8197         fp_high_losum_p.
8198
8199         * gencodes.c (output_predicate_decls): Fill empty initializer
8200         braces.
8201
8202 2001-01-04  Jakub Jelinek  <jakub@redhat.com>
8203
8204         * tradcpp.c (deps_file, print_deps_missing_files): New variables.
8205         (main): Handle -MG, -MD, -MMD.  Bail out if -MG is given without -M
8206         or -MM.
8207         (do_include): Handle missing headers like cpp0.
8208         * cppfiles.c (_cpp_execute_include): Don't prefix absolute header
8209         paths with first include pathname.  Don't strcat to uninitialized
8210         string.
8211
8212 2001-01-04  Bernd Schmidt  <bernds@redhat.com>
8213
8214         * regrename.c (regrename_optimize): Don't rename from frame pointer
8215         if frame_pointer_needed.
8216         (do_replace): Don't set ORIGINAL_REGNO to a hard register number.
8217         * config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
8218         (ia64_reorg): Use it instead of scheduling if ! optimize.
8219         (errata_emit_nops): Properly call asm_noperands.
8220         (ia64_sched_reorder): Finish cycle if we see an asm.
8221         (ia64_variable_issue): Clear scheduling state after asms.
8222
8223 2001-01-04  Neil Booth  <neil@daikokuya.demon.co.uk>
8224
8225         * cpp.texi: Update for -MT.
8226         * cppinit.c (initialize_dependency_output): Add a default
8227         target if none has been given already.
8228         (no_tgt, OPT_MT): New.
8229         (cpp_handle_option): Handle -MT.  Update -M etc.
8230         * cpplib.h (struct cpp_options): Remove deps_target.
8231         * gcc.c (cpp_options): Handle -MT.
8232         * mkdeps.c (struct deps): Move from mkdeps.h.
8233         (deps_calc_target): Rename deps_add_default_target.  Add a
8234         default target if none has been specified already.
8235         * mkdeps.h (struct deps): Move to mkdeps.c.
8236         (deps_calc_target): Rename deps_add_default_target.
8237
8238 2000-01-03  Richard Henderson  <rth@redhat.com>
8239
8240         * c-decl.c (grokdeclarator): Give zero-length arrays size zero.
8241         Remove dead code.
8242         * c-typeck.c (push_init_level): Move checks for flexible array
8243         members and zero length arrays ...
8244         (pop_init_level): ... here.  Silently discard empty initializations.
8245         Remove dead code.
8246         * varasm.c (output_constructor): Update for sizeof change to
8247         zero-length arrays.
8248
8249         * extend.texi (Zero Length): Clarify semantics.
8250
8251 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
8252
8253         * configure.in (tm.h): Include isns-codes.h last.
8254         * configure: Rebuilt.
8255
8256 2001-01-03  Richard Henderson  <rth@redhat.com>
8257
8258         * config/alpha/alpha.md (addvsi3, addvdi3): New.
8259         (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
8260
8261 2001-01-03  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8262
8263         * tradcpp.c (main): Make sure finclude() is called with a valid
8264         indepth value while handling -include.
8265
8266 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
8267
8268         * gencodes.c (output_predicate_decls): New function.
8269         (main): Call it.
8270         * machmode.h (GET_MODE_MASK): Arrange for it to be defined
8271         even if it is not the first time machmode.h is #included.
8272         * config/sh/sh.c (fpul_operand): Declare MODE argument.
8273         * tm.texi (PREDICATE_CODES): Document predicate declarations.
8274         * gcc.texi (Copyright): Added 2001.
8275
8276 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
8277
8278         * c-common.c (c_common_lang_init): New function.  Warn if format
8279         warning options which only have effects when used with -Wformat
8280         are used without -Wformat.
8281         * c-common.h (c_common_lang_init): Declare.
8282         * c-lang.c (lang_init): Call c_common_lang_init.
8283         * objc/objc-act.c (lang_init): Call c_common_lang_init.
8284
8285 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
8286
8287         * configure.in: Check for the mktemp command.
8288         * configure: Regenerate.
8289         * gccbug.in: Use a separate temporary file $TEMP0 for one use of
8290         $TEMP.  Create temporary files with mktemp, if available at
8291         configure time; otherwise use set -C.  Remove temporary files
8292         before exit.
8293
8294 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
8295
8296         * configure.in: Require at least texinfo 4.0.  Check for whether
8297         Pod::Man is sufficiently recent to regenerate GCC manpages.
8298         * configure:  Regenerate.
8299         * Makefile.in (TEXI2POD): Call perl explicitly rather than relying
8300         on #!.
8301         (GENERATED_MANPAGES): Define.
8302         (generated-manpages): New target.  Depend on cpp.1 as well as
8303         gcov.1.
8304         (install-man): Depend on $(GENERATED_MANPAGES) (defined by
8305         configure to generated-manpages or empty) rather than on the
8306         manpages directly.  Remove execute permission from installed
8307         gcov.1 as well as cpp.1.
8308         * cpp.1, gcov.1: Regenerate.
8309
8310 2001-01-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8311
8312         * builtins.c (expand_builtin_strncmp): Use host_integerp and
8313         tree_low_cst.  Allow using cmpstrsi in more cases.
8314
8315 Wed Jan  3 10:48:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8316
8317         * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
8318         sized types.
8319
8320 Wed Jan  3 12:22:32 2001  Alexandre Oliva  <aoliva@redhat.com>
8321
8322         * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
8323         * Makefile.in (HOST_CFLAGS): Mention build-make.
8324
8325 Wed Jan  3 08:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8326
8327         * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
8328         as JUMP_INSN.
8329
8330 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
8331
8332         * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
8333         a REG rtx.
8334
8335         * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg.  All
8336         callers changed.
8337
8338         * alias.c (throughout): Use ORIGINAL_REGNO when accessing
8339         reg_base_value and reg_known_value arrays.
8340         (init_alias_analysis): Add more cases to detect known values.
8341         * sched-deps.c (deps_may_trap_p): New function.
8342         (sched_analyze_2): Use it.
8343
8344 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
8345
8346         * combine.c (simplify_shift_const): Even if we're sign-extracting,
8347         don't discard an ASHIFTRT if we're shifting in a wider mode.
8348
8349 2000-01-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8350
8351         * toplev.c (rest_of_compilation): Don't print basic block information
8352         when CFG isn't up to date.
8353
8354 2001-01-02  Mark Elbrecht  <snowball3@bigfoot.com>
8355
8356         * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
8357         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
8358         (UNALIGNED_SHORT_ASM_OP): Define.
8359         (CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
8360
8361 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
8362
8363         * fold-const.c (fold_convert): Fix typo.
8364
8365 2001-01-02  Richard Henderson  <rth@redhat.com>
8366
8367         * c-common.h (ASM_INPUT_P): New.
8368         * c-parse.in (asm): Set it when needed.
8369         * c-semantics.c (genrtl_asm_stmt): Test it instead of the
8370         existance of an operand.
8371
8372 Tue Jan  2 20:27:07 MET 2001  Jan Hubicka  <jh@suse.cz>
8373
8374         * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
8375         (dwarf2out_frame_debug_expr): Likewise.
8376         (mem_loc_descriptor): Handle PRE and POST_MODIFY.
8377
8378 Tue Jan  2 20:21:31 MET 2001  Jan Hubicka  <jh@suse.cz>
8379
8380         * i386.c (ix86_split_to_parts): Return number of part required;
8381         handle TFmodes.
8382         (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
8383         TFmodes.
8384         (ix86_split_long_move): Use number of part returned
8385         by ix86_split_to_parts
8386         * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
8387         New macros.
8388         (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
8389         (LONG_DOUBLE_TYPE_SIZE): Change from constant.
8390         (MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
8391         (INTEL_EXTENDED_IEEE_FORMAT): Likewise.
8392         (ALIGN_MODE_128): Add TFmode.
8393         (IS_STACK_MODE): Likewise.
8394         (HARD_REGNO_NREGS): TFmode needs 3 registers.
8395         (HARD_REGNO_OK): Support TFmodes.
8396         (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
8397         * i386.md (scheduler definitions): Use memory operand to determine
8398         fst/fld instructions; use mode attribute to determine real mode of
8399         the instruction.
8400         (*tf): New patterns, expanders and splitters; based on XFmode patterns.
8401         * invoke.texi (128bit-long-double, 96bit-long-double): Document.
8402
8403 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
8404
8405         * tree.def (TRUTH_NOT_EXPR): Improve documentation.
8406
8407 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
8408
8409         * expr.c (store_constructor_field): Update ALIGN before calling
8410         store_constructor.
8411
8412 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
8413
8414         * config/mips/mips.c (function_arg): Don't pass NULL_TREE to
8415         host_integerp.
8416
8417 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
8418
8419         * tm.texi (FUNCTION_ARG): Document that @var{type} can be an
8420         incomplete type.
8421
8422 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
8423
8424         * c-decl.c (start_function): Don't warn on third parameter to main.
8425
8426 2001-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8427
8428         * tsystem.h: Define HAVE_DECL_GETOPT.
8429
8430 2001-01-02  Philip Blundell  <pb@futuretv.com>
8431
8432         * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
8433         of input operand.
8434
8435 2001-01-02  Richard Henderson  <rth@redhat.com>
8436
8437         * alpha.md (*ze_and_ne): Duplicate insn condition to split.
8438
8439 2001-01-02  Andreas Jaeger  <aj@suse.de>
8440
8441         * c-decl.c (c_decode_option): Remove support of
8442         -Wmissing-noreturn.
8443
8444         * toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
8445         (W_options): Add -Wmissing-noreturn here.
8446
8447         * flow.c: Define lang_missing_noreturn_ok_p.
8448         (check_function_return_warnings): Use it.
8449
8450         * c-common.h: Declare lang_missing_noreturn_ok_p.
8451
8452         * c-lang.c (c_missing_noreturn_ok_p): New function.
8453         (lang_init): Set lang_missing_noreturn_ok_p.
8454
8455         * invoke.texi (Warning Options): Document this.
8456
8457 2000-12-27  Phil Edwards  <pme@sources.redhat.com>
8458
8459         * extend.texi (C++ Extensions):  New node for C++ attributes;
8460         describe init_priority and com_interface.
8461         * invoke.texi:  Remove -finit-priority as it now has zero effect.
8462         * install.texi:  Fix xref syntax.
8463         * md.texi:  Likewise.
8464
8465 Mon Jan  1 21:28:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8466
8467         * config.gcc (sparc64-wrs-vxworks*): New case.
8468         * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
8469
8470         * config/sparc/sparc.c (sparc_override_options): Do support different
8471         pointer and architecture size.
8472         * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
8473         (POINTERS_EXTEND_UNSIGNED): Define.
8474         (Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
8475         (FUNCTION_MODE): Define to be Pmode.
8476         * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
8477
8478         * function.c (expand_function_end): Properly handle DECL_RESULT
8479         and copy when ptr_mode != Pmode.
8480         * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
8481
8482 2001-01-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8483
8484         * c-common.c (c_common_nodes_and_builtins): Set prototype
8485         parameters for __builtin_fputs, __builtin_fputc and
8486         __builtin_fwrite.  Don't declare plain fputc as a builtin.
8487
8488 2001-01-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8489
8490         * loop.c (add_label_notes): Increment the label usage count when
8491         a note is added to an insn which refers to a CODE_LABEL.
8492         * gcse.c (add_label_notes): Likewise.
8493
8494 2001-01-01  Andreas Jaeger  <aj@suse.de>
8495
8496         * loop.c (scan_loop): Use xmalloc to allocate movables.
8497
8498 2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
8499
8500         * tm.texi (REGISTER_MOVE_COST): Add a mode argument.
8501         * reload.c (REGISTER_MOVE_COST): Likewise.  Adjust all callers.
8502         * reload1.c (REGISTER_MOVE_COST): Likewise.
8503         * regclass.c (REGISTER_MOVE_COST): Likewise.
8504         (move_cost, may_move_in_cost, may_move_out_cost): Add mode
8505         dimension.  Adjust all users.
8506         (init_reg_sets_1): Iterate on all modes.
8507         * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
8508         * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
8509         * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
8510         * config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
8511         * config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
8512         * config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
8513         * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
8514         * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
8515         * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
8516         * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
8517         * config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
8518         * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
8519         * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
8520         * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
8521         * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
8522         * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
8523         * config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
8524         * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
8525         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
8526         * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
8527         * config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
8528         * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
8529         * config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
8530         * config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
8531         * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
8532         * config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
8533         * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
8534
8535 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
8536
8537         * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
8538         arg VARIES_P.  Call it with extra arg.
8539         (true_dependence): Likewise.
8540         * rtl.h (rtx_addr_can_trap_p): Declare.
8541         (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
8542         prototypes.
8543         * rtlanal.c (rtx_addr_can_trap_p): No longer static.
8544         (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
8545         pic offset table register if it's zero.  All callers changed.
8546         (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
8547
8548 Mon Jan  1 07:38:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8549
8550         * explow.c (convert_memory_address, case SYMBOL_REF): Copy
8551         STRING_POOL_ADDRESS_P.
8552
8553         * config/sparc/sparc.c (input_operand): Properly test for short op.
8554
8555         * config.gcc (sparc-*-elf): Include sparc/sol2.h.
8556         (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
8557         (sparclite-*-elf*, sparc86x-*-elf*): Likewise.
8558         * config/sparc/elf.h: No longer include sol2.h.
8559         * config/sparc/lifeelf.h: No longer include sparc/elf.h.
8560         * config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
8561
8562         * config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
8563
8564 2001-01-01  Michael Hayes  <mhayes@redhat.com>
8565
8566         * loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
8567         (find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
8568         (record_initial): Likewise.
8569         * unroll.c (copy_loop_body, loop_iterations): Likewise.
8570         (remap_split_bivs): Likewise.
8571
8572 2001-01-01  Michael Hayes  <mhayes@redhat.com>
8573
8574         * loop.c (loop_ivs_free): New function.
8575         (strength_reduce): Break out from...
8576
8577 2001-01-01  Michael Hayes  <mhayes@redhat.com>
8578
8579         * loop.h (struct iv): New.
8580         (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
8581         (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
8582         'reg_biv_class' fields with 'regs' and 'n_regs'.
8583         (struct ivs): Rename 'loop_iv_list' field to 'list'.
8584         * loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
8585         * unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
8586
8587 2000-12-31  Alexandre Oliva  <aoliva@redhat.com>
8588
8589         * resource.c (mark_referenced_resources): Abort() before
8590         attempting to mark a pseudo register.
8591         (mark_set_resources): Likewise.
8592
8593 2001-01-01  Michael Hayes  <mhayes@redhat.com>
8594
8595         * loop.h (REG_IV_CLASS): New accessor macro.
8596         * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
8597         * unroll.c (REG_IV_CLASS): Likewise.
8598
8599 See ChangeLog.4 for earlier changes.