OSDN Git Service

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