OSDN Git Service

1103350d1ae41ff584cd7f6abb30be9b13a64754
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 Tue Feb  6 07:54:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2
3         * print-tree.c (print_node, case PARM_DECL):
4         Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN.
5
6         * stor-layout.c (reference_types_internal): New variable.
7         (internal_reference_types): New function.
8         (layout_type, case REFERENCE_TYPE): Make Pmode if internal.
9         * tree.h (internal_reference_types): New declaration.
10
11         * cse.c (find_best_addr): Fix typo in computing cost.
12
13 Mon Feb  5 21:56:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14
15         * combine.c (nonzero_bits, case PLUS): If pointers extend unsigned
16         and this is the sum of a pointer and a constant, we know the result
17         did not overflow.
18         (num_sign_bit_copies, case PLUS): Likewise.
19         * explow.c (convert_memory_address): Remove opposite SUBREG.
20         * function.c (instantiate_new_reg): New function (from common code).
21         (instantiate_virtual_regs_1): Call it.
22         For PLUS, handle if (plus (subreg (virt-reg) (const_int))
23         if pointers sign- or zero-extend.
24         * simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND):
25         If pointers extend unsigned, use inside of SUBREG.
26         (simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend.
27
28 2001-02-05  Benjamin Kosnik  <bkoz@redhat.com>
29
30         * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target
31         subdir of gcc_gxx_include_dir.
32         (gcc_gxx_target_include_dir): Remove.
33
34 2001-02-05  Jeffrey Oldham  <oldham@codesourcery.com>
35
36         * dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments.
37         (dwarf2out_frame_debug_expr): Revise introductory comments to add
38         a high-level description.
39
40 2001-02-05  Chandrakala Chavva  <cchavva@redhat.com>
41
42         * final.c: Move the declaration of profile_label_no to ...
43         * output.h: ... here.
44         * function.c (expand_function_start): Call PROFILE_HOOK.
45         * config/rs6000/aix.h: Define PROFILE_HOOK.
46         * config/rs6000/rs6000-protos.h: output_profile_hook new.
47         * config/rs6000/rs6000.c (output_profile_hook): Define.
48         (output_prolog): Do nothing for ABI_AIX as it is taken care by
49         output_profile_hook.
50         tm.texi : Explain new macro PROFILE_HOOK.
51
52 2001-02-06  Hans-Peter Nilsson  <hp@axis.com>
53
54         * extend.texi (Extended Asm): Do not say that semicolon is always
55         a valid line-breaking character for GNU assemblers.  Use
56         newline-tab as the most commonly supported syntax.  Use
57         newline-tab rather than semicolon in multi-insn examples.
58
59 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
60
61         * Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).
62
63 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
64             David Edelsohn  <edelsohn@gnu.org>
65
66         * config/rs6000/rs6000.c (rs6000_return_addr): Use PIC 
67         code for AIX, even without flag_pic.
68
69 2001-02-05  Jakub Jelinek  <jakub@redhat.com>
70
71         * c-typeck.c (common_type): push and pop binding level around
72         calling common_type on function parameters.
73
74 Mon Feb  5 14:30:37 2001  Christopher Faylor <cgf@cygnus.com>
75
76         * config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter.
77
78 Mon Feb  5 11:23:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
79
80         * config/mips/mips.c (override_options): Fix typo in last change.
81         (mips_make_temp_file): Call fatal_io_error, not pfatal_with_name.
82         (mips_asm_file_end): Likewise; also pass more args to fatal_io_error.
83
84 2001-02-05  Nathan Sidwell  <nathan@codesourcery.com>
85
86         * invoke.texi (-fdump-class-layout): Document.
87         (-fdump-translation-unit): Use `=' as filename separator.
88
89 2001-02-05  Mark Mitchell  <mark@codesourcery.com>
90
91         * Makefile.in (s-mlib): Don't build multilibs if
92         --disable-multilib.
93         (DRIVER_DEFINES): Adjust accordingly.
94         (gcc.o): Likewise.
95         (protoize.o): Likewise.
96         (unprotoize.o): Likewise.
97         * configure.in: Recognize --enable-multilib.
98         
99 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
100
101         * Makefile.in (DRIVER_DEFINES): Fix quoting.
102
103         * Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3.
104         * configure.in: Remove --enable-libstdcxx_v3 support.
105         * configure: Regenerated.
106
107 Sun Feb  4 15:52:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
108
109         * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
110         Call abort instead of fatal.
111         (TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal.
112         * config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise.
113         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise.
114         (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise.
115         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
116         * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise.
117
118         * diagnostic.h (set_internal_error_function): Renamed.
119         * toplev.h (internal_error): Renamed from fatal.
120         (pfatal_with_name): Deleted.
121         (fatal_io_error): Now has printf-style arguments.
122         * diagnostic.c (pfatal_with_name): Deleted.
123         (fatal_io_error): Rework to have args in printf-style.
124         (set_internal_error_function): Renamed from set_fatal_function.
125         (internal_error): Renamed from fatal.
126         (error_recursion, fancy_abort): Call internal_error instead of fatal.
127         * dwarf2out.c (get_cfa_from_loc_descr): Likewise.
128         * emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
129         * expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
130         * flow.c (verify_flow_info): Likewise.
131         * config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
132         * config/mips/mips.c (save_restore_insns): Likewise.
133
134         * except.c (duplicate_eh_handlers): Call abort instead of fatal.
135         * flow.c (verify_flow_info): Likewise.  
136         * config/arm/arm.c (thumb_load_double_from_address): Likewise.
137         * config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
138         (avr_normalize_condition): Likewise.
139         * config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
140         * config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
141         (limit_reload_class, double_reg_to_memory): Likewise.
142         (print_operand_address, emit_1600_code_shift): Likewise.
143         (gen_tst_reg, gen_compare_reg): Likewise.
144         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
145         * config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
146         Deleted.
147         * config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.
148
149         * c-parse.in (methoddef): Call fatal_error instead of fatal.
150         * objc/objc-act.c (build_ivar_chain): Likewise.
151         * dwarfout.c (dwarfout_init): Call fatal_io_error instead of
152         pfatal_with_name.
153         * graph.c (clean_graph_dump_file): Likewise.
154         * profile.c (init_branch_prob): Likewise.
155         * objc/objc-act.c (objc_init): Likewise.
156         
157         * config/arm/arm.c (arm_override_options): Make errors non-fatal.
158         * config/avr/avr.c (avr_override_options): Likewise.    
159         * config/c4x/c4x.c (c4x_expand_prologue): Likewise.
160         * config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
161         * config/h8300/h8300.c (h8300_init_once): Likewise.
162         * config/mips/mips.c (override_options): Likewise.
163         * config/i386/i386.c (override_options): Likewise, rework.
164         * config/m68k/m68k.c (override_options): Likewise.
165
166         * config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
167         instead of fatal.
168         * config/mips/mips.c (print_operand): Likewise.
169         * hash.c (hash_allocate): Don't check for failure returns from
170         obstack functions that can't fail.
171         (hash_table_init_n, hash_table_init): Likewise; also now return void.
172         * hash.h (hash_table_init_n, hash_table_init): Now return void.
173         * objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
174         (get_object_reference): Likewise.
175
176 2001-02-04  Nick Clifton  <nickc@redhat.com>
177
178         * config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e,
179         StrongARM1110, 10TDMI, and 1020T.
180
181 2001-02-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
182
183         * mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif.
184
185 2001-02-04  Alexandre Oliva  <aoliva@redhat.com>
186
187         * config/sh/sh.md (movdf load split): Pass register number to
188         FP_OR_XD_REGISTER_P.
189
190 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
191
192         * cppinit.c (BC): New macro.
193         (builtin_array): Add __GXX_WEAK__.
194         * cpplib.h (builtin_type): Add BT_WEAK.
195         * cppmacro.c (builtin_macro): Handle BT_WEAK.
196         * defaults.h (SUPPORTS_ONE_ONLY): Define.
197         * varasm.c (SUPPORTS_ONE_ONLY): Do not define.
198
199 2001-02-03  Jakub Jelinek  <jakub@redhat.com>
200
201         * cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C.
202
203 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
204
205         * cpphash.h: Rename _ALIGN POOL_ALIGN.
206         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.  
207
208 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
209
210         * cpphash.h: Rename ALIGN _ALIGN.
211         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.  
212
213 Fri Feb  2 23:15:29 2001  Christopher Faylor <cgf@cygnus.com>
214
215         * config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross
216         compilation environment.
217         * config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow
218         control over location of cygwin includes and libs.
219
220 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
221
222         * c4x.h (HARD_REGNO_CALL_PART_CLOBBERED): Fix typo.
223
224 2001-02-02  lars brinkhoff  <lars@nocrew.org>
225
226         * md.texi (Standard Names): remove reference to spur.md.
227
228 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
229
230         * c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define.
231         (HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG.
232         (INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise.
233         * c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG.
234         (c4x_expand_prologue, c4x_expand_epilogue): Likewise.
235
236 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
237
238         * c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand,
239         c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register
240         number before reload.
241         (c4x_adjust_cost): Return zero before reload.
242         * c4x.md (load_immed_address+1, load_immed_address+2): Do not
243         split before reload.
244
245 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
246
247         * c4x.c (c4x_hard_regno_rename_ok): New.
248         * c4x-protos.h (c4x_hard_regno_rename_ok): New.
249         * c4x.h (HARD_REGNO_RENAME_OK): Define.
250
251 Fri Feb  2 20:03:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
252
253         * diagnostic.h: Add missing "extern" in all declarations.
254
255 2001-02-02  Alex Samuel  <samuel@codesourcery.com>
256
257         * Makefile.in (gcc_gxx_target_include_dir): Generate dynamically
258         as for gcc_gxx_include_dir.
259
260 2001-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
261
262         * cpp.texi, invoke.texi: Update -Wtraditional documentation.
263
264 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
265
266         * config/sh/sh.c (output_far_jump): Don't use braf on SH1.  Emit
267         label before alignment to be used as the braf base address.
268         * config/sh/sh.md (length): Use longer lengths for SH1 PIC far
269         branches.
270         (casesi_jump_2): Require at least TARGET_SH2.
271
272         * config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent
273         truncation to 32-bit doubles on -m3e and -m4-single-only.
274
275 2001-02-02  Mark Mitchell  <mark@codesourcery.com>
276
277         * gcc.c (init_gcc_specs): New function.  Make -shared-libgcc 
278         the default when building a shared object.
279         (init_spec): Use it.
280         * testsuite/lib/g++.exp: Include the directory where libgcc
281         is located to the LD_LIBRARY_PATH list.
282         * invoke.texi (-shared-libgcc): Document the cases in which
283         GCC defaults to using the shared libgcc.
284         
285 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
286
287         * config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume
288         unsigned is wide enough.
289         (BITS_PER_SI): New.
290         * config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI.
291         (si_to_float): Likewise.
292         (float_to_si, float_to_usi): Use BITS_PER_SI.
293
294 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
295
296         * dwarf2out.c: Added explanation of abbreviations.
297         (def_cfa_1): Added comments listing DWARF2 instructions.
298         (cfa_temp_reg): Removed in favor of cfa_temp.
299         (cfa_temp_value): Removed in favor of cfa_temp.
300         (cfa_temp): New global variable.
301         (dwarf2out_frame_debug_expr): Added extensive introductory
302         comments explaining the function's transformations.  Revised to
303         use cfa_temp.  Added some rtx checking.  Generalize IOR case.
304         (dwarf2out_frame_debug): Revised to use cfa_temp.
305         (output_aranges): Cast as "unsigned" to avoid warning.
306         * rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better
307         explain which instructions must be marked.
308
309 2001-02-01  Richard Henderson  <rth@redhat.com>
310
311         * local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
312         new instruction.
313
314 2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
315
316         * config/sh/crt1.asm (main_k): Modified so that start calls
317         ___setup_argv_and_call_main.
318
319 2001-02-01  Neil Booth  <neil@daikokuya.demon.co.uk>
320
321         * cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader.
322         * cpplex.c (_cpp_lex_token): New token picks up the saved flags,
323         and AVOID_LPASTE is cleared on meeting an unescaped newline.
324         * cppmacro.c (builtin_macro): Set builtin flags here.
325         (paste_all_tokens): Preserve AVOID_LPASTE on pasted token.
326         (replace_args): Clarify intent.
327         (cpp_get_token): Macro expansion tokens get the saved flags.
328         Update.
329         * cppmain.c (scan_buffer): Remove now-redundant print.printed
330         check.
331
332 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
333
334         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of
335         2001-Jan-29.
336
337 Thu Feb  1 07:22:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
338
339         * builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space
340         returns Pmode pseudo, but we need ptr_mode.
341         * explow.c (allocate_dynamic_stack_space): Use plus_constant.
342         Remove bogus conversions; use HOST_WIDE_INT for size.
343         Don't use TARGET if wrong mode.
344
345         * config/i386/i386.c (ix86_compute_frame_size): Allow
346         stack_alignment_needed to be non-default even if size is zero.
347
348 2001-01-31  Alan Modra <alan@linuxcare.com.au>
349
350         * (hppa_init_pic_save): Emit the pic offset table
351         reg save after last_parm_insn.
352         * pa.c (hppa_init_pic_save): New function.
353         * pa.h (hppa_init_pic_save): Declare.
354         * pa.md (call, call_value, sibcall, sibcall_value): Use
355         the above instead of duplicated code.
356
357         * pa.c (hppa_encode_label): Correct size of alloca buffer
358         so we don't overrun it.  Correct leading `*' case.
359         * pa.h (STRIP_NAME_ENCODING): Simplify now that we don't
360         need to handle `*@'.
361         (FUNCTION_NAME_P): Likewise.
362
363 2001-01-31  Richard Henderson  <rth@redhat.com>
364
365         * config.gcc (alpha-osf5): Use float-i128.h.
366
367         * config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
368         * config/float-i32.h: Likewise.
369         * config/float-i64.h: Likewise.
370         * config/float-sh.h: Likewise.
371         * config/float-sparc.h: Likewise.
372
373 2001-01-31  DJ Delorie  <dj@redhat.com>
374
375         * expmed.c (extract_bit_field): allow non-integral modes if we
376         want to extract a whole register from itself.
377
378 2001-01-31  Jakub Jelinek  <jakub@redhat.com>
379
380         * c-typeck.c (set_init_index): If first is equal to last, assume as
381         if it was not a range at all.
382
383 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
384
385         * config/fp-bit.c: Include tm.h.
386         (float_to_si): Don't assume SImode is 32-bits wide.
387         (float_to_usi): Likewise.
388
389 2001-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
390
391         * c-parse.in (structsp): Pedwarn when "enum foo" refers to an
392         incomplete type.
393         (typename): Call pending_xref_error after parsing typed_typespecs.
394         * c-decl.c (lookup_tag): Give error immediately rather than
395         leaving it pending if the tag of the wrong type is in the same
396         binding level.
397         (xref_tag): Don't pedwarn for forward declarations of enum types
398         here.
399         * gcc.texi (Actual Bugs): Remove entry for misuse of struct, union
400         and enum tags.
401
402 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
403
404         * config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo.
405
406 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
407
408         * cpplib.c (T_ELIF): Move to STDC89, not that it matters.
409         (_cpp_handle_directive): Suggest not using #elif with -Wtraditional.
410
411 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
412
413         * cpphash.h (struct cpp_reader): New saved_flags.
414         * cppmacro.c (cpp_get_token): Use saved_flags to remember
415         to avoid a paste after a pasted token.
416           
417 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
418
419         * libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
420         * libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
421         Wtype_MIN instead of LONG_MIN.
422
423 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
424
425         * fixinc/fixincl.tpl: Add 2001 to copyright.  Change name of
426         README file.
427         * fixinc/fixincl.x: Regenerated.
428         * fixinc/inclhack.def (irix_limits_const): New definition to
429         convert "const" to "__const" in limits.h.
430
431 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
432
433         * fixinc/genfixes (AG): Fix "autogen4" thinko.
434
435 2001-01-30  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
436
437         * regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED
438         when register dies in the insn.
439
440 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
441
442         * diagnostic.c (fatal): Fix word wrap.
443
444 2001-01-30  Alexandre Oliva  <aoliva@redhat.com>
445
446         * combine.c (try_combine): Fix SUBREG setting for
447         HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD.
448
449 2001-01-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
450
451         * jump.c (comparison_dominates_p): Don't try to handle UNKNOWN
452         comparison codes.
453
454 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
455
456         * c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
457         is not NULL.
458         * toplev.c (decode_W_option): Update warn_larger_than
459         unconditionally for each processed switch.
460
461 2001-01-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
462
463         * pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
464         to NULL_RTX.
465         (hppa_expand_prologue): Delete code to save pic offset table register
466         in the function prologue.
467         * pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
468         * pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
469         table register at the beginning of the function after the prologue.
470
471 2001-01-29  lars brinkhoff  <lars@nocrew.org>
472
473         * tm.texi (PUSH_ROUNDING): Remove duplicate lines.
474
475 2001-01-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
476             Jeff Law <law@redhat.com>
477
478         * pa.md (return): Revise comment for trivial return.
479         (return_internal): Non-trivial return pattern for non-PIC code.
480         (return_internal_pic): Non-trivial return pattern for PIC code.
481         It uses the PIC register to ensure it is restored after
482         function calls.
483         (epilogue): Generate appropriate return for PIC and non-PIC code.
484
485 Mon Jan 29 23:53:14 2001  Christopher Faylor <cgf@cygnus.com>
486
487         * config/i386/cygwin.h: Fix -mno-cygwin search path for link.
488
489 2001-01-29  DJ Delorie  <dj@redhat.com>
490
491         * combine.c (if_then_else_cond): Pass the correct mode to
492         operand_subword() for constants.
493
494 Mon Jan 29 20:38:19 2001  Christopher Faylor <cgf@cygnus.com>
495
496         * config/i386/cygwin.h: Add w32api to include search.  Search different
497         directories in a cross-build environment.
498
499 2001-11-29  Tim Josling  <tej@melbpc.org.au>
500
501         * tree.h (TYPE_STUB_DECL): Add documentation.
502
503 2001-11-29  Laurynas Biveinis  <lauras@softhome.net>
504
505         * sdbout.c (sdbout_one_type): Skip types with indeterminate size.
506         (sdbout_field_types): Likwise.  Fix use of host_integerp.
507
508 2001-01-29  Thomas Pfaff  <tpfaff@gmx.net>
509
510         * mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
511         cygwin.h.
512
513 2001-01-29  Jeffrey Oldham  <oldham@codesourcery.com>
514
515         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
516         to use flag_gnu_linker.
517
518 2001-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
519
520         * cpplib.c (T_BAD_DIRECTIVE): Remove.
521         (_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
522
523 2001-01-29  Joseph S. Myers  <jsm28@cam.ac.uk>
524
525         * tree.c, tree.h (build_parse_node): Remove; was identical to
526         build_nt.
527         * c-lang.c (start_cdtor), objc/objc-act.c
528         (build_module_descriptor): Use build_nt instead of
529         build_parse_node.
530
531 2001-01-29  Jakub Jelinek  <jakub@redhat.com>
532
533         * config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
534         (testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
535         not have any upper bits set.
536
537 2001-01-29  Phil Edwards  <pme@sources.redhat.com>
538
539         * COPYING.LIB:  Update to LGPL 2.1 from the FSF.
540
541 2001-01-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
542
543         * stmt.c (estimate_case_costs): Use integer_minus_one_node.
544
545         * tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.
546
547         * tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
548         (integer_minus_one_node): Define.
549
550 2001-01-28  Alexandre Oliva  <aoliva@redhat.com>
551
552         * Makefile.in (bootstrap2-lean): Fix typo.
553
554 2001-01-28  Neil Booth  <neil@daikokuya.demon.co.uk>
555
556         * cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
557         : Don't set fe_value.
558         * cpplib.h (AVOID_LPASTE): New flag. 
559         (struct cpp_hashnode): Remove fe_value.
560         * cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
561         * cppmacro.c (builtin_macro): Don't set flags here.
562         (replace_args): Set AVOID_LPASTE flag on first token of an
563         argument, and the token following it.
564         (cpp_get_token): Set AVOID_LPASTE flag on first token of a
565         macro expansion, and on the token following it.  Do it for
566         builtins too.
567         * cppmain.c (scan_buffer): Avoid pasting only flagged tokens.
568
569 2001-01-27  Richard Henderson  <rth@redhat.com>
570
571         * config/alpha/t-ieee: Remove multilibbing.
572         (TARGET_LIBGCC2_CFLAGS): Add -mieee.
573
574 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
575
576         * configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
577
578         * Makefile.in: Remove all dependencies on defaults.h.
579         * builtins.c: Don't include defaults.h.
580         * c-common.c: Likewise.
581         * c-decl.c: Likewise.
582         * c-pragma.c: Likewise.
583         * c-typeck.c: Likewise.
584         * combine.c: Likewise.
585         * i386.c: Likewise.
586         * frame-ia64.c: Likewise.
587         * cppexp.c: Likewise.
588         * crtstuff.c: Likewise.
589         * dbxout.c: Likewise.
590         * dwarf2out.c: Likewise.
591         * dwarfout.c: Likewise.
592         * emit-rtl.c: Likewise.
593         * except.c: Likewise.
594         * expr.c: Likewise.
595         * final.c: Likewise.
596         * frame-dwarf2.c: Likewise.
597         * libgcc2.c: Likewise.
598         * optabs.c: Likewise.
599         * profile.c: Likewise.
600         * sdbout.c: Likewise.
601         * toplev.c: Likewise.
602         * tradcif.y: Likewise.
603         * tree.c: Likewise.
604         * varasm.c: Likewise.
605
606 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
607
608         * builtins.c (expand_builtin_fputs): Use size_one_node when
609         transforming into fwrite.
610
611 2001-01-27  Joseph S. Myers  <jsm28@cam.ac.uk>
612
613         * extend.texi (Attribute Syntax): New section.
614
615 2001-01-27  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
616
617         * fixproto: Correctly install synthesised unistd.h and stdlib.h when
618         they didn't need fixing.
619
620 2001-01-27  Janis Johnson <janis@us.ibm.com>
621
622         * config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
623         if appropriate.
624         * config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
625         to remove macro definitions that are duplicated from elfos.h.
626
627 2001-01-27  Richard Henderson  <rth@redhat.com>
628
629         * config/i386/sco5gas.h: Move ...
630         * config/usegas.h: ... here.
631         * config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.
632
633 2001-01-27  Jakub Jelinek  <jakub@redhat.com>
634
635         * c-typeck.c (struct constructor_stack): Add range_stack member.
636         (really_start_incremental_init): Clear it.
637         (push_init_level): Save constructor_range_stack and clear it if
638         pushing explicit braces.
639         (pop_init_level): abort if constructor_range_stack is non-zero at
640         explicit closing brace.  Restore saved constructor_range_stack if
641         not implicit.
642
643 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
644
645         * expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
646         into register was forced into memory.
647
648 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
649
650         * Makefile.in: Remove uses of + before $(MAKE).
651
652 2001-01-26  Richard Henderson  <rth@redhat.com>
653
654         * stmt.c (cost_table): Remove.
655         (COST_TABLE, cost_table_initialized): New.
656         (estimate_case_costs): Use the later instead of the former.
657         (balance_case_nodes): Likewise.
658
659 2001-01-26  Richard Henderson  <rth@redhat.com>
660
661         * alias.c (objects_must_conflict_p): Read-only slots may not
662         conflict despite having the same type.
663
664 2001-01-27  Michael Hayes  <mhayes@redhat.com>
665
666         * loop.c (loop_giv_reduce_benefit): Copy mode size into
667         int variable.
668         (check_ext_dependant_givs): Initialise u_start_val and
669         u_end_val.
670         (load_mems): Make last_max_reg unsigned.
671         (try_swap_copy_prop): Use INSN_P and initialise set.
672
673 Fri Jan 26 23:22:58 2001  Denis Chertykov  <denisc@overta.ru>
674
675         * README.AVR : Removed.
676
677 Fri Jan 26 11:37:26 2001  Jeffrey A Law  (law@cygnus.com)
678
679         * pa-64.h (text_section): Remove declaration.
680
681         * pa.md (return_internal): Remove mode on PIC register use.
682
683 2001-01-25  lars brinkhoff  <lars@nocrew.org>
684
685         * tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN,
686         ASM_CLOSE_PAREN): fix typos.
687
688 2001-01-25  Mark Mitchell  <mark@codesourcery.com>
689
690         * acconfig.h: Define `const' to the empty string if neither
691         __STDC__ nor __cplusplus is defined.
692         * config.in: Regenerated.
693
694 2001-01-25  David Edelsohn  <edelsohn@gnu.org>
695
696         * config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
697         * collect2.c (main): Delete importf.  Add ".obj" file extension.
698         (GCC_CHECK_HDR): Handle AIX V5 new magic number.
699         (aix_std_libs): Add additional AIX libraries to skip.
700         * config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
701         * config/rs6000/aix51.h: New file.
702
703 2001-01-25  Michael Hayes  <mhayes@redhat.com>
704
705         * loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
706         (loop_insn_emit_before): No longer static.
707         (move_movables): Replace emit_insn_after with loop_insn_emit_after.
708         (loop_givs_rescan, load_mems): Likewise.
709         (check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
710         (maybe_eliminate_biv_1):
711         (move_movables): Replace emit_call_insn_before with
712         loop_call_insn_hoist.
713         * loop.h (loop_insn_emit_before): Add.
714         * unroll.c (copy_loop_body): Replace emit_insn_before with 
715         loop_insn_emit_before.
716
717 2001-01-25  Neil Booth  <neil@daikokuya.demon.co.uk>
718
719         * diagnostic.c (fatal): Request preprocessed source.
720
721 Thu Jan 25 02:01:16 2001  J"orn Rennecke <amylaar@redhat.com>
722
723         * c-decl.c (duplicate_decls): If different_binding_level is nonzero,
724         olddecl has argument types and newdecl has none, use the argument
725         types from olddecl.
726
727 2001-01-24  Ulrich Drepper  <drepper@redhat.com>
728
729         * dwarf2out.c (prefix_of): New function.  Determine longest common
730         prefix of the two arguments.  The units are whole path components.
731         (output_file_names): When adding a new directory find the one entry
732         with the longest common prefix already in the list.  Artificially
733         generate entry if there is none for this prefix.
734         Fix test to check whether the zeroth directory entry is used.
735
736 Wed Jan 24 23:51:55 2001  J"orn Rennecke <amylaar@redhat.com>
737
738         * reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
739         Changed all callers.  Take it into account when deciding if a
740         previously loaded value matches.
741
742 2001-01-24  Richard Henderson  <rth@redhat.com>
743
744         * reload.c (find_reloads_subreg_address): Fail the substitution
745         if the resulting address is insufficiently aligned.
746
747 2001-01-24  DJ Delorie  <dj@redhat.com>
748
749         * combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
750         check the original operand's mode also.
751         * simplify-rtx.c (simplify_ternary_operation): Ditto.
752
753 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
754
755         * c-parse.in (cast_expr): Move compound literals from here ...
756         (primary): ... to here.  Use standard terminology "compound
757         literal" instead of "constructor expression".
758
759 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
760
761         * gcc.1, cpp.1: Regenerate.
762
763 2001-01-24  Alexandre Oliva  <aoliva@redhat.com>
764
765         * calls.c (emit_library_call_value_1): Memory slot for
766         pass-by-reference argument should have the mode of the argument,
767         not of the pointer to it.
768
769 2001-01-24  Tom Tromey  <tromey@redhat.com>
770
771         * gcc.texi (G++ and GCC): Mention gcj manual.
772         (Standards): Link to section of manual mentioning gcj/Java
773         compatibility.
774
775 2001-01-24  Jakub Jelinek  <jakub@redhat.com>
776
777         * cppfiles.c (_cpp_read_file): Add to dependencies if requested.
778         * cppinit.c (cpp_start_read): Remove deps_add_dep call.
779         * tradcpp.c (main): Add -imacros or -include'd dependencies
780         for -M*.
781         * cpp.texi (-M, -MM): Document -M -include behaviour.
782
783 2001-01-24  Roger Collins <roger@ProProject.com>
784
785         * config/i386/xm-i386.h: Make __i386__ a boolean macro.
786
787 2001-01-24  Will Cohen  <wcohen@redhat.com>
788
789         * config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
790         whether registers are 32 bits or 64 bits in size.
791
792 2001-01-24  Ben Elliston  <bje@redhat.com>
793
794         * config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
795
796 2001-01-24  Richard Henderson  <rth@redhat.com>
797
798         * config/alpha/alpha.md (builtin_longjmp_internal): New.
799         (builtin_longjmp): Use it instead of emit_indirect_jump.
800
801 2001-01-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
802
803         * bb-reorder.c (make_reorder_chain_1): Handle case where
804         jump edge goes to the same block as the fallthru edge.
805
806 2001-01-23  Jim Wilson  <wilson@redhat.com>
807
808         * dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
809         * frame.h (__ia64_personality_v1): Add prototype.
810         * libgcc2.c (ia64_throw_helper): Change personality declaration to
811         prototype form.  Add void * cast to first argument to personality
812         call.
813         * real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
814         (asctoe113): Likewise.
815         * config/ia64/frame-ia64.c: Include eh-common.h.
816         * config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
817         prototypes.
818         * config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
819         to dump parameter.
820         (itanium_split_issue): Add prototype.
821         (gen_nop_type): Ifdef out.
822         (find_best_packet): Initialize best_packet.
823         (ia64_encode_section_info): New local string.  Use for ggc_alloc_string
824         result.
825         * config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
826         * config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
827         (flushrs): Add explicit stop bit at end.
828         * config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
829         trailing \ to >.
830
831 2001-01-23  Chris Demetriou  <cgd@broadcom.com>
832
833         * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
834         of EH symbols.
835         * libgcc2.c (__terminate_func): Make variable static.
836         (__terminate_set_func): New function to set __terminate_func.
837         * libgcc2.h (__terminate_func_ptr): New typedef.
838         (__terminate_set_func): New function.
839
840 2001-01-23  Richard Henderson  <rth@redhat.com>
841
842         * flow.c (init_propagate_block_info): Don't consider unchanging
843         memories for dead frame store elimination.
844
845 2001-01-23  Richard Henderson  <rth@redhat.com>
846
847         * varasm.c (UNIQUE_SECTION): Move default implementation ...
848         * defaults.h: ... here.
849
850 2001-01-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
851
852         * c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
853
854 2001-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
855
856         * c-lex.c (lex_charconst): Fix typo: s/p/str.
857
858 2001-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
859
860         * rs6000.h (rs6000_return_addr): Move prototype from here...
861         * rs6000-protos.h (rs6000_return_addr): ...to here.
862         (rs6000_init_expanders): Delete prototype.
863
864 2001-01-23  Nick Clifton  <nickc@redhat.com>
865
866         * invoke.texi: Replace , with \, inside @gccoptlist macros.
867         (Spec Files): Document %B and %j and %. and %v3 and %M and
868         %{S*&T} spec switches.
869
870 2001-01-24  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
871
872         * c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
873
874 2001-01-23  Chris Demetriou  <cgd@sibyte.com>
875             Neil Booth  <neil@daikokuya.demon.co.uk>
876
877         * cpperror.c: Merge handlers of PEDWARN and WARNING.
878         Have -Werror make pedantic warnings errors, like the
879         rest of GCC.
880
881 2001-01-23  Phil Edwards  <pme@sources.redhat.com>
882
883         * c-tree.texi (IDENTIFIER_LENGTH):  Fix typo.
884
885 2001-01-23  Jakub Jelinek  <jakub@redhat.com>
886
887         * integrate.h (struct inline_remap): Add compare_src, compare_mode.
888         * integrate.c (expand_inline_function): Initialize them.
889         (subst_constants): If changing COMPARE so that both its arguments
890         will be VOIDmode and the comparison mode will be lost, note
891         compare_mode.  Use the recorded compare_mode to optimize
892         IF_THEN_ELSE.
893
894 2001-01-23  Jason Merrill  <jason@redhat.com>
895
896         * dwarf2out.c (new_die): Use xcalloc.
897         (output_die): Abort rather than emit a local reference to offset 0.
898
899 2001-01-17  Andrew Haley  <aph@redhat.com>
900
901         * libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
902         of a saved register; return NULL instead.
903         (copy_reg): Take a pointer to a source register rather than a
904         frame_state.
905         (next_stack_level): Remember the address in the stack frame of all
906         saved registers.
907         Use the saved register pointer array as the source of the CFA.
908         (throw_helper): Rewrite.  Unwind once rather than twice and keep
909         track of saved registers as we go.
910
911 2001-01-23  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
912
913         * c4x-protos.h (c4x_legitimize_reload_address): Remove.
914         * c4x.c (c4x_legitimize_reload_address): Remove.
915         * c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
916         reload address for ldp(k) insn.
917
918 Mon Jan 22 20:53:47 2001  Jeffrey A Law  (law@cygnus.com)
919
920         * pa.md (return_internal): Add a USE of the PIC register to ensure
921         it is restored after each call.
922         (return expander): Corresponding changes.
923
924 2001-01-22  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
925
926         * rs6000.h (INIT_EXPANDERS): Delete.
927         (RETURN_ADDR_RTX): Call rs6000_return_addr().
928         * rs6000.c (rs6000_override_options): Call *_machine_status from
929         here...
930         (rs6000_init_expanders): ...instead of here. Delete.
931         (rs6000_mark_machine_status): New function.
932         (rs6000_init_machine_status): Use xcalloc.
933         (rs6000_return_addr): Generate RTX for the return address.
934         (rs6000_ra_ever_killed): New, check if LR was ever destroyed.
935         (rs6000_stack_info): Use it.
936
937 2001-01-22  Thomas Pfaff  <tpfaff@gmx.net>
938
939         * gthr-win32.h: Include errno.h to get a declaration for
940         EINVAL and _mingw.h if the target is mingw32.
941
942 2001-01-22  Andres Felipe Vargas <avargas@teletulua.com.co>
943
944         * cpp.texi: Correct typos.
945
946 Mon Jan 22 13:59:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
947
948         * explow.c (probe_stack_range): Ensure value passed to
949         stack_check_libfunc is ptr_mode, not Pmode.
950
951 Mon Jan 22 16:53:06 2001  J"orn Rennecke <amylaar@redhat.com>
952
953         * recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
954         case, don't use operand_subword to calculate a SUBREG that is
955         wider than a word.
956
957         * rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
958
959 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
960
961         * c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
962         (c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
963         valid.  If not replace it by equivalent insns.
964
965 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
966
967         * c4x.c (c4x_check_legit_addr): Only check CONST.  Not if CONST
968         contains SYMBOL_REF, LABEL_REF and CONST_INT.
969         (c4x_U_constraint, symbolic_address_operand): Likewise.
970         (c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
971         memory.
972         (c4x_r11_set_p, c4x_check_laj_p): New functions.
973         * c4x-protos.h (c4x_check_laj_p): Add prototype.
974         * c4x.md (in_annul_slot_3): Do not allow auto-increment in last
975         anulling slot because of silicon bug.
976         (laj, lajv): Call c4x_check_laj_p to check for silicon bug.
977
978 2001-01-22  Alan Modra <alan@linuxcare.com.au>
979
980         * cppexp.c (parse_charconst):  Change `mask' type to agree
981         with parse_escape.
982
983 2001-01-21  Richard Henderson  <rth@redhat.com>
984
985         * config/i386/i386.c (ix86_asm_file_end): Disable putting
986         pic_label_name in a linkonce section.
987
988 2001-01-17  Philipp Thomas  <pthomas@suse.de>
989
990         * aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
991         found in libintl.
992         * configure: Regenerate.
993
994 Sun Jan 21 02:38:56 2001  J"orn Rennecke <amylaar@redhat.com>
995
996         * expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
997         uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
998
999 Sun Jan 21 09:44:17 2001  Denis Chertykov  <denisc@overta.ru>
1000
1001         * config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
1002         If REVERSE nonzero then condition code in X must be reversed.
1003         (encode_section_info): Optimise if/else.
1004         (avr_function_value): Fix formatting.
1005
1006         * config/avr/avr.md (branch): Call to ret_cond_branch changed.
1007         (difficult_branch): Likewise.
1008         (rvbranch): Likewise.
1009         (difficult_rvbranch): Likewise.
1010
1011         * config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
1012
1013         * config/avr/libgcc.S: Fix comment.
1014
1015 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
1016
1017         * sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
1018
1019 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
1020
1021         * cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
1022
1023 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
1024
1025         * aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
1026         * configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
1027         * configure, config.in: Regenerate.
1028         * Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
1029         (LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
1030         (strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
1031         (doprint.o): New rule.
1032
1033 2001-01-20  Joseph S. Myers  <jsm28@cam.ac.uk>
1034
1035         * c-typeck.c (digest_init): Handle boolean types as scalars.
1036
1037 Sat Jan 20 12:46:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1038
1039         * stmt.c (expand_return): Don't return anything if size is zero.
1040         Delete redundant assignment to BYTES.
1041         * expr.c (move_block_from_reg): Do nothing if NREGS is zero.
1042
1043 2001-01-20  Marek Michalkiewicz  <marekm@linux.org.pl>
1044
1045         * config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
1046         the same as the default library function names.
1047         * config/avr/avr.md: Document special characters after '%'.
1048         (mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
1049         knowing which of the call-used registers are really clobbered.
1050         (divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
1051         New.  Both quotient and remainder from one libgcc.S call.
1052         * config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
1053         clobber as few registers as possible.
1054         * config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
1055
1056 2001-01-20  Neil Booth  <neil@daikokuya.demon.co.uk>
1057
1058         * cppmacro.c (funlike_invocation_p): Don't move back up to the
1059         context of the top of the stack.
1060
1061 2001-01-20  Jakub Jelinek  <jakub@redhat.com>
1062
1063         * function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
1064         (fixup_var_refs_insns): ...here.
1065
1066 2001-01-20  Zack Weinberg  <zack@wolery.stanford.edu>
1067
1068         * function.c (fixup_var_refs_insns): Break up into
1069         fixup_var_refs_insn [body of loop], fixup_var_refs_insns
1070         [loop over entire insn list], and fixup_var_refs_insns_with_hash
1071         [loop over hash table entries].
1072         (fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
1073         fixup_var_refs_insns_with_hash, to match above changes.
1074
1075 2001-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1076
1077         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
1078         (libgcc.a): Likewise.
1079         (stmp-multilib): Likewise.
1080         (STAGE2_FLAGS_TO_PASS): Likewise.
1081
1082 2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
1083
1084         * config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
1085         temporary if no_new_pseudos.
1086
1087 2001-01-19  Neil Booth  <neil@daikokuya.demon.co.uk>
1088
1089         * cppinternals.texi: Update.
1090
1091 2001-01-19  Richard Earnshaw  <rearnsha@arm.com>
1092
1093         * arm.c (arm_init_builtins): Re-enable builtins.
1094
1095 Fri Jan 19 13:02:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1096
1097         * rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
1098         * flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
1099         element to be null, and always expect an EXPR_LIST.
1100         * rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
1101         * sched-deps.c (sched_analyze_1): Likewise.
1102         * sched-rgn.c (check_live_1, update_live_1): Likewise.
1103
1104         * regclass.c (max_set_parallel): New variable.
1105         (reg_scan): Take it into account in computation of max_parallel.
1106         (reg_scan_mark_refs, case SET): Compute it.
1107
1108         * alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
1109         args are REG.
1110         * expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
1111         * function.c (assign_parms): Use INTVAL for a CONST_INT.
1112
1113 2001-01-19  Jason Merrill  <jason@redhat.com>
1114
1115         * dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
1116         for the abstract instance of an inline function.
1117
1118 Fri Jan 19 14:31:35 2001  Alexandre Oliva  <aoliva@redhat.com>
1119                           J"orn Rennecke <amylaar@redhat.com>
1120
1121         * reload1.c (move2add_note_store): Treat all registers directly or
1122         indirectly derived from a base register as members of the same set
1123         of values.
1124         (reload_cse_move2add): Adjust accordingly.  Take mode and offset
1125         of base register into account.
1126
1127 Fri Jan 19 09:18:42 2001  J"orn Rennecke <amylaar@redhat.com>
1128
1129         * alias.c (find_base_value): Recognize TRUNCATE.
1130         (record_set): In PLUS case, invalidate if other summand is also a
1131         base value.
1132
1133 Thu Jan 18 06:43:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1134
1135         * flow.c (mark_set_1, case PARALLEL): New case; rework to allow
1136         entry to be EXPR_LIST.
1137         * rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
1138         be an EXPR_LIST (but not null, which other code doesn't allow).
1139         (note_stores): Properly handle PARALLEL in SET.
1140         Recursively call for top-level PARALLEL.
1141         * sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
1142         * sched-rgn.c (check_live_1, update_live_1): Likewise.
1143
1144         * config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
1145
1146 2001-01-18  Neil Booth  <neil@daikokuya.demon.co.uk>
1147
1148         * cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
1149         not pfile->skipping (== 0).
1150
1151 2001-01-17  Nick Clifton  <nickc@redhat.com>
1152
1153         * config/rs6000/rs6000.c: Add prototypes for {init|free}_
1154         machine_status.
1155
1156 2001-01-17  Jim Wilson  <wilson@redhat.com>
1157
1158         * invoke.texi (IA-64 options): Improve.
1159
1160 2001-01-17  Tom Tromey  <tromey@redhat.com>
1161
1162         * invoke.texi (Optimize Options): Use `{}' to around @samp
1163         argument.
1164
1165 2001-01-17  Aldy Hernandez  <aldyh@redhat.com>
1166
1167         * invoke.texi (-fno-guess-branch-probability): New option.
1168
1169 Wed Jan 17 13:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1170
1171         * combine.c (try_combine): Don't set i3_subst_into_i2 for
1172         case of making new double-word constant.
1173         Revert last change: instead just test i3_subst_into_i2.
1174
1175 2001-01-17  Jakub Jelinek  <jakub@redhat.com>
1176
1177         * config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
1178         Use q constraints instead of r.
1179
1180 Tue Jan 16 22:23:04 2001  Alan Modra (alan@linuxcare.com.au)
1181
1182         * config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
1183         (machine_function): Define.
1184         (PIC_OFFSET_TABLE_SAVE_RTX) : Define.
1185         * config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
1186         pa_free_machine_status): New functions.
1187         (override_options): Set {init,mark,free}_machine_status to above.
1188         (hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
1189         PIC_OFFSET_TABLE_REGNUM_SAVED.
1190         * config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
1191         PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
1192         * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
1193         references to PIC_OFFSET_TABLE_REGNUM_SAVED.
1194         * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
1195
1196 2001-01-15  DJ Delorie  <dj@redhat.com>
1197
1198         * Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
1199         (cpp.1): Ditto.
1200         (gcc.1): Ditto.
1201
1202 Tue Jan 16 17:20:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1203
1204         * flow.c (propagate_on_insn): Make trying to delete a prologue
1205         or epilogue insn an ICE, not a warning.  Allow doing this if
1206         the current function returns with stack pointer depressed.
1207
1208         * combine.c (try_combine): If i3_subst_into_i2, properly check for
1209         I3 having more than one SET.
1210
1211 2001-01-16  Jim Wilson  <wilson@redhat.com>
1212
1213         * invoke.texi: Document IA-64 options.
1214
1215         * config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
1216         (fixup_errata): Delete TARGET_A_STEP use.
1217         * config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
1218         (TARGET_SWITCHES): Delete -ma-step option.
1219         * config/ia64/ia64.md (all FP patterns): Delete %B0.
1220         (movqicc_astep, movqi_internal_astep, movhicc_astep,
1221         movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
1222         movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
1223         movdfcc_astep, movdf_internal_astep, movtfcc_astep,
1224         movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
1225         Delete.
1226         (movqi_internal, movhi_internal, movsi_internal, movdi_internal,
1227         movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
1228         cmovsi_internal): Delete ! TARGET_A_STEP check.
1229
1230 2001-01-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1231
1232         * gcc.texi (Bug Lists): Do not mention newsgroups nor the
1233         possibility to report bugs via postal mail. Change a URL and
1234         merge in a nearly duplicate statement...
1235         (Bug Reporting): ...from here.
1236         (Service): Refer to the Bug Reporting section instead of
1237         duplicating an URL.
1238         (Contributing): Remove trivial explanations concerning snapshots.
1239
1240 2001-01-16  Alan Modra <alan@linuxcare.com.au>
1241
1242         * cppmain.c (general_init): Don't use ANSI prototype.
1243
1244 2001-01-16  Tom Tromey  <tromey@redhat.com>
1245
1246         * gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
1247
1248 2001-01-16  Richard Henderson  <rth@redhat.com>
1249
1250         * config/i386/i386.h: Fix comment typo.
1251         * config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
1252         (ashr+compare patterns): Match CCGOCmode not CCNOmode.
1253
1254 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
1255
1256         * gcc.c:  Revert previous -fsyntax-only-related change; move
1257           to cp/g++spec.c.
1258
1259 2001-01-16  Jakub Jelinek  <jakub@redhat.com>
1260
1261         * config/i386/i386.c (fcmov_comparison_operator): Only initialize
1262         inmode after checking GET_CODE (op).
1263
1264 2001-01-16  Richard Henderson  <rth@redhat.com>
1265
1266         * flow.c (struct propagate_block_info): Add mem_set_list_len.
1267         (MAX_MEM_SET_LIST_LEN): New.
1268         (propagate_one_insn): Update mem_set_list_len.
1269         (invalidate_mems_from_autoinc): Likewise.
1270         (invalidate_mems_from_set): Likewise.
1271         (mark_used_regs): Likewise.
1272         (init_propagate_block_info): Likewise.  Stop collecting memories
1273         when we reach MAX_MEM_SET_LIST_LEN.
1274         (mark_set_1): Likewise.
1275
1276 2001-01-16  Richard Henderson  <rth@redhat.com>
1277
1278         * unroll.c (precondition_loop_p): Fail if no iteration
1279         variable found.
1280
1281 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
1282
1283         * gcc.c:  When -fsyntax-only is given, do not complain about
1284           unused libraries.
1285
1286 2001-01-15  Richard Henderson  <rth@redhat.com>
1287
1288         * config/i386/i386.c (asm_output_function_prefix): Remove.
1289         (ix86_asm_file_end): New.
1290         (load_pic_register): Generate pic_label_name into a
1291         staticly allocated buffer.
1292         * config/i386/i386-protos.h: Update.
1293         * config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
1294         (ASM_FILE_END): New.
1295         * config/i386/i386afe.h: New file.
1296         * config.gcc (i?86-*-elf) [tm_file]: Use it.
1297         (i?86-*-{freebsd,linux*,moss*}): Likewise.
1298         * config/elfos.h (ASM_FILE_END): Undef before redefinition.
1299         * config/i386/cygwin.h (ASM_FILE_END): Likewise.
1300         * config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
1301         * config/i386/sco5.h (ASM_FILE_END): Likewise.
1302         * config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
1303
1304 2001-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
1305
1306         * Makefile.in (install-man): Remove explicit dependency on
1307         $(srcdir)/gcc.1.
1308
1309         * configure.in, configure: Revert previous patch requiring perl
1310         5.6.0.
1311
1312 2001-01-12  Aldy Hernandez  <aldyh@redhat.com>
1313
1314         * toplev.c (flag_guess_branch_prob): New.
1315         (f_options): Add guess-branch-probability option.
1316         (rest_of_decl_compilation): Only estimate branch probability if
1317         flag set.
1318         (main): set flag_guess_branch_prob.
1319
1320         * flags.h (flag_guess_branch_prob): New.
1321
1322 2001-01-15  DJ Delorie  <dj@redhat.com>
1323
1324         * gcc.texi (Makefile): Add documentation for Makefile targets.
1325
1326 2001-01-15  Philip Blundell  <philb@gnu.org>
1327
1328         * config/arm/arm.c (arm_finalize_pic): New arg "prologue".
1329         (is_pic): Delete.
1330         * config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
1331         (is_pic): Delete declaration.
1332         * config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
1333         (OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
1334         * config/arm/arm.md (builtin_setjmp_receiver): New.
1335
1336 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
1337
1338         * arm.c (use_return_insn): Don't try to determine the function type
1339         until after reload has completed.
1340         (arm_output_epilogue): Don't adjust the sp value recovered from the
1341         stack.
1342         (emit_multi_reg_push): Don't record dwarf information for the pc.
1343         * arm.md (eh_epilogue): The function type may have changed, so it
1344         needs to be recalculated.
1345         * arm/netbsd.h (DWARF2_UNWIND_INFO): Delete.  Can now use dwarf2
1346         unwind tables on arm/netbsd.
1347
1348 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
1349
1350         * arm.md (cbranchsi4): Correct calculation of branch ranges.
1351         (negated_cbranchsi4): Likewise.
1352
1353 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
1354
1355         * config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
1356         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
1357         (ASM_SPEC): Call subtarget_extra_asm_spec.  Don't
1358         pass -mapcs-* options to assembler.
1359         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
1360         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
1361         (ASM_SPEC): Call subtarget_extra_asm_spec.
1362
1363 2001-01-15  Andreas Jaeger  <aj@suse.de>
1364
1365         * config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
1366         warnings.
1367         (ix86_expand_builtin): Likewise.
1368
1369         * gencodes.c (output_predicate_decls): Make i size_t to avoid
1370         warning about comparison between signed and unsigned.
1371
1372 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
1373
1374         * expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
1375
1376 2001-01-14  Ralf Baechle <ralf@gnu.org>
1377
1378         * config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
1379         SUBTARGET_CPP_SPEC apropriatly.
1380
1381 2001-01-12  Mark Mitchell  <mark@codesourcery.com>
1382
1383         * varasm.c (make_decl_rtl): Fix typo in last change.
1384
1385 2001-01-14  Jeffrey Oldham  <oldham@codesourcery.com>
1386
1387         * defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
1388         linker supports the init_priority C++ attribute.
1389         * tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
1390         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
1391         linker does not support init_priority C++ attribute.
1392
1393 Sun Jan 14 22:31:30 2001  J"orn Rennecke <amylaar@redhat.com>
1394
1395         * Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
1396
1397 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
1398
1399         * c-parse.in (finish_parse): Add comment about cpp_destroy.
1400         * cp/lex.c (finish_parse): Similarly.
1401         * cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
1402         Return the number of errors encountered.
1403         * cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
1404         * cppmain.c (main): Don't call cpp_destroy.
1405
1406 2001-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
1407
1408         * configure.in: Require at least perl 5.6.0 to regenerate
1409         manpages.
1410         * configure: Regenerate.
1411
1412 2001-01-14  Richard Henderson  <rth@redhat.com>
1413
1414         * genrecog.c (DT_veclen_ge): New.
1415         (add_to_sequence) [MATCH_PARALLEL]: Generate one.
1416         (maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
1417         (nodes_identical_1): Handle DT_veclen_ge.
1418         (write_cond, debug_decision_2): Likewise.
1419
1420 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
1421
1422         * arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete.  Replace
1423         with ...
1424         (ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
1425
1426 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
1427
1428         * cppmain.c (do_preprocessing): New function; most of the old
1429         main.
1430         (main): Call it to do most of the work.
1431         (cb): Move from global scope to set_callbacks ().
1432         (setup_callbacks): Get the callback pointer.
1433         (general_init, printer_init): Clean up code and comments.
1434
1435 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
1436
1437         * config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
1438         compiling PIC.
1439
1440 2001-01-14  Kazu Hirata  <kazu@hxi.com>
1441
1442         * config/h8300/h8300.c (get_shift_alg): Update comments.
1443
1444 Sun Jan 14 06:20:49 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1445
1446         * ggc-page.c (alloc_annon): Call perror and correctly call exit.
1447         (alloc_page, ggc_alloc): Add casts to remove warnings.
1448
1449 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
1450
1451         * combine.c (simplify_comparison): Don't change `code' when
1452         can't reverse comparison.
1453
1454 2001-01-14  Richard Henderson  <rth@redhat.com>
1455
1456         * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
1457         update all call sites.  Return true for all non-label constants.
1458
1459 Sun Jan 14 10:09:48 MET 2001  Jan hubicka  <jh@suse.cz>
1460
1461         * i386.c (ix86_expand_compare): Add bypass_test and second_test
1462         parameters.
1463         (ix86_expand_branch): Update.
1464         (ix86_expand_setcc): Update to handle multiple test conditions.
1465         (expand_int_movcc): Likewise.
1466         (expand_fp_movcc): Likewise.
1467         * i386-protos.h (ix86_expand_compare): New.
1468         * i386.md (andqi_?_slp, orqi_?_slp): New.
1469         (conditional trap expander): Update call to ix86_expand_compare.
1470
1471 2001-01-14  Richard Henderson  <rth@redhat.com>
1472
1473         * config/vax/vax.md: Use nonimmediate_operand instead of
1474         general_operand in destinations.
1475
1476         * config/vax/vax.md (indirect_jump): Use register_operand.
1477
1478         * config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
1479         * config/vax/vax.md (call_pop): Turn into an expander.
1480         (call_value_pop): Likewise.
1481         (call, call_value): New.
1482
1483 2001-01-14  Andreas Jaeger  <aj@suse.de>
1484
1485         * config/i386/i386.c (ix86_split_fp_branch): Remove unused
1486         variables.
1487         (ix86_fp_compare_mode): Add unused attribute.
1488         (ix86_expand_fp_movcc): Remove unused variable.
1489         (ix86_expand_builtin): Make fcode unsigned.
1490
1491         * expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
1492         (expand_expr): Add cast to avoid signed warning.
1493         (store_field): Likewise.
1494         (store_constructor_field): Likewise.
1495         (store_constructor): Likewise.
1496         (store_expr): Likewise.
1497         (clear_storage): Likewise.
1498         (emit_group_store): Likewise.
1499         (emit_group_load): Likewise.
1500
1501 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
1502
1503         * c-common.c: Move format checking code to ...
1504         * c-format.c: ... here.  New file.  Reorder some functions and
1505         declarations.
1506         (decl_handle_format_attribute, decl_handle_format_arg_attribute):
1507         New functions.
1508         * c-common.h (decl_handle_format_attribute,
1509         decl_handle_format_arg_attribute): Declare.
1510         * Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
1511         (c-common.o): Adjust dependencies.
1512         (c-format.o): New list of dependencies.
1513
1514 2001-01-13  Jakub Jelinek  <jakub@redhat.com>
1515
1516         * unroll.c (loop_iterations): If we cannot prove iteration variable
1517         is set once in each iteration, punt.
1518
1519 Sun Jan 14 00:23:15 2001  Denis Chertykov  <denisc@overta.ru>
1520
1521         * config/avr/avr.md ("strlenhi"): Remove clobber of input address.
1522         (*strlenhi): Remove clobber (which was buggy) of output address.
1523
1524 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
1525
1526         * Makefile.in (generated-manpages): Add gcc.1
1527         ($(srcdir)/gcc.1): New target.
1528         (maintainer-clean): Delete $(srcdir)/gcc.1.
1529         * gcc.texi: Add macros @gccoptlist and @gol.
1530         * invoke.texi: Include option summary in manpage.  Mark up option
1531         summary with @gccoptlist and @gol.  Use @r in one place where
1532         appropriate.
1533         * texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
1534         * gcc.1: Generate from invoke.texi.
1535
1536 2001-01-13  Richard Henderson  <rth@redhat.com>
1537
1538         * ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
1539         (struct page_entry): Add group member.
1540         (struct page_group): New.
1541         (struct globals): Add page_groups member.
1542         (alloc_anon): Only define for using mmap; remove valloc call.
1543         (page_group_index): New.
1544         (set_page_group_in_use): New.
1545         (clear_page_group_in_use): New.
1546         (alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
1547         (free_page, release_pages): Likewise.
1548         * configure.in (with-gc): Default to ggc-page always.
1549
1550 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
1551
1552         * reload1.c (replace_pseudos_in_call_usage): Use
1553         reg_equiv_constant and reg_equiv_address, and don't try
1554         regno_reg_rtx first.
1555
1556 2001-01-13  Richard Henderson  <rth@redhat.com>
1557
1558         * ggc-page.c (alloc_page): Round up allocation size to one page.
1559         Set e->order on extra pages.
1560
1561 2001-01-13  Richard Henderson  <rth@redhat.com>
1562
1563         * genrecog.c (nodes_identical): Expand commentary.
1564         (write_switch): Watch out for identical nodes.
1565
1566 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
1567
1568         * cppfiles.c (_cpp_fake_include): New function.
1569         * cpphash.h (_cpp_fake_include): New.
1570         * cpplib.c (do_line): Call _cpp_fake_include when entering
1571         header files in preprocessed input.
1572         * cppmain.c (cb_pragma_implementation): Remove handling.
1573         (setup_callbacks): Don't register pragmas.
1574
1575 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
1576
1577         * extend.texi: Udate for CPP.
1578
1579 2001-01-13  Andreas Jaeger  <aj@suse.de>
1580
1581         * reload1.c: Add prototype for replace_pseudos_in_call_usage.
1582
1583         * regmove.c: Add prototype for replace_in_call_usage.
1584
1585 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
1586
1587         * cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
1588         struct cpp_chunk, struct htab, struct toklist,
1589         struct cpp_context, CPP_STACK_MAX, struct lexer_state,
1590         struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
1591         CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
1592         ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
1593         (struct macro_args): Delete.
1594         * cpphash.h: See above.
1595
1596 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
1597
1598         * cppmain.c (struct printer): Remove no_line_dirs.
1599         (options, cb): New.
1600         (main, setup_callbacks, scan_buffer, printer_init, cb_define)
1601         : Use options rather than CPP_OPTION.
1602         (setup_callbacks): Use cb rather than pfile->cb.
1603         (main): No need to check for a buffer.  Use cpp_errors.
1604         (printer_init): Don't set no_line_dirs.
1605         (maybe_print_line): Use options not no_line_dirs.
1606         (cb_file_change): Don't call print_line if -P.
1607
1608 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
1609
1610         * c-lex.c (init_c_lex): Use cpp_get_callbacks to set
1611         callbacks.
1612         * c-parse.in (finish_parse): Use cpp_errors.
1613         (__yylex): Use return value of cpp_pop_buffer.
1614         * cp/lex.c (finish_parse): Use cpp_errors.
1615         * cp/spew.c (read_token): Use return value of cpp_pop_buffer.
1616
1617 Sat Jan 13 16:57:40 2001  Denis Chertykov  <denisc@overta.ru>
1618
1619         * README.AVR: URLs corrected.
1620
1621 Sat Jan 13 07:30:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1622
1623         * c-decl.c (start_function): Don't warn if old prototype is builtin
1624         that's not in C's namespace.
1625         * libgcc2.c (_varargs): Update definition of __builtin_saveregs.
1626         (_bb): Add prototype for ctime.
1627         * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
1628
1629 Sat Jan 13 09:53:32 MET 2001  Jan Hubicka  <jh@suse.cz>
1630
1631         * i386.c (ix86_fp_comparison_arithmetics_cost,
1632         ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
1633         ix86_fp_comparison_cost): New functions.
1634         (ix86_expand_fp_compare): Use the costs to choose best bethod; add
1635         two new parameters SECOND_TEST and BYPASS_TEST; allow generating
1636         two-branch sequences; make static.
1637         (ix86_use_fcomi_compare): Do decision according to the costs.
1638         (split_fp_branch): New.
1639         * i386.md (compare-and-branch patterns): Use split_fp_branch.
1640         * i386-protos.h (ix86_expand_fp_compare): Remove
1641         (ix86_split_fp_branch): Declare.
1642
1643         * i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
1644         and ix86_comparison_operator.
1645
1646         * i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
1647         to make it cheaper.
1648
1649         * i386.c (put_condition_code): Output properly the unordered/ordered
1650         compares in fp case.
1651         (ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
1652
1653         * tm.texi (REVERSE_CONDITION): Document.
1654         * i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
1655         in -ffast-math mode.
1656         * i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
1657
1658 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
1659
1660         * config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
1661
1662         * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
1663         optimized away.
1664
1665         * config/sh/sh.c (mova_p): Fix test for mova_const.
1666
1667 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
1668
1669         * fix-header.c (read_scan_file): Use cpp_get_callbacks and
1670         cpp_get_options rather than dereferencing pfile and using
1671         CPP_OPTION.
1672         * scan-decls.c (scan_decls): Use return value of
1673         cpp_pop_buffer rather than CPP_BUFFER.
1674
1675 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
1676
1677         * cppinit.c (cpp_handle_option): help_only is now part of the
1678         cpp_options structure.
1679         * cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
1680         cpp_set_callbacks): New functions.
1681         * cpplib.h (cpp_callbacks): Break out as a named structure.
1682         (cpp_options): Move help_only here from cpp_reader.
1683         (CPP_FATAL_ERRORS): Update to use cpp_errors.
1684         (cpp_errors, cpp_get_options, cpp_get_callbacks,
1685         cpp_set_callbacks): New prototypes.
1686         * cppmain.c (main): Update for help_only.
1687
1688 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
1689
1690         * Makefile.in (info, maintainer-clean, install-info, uninstall):
1691         Also build and remove and install and uninstall c-tree.info and
1692         cppinternals.info.
1693         ($(srcdir)/gcc.info): Add dependency on contrib.texi.
1694         ($(srcdir)/cppinternals.info): New target.
1695         * c-tree.texi: Change file name used when makeinfo used without -o
1696         from ir.info to c-tree.info.  Add info directory entry.
1697         * cppinternals.texi: Add info directory entry.
1698         * .cvsignore: Update.
1699
1700 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
1701
1702         * c-typeck.c (store_init_value): Don't require constant initializer
1703         elements with -pedantic -std=c99.
1704         (digest_init): Change error about non-constant initializer elements
1705         into pedwarn.
1706         (constructor_range_end): Remove.
1707         (constructor_incremental, designator_depth,
1708         designator_errorneous): New variables.
1709         (struct constructor_stack): Remove range_end, add incremental.
1710         (struct constructor_range_stack, constructor_range_stack): New.
1711         (struct initializer_stack): Add constructor_range_stack.
1712         (finish_init): Set it.
1713         (start_init): Likewise.  require_constant_elements for non-static
1714         trees only if not flag_isoc99.
1715         (really_start_incremental_init): Remove constructor_range_end, add
1716         constructor_incremental.
1717         (pop_init_level): Likewise.
1718         (push_init_level): Likewise.  If implicit and the subobject had some
1719         value set already, preinitialize the level with it.
1720         Warn about missing braces only if not pushing due to designators.
1721         (set_designator, push_range_stack): New functions.
1722         (set_init_label): Use them.
1723         (set_init_index): Likewise.  Remove constructor_range_end.
1724         Error if designator index is outside of array bounds.
1725         (add_pending_init): Compare values of purpose index trees, not the
1726         trees themselves.  Allow overwriting of already initialized element.
1727         Issue a warning if it had side-effects.
1728         (set_nonincremental_init, set_nonincremental_init_from_string): New
1729         functions.
1730         (pending_init_member): Rename to...
1731         (find_init_member): ...this function.  Call set_nonincremental_init
1732         if necessary.  Compare values of purpose index trees, not the trees
1733         themselves.  Return the actual value, not just non-zero if something
1734         is found.
1735         (output_init_element): Remove checks for duplicates.
1736         If field has zero size, only check the initializer for correctness.
1737         Call set_nonincremental_init if necessary.  Push RECORD/ARRAY into AVL
1738         if constructor_incremental is zero.  Change error about initializers
1739         not computable at load time into pedwarn.
1740         (output_pending_init_elements): Compare bit positions, not
1741         FIELD_DECLs to take into account zero-sized fields.
1742         (process_init_element): Use constructor_range_stack to fill all
1743         ranges in the designator lists from current level up.
1744         * extend.texi: Update documentation for labeled elements.
1745
1746 2001-01-12  Alexandre Oliva  <aoliva@redhat.com>
1747
1748         * calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
1749         to function usage for arguments passed by reference.  Optimize
1750         callee-copied arguments.
1751         * regmove.c (replace_in_call_usage): New function.
1752         (fixup_match_1): Call it.
1753         * cse.c (cse_insn): Canonicalize registers in function usage.
1754         * reload1.c (replace_pseudos_in_call_usage): New function.
1755         (reload): Call it.
1756
1757         * Makefile.in: Reverted yesterday's wrong patch.  Installed the
1758         right version.
1759
1760 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
1761
1762         * config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
1763         not XEXP (tmp, 0).
1764
1765 2001-01-12  DJ Delorie  <dj@redhat.com>
1766
1767         * Makefile.in (bootstrap): rename stages to be mnemonic.  Add
1768         restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
1769         targets.
1770
1771 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
1772
1773         * cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
1774         tm.texi: Consistently refer to ISO C instead of ANSI C.  Refer to
1775         -std options alongside references to -ansi.  Update some
1776         documentation for C99.
1777         * cpp.1: Regenerate.
1778
1779 2001-01-12  Andreas Jaeger  <aj@suse.de>
1780
1781         * haifa-sched.c (restore_line_notes): Remove argument block B
1782         since it's unused.
1783         * sched-ebb.c (schedule_ebb): Change caller.
1784         * sched-rgn.c (schedule_region): Likewise.
1785         * sched-int.h (restore_line_notes): Adjust prototype.
1786
1787         * loop.h: Remove wrong declaration of doloop_condition_get.
1788
1789 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
1790
1791         * extend.texi:  Move C++-extension-related node from the C section
1792           into the C++ section.
1793
1794 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
1795
1796         * extend.texi: Refer to an array of pointers to functions instead
1797         of one of functions.
1798
1799 Fri Jan 12 12:08:12 MET 2001  Andreas Jaeger  <aj@suse.de>
1800                               Jan Hubicka  <jh@suse.cz>
1801
1802         * combine.c (reversed_comparison): Fix typo in last patch.
1803         Check X for NULL.
1804         (combine_reversed_comparison_code): Make static to follow
1805         prototype declaration.
1806
1807 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
1808
1809         * install.texi:  Remove misplaced duplicate entry.
1810
1811 2001-01-11  Ulrich Drepper  <drepper@redhat.com>
1812
1813         * config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
1814
1815 Thu Jan 11 17:06:30 EST 2001  John Wehle  (john@feith.com)
1816
1817         * final.c: (leaf_function_p): Fix typo.
1818
1819 2001-01-11  Zack Weinberg  <zack@wolery.stanford.edu>
1820
1821         * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
1822         Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
1823         which you have.
1824         (AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
1825         * configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
1826         mmap_anon, and valloc is available.
1827         * ggc-page.c: Restructure ifdef logic to match new autoconf
1828         spec.  Don't throw away the test page in init_ggc.
1829
1830         * configure, config.in: Regenerate.
1831
1832 2001-01-12  Michael Hayes  <mhayes@redhat.com>
1833
1834         * loop.h (total_biv_increment): Constify iv_class pointer.
1835         (struct induction): Replace `mem_mode' with `mem' rtx.
1836         * unroll.c (total_biv_increment): Constify iv_class pointer.
1837         * loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
1838         (find_mem_givs, combine_givs_p): Likewise.
1839         (debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
1840
1841 2001-01-10  Thomas Pfaff <tpfaff@gmx.net>
1842
1843         * gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
1844         LastError.
1845         (__gthread_getspecific): Ditto.
1846
1847 Fri Jan 12 00:04:00 MET 2001  Jan Hubicka  <jh@suse.cz>
1848
1849         * i386.c (ix86_comparison_operator, fcmov_comparison_operator,
1850         put_condition_code): Convert fp comparison codes to integer
1851         before handling.
1852         (ix86_expand_fp_compare): Postnote the fp comparison code converison
1853         to final.
1854
1855         * i386.c (unsigned_comparison, no_comparison_operator): Kill.
1856         * i386-protos.h (no_comparison_operator): Kill.
1857
1858         * i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
1859
1860         * combine.c (REVERSIBLE_CC_MODE): Remove.
1861         (reversible_comparison_p): Remove.
1862         (combine_reversed_comparison_code): New.
1863         (reversed_comparison): New.
1864         (combine_simplify_rtx): Use
1865         combine_reversed_comparison_code/reversed_comparison instead
1866         of reversible_comparison_p.
1867         (simplify_if_then_else): Likewise.
1868         (simplify_set): Likewise.
1869         (simplify_logical): Likewise.
1870         (if_then_else_cond): Likewise.
1871         (known_cond): Likewise.
1872         (simplify_comparison): Likewise.
1873
1874 2001-01-11  Alan Lehotsky  <lehotsky@tiac.net>
1875
1876         * builtins.c (std_expand_builtin_va_start): Handle varargs when
1877         sizeof (int) is larger than sizeof(__word__).
1878
1879 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
1880
1881         * cppinit.c (do_includes): Fix typo.
1882
1883 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1884
1885         * config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
1886         in S_REGS does not occur because not all sources are possible
1887         when a S_REGS is a destination (sometimes needs a clobber).
1888         (movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
1889         (zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
1890         (anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
1891         (ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
1892         (ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
1893         (ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
1894         (lshrdi_const1, lshrsi3_const16): Likewise.
1895         (*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
1896         (*movhi_68hc12, *movqi_68hc12): Likewise.
1897         (movstrictqi): Make sure reloading in D_REGS as a destination
1898         does not happen.
1899
1900 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
1901
1902         * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
1903
1904 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
1905
1906         * cppinit.c (cpp_start_read): If -fpreprocessed, ignore
1907         -D, -U and -A, and don't initialize the builtins.
1908         (do_includes): Error if -include or -imacros with -fpreprocessed.
1909         * cppmain.c (cb_define, cb_undef): Unconditionally process
1910         the callback.
1911         * tradcpp.c (main): Fix typo.
1912
1913 2000-01-11  Mark Elbrecht  <snowball3@bigfoot.com>
1914
1915          * cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
1916            (read_name_map): Use IS_ABSOLUTE_PATH.
1917          * tradcpp.c (get_filename): Likewise.
1918
1919 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1920
1921         * config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
1922         (*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
1923         (*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
1924         (*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
1925         (*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
1926         (cmphi_z_used): Don't use '@' for the output.
1927         (tstqi_z_used): Likewise.
1928         (cmpqi_z_used): Likewise.
1929         (one_cmplsi2): Likewise.
1930
1931 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
1932
1933         * config/sh/sh.c (barrier_align): Recognize branch around far
1934         branch and redundant insn.
1935
1936 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
1937
1938         * invoke.texi: Restore documentation of the drivers' switches -MD
1939         and -MMD.
1940
1941 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
1942
1943         * config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
1944
1945         * Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
1946         check-objc//%): Support parallel testing of multilibs.
1947         (TESTSUITEDIR): Set to testsuite by default, but override for
1948         parallel testing.
1949         (check-gcc, check-g++, check-g77, check-objc): Enter
1950         $(TESTSUITEDIR).
1951
1952 2001-01-11  Bernd Schmidt  <bernds@redhat.com>
1953
1954         * alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
1955         * sched-deps.c (deps_may_trap_p): Likewise.
1956         * basic-block.h: Remove a comment.
1957         * flow.c (PROP_POSTRELOAD): Remove.
1958         (update_life_info): Don't add it to prop_flags.
1959         (mark_set_1): Lose the code that was enabled by it.
1960
1961 2001-01-11  Michael Hayes  <mhayes@redhat.com>
1962
1963         * flow.c (flow_call_edges_add): New.
1964         * basic_block.h (flow_call_edges_add): New.
1965
1966 2001-01-11  J"orn Rennecke <amylaar@redhat.com>
1967
1968         * reload1.c (move2add_note_store): Update reg_set_luid even if
1969         base reg remains the same.
1970
1971 2001-01-10  Nick Clifton  <nickc@redhat.com>
1972
1973         * config/d30v/d30v.c (d30v_init_machine_status): Initialise
1974         machine_function structure to zero.
1975         Add prototypes for machine_status functions.
1976
1977 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
1978
1979         * c-common.h (CTI_VOID_LIST): Remove.
1980         (void_list_node): Likewise.
1981         * tree.h (TI_VOID_LIST_NODE): New enumeral.
1982         (void_list_node): New macro.
1983         * config/arm/arm.c (arm_init_builtins): Use void_list_node.
1984         * config/i386/i386.c (ix86_init_builtins): Likewise.
1985         * config/ia64a/ia64.c (ia64_init_builtins): Likewise.
1986
1987 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
1988
1989         * Makefile.in (tradcpp0): Depend on mkdeps.h.  Link mkdeps.o
1990         * cppinit.c (cpp_start_read): Update comment, remove unneeded
1991         if statement.
1992         * tradcpp.c: Include mkdeps.h.
1993         (deps, print_deps_phony_targets, deps_append, output_deps,
1994         init_dependency_output, output_deps): New.
1995         (deps_buffer, deps_allocated_size, deps_size, deps_column,
1996         deps_output): Delete.
1997         (print_deps_missing_files): Rename deps_missing_files.
1998         (inhibit_output): Make global.
1999         (main): Delete inhibit_output, deps_stream, deps_target.
2000         Use mkdeps functionality in the same way as cpplib.  Remove
2001         -g3 handling.  Handle -MF, -MP, -MQ, -MT.  Update handling of
2002         -M and -MM.  Remove old handling of deps via deps_out, and
2003         old reading of environment variables.
2004         (get_filename): Update to use deps_add_dep.
2005
2006 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
2007
2008         * output.h (make_function_rtl): Remove prototype.
2009         (make_decl_rtl): Likewise.
2010         * varasm.c (make_function_rtl): Remove.
2011         (make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
2012         than from a third parameter.
2013         * tree.h (make_decl_rtl): Remove last parameter.
2014         * c-decl.c (builtin_function): Remove last argument in call to
2015         make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
2016         (start_function): Likewise.
2017         * except.c (call_get_eh_context): Likewise.
2018         * expr.c (emit_block_move): Likewise.
2019         (clear_storage): Likewise.
2020         * profile.c (output_func_start_profiler): Likewise.
2021         * toplev.c (rest_of_decl_compilation): Likewise.
2022         * objc/objc-act.c (create_builtin_decl): Likewise.
2023         (synth_module_prologue): Likewise.
2024         (generate_static_reference): Likewise.
2025         (build_selector_reference_decl): Likewise.
2026         (build_class_reference_decl): Likewise.
2027         (build_objc_string_decl): Likewise.
2028         (build_protocol_reference): Likewise.
2029
2030 2001-01-10  Richard Henderson  <rth@redhat.com>
2031
2032         * hwint.h: Revert yesterday's change.
2033
2034 2001-01-10  Nick Clifton  <nickc@redhat.com>
2035
2036         * function.h (save_machine_status): Delete.
2037         (restore_machine_status): Delete.
2038         Amend comment describing {init|mark|free}_machine_status.
2039
2040         * function.c (save_machine_status): Delete.
2041         (restore_machine_status): Delete.
2042         Amend comment describing {init|mark|free}_machine_status.
2043         (push_function_context_to): Remove invocation of
2044         save_machine_status.
2045         (pop_function_context_from): Remove invocation of
2046         restore_machine_status.
2047
2048         * emit-rtl.c (init_emit_once): Amend comment describing
2049         {init|mark|free}_machine_status.
2050
2051         * tm.texi (Per-Function Data): New node.  Describe the
2052         INIT_EXPANDERS macro and the {init|mark|free}_machine_status
2053         function pointers.
2054
2055 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
2056
2057         * cppinit.c (OPT_g): Remove.
2058         (cpp_handle_option): Update for removed -g3.
2059         (print_help): Update.
2060         * cpplib.h (struct cpp_options): Remove debug_output.
2061         * cppmain.c (setup_callbacks, cb_define): Update.
2062         * gcc.c (cpp_options): Translate -g3 to -dD.
2063
2064 2001-01-10  Aldy Hernandez  <aldyh@redhat.com>
2065
2066         * config/i960/i960.md: Change modifier to + on the zero_extract
2067         pattern after the (rotate -2 reg) canonicalization pattern.
2068
2069 2001-01-10  Richard Henderson  <rth@redhat.com>
2070
2071         * config/alpha/alpha.c (alpha_free_machine_status): New.
2072         (override_options): Install it.
2073         (alpha_mark_machine_status): Verify machine non-null.
2074         * config/i386/i386.c (ix86_free_machine_status): New.
2075         (override_options): Install it.
2076         (ix86_init_machine_status): Use xcalloc.
2077         (ix86_mark_machine_status): Verify machine non-null.
2078         * config/ia64/ia64.c (ia64_free_machine_status): New.
2079         (ia64_override_options): Install it.
2080         (ia64_mark_machine_status): Verify machine non-null.
2081
2082 Wed Jan 10 11:34:39 2001  Jeffrey A Law  (law@cygnus.com)
2083
2084         * function.c (instantiate_virtual_regs): Instantiate virtual
2085         registers found in CALL_INSN_FUNCTION_USAGE.
2086
2087 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
2088
2089         * i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
2090         equivalent to -ansi in disabling -Di386.
2091
2092 Wed Jan 10 16:38:31 MET 2001  Jan Hubicka  <jh@suse.cz>
2093
2094         * i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
2095         new functions.
2096         (ix86_expand_fp_compare): Make trivial use of new infrastructure.
2097
2098 2001-01-10  Richard Earnshaw  <rearnsha@arm.com>
2099
2100         * arm.c (arm_init_builtins): Temporarily disable xscale builtins.
2101
2102 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
2103
2104         * invoke.texi: Document that -fcond-mismatch isn't supported for
2105         C++.
2106
2107 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
2108
2109         * gcc.texi: Define macro gcctabopt.
2110         * invoke.texi: Add manpage sections BUGS and AUTHOR.  Use
2111         @command, @env and @option in some places where appropriate.  Use
2112         @gcctabopt where appropriate.  Put URLs and email addresses inside
2113         @w.
2114
2115 2001-01-10  Nathan Sidwell  <nathan@codesourcery.com>
2116
2117         * gcc.c (cpp_options): Set MD file name from output
2118         filename, if specified.
2119         (suffix_subst): New static variable.
2120         (do_spec): Clear it.
2121         (do_spec_1, case '.'): Handle new `%.suffix' spec.
2122         Clear it.
2123         (give_switch): Handle suffix_subst.
2124
2125 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
2126
2127         * invoke.texi:  Fix another typo.
2128
2129 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
2130
2131         * invoke.texi:  Fix typo.
2132
2133 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
2134
2135         * c-lang.c (lang_hooks): Update.
2136         (lang_decode_option): Remove.
2137         (lang_init_options): Rename c_init_options.
2138         * toplev.c (main): Use lang_hooks for lang_init_options
2139         and lang_decode_option.
2140         * toplev.h (lang_hooks): Add 2 new hooks.
2141         * tree.h: Remove lang_init_options and lang_decode_option.
2142         * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
2143         * cp/decl2.c: Similarly.
2144         * cp/lex.c (lang_init_options): Rename cxx_init_options.
2145         (lang_hooks): Update.
2146         * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
2147         for consistency.
2148         (lang_init_options): Rename ffe_init_options.
2149         (lang_hooks): Update.
2150         (lang_decode_option): Remove.
2151         * java/lang.c (lang_init_options): Rename java_init_options.
2152         (lang_decode_option): Rename java_decode_option.
2153         (lang_hooks): Update.
2154         * objc/objc-act.c (lang_init_options): Rename objc_init_options.
2155         (lang_decode_option): Rename objc_decode_option.
2156         (lang_hooks): Update.
2157
2158 2001-01-09  Nick Clifton  <nickc@redhat.com>
2159
2160         * config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
2161         (d30v_return_addr_rtx): Delete.
2162         (d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
2163         cfun->machine structure.
2164         (struct machine_function): Move to d30v.h
2165         (d30v_save_machine_status): Delete.
2166         (d30v_restore_machine_status): Delete.
2167         (d30v_init_machine_status): New Function.
2168         (d30v_mark_machine_status): New Function.
2169         (d30v_free_machine_status): New Function.
2170         (d30v_init_expanders): Use new functions.
2171         (d30v_return_addr): Use ra_rtx field in cfun->machine.
2172         (d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
2173         d30v_return_addr_rtx.
2174
2175         * config/d30v/d30v.h (struct_machine): Move here.
2176         Add eh_epilogue_sp_ofs field.
2177
2178         *config/d30v/d30v.md (epilogue): Initialise eh_epilogue_sp_ofs
2179         field in cfun->machine structure.
2180
2181 Tue Jan  9 21:34:57 2001  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2182
2183         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
2184         PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
2185         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
2186
2187 Tue Jan  9 21:25:19 2001  Jeffrey A Law  (law@cygnus.com)
2188
2189         * objc/lang-options.h: Remove bogus reference to
2190         Java trademark.
2191
2192 2001-01-09  Kazu Hirata  <kazu@hxi.com>
2193
2194         * config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
2195         return the result.
2196
2197 2001-01-09  Alan Lehotsky  <lehotsky@tiac.net>
2198
2199         * reload.c (find_reloads_address): Check for eliminable registers
2200                   when substituting a constant expression for a pseudo.
2201
2202 2001-01-09  Joseph S. Myers  <jsm28@cam.ac.uk>
2203
2204         * c-common.c (enum format_type): Add format_type_error.
2205         (decode_format_type): New function.
2206         (decl_attributes): Use it.
2207         (format_kind_info): Adjust comment.
2208
2209 2001-01-09  David O'Brien  <obrien@BSDi.com>
2210
2211         * config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
2212         i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
2213         files in tm_file.
2214         * config/i386/gnu.h: Don't include required platform specific .h files,
2215         tm.h will do it instead.
2216         * config/i386/i386elf.h: Likewise.
2217         * config/i386/linux.h: Likewise.
2218         * config/i386/moss.h: Likewise.
2219         * config/mips/gnu.h: Likewise.
2220
2221 2001-01-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2222
2223         * config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
2224         (rs6000-ibm-aix3.[01]*): Likewise.
2225         (rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
2226         (rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
2227         (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
2228         (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
2229         (powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
2230         (powerpc-*-eabiaix*): Likewise.
2231         (powerpc-*-eabisim*): Likewise.
2232         (powerpc-*-elf*): Likewise.
2233         (powerpc-*-eabi*): Likewise.
2234         (powerpc-*-rtems*): Likewise.
2235         (powerpc-*-linux*libc1): Likewise.
2236         (powerpc-*-linux*): Likewise.
2237         (powerpc-wrs-vxworks*): Likewise.
2238         (powerpcle-wrs-vxworks*): Likewise.
2239         (powerpcle-*-sysv*): Likewise.
2240         (powerpcle-*-elf*): Likewise.
2241         (powerpcle-*-eabisim*): Likewise.
2242         (powerpcle-*-eabi*): Likewise.
2243         (powerpcle-*-solaris2*): Likewise.
2244         * config/rs6000/aix31.h: Delete includes.
2245         * config/rs6000/aix3newas.h: Likewise.
2246         * config/rs6000/aix41.h: Likewise.
2247         * config/rs6000/aix43.h: Likewise.
2248         * config/rs6000/beos.h: Likewise.
2249         * config/rs6000/rtems.h: Likewise.
2250         * config/rs6000/sysv4.h: Likewise.
2251
2252 2001-01-09  Kazu Hirata  <kazu@hxi.com>
2253
2254         * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
2255         Change an argument mode of machine_mode to shift_mode of
2256         shift_mode.  Remove an extra error check.
2257         (emit_a_shift): Adopt to the new calling prototype of
2258         get_shift_alg.
2259         (function_prologue): Fix code for a monitor
2260         function.  Support H8/S.
2261         (function_epilogue): Do not output pop for a monitor function.
2262
2263 2001-01-09  Nick Clifton  <nickc@redhat.com>
2264
2265         * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
2266         (setup_incoming_varargs): Use sysv_varargs_p field of the
2267         cfun->machine structure.
2268         (struct machine_function): Move to rs6000.h
2269         (rs6000_save_machine_status): Delete.
2270         (rs6000_restore_machine_status): Delete.
2271         (rs6000_init_machine_status): New Function.
2272         (rs6000_free_machine_status): New Function.
2273         (rs6000_init_expanders): Use new functions.
2274
2275         * config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
2276         export.
2277         (struct machine_function): Move here.
2278
2279         * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
2280         sysv_varargs_p field of the cfun->machine structure.
2281
2282         * config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
2283         Remove prototype.
2284         (rs6000_restore_machine_status): Remove prototype.
2285
2286 2001-01-09  Richard Henderson  <rth@redhat.com>
2287
2288         * sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
2289         reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
2290         * sched-deps.c (sched_analyze_1): Update uses of struct deps.
2291         (sched_analyze_2, sched_analyze_insn): Likewise.
2292         (sched_analyze, init_deps): Likewise.
2293         (free_deps): Likewise.  Iterate with EXECUTE_IF_SET_IN_REG_SET.
2294         * sched-rgn.c (propagate_deps): Likewise.  Remove max_reg argument.
2295         (compute_block_backward_dependences): Update propagate_deps call.
2296
2297 2001-01-09  Mark Elbrecht  <snowball3@bigfoot.com>
2298
2299         * gcc.c (process_command): Set switches[n_switches].ordering to 0.
2300
2301 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
2302
2303         * cppinit.c (OPT_MD, OPT_MMD): Restore.
2304         (cpp_handle_option): Handle them.
2305         (cpp_post_options): Ensure one of -M or -MM is specified with
2306         any other -M? option.
2307         (init_dependency_output): Suppress output with -MG.
2308
2309 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
2310
2311         * cpp.texi: Update.
2312         * invoke.texi: Update.
2313
2314 2001-01-09  Bernd Schmidt  <bernds@redhat.com>
2315
2316         * sh.md (reload_outsf): Generate recognizable patterns for
2317         TARGET_SH3E.
2318
2319 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
2320
2321         * c-lang.c (lang_hooks): Update.
2322         (lang_init): Rename c_init.
2323         (lang_finish): Remove.
2324         * toplev.c (compile_file): Use lang_hooks for lang_init ()
2325         and lang_finish ().
2326         * toplev.h (lang_hooks): Add init () and finish ().
2327         * tree.h (lang_init, lang_finish): Remove.
2328         * cp/tree.h (lang_init, lang_finish): Remove.
2329         * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
2330         * cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
2331         lang_hooks): New.
2332         (lang_init, lang_finish): Remove.
2333         * f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
2334         (lang_hooks): Update.
2335         * java/lang.c (lang_init): Rename java_init.
2336         (lang_finish): Remove.
2337         (lang_hooks): Update.
2338         * objc/objc-act.c (lang_init): Rename objc_init.
2339         (lang_finish): Remove.
2340         (lang_hoooks): Update.
2341
2342 20001-01-09  Graham Stott  <grahams@redhat.com>
2343
2344         * cppfiles.c (_cpp_execute_include): Move `len` initialisation
2345         after `ptr` is initialised.
2346
2347 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
2348
2349         * config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
2350         (INITIALIZE_TRAMPOLINE): Adjust accordingly.
2351         * config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
2352         stack adjusts, instead of r3.
2353
2354 2001-01-09  Michael Hayes  <mhayes@redhat.com>
2355
2356         * flow.c (flow_loop_scan): Break out of ...
2357         (flow_loops_find) ... here.
2358         * basic-block.h (flow_loop_scan): New.
2359         (LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
2360         (LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
2361
2362 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
2363
2364         * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
2365         macro_buffer_len.
2366         * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
2367         realloc()ing macro_buffer.
2368
2369         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
2370         if it's wider than long and the target's long is wider than the
2371         host's.
2372
2373 2001-01-09  Mark Mitchell  <mark@codesourcery.com>
2374
2375         Remove support for using UWIN as a host machine.
2376         * configure.in: Issue an error message.
2377         * configure: Regenerated.
2378         * config.gcc: Remove xm_* UWIN configury.
2379         * config/i386/xm-uwin.h: Remove.
2380
2381 2001-01-08  Nick Clifton  <nickc@redhat.com>
2382
2383         * config/v850/v850.c (ra_rtx): Delete.
2384         (v850_save_machine_status): Delete.
2385         (v850_restore_machine_status): Delete.
2386         (v850_init_machine_status): New function.
2387         (v850_mark_machine_status): New function.
2388         (v850_free_machine_status): New function.
2389         (v850_return_addr): Use ra_rtx field in machine structure.
2390         (v850_init_expanders): Use new functions.
2391
2392         * config/v850/v850-protos.h: Fix prototypes for v850_output_*
2393         * config/v850/v850.c: Change arguments to v850_output+* functions
2394         to take a const char *, to avoid compile time warning.
2395         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
2396         (USER_LABEL_PREFIX): Redefine.
2397
2398 2000-01-08  Jim Wilson  <wilson@redhat.com>
2399
2400         * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
2401         1 to unsigned HOST_WIDE_INT before left shift.
2402
2403 2001-01-08  Nick Clifton  <nickc@redhat.com>
2404
2405         * config/arm/arm.c (arm_mark_machine_status): Check to see if
2406         the machine structure has been allocated.
2407         (arm_free_machine_status): New function: Free the machine
2408         specific function structure.
2409
2410 2001-01-08  Richard Henderson  <rth@redhat.com>
2411
2412         * jump.c (simplejump_p): Revert last change.
2413
2414 2001-01-08  Neil Booth  <neil@daikokuya.demon.co.uk>
2415
2416         * cppinit.c (init): Rename init_library.
2417         (cpp_create_reader): Update.
2418         * gcc.c (cpp_options): If -o given, use it as the target of
2419         any -M options.
2420
2421 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
2422
2423         * arm.c (arm_arch5e): New variable.
2424         (all_cores): XScale is a 5TE device.
2425         (arm_override_options): Set arm_arch5e.
2426         (arm_init_builtins): __builtin_prefetch is in arch5e.
2427         * arm.h (arm_arch5e): Declare it.
2428
2429         * arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
2430
2431         * arm.md (define_constants): Add defines for UNSPEC and
2432         UNSPEC_VOLATILE insns.  Update all users.
2433         (define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
2434         * arm.c (multi_register_push, note_invalid_constants)
2435         (emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
2436         * arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
2437         (STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
2438
2439 Mon Jan  8 16:14:56 MET 2001  Jan Hubicka  <jh@suse.cz>
2440
2441         * jump.c (jump_optimize_1): Use reversed_comparison_code
2442         instead of can_reverse_comparison_p.
2443         (jump_back_p): Likewise.
2444         (invert_exp_1): Likewise.
2445         (thread_jumps): Likewise.
2446         * simplify-rtx.c (simplify_unary_operation): Likewise.
2447         (simplify_ternary_operation): Likewise.
2448         * cse.c (find_comparison_args): Convert to use
2449         can_reverse_comparison_p.
2450         (record_jump_equiv): Likewise.
2451
2452 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
2453
2454         * arm.h (HARD_REGNO_RENAME_OK): Delete.
2455         (EPILOGUE_USES): Define.
2456         (INITIAL_ELIMINATION_OFFSET): Current prologue code does not
2457         automatically stack the LR if it isn't live.
2458
2459 Mon Jan  8 13:46:02 MET 2001  Jan Hubicka  <jh@suse.cz>
2460
2461         * i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
2462         properly.
2463
2464 Sun Jan  7 18:37:43 2001  Mark P Mitchell  <mark@codesourcery.com>
2465
2466         * ggc-page.c (max_alignment): New structure.
2467         (MAX_ALIGNMENT): New macro.
2468         (init_ggc): Use it to round up the sizes in the
2469         extra_order_size_table.
2470
2471 2001-01-07  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2472
2473         * config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
2474         after reload.
2475
2476 2001-01-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2477
2478         * builtins.def (BUILT_IN_FPRINTF): New entry.
2479
2480         * c-common.c (c_expand_builtin_fprintf): New function.
2481         (init_function_format_info): Handle __builtin_fprintf.
2482         (c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
2483         (c_expand_builtin): Handle BUILT_IN_FPRINTF.
2484
2485         * c-decl.c (duplicate_decls): Adjust comment.
2486
2487         * extend.texi (fprintf): Document new builtin.
2488
2489 2001-01-07  Richard Henderson  <rth@redhat.com>
2490
2491         * jump.c (simplejump_p): Recognize any single_set jump
2492         of the proper form.
2493
2494 2001-01-07  Richard Henderson  <rth@redhat.com>
2495
2496         * configure.in (slibdir): Accept an --with-slibdir option.
2497         Use "test" not "[" in configure.  Default to $(libdir).
2498
2499         * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
2500         fix typo in rm -f.
2501         * config/t-aix43 (SHLIB_INSTALL): Likewise.
2502         * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
2503         (SHLIB_LINK): Create links for the soname.
2504         * config/mips/t-iris6: Likewise.
2505         * config/sparc/t-slibgcc: Likewise.
2506         * config/sparc/t-slibgcc-sld: Likewise.
2507
2508 2001-01-07  Jakub Jelinek  <jakub@redhat.com>
2509
2510         * config/i386/i386.c (constant_call_address_operand): Accept
2511         (const (plus (symbol_ref) (const_int))).
2512         * config/i386/i386.h (PREDICATE_CODES): Add CONST for
2513         constant_call_address_operand.
2514
2515 2001-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2516
2517         * libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
2518         and LONG_LONG_TYPE_SIZE > 32.
2519
2520 2001-01-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2521
2522         * jump.c (reversed_comparison_code_parts): Fix typo introduced by
2523         the previous change.
2524
2525 Sun Jan  7 19:37:48 MET 2001  Jan Hubicka  <jh@suse.cz>
2526
2527         * jump.c (reversed_comparison_code_parts, reversed_comparison_code):
2528         New.
2529         (can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
2530         (reverse_condition_maybe_unordered): Abort on unsigned comparisons.
2531         * rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
2532         Declare.
2533
2534 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
2535
2536         * fix-header.c (read_scan_file): s/pfile/scan_in/.
2537
2538 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
2539
2540         * c-lang.c (c_post_options): Call cpp_post_options.
2541         * objc/objc-act.c (objc_post_options): Similarly.
2542         * cppmain.c (main): Similarly.
2543         * fix-header.c (read_scan_file): Similarly.
2544         * cppinit.c (cpp_start_read): Move option consistency checks
2545         to cpp_post_options.  Don't call init_dependency_output.
2546         If needed, add default target and main file dependency.
2547         (OPT_MD, OPT_MMD): Remove.
2548         (OPT_MF): New.
2549         (cpp_handle_option): Update for OPT_* changes.
2550         (cpp_post_options): New.
2551         (init_dependency_output): Command line -MF overrides environment
2552         variables.  Don't set default target etc.  Suppress output
2553         if dependencies are going to stdout.
2554         (print_help): Update.
2555         * cpplib.h (cpp_post_options): New.
2556         * gcc.c (cpp_options): Update for -MD, -MMD, -MF.
2557
2558 Sun Jan  7 14:44:19 MET 2001  Jan Hubicka  <jh@suse.cz>
2559
2560         * jump.c (comparison_dominates_p): Support unordered compares.
2561
2562 Sun Jan  7 14:39:07 MET 2001  Jan Hubicka  <jh@suse.cz>
2563
2564         * simplify-rtx.c (simplify_relational_operation): Always simplify
2565         ORDERED and UNORDERED when FLAG_FAST_MATH.  Handle properly UNLE
2566         and UNGE.
2567
2568 Sun Jan  7 14:35:13 MET 2001  Jan Hubicka  <jh@suse.cz>
2569
2570         * combine.c (combine_simplify_rtx): Recognize the unordered compares.
2571         (nonzero_bits): Likewise.
2572         (simplify_comparison): Likewise.
2573         (num_sign_bit_copies): Likewise; return more sane value depending
2574         on STORE_FLAG_VALUE.
2575         (known_cond): Do not assume EQ to be always true for equivalent
2576         operands.
2577
2578 Sun Jan  7 14:31:57 MET 2001  Jan Hubicka  <jh@suse.cz>
2579
2580         * cse.c (fold_rtx): Handle unordered comparisons.
2581
2582 Sun Jan  7 13:49:19 MET 2001  Jan Hubicka  <jh@suse.cz>
2583
2584         * rtlanal.c (set_of_1): New static function.
2585         (reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
2586          reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
2587          reg_set_last_last_regno): Remove.
2588         (set_of): New global function.
2589         (set_of_data): New structure.
2590         (reg_set_p, reg_set_last): Revamp for set_of.
2591         * rtl.h (set_of): New.
2592
2593 2001-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2594
2595         * c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
2596         * extend.texi: Document _Exit builtin.
2597
2598 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
2599
2600         * (initialize, initialize_builtins,
2601         initialize_dependency_output, initialize_standard_includes):
2602         Rename s/initialize/init. Update.
2603         (init_dependency_output): Move to after
2604         cpp_handle_options, the correct location temporally at least.
2605         (opt_comp): Move next to init (), its caller.  Fix prototype.
2606         (init): Make "initialized" local scope.
2607         (cpp_create_reader): Always call init ().
2608         (cpp_start_read): Update.
2609         (output_deps): New function, broken out of cpp_finish.
2610         (cpp_finish): Break out output_deps.
2611
2612 2001-01-07  Richard Henderson  <rth@redhat.com>
2613
2614         * collect2.c (COFF specific stuff): Revert 12-06 patch
2615         to prototype system functions.
2616
2617 2001-01-07  Michael Hayes  <mhayes@redhat.com>
2618
2619         * hard-reg-set.h: Add multiple include guard.
2620         * basic-block.h (struct loop): Add `sink' field.
2621         * loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
2622         (emit_iv_add_mult): Delete.
2623         (loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
2624         (loop_iv_add_mult_emit_before, loop_insn_sink): Define.
2625         (unroll_loop): Remove end_insert_before argument.
2626         * loop.c (loop_givs_rescan): Remove end_insert_before argument.
2627         (maybe_eliminate_biv_1): Likewise.
2628         (emit_iv_add_mult): Delete.
2629         (gen_add_mult, loop_regs_update): New.
2630         (loop_insn_emit_after, loop_insn_emit_before): New.
2631         (loop_insn_sink, loop_insn_sink_or_swim): New.
2632         (emit_iv_add_mult): Delete.
2633         (scan_loop): Set loop->sink.
2634         (loop_givs_reduce): Use loop_insn_sink and its ilk.
2635         (loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
2636         (maybe_eliminate_biv_1): Likewise.
2637         (maybe_eliminate_biv_1): Add basic block argument.
2638         * unroll.c (unroll_loop): Remove end_insert_before argument.
2639         (find_splittable_regs): Likewise.
2640         (find_splittable_regs): Use loop_insn_sink and its ilk.
2641         (find_splittable_givs, final_biv_value, final_giv_value): Likewise.
2642
2643 2001-01-07  Michael Hayes  <mhayes@redhat.com>
2644
2645         * loop.h (loop_insn_hoist): New prototype.
2646         * loop.c (loop_insn_hoist, loop_insn_emit_before): New.
2647         (move_movables, loop_givs_rescan): Use loop_insn_hoist.
2648         (check_dbra_loop, load_mems): Likewise.
2649         * unroll.c (unroll_loop, find_splittable_regs): Likewise.
2650         (find_splittable_givs): Likewise.
2651
2652 2001-01-07  Michael Hayes  <mhayes@redhat.com>
2653
2654         * loop.c (emit_iv_add_mult): Use single_set to examine new insn.
2655
2656 2001-01-07  Richard Henderson  <rth@redhat.com>
2657
2658         * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
2659
2660 2001-01-07  Richard Henderson  <rth@redhat.com>
2661
2662         * Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
2663         NO_SHARED_LIBGCC_MULTILIB as required for the target.
2664         * gcc.c (init_spec): Massage the existing libgcc_spec into a
2665         variant that handles a shared libgcc.
2666         (process_command): Always validate -{static,shared}-libgcc.
2667         (do_spec_1): New 'M' case.
2668         * invoke.text (Link Options): Document -{static,shared}-libgcc.
2669
2670 2001-01-07  Richard Henderson  <rth@redhat.com>
2671
2672         * Makefile.in (slibdir): New variable.
2673         (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
2674         (installdirs): Create slibdir.
2675         (install-libgcc, install-multilib): Defer to libgcc.mk.
2676         * configure.in (slibdir): Substitute.
2677         * mklibgcc.in (install): New target.
2678
2679         * config/t-linux (SHLIB_LINK): Create links for the soname.
2680         (SHLIB_INSTALL): New.
2681         * config/alpha/t-osf4 (SHLIB_INSTALL): New.
2682         * config/mips/t-iris6 (SHLIB_INSTALL): New.
2683         * config/rs6000/t-aix43 (SHLIB_INSTALL): New.
2684         * config/sparc/t-slibgcc (SHLIB_INSTALL): New.
2685         * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
2686
2687 2001-01-07  Richard Henderson  <rth@redhat.com>
2688
2689         * config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
2690         * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
2691         * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
2692
2693 2001-01-07  Michael Hayes  <mhayes@redhat.com>
2694
2695         * loop.c (count_loop_regs_set): Delete.
2696         (load_mems_and_recount_loop_regs_set): Delete.
2697         (loop_regs_scan): Merge common code from count_loop_regs_set,
2698         scan_loop, and load_mems_and_recount_loop_regs_set.
2699         (scan_loop): Call load_mems directly and loop_regs_scan
2700         again if new registers created.
2701
2702 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
2703
2704         * toplev.c (main): Call the front-end specific post_options
2705         hook if one is given.
2706         * toplev.h (struct_lang_hooks, lang_hooks): New.
2707         * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
2708         for the C front end.
2709         * cp/decl2.c (cxx_post_options, lang_hooks): Implement
2710         lang_hooks for the C++ front end.
2711         * objc/objc-act.c (objc_post_options, lang_hooks): Implement
2712         lang_hooks for the ObjC front end.
2713         * f/com.c (lang_hooks): Hooks for the Fortran front end.
2714         * java/lang.c (lang_hooks): Hooks for the Java front end.
2715
2716 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
2717
2718         * c-lex.c (init_c_lex): Request #define / #undef callbacks
2719         for verbose DWARF[2] debugging.
2720         (cb_define, cb_undef): The new callbacks.
2721         * toplev.h (debug_define, debug_undef): Make const correct.
2722         * toplev.c (debug_define, debug_undef): Similarly.  Do not
2723         perform the verbosity tests here anymore.
2724
2725 2001-01-07  Alexandre Oliva  <aoliva@redhat.com>
2726
2727         * reload.c (subst_reloads): Take INSN argument.  When
2728         replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
2729         * reload.h (subst_reloads): Adjust prototype.
2730         * reload1.c (reload_as_needed): Pass INSN to subst_reloads.
2731         * jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
2732         present in JUMP_INSNs and copy them to JUMP_LABEL.
2733         * flow.c (find_label_refs, find_basic_blocks_1): Skip
2734         JUMP_INSNs and insns with REG_LABELs that are followed by
2735         JUMP_INSNs with the same REG_LABEL.
2736         * sched-rgn.c (is_cfg_nonregular): Likewise.
2737         * rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
2738         note is available.
2739         * unroll.c (unroll_loop): Look for REG_LABEL notes in
2740         JUMP_INSNs too.
2741         * rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
2742
2743 2001-01-06  Richard Henderson  <rth@redhat.com>
2744
2745         * loop.c (scan_loop): Use xcalloc for the regs array.
2746         (load_mems_and_recount_loop_regs_set): Zero the new memory
2747         received from xrealloc.
2748
2749 2001-01-06  Neil Booth  <neil@daikokuya.demon.co.uk>
2750
2751         * mkdeps.c (deps_add_dep): Fix vector re-allocation.
2752
2753 Sat Jan  6 00:09:34 2001  J"orn Rennecke <amylaar@redhat.com>
2754
2755         * integrate.c (copy_rtx_and_substitute): When copying
2756         an ignored return value, strip REG_FUNCTION_VALUE_P.
2757
2758 2001-01-06  Michael Hayes  <mhayes@redhat.com>
2759
2760         * loop.c (debug_biv, debug_giv): New.
2761         (loop_biv_dump): Break out from ...
2762         (record_biv): ... here.
2763         (loop_giv_dump): Break out from ...
2764         (record_giv): ... here.
2765         (loop_bivs_check): Use print_simple_rtl.
2766         * unroll.c (loop_iterations): Use print_simple_rtl.
2767
2768 2000-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2769
2770         * pa.md (return, return_internal): Modify patterns to prevent regrename
2771         mucking with the return pointer.
2772
2773 2001-01-05  Richard Henderson  <rth@redhat.com>
2774
2775         * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
2776
2777 Fri Jan  5 16:34:18 2001  Nick Clifton  <nickc@redhat.com>
2778
2779         * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
2780         version supplied by Matteo Frigo.
2781
2782 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2783
2784         * cpp.texi: Update for -MQ.
2785         * cppinit.c (cpp_create_reader): Always create pfile->deps.
2786         (cpp_cleanup): Always free pfile->deps.
2787         (initialize_dependency_output): Don't create pfile->deps.
2788         (cpp_handle_option): Similarly.
2789         (OPT_MQ): New.
2790         * gcc.c (cpp_options): Handle -MQ.
2791         (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
2792         * mkdeps.c (base_name): Remove.
2793         (deps_init): Don't allocate vector space until it's needed.
2794         (deps_free): Only free vectors if allocated.
2795         (deps_add_target, deps_add_dep): Update for initial allocation.
2796         (deps_add_default_target): Don't strip to the base_name.
2797
2798 2001-01-05  DJ Delorie <dj@redhat.com>
2799
2800         * config/v850/v850.h (RETURN_ADDR_RTX): Define.
2801         (INIT_EXPANDERS): Define.
2802
2803         * config/v850/v850.c (struct machine_function): Define.
2804         (v850_save_machine_status): New function.
2805         (v850_restore_machine_status): New function.
2806         (v850_return_addr): New function.
2807         (v850_init_expanders): New function.
2808
2809         * config/v850/v850-protos.h: Add prototypes for v850_return_addr
2810         and v850_init_expanders.
2811
2812 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
2813
2814         * cpplib.h (struct cpp_reader): Add help_only field.
2815         * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
2816         (cpp_handle_option): Set pfile->help_only if we see -h,
2817         --help, -target-help, or --version.  Print version string but
2818         do not set help_only if we see -v or -version.  Make text
2819         printed by -v match that printed by (-)-version.
2820
2821         * cppmain.c (main): Exit after option parsing if
2822         pfile->help_only is true.
2823
2824         * toplev.c (independent_decode_option): Call print_version,
2825         then exit, if we see --version (but not -version).
2826         (print_version): Split lengthy message into two lines.
2827
2828 2001-01-05  Nick Clifton  <nickc@redhat.com>
2829
2830         * config/v850/v850.c (v850_encode_data_area): Use alloca to create
2831         temporary string for initialisation before calling ggc_alloc_string.
2832
2833 2001-01-06  Michael Hayes  <mhayes@redhat.com>
2834
2835         * rtl.h (print_simple_rtl): New.
2836         * print-rtl.c (print_simple_rtl): New.
2837         (flag_simple): New.
2838         (print_rtx): Disable printing of flags and modes, etc.,
2839         if `flag_simple` nonzero.
2840
2841 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
2842
2843         * function.c (fixup_var_refs): Use push_to_full_sequence where
2844         possible.
2845
2846 2001-01-05  Michael Meissner  <meissner@redhat.com>
2847
2848         * flags.h (flag_reorder_blocks): Add declaration.
2849         (flag_rename_block): Ditto.
2850
2851 2001-01-05  DJ Delorie  <dj@redhat.com>
2852
2853         * function.c (reorder_blocks): Make sure the flags are all reset
2854         before using them to mark blocks, else a second invocation will
2855         corrupt the block chain.
2856         (reorder_blocks_0): New, resets the flags.
2857
2858 Fri Jan  5 20:34:06 2001  J"orn Rennecke <amylaar@redhat.com>
2859
2860         * cse.c (find_comparison_args): Stop if the argument is known to
2861         be constant.
2862
2863 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
2864
2865         * config/sh/sh.md (movdf): When splitting load into pair of
2866         registers, don't clobber the register used in the address too
2867         early.
2868
2869 2001-01-05  Jeffrey Oldham  <oldham@codesourcery.com>
2870
2871         * varasm.c (mark_constant_pool): Improve initial comments.
2872         (mark_constants): Move marking of constants to mark_constant.
2873         (mark_constant): New function to recursively mark all constants
2874         referred to by a constant.
2875
2876 2001-01-05  Catherine Moore  <clm@redhat.com>
2877
2878         * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
2879
2880 2001-01-05  Phil Edwards  <pme@sources.redhat.com>
2881
2882         * cp/lang-options.h:  Bring comment in line with reality.
2883         * f/lang-options.h:  Likewise.
2884         * java/lang-options.h:  Likewise.
2885         * objc/lang-options.h:  Likewise.
2886         * ch/lang-options.h:  Likewise.
2887         * f/g77.texi:  And update the manual.
2888
2889 2001-01-05  Marek Michalkiewicz  <marekm@linux.org.pl>
2890             Denis Chertykov  <denisc@overta.ru>
2891
2892         * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
2893         * config/avr/avr.c (avr_peep2_scratch_safe): New function.
2894         * config/avr/avr.md (all peepholes that request a scratch register):
2895         Call it, FAIL the peephole if not safe (in interrupt functions).
2896
2897 2001-01-05  Mark Mitchell  <mark@codesourcery.com>
2898
2899         * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
2900
2901 2001-01-05  Joseph S. Myers  <jsm28@cam.ac.uk>
2902
2903         * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
2904         Define.
2905         * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
2906         BUILT_IN_CREAL and BUILT_IN_CIMAG.
2907         * c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
2908         conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
2909         (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
2910         BUILT_IN_CIMAG.
2911         * extend.texi: Document these builtins.
2912
2913 2001-01-05  Daniel Berlin  <dberlin@redhat.com>
2914
2915         * c-common.c (lang_get_alias_set): Say we know nothing of
2916         VECTOR_TYPE aliasing.
2917
2918         * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
2919
2920 2001-01-05  Bruce Korb  <bkorb@gnu.org>
2921
2922         * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
2923         their x* equivalent versions for atexit-less systems
2924         * fixinc/fixincl.c(main): do not return from main() on atexit-less
2925         systems (or any other system any more).
2926
2927 2001-01-05  Richard Earnshaw  <rearnsha@arm.com>
2928
2929         * arm.md (ldmsi_postinc): Avoid use of match_dup between input and
2930         output operands.  Use arm_hard_register_operand for operand 4.
2931         (stmsi_postinc): Similarly.
2932         (ldmsi): Use arm_hard_register_operand for opernand 2.
2933         (stmsi): Similarly.
2934         * arm.c (arm_hard_register_operand): New function.
2935         * arm-protos.h (arm_hard_register_operand): Prototype it.
2936
2937         * arm.h (HARD_REGNO_RENAME_OK): Define.
2938
2939 Fri Jan  5 16:29:49 MET 2001  Jan Hubicka  <jh@suse.cz>
2940
2941         * simplify-rtx.c (cfc_args): add "unordered" field.
2942         (check_fold_consts): Set unordered field.
2943         (simplify_relational_operation): Simplify the unordered
2944         comparisons.
2945
2946         * reg-stack.c (swap_rtx_condition): Ensure that the transformation
2947         is valid.
2948
2949         * emit-rtl.c (try_split): Fix code to mark labels.
2950         * jump.c (mark_jump_label): Make global.
2951         * rtl.h (mark_jump_label): Declare.
2952
2953         * predict.c (estimate_probability): Handle unordred comparisons.
2954
2955 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2956
2957         * cpp.texi: Update for -MP.  Clarify behaviour of -MT.
2958         * cppinit.c (initialize_dependency_output):  Update.
2959         (cpp_finish): Output dummy targets for -MP.
2960         (OPT_MP): New.
2961         (cpp_handle_option): Handle -MP.  Don't quote -MT options.
2962         * cpplib.h (struct cpp_options): Add deps_phony_targets.
2963         * gcc.c (cpp_options): Update to handle -MP.
2964         * mkdeps.c (deps_add_target, deps_add_default_target): Update
2965         to quote only the default target.
2966         (deps_phony_targets): Insert a preceding newline.  Rename from
2967         deps_dummy_targets for consistency.
2968         * mkdeps.h: Update
2969
2970 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
2971
2972         * calls.c (emit_library_call_value_1): Support
2973         INIT_CUMULATIVE_LIBCALL_ARGS.
2974         * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
2975
2976 2001-01-04  Richard Henderson  <rth@redhat.com>
2977
2978         * c-decl.c (finish_struct): Detect flexible array members
2979         used in an inappropriate context.
2980         * c-typeck.c (really_start_incremental_init): Special case
2981         constructor_max_index for zero length arrays.
2982         (pop_init_level): Allow initialization of flexible array
2983         members.  Deprecate initialization of zero length arrays.
2984         Don't issue missing initializer warning for flexible array
2985         members or zero length arrays.
2986         (process_init_element): Don't dereference null DECL_SIZE.
2987         * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
2988         Don't abort for empty constructors.  Use size_binop
2989         (output_constructor): Add commentary regarding zero length
2990         array futures.  Abort if we try to initialize an array of
2991         unspecified length with a non-empty constructor in the middle
2992         of a structure.
2993
2994         * extend.texi (Zero Length): Update and clarify documentation
2995         on static initialization.
2996
2997 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2998
2999         * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
3000         with more than 32767 words of local storage.
3001
3002 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
3003
3004         * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
3005         for 'abs', 'labs', and 'fabs'.
3006         (c4x_expand_builtin): Likewise.
3007         * config/c4x/c4x.h (enum c4x_builtins): Likewise.
3008
3009 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
3010
3011         * config/sh/sh.md (prget, prset): New insn types.
3012         (return delay slot): Dont' allow prset.
3013         (call, sfunc delay slot): Don't allow prget.
3014         (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
3015         for prset and prget.
3016
3017 2001-01-05  Michael Hayes  <mhayes@redhat.com>
3018
3019         * loop.h (struct loop_reg): New.
3020         (struct loop_regs): Change to use array of `struct loop_reg'.
3021         * loop.c: Replace assortment of varrays with single regs array.
3022         (count_one_set): Delete may_not_move array argument
3023         and use regs array instead.  All caller's changed.
3024         (count_loop_regs_set): Delete may_not_move and single_usage
3025         arguments and use regs array instead.  All caller's changed.
3026         (find_single_use_in_loop): Replace usage array argument with pointer
3027         to regs structure.  All caller's changed.
3028         (loop_optimize): Delete `moved_once' array.
3029
3030 2001-01-05  Michael Hayes  <mhayes@redhat.com>
3031
3032         * loop.c (prescan_loop): Set loop_info->has_nonconst_call.
3033         Use it instead of loop_info->has_call for scanning loop mems.
3034         (check_dbra_loop): Replace loop_info->has_call test with
3035         loop_info->has_nonconst_call.
3036
3037 2000-01-04  Matthew Hiller  <hiller@redhat.com>
3038
3039         * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
3040         for TARGET_SH3E.
3041
3042 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
3043
3044         * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
3045         use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
3046
3047 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
3048
3049         * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
3050         (flag_short_double, flag_short_wchar): Define.
3051         (c_common_nodes_and_builtins): Create many tree nodes shared
3052         between C and C++ here instead of in cp/decl.c and ...
3053         * c-decl.c (init_decl_processing): ... here.
3054         (SIZE_TYPE, WCHAR_TYPE): Don't define.
3055         (flag_short_double, flag_short_wchar): Don't define.
3056         (record_builtin_type): New function.
3057         (build_void_list_node): New function.
3058         * c-common.h (flag_short_double, flag_short_wchar,
3059         record_builtin_type, build_void_list_node): Declare.
3060
3061 Thu Jan  4 21:09:47 2001  J"orn Rennecke <amylaar@redhat.com>
3062
3063         * integrate.c (expand_inline_function): Don't put a virtual
3064         register into the reg map.
3065
3066         * function.c (fixup_var_refs_1): If force_operand didn't put
3067         the address into the target, move it there.
3068
3069 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
3070
3071         Special-case tree_decl/tree_list allocations.
3072         * ggc-page.c (OBJECT_PER_PAGE): Reimplement.
3073         (OBJECT_SIZE): New macro.
3074         (NUM_EXTRA_ORDER): Likewise.
3075         (extra_order_size_table): New variable.
3076         (NUM_ORDERS): New macro.
3077         (objects_per_page_table): New variable.
3078         (object_size_table): New variable.
3079         (G.pages): Use NUM_ORDERS to bound the array.
3080         (G.page_tails): Likewise.
3081         (DIV_ROUND_UP): Remove.
3082         (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
3083         (alloc_page): Use OBJECT_SIZE.
3084         (size_lookup): Don't make it const.
3085         (ggc_alloc): Use OBJECT_SIZE.
3086         (ggc_set_mark): Likewise.
3087         (ggc_get_size): Likewise.
3088         (init_ggc): Set up the object_size_table, objects_per_page_table,
3089         and adjust size_lookup.
3090         (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
3091         (ggc_pop_context): Use NUM_ORDERS.
3092         (clear_marks): Likewise.
3093         (sweep_pages): Likewise.
3094         (poison_pages): Likewise.
3095         (ggc_print_statistics): Use OBJECT_SIZE.
3096
3097 Thu Jan  4 15:54:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3098
3099         * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
3100         Only call array_size_for_constructor if last field and array type
3101         with no upper bound.
3102
3103 2001-01-04  Philip Blundell  <philb@gnu.org>
3104
3105         * config/arm/arm.c (arm_gen_constant): Prefer to emit constants
3106         from bit 31 downwards, if this requires no more insns.
3107         (count_insns_for_constant): New helper function for above.
3108
3109 2001-01-04  Alexandre Oliva  <aoliva@redhat.com>
3110
3111         * gencodes.c (output_predicate_decls): Remove empty initializer.
3112
3113 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
3114
3115         * tree.c (copy_node): Remove documentation about obstacks.
3116         (buidl1): Check that nobody tries to build 2-argument nodes this
3117         way.
3118
3119 2001-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3120
3121         * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
3122         fp_high_losum_p.
3123
3124         * gencodes.c (output_predicate_decls): Fill empty initializer
3125         braces.
3126
3127 2001-01-04  Jakub Jelinek  <jakub@redhat.com>
3128
3129         * tradcpp.c (deps_file, print_deps_missing_files): New variables.
3130         (main): Handle -MG, -MD, -MMD.  Bail out if -MG is given without -M
3131         or -MM.
3132         (do_include): Handle missing headers like cpp0.
3133         * cppfiles.c (_cpp_execute_include): Don't prefix absolute header
3134         paths with first include pathname.  Don't strcat to uninitialized
3135         string.
3136
3137 2001-01-04  Bernd Schmidt  <bernds@redhat.com>
3138
3139         * regrename.c (regrename_optimize): Don't rename from frame pointer
3140         if frame_pointer_needed.
3141         (do_replace): Don't set ORIGINAL_REGNO to a hard register number.
3142         * config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
3143         (ia64_reorg): Use it instead of scheduling if ! optimize.
3144         (errata_emit_nops): Properly call asm_noperands.
3145         (ia64_sched_reorder): Finish cycle if we see an asm.
3146         (ia64_variable_issue): Clear scheduling state after asms.
3147
3148 2001-01-04  Neil Booth  <neil@daikokuya.demon.co.uk>
3149
3150         * cpp.texi: Update for -MT.
3151         * cppinit.c (initialize_dependency_output): Add a default
3152         target if none has been given already.
3153         (no_tgt, OPT_MT): New.
3154         (cpp_handle_option): Handle -MT.  Update -M etc.
3155         * cpplib.h (struct cpp_options): Remove deps_target.
3156         * gcc.c (cpp_options): Handle -MT.
3157         * mkdeps.c (struct deps): Move from mkdeps.h.
3158         (deps_calc_target): Rename deps_add_default_target.  Add a
3159         default target if none has been specified already.
3160         * mkdeps.h (struct deps): Move to mkdeps.c.
3161         (deps_calc_target): Rename deps_add_default_target.
3162
3163 2000-01-03  Richard Henderson  <rth@redhat.com>
3164
3165         * c-decl.c (grokdeclarator): Give zero-length arrays size zero.
3166         Remove dead code.
3167         * c-typeck.c (push_init_level): Move checks for flexible array
3168         members and zero length arrays ...
3169         (pop_init_level): ... here.  Silently discard empty initializations.
3170         Remove dead code.
3171         * varasm.c (output_constructor): Update for sizeof change to
3172         zero-length arrays.
3173
3174         * extend.texi (Zero Length): Clarify semantics.
3175
3176 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
3177
3178         * configure.in (tm.h): Include isns-codes.h last.
3179         * configure: Rebuilt.
3180
3181 2001-01-03  Richard Henderson  <rth@redhat.com>
3182
3183         * config/alpha/alpha.md (addvsi3, addvdi3): New.
3184         (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
3185
3186 2001-01-03  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3187
3188         * tradcpp.c (main): Make sure finclude() is called with a valid
3189         indepth value while handling -include.
3190
3191 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
3192
3193         * gencodes.c (output_predicate_decls): New function.
3194         (main): Call it.
3195         * machmode.h (GET_MODE_MASK): Arrange for it to be defined
3196         even if it is not the first time machmode.h is #included.
3197         * config/sh/sh.c (fpul_operand): Declare MODE argument.
3198         * tm.texi (PREDICATE_CODES): Document predicate declarations.
3199         * gcc.texi (Copyright): Added 2001.
3200
3201 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
3202
3203         * c-common.c (c_common_lang_init): New function.  Warn if format
3204         warning options which only have effects when used with -Wformat
3205         are used without -Wformat.
3206         * c-common.h (c_common_lang_init): Declare.
3207         * c-lang.c (lang_init): Call c_common_lang_init.
3208         * objc/objc-act.c (lang_init): Call c_common_lang_init.
3209
3210 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
3211
3212         * configure.in: Check for the mktemp command.
3213         * configure: Regenerate.
3214         * gccbug.in: Use a separate temporary file $TEMP0 for one use of
3215         $TEMP.  Create temporary files with mktemp, if available at
3216         configure time; otherwise use set -C.  Remove temporary files
3217         before exit.
3218
3219 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
3220
3221         * configure.in: Require at least texinfo 4.0.  Check for whether
3222         Pod::Man is sufficiently recent to regenerate GCC manpages.
3223         * configure:  Regenerate.
3224         * Makefile.in (TEXI2POD): Call perl explicitly rather than relying
3225         on #!.
3226         (GENERATED_MANPAGES): Define.
3227         (generated-manpages): New target.  Depend on cpp.1 as well as
3228         gcov.1.
3229         (install-man): Depend on $(GENERATED_MANPAGES) (defined by
3230         configure to generated-manpages or empty) rather than on the
3231         manpages directly.  Remove execute permission from installed
3232         gcov.1 as well as cpp.1.
3233         * cpp.1, gcov.1: Regenerate.
3234
3235 2001-01-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3236
3237         * builtins.c (expand_builtin_strncmp): Use host_integerp and
3238         tree_low_cst.  Allow using cmpstrsi in more cases.
3239
3240 Wed Jan  3 10:48:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3241
3242         * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
3243         sized types.
3244
3245 Wed Jan  3 12:22:32 2001  Alexandre Oliva  <aoliva@redhat.com>
3246
3247         * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
3248         * Makefile.in (HOST_CFLAGS): Mention build-make.
3249
3250 Wed Jan  3 08:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3251
3252         * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
3253         as JUMP_INSN.
3254
3255 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
3256
3257         * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
3258         a REG rtx.
3259
3260         * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg.  All
3261         callers changed.
3262
3263         * alias.c (throughout): Use ORIGINAL_REGNO when accessing
3264         reg_base_value and reg_known_value arrays.
3265         (init_alias_analysis): Add more cases to detect known values.
3266         * sched-deps.c (deps_may_trap_p): New function.
3267         (sched_analyze_2): Use it.
3268
3269 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
3270
3271         * combine.c (simplify_shift_const): Even if we're sign-extracting,
3272         don't discard an ASHIFTRT if we're shifting in a wider mode.
3273
3274 2000-01-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3275
3276         * toplev.c (rest_of_compilation): Don't print basic block information
3277         when CFG isn't up to date.
3278
3279 2001-01-02  Mark Elbrecht  <snowball3@bigfoot.com>
3280
3281         * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
3282         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
3283         (UNALIGNED_SHORT_ASM_OP): Define.
3284         (CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
3285
3286 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
3287
3288         * fold-const.c (fold_convert): Fix typo.
3289
3290 2001-01-02  Richard Henderson  <rth@redhat.com>
3291
3292         * c-common.h (ASM_INPUT_P): New.
3293         * c-parse.in (asm): Set it when needed.
3294         * c-semantics.c (genrtl_asm_stmt): Test it instead of the
3295         existance of an operand.
3296
3297 Tue Jan  2 20:27:07 MET 2001  Jan Hubicka  <jh@suse.cz>
3298
3299         * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
3300         (dwarf2out_frame_debug_expr): Likewise.
3301         (mem_loc_descriptor): Handle PRE and POST_MODIFY.
3302
3303 Tue Jan  2 20:21:31 MET 2001  Jan Hubicka  <jh@suse.cz>
3304
3305         * i386.c (ix86_split_to_parts): Return number of part required;
3306         handle TFmodes.
3307         (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
3308         TFmodes.
3309         (ix86_split_long_move): Use number of part returned
3310         by ix86_split_to_parts
3311         * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
3312         New macros.
3313         (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
3314         (LONG_DOUBLE_TYPE_SIZE): Change from constant.
3315         (MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
3316         (INTEL_EXTENDED_IEEE_FORMAT): Likewise.
3317         (ALIGN_MODE_128): Add TFmode.
3318         (IS_STACK_MODE): Likewise.
3319         (HARD_REGNO_NREGS): TFmode needs 3 registers.
3320         (HARD_REGNO_OK): Support TFmodes.
3321         (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
3322         * i386.md (scheduler definitions): Use memory operand to determine
3323         fst/fld instructions; use mode attribute to determine real mode of
3324         the instruction.
3325         (*tf): New patterns, expanders and splitters; based on XFmode patterns.
3326         * invoke.texi (128bit-long-double, 96bit-long-double): Document.
3327
3328 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
3329
3330         * tree.def (TRUTH_NOT_EXPR): Improve documentation.
3331
3332 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
3333
3334         * expr.c (store_constructor_field): Update ALIGN before calling
3335         store_constructor.
3336
3337 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
3338
3339         * config/mips/mips.c (function_arg): Don't pass NULL_TREE to
3340         host_integerp.
3341
3342 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
3343
3344         * tm.texi (FUNCTION_ARG): Document that @var{type} can be an
3345         incomplete type.
3346
3347 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
3348
3349         * c-decl.c (start_function): Don't warn on third parameter to main.
3350
3351 2001-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3352
3353         * tsystem.h: Define HAVE_DECL_GETOPT.
3354
3355 2001-01-02  Philip Blundell  <pb@futuretv.com>
3356
3357         * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
3358         of input operand.
3359
3360 2001-01-02  Richard Henderson  <rth@redhat.com>
3361
3362         * alpha.md (*ze_and_ne): Duplicate insn condition to split.
3363
3364 2001-01-02  Andreas Jaeger  <aj@suse.de>
3365
3366         * c-decl.c (c_decode_option): Remove support of
3367         -Wmissing-noreturn.
3368
3369         * toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
3370         (W_options): Add -Wmissing-noreturn here.
3371
3372         * flow.c: Define lang_missing_noreturn_ok_p.
3373         (check_function_return_warnings): Use it.
3374
3375         * c-common.h: Declare lang_missing_noreturn_ok_p.
3376
3377         * c-lang.c (c_missing_noreturn_ok_p): New function.
3378         (lang_init): Set lang_missing_noreturn_ok_p.
3379
3380         * invoke.texi (Warning Options): Document this.
3381
3382 2000-12-27  Phil Edwards  <pme@sources.redhat.com>
3383
3384         * extend.texi (C++ Extensions):  New node for C++ attributes;
3385           describe init_priority and com_interface.
3386         * invoke.texi:  Remove -finit-priority as it now has zero effect.
3387         * install.texi:  Fix xref syntax.
3388         * md.texi:  Likewise.
3389
3390 Mon Jan  1 21:28:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3391
3392         * config.gcc (sparc64-wrs-vxworks*): New case.
3393         * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
3394
3395         * config/sparc/sparc.c (sparc_override_options): Do support different
3396         pointer and architecture size.
3397         * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
3398         (POINTERS_EXTEND_UNSIGNED): Define.
3399         (Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
3400         (FUNCTION_MODE): Define to be Pmode.
3401         * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
3402
3403         * function.c (expand_function_end): Properly handle DECL_RESULT
3404         and copy when ptr_mode != Pmode.
3405         * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
3406
3407 2001-01-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3408
3409         * c-common.c (c_common_nodes_and_builtins): Set prototype
3410         parameters for __builtin_fputs, __builtin_fputc and
3411         __builtin_fwrite.  Don't declare plain fputc as a builtin.
3412
3413 2001-01-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3414
3415         * loop.c (add_label_notes): Increment the label usage count when
3416         a note is added to an insn which refers to a CODE_LABEL.
3417         * gcse.c (add_label_notes): Likewise.
3418
3419 2001-01-01  Andreas Jaeger  <aj@suse.de>
3420
3421         * loop.c (scan_loop): Use xmalloc to allocate movables.
3422
3423 2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
3424
3425         * tm.texi (REGISTER_MOVE_COST): Add a mode argument.
3426         * reload.c (REGISTER_MOVE_COST): Likewise.  Adjust all callers.
3427         * reload1.c (REGISTER_MOVE_COST): Likewise.
3428         * regclass.c (REGISTER_MOVE_COST): Likewise.
3429         (move_cost, may_move_in_cost, may_move_out_cost): Add mode
3430         dimension.  Adjust all users.
3431         (init_reg_sets_1): Iterate on all modes.
3432         * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
3433         * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
3434         * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
3435         * config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
3436         * config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
3437         * config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
3438         * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
3439         * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
3440         * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
3441         * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
3442         * config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
3443         * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
3444         * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
3445         * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
3446         * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
3447         * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
3448         * config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
3449         * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
3450         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
3451         * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
3452         * config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
3453         * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
3454         * config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
3455         * config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
3456         * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
3457         * config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
3458         * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
3459
3460 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
3461
3462         * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
3463         arg VARIES_P.  Call it with extra arg.
3464         (true_dependence): Likewise.
3465         * rtl.h (rtx_addr_can_trap_p): Declare.
3466         (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
3467         prototypes.
3468         * rtlanal.c (rtx_addr_can_trap_p): No longer static.
3469         (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
3470         pic offset table register if it's zero.  All callers changed.
3471         (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
3472
3473 Mon Jan  1 07:38:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3474
3475         * explow.c (convert_memory_address, case SYMBOL_REF): Copy
3476         STRING_POOL_ADDRESS_P.
3477
3478         * config/sparc/sparc.c (input_operand): Properly test for short op.
3479
3480         * config.gcc (sparc-*-elf): Include sparc/sol2.h.
3481         (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
3482         (sparclite-*-elf*, sparc86x-*-elf*): Likewise.
3483         * config/sparc/elf.h: No longer include sol2.h.
3484         * config/sparc/lifeelf.h: No longer include sparc/elf.h.
3485         * config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
3486
3487         * config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
3488
3489 2001-01-01  Michael Hayes  <mhayes@redhat.com>
3490
3491         * loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
3492         (find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
3493         (record_initial): Likewise.
3494         * unroll.c (copy_loop_body, loop_iterations): Likewise.
3495         (remap_split_bivs): Likewise.
3496
3497 2001-01-01  Michael Hayes  <mhayes@redhat.com>
3498
3499         * loop.c (loop_ivs_free): New function.
3500         (strength_reduce): Break out from...
3501
3502 2001-01-01  Michael Hayes  <mhayes@redhat.com>
3503
3504         * loop.h (struct iv): New.
3505         (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
3506         (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
3507         'reg_biv_class' fields with 'regs' and 'n_regs'.
3508         (struct ivs): Rename 'loop_iv_list' field to 'list'.
3509         * loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
3510         * unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
3511
3512 2000-12-31  Alexandre Oliva  <aoliva@redhat.com>
3513
3514         * resource.c (mark_referenced_resources): Abort() before
3515         attempting to mark a pseudo register.
3516         (mark_set_resources): Likewise.
3517
3518 2001-01-01  Michael Hayes  <mhayes@redhat.com>
3519
3520         * loop.h (REG_IV_CLASS): New accessor macro.
3521         * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
3522         * unroll.c (REG_IV_CLASS): Likewise.
3523
3524 See ChangeLog.4 for earlier changes.