OSDN Git Service

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