OSDN Git Service

* doc/install.texi: Update --enable-threads to match reality.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-06-15  Loren J. Rittle  <ljrittle@acm.org>
2
3         * doc/install.texi: Update --enable-threads to match reality.
4
5 2001-06-15  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
6
7         * doc/install.texi: Update for C4x.
8         * README.C4X: Remove.
9
10 2001-06-14  Joseph S. Myers  <jsm28@cam.ac.uk>
11
12         * doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
13         doc/gcc.texi, doc/install.texi, doc/invoke.texi, doc/md.texi,
14         doc/objc.texi, doc/rtl.texi, doc/tm.texi: Fix spelling and typos.
15         Consistently use "built-in" and "bit-field".  Minor logical markup
16         improvements.
17         * doc/gcc.1: Regenerate.
18
19 2001-06-14  Richard Henderson  <rth@redhat.com>
20
21         * config/mips/mips.md (exception_receiver): New.
22
23 2001-06-14  Daniel J. Berlin <dan@cgsoftware.com>
24
25         * doc/gcc.texi:  Update passes documentation to be more in tune
26         with reality.
27
28 Thu Jun 14 15:38:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
29
30         * i386.c (ix86_expand_prologue): Fix merging conflict.
31
32 2001-06-14  Joseph S. Myers  <jsm28@cam.ac.uk>
33
34         * doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
35         doc/gcc.texi, doc/gcov.texi, doc/install-old.texi,
36         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Use more
37         logical markup.  Use TeX quotes and dashes.  Use @dots{} and
38         @minus{}.  Avoid spaces inside @var.  Update last modification
39         date in gcc.texi.
40         * doc/gcc.1, doc/gcov.1: Regenerate.
41
42 Thu Jun 14 12:44:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
43
44         * i386.c (x86_accumulate_outgoing_args, x86_prologue_using_move,
45         x86_epilogue_using_move): New global variables.
46         (override_options): Enable ACCUMULATE_OUTGOING_ARGS if preferred.
47         (ix86_emit_save_regs_using_mov): New static function.
48         (ix86_expand_prologue, ix86_expand_epilogue): Use moves if preferred.
49         * i386.h (MASK_MMX, MASK_SSE, MASK_SSE2, MASK_128BIT_LONG_DOUBLE,
50         MASK_MIX_SSE_I387): Renumber.
51         (MASK_NO_ACCUMULATE_OUTGOING_ARGS): New.
52         (x86_accumulate_outgoing_args, x86_prologue_using_move,
53         x86_epilogue_using_move): Declare.
54         (TARGET_PROLOGUE_USING_MOVE, TARGET_EPILOGUE_USING_MOVE): New.
55
56 2001-06-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
57
58         * inclhack.def (hpux10_cpp_pow_inline): New hack.
59
60 2001-06-13  Richard Henderson  <rth@redhat.com>
61
62         * ifcvt.c (dead_or_predicable): Fix return value last patch.
63
64 2001-06-13  Mark Mitchell  <mark@codesourcery.com>
65
66         * NEWS: Remove.
67
68 2001-06-13  Richard Henderson  <rth@redhat.com>
69
70         * ifcvt.c (cond_exec_get_condition): Use reversed_comparison_code.
71         (cond_exec_process_if_block, dead_or_predicable): Likewise.
72
73 2001-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
74
75         * mips-tfile.c (copy_object): Always pass indexNil for symbol
76         table index.
77
78 2001-06-13  Kazu Hirata  <kazu@hxi.com>
79
80         * config/h8300/h8300.h (OK_FOR_T): Remove.
81         (EXTRA_CONSTRAINT): Do not use OK_FOR_T.
82         * config/h8300/h8300.md: Remove alternatives involving inc and dec
83         in the helper patterns for addhi3 and addsi3.
84
85 2001-06-13  Phil Edwards  <pme@sources.redhat.com>
86
87         * doc/contrib.texi:  Link to libstdc++'s thanks.html for now.
88
89 2001-06-13  Zack Weinberg  <zackw@stanford.edu>
90
91         * Makefile.in: Move _bb and __gcc_bcmp to LIB2FUNCS_ST.
92         * libgcc-std.ver: Take out __bb* and __gcc_bcmp.                        
93
94         * config/t-slibgcc-elf-ver, config/t-slibgcc-sld,
95         config/alpha/t-osf4, config/mips/t-iris6: Extract all
96         references to @shlib_map_file@, @shlib_objs@, or     
97         @shlib_base_name@ to Makefile variables.
98         Bump soname version of libgcc to 1.
99
100 2001-06-13  Joseph S. Myers  <jsm28@cam.ac.uk>
101
102         * doc/install.texi: Use more logical markup.  Include @node
103         commands in the source when generating any non-HTML.
104
105 2001-06-13  Joseph S. Myers  <jsm28@cam.ac.uk>
106
107         * README: Remove.  Some of the contents moved to ../README.
108
109 2001-06-13  Alexandre Oliva  <aoliva@redhat.com>
110
111         * doc/install.texi (--enable-shared): List package names
112         recognized by GCC.
113
114 2001-06-13  Alexandre Oliva  <aoliva@redhat.com>
115
116         * doc/install.texi (ix86-*-solaris*): Removed, outdated.
117         (*-*-solaris*): Document problem in /bin/sh that affects
118         configuring libraries.
119         (sparc-*-solaris*): Recommend GNU binutils 2.11.1 or vendor tools.
120         (*-sun-solaris2.8): Document linker problem that explains why
121         libjava is disabled by default.
122
123 2001-06-09  Mark Mitchell  <mark@codesourcery.com>
124
125         Revert this patch:
126         * toplev.c (rest_of_compilation): Remove dead code before
127         purge_addressof.
128         
129 2001-06-12  Alexandre Oliva  <aoliva@redhat.com>
130
131         Reverted:
132         2001-06-07  Nathan Sidwell  <nathan@codesourcery.com>
133         * configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support.
134         * configure: Rebuilt.
135
136 2001-06-12  Jim Wilson  <wilson@redhat.com>
137
138         * loop.c (strength_reduce): Move bl->all_reduced set before
139         check_ext_dependant_givs call.
140         (check_ext_dependant_givs): Clear bl->all_reduced when ignoring givs.
141
142 2001-06-12  Alexandre Oliva  <aoliva@redhat.com>
143
144         * doc/extend.texi (Function Attributes): Document SH's sp_switch
145         and trap_exit.
146
147 2001-06-13  Joseph S. Myers  <jsm28@cam.ac.uk>
148
149         * doc/invoke.texi: Use more logical markup.  Use TeX quotes,
150         dashes and @dots{}.
151
152 2001-06-12  Richard Henderson  <rth@redhat.com>
153
154         * config/i386/i386.c (ix86_expand_prologue): Always use
155         gen_pro_epilogue_adjust_stack; update arguments.
156         (ix86_expand_epilogue): Likewise.
157         (ix86_emit_epilogue_esp_adjustment): Remove.
158         (ix86_adjust_cost): Remove pro_epilogue_adjust_stack hack.
159         * config/i386/i386.md (pro_epilogue_adjust_stack): Use a BLKmode
160         clobber of scratch memory instead of a modification of EBP as the
161         barrier.  Update all peepholes to match.
162
163 2001-06-12  Joseph S. Myers  <jsm28@cam.ac.uk>
164
165         * doc/gcc.texi: Change the font used for @def... commands to a
166         fixed width font.
167         * doc/extend.texi: Use more logical markup.  Use "built-in"
168         instead of "builtin".  Use @deftypefn to mark up built-in
169         functions; specify their types in the @deftypefn and not in the
170         descriptive text.  Use TeX quotes and dashes.  Add more index
171         entries.
172
173 2001-06-12  lars brinkhoff  <lars@nocrew.org>
174
175         * gcc.texi (HOST_BITS_PER_LONGLONG): Document.
176         (DIR_SEPARATOR_2): Likewise.
177
178 2001-06-12  Joseph S. Myers  <jsm28@cam.ac.uk>
179
180         * doc/install.texi (--exec-prefix, --bindir, --libdir,
181         --with-slibdir, --infodir, --mandir, --with-cpp-install-dir):
182         Document.
183         (--enable-cpp): Change to document --disable-cpp instead; update
184         to reflect current default.
185         (--without-fast-fixincludes): Remove documentation.
186         (Final install): Document installation directories in more
187         detail.  Document use of make dvi.
188
189 Tue Jun 12 19:01:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
190
191         * recog.c (validate_replace_rtx_1): Fix previous patch.
192
193 Tue Jun 12 17:25:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
194
195         * recog.c (validate_replace_rtx_1): Do plus_constant call always.
196
197 Tue Jun 12 17:24:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
198
199         * simplify-rtx.c (simplify_subreg): Allow volatile memory
200         to be subregged in case we don't have move instruction.
201
202 Tue Jun 12 12:20:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
203
204         * loop.c: Include predict.h
205         (strength_reduce): Drop branch prediction note in case
206         number of iterations is known.
207         * predict.def (PRED_LOOP_ITERATIONS): new.
208         * Makefile.in (loop.o): Add dependancy on predict.h
209
210 2001-06-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
211
212         * c-decl.c (grokdeclarator): Use INTEGRAL_TYPE_P.
213
214         * c-typeck.c (c_start_case): Likewise.
215
216 2001-06-12  Mark Mitchell  <mark@codesourcery.com>
217
218         * expr.c (store_field): Don't set MEM_ALIAS_SET for a field
219         in a structure at a variable address.
220
221 2001-06-12  Joseph S. Myers  <jsm28@cam.ac.uk>
222
223         * doc/gcov.texi: Use more logical markup.
224
225 2001-06-11  Mark Mitchell  <mark@codesourcery.com>
226
227         * unroll.c (initial_reg_note_copy): Use PUT_REG_NOTE_KIND and
228         REG_NOTE_KIND, not PUT_MODE and GET_MODE.
229         (final_reg_note_copy): Remove REG_WAS_0 notes that are no longer
230         valid.
231
232 2001-06-11  Stan Shebs  <shebs@apple.com>
233
234         * darwin.h (ASM_FILE_END): Remove decl of language_string.
235
236 2001-06-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
237
238         * config/m68hc11/m68hc11.md ("*lshrdi3_const32"): Mark the clobber 
239         as an early clobber to make sure it is not used by reload in 
240         one of the operands.
241
242 2001-06-11  Mark Mitchell  <mark@codesourcery.com>
243
244         * doc/c-tree.texi: Update information about flag_honor_std.
245         * doc/install.texi: Note that binutils is required on HPUX 11.
246         * doc/invoke.texi (-fhonor-std): Note that -fno-honor-std is
247         now the default.
248
249         * config/mips/abi64.h (RETURN_IN_MEMORY): Fix handling of
250         variable-sized types.
251
252 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
253
254         * doc/md.texi: Use TeX dashes and quotes.
255
256 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
257
258         * doc/rtl.texi: Reference manual chapter about trees.
259
260 2001-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
261
262         * config/mips/iris6.h (NO_BUILTIN_WINT_TYPE): Define.
263         (WINT_TYPE): Override.
264         (WINT_TYPE_SIZE): Likewise.
265         (SUBTARGET_CPP_SIZE_SPEC): Define __WINT_TYPE__ as appropriate.
266
267         * config/sparc/sol2.h (WINT_TYPE): Define.
268         (WINT_TYPE_SIZE): Likewise.
269
270         * config/sparc/sol2-sld-64.h (NO_BUILTIN_WINT_TYPE): Define.
271         (WINT_TYPE): Override.
272         (WINT_TYPE_SIZE): Likewise.
273         (CPP_ARCH32_SPEC): Add __WINT_TYPE__ definition.
274         (CPP_ARCH64_SPEC): Likewise.
275
276 2001-06-11  Richard Henderson  <rth@redhat.com>
277
278         * unwind-dw2-fde.c (__deregister_frame_info): Don't play games
279         with alias attribute.
280
281         * config/linux.h (CPLUSPLUS_CPP_SPEC): Use %(cpp) not $(cpp_cpu).
282         * config/alpha/linux.h (CPLUSPLUS_CPP_SPEC): Likewise.
283
284 2001-06-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
285
286         * config/rs6000/linux.h (CPLUSPLUS_CPP_SPEC): New.
287
288 2001-06-11  Stan Shebs  <shebs@apple.com>
289
290         * darwin.c (darwin_encode_section_info):  Rewrite to simplify
291         and fix coding mistakes.
292
293 2001-06-11  Nick Clifton  <nickc@cambridge.redhat.com>
294
295         * config/m32r/m32r.md (movstrsi_internal): Do not expect a
296         return string from m32r_output_block_move.
297         * config/m32r/m32r-protos.h: Make m32r_output_block_move a
298         void function.
299         * config/m32r/m32r.h (INT32_P): Rename to UNIT32_P and remove
300         integer overflow.
301         (ROUND_ADVANCE): Remove signed/unsigned conflict.
302         * config/m32r/m32r.c: Declare prototypes for static functions.
303         (move_src_operand): Replace INT32_P with UINT32_P.
304         (function_arg_partial_nregs): Fixed signed/unsigned conflict
305         in initialisation of 'size'.
306         (m32r_sched_reord): Remove redundant declarations of 'code'.
307         (m32r_output_block_move): Change to a void function.
308         (m32r_encode_section_info): Cast return of
309         TREE_STRING_POINTER to avoid compile time warning.
310
311 2001-06-11  Richard Henderson  <rth@redhat.com>
312
313         * config/alpha/osf5.h (TARGET_LD_BUGGY_LDGP): New.
314         * config/alpha/alpha.h (TARGET_LD_BUGGY_LDGP): Default.
315         (struct machine_function): Add gp_save_rtx.
316         * config/alpha/alpha.c (alpha_mark_machine_status): Mark it.
317         (alpha_gp_save_rtx): New.
318         * config/alpha/alpha-protos.h: Declare it.
319         * config/alpha/alpha.md (exception_receiver): Make an expander.
320         Use alpha_gp_save_rtx if TARGET_LD_BUGGY_LDGP.
321
322 2001-06-11  Richard Henderson  <rth@redhat.com>
323
324         * config/alpha/osf.h (LINK_SPEC): Hide _GLOBAL_* symbols.
325
326 2001-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
327
328         * configure.in: Align --help messages.
329         Remove trailing full stops.
330         Consistently use lower case.
331         Fix DWARF 2 spelling.   
332         * configure: Rebuilt.
333
334 2001-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
335
336         * config/alpha/alpha.h (CPP_SPEC): Don't define __LANGUAGE_C and
337         variants for .cpp/.cp/.c++ files. 
338         Move definition of __LANGUAGE_C_PLUS_PLUS ...
339         (CPLUSPLUS_CPP_SPEC): ... here.
340
341 Mon Jun 11 15:47:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
342
343         * jump.c (duplicate_loop_exit_test): Fix loop header heuristics.
344
345 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
346
347         * c-decl.c (store_parm_decls): When comparing types in an
348         old-style function declaration with those from a previous
349         prototype, compare the unqualified versions of parameter types.
350         Fixes PR c/3116.
351
352 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
353
354         * doc/objc.texi: Use more logical markup.  Use TeX dashes.
355
356 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
357
358         * doc/c-tree.texi: Use more logical markup.
359
360 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
361
362         * c-decl.c (xref_tag): Don't return previous tags of wrong type.
363
364 2001-06-11  Aldy Hernandez  <aldyh@redhat.com>
365
366         * loop.c (scan_loop): Do not combine asm statements.
367
368 2001-06-11  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
369
370         * simplify-rtx.c (simplify_subreg): Fix offset calculation
371         for complex values within a CONCAT.
372
373 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
374
375         * doc/install.texi: Update details of what components are included
376         in the GCC distribution.  Update default directory for g++
377         includes.  Update documentation relating to old libio.  Adjust
378         documentation on DejaGnu environment variables.  Remove
379         documentation of --enable-cpplib.
380
381 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
382
383         * doc/contrib.texi: Fix alphabetical order.  Fix typos.  Improve
384         markup.
385
386 2001-06-10  Richard Henderson  <rth@redhat.com>
387
388         * ifcvt.c (life_data_ok): New.
389         (merge_if_block): Use it to determine whether to update
390         global_live_at_end.
391         (if_convert): Set it.
392
393 2001-06-10  Richard Henderson  <rth@redhat.com>
394
395         * config/alpha/osf5.h (ASM_OLDAS_SPEC): Add -c.
396
397 2001-06-10  Alexandre Oliva  <aoliva@redhat.com>
398
399         * doc/invoke.texi (MN10300 Options): Document -mno-crt0.
400         (SH Options): Document -mieee.
401         * doc/install.texi (Final install): Remove obsolete information
402         about installing cross compilers.
403         * doc/gcc.1: Rebuilt.
404
405 2001-06-10  Richard Henderson  <rth@redhat.com>
406
407         * config/alpha/alpha.c (override_options): Set align_loops,
408         align_jumps, and align_functions.
409         * config/alpha/alpha.h (FUNCTION_BOUNDARY): Set to 32 bits.
410         (LOOP_ALIGN, LABEL_ALIGN_AFTER_BARRIER): Remove.  
411
412 2001-06-11  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
413
414         * emit-rtl.c (gen_lowpart_common): Do not assume that SFmode and DFmode
415         are one and two words in size.
416
417 2001-06-10  Richard Henderson  <rth@redhat.com>
418
419         * doc/invoke.texi (Optimization Options): Document -fpeephole2.
420         (Code Generation Options): Document -fnon-call-exceptions.
421
422 2001-06-10  Mark Kettenis  <kettenis@gnu.org>
423
424         * config/i386/gnu.h (MD_FALLBACK_FRAME_STATE_FOR): Undefine.
425
426 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
427
428         * m68hc11.md (peepholes): Remove unused and wrong peepholes.
429
430 2001-06-10  Mark Mitchell <mark@codesourcery.com>
431             Gabriel Dos Reis  <gdr@codesourcery.com>
432
433         * Makefile.in (c-parse.o): Depend on diagnostic.h
434         (dwarf2out.o): Likewise.
435
436         * dwarf2out.c: #include diagnostic.h
437
438         * toplev.h (warningcount, errorcount, sorrycount): Remove
439         declarations. 
440
441         * toplev.c (warningcount, errorcount, sorrycount): Remove
442         definitions. 
443
444         * diagnostic.h (struct output_buffer): Reorder fields.
445         (diagnostic_kind_count): New macro.     
446         (errorcount, warningcount, sorrycount): Define as macros.
447         (diagnostic_report_warnings_p): New macro.
448         (output_state): Add diagnostic_count field.
449
450         * diagnostic.c (warningcount, errorcount, inhibit_warnings):
451         Remove tentative declaration.
452         (count_error): Use diagnostic_report_warnings_p.
453
454         * c-parse.in: #include diagnostic.h
455
456 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
457
458         * config/m68hc11/m68hc11.md ("extendhisi2"): Fix constraints to
459         prefer a memory for operand 1.
460         ("*addsi3"): Fix constraints, the '!' was too strong.
461         ("*addsi3_split"): Accept soft register and split accordingly.
462
463 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
464
465         * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline): 
466         Move definition in the RTX_CODE section.
467
468 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
469
470         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Define the return 
471         address as relative to the argument pointer.
472
473 Sun Jun 10 10:58:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
474
475         * predict.def (PRED_OPCODE): Place before call and error_return.
476
477 Sun Jun 10 10:00:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
478
479         * predict.def (PRED_CALL, PRED_ERROR_RETURN): New.
480         * predict.c (estimate_probability): Calculate dominance
481         information; improve detection of NORETURN heuristics;
482         add call/error_return heuiristics; tweak comparison heuristics
483         to recognize -1.
484
485 2001-06-09  Alexandre Oliva  <aoliva@redhat.com>
486
487         * doc/invoke.texi (C Dialect Options): Document -aux-info.
488         (Debugging Options): Document -print-multi-directory and
489         -print-multi-lib.
490         * doc/gcc.1: Rebuilt.
491
492         * toplev.c (independent_decode_option): Require `=' between
493         `-aux-info' and filename in the same argument.
494         * gcc.c: Don't pass -aux-info=filename twice.
495
496 2001-06-09  Mark Mitchell  <mark@codesourcery.com>
497
498         * expr.c (expand_expr, case ARRAY_REF): Do not replace
499         an array element with the known initializing value if it has
500         side-effects.
501
502         * toplev.c (rest_of_compilation): Remove dead code before
503         purge_addressof.
504         
505 2001-06-09  Neil Booth  <neil@daikokuya.demon.co.uk>
506
507         * cppinit.c (print_help): Document -fpreprocessed.
508         * invoke.texi: Similarly.
509
510 Sun Jun 10 00:35:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
511
512         * predict.def: New file.
513         * predict.h: New file.
514         * predict.c: Include predict.h.
515         (predictor_info): New structure and array.
516         (predict_edge, predict_insn): Rewrite; make global.
517         (predict_edge_def, predict_insn_def): New global functions.
518         (dump_prediction, combine_predictions_for_insns): New
519         static functions.
520         (estimate_probability): Change calls to predict_edge
521         to predict_edge_def and calls to predict_insn to predict_insn_def;
522         combine probabilities.
523         (expected_value_to_br_prob): Behave as predictor.
524         * rtl.h (REG_BR_PRED): Update coment.
525         (invert_br_probabilities): New.
526         * jump.c: Include predict.h
527         (duplicate_loop_exit_test): Drop branch prediction notes.
528         (invert_jump): Use invert_br_probabilities.
529         * Makefile.in: Add dependancy on predict.h for jump and predict pass.
530         * ifcvt.c (dead_or_predicable): Use invert_br_probabilities.
531         * combine.c (distribute_notes): Handle BR_PRED.
532
533 Sat Jun  9 23:29:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
534
535         * predict.c (predict_insn, predict_edge): New static functions.
536         (estimate_probability): Revamp to use new functions;
537         fix loop header heruistics; add loop exist heruistics
538
539 2001-06-09  Alexandre Oliva  <aoliva@redhat.com>
540
541         * config.gcc: Re-enable bi-arch sparc on Solaris 7 and above.
542
543 2001-06-09  Peter Jakubek <pjak@snafu.de>
544
545         * config/m68k/m68k.md (ashrdi_const): Fix right shift by 16.
546
547 2001-06-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
548
549         * vax.h (NOTICE_UPDATE_CC): Set CC_NO_OVERFLOW in cc_status.flags
550         for integer operations that don't update C bit.
551
552 2001-06-09  Nicola Pero <nicola@brainstorm.co.uk>
553
554         * gthr-posix.h (__gthread_objc_init_thread_system): If
555         pthread_key_create fails, it's not clear what the return value is.
556         This obvious fix makes sure it always returns -1 if a problem
557         occurs.
558
559 2001-06-09  Joseph S. Myers  <jsm28@cam.ac.uk>
560
561         * doc/gcc.texi: Use @defcodeindex for the index of options.  Add
562         more index entries.  Use more logical markup where appropriate.
563         Use TeX quotes and dashes.
564
565 2001-06-09  Benjamin Kosnik  <bkoz@redhat.com>
566
567         * unwind-pe.h: Conditionally qualify references to abort with
568         std::.
569
570 2001-06-09  Julian Foad <julian_foad@hotmail.com>
571
572         * doc/invoke.texi: Remove superfluous text.
573
574 2001-06-08  Richard Henderson  <rth@redhat.com>
575
576         * config/alpha/linux.h (CPLUSPLUS_CPP_SPEC): New.
577         (LIB_SPEC): Mirror config/linux.h version.
578
579 2001-06-08  Richard Henderson  <rth@redhat.com>
580
581         * except.c (get_exception_pointer, get_exception_filter): Take a
582         struct function.  Update all callers.
583         * except.h (get_exception_pointer): Update declaration.
584         * expr.c (expand_expr): Update get_exception_pointer call.
585         * integrate.c (expand_inline_function): Remap the exception pointer
586         from callee to caller.
587
588 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
589
590         * c-decl.c (grokdeclarator): Make the TREE_TYPE for declarations
591         accurately reflect its cv-qualification.
592         * c-typeck.c (type_lists_compatible_p): Ignore the top-levl
593         cv-qualifiers on function types.
594
595 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
596
597         * basic-block.h: Improve comments.
598         * except.c (expand_eh_region_end_allowed): Remove redundant call
599         to do_pending_stack_adjust.
600         * flow.c (life_analysis): Fix typo in comment.
601         (calculate_global_regs_live): Add documentation.
602         (mark_set_1): Likewise.
603         (debug_regset): Likewise.
604         * doc/rtl.texi (cond_exec): Document it.
605
606 Fri Jun  8 21:52:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
607
608         * i386.h (CONST_COSTS): set cost of constants representable in
609         immediate fields to 0.
610
611 Fri Jun  8 21:34:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
612
613         * function.c (diddle_return_value): Kill code to determine
614         return value before expand_function_end.
615         (expand_function_end): Delay call to clobber_return_register
616         after fucntion return value is computed.
617
618         Re-install temporary reverted patch:
619         * toplev.c (rest_of_compilation): Call split_all_insns
620         before reg-stack and shorten-branches. Do shorten-branches
621         after reg-stack.
622         * final.c (shorten_branches): Remove insn splitting code.
623
624 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
625
626         * doc/gcc.texi, doc/invoke.texi: Add index of command line
627         options.  Use @opindex to index them rather than other indexing
628         commands.  Use @var{...} instead of <...>.  Avoid spaces in names
629         inside @var.  Don't use @kindex to index escape sequences in
630         source code.
631
632 2001-06-08  Jason Merrill  <jason_merrill@redhat.com>
633
634         * stmt.c (current_nesting_level): New fn.
635         * tree.h: Declare it.
636         * c-semantics.c (genrtl_compound_stmt): Use it.
637
638         * dbxout.c (dbxout_symbol): Use DECL_RTL_SET_P.
639
640 2001-06-08  Jakub Jelinek  <jakub@redhat.com>
641
642         * jump.c (mark_modified_reg): Allow jump threading if condition
643         codes are represented by a hard register.
644
645 2001-06-08  Jakub Jelinek  <jakub@redhat.com>
646
647         * config/ia64/ia64.c (ia64_function_arg): Use [SDT]Fmode as gr_mode
648         for complex floats passed to unprototyped functions.
649
650 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
651
652         * except.c (expand_eh_region_end_allowed): Call
653         do_pending_stack_adjust as necessary.
654
655 Fri Jun  8 14:16:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
656
657         * function.c (clobber_return_register): Clobber the pseudo return
658         register too.
659
660         * sibcall.c (skip_unreturned_value): New function.
661         (call_ends_block_p): Use it.
662
663         * recog.c (split_insn): Break out from ...
664         (split_all_insns): ... here; do not use basic block information
665         when it is broken.
666
667 Thu Jun  7 18:27:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
668
669         * simplify-rtx.c (simplify_subreg):  Fix verification of
670         combined subreg.
671
672 2001-06-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
673
674         * config/mips/mips.h (CPP_SPEC): Simplify .s/.S handling.
675         Don't define _LANGUAGE_C and variants for .cpp/.cp/.c++ files.
676         Move definition of _LANGUAGE_C_PLUS_PLUS ...
677         (CPLUSPLUS_CPP_SPEC): ... here.
678         Fixes PRs c++/3047, target/441.
679
680 2001-06-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
681
682         * doc/install.texi2html (MAKEINFO): Keep value if set already.
683
684 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
685
686         * doc/gcc.texi: Add trailing slash to URL.
687
688 2001-06-07  Stan Shebs  <shebs@apple.com>
689
690         * config/darwin.h (ENCODE_SECTION_INFO): Define.
691         (REDO_SECTION_INFO_P): Ditto.
692         (STRIP_NAME_ENCODING): Ditto.
693         (ASM_DECLARE_OBJECT_NAME): Use ENCODE_SECTION_INFO.
694         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Ditto.
695         (ASM_OUTPUT_LABELREF): Use STRIP_NAME_ENCODING.
696         (GEN_LAZY_PTR_NAME_FOR_SYMBOL): Ditto.
697         * config/darwin.c: No longer include c-tree.h.
698         (machopic_classify_ident): Rewrite to use symbol encoding.
699         (lookup_name_darwin): Remove.
700         (machopic_non_lazy_ptr_name): Handle encoded symbols.
701         (machopic_stub_name): Use STRIP_NAME_ENCODING.
702         (machopic_validate_stub_or_non_lazy_ptr): Ditto.
703         (machopic_finish): Ditto, remove test of decl.
704         (update_non_lazy_ptrs): New function.
705         (darwin_encode_section_info): New function.
706         * config/darwin-protos.h: Declare it.
707         * config/rs6000/rs6000.c (machopic_output_stub): Use
708         STRIP_NAME_ENCODING.
709         
710 2001-06-07  Mark Mitchell  <mark@codesourcery.com>
711
712         * tree.h (DECL_SOURCE_FILE): Improve documentation.
713         (DECL_SOURCE_LINE): Likewise.
714
715 2001-06-07  Loren J. Rittle  <ljrittle@acm.org>
716
717         * config/alpha/elf.h (MAKE_DECL_ONE_ONLY): Copy definition
718         from config/elfos.h.
719
720 2001-06-07  Phil Edwards  <pme@sources.redhat.com>
721
722         * linux.h (CPLUSPLUS_CPP_SPEC):  Move -D_GNU_SOURCE to here.
723         * pa/pa-linux.h:  Allow CPLUSPLUS_CPP_SPEC to remain.
724
725 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
726
727         * doc/contrib.texi: Add copyright notice.
728
729 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
730
731         * doc/md.texi: Use four digit years in copyright notice.
732
733 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
734
735         * config.gcc: For $target_alias of athlon-*, set
736         target_cpu_default2=5.
737
738 Thu Jun  7 16:17:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
739
740         * global.c (build_insn_chain): Allow ADDR_VEC or ADDR_DIF_VEC after
741         end of last block if last real insn is a JUMP_INSN.
742
743 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
744
745         * NEWS: Regenerate.
746
747 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
748
749         * gthr-posix.h (__gthread_objc_thread_detach): Simply cast
750         pthread_t to objc_thread_t.
751         (__gthread_objc_thread_id): Likewise.
752
753 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
754
755         * alpha/osf5.h (CPP_XFLOAT_SPEC): Override default definition.
756         (ASM_OLDAS_SPEC): Likewise.
757
758         * alpha/osf.h (CPP_XFLOAT_SPEC): Define.
759         (CPP_SUBTARGET_SPEC): Use it.
760         (ASM_OLDAS_SPEC): Define.
761         (ASM_SPEC): Use it.
762         (SUBTARGET_EXTRA_SPECS): Define, declare the new specs above.
763
764 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
765
766         * config/alpha/alpha.c (alpha_va_arg): Handle TFmode, TCmode args,
767         passed by reference.
768
769 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
770
771         * doc/tm.texi (TARGET_SWITCHES, TARGET_OPTIONS): Adjust markup.
772         Document use of N_(...), and show it in examples.  Note that
773         documentation should be added to invoke.texi.  Avoid an overfull
774         hbox.
775
776 Thu Jun  7 17:09:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
777
778         * toplev.c (rest_of_compilation): Revert previous patch.
779         * final.c (shorten_branches): Likewise.
780
781 2001-06-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
782
783         * pself.c, pself1.c, pself2.c, pself3.c, pself4.c, pself5.c:
784         Remove.
785
786 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
787
788         * doc/install-old.texi: Remove more obsolete documentation.
789
790 Thu Jun  7 13:20:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
791
792         * expr.c (copy_blkmode_from_reg): Fix operand_subword_force call.
793
794 Thu Jun  7 12:12:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
795
796         * toplev.c (rest_of_compilation): Call split_all_insns
797         before reg-stack and shorten-branches. Do shorten-branches
798         after reg-stack.
799         * final.c (shorten_branches): Remove insn splitting code.
800
801 2001-06-07  Nathan Sidwell  <nathan@codesourcery.com>
802
803         * configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support.
804         * configure: Rebuilt.
805
806 2001-06-07  Andreas Jaeger  <aj@suse.de>
807
808         * emit-rtl.c (operand_subword): Remove unused variable.
809
810 Wed Jun  6 14:51:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
811
812         * i386.md (floatdi?f): Avoid usinf of SSE instructions
813         if TARGET_64BIT is false.
814         (floatdi?f_i386_only): New insn.
815         (floatdi?f_i386): Disable for !TARGET_64BIT.
816
817         * (min?f, max?f splitters): Handle case where
818         operands are cross-matched.
819
820         * i386.h (HI_REGISTER_NAMES): Remove redundant definition
821         (MMX_REGISTER_NAMES): Kill.
822         (PRINT_OPERAND): Fix comment.
823         (PRINT_REG): Likewise.
824         * i386.c (print_reg): Kill support for 'm' CODE; simplify.
825         (print_operand): Update comment; kill 'm'.
826
827         * i386.c (x86_branch_hints): New global variable
828         (print_operand): Support outputting of branch prediction hints.
829         * i386.md (conditional jump patterns): Add branch prediction hints
830         to the template.
831         * i386.h (x86_branch_hints): Declare
832         (TARGET_BRANCH_PREDICTION_HINTS): New macro.
833         (PRINT_OPERAND_FUNCT_VALID_P): New.
834         * final.c (final_forward_branch_p): New function.
835
836 2001-06-06  Richard Henderson  <rth@redhat.com>
837
838         * flow.c (mark_used_reg): Clean up looping over multiple hard
839         registers.  Do conditional life bits across multiple hard regs.
840
841 2001-06-05  Jeffrey D. Oldham  <oldham@codesourcery.com>
842
843         * reload1.c (reload): Revert Schmidt's change so all USEs are not
844         deleted during reload.
845
846 2001-06-05  Mark Mitchell  <mark@codesourcery.com>
847
848         * c-semantics.c (genrtl_scope_stmt): Write out nested inline
849         functions here, instead of ...
850         * c-decl.c (c_expand_body): ... here.
851
852 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
853
854         * config.gcc, config/sparc/bsd.h:  Do not directly include
855         sparc/sparc.h.  Instead do it via tm_file.
856
857 2001-06-05  Richard Henderson  <rth@redhat.com>
858
859         * dwarf2.h (DW_EH_PE_aligned): New.
860         * dwarf2asm.c (eh_data_format_name): Name it.
861         (dw2_asm_output_encoded_addr_rtx): Align for it.
862         * dwarf2out.c (output_call_frame_info): Handle it for personality
863         routine and LSDA pointers.
864
865         * unwind-pe.h (DW_EH_PE_aligned): New.
866         (base_of_encoded_value): Handle it.
867         (read_encoded_value_with_base): Likewise.
868         * unwind-dw2-fde.c (base_from_object): Likewise.
869         (get_cie_encoding): Likewise.
870
871         * config/alpha/elf.h: Remove ecoff commentary.
872         * config/alpha/osf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
873
874 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
875
876         * config.gcc, config/i386/bsd386.h:  Do not directly include
877         i386/386bsd.h.  Instead do it via tm_file.
878
879 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
880
881         * elfos.h (USING_ELFOS_H):  Identify the use of elfos.h in the same
882         way svr4.h does.
883
884 2001-06-05  Pascal Obry  <obry@act-europe.fr>
885
886         * configure.in: Quote $enable_win32_registry in case the value has
887         spaces in it.
888         * configure: Ditto.
889
890 2001-06-05  Mark Mitchell  <mark@codesourcery.com>
891
892         * print-rtl.c (xspaces): Remove.
893         (print_rtx): Use printf field-width, rather than xpsaces, to
894         indent.
895         * toplev.c (main): Disable sibling-call optimization if we are
896         handling exceptions.
897         
898 2001-06-05  Bernd Schmidt  <bernds@redhat.com>
899
900         * reload1.c (reload): Delete all USEs generated during reload.
901
902 2001-06-05  scott snyder  <snyder@fnal.gov>
903
904         * gccbug.in:  Fix typo.
905
906 2001-06-05  Andreas Jaeger  <aj@suse.de>
907
908         * builtins.def: Fix definition of __builtin_cosf, it uses float as
909         parameter and return value.
910
911 2001-06-04  Anthony Green  <green@redhat.com>
912
913         * config/sparc/elf.h (CPP_PREDEFINES): Don't assert cpu or
914         machine.  This is now done in sparc.h.
915
916 2001-06-05  Nathan Sidwell  <nathan@codesourcery.com>
917
918         Correct CVS resurrection of invoke.texi.
919         * doc/invoke.texi: Document new tree dump flags.
920
921 2001-06-05  Joseph S. Myers  <jsm28@cam.ac.uk>
922
923         * c-typeck.c (build_c_cast): Use TYPE_MAIN_VARIANT when checking
924         for casting an aggregate to its own type.  Fixes PR c/2735.
925
926 2001-06-05  Joseph S. Myers  <jsm28@cam.ac.uk>
927
928         * doc/texinfo.tex: Update to version 2001-05-24.08.
929
930 2001-06-05  Nathan Sidwell  <nathan@codesourcery.com>
931
932         * c-common.h (flag_dump_translation_unit): Remove.
933         (enum tree_dump_index): Define.
934         (TDF_ADDRESS, TDF_SLIM): New #defines.
935         (dump_node_to_file): Remove.
936         (dump_node): Make extern. Add flags.
937         (dump_flag, dump_enabled_p, dump_begin, dump_end,
938         dump_switch_p): Prototype.
939         * c-common.c (flag_dump_translation_unit): Remove.
940         * c-decl.c (c_decode_option): Remove -fdump-translation-unit
941         logic. Use dump_switch_p.
942         * c-dump.h (struct dump_info): Add node and user fields.
943         (dump_pointer): Declare.
944         * c-dump.c (dump_node): Make extern. Add flags.
945         (SOL_COLUMN, EOL_COLUMN, COLUMN_ALIGNMENT): New #defines.
946         (dump_new_line, dump_maybe_newline): Use them.
947         (dump_pointer): New function.
948         (dequeue_and_dump): Check TDF_SLIM before dumping a _DECL's
949         chain or function's body. Dump address, if TDF_ADDRESS set.
950         (dump_flag): Define.
951         (dump_node_to_file): Remove.
952         (struct dump_file_info): New struct.
953         (dump_files): New array.
954         (dump_begin, dump_end, dump_enabled_p, dump_switch_p): Define.
955         * c-lang.c (finish_file): Adjust dumping.
956         * toplev.h (dump_base_name): Make extern.
957         * invoke.texi: Document new flags.
958
959 2001-06-04  Mark Mitchell  <mark@codesourcery.com>
960
961         * c-tree.h (lang_decl): Add pending_sizes fields.
962         * c-decl.c (store_parm_decls): Save pending_sizes away for nested
963         functions.
964         (c_expand_body): Expand them.
965         (lang_mark_tree): Mark lang_decl:pending_sizes.
966         * function.c (expand_pending_sizes): New function, broken out
967         from ...
968         (expand_function_start): ... here.
969         * tree.h (expand_pending_sizes): Declare it.
970
971 2001-06-04  Loren J. Rittle  <ljrittle@acm.org>
972
973         * doc/install.texi: Update FreeBSD information.  Generalize
974         and update information for alpha-based platforms using ELF.
975
976 2001-06-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
977
978         * c-decl.c (get_parm_info): Use INTEGRAL_TYPE_P.
979         (store_parm_decls): Likewise.
980         * c-typeck.c (convert_arguments): Likewise.
981
982 2001-06-04  Richard Henderson  <rth@redhat.com>
983
984         * sibcall.c (optimize_sibling_and_tail_recursive_call): Suppress
985         optimization if current_function_calls_setjmp.
986
987 2001-06-04  Joseph S. Myers  <jsm28@cam.ac.uk>
988
989         * doc/c-tree.texi: Fix documentation of TREE_STRING_LENGTH for
990         wide strings.
991
992 Mon Jun  4 20:44:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
993
994         * simplify-rtx.c (simplify_subreg): Fix combining of
995         paradoxical subregs.
996
997 Mon Jun  4 20:15:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
998
999         * rtlanal.c (rtx_unsable_p): ADDRESSOF is stable.
1000         (no_labels_between_p): Short circuit case beg==end.
1001
1002 Mon Jun  4 20:03:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
1003
1004         * rtlanal.c (operand_preference): Fix preference for objects.
1005
1006 Mon Jun  4 20:00:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
1007
1008         * gcse.c (handle_avail_expr): Be prepared to handle single_set
1009         parallels.
1010
1011 Mon Jun  4 19:59:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
1012
1013         * combine.c (if_then_else_cond): Use simplify_subreg instead
1014         of operand_subword.
1015         * integreate.c (sub_constants): Likewise.
1016
1017 Mon Jun  4 19:59:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
1018
1019         * emit-rtl.c (constant_subword): Deprecate; remove most of code
1020         and use simplify_gen_subreg.
1021
1022 Mon Jun  4 19:55:23 CEST 2001  Lars Brinkhoff  <lars@nocrew.org>
1023
1024         * sibcall.c (skip_copy_to_return_value): recognize the situation
1025         when the called function's return value is copied into an
1026         intermediate pseudo, and then into the calling functions return
1027         value register.
1028
1029 Mon Jun  4 16:50:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
1030
1031         * simplify_rtx.c (simplify_subreg): Keep subregs on return values,
1032         check CLASS_CANNOT_CHANGE_MODE before avoiding subreg on hard reg,
1033         in case register wasn't OK previously, accept it now; allow
1034         subregs of frame pointer if reload completed and frame pointer
1035         is not needed.
1036
1037         * combine.c (sombine_simplify_rtx): Fix comment;
1038         use subreg_lowpart_offset instead of subreg_lowpart_p
1039         (gen_lowpart_for_combine): Use subreg_lowpart_offset.
1040         * rtl.h (subreg_lowpart_parts_p): Kill.
1041         (subreg_lowpart_offset, subreg_highpart_offset): Declare.
1042         * simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset.
1043         * emit-rtl.c (gen_lowpart_SUBREG): Use subreg_lowpart_offset;
1044         (gen_lowpart_common): Likewise.
1045         (subreg_lowpart_p): Likewise.
1046         (subreg_lowpart_parts_p): Kill.
1047         (subreg_lowpart_offset, subreg_highpart_offset): New function.
1048
1049         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
1050         to simplify SUBREG and REG.
1051         (gen_highpart): Use simplify_gen_subreg for all simplifications.
1052
1053         * emit-rtl.c (gen_realpart, gen_imagpart): Do not handle
1054         CONCAT specially.
1055
1056         * rtlanal.c (replace_regs):  Use simplify_gen_subreg
1057
1058 Mon Jun  4 09:21:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1059
1060         * doc/c-tree.texi (ARRAY_REF): Say what type of expression must be.
1061         (ARRAY_RANGE_REF): Added description.
1062
1063         * tree.def (ARRAY_RANGE_REF): New code.
1064         * alias.c (handled_component_p, can_address_p): Handle it.
1065         * dwarf2out.c (loc_descriptor_from_tree): Likewise.
1066         * explow.c (set_mem_attributes): Likewise.
1067         * expr.c (expand_assignment, get_inner_reference): Likewise.
1068         (expand_expr, expand_expr_unaligned, do_jump): Likewise.
1069         * fold-const.c (operand_equal_p): Likewise.
1070         * tree.c (staticp, stabilize_reference): Likewise.
1071         * varasm.c (decode_addr_const): Likewise.
1072
1073 Sun Jun  3 21:59:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1074
1075         * reload.c (reload_inner_reg_of_subreg): Return 1 for PLUS.
1076         (push_reload): Handle non-REG in reload_inner_reg_of_subreg case.
1077
1078 2001-06-03  kaz Kojima  <kkojima@rr.iij4u.or.jp>
1079
1080         * gcc/config/sh/sh.c (print_operand_address, print_operand): Call
1081         mark_constant_pool_use before output_addr_const.
1082         (struct pool_node): New field wend.
1083         (add_constant): Note a sequence of constants that are referenced
1084         by a given label.
1085         (pool_window_label, pool_window_last): New variables.
1086         (dump_table): Emit a unspec_volatile representing the end of a
1087         sequence of constants.
1088         (mark_constant_pool_use): New function.
1089         * gcc/config/sh/sh.md (UNSPECV_WINDOW_END): New constant.
1090         (consttable_2): Add the second operand which flags whether
1091         this consttable entry was used or not.
1092         (consttable_4, consttable_8, consttable_sf, consttable_df):
1093         Likewise.
1094         (consttable_window_end): New insn.
1095
1096 2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
1097
1098         * insn-addr.h (INSN_ADDRESSES_NEW): Make insn_uid__ unsigned.
1099         Reformat according to coding standards.
1100
1101         Warning removal.
1102         * config/sh/sh.c (print_operand_address): Cast INTVAL to int.
1103         (shl_and_kind): Cast wide constant.
1104         (gen_far_branch): Define as static, as in declaration.
1105         (barrier_align): Compute cache-line length as unsigned.  Add
1106         parentheses in initial credit computation.
1107         (rounded_frame_size): Add parentheses.
1108         (permanent_obstack): Remove declaration.  Include ggc.h for
1109         declaration of ggc_add_root_rtx().
1110         (get_free_reg): Removed declaration of unused variable reg.
1111         (legitimize_pic_address): Mark mode argument as unused.
1112
1113 2001-06-03  Igor Shevlyakov  <igor@windriver.com>
1114
1115         * config/sh/sh.c (output_branch): Support for insn with lenght
1116         attr 12 & 16 which represents cond branches outside +-4096 range.
1117
1118 2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
1119
1120         * config/sh/lib1funcs.asm (ic_invalidate): Align the
1121         cache-mirroring sequence.  Add nops.
1122
1123 2001-06-03  Joseph S. Myers  <jsm28@cam.ac.uk>
1124
1125         * doc/install-old.texi: Remove more old installation
1126         documentation.
1127         * doc/install.texi: Add relevant parts here.
1128
1129 2001-06-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1130
1131         * doc/install.texi2html: New script.
1132
1133 2001-06-03  David Edelsohn  <edelsohn@gnu.org>
1134
1135         * doc/install.texi: Update AIX information again.
1136
1137 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
1138
1139         * doc/gcc.texi, doc/install-old.texi: Remove old system-specific
1140         installation documentation.
1141         * doc/install.texi: Move it to here.
1142
1143 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
1144
1145         * doc/install.texi: Clean up Texinfo markup.
1146
1147 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
1148
1149         * doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi: Move contents
1150         to just after title page.
1151
1152 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
1153
1154         * doc/install-old.texi: Remove documentation of some configuration
1155         options.
1156         * doc/install.texi: Add relevant parts of this documentation here.
1157
1158 2001-06-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1159
1160         * contrib.texi: Updated entries for Mark Mitchell, Joseph S. Myers,
1161         Gerald Pfeifer, Bernd Schmidt, and Dean Wakerley.
1162
1163 Sat Jun  2 12:23:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
1164
1165         * i386.md (all uses of ext_register_operand): Make sure they are
1166         VOIDmode; replace all uses outside zero_extend.
1167         (and?i splitters): Use ext_register_operands.
1168         (test?i peep2): Remove ignored constraints.
1169         * i386.c (ext_register_operand): Check that operand is
1170         eighter pseudo or hard or 'Q' register.
1171
1172 Sat Jun  2 06:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1173
1174         * tree.h (struct record_layout_info_s): New field unpadded_align.
1175         (set_lang_adjust_rli): New declaration.
1176         * stor-layout.c (layout_decl): If DECL is packed, but at alignment
1177         it would have if not packed, do not downgrade DECL_ALIGN.
1178         (lang_adjust_rli, set_lang_adjust_rli): New.
1179         (start_record_layout): Initialize new field unpadded_align.
1180         (debug_rli): Display it.
1181         (place_union_field, place_field): Set it.
1182         (layout_type, case RECORD_TYPE): Call via lang_adjust_rli if set.
1183
1184         * print-tree.c (print_node): Don't print "regdecl" when bit doesn't
1185         mean that; use proper names instead.
1186         Print DECL_NO_STATIC_CHAIN.
1187
1188         * except.c (expand_builtin_frob_return_addr): Add missing call
1189         to convert_memory_address #ifdef POINTERS_EXTEND_UNSIGNED.
1190         (expand_builtin_eh_return): Likewise.
1191         (expand_eh_return): Clean up ptr_mode != Pmode cases.
1192
1193 2001-06-01  Jan van Male  <jan.vanmale@fenk.wau.nl>
1194
1195         * doc/invoke.texi: Remove references to papers about sequence points
1196         to readings.html, refer to that page.
1197
1198 2001-06-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1199
1200         * README: Update references to installation instructions.
1201
1202 2001-06-01  Laurent Guerby  <guerby@acm.org>
1203             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1204
1205         * doc/install.texi: Define srcdir when sources come from CVS.
1206         Significantly improve markup.  Wrap overly long lines
1207
1208 2001-06-01  DJ Delorie  <dj@redhat.com>
1209
1210         * c-tree.texi, contrib.texi, cpp.texi, cppinternals.texi,
1211         extend.texi, fdl.texi, gcov.texi, invoke.texi, md.texi,
1212         objc.texi, rtl.texi, tm.texi, texinfo.tex, gcc.1, cpp.1,
1213         gcov.1: Move to doc subdirectory.
1214         * install.texi: Move to doc/install-old.texi.
1215         * gcc.texi: Move to doc, refer to install-old.texi.
1216         * Makefile.in: Reflect move of docs to doc/.
1217         * f/Make-lang.in: Ditto.
1218         * java/Make-lang.in: Ditto.
1219         * doc/.cvsignore: New.
1220
1221 2001-05-31  Jan van Male  <jan.vanmale@fenk.wau.nl>
1222
1223         * invoke.texi: use two spaces between command options, eliminate
1224         some 'overfull hboxes'
1225
1226 2001-06-01  Hans-Peter Nilsson  <hp@axis.com>
1227
1228         * Makefile.in (s-mlib): Make backtick-commands always succeed.
1229         (DRIVER_DEFINES): Ditto.
1230
1231 2001-05-31  Richard Henderson  <rth@redhat.com>
1232
1233         * gcc.c (init_gcc_specs): When linking against libgcc_s.so,
1234         also link against libgcc.a.
1235
1236 2001-05-31  Geoff Keating  <geoffk@cygnus.com>
1237
1238         * config/mips/mips.h (ASM_OUTPUT_ASCII): Convert to function.
1239         * config/mips/mips.c (mips_output_ascii): New function.
1240         * config/mips/mips-protos.h (mips_output_ascii): Prototype.
1241
1242         * config/mips/mips.h (DWARF_CIE_DATA_ALIGNMENT): Force to 4.
1243
1244 Thu May 31 19:09:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
1245
1246         * flow.c (set_block_for_new_insns): Remove bogus shortcut.
1247         * i386.c (ix86_expand_int_movcc): Force one of operands to be register.
1248
1249 2001-05-31  Rodney Brown  <rbrown64@csc.com.au>
1250
1251         * install.texi (Configuration): Add html links for --with-gnu-as &
1252         --with-gnu-ld and refer to them from hppa & SCO triplets.
1253         (Specific): Link back to with-gnu-ld for all ELF platfoms.
1254         (Specific): Reword AVR binutils recommendation.
1255
1256 2001-05-30  Zack Weinberg  <zackw@stanford.edu>
1257
1258         * ggc-page.c (size_lookup): Increase minimum allocation size
1259         to eight bytes.
1260         (ggc_print_statistics): Report size of each bin in bytes, not
1261         as its order; there is no longer a direct relationship.
1262
1263 2001-05-31  Jan van Male  <jan.vanmale@fenk.wau.nl>
1264
1265         * extend.texi: Fix formating of examples, eliminate some
1266         'overfull hboxes'.
1267         * gcc.texi: Eliminate some 'overfull hboxes'.
1268         * invoke.texi: Use two spaces between command options, eliminate
1269         some 'overfull hboxes'.
1270
1271 2001-05-30  Richard Henderson  <rth@redhat.com>
1272
1273         * dwarf2out.c (dwarf2out_finish): Don't emit DW_AT_stmt_list at -g1.
1274
1275 2001-05-30  Tom Tromey  <tromey@redhat.com>
1276
1277         * gcc.c (do_spec_1): In `%O' case, if we computed saved_suffix,
1278         use it in the new association.
1279
1280 2001-05-30  Loren J. Rittle  <ljrittle@acm.org>
1281             John David Anglin  <dave@hiauly1.hia.nrc.ca>
1282
1283         * gthr-posix.h (__gthread_active_ptr): Cast function pointer
1284         to target type to allow ISO C++ compiler to accept it.
1285         * gthr-dce.h (__gthread_active_ptr): Likewise.
1286         * gthr-solaris.h (__gthread_active_ptr): Likewise.
1287
1288 2001-05-30  Neil Booth  <neil@daikokuya.demon.co.uk>
1289
1290         * cpplex.c (_cpp_lex_token): Revert patch of 16 May 2001
1291         so that we do accept comments in preprocessed input.
1292
1293 2001-05-30  Neil Booth  <neil@daikokuya.demon.co.uk>
1294
1295         * cpphash.c (alloc_node): Cast allocated pointer.
1296
1297 2001-05-30  Gordon Sadler <gbsadler1@lcisp.com>
1298
1299         * invoke.texi (Option Summary): Remove -isystem-c++ from options.
1300
1301 2001-05-29  Stan Shebs  <shebs@apple.com>
1302
1303         * gcc.texi: Add links for information about Objective-C.
1304
1305 2001-05-29  Nathan Sidwell  <nathan@codesourcery.com>
1306
1307         * configure.in (gcc_version): Remove unrequired \ on ". (Solaris
1308         /bin/sed fails on [^\"]).
1309         (configargs.h): Likewise.
1310
1311 2001-05-29  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
1312
1313         * config/sh/sh.h (IDENT_ASM_OP): End with TAB, not LF.
1314
1315 2001-05-28  Stan Shebs  <shebs@apple.com>
1316
1317         * objc/objc.gperf: Remove, no longer used.
1318
1319 2001-05-28  Joseph S. Myers  <jsm28@cam.ac.uk>
1320
1321         * c-tree.texi, contrib.texi, cpp.texi, extend.texi, gcc.texi,
1322         gcov.texi, install.texi, md.texi, objc.texi, rtl.texi, tm.texi:
1323         Remove trailing whitespace.
1324
1325 2001-05-28  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1326
1327         * doc/install.texi (Specific): http://reality.sgi.com/ariel/freeware/
1328         became http://freeware.sgi.com/.
1329
1330 2001-05-27  Geoffrey Keating  <geoffk@redhat.com>
1331
1332         * local-alloc.c (update_equiv_regs): Don't eliminate constant
1333         expressions at -O0.
1334
1335 2001-05-27  Stan Shebs  <shebs@apple.com>
1336
1337         * objc/objc-act.c: Add/fix various comments.
1338         (init_selector): Remove, no longer used.
1339         (build_msg_pool_reference): Ditto.
1340         (objc_debug): Ditto.
1341
1342 2001-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
1343
1344         * c-decl.c (init_decl_processing):
1345          Don't call start_identifier_warnings.
1346         * flags.h (warn_id_clash, id_clash_len): Remove.
1347         * stringpool.c: Don't include flags.h.
1348         (scan_for_clashes, do_identifier_warnings,
1349         start_identifier_warnings): Remove.
1350         * toplev.c (warn_id_clash, id_clash_len): Remove.
1351         (display_help): Don't document -Wid-clash.
1352         (decode_W_option): Print warning on -Wid-clash.
1353         * tree.h (start_identifier_warnings): Remove.
1354         * invoke.texi: Remove documentation of -Wid-clash.
1355
1356 2001-05-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1357
1358         * fixinc/fixtests.c: Declare entries in ENV_TABLE.
1359
1360 2001-05-27  Bruce Korb  <bkorb@gnu.org>
1361
1362         * fixinc/check.tpl(HACK) add and use a Scheme variable
1363         (has no test text): error out if no "test_text" is defined
1364         * fixinc/fixincl.tpl: likewise
1365         (FIXIDX): make it an enumeration so we minimize diffs
1366         * fixinc/inclhack.def: re-alphabetize and add sort instructions
1367         * fixinc/fixincl.x: regenerate
1368         * fixinc/tests/base/stdio.h: test output got moved due to
1369         the alphabetizing
1370         * README-fixinc: rewrite (mostly)
1371
1372 2001-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
1373
1374         * cpplib.c (run_directive): Set pfile->directive.
1375
1376 2001-05-23  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
1377
1378         * c-tree.texi: Reformat the manual as a single chapter now
1379         included by gcc.texi.
1380         * gcc.texi: Include c-tree.texi. Merge all indexes.
1381         * Makefile.in (dvi): Add generation for the cppinternals
1382         documentation. Added dependencies on fdl.texi and c-tree.texi
1383         where appropriate.  Use TEXI2DVI instead of custom tex calls.
1384         (info): Added dependencies on fdl.texi and c-tree.texi where
1385         appropriate.  Remove the target c-tree.info.
1386
1387 2001-05-27  Lars Brinkhoff  <lars@nocrew.org>
1388
1389         * combine.c (try_combine): Fix typo in comment.
1390         * expr.c (expand_expr): Likewise.
1391         * config/i370/i370.md (untyped_call): Likewise.
1392
1393 2001-05-26  Bruce Korb  <bkorb@gnu.org>
1394
1395         * fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
1396         when fixincl is operating in test mode
1397         * fixinc/inclhack.def(AAB_dgux_int_varargs) : aesthetics
1398         (AAB_ultrix_limits): remove redundant text
1399         (AAB_ultrix_memory): ditto
1400         (AAB_ultrix_string): ditto
1401         (djgpp_wchar_h): fix the test text
1402         (irix_stdio_va_list): add test text
1403         (irix_limits_const): add a testing output file (limits.h is overwritten)
1404         (strict_ansi_not_ctd): put limits.h second in list for same reason
1405         (solaris27_mutex_init): test text needed selection text, too
1406
1407         * fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
1408         when fixincl is operating in test mode
1409
1410 2001-05-26  Philip Blundell  <philb@gnu.org>
1411
1412         * config/c4x/c4x-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
1413         * config/i960/i960-protos.h: Likewise.
1414         * config/i370/i370-protos.h: Likewise.
1415         * config/h8300/h8300-protos.h: Likewise,
1416         * config/sh/sh-protos.h: Likewise.
1417         * config/v850/v850-protos.h: Likewise.
1418
1419 2001-05-26  Philip Blundell  <philb@gnu.org>
1420
1421         * config/arm/arm-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
1422
1423 2001-05-25  Zack Weinberg  <zackw@stanford.edu>
1424
1425         * toplev.c (debug_args, f_options, W_options): Mark
1426         descriptions for translation.
1427         (display_help): Translate descriptions on output.
1428
1429         * cp/lang-options.h, f/lang-options.h, java/lang-options.h,
1430         objc/lang-options.h: Mark descriptions for translation.
1431
1432         * aclocal.m4: Quote final argument of patsubst.  Use
1433         3-argument form of AC_DEFINE.  Restore quotes to [] while
1434         using AC_FD_CC.
1435         * configure.in: Remove unnecessary changequote calls.
1436         * configure, config.in: Regenerate.
1437
1438 2001-05-25  Sam TH  <sam@uchicago.edu>
1439
1440         * basic-block.h: Fix header include guards.
1441         * bitmap.h c-dump.h c-lex.h c-pragma.h c-tree.h collect2.h
1442         cppdefault.h cpphash.h cpplib.h defaults.h diagnostic.h errors.h
1443         except.h flags.h gcc.h gcov-io.h graph.h gstab.h gthr-aix.h
1444         gthr-dce.h gthr-posix.h gthr-rtems.h gthr-single.h gthr-solaris.h
1445         gthr-vxworks.h gthr-win32.h gthr.h hard-reg-set.h hwint.h
1446         insn-addr.h libgcc2.h mbchar.h mkdeps.h params.h prefix.h real.h
1447         rtl.h sbitmap.h system.h timevar.h toplev.h tradcpp.h tsystem.h
1448         varray.h version.h: Likewise.
1449         * config/dbxelf.h config/fp-bit.h config/arm/arm-protos.h
1450         config/arm/arm.h config/c4x/c4x-protos.h
1451         config/h8300/h8300-protos.h config/h8300/h8300.h
1452         config/i370/i370-protos.h config/i370/i370.h
1453         config/i960/i960-protos.h config/mcore/mcore.h
1454         config/mips/mips-protos.h config/sh/sh-protos.h config/sh/sh.h
1455         config/v850/v850-protos.h config/v850/v850.h: Likewise.
1456         * fixinc/fixlib.h fixinc/server.h: Likewise.
1457
1458 2001-05-25  Stacey Sheldon  <ssheldon@Catena.com>
1459
1460         * config/arc/initfini.c (.init): Fix typo.
1461
1462 2001-05-25  Geoffrey Keating  <geoffk@redhat.com>
1463
1464         * config/rs6000/rs6000.md (fseldfsf4): Correct mode of operand 4.
1465
1466 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1467
1468         * i386/i386.h (CC1_CPU_SPEC): Clarify -m486 etc deprecation messages.
1469
1470 2001-05-25  Richard Henderson  <rth@redhat.com>
1471
1472         * libgcc-std.ver: Export XFmode and TFmode versions of symbols.
1473
1474 2001-05-25  Richard Henderson  <rth@redhat.com>
1475
1476         * config.gcc (all gnu and linux): Use t-slibgcc-elf-ver with t-linux.
1477         (i386-*-solaris2): Use t-slibgcc-elf-ver or t-slibgcc-sld.
1478         (sparc*-*-solaris2): Likewise.
1479         * config/t-linux: Remove shared libgcc macros.
1480         * config/t-slibgcc-elf-ver: Move from sparc/t-slibgcc.
1481         * config/t-slibgcc-sld: Move from sparc/t-slibgcc-sld.
1482
1483 2001-05-25  Loren J. Rittle  <ljrittle@acm.org>
1484
1485         * config.gcc (*-*-freebsd*): Report bad configuration.
1486
1487 2001-05-25  David Edelsohn  <edelsohn@gnu.org>
1488
1489         * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Do not emit any marker.
1490
1491         * config/rs6000/aix.h (USER_LABEL_PREFIX): AIX symbols do not have
1492         any prefix.
1493         (ASM_OUTPUT_LABELREF): Delete.
1494
1495 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1496
1497         * fixinc/inclhack.def (strict_ansi_not, strict_ansi_not_ctd,
1498         strict_ansi_only): Don't run if stdc_0_in_system_headers.
1499         * fixinc/fixincl.x: Regenerate.
1500         * fixinc/fixtests.c (stdc_0_in_system_headers_test): New function.
1501         (FIX_TEST_TABLE): Declare it.
1502         * fixinc/fixlib.h: Include config.h.
1503
1504 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1505
1506         * fixinc/inclhack.def (alpha___assert): Change char * args to
1507         const char * on Tru64 UNIX to avoid excessive warnings from
1508         assert.h.
1509         * fixinc/fixincl.x: Regenerate.
1510
1511 2001-05-25  Geoff Keating  <geoffk@redhat.com>
1512
1513         * dbxout.c (dbxout_symbol): Invert previous patch, which was
1514         outputting a tag only for variable-size records.
1515
1516 2001-05-25  Jeff Knaggs  <jknaggs@redhat.com>
1517
1518         * config/alpha/alpha.md (movtf_internal): Use reg_overlap_mentioned_p
1519         instead of rtx_equal_p for early clobber test.
1520
1521 2001-05-26  Mark Mitchell <mark@codesourcery.com>
1522
1523         * builtins.def: Encode additional information, such as names and
1524         types, here.
1525         * builtin-types.def: New file.
1526         * builtins.c (built_in_names): Adjust use of DEF_BUILTIN.
1527         (built_in_decls): Likewise.  Don't explicitly initialize global
1528         data to NULL.
1529         (expand_builtin_mathfn): Handle float and long double variants of
1530         math builtins.
1531         (expand_builtin): Likewise.
1532         * c-common.c (c_common_nodes_and_builtins): Make it table-driven.
1533         (expand_tree_builtin): Handle long, long long, float, and long
1534         double variants of math functions.
1535         * c-common.h (c_tree_index): Remove some unused nodes.
1536         (void_ftype): Remove.
1537         (void_type_ptr): Likewise.
1538         (int_ftype_int): Likewise.
1539         (ptr_ftype_sizetype): Likewise.
1540         * c-decl.c (init_decl_processing): Remove creation of DWARF
1541         builtins.
1542         * defaults.h (MD_INIT_BUILTINS): Provide default definition.
1543         * tree.h (built_in_function): Adjust definition of DEF_BUILTIN.
1544         * Makefile.in (c-common.o): Depend on builtin-types.def.
1545
1546 2001-05-25  Dale Johannesen  <dalej@apple.com>
1547
1548         * config/rs6000/t-darwin: Fix dependencies for darwin.o.
1549
1550 2001-05-25  Neil Booth  <neil@daikokuya.demon.co.uk>
1551
1552         * c-parse.in (notype_initdcl): Remove redundant line.
1553
1554 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1555
1556         * aclocal.m4: Fixed typo.
1557         (gcc_AC_HEADER_STDBOOL): Define.
1558         (gcc_AC_C__BOOL): Define.
1559         * configure.in: Use them.
1560         (AC_CHECK_HEADERS): Remove stdbool.h
1561         * configure, config.in: Regenerate.
1562
1563 2001-05-25  Richard Henderson  <rth@redhat.com>
1564
1565         * function.c (expand_function_start): Don't abort on PARALLEL
1566         returns from hard_function_value.
1567
1568 2001-05-25  Richard Henderson  <rth@redhat.com>
1569
1570         * config/i386/i386.md: Revert previous change.  Do not apply
1571         the peephole if the components do not die after the sequence.
1572
1573 2001-05-25  Joseph S. Myers  <jsm28@cam.ac.uk>
1574
1575         * c-parse.in (array_declarator): New.  Handle C99 constructs.
1576         Don't restrict [*] declarators to C only.
1577         (after_type_declarator, parm_declarator_starttypename,
1578         parm_declarator_nostarttypename, notype_declarator,
1579         direct_absdcl1): Use it.
1580         * c-decl.c (build_array_declarator, set_array_declarator_type):
1581         New functions.  Warn that [*] isn't properly implemented; pedwarn
1582         for [*] outside C99 mode if pedantic rather than giving a hard
1583         error.
1584         (grokdeclarator): Handle static and type qualifiers in parameter
1585         array declarators.
1586         * c-tree.h (build_array_declarator, set_array_declarator_type):
1587         Declare.
1588         * extend.texi (Attribute Syntax): Document attributes in parameter
1589         array declarators.
1590
1591 2001-05-25  Mark Mitchell  <mark@codesourcery.com>
1592
1593         * config/i386/i386.md: Make sure cmpstr peepholes do not
1594         affect liveness information.
1595
1596 2001-05-24  Mark Mitchell  <mark@codesourcery.com>
1597
1598         * c-typeck.c (digest_init): Issue error messages about
1599         invalid constants, not warnings.
1600
1601 2001-05-24  Mark Mitchell  <mark@codesourcery.com>
1602
1603         * invoke.texi (-fno-builtin): Document that this is always on
1604         in C++.
1605
1606 2001-05-24  Philip Blundell  <philb@gnu.org>
1607
1608         * doc/install.texi (arm*-*-linux-gnu): Say that binutils 2.10 is
1609         required.
1610
1611 2001-05-24  Philip Blundell  <philb@gnu.org>
1612
1613         * config/arm/arm.c (output_return_instruction): Correctly handle
1614         interworking and interrupt functions.
1615
1616 2001-05-24  Philip Blundell  <philb@gnu.org>
1617
1618         * config/arm/arm.h (TARGET_SWITCHES): Correct misleading help for
1619         -m{no-}sched-prolog.  Fix typos and improve formatting.
1620
1621 2001-05-24  Philip Blundell  <philb@gnu.org>
1622
1623         * invoke.texi (ARM Options): Improve wording slightly.  Add
1624         documentation for more options, including those for Thumb mode.
1625         Don't mention options that don't exist or are unimplemented.
1626         (Thumb Options): Delete; merged into above section.
1627
1628 2001-05-24  Geoff Keating  <geoffk@redhat.com>
1629
1630         * config/rs6000/linux.h (SIGNAL_FRAMESIZE): Define.
1631         (MD_FALLBACK_FRAME_STATE_FOR): Use it.
1632
1633 Thu May 24 19:47:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
1634
1635         * simplify-rtx.c (simplify_subreg): Fix CONCAT simplification;
1636         fix hard register simplification.
1637
1638 Thu May 24 00:15:17 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1639
1640         * sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Add all of CPP_SPEC instead
1641         of just copying CPP_CPU_SPEC.
1642
1643 Thu May 24 15:56:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
1644
1645         * i386.c (incdec_operand): Accept only 1 and -1.
1646
1647 2001-05-23  Kelley Cook  <kelley.cook@home.com>
1648
1649         * Makefile.in: Move many of the *_H definitions eariler in the
1650         file, so that rules in t-* files that use them for
1651         dependencies will work in a parallel build.
1652         * config/i386/t-cygwin (winnt.o): Depend on $(CONFIG_H).
1653
1654 2001-05-23  Richard Henderson <rth@redhat.com>
1655
1656         * integrate.c (expand_inline_function): Handle CONCAT DECL_RESULT.
1657
1658 2001-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
1659
1660         * cpp.texi: Update for handling of charconsts.
1661         * cpplex.c (maybe_read_ucs): Don't accept D800-DFFF.  Update
1662         diagnostics.  Skip to the end if the UCS is too short.
1663         (cpp_interpret_charconst): Long charconsts issue a warning
1664         not an error.
1665
1666 2001-05-23  Richard Henderson  <rth@redhat.com>
1667
1668         * doc/install.texi (alpha-linux): Require binutils 2.11.
1669
1670 2001-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
1671
1672         * c-lex.c (read_escape, read_ucs): Delete.
1673         (lex_string): Use cpp_parse_escape.
1674         * cpplex.c (read_ucs): Rename maybe_read_ucs.  Do nothing
1675         if not C++ or not C99.  Warn if traditional.
1676         (parse_escape): Rename cpp_parse_escape.  Make the bitmask
1677         unsigned.  Warn for out-of-range escape sequences here.
1678         Update to use maybe_read_ucs.
1679         (cpp_interpret_charconst):  Don't warn here.
1680         * cpplib.h (cpp_parse_escape): New exported function.
1681
1682 2001-05-23  Joseph S. Myers  <jsm28@cam.ac.uk>
1683
1684         * extend.texi (Attribute Syntax): Clarify application of
1685         attributes to parameters declared as functions or arrays.
1686
1687 2001-05-23  Jason Merrill  <jason_merrill@redhat.com>
1688
1689         * dbxout.c (dbxout_type_methods): Do still group methods by name.
1690
1691 2001-05-23  Zack Weinberg  <zackw@stanford.edu>
1692
1693         * diagnostic.c (vnotice): Kill.
1694         (fnotice): Call vfprintf directly.
1695         (diagnostic_for_decl, output_do_verbatim, output_verbatim,
1696         verbatim, set_diagnostic_context): Rename string argument to
1697         indicate that it is run through gettext.
1698         (vbuild_message_string, build_message_string, output_do_printf):
1699         Rename string argument to indicate that it is NOT run through
1700         gettext.
1701         (output_printf, diagnostic_for_decl, fatal_io_error, sorry,
1702         output_do_verbatim, set_diagnostic_context, fnotice, _fatal_insn):
1703         Run msgid argument through gettext.
1704         (default_print_error_function): Run constant strings through
1705         gettext when nothing else will.
1706         (fatal_error, internal_error, error_recursion): Use fnotice.
1707         Present complete sentences to gettext.
1708
1709 2001-05-23  Mark Mitchell  <mark@codesourcery.com>
1710
1711         * jump.c (mark_jump_label): Fix thinko in 2001-05-19 change.
1712
1713 2001-05-23  Richard Henderson  <rth@redhat.com>
1714
1715         * function.c (expand_function_start): Always use a pseudo
1716         for the function result value.
1717
1718 2001-05-22  Richard Henderson  <rth@redhat.com>
1719
1720         * config/mips/iris6.h (EH_FRAME_SECTION_ASM_OP): Give the
1721         section pointer alignment.
1722
1723         * doc/install.texi (alpha-linux): Require binutils >= 2.10.
1724
1725         * unwind-dw2-fde.c (__deregister_frame_info): Stringize use
1726         of __USER_LABEL_PREFIX__.
1727
1728 2001-05-22  Richard Henderson  <rth@redhat.com>
1729
1730         * unwind-dw2-fde.c (__deregister_frame_info): Stubbify in favour of...
1731         (__deregister_frame_info_bases): New.
1732         * unwind-dw2-fde.h: Declare it.
1733         * libgcc-std.ver: Export it.
1734         * crtstuff.c (__do_global_dtors_aux): Call it if we would have
1735         called __register_frame_info_bases.
1736
1737 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
1738
1739         * config/freebsd.h (FBSD_CPP_PREDEFINES): Use #endif/#if pair
1740         instead of #elif (which is OK for this case but not in general).
1741
1742 2001-05-22  Andrew MacLeod  <amacleod@redhat.com>
1743
1744         * builtins.c (expand_builtin_longjmp): A longjmp can be a call too.
1745         * config/ia64/ia64.md (nonlocal_goto): Reverse label and frame pointer
1746         parameters to __ia64_nonlocal_goto. Flag as NO_RETURN.
1747         * config/ia64/ia64.c (ia64_expand_epilogue): Make sure we are issuing
1748         "r2" to the assembly file. Only issue allocs with non-zero parameters.
1749
1750 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
1751             David O'Brien  <obrien@freebsd.org>
1752
1753         * config/freebsd.h (LIB_SPEC): Key the exact setting to
1754         configure-time options and target version of FreeBSD.  Set-up
1755         to match architectural change in threading support.  Correctly
1756         report when -pthread option is not supported by configure-time
1757         options.
1758         (FBSD_CPP_PREDEFINES): Move from architecture-specific files
1759         and extend to encode target version number in run-time setting
1760         of __FreeBSD__ macro to match the system compiler.
1761         (CPP_PREDEFINES): Likewise.
1762         (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
1763
1764         * config/alpha/freebsd.h (CPP_PREDEFINES): Moved to common freebsd.h.
1765         * config/i386/freebsd.h (CPP_PREDEFINES): Likewise.
1766
1767 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
1768             David O'Brien  <obrien@freebsd.org>
1769
1770         * config.gcc (the unlabeled system switch statement): Add
1771         generic configuration section to handle *-*-freebsd*.  Also,
1772         to match the system compiler, default to threading support (it
1773         may be disabled with the standard --disable-threads
1774         configuration-time switch).
1775         (i[34567]86-*-freebsd* in machine-specific section): Use it.
1776         (alpha*-*-freebsd* in machine-specific section): Likewise.
1777
1778         * config/freebsd3.h: New file to expose FBSD_MAJOR macro (3).
1779         * config/freebsd4.h: New file to expose FBSD_MAJOR macro (4).
1780         * config/freebsd5.h: New file to expose FBSD_MAJOR macro (5).
1781         * config/freebsd6.h: New file to expose FBSD_MAJOR macro (6).
1782         * config/freebsd-nthr.h: New file to expose FBSD_NO_THREADS macro.
1783
1784 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
1785             David O'Brien  <obrien@freebsd.org>
1786
1787         * config/t-freebsd (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
1788         * config/t-freebsd-thread (TARGET_LIBGCC2_CFLAGS): Add
1789         -pthread instead setting macro.
1790
1791 2001-05-22  Richard Henderson  <rth@redhat.com>
1792
1793         * crtstuff.c (__register_frame_info_bases): Declare.
1794         (frame_dummy): Use it, if CRT_GET_RFIB_TEXT or CRT_GET_RFIB_DATA.
1795         (__do_global_dtors_aux, __do_global_dtors): Streamline.
1796
1797         * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
1798         (CRT_GET_RFIB_DATA): New.
1799         * config/i386/sysv4.h: Likewise.
1800         * config/i386/sco5.h: Likewise.
1801         (ASM_PREFERRED_EH_DATA_FORMAT): New.
1802
1803 2001-05-22  Richard Henderson  <rth@redhat.com>
1804
1805         * rtl.c (read_string): Break out from ...
1806         (read_rtx): ... here.
1807
1808 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1809
1810         * doc/install.texi (Specific): Remove a bogus and duplicate part
1811         copied from the end of the document.
1812
1813 2001-05-22  Bernd Schmidt  <bernds@redhat.com>
1814
1815         * Makefile.in (LIBGCC_DEPS): Correct LIB1ASMSRC dependency.
1816
1817 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1818
1819         * install.texi: Remove obsolete information on SunOS as well as
1820         i386-sun-sunos4, i860-intel-osf1, and powerpcle-*-solaris2*.
1821         (Installing GNU CC on the Sun): Remove section.
1822
1823 2001-05-22  Alexandre Oliva  <aoliva@redhat.com>
1824
1825         * cppfiles.c (remove_component_p): Don't assume lstat/stat will
1826         keep errno unchanged on success.
1827
1828 2001-05-22  Joseph S. Myers  <jsm28@cam.ac.uk>
1829
1830         * c-lex.c (lex_number): If pedantic and not C99, pedwarn exactly
1831         once for hexadecimal floats, whether or not they contain a decimal
1832         point.  Don't let the setting of pedantic otherwise affect the
1833         parsing of hexadecimal floats.
1834
1835 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1836
1837         * README.ACORN: Remove obsolete file.
1838
1839 2001-05-22  Jan Hubicka  <jh@suse.cz>
1840
1841         * combine.c (gen_binary): Use swap_commutative_operands_p
1842         (simplify_comparison): Likewise.
1843         * expmed.c (emit_store_flag): Likewise.
1844         * expr.c (compare_from_rtx): Likewise.
1845         (do_compare_rtx_and_jump): Likewise.
1846         * optabs.c (emit_cmp_and_jump_insn): Revert last patch; abort
1847         if not emitting a branch and operands want swapping.
1848
1849 2001-05-22  Neil Booth  <neil@daikokuya.demon.co.uk>
1850
1851         * c-lex.c (c_lex): Just cast cpp's hashnode to gcc's one.
1852         * stringpool.c: (IS_FE_IDENT, make_identifier): Delete.
1853         (maybe_get_identifier): Update.
1854         * tree.h (make_identifier): Delete.
1855
1856 2001-05-21  Richard Henderson  <rth@redhat.com>
1857
1858         * combine.c (subst): Do not substitute for a register as
1859         a destination subreg/strict_low_part/zero_extract.
1860
1861         * combine.c (simplify_comparison): Update op1 after constant
1862         extension.
1863         * recog.c (const_int_operand): Accept only constants valid
1864         for the given mode.
1865         * genrecog.c: Update comments wrt const_int_operand.
1866
1867         * emit-rtl.c (init_emit_once): Zero unused memory in a
1868         CONST_DOUBLE.
1869
1870 2001-05-21  Mark Mitchell  <mark@codesourcery.com>
1871
1872         * tree.h (type_num_arguments): Declare it.
1873         * tree.c (type_num_arguments): New function.
1874
1875 2001-05-21  Richard Henderson  <rth@redhat.com>
1876
1877         * dwarf2out.c (current_funcdef_number): Move outside dwarf2
1878         conditional ifdef.
1879
1880 2001-05-21  Geoff Keating  <geoffk@redhat.com>
1881
1882         * config/rs6000/rs6000.md (maxsf3): Use rs6000_emit_minmax.
1883         (maxsf3+1): Delete.
1884         (minsf3): Use rs6000_emit_minmax.
1885         (minsf3+1): Generalize to handle both SMIN and SMAX.  Use
1886         rs6000_emit_minmax.
1887         (movsfcc): Use rs6000_emit_cmove.
1888         (fselsfsf4): Don't compare a CONST_INT with a floating-point value.
1889         Don't generate emit_fselsfsf4.
1890         (fseldfsf4): Likewise.
1891         (maxdf3): Use rs6000_emit_minmax.
1892         (maxdf3+1): Delete.
1893         (mindf3): Use rs6000_emit_minmax.
1894         (mindf3+1): Generalize to handle both SMIN and SMAX.  Use
1895         rs6000_emit_minmax.
1896         (movdfcc): Use rs6000_emit_cmove.
1897         (fseldfdf4): Don't compare a CONST_INT with a floating-point value.
1898         Don't generate emit_fselsfsf4.
1899         (fselsfdf4): Likewise.
1900         * config/rs6000/rs6000.c (zero_fp_constant): New predicate.
1901         (min_max_operator): New predicate.
1902         (rs6000_emit_cmove): New function.
1903         (rs6000_emit_minmax): New function.
1904         * config/rs6000/rs6000-protos.h: Prototype new functions.
1905         * config/rs6000/rs6000.h (PREDICATE_CODES): Add zero_fp_constant
1906         and min_max_operator.
1907
1908         * config/rs6000/rs6000.c (output_cbranch): Handle all
1909         conditional types in the switch statement.
1910
1911 2001-05-21  Mark Mitchell  <mark@codesourcery.com>
1912
1913         * c-decl.c (finish_decl): Don't set DECL_C_HARD_REGISTER for
1914         non-register variables.
1915         * extend.texi: Document that asm-specifications do not make sense
1916         for non-static local variables.
1917
1918 2001-05-21  Jason Merrill  <jason_merrill@redhat.com>
1919
1920         * dbxout.c (MINIMAL_DEBUG, flag_minimal_debug): Lose.
1921         (dbxout_type_fields): Lose minimal_debug support.
1922         (dbxout_type_methods, dbxout_type): Likewise.
1923
1924 2001-05-17  Andrew Haley  <aph@redhat.com>
1925
1926         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
1927
1928 2001-05-21  Richard Henderson  <rth@redhat.com>
1929
1930         * dwarf2out.c (DEBUG_FRAME_SECTION): Rename from FRAME_SECTION.
1931         Update all users.
1932
1933 2001-05-20  Richard Henderson  <rth@redhat.com>
1934
1935         * dwarf2out.c (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
1936         DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_PUBNAMES_SECTION,
1937         DEBUG_STR_SECTION): Rename from s/DEBUG_//.  Update all users.
1938         * dwarfout.c (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
1939         DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION):
1940         Likewise.
1941         * config/mips/iris6.h (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
1942         DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION,
1943         DEBUG_FRAME_SECTION, DEBUG_ABBREV_SECTION): Rename as above.
1944         (DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
1945         * config/ia64/ia64.h (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
1946         DEBUG_PUBNAMES_SECTION): Rename as above.
1947         (DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
1948
1949 2001-05-20  Richard Henderson  <rth@redhat.com>
1950
1951         * optabs.c (emit_cmp_and_jump_insns): Don't swap commutative
1952         operands unless the operation is commutative.
1953
1954 2001-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1955
1956         * fold-const.c (tree_expr_nonnegative_p): Detect more non-negative
1957         cases.
1958
1959 2001-05-21  Joseph S. Myers  <jsm28@cam.ac.uk>
1960
1961         * extend.texi: Clarify documentation of extensions included in ISO
1962         C99.  Prefer C99 terminology and syntax to old GNU terminology and
1963         syntax.  Add more index entries.  Document mixed declarations and
1964         code as an extension in C89 mode.  Warn about future changes to
1965         semantics of inline functions.  Fixes PR other/930.
1966
1967 Sun May 20 16:39:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1968
1969         * expr.c (expand_expr, case ARRAY_REF): Don't fold constant
1970         access if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
1971         (expand_expr, case COMPONENT_REF): Do copy if misaligned even
1972         if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
1973
1974         * stmt.c (expand_decl): Set mode, alignment, and sizes for CONST_DECL.
1975
1976 2001-05-20  Richard Henderson  <rth@redhat.com>
1977
1978         * sched-deps.c (sched_analyze_insn): Force volatile memory reads
1979         to be output before a branch.
1980
1981 2001-05-20  Richard Henderson  <rth@redhat.com>
1982
1983         * Makefile.in (dwarf2asm.o): Depend on $(TREE_H).
1984
1985 2001-05-20  Richard Henderson  <rth@redhat.com>
1986
1987         * config/i386/att.h (ASM_SHORT, ASM_LONG): Add trailing \t.
1988         (ASM_DOUBLE): Remove.
1989         * config/i386/bsd.h, config/i386/sco5.h: Likewise.
1990         * config/i386/sun386.h: Likewise.
1991
1992         * config/i386/i386.h (UNALIGNED_SHORT_ASM_OP): New.
1993         (UNALIGNED_INT_ASM_OP, INT_ASM_OP): New.
1994
1995         * config/i386/cygwin.h (INT_ASM_OP): Remove.
1996         * config/i386/freebsd-aout.h, config/i386/i386-aout.h: Likewise.
1997         * config/i386/i386-coff.h, config/i386/i386-interix.h: Likewise.
1998         * config/i386/netbsd.h, config/i386/openbsd.h: Likewise.
1999
2000         * config/i386/cygwin.h: Adjust uses of ASM_LONG for trailing \t.
2001         * config/i386/djgpp.h, config/i386/i386.h: Likewise.
2002         * config/i386/i386elf.h, config/i386/ptx4-i.h: Likewise.
2003         * config/i386/sco5.h, config/i386/svr3gas.h: Likewise.
2004         * config/i386/sysv4.h, config/i386/vsta.h: Likewise.
2005         * config/i386/win32.h: Likewise.
2006
2007 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
2008
2009         * invoke.texi: Add more options to summary list.
2010
2011 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
2012
2013         * invoke.texi: Document meaning of -pedantic when -std=gnu* is
2014         used.  Fixes PR c/2291.
2015         * gcc.1: Regenerate.
2016
2017 2001-05-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2018
2019         * config/m68hc11/m68hc11.c (m68hc11_override_options): Ignore
2020         the -fpic and -fPIC options, clear flag_pic.
2021
2022 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
2023
2024         * hashtable.c (calc_hash): Fix HASHSTEP definition.
2025         * stringpool.c (make_identifier): No statistics here anymore.
2026         * objc-act.c (steup_string_decl): Remove redundant check.
2027
2028 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
2029
2030         * Makefile.in (OBJS, LIBCPP_OBJS, LIBCPP_DEPS,
2031         cpplib.o, cpphash.o, fix-header): Update.
2032         (hashtable.o): New target.
2033         * c-common.h: Include cpplib.h.  Define C_RID_CODE and
2034         struct c_common_identifier here.
2035         * c-lang.c (c_init_options): Update.  Call set_identifier_size.
2036         * c-lex.c (c_lex): Update.
2037         * c-pragma.h: Update.
2038         * c-tree.h (struct lang_identifier): Contain c_common_identifier.
2039         Delete rid_code.
2040         (C_RID_CODE): Delete.
2041         * cpphash.c: Rewrite to use hashtable.c.
2042         * cpphash.h: Update include guards.
2043         (struct cpp_reader): Remove hashtab.
2044         hash_ob and buffer_ob are no longer pointers.  Add hash_table
2045         and our_hashtable.
2046         (HASHSTEP, _cpp_init_hashtable, _cpp_lookup_with_hash): Delete.
2047         (_cpp_cleanup_hashtable): Rename _cpp_destroy_hashtable.
2048         (_cpp_cleanup_stacks): Rename _cpp_init_directives.
2049         * cppinit.c (cpp_create_reader): Update.
2050         * cpplex.c (cpp_ideq, parse_identifier, cpp_output_token): Update.
2051         (cpp_interpret_charconst): Eliminate warning.
2052         * cpplib.c (do_pragma, do_endif, push_conditional,
2053         cpp_push_buffer, cpp_pop_buffer): Update.
2054         (_cpp_init_stacks): Rename cpp_init_directives.
2055         (_cpp_cleanup_stacks): Remove.
2056         * cpplib.h: Update include guards.  Include tree-core.h and c-rid.h.
2057         (cpp_hashnode, cpp_token, NODE_LEN, NODE_NAME,
2058          cpp_forall_identifiers, cpp_create_reader): Update.
2059         (C_RID_CODE, cpp_make_node): New.
2060         (c_common_identifier): New identifier node for C front ends.
2061         * cppmain.c (main): Update.
2062         * fix-header.c (read_scan_file): Update.
2063         * flags.h (id_clash_len): Make unsigned.
2064         * ggc.h (ggc_mark_nonnull_tree): New.
2065         * hashtable.c: New.
2066         * hashtable.h: New.
2067         * stringpool.c: Update comments and copyright.  Update to use
2068         hashtable.c.
2069         * toplev.c (approx_sqrt): Move to hashtable.c.
2070         (id_clash_len): Make unsigned.
2071         * toplev.h (ident_hash): New.
2072         * tree.c (gcc_obstack_init): Move to hashtable.c.
2073         * tree.h: Include hashtable.h.
2074         (IDENTIFIER_POINTER, IDENTIFIER_LENGTH): Update.
2075         (GCC_IDENT_TO_HT_IDENT, HT_IDENT_TO_GCC_IDENT): New.
2076         (struct tree_identifier): Update.
2077         (make_identifier): New.
2078 cp:
2079         * cp-tree.h (struct lang_identifier, C_RID_YYCODE): Update.
2080         (C_RID_CODE): Remove.
2081         * lex.c (cxx_init_options): Call set_identifier_size.  Update.
2082         (init_parse): Don't do it here.
2083 objc:
2084         * objc-act.c (objc_init_options): Call set_identifier_size. Update.
2085
2086 Sat May 19 18:23:04 2001  Richard Henderson <rth@redhat.com>
2087
2088         * except.c (dw2_build_landing_pads): Use word_mode, not Pmode,
2089         as ncessary.
2090         (expand_eh_return): Convert between word_mode and Pmode.
2091         * unwind-dw2.c (extract_cie_info): Do not assume words and pointers
2092         are the same size.
2093         (execute_stack_op): Likewise.
2094         (execute_cfa_program): Likewise.
2095         (uw_frame_state_for): Likewise.
2096         (uw_update_context_1): Likewise.
2097         * unwind.inc (_Unwind_Reason_Code): Likewise.
2098         * config/mips/mips.h (EH_RETURN_DATA_REGNO): Define.
2099         (EH_RETURN_STACKADJ_RTX): Likewise.
2100         * config/mips/mips.c (compute_frame_size): Make space for saving
2101         EH return registers.
2102         (mips_expand_epilogue): Handle EH stack adjustments.
2103         * config/mips/mips.md (eh_return): New pattern.
2104         (eh_set_lr_si): Likewise.
2105         (eh_set_lr_di): Likewise.
2106         Add splitter to perform EH return after reload.
2107
2108 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
2109
2110         * jump.c (mark_jump_label): Tidy previous change.
2111
2112 2001-05-19  Bruce Korb  <bkorb@gnu.org>
2113
2114         * fixinc/genfixes: no need for two warnings
2115         * fixinc/Makefile.in: open stdin for those building with a closed one.
2116
2117 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
2118
2119         * jump.c (jump_optimize_1): Tidy.
2120         (mark_jump_label): When changing the label in a LABEL_REF, change
2121         update any REG_EQUAL notes as well.
2122
2123 2001-05-19  Joseph S. Myers  <jsm28@cam.ac.uk>
2124
2125         * c-parse.in (parm_declarator): Split into
2126         parm_declarator_starttypename and parm_declarator_nostarttypename.
2127         (parm_declarator_starttypename, parm_declarator_nostarttypename):
2128         New.  Allow parenthesised sub-declarators which don't begin with a
2129         TYPENAME.  Fixes PR c/166.
2130
2131 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
2132
2133         * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): New
2134         macro.
2135         * tm.texi (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
2136         Document it.
2137         * toplev.c (main): If the target does not allow profiling without
2138         a frame pointer, issue an error message.
2139         * config/i386/linux.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
2140         Define it to false.
2141
2142 Sat May 19 07:53:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2143
2144         * recog.c (general_operand): Modify last change to allow it if reload
2145         has completed.
2146
2147 Sat May 19 10:23:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
2148
2149         * recog.c (general_operand): Prohibit nonzero subreg bytes on
2150         subregs containing mem.
2151
2152 Sat May 19 09:40:45 2001  Denis Chertykov  <denisc@overta.ru>
2153
2154         * regrename.c (regrename_optimize): frame pointer register can
2155         use a few hardregs.
2156
2157 2001-05-18  Jason Merrill  <jason_merrill@redhat.com>
2158
2159         * README.DWARF: Move into dwarfout.c.
2160
2161 2001-05-18  Dale Johannesen  <dalej@apple.com>
2162
2163         * config/rs6000/rs6000.c (secondary_reload_class): Fix Darwin
2164         specific misuse of r0 as a reload address.
2165
2166 Fri May 18 22:42:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
2167
2168         * combine.c (combine_simplify_rtx): Clear op0_mode if simplification
2169         suceeded.
2170
2171 Fri May 18 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2172
2173         * genrecog.c (enum decision_type): Add DT_elt_zero-wide_safe.
2174         (add_to_sequence): Make that decision type.
2175         (maybe_both_true_2, nodes_identical_1, factor_tests): Use it.
2176         (write_switch, write_cond, debug_decision_2): Likewise.
2177
2178         * dbxout.c (dbxout_type): Use host_integerp and fix typo in testing
2179         for INTEGER_TYPE.
2180         (dbxout_symbol, case TYPE_DECL): Don't generate tag for records of
2181         variable size.
2182
2183 2001-05-18  Stan Shebs  <shebs@apple.com>
2184
2185         * configure.in (gcc_cv_as_eh_frame): Cope with old assemblers.
2186         * configure: Regenerate.
2187
2188 2001-05-18  Per Bothner  <per@bothner.com>
2189
2190         Changes needed for java/jvspec.c
2191         * gcc.h (n_infiles, outfiles):  Add declarations.
2192         * gcc.c (n_infiles, outfiles):  Mske no longer static.
2193
2194 Fri May 18 10:14:42 2001  Jeffrey A Law  (law@cygnus.com)
2195
2196         * config/pa/som.h (EXCEPTION_SECTION): Define.
2197
2198 2001-05-18  Daniel Berlin  <dan@cgsoftware.com>
2199
2200         * dwarf2out.c: Add dw_loc_list_ref, a reference to a location
2201         list.
2202         Add have_location_lists, a variable to determine whether we need a
2203         .debug_loc section or not.
2204         (enum dw_val_class): Add dw_val_class_loc_list.
2205         (dw_val_struct): Add val_loc_list.
2206         (dw_loc_list_struct): New structure, represents location lists.
2207         (new_loc_list): New function, return a new location list, given
2208         the range and location expression.
2209         (add_loc_descr_to_loc_list): New function, add a location
2210         expression to a location list, given the expression and range.
2211         (output_loc_list): New function, output a location list.
2212         (gen_internal_sym): Modified to take symbol prefix, so we can
2213         reuse it for location list symbols.
2214         (add_AT_loc_list): New function, add a location list to a DIE at
2215         the named attribute.
2216         (AT_loc_list): New function, return the location list reference
2217         for a given attribute, if it's a location list.
2218         (print_die): Handle dw_val_class_loc_list.
2219         (size_of_die): Ditto.
2220         (value_format): Ditto.
2221         (output_die): Ditto.
2222         (output_location_lists): New function, output all of the location
2223         lists for a DIE and it's children.
2224         (dwarf2out_finish): Call output_location_lists if we have location
2225         lists.
2226
2227
2228 Fri May 18 15:39:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
2229
2230         * gcse.c (try_replace_reg): First try global replace, later try to
2231         simplify the expression.
2232
2233         * gcse.c (find_used_regs): Change calling convention; work via
2234         note_uses.
2235         (cprop_insn): Update call of find_used_regs; work for CALL_INSNs too.
2236
2237 2001-05-18  Bernd Schmidt  <bernds@redhat.com>
2238
2239         Revert
2240         2001-02-09  Nick Clifton  <nickc@redhat.com>
2241         * config/arm/arm.md: Change output constraint on post inc
2242         load/store multiple patterns to be a read/write constraint.
2243
2244 2001-05-18  Mark Mitchell  <mark@codesourcery.com>
2245
2246         * basic-block.h (struct basic_block_def): Add documentation about
2247         what a basic block is, and what the various fields are used for.
2248         * flow.c (calculate_globlal_regs_live): Add documentation about
2249         how the algorithm works, and how we know that it will terminate.
2250         Check that the the inductive assumption that guarantees
2251         termination actually holds.
2252         (mark_used_regs): Treat conditionally set registers as used.
2253         (debug_regset): Add comment.
2254         * rtl.texi (cond_exec): Add documentation.
2255
2256         * function.c (expand_function_start): Avoid creating BLKmode
2257         pseudos.
2258
2259 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
2260
2261         * dwarf2out.c (output_comp_unit): Always output a compilation-unit
2262         DIE, even if it has no children.
2263         (dwarf2out_finish): Always output the line-number table, even if
2264         it has no content.
2265
2266 2001-05-18  David Edelsohn  <edelsohn@gnu.org>
2267
2268         * rs6000.md (movsfcc,movdfcc): Remove NE case.
2269
2270 2001-05-17  Bruce Korb <bkorb@gnu.org>
2271
2272         * fixinc/fixincl.tpl: rewritten as an AutoGen version 5 template
2273         * fixinc/genfixes: emit a warning if AutoGen is out of date
2274
2275 2001-05-17  Brendan Conoboy <blc@cygnus.com>
2276             Bruce Korb <bkorb@gnu.org>
2277
2278         * fixinc/fixincl.sh(FIXINC): accept local directory if fixincl not
2279         found in fixinc directory.  Facilitates binary distributions.
2280
2281 2001-05-17  Jeffrey Oldham  <oldham@codesourcery.com>
2282
2283         * dbxout.c (dbxout_symbol_location): For CONCAT, skip types not
2284         COMPLEX_TYPE.
2285
2286 Thu May 17 19:42:39 2001  Mark Kettenis  <kettenis@wins.uva.nl>
2287
2288         * dwarf2out.c (modified_type_die): Equate qualified type to die.
2289
2290 Thu May 17 23:19:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
2291
2292         * integrate.c (copy_rtx_and_substitute): Use simplify_gen_subreg.
2293         (simplify_subreg): Handle complex types represented as CONCAT.
2294
2295         * recog.c (validate_replace_rtx_1): Properly canonicalize expression
2296         * rtl.h (swap_commutative_operands_p): Declare.
2297         * rtlanal.c (swap_commutative_operands_p): New.
2298         (operand_preference): New static function.
2299
2300         * combine.c (combine_simplify_rtx): Use swap_commutative_operands_p.
2301         (gen_binary): Likewise.
2302         * optabs.c (emit_cmp_and_jump_insns, emit_conditional_move): Likewise.
2303         * simplify-rtx.c (simplify_gen_binary,
2304         simplify_gen_relational): Likewise.
2305
2306 Thu May 17 20:43:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
2307
2308         * cse.c (fold_rtx): Use simplify_subreg.
2309
2310         * simplify-rtx.c (simplify_replace_rtx): Use simplify_gen_subreg.
2311         (simplify_gen_subreg): New.
2312         (simplify_rtx): Use simplify_subreg.
2313         * rtl.h (simplify_gen_subreg): Declare.
2314
2315 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
2316
2317         * doc/install.texi: Update Solaris information.
2318
2319         * except.h (protect_cleanup_actions): Remove it.
2320         (lang_protect_cleanup_actions): Declare it.
2321         * except.c (protect_cleanup_actions): Remove it.
2322         (lang_protect_cleanup_actions): New variable.
2323         (init_eh): Don't make protect_cleanup_actions a GC root.
2324         (expand_eh_region_and_cleanup): Call
2325         lang_protect_cleanup_actions.
2326         (output_function_exception_table): Remove unused `align'
2327         variable.
2328         * varasm.c (assemble_external): Abort if we have not yet
2329         opened the assembly output file.
2330
2331 Thu May 17 11:54:50 2001  Jeffrey A Law  (law@cygnus.com)
2332
2333         * except.c (sjlj_emit_function_enter): Call assemble_external_libcall
2334         for eh_personality_libfunc.
2335
2336 Thu May 17 19:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
2337
2338         * recog.c (validate_replace_rtx_1): Use "TO" mode if not VOIDmode
2339         when calling simplify_subreg.  This is needed to allow replacing
2340         of expression of one mode by expression of different mode.
2341
2342 Thu May 17 19:40:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
2343
2344         * simplify-rtx.c  (simplify_subreg): Avoid creating of incorrect subregs.
2345
2346 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
2347
2348         * expr.c (protect_from_queue): Protect against subsequent calls to
2349         emit_queue.
2350         (expand_expr, case ADDR_EXPR): Prevent protect_from_queue from being
2351         too clever.
2352
2353 Thu May 17 18:17:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
2354
2355         * simplify_rtx.c (simplify_subreg): Fix simplification of nested subregs.
2356
2357 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2358
2359         * gccbug.in (CATEGORIES): Add "bootstrap".
2360
2361 Thu May 17 16:59:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
2362
2363         * simplify-rtx.c (simplify_subreg): Break out from ...
2364         * combine.c (combine_splify_rtx) ... here and ...
2365         * recog.c (validate_replace_rtx_1): ... here;
2366         * rtl.h (subreg_lowpart_parts_p, simplify_subreg): Declare.
2367         * emit-rtl.c (subreg_lowpart_parts_p): Break out from ...
2368         (subreg_lowpart_p): ... here.
2369
2370 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
2371
2372         * stmt.c (expand_asm_operands): For inout operands, make sure
2373         the substitution of '=' for '+' makes it into the rtl.
2374
2375         * reload1.c (delete_output_reload): Call eliminate_regs on substed.
2376         (reload_as_needed): Call update_eliminable_offsets a bit later.
2377
2378 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2379
2380         * gcc.texi (gccbug): Refer to the web pages for detailed information
2381         on GNATS.
2382
2383 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
2384
2385         * libgcc1-test.c, libgcc1.c, config/i386/perform.h: Delete file.
2386
2387         * Makefile.in: Delete variables: OLDCC, CCLIBFLAGS, OLDAR,
2388         OLDAR_FLAGS, LIBGCC1, LIBGCC1_TEST, CROSS_LIBGCC1,
2389         LIB1FUNCS, and LIB1FUNCS_EXTRA.  Delete rules: libgcc1-test,
2390         libgcc1-test.o.  Clarify commentary now that libgcc1 no longer exists.
2391         * cross-make: Don't set LIBGCC1.
2392         * mklibgcc.in: Delete all code for building from libgcc1.c.
2393         Always honor LIB1ASMFUNCS if set.
2394
2395         * crtstuff.c, floatlib.c, longlong.h, config/fp-bit.c,
2396         config/arc/lib1funcs.asm, config/arm/lib1funcs.asm,
2397         config/d30v/libgcc1.asm, config/fr30/lib1funcs.asm,
2398         config/h8300/lib1funcs.asm, config/i386/cygwin.asm,
2399         config/i386/uwin.asm, config/m68hc11/larith.asm,
2400         config/m68k/lb1sf68.asm, config/mcore/lib1.asm,
2401         config/mn10200/lib1funcs.asm, config/sh/lib1funcs.asm,
2402         config/sparc/lb1spc.asm, config/sparc/lb1spl.asm,
2403         config/v850/lib1funcs.asm, config/c4x/libgcc.S:
2404         Delete or update references to libgcc1 in commentary.
2405
2406         * config/t-libc-ok, config/t-linux, config/t-linux-aout,
2407         config/t-netbsd, config/a29k/t-a29kbare, config/a29k/t-vx29k,
2408         config/alpha/t-interix, config/alpha/t-osf, config/alpha/t-vms,
2409         config/arc/t-arc, config/arm/t-arm-aout, config/arm/t-arm-coff,
2410         config/arm/t-arm-elf, config/arm/t-linux, config/arm/t-pe,
2411         config/arm/t-semi, config/arm/t-strongarm-coff,
2412         config/arm/t-strongarm-elf, config/arm/t-strongarm-pe,
2413         config/arm/t-xscale-coff, config/arm/t-xscale-elf, config/avr/t-avr,
2414         config/c4x/t-c4x, config/d30v/t-d30v, config/fr30/t-fr30,
2415         config/h8300/t-h8300, config/i386/t-beos, config/i386/t-cygwin,
2416         config/i386/t-i386elf, config/i386/t-interix, config/i386/t-netware,
2417         config/i386/t-next, config/i386/t-rtems-i386, config/i386/t-sol2,
2418         config/i960/t-960bare, config/i960/t-vxworks960, config/ia64/t-ia64,
2419         config/m32r/t-m32r, config/m68hc11/t-m68hc11-gas, config/m68k/t-lynx,
2420         config/m68k/t-m68kbare, config/m68k/t-m68kelf,
2421         config/m68k/t-mot3300-gald, config/m68k/t-mot3300-gas,
2422         config/m68k/t-next, config/m68k/t-vxworks68, config/m88k/t-bug,
2423         config/m88k/t-dgux, config/m88k/t-dgux-gas, config/m88k/t-dguxbcs,
2424         config/m88k/t-luna, config/m88k/t-luna-gas, config/m88k/t-m88k,
2425         config/m88k/t-m88k-gas, config/m88k/t-sysv4, config/mcore/t-mcore,
2426         config/mcore/t-mcore-pe, config/mips/t-bsd, config/mips/t-bsd-gas,
2427         config/mips/t-cross64, config/mips/t-ecoff, config/mips/t-elf,
2428         config/mips/t-iris6, config/mips/t-r3900, config/mips/t-svr3,
2429         config/mips/t-svr3-gas, config/mips/t-svr4, config/mips/t-svr4-gas,
2430         config/mips/t-ultrix, config/mn10200/t-mn10200,
2431         config/mn10300/t-mn10300, config/pa/t-linux, config/pa/t-linux64,
2432         config/pa/t-pa, config/pa/t-pa64, config/pa/t-pro,
2433         config/pdp11/t-pdp11, config/pj/t-pj, config/rs6000/t-aix43,
2434         config/rs6000/t-beos, config/rs6000/t-darwin, config/rs6000/t-newas,
2435         config/rs6000/t-ppccomm, config/rs6000/t-rs6000, config/sh/t-linux,
2436         config/sh/t-sh, config/sparc/t-chorus-elf, config/sparc/t-elf,
2437         config/sparc/t-sol2, config/sparc/t-sp86x, config/sparc/t-sparcbare,
2438         config/sparc/t-sparclite, config/sparc/t-splet,
2439         config/sparc/t-sunos41, config/sparc/t-vxsparc,
2440         config/sparc/t-vxsparc64, config/v850/t-v850:
2441         Don't set any of LIBGCC1, CROSS_LIBGCC1, or LIBGCC1_TEST.
2442
2443         * config/alpha/alpha.h, config/i386/i386.h, config/i860/i860.h:
2444         Don't set FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, INTIFY, or FLOATIFY.
2445         * config/d30v/d30v.h: Don't mention LIBGCC_NEEDS_DOUBLE,
2446         FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, FLOATIFY, INTIFY,
2447         nongcc_SI_type, nongcc_word_type, or perform_*
2448         * config/i860/fx2800: Don't define perform_umodsi3 or perform_modsi3.
2449
2450         * config/i386/386bsd.h, config/i386/beos-elf.h,
2451         config/i386/linux-aout.h, config/i386/linux-oldld.h,
2452         config/i386/linux.h, config/i386/mach.h, config/i386/netbsd.h,
2453         config/i386/openbsd.h, config/i386/osfrose.h, config/i386/rtemself.h:
2454         Don't include i386/perform.h.
2455
2456         * config/a29k/t-a29k, config/arm/t-semiaof, config/i370/t-i370,
2457         config/i370/t-linux, config/i370/t-mvs, config/i370/t-oe,
2458         config/i386/t-djgpp, config/i386/t-i386bare, config/i386/t-vsta,
2459         config/ia64/t-hpux, config/mips/t-mips, config/mips/t-mips-gas,
2460         config/mips/t-osfrose, config/sparc/t-sp64, config/sparc/t-sunos40,
2461         config/vax/t-openbsd, config/vax/t-vax: Delete.
2462
2463         * config.gcc: Remove references to deleted files.
2464         (arm-semi-aof): Use arm/t-semi for tmake_file.
2465
2466         * gcc.texi, install.texi, invoke.texi, tm.texi:
2467         Delete or rewrite text which is no longer relevant now that
2468         libgcc1 no longer exists.
2469
2470         * config/t-openbsd, config/alpha/t-interix, config/i386/t-interix:
2471         No need to set INSTALL_ASSERT_H.  (Missed in previous sweep.)
2472
2473 2001-05-16  Wolfgang Bangerth <wolfgang.bangerth@iwr.uni-heidelberg.de>
2474         Bruce Korb <bkorb@gnu.org>
2475
2476         * fixinc/inclhack.def(solaris27_mutex_init):  Fix broken mutex
2477         initializer
2478
2479 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
2480
2481         * i386.md: Add two peepholes to clean up code generated by
2482         cmpstr* expanders.
2483
2484 2001-05-16  Richard Henderson  <rth@redhat.com>
2485
2486         * dwarf2asm.c (eh_data_format_name): Add names for "pointer size"
2487         variants of non-absolute encodings.
2488
2489         * config/i386/i386.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
2490
2491         * libgcc-std.ver (_Unwind_Find_FDE, __register_frame_info_bases,
2492         __register_frame_info_table_bases): Export.
2493
2494 2001-05-16  Richard Henderson  <rth@redhat.com>
2495
2496         * except.c (eh_data_format_name): Move to ...
2497         * dwarf2asm.c: ... here.  Use designated initializers if available.
2498         (dw2_asm_output_encoded_addr_rtx): Accept varargs commentary.
2499         * dwarf2asm.h: Update declarations.
2500         * dwarf2out.c (output_cfi) [DW_CFA_set_loc]: If for_eh, mind
2501         ASM_PREFERRED_EH_DATA_FORMAT.
2502         (output_call_frame_info): Likewise.  Use 'L' augmentation for
2503         the LSDA encoding.
2504
2505         * unwind-dw2-fde.h (struct fde_vector): New.
2506         (struct old_object): Rename from struct object.
2507         (struct object): New.
2508         (__register_frame_info_bases): Declare.
2509         (__register_frame_info_table_bases): Declare.
2510         (struct dwarf_fde): Remove explicit pc_begin/pc_range members.
2511         * unwind-dw2-fde.c (objects): Remove.
2512         (unseen_objects, seen_objects): New.
2513         (__register_frame_info_bases): New.
2514         (__register_frame_info): Use it.
2515         (__register_frame_info_table_bases): New.
2516         (__register_frame_info_table): Use it.
2517         (__deregister_frame_info): Rewrite for changed object struct.
2518         (base_from_object, get_cie_encoding, get_fde_encoding): New.
2519         (fde_unencoded_compare): Rename from fde_compare; uninline.
2520         (fde_single_encoding_compare, fde_mixed_encoding_compare): New.
2521         (start_fde_sort): Adjust for new definition of fde_vector.
2522         (fde_insert): Likewise.
2523         (end_fde_sort): Likewise.  Select comparison function based
2524         on properties of the object.
2525         (fde_split): Take object and fde_compare_t arguments.
2526         (frame_heapsort, fde_merge): Likewise.
2527         (classify_object_over_fdes): Rename from count_fdes.  Handle
2528         encoded pointers.  Collect encoding, mixed_encoding, and pc_begin
2529         for the object.
2530         (add_fdes): Handle encoded pointers.
2531         (init_object): Rename from frame_init.  Update for new struct object.
2532         (linear_search_fdes): Rename from search_fdes.  Handle encoded
2533         pointers.
2534         (binary_search_unencoded_fdes): Broken out from _Unwind_Find_FDE.
2535         (binary_search_single_encoding_fdes): New.
2536         (binary_search_mixed_encoding_fdes): New.
2537         (search_object): New.
2538         (_Unwind_Find_FDE): Update for new struct object.  Fill in
2539         the dwarf_eh_bases.
2540         * unwind-dw2.c: Include unwind-pe.h.  Constify all pointers
2541         iterating over EH data.
2542         (_Unwind_FrameState): Remove saw_lsda, addr_encoding.  Add
2543         fde_encoding, lsda_encoding.
2544         (read_uleb128, read_sleb128): Remove.
2545         (read_encoded_pointer): Remove.  All callers use read_encoded_value.
2546         (extract_cie_info): Set lsda_encoding from 'L' augmentation.
2547         (uw_frame_state_for): Don't set bases.func.  Handle encoded fde
2548         pointers.
2549         * unwind-pe.h: Add "struct" to _Unwind_Context references.
2550
2551 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2552
2553         * cppexp.c (lex): Use NODE_NAME and NODE_LEN.
2554         * cpphash.c (_cpp_lookup_with_hash): Similarly.
2555         * cpplex.c (cpp_ideq, parse_identifier, cpp_token_len,
2556         cpp_spell_token, cpp_output_token): Similarly.
2557         * cpplib.c (lex_macro_node, do_undef, do_pragma,
2558         do_pragma_poison, parse_assertion, do_assert): Similarly.
2559         * cppmacro.c (builtin_macro, parse_args, funlike_invocation_p,
2560         save_parameter, _cpp_create_definition, check_trad_stringification,
2561         cpp_macro_definition): Similarly.
2562         * cppmain.c (cb_define, cb_undef, dump_macro): Similarly.
2563         * c-lex.c (cb_undef, c_lex): Similarly.
2564         * fix-header.c (recognized_function): Similarly.
2565         * cpplib.h (NODE_LEN, NODE_NAME): New.
2566         (cpp_hashnode): Rename length len.
2567
2568 Wed May 16 13:41:10 2001  Jeffrey A Law  (law@cygnus.com)
2569
2570         * pa32-regs.h (HARD_REGNO_MODE_OK): Allow TI/TFmode values in
2571         GPRs.
2572
2573 2001-05-16  Andreas Jaeger  <aj@suse.de>
2574
2575         * Makefile.in (toplev.o): Add dependency on dwarf2asm.h.
2576
2577         * toplev.c: Include dwarf2asm.h for prototype of
2578         dw2_output_indirect_constants.
2579
2580 Wed May 16 19:53:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
2581
2582         * stmt.c (expand_asm_operands): Be able to offload addressof
2583         expression to memory. (PR optimization/185)
2584
2585 Wed May 16 18:53:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
2586
2587         * combine.c (combine_simplify_rtx): Set op0_mode to VOIDmode after
2588         applying distributive law.
2589
2590 2001-05-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2591
2592         * pa-hpux10.h (THREAD_MODEL_SPEC): Define.
2593
2594         * gthr-dce.h (UNUSED): Attribute unused macro.
2595         (__gthread_key_dtor): Make arguments UNUSED.
2596         (__gthread_key_delete): Revise for compatibility with DRAFT4
2597         implementation.
2598
2599 2001-05-16  David Edelsohn  <edelsohn@gnu.org>
2600
2601         * doc/install.texi: Update AIX information.
2602         * README.RS6000: Remove obsolete file.
2603
2604 2001-05-16  Jakub Jelinek  <jakub@redhat.com>
2605             Nathan Sidwell  <nathan@codesourcery.com>
2606
2607         * gcc.c (give_switch): Don't write before start of string.
2608         Always append suffix.
2609
2610 2001-05-16  Nathan Sidwell  <nathan@codesourcery.com>
2611
2612         * cpplex.c (_cpp_lex_token, '/' case): Comments can't appear
2613         after stage3.
2614
2615 2001-05-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2616
2617         * README.ALTOS: Remove obsolete file.
2618
2619 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
2620
2621         * c-lex.h (save_and_forget_protocol_qualifiers,
2622         forget_protocol_qualifiers, remember_protocol_qualifiers):
2623         Remove deleted functions' prototypes.
2624
2625 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
2626
2627         * c-parse.in (methodtype): New production.
2628         (methoddef, methodproto): Collapse separate '-' and '+'
2629         handlers into 1.
2630
2631 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2632
2633         * c-common.h (RID_FIRST_PQ): New.
2634         * c-parse.in (objc_pq_context): New.
2635         (objc parser): Set objc_pq_context rather than calling
2636         remember_protocol_qualifiers and forget_protocol_qualifiers.
2637         Don't call save_and_forget_protocol_qualifiers.
2638         (yylexname): Handle objc protocol qualifiers here.
2639         * stringpool.c (struct str_header): Replace with sp_hashnode.
2640         (SP_EMPTY, SP_LEN, SP_TREE, SP_STR, SP_VALID): New.
2641         (alloc_string): Rename alloc_ident.  Use the SP_ accessors.
2642         Allocate an IDENTIFIER_NODE for each identifier.
2643         (FORALL_STRINGS, set_identifier): Delete.
2644         (FORALL_IDS, expand_string_table, stringpool_statistics): Update.
2645         (ggc_alloc_string): Use an obstack.
2646         (get_identifier, maybe_get_identifier, mark_string_hash): Update.
2647         * tree.h: Update comments.
2648         (set_identifier): Delete.
2649         * objc/objc-act.c (N_PQ, saved_pq, saved_not_pq,
2650         save_and_forget_protocol_qualifiers, forget_protocol_qualifiers,
2651         remember_protocol_qualifiers): Delete.
2652
2653 Tue May 15 22:14:09 2001  Jeffrey A Law  (law@cygnus.com)
2654
2655         * flow.c (life_analysis): After life analysis is complete, do
2656         an optional scan over insns looking for REG_LABEL notes that
2657         reference a deleted label.
2658         (propagate_block_delete_insn): Verify INOTE is a CODE_LABEL
2659         before peeking at LABEL_NUSES.
2660
2661 2001-05-15  Richard Henderson  <rth@redhat.com>
2662
2663         * unwind-sjlj.c (_Unwind_GetDataRelBase): New.
2664         (_Unwind_GetTextRelBase): New.
2665
2666 2001-05-15  Mark Mitchell  <mark@codesourcery.com>
2667
2668         * config/sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
2669
2670 2001-05-15  Geoffrey Keating  <geoffk@redhat.com>
2671
2672         * objc/objc-act.c (handle_class_ref): Use rest_of_decl_compilation
2673         so that CHOOSE_SECTION gets used.
2674
2675         * config/rs6000/sysv4.h (ASM_PREFERRED_EH_DATA_FORMAT): Treat
2676         TARGET_RELOCATABLE like flag_pic for now.
2677
2678 2001-05-15  David Edelsohn  <edelsohn@gnu.org>
2679
2680         * rs6000.md (movdi splitter): Sign extend more efficiently.
2681         * rs6000.c (reg_or_arith_cint_operand): Redefine 64-bit constant
2682         to "long long" valid on 32-bit and 64-bit hosts.
2683         (logical_operand): Cast trunc_int_for_mode return value.
2684         (rs6000_emit_move): Shift macro to encapsulate variable.
2685         (rs6000_va_start): Use HOST_WIDE_INT_PRINT_DEC.
2686         (rs6000_emit_{prologue,epilogue}): EH regno is unsigned but
2687         plus_constant requires signed argument.
2688
2689 2001-05-15  Loren J. Rittle  <ljrittle@acm.org>
2690
2691         * gthr-posix.h: Make additional pthread-* functions weak.
2692
2693 Tue May 15 13:51:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
2694
2695         * recog.c (apply_change_group): Avoid unneeded validating.
2696
2697 2001-05-14  David Edelsohn  <edelsohn@gnu.org>
2698
2699         * rs6000.c (num_insns_constant_wide): Constants are sign-extended.
2700         (num_insns_constant): CONST_INT can be 64-bits.
2701
2702 2001-05-14  Stan Shebs  <shebs@apple.com>
2703
2704         * config/darwin.h (LIB_SPEC): Just use -lSystem.
2705         (LIBGCC_SPEC): Don't define.
2706
2707 2001-05-14  Richard Henderson  <rth@redhat.com>
2708
2709         * configure.in (gcc_cv_as_eh_frame): New test.
2710         * config.in, configure: Rebuild.
2711         * gcc.c (init_spec): Honor USE_AS_TRADITIONAL_FORMAT.
2712
2713 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
2714
2715         * config/ia64/lib1funcs.asm (__divtf3): Fix incorrect bits in
2716         extended precision divide.
2717
2718 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
2719
2720         * config/ia64/ia64.c (rtx_needs_barrier): Call rtx_needs_barrier
2721         for RETURNS as well.
2722
2723 Mon May 14 17:34:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
2724
2725         * i386.h (TARGET_64BIT): Define to constant if !TARGET_BI_ARCH
2726         (CPP_CPU??_SIZE_TYPE): New.
2727         (CPP_CPU??_SPEC, CPP_CPUCOMMON_SPEC): Break out from...
2728         (CPP_CPU_SPEC): ... here; support choosing of CPU.
2729         (EXTRA_SPECS): Add cpp_cpu??, cpp_cpu??sizet, cpp_cpucommon.
2730         (MAX_LONG_TYPE_SIZE, MAX_BITS_PER_WORD): Define to 32 for 32bit-only
2731         compiler.
2732         * i386.c (override_options): Add sorry about not suported modes.
2733
2734 Mon May 14 08:56:47 2001  Jeffrey A Law  (law@cygnus.com)
2735
2736         * config/pa/som.h (NM_FLAGS): Remove.
2737         (ASM_OUTPUT_FUNCTION_PREFIX): No longer truncate subspace names.
2738         (ASM_OUTPUT_SECTION_NAME): Remove.
2739         (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Likewise.
2740
2741 2001-05-14  Mark Mitchell  <mark@codesourcery.com>
2742
2743         * regrename.c (regrename_optimize): Do not rename registers to
2744         leaf registers.
2745
2746 2001-05-14  Alexandre Oliva  <aoliva@redhat.com>
2747
2748         * rtl.texi (CALL_INSN_FUNCTION_USAGE): Note that (and when) it may
2749         contain MEMs.  Remove useless distinction about clobbering
2750         registers.
2751
2752 2001-05-13  Geoff Keating  <geoffk@redhat.com>
2753
2754         * config/rs6000/rs6000.h (EXCEPTION_SECTION): Move to...
2755         * config/rs6000/aix.h (EXCEPTION_SECTION): ... here.
2756         * config/rs6000/sysv4.h (CONST_SECTION_ASM_OP): Delete.
2757         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2758         (EXCEPTION_SECTION): Define.
2759
2760 2001-05-13  Zack Weinberg  <zackw@stanford.edu>
2761
2762         * libgcc2.c, libgcc2.h: Restore __eprintf.  Label as used for
2763         binary backward compat only.
2764         * Makefile.in (LIB2FUNCS_ST): New.  Put _eprintf here, not
2765         in LIB2FUNCS.  Pass it to mklibgcc.
2766         * mklibgcc.in: Handle LIB2FUNCS_ST.
2767
2768         * Makefile.in (installdirs): Don't create $(gcc_tooldir).
2769
2770 2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
2771
2772         * tm.texi (THREAD_MODEL_SPEC): Document it.
2773         * gcc.c (main): Use it.
2774         * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Define it.
2775         * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Likewise.
2776
2777 2001-05-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2778
2779         * rtl.h (SYMBOL_REF_WEAK): New macro.
2780         * rtlanal.h (rtx_addr_can_trap): Use it, a weak SYMBOL_REF can trap.
2781         * varasm.c (make_decl_rtl): Mark SYMBOL_REF weak if necessary.
2782         * rtl.texi (SYMBOL_REF_WEAK): Document it.
2783         * gcc.texi: Remove wrong description.
2784
2785 2001-05-13  Mark Mitchell  <mark@codesourcery.com>
2786
2787         * Makefile.in (STAMP): New macro.
2788         Replace all uses of `touch' with $(STAMP).
2789         * fixinc/Makefile.in: Likewise.
2790
2791 Sun May 13 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2792
2793         * configure.in: ldopen is never in -lexc, so don't test for it.
2794         Add test for exc_resume in -lexc for Ada.
2795         * configure: Regenerated.
2796
2797 2001-05-12  Richard Henderson  <rth@redhat.com>
2798
2799         * dwarf2asm.c (size_of_encoded_value): New function.
2800         * dwarf2asm.h: Declare it.
2801         * except.c (output_function_exception_table): Align the TType
2802         array only as wide as the encoding.
2803
2804 2001-05-12  Zack Weinberg  <zackw@stanford.edu>
2805
2806         * extend.texi: Document #pragma GCC java_exceptions.
2807
2808 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2809
2810         * c-parse.in (bison parser, init_reswords): Remove uses of
2811         doing_objc_thang.
2812         * c-tree.h (doing_objc_thang): Remove.
2813
2814 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
2815
2816         * cpplex.c (_cpp_lex_token): Ensure we warn at most once
2817         about files not ending in newlines.
2818
2819 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2820
2821         * dwarfout.c (dwarfout_init): Add cast.
2822         * sched-deps.c (sched_analyze_insn): Remove unused vars.
2823         * unwind-dw2-fde.c (_Unwind_Find_FDE): Flag unused parameter so.
2824 cp:
2825         * method.c (build_mangled_C99_name): Remove unused prototype.
2826
2827 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
2828
2829         * config/arm/arm.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Use delta.
2830
2831 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
2832
2833         * defaults.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
2834         * tm.texi (TARGET_PRTMEMFUNC_VBIT_LOCATION): Document.
2835
2836 2001-05-11  Richard Henderson  <rth@redhat.com>
2837
2838         * defaults.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
2839         * dwarf2asm.c (dw2_force_const_mem, dw2_output_indirect_constant_1,
2840         dw2_output_indirect_constants, dw2_asm_output_encoded_addr_rtx): New.
2841         * dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): Prototype.
2842         (dw2_output_indirect_constants): Prototype.
2843         * dwarf2out.c (dwarf2out_begin_prologue): Generate
2844         current_function_func_begin_label if we'll need it for EH.  Exit
2845         early for IA64_UNWIND_INFO.
2846         * except.c: Get DW_EH_PE_* defines from dwarf2.h.
2847         (eh_data_format_name): Update for indirect references.
2848         (output_function_exception_table): Care for IA64_UNWIND_INFO.
2849         Handle ASM_PREFERRED_EH_DATA_FORMAT.
2850         * except.h (MUST_USE_SJLJ_EXCEPTIONS): IA64_UNWIND_INFO needn't
2851         define HAVE_eh_return etc.
2852         * final.c (final_start_function): Always call dwarf2out_begin_prologue.
2853         (final_end_function): Don't call output_function_exception_table.
2854         * toplev.c (compile_file): Call dw2_output_indirect_constants.
2855         (rest_of_compilation): Invoke output_function_exception_table
2856         for ia64 before assemble_end_function.
2857         * tm.texi (ASM_PREFERRED_EH_DATA_FORMAT): Document.
2858         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Document.
2859
2860         * unwind-dw2.c (_Unwind_GetTextRelBase, _Unwind_GetDataRelBase): New.
2861         * unwind.h: Declare them.
2862         * libgcc-std.ver: Export them.
2863         * unwind-pe.h: New file.
2864
2865         * config/alpha/elf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
2866
2867         * config/ia64/fde-glibc.c: Use "struct unw_table_entry"
2868         instead of "fde".
2869         (find_fde_for_dso): Extract DT_PLTGOT.
2870         (_Unwind_FindTableEntry): Rename from __ia64_find_fde; return
2871         the segment and gp as well.
2872         * config/ia64/frame-ia64.c: Remove file.
2873         * config/ia64/frame-ia64.h: Remove file.
2874         * config/ia64/unwind-ia64.c: New file.
2875         * config/ia64/unwind-ia64.h: New file.
2876         * config/ia64/ia64.h (ASM_OUTPUT_EH_CHAR): Remove.
2877         (ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT): Remove.
2878         (ASM_OUTPUT_EH_DOUBLE_INT): Remove.
2879         (ASM_PREFERRED_EH_DATA_FORMAT): New.
2880         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
2881         (IA64_UNWIND_INFO): Re-enable.
2882         (HANDLER_SECTION): Remove.
2883         (EH_RETURN_DATA_REGNO): New.
2884         * config/ia64/ia64.md (exception_receiver): Remove.
2885         * config/ia64/t-glibc (LIB2ADDEH): Re-enable.
2886         * config/ia64/t-ia64 (LIB2ADDEH): Re-enable.
2887
2888 2001-05-11  Richard Henderson  <rth@redhat.com>
2889
2890         * config/ia64/ia64.c (group_barrier_needed_p): Don't allow
2891         calls and jumps to be bundled together.
2892         (ia64_reorg): Emit a break after a noreturn call that ends
2893         a function.
2894         * config/ia64/ia64.md (break_f): New.
2895
2896 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
2897
2898         * c-lex.c (lex_charconst): Convert into a simple wrapper
2899         around cpp_interpret_charconst, to which most of the code
2900         body is moved.
2901         * cppexp.c (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE,
2902         MAX_LONG_TYPE_SIZE, MAX_INT_TYPE_SIZE, MAX_CHAR_TYPE_MASK,
2903         MAX_WCHAR_TYPE_MASK, parse_escape, parse_charconst): Remove.
2904         (lex): Use cpp_interpret_charconst.
2905         * cpplex.c (parse_escape, read_ucs, cpp_interpret_charconst,
2906         hex_digit_value): New functions.
2907         (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): New macros.
2908         * cpplib.h (cpp_interpret_charconst): New prototype.
2909         * Makefile.in: Update.
2910
2911 2001-05-12  Dean Wakerley  <dean@wakerley.com>
2912
2913         * doc/install.texi: New file. Converted to texinfo from the HTML
2914         documentation in wwwdocs/htdocs/install.
2915
2916 Fri May 11 15:50:13 2001  Jeffrey A Law  (law@cygnus.com)
2917
2918         * gcse.c (insert_insn_end_bb): Do not search for assignments to
2919         non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
2920
2921         * toplev.c (compile_file): Move comment for opening output
2922         file to just before the code that opens the output file.
2923
2924 2001-05-11  Jakub Jelinek  <jakub@redhat.com>
2925
2926         * regmove.c (regmove_optimize): Suppress the optimization for
2927         unchanging destination register.  Add comment above function.
2928
2929 2001-05-11  Zack Weinberg  <zackw@stanford.edu>
2930
2931         * Makefile.in: Exterminate all references to assert.h.
2932         * cross-make: Likewise.
2933         * assert.h: Delete.
2934         * configure.in: Correct commentary.
2935         * configure: Regenerate.
2936
2937         * libgcc-std.ver, libgcc2.c, libgcc2.h, sys-protos.h:
2938         Remove __eprintf.
2939
2940         * config/t-freebsd, config/t-linux, config/t-linux-aout,
2941         config/t-netbsd, config/t-rtems, config/x-linux,
2942         config/i386/t-beos, config/mcore/t-mcore, config/mcore/t-mcore-pe:
2943         No need to override INSTALL_ASSERT_H.
2944
2945         * fixinc/fixinc.dgux, fixinc/fixinc.interix, fixinc/fixinc.ptx,
2946         fixinc/fixinc.svr4, fixinc/fixinc.winnt, fixinc/fixinc.wrap,
2947         fixinc/fixincl.sh: Don't install assert.h into objdir/include.
2948
2949 2001-05-11  Graham Stott  <grahams@redhat.com>
2950
2951         * combine.c (simplify_comparison): Fix typo.
2952
2953 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
2954
2955         * loop.h (struct movables): Remove `num'.
2956         * loop.c (scan_loop): Don't set it.  Use count_insns_in_loop.
2957         Adjust call to strength_reduce.
2958         (num_unmoved_movables): New function.
2959         (move_movables): Don't set movables->num.
2960         (strength_reduce): Compute the number of instructions in the loop
2961         here, rather than in the caller.
2962         (check_dbra_loop): Always clear reversible_mem_store if there
2963         are any memory sets.
2964         (loop_regs_scan): Don't count instructions here.
2965         (count_insn_in_loop): New function.
2966
2967 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
2968
2969         * optabs.c (emit_libcall_block): Don't mark calls as CONST_CALL_P.
2970
2971 2001-05-11  Neil Booth  <neil@daikokuya.demon.co.uk>
2972
2973         * c-common.c (finish_label_expr): New function, lifted from
2974         from cp/semantics.c.
2975         * c-common.h (finish_label_expr, lookup_label): New prototypes.
2976         * c-parse.in: Move 3 blocks of parser code into new functions.
2977         * c-typeck.c (simple_asm_stmt, c_cast_expr): New functions.
2978         * c-tree.h (simple_asm_stmt, c_cast_expr): New prototypes.
2979         (lookup_label): Remove.
2980
2981 2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
2982
2983         * config/mn10300/t-mn10300 (dp-bit.c, fp-bit.c): Don't define
2984         FLOAT_BIT_ORDER_MISMATCH.
2985
2986 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
2987
2988         * expr.c (emit_push_insn): Convert PUSH_ROUNDING argument to
2989         bytes.  Reported by Kazu Hirata <kazu@hxi.com>.
2990
2991 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
2992
2993         * expr.c (emit_group_load): extract_bit_field requires a REG or
2994         MEM as an argument.
2995
2996 Thu May 10 14:45:44 2001  Jeffrey A Law  (law@cygnus.com)
2997
2998         * cse.c (cse_insn): Mostly remove first hunk of code which collapsed
2999         a computed jump into an unconditional jump.
3000         In second hunk of code for collapsing computed and conditional jumps
3001         into unconditional jumps, reemit the jump in additional cases.
3002
3003         * jump.c (jump_optimize_1): Do not wrap the new jump target
3004         inside a LABEL_REF; gen_jump will do that automatically.
3005
3006 2001-05-10  Toon Moene  <toon@moene.indiv.nluug.nl>
3007
3008         * dwarf2out.c (mem_loc_descriptor): Do not pass constant pool
3009         contents for a SYMBOL_REF in case of floating point constants.
3010
3011 2001-05-10  DJ Delorie  <dj@redhat.com>
3012
3013         * c-common.c (combine_strings): Widen strings in a
3014         host-endian-independent way.
3015
3016 2001-05-10  Joseph S. Myers  <jsm28@cam.ac.uk>
3017
3018         * c-parse.in: Remove many shift/reduce conflicts.  Update
3019         %expect values.
3020         (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
3021         declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
3022         declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
3023         declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
3024         declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
3025         declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
3026         declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
3027         declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
3028         declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
3029         declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
3030         maybe_type_quals_setattrs, typespec_nonattr, typespec_attr,
3031         typespec_reserved_nonattr, typespec_reserved_attr,
3032         typespec_nonreserved_nonattr, maybe_setattrs, structsp_attr,
3033         structsp_nonattr, components_notype, component_notype_declarator,
3034         absdcl1_ea, absdcl1_noea, direct_absdcl1, absdcl_maybe_attribute,
3035         firstparm, setspecs_fp): New
3036         (typed_declspecs, reserved_declspecs, typed_typespecs,
3037         reserved_typespecquals, declmods, typespec, typespecqual_reserved,
3038         typed_declspecs_no_prefix_attr reserved_declspecs_no_prefix_attr
3039         declmods_no_prefix_attr, nonempty_type_quals, structsp,
3040         type_quals): Remove.  Users updated.
3041         (initdecls, notype_initdecls, after_type_declarator,
3042         parm_declarator, notype_declarator, absdcl1, components, ivars):
3043         Don't allow attributes at the start of a declarator; include them
3044         in the production containing the declarator instead.  Always
3045         require type specifiers before trying to redeclare a typedef name.
3046         (typename): Allow for attributes but warn that they are ignored.
3047         (parmlist, firstparm, setspecs_fp): Include attributes in
3048         parmlist; suck them off the parser stack in firstparm using
3049         setspecs_fp.
3050
3051 Thu May 10 09:17:42 2001  Jeffrey A Law  (law@cygnus.com)
3052
3053         * ifcvt.c (merge_if_block): Use any_uncondjump_p, not simplejump_p
3054         to determine if a block has an unconditional jump at its end.
3055
3056         * jump.c (jump_optimize_1): When converting a conditional jump
3057         to an unconditional jump, build the jump using gen_jump instead
3058         of just modify operands in-place.
3059
3060 2001-05-09  Zack Weinberg  <zackw@stanford.edu>
3061
3062         * cppinit.c (cpp_post_options): Shut off macro expansion if
3063         -fpreprocessed.
3064         * cpplib.c (_cpp_handle_directive): If -fpreprocessed, accept
3065         IN_I directives only if the # is in column 1 and the directive
3066         name begins in column 2.
3067         * cppmain.c (scan_buffer): Insert a space between # and an
3068         identifier, when that identifier is a directive name.
3069
3070         * tradcpp.c (struct file_buf): Add a pointer to the next entry
3071         in the header search path.
3072         (enum node_type): Add T_INCLUDE_NEXT.
3073         (directive_table): Add entry for include_next.
3074         (do_include_next): New function.
3075         (process_include): New routine, broken out of do_include.
3076         (finclude): Insert 'nhd' argument, to be copied into
3077         next_header_dir of the new buffer.
3078         (main): Adjust to match.
3079         * gsyslimits.h, limity.h: Un-indent #include_next.
3080
3081 2001-05-09  Joseph S. Myers  <jsm28@cam.ac.uk>
3082
3083         * objc.texi: Move from ../libobjc/objc-features.texi.  Adjust for
3084         inclusion as a chapter of the GCC manual.
3085         * gcc.texi: Include objc.texi.
3086         * fdl.texi: Use @unnumberedsec for the addendum.
3087         * Makefile.in ($(srcdir)/gcc.info, gcc.dvi): Update dependencies.
3088
3089 Wed May  9 16:01:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
3090
3091         * i386.md (DImode move splitters): Use !MMX and !SSE for the condition.
3092
3093 Wed May  9 10:40:25 2001  Alexandre Oliva  <aoliva@redhat.com>
3094
3095         * regclass.c (scan_one_insn): Update REG_N_REFS when optimizing
3096         handling of two-address insns.
3097
3098 Wed May  9 10:36:18 2001  Alexandre Oliva  <aoliva@redhat.com>
3099
3100         * Makefile.in (NM_FOR_TARGET): Look for ./nm, then
3101         ../binutils/nm-new instead of ../binutils/nm.
3102
3103 Wed May  9 12:15:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
3104
3105         * i386.md (movdi splitter): Fix the splitting condition
3106         (float_extenddftf splitter): Fix mode.
3107
3108 Wed May  9 12:05:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
3109
3110         * genrecog.c (write_switch): Avoid outputting of switch for
3111         types wider than int.
3112
3113 2001-05-03  Andrew Haley  <aph@cambridge.redhat.com>
3114
3115         * reload1.c (copy_eh_notes): New function.
3116         (emit_input_reload_insns): Call it.
3117         (emit_output_reload_insns): Call it.
3118
3119 2001-05-07  Zack Weinberg  <zackw@stanford.edu>
3120
3121         * config.gcc (i[34567]86-*-sco3.2v4*, i[34567]86-*-sco*):
3122         Delete stanzas.
3123         * config/i386/sco.h, config/i386/sco4.h, config/i386/scodbx.h,
3124         config/i386/sco4dbx.h, config/i386/x-sco4: Delete file.
3125
3126         * optabs.c: Delete #ifdef BROKEN_LDEXP block.
3127
3128 2001-05-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3129
3130         * pa.md (interspace_jump): Revise comment.
3131         (builtin_longjmp): Block initial setup insns from delay slot of
3132         interspace branch.
3133         (builtin_setjmp_receiver): New expander to save and restore PIC
3134         register.
3135
3136         * som.h (NM_FLAGS): Remove `-n' sort option.  Revise comment.
3137
3138 Mon May  7 09:30:14 2001  Jeffrey A Law  (law@cygnus.com)
3139
3140         * toplev.c (compile_file): Set up the output file before we call
3141         the various initializers for the compiler.
3142
3143         * except.c (sjlj_mark_call_sites): Do not search for assignments to
3144         non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
3145
3146         * pa.h (MAX_LONG_TYPE_SIZE): Should be 32, not 64.
3147         * pa-64.h (*_TYPE_SIZE): Undefine before redefining.
3148
3149 2001-05-06  Zack Weinberg  <zackw@stanford.edu>
3150
3151         * Makefile.in (tradcpp0): Correct typo in dependency list.
3152
3153 2001-05-06  Geoff Keating  <geoffk@redhat.com>
3154
3155         * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't save
3156         the link register if we're not going to use it.
3157
3158         * config/rs6000/rs6000.c (output_profile_hook): Fix a warning.
3159         (output_function_profiler): Likewise.
3160
3161 2001-05-07  Alan Modra  <amodra@one.net.au>
3162
3163         * pa.c (compute_frame_size): 64-bit frame marker is 16 bytes.
3164
3165 2001-05-06  Alexandre Oliva  <aoliva@redhat.com>
3166
3167         * unroll.c (loop_iterations): Don't sign-extend abs_diff;
3168         zero-extend it.  Make abs_inc unsigned.
3169
3170         * optabs.c (expand_binop): Sign-extend xop0 and xop1 from the
3171         widest mode in narrowing and widening operations.
3172
3173         * config/mips/mips.md: Sign extend CONST_INTs.
3174
3175 2001-05-06  Andreas Jaeger  <aj@suse.de>
3176
3177         * invoke.texi (Option Summary): Add -momit-leaf-frame-pointer
3178         (i386 Options): Document -momit-leaf-frame-pointer.
3179
3180 2001-05-06  Neil Booth  <neil@daikokuya.demon.co.uk>
3181
3182         * c-typeck.c (internal_build_compound_expr): Check for
3183         array to pointer conversion just once.
3184
3185 2001-05-05  Richard Henderson  <rth@redhat.com>
3186
3187         * integrate.c (copy_insn_list): Substitute NOTE_EXPECTED_VALUE.
3188
3189 2001-05-05  Richard Henderson  <rth@redhat.com>
3190
3191         * except.c (remove_fixup_regions): Adjust REG_EH_REGION notes
3192         to the parent of the fixup region.
3193
3194 2001-05-05  Jakub Jelinek  <jakub@redhat.com>
3195
3196         * gcc.c (cpp_options): Define __NO_INLINE__ unless we are honoring
3197         "inline" keyword.
3198         * cpp.texi (__NO_INLINE): Document it.
3199
3200 2001-05-05  Neil Booth  <neil@daikokuya.demon.co.uk>
3201
3202         * cppfiles.c (struct include_file): New member err_no.
3203         (find_or_create_entry): Set it.
3204         (open_file): Don't set fds to -2.  Instead, use err_no to
3205         remember previous errors, if any.
3206
3207 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3208
3209         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Optimize moves
3210         between X and Y by using sequences of xgdx and xgdy.
3211
3212 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3213
3214         * config/m68hc11/m68hc11.md ("*logicalsi3_silshr16"): Use '?' instead
3215         of '!' for the 'D' alternative ('!' is too strong).
3216         ("*logicalsi3_silshl16"): Likewise.
3217         ("movstricthi"): Accept 'A' when 'd' constraint, remove spurious '+'.
3218         ("movstrictsi"): Remove spurious '+'.
3219         ("movstrictqi"): Don't accept 'A' and remove spurious '+'.
3220         ("tstqi_1", "*lshrqi3_const1"): Put 'm' constraint before 'd'.
3221         ("subqi3"): Disparage with '!' the 'x' and 'y' registers to avoid
3222         a reload to them.
3223
3224 2001-05-04  David Edelsohn  <edelsohn@gnu.org>
3225
3226         * calls.c (store_one_arg): Don't divide align by BITS_PER_UNIT.
3227
3228 2001-05-04  Lars Brinkhoff  <lars@nocrew.org>
3229
3230         * simplify-rtx.c (simplify_binary_operation): Simplify ~a + 1
3231         into -a.
3232
3233 2001-05-04  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3234
3235         * config/rs6000/rs6000.md (ashldi3 splits): Guard with
3236         TARGET_POWERPC64.
3237
3238 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3239
3240         * config/m68hc11/m68hc11.md (lshrhi3_const1): Fix shift of
3241         soft register, use ror instead of rol.
3242
3243 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3244
3245         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Take
3246         into account pre/post increment decrement for 68HC12.
3247         Fix other problems in replacement and fix call to reg_mentioned_p.
3248
3249 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3250
3251         * config/m68hc11/larith.asm (L_regs_frame): New for _.frame.
3252         Put the soft registers in bss for 68HC12.
3253         (L_regs_d3_4): New for _.d3 and _.d4.
3254         (L_regs_d5_6): Likewise.
3255         (L_regs_d1_2): Likewise.
3256         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Compile new parts.
3257
3258 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3259
3260         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__HAVE_SHORT_DOUBLE__
3261         to the pre-processor when -fshort-double is specified.
3262         * config/m68hc11/m68hc11.2 (CPP_SPEC): Likewise.
3263
3264 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3265
3266         * config/m68hc11/larith.asm (divmodhi4): Empty for 68HC12.
3267         (__mulsi3): Rewrite for 68HC12.
3268         * config/m68hc11/m68hc11.md (divmodhi4): Use idivs for 68HC12.
3269         Mark 'x' constraint with earlyclobber to prevent a
3270         RELOAD_FOR_OTHER_ADDRESS to go in it.
3271         (mulhi3_m68hc12): New pattern.
3272         (mulhi3_m68hc11): Rename of mulhi3.
3273         (mulhi3): New expand for 68HC12 optimisation.
3274         (umulhisi3, mulhisi3): New patterns for 68HC12.
3275
3276 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3277
3278         * config/m68hc11/m68hc11.md (*tbne, *tbeq): New patterns for 68HC12.
3279         (extendqisi2, extendqihi2, extendhisi2): Use sex for 68HC12.
3280         (uminqi3, umaxqi3, uminhi3, umaxhi3): New pattern for 68HC12.
3281
3282 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3283
3284         * config/m68hc11/m68hc11.h (CONST_COSTS): Make the cost of
3285         constants cheap after reload.
3286         * config/m68hc11/m68hc11.c (m68hc11_shift_cost): Shift by 16 and 32
3287         are cheap.
3288         (m68hc11_rtx_costs): Cost of multiplication by 65536 is expensive
3289         so that gcc prefers a shift by 16.
3290         (m6811_cost, m6812_cost): Make the shift cheap compared to an add.
3291
3292 2001-05-04  Nick Clifton  <nickc@cambridge.redhat.com>
3293
3294         * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Define.
3295
3296 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3297
3298         * alpha.h: NULL_PTR -> NULL.
3299         * arm.c: Likewise.
3300         * arm.h: Likewise.
3301         * avr.h: Likewise.
3302         * c4x.c: Likewise.
3303         * c4x.h: Likewise.
3304         * i386.c: Likewise.
3305         * i386.md: Likewise.
3306         * i860.c: Likewise.
3307         * ia64.c: Likewise.
3308         * m68hc11.h: Likewise.
3309         * rs6000.h: Likewise.
3310         * sh.c: Likewise.
3311         * sh.h: Likewise.
3312         * sparc.h: Likewise.
3313         * v850.c: Likewise.
3314
3315         * expr.c: Likewise.
3316         * final.c: Likewise.
3317         * gcc.c: Likewise.
3318         * recog.c: Likewise.
3319
3320 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3321
3322         * i386.c (ix86_emit_restore_regs_using_mov, ix86_save_reg): Change
3323         `bool' parameter to `int'.
3324
3325         * hash.c (hash_lookup): Likewise.
3326
3327         * hash.h (hash_lookup): Likewise.
3328
3329         * tlink.c (symbol_hash_lookup, demangled_hash_lookup): Likewise.
3330
3331 Fri May  4 13:10:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
3332
3333         * i386.c (x86_initialize_trampoline): Fix mode of constant.
3334
3335 2001-05-03  Geoff Keating  <geoffk@redhat.com>
3336
3337         * invoke.texi (i386 Options): Delete references to -malign-jumps,
3338         -malign-loops, -malign-functions.
3339         * i386.c (ix86_align_funcs): Delete.
3340         (ix86_align_loops): Delete.
3341         (ix86_align_jumps): Delete.
3342         (override_options): Mark -malign-* as obsolete.  Emulate their
3343         behaviour with the -falign-* options.  Default -falign-* from
3344         the processor table.
3345         * i386.h (FUNCTION_BOUNDARY): Define to 16; revert Richard Kenner's
3346         patch of Wed May 2 13:09:36 2001.
3347         (LOOP_ALIGN): Delete.
3348         (LOOP_ALIGN_MAX_SKIP): Delete.
3349         (LABEL_ALIGN_AFTER_BARRIER): Delete.
3350         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Delete.
3351
3352 2001-05-04  Andreas Jaeger  <aj@suse.de>
3353
3354         * except.h: Add prototype declaration for
3355         expand_builtin_init_dwarf_reg_sizes.
3356
3357 2001-05-03  Geoffrey Keating  <geoffk@redhat.com>
3358
3359         * Makefile.in (site.exp): Set TESTING_IN_BUILD_TREE.
3360
3361 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3362
3363         * config/m68hc11/m68hc11.md ("bitcmpqi"): New pattern for bitb
3364         instruction.
3365         ("bitcmpqi2"): New pattern for bit-extract and test.
3366         ("bitcmphi"): New pattern for bitb/bita instructions.
3367
3368 2001-05-03  Joseph S. Myers  <jsm28@cam.ac.uk>
3369
3370         * gccbug.in: Use a temporary directory when the mktemp command is
3371         not available.
3372
3373 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3374
3375         * config/m68hc11/m68hc11.h (STATIC_CHAIN_REGNUM): Use soft z register
3376         instead of _.d1.
3377         (INITIALIZE_TRAMPOLINE): Call it.
3378         (TRAMPOLINE_SIZE): Define according to 68HC11/68HC12.
3379         (TRAMPOLINE_TEMPLATE): Remove.
3380         * config/m68hc11/m68hc11.c (m68hc11_initialize_trampoline): New.
3381         * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline):
3382         Declare.
3383
3384 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
3385
3386         * config/t-freebsd: Don't install "assert.h" in gcc.  Compile crtbeginS.o
3387         and crtendS.o with PIC.
3388
3389 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3390
3391         * config/m68hc11/larith.asm (__mulqi3): Fix multiplication of two
3392         negative numbers.
3393         (___subdi3, ___adddi3): Use x instead of y as index register.
3394         (__init_bss_section, __map_data_section): Optimize for 68HC12.
3395         (__memset, __memcpy): Likewise.
3396         (regs): Put the soft registers in bss for 68HC12.
3397         (abort): Use trap to abort for 68hc12.
3398         (__mulhi3, __mulhi32): Use emul for 68hc12.
3399         (__mulsi3): Avoid to use the tmp soft register for 68hc12.
3400
3401 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3402
3403         * config/m68hc11/m68hc11.h (LIMIT_RELOAD_CLASS): Don't define.
3404         * config/m68hc11/m68hc11-protos.h (limit_reload_class): Remove.
3405         * config/m68hc11/m68hc11.c (limit_reload_class): Remove.
3406         (m68hc11_override_options): Remove setting of flag_no_nonansi_builtin.
3407         Set 68HC12 min offset to -65536.
3408         (print_operand): Put parenthesis arround the operand if it refers
3409         to a symbol having the same name as a register.
3410         (m68hc11_z_replacement): When z register is replaced by its
3411         equivalent soft register, force the insn to be re-recognized.
3412         (m68hc11_check_z_replacement): Fix the test when destination is
3413         the index register and z dies in the insn.
3414         (m68hc11_reorg): Remove the REG_DEAD notes beforce recomputing them.
3415
3416 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3417
3418         * config/m68hc11/m68hc11.c (m68hc11_override_options): Initialize
3419         costs according to processor variant.
3420         (m68hc11_shift_cost): New function to compute shift costs.
3421         (m68hc11_rtx_costs): Define costs according to processor variant.
3422         (m6811_cost): Costs for 68HC11.
3423         (m6812_cost): Costs for 68HC12.
3424         (COSTS_N_INSNS): Remove.
3425
3426         * config/m68hc11/m68hc11.h (RTX_COSTS): New.
3427         (DEFAULT_RTX_COSTS): Remove.
3428         (CONST_COSTS): Define costs according to OUTER_CODE.
3429         (processor_costs): New struct to define costs.
3430         (m68hc11_cost): Pointer to current costs.
3431
3432 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3433
3434         * config/m68hc11/m68hc11.md (*addhi3_68hc12): Fix generation
3435         and use m68hc11_notice_keep_cc when using leax/leay.
3436         (addhi3 split): Reject split if the insn is handled by
3437         leax/leay above.
3438         * config/m68hc11/m68hc11.c (m68hc11_split_move): For 68HC12 the
3439         push must be handled in a special way if the source operand uses
3440         sp as index register.
3441         (m68hc11_notice_keep_cc): New function.
3442         (m68hc11_gen_movhi): Use it when an insn changes a register but
3443         not the flags.
3444         (m68hc11_gen_movqi): Fix move for 68HC12.
3445         * config/m68hc11/m68hc11-protos.h (m68hc11_notice_keep_cc): Declare.
3446
3447 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3448
3449         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use LCT_CONST
3450         and don't pass operands[0] to emit_library_call_value.
3451
3452 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3453
3454         * config/m68hc11/m68hc11.md (tsthi_1): Use cpd for 68HC12.
3455         (zero_extendsi split): Simplify and use (zero_extendhi).
3456         (*addhi3): Remove 'w' constraint since stack pointer is handled
3457         by (addhi3_sp).
3458         (*ashlhi3_2): Operand 2 is clobbered use '+' for its constraint.
3459         (*ashlhi3, *ashrhi3, *lshrhi3): Likewise.
3460         (*ashrhi3_const): Fix shift by 7.
3461         (*lshrsi3_const16): Fix template.
3462         (call, call_value): Fix constraint and predicate.
3463
3464 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3465
3466         * config/m68hc11/m68hc11.md (X_REGNUM, D_REGNUM): New constant.
3467         (Y_REGNUM, SP_REGNUM, PC_REGNUM, A_REGNUM, B_REGNUM): Likewise.
3468         (CC_REGNUM): Likewise.
3469         (*unnamed splits): Use above constants instead of hard coded numbers.
3470         (*adcq, *subcq, *addsi_carry, *rotlqi3_with_carry): Likewise.
3471         (*rotlhi3_with_carry, *rotrhi3_with_carry): Likewise.
3472         (*return_16bit, *unnamed peepholes): Likewise.
3473
3474 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
3475
3476         * config.gcc(rs6000-ibm-aix|powerpc-ibm-aix):  Do not include
3477         rs6000/rs6000.h twice.
3478
3479 2001-05-03  Mark Elbrecht  <snowball3@bigfoot.com>
3480
3481         * config/i386/djgpp.h (CPP_PREDEFINES): Define __GO32__.
3482         (CPP_SPEC): Conditionally define MSDOS and GO32.
3483         (SUBTARGET_SWITCHES): Ignore -mbnu210 and -mno-bnu210.
3484         (SUBTARGET_OVERRIDE_OPTIONS): Warn that -mbnu210 and -mno-bnu210 are
3485         ignored.
3486         (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Remove.
3487
3488 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
3489
3490         * config/mn10300/mn10300.md: Sign-extend GEN_INT operands.
3491
3492 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
3493
3494         * integrate.h (struct inline_remap): Add leaf_reg_map table.
3495         * integrate.c (expand_inline_function): Use xcalloc to allocate
3496         memory.
3497         (copy_rtx_and_substitute): Use the leaf_reg_map for leaf
3498         registers.
3499
3500 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
3501
3502         * c-dump.c (dequeue_and_dump): Don't look at DECL_ASSEMBLER_NAME
3503         if it is not set.
3504
3505 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
3506
3507         * config/mn10300/mn10300.h (LINK_SPEC): Pass --relax to the
3508         linker if -mrelax is given.
3509         (TARGET_SWITCHES): Document -mrelax.
3510
3511         Re-installed 2001-01-09's patch:
3512         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
3513         if it's wider than long and the target's long is wider than the
3514         host's.
3515
3516 2001-05-02  David O'Brien  <obrien@FreeBSD.org>
3517
3518         * config.gcc, config/rs6000/aix51.h, config/rs6000/mach.h:  Do not
3519         directly include rs6000/rs6000.h.  Instead do it in tm.h.
3520
3521 2001-05-02  Stan Shebs  <shebs@apple.com>
3522
3523         * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Default to
3524         NSConstantString for NeXT-style runtimes.
3525         (STRING_OBJECT_GLOBAL_NAME): New macro.
3526         (enum objc_tree_index): Add values OCTI_CNST_STR_GLOB_ID and
3527         OCTI_STRING_CLASS_DECL.
3528         (constant_string_global_id): New macro.
3529         (string_class_decl): Ditto.
3530         (setup_string_decl): New function.
3531         (build_objc_string_object): Use it to build a NeXT runtime
3532         compatible string initializer.
3533
3534 2001-05-02  Jakub Jelinek  <jakub@redhat.com>
3535
3536         * tradcpp.c (do_define): Make sure we don't walk past limit.
3537
3538 2000-05-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3539
3540         * config/rs6000/rs6000.c (rs6000_legitimate_address): Allow any stack
3541         offsets if not REG_OK_STRICT.
3542
3543         * config/rs6000/rs6000.h (REG_OK_STRICT_FLAG): New macro.
3544         (INT_REG_OK_FOR_INDEX_P): Likewise.
3545         (INT_REG_OK_FOR_BASE_P): Likewise.
3546         (REG_OK_FOR_INDEX_P): Use INT_REG_OK_FOR_INDEX_P.
3547         (REG_OK_FOR_BASE_P): Use INT_REG_OK_FOR_BASE_P.
3548         (LEGITIMATE_OFFSET_ADDRESS_P): Use INT_REG_OK_FOR_INDEX_P and
3549         INT_REG_OK_FOR_BASE_P instead of REG_OK_FOR_INDEX_P and
3550         REG_OK_FOR_BASE_P. Take an additional parameter.
3551         (LEGITIMATE_INDEXED_ADDRESS_P): Likeewise.
3552         (LEGITIMATE_INDIRECT_ADDRESS_P): Likewise.
3553         (LEGITIMATE_LO_SUM_ADDRESS_P): Likewise.
3554         (GO_IF_LEGITIMATE_ADDRESS): Move code into new function
3555         rs6000_legitimate_address() and use it.
3556         * config/rs6000/rs6000.c: Update all callers.
3557         (rs6000_legitimate_address): New function.
3558
3559 2001-05-02  David Edelsohn  <edelsohn@gnu.org>
3560
3561         * config/rs6000/rs6000.c (rs6000_emit_move): Merge
3562         special_constant conditional blocks together.
3563
3564 2001-05-02  Dale Johannesen  <dalej@apple.com>
3565
3566         * config/rs6000/rs6000.h (RS6000_ARG_SIZE): Remove unused NAMED
3567         parameter.
3568         (STRICT_ARGUMENT_NAMING): Define.
3569         * config/rs6000/rs6000.c (function_arg_advance, function_arg,
3570         function_arg_partial_nregs, setup_incoming_varargs): Remove
3571         args logic which depends on "named" now that STRICT_ARGUMENT_NAMING
3572         is defined.
3573
3574 Wed May  2 13:09:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3575
3576         * config/i386/i386.h (FUNCTION_BOUNDARY): Result is unsigned.
3577
3578         * function.c (fixup_var_regs_1, case SUBREG): Use promoted mode
3579         for replacement.
3580
3581         * expr.c (store_field): Do nothing except elaborate side-effects if
3582         zero-bit field.
3583
3584 2001-05-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3585
3586         * c-lex.c: NULL_PTR -> NULL.
3587         * cse.c: Likewise.
3588         * emit-rtl.c: Likewise.
3589         * gcse.c: Likewise.
3590         * genpeep.c: Likewise.
3591         * jump.c: Likewise.
3592         * mips-tdump.c: Likewise.
3593         * reload1.c: Likewise.
3594         * rtlanal.c: Likewise.
3595         * stmt.c: Likewise.
3596         * stor-layout.c: Likewise.
3597         * toplev.c: Likewise.
3598
3599 2001-05-01  Per Bothner  <per@bothner.com>
3600
3601         * expr.c (expand_expr):  When compiling LABELED_BLOCK_EXPR,
3602         call do_pending_stack_adjust before emiting label.
3603
3604 2001-05-01  Mark Mitchell  <mark@codesourcery.com>
3605
3606         * extend.texi: Fix typo.
3607
3608 2001-05-01  Stan Shebs  <shebs@apple.com>
3609
3610         * objc/objc-act.c (build_module_descriptor): Clear DECL_CONTEXT
3611         of UOBJC_MODULES_decl.
3612         (generate_strings): Clear DECL_CONTEXT of new decl nodes.
3613         (generate_descriptor_table): Ditto.
3614         (generate_protocols): Ditto.
3615         (generate_protocol_list): Ditto.
3616         (generate_classref_translation_entry): Ditto.
3617
3618 2001-05-01  Jeffrey Oldham  <oldham@codesourcery.com>
3619
3620         * invoke.texi (Optimize Options): Add documentation for `--param
3621         max-delay-slot-insn-search' and `--param
3622         max-delay-slot-live-search' and reorder --param section.
3623         * params.def: Modify initial comment.
3624         * params.h (param_info): Add `help' member.
3625         * toplev.c (lang_independent_params): Include `help' description.
3626         (display_help): Print --param parameters.
3627
3628 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
3629
3630         * config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}.
3631         Remove references to deleted files.
3632         (*-*-openbsd): No need to override xmake_file.
3633         (*-*-sysv4): Treat like *-*-sysv.
3634
3635         * configure.in: Probe for ldopen in various places, and set up
3636         collect2 to be linked with them if found.
3637         Don't dink with Windows registry stuff unless $host_os is a
3638         Win32 os name.  Check to see if we need -ladvapi32.
3639         * configure: Regenerate.
3640
3641         * Makefile: Get rid of CLIB and HOST_CLIB.
3642         Substitute in COLLECT2_LIBS and link collect2 against its contents.
3643         * build-make: Get rid of HOST_CLIB.
3644
3645         * config/a29k/x-unix, config/alpha/x-osf, config/i386/x-aix,
3646         config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
3647         config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
3648         config/mips/x-sysv, config/rs6000/x-aix31, config/rs6000/x-aix41,
3649         config/rs6000/x-rs6000: Delete.
3650
3651         * config/i386/x-cygwin, config/m68k/t-aux, config/mips/x-iris:
3652         Don't set CLIB.
3653
3654         24 x-host fragments remain, 0 x-cpu, 3 top level.
3655
3656 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
3657
3658         * aclocal.m4 (gcc_AC_C_CHAR_BIT): Correct test program.
3659         * configure: Regenerate.
3660
3661 2001-05-01  Angela Marie Thomas <angela@cygnus.com>
3662
3663         * Makefile.in (install-headers): Remove redundant dependency.
3664
3665 2001-05-01  Nathan Sidwell  <nathan@codesourcery.com>
3666
3667         * c-tree.texi (USING_STMT): Document.
3668
3669 2001-05-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3670
3671         * bitmap.c: Change NULL_PTR to NULL or "(rtx*)0".
3672         * c-common.c: Likewise.
3673         * c-decl.c: Likewise.
3674         * combine.c: Likewise.
3675         * rs6000.c: Likewise.
3676         * except.c: Likewise.
3677         * explow.c: Likewise.
3678         * expr.c: Likewise.
3679         * fold-const.c: Likewise.
3680         * function.c: Likewise.
3681         * gcc.c: Likewise.
3682         * gcse.c: Likewise.
3683         * integrate.c: Likewise.
3684         * loop.c: Likewise.
3685         * objc/objc-act.c: Likewise.
3686         * recog.c: Likewise.
3687         * reg-stack.c: Likewise.
3688         * reload.c: Likewise.
3689         * reload1.c: Likewise.
3690         * simplify-rtx.c: Likewise.
3691         * stmt.c: Likewise.
3692         * varasm.c: Likewise.
3693
3694 2001-05-01  Gabriel Dos Reis  <gdr@codesourcery.com>
3695
3696         * diagnostic.def: New file.
3697         * diagnostic.h (diagnostic_t): New enum.
3698         * Makefile.in (diagnostic.o): Depend on diagnostic.def
3699
3700 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
3701
3702         * tsystem.h: Test only POSIX for availability of string.h
3703         and time.h.
3704         * config.gcc (all systems): If USG appeared in xm_defines,
3705         change it to POSIX.  If both USG and POSIX appeared, just
3706         delete USG. Remove unnecessary quotes around xm_defines
3707         settings.
3708         (m68k-crds-unos*): Don't #define unos - tested nowhere.
3709         (m68k-apple-aux*): Don't #define AUX - tested nowhere.
3710         (alpha*-*-linux*ecoff*, powerpc-*-linux*libc1,
3711         powerpc-*-linux*): No need to set xm_defines - handled by
3712         global settings for *-*-linux*.
3713
3714 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
3715
3716         * dbxout.c, mips-tfile.c, config/mips/mips.c, xcoffout.c:
3717         Always include gstab.h, not system stab.h.  Don't provide
3718         default definitions of N_CATCH or N_OPT.  Always use the
3719         gstab.h variant of STAB_CODE_TYPE.
3720         * final.c: Don't include stab.h/gstab.h at all, or provide
3721         defaults for N_SLINE and N_SOL.
3722
3723         * xcoffout.c: Can assume N_MAIN, N_DSLINE, N_BSLINE, N_BINCL,
3724         N_EINCL, N_EXCL, N_M2C, N_SCOPE, N_CATCH, and N_OPT are
3725         available.
3726         * sdbout.c: Always include gsyms.h instead of system syms.h.
3727
3728         * configure.in: No need to check for stab.h.
3729         * configure, config.in: Regenerate.
3730         * Makefile.in (final.o): Don't depend on gstab.h.
3731
3732 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
3733             Richard Henderson  <rth@redhat.com>
3734
3735         * extend.texi: Improve documentation of volatile asms.
3736
3737 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
3738
3739         * c-tree.texi: Fix thinko.
3740         * gcc.texi: Likewise.
3741
3742 2001-04-30  Richard Henderson  <rth@redhat.com>
3743
3744         * c-common.c (c_promoting_integer_type_p): New function, from the
3745         corpse of old macro.  Properly promote too-small enumerations and
3746         booleans.  Adjust all callers.
3747         * c-common.h (C_PROMOTING_INTEGER_TYPE_P): Remove.
3748         (c_promoting_integer_type_p): Declare.
3749         * c-decl.c: Adjust C_PROMOTING_INTEGER_TYPE_P invocations.
3750         * c-typeck.c: Likewise.
3751         (default_conversion): Remove now redundant boolean check.
3752
3753 2001-04-30  Jan Hubicka  <jh@suse.cz>
3754             Richard Henderson  <rth@redhat.com>
3755
3756         * regmove.c (try_apply_stack_adjustment): Remove now redundant
3757         sanity checks.
3758         (combine_stack_adjustments_for_block): Don't combine stack
3759         allocation followed by deallocations.  Handle grow-up stacks.
3760
3761 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
3762
3763         * fdl.texi: New file.
3764         * c-tree.texi: Use the GFDL.
3765         * gcc.texi: Likewise.
3766
3767 2001-04-30  Stan Shebs  <shebs@apple.com>
3768
3769         * invoke.texi: Add a section documenting Objective-C options.
3770
3771 2001-04-27  Andrew Haley  <aph@cambridge.redhat.com>
3772
3773         * emit-rtl.c (try_split):  Copy EH notes to sequence.
3774
3775 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
3776
3777         * regmove.c (record_stack_memrefs): Catch all references to the
3778         stack pointer.
3779
3780 2001-04-29  Toomas Rosin <toomas at ns dot tklabor dot ee>
3781
3782         * Makefile.in (stmp-fixinc): quote shell assignment values
3783
3784 2001-04-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3785
3786         * c-aux-info.c: NULL_PTR->NULL in calls to `concat'.
3787
3788         * gcc.c: Likewise.
3789
3790         * prefix.c: Likewise.
3791
3792 2001-04-28  Stan Shebs  <shebs@apple.com>
3793
3794         * objc/objc-act.c (handle_class_ref): Rewrite to flush target
3795         specific code and use new macro ASM_DECLARE_UNRESOLVED_REFERENCE.
3796         * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Define.
3797         * tm.texi (ASM_DECLARE_UNRESOLVED_REFERENCE): Document.
3798
3799         * config/darwin.h (STANDARD_EXEC_PREFIX): Don't define.
3800         (NEXT_OBJC_RUNTIME): Define.
3801
3802 Sat Apr 28 21:02:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
3803
3804         * rtl.h (simplify_gen_relational): Add cmp_mode parameter.
3805         * simplify-rtx.c (simplify_gen_relational): Likewise.
3806
3807         * simplify-rtx.c (simplify_replace_rtx): Handle relationals and MEMs.
3808
3809         * i386.h (VALID_SSE_REG_MODE): Accept MMX modes if SSE2
3810         * i386.md (movsi_1, movdi2, movdi_1_rex64): Handle SSE2 moves.
3811
3812         * i386.md (negsf2, negdf2, abssf2, absdf2): Force operands to
3813         registers in SSE case; fix handling of the immediates.
3814         (negsf2_ifs, abssf2_ifs): Tweak constraints; require
3815         operands to be in regsiters before reload.
3816         (negdf2_ifs, absdf2_ifs): Likewise; disable for 64bit
3817         (negdf2_ifs_rex64, absdf2_ifs_rtx64): New.
3818         (abstf,absxf,negtf,negxf splitters): Compute
3819         properly the regnum for x86_64.
3820         (avsdf2_if_rex64): New.
3821
3822 Sat Apr 28 10:36:23 2001  Jeffrey A Law  (law@cygnus.com)
3823
3824         * flow.c (propagate_block_delete_insn): Handle deletion of ADDR_VEC
3825         and ADDR_DIFF_VEC insns when the proceeding CODE_LABEL was put
3826         into the constant pool.
3827         * jump.c (jump_optimize_1): Remove barrier successors after all
3828         the LABEL_NUSES counds have been computed.
3829         (delete_barrier_successors): When deleting a tablejump insn, also
3830         delete the jump table it uses.
3831         * varasm.c (force_const_mem): Set LABEL_PRESERVE_P when forcing a
3832         label into memory.
3833
3834 2001-04-28  Martin Kalen  <martin.kalen@todaysystems.com.au>
3835
3836         * pa.c (FRP): Remove erroneous white space in macro definition.
3837
3838 2001-04-28  Andreas Jaeger  <aj@suse.de>
3839
3840         * invoke.texi: Use XX-bit instead of XXbit or XX bit where
3841         appropriate.
3842         * extend.texi: Likewise.
3843         * tm.texi: Likewise.
3844
3845 2001-04-28  Andreas Jaeger  <aj@suse.de>
3846
3847         * md.texi: Use XX-bit instead of XXbit or XX bit where
3848         appropriate.
3849
3850 2001-04-28  Jens Schweikhardt <schweikh@schweikhardt.net>
3851
3852         * gcc.c (process_command): Allow -l lib in addition to -llib
3853         for POSIX compliance. This fixes PR c/2347.
3854
3855         * invoke.texi: Update section on Link Options accordingly.
3856
3857 2001-04-27  Zack Weinberg  <zackw@stanford.edu>
3858
3859         * function.c (purge_addressof_1): Remove the duplicate
3860         if (code == SET) block.  Fold the two if (code == ADDRESSOF)
3861         blocks together.
3862
3863 2001-04-28  Jason Merrill  <jason_merrill@redhat.com>
3864
3865         * except.c (expand_eh_region_start): Don't start a new block.
3866         (expand_eh_region_end): Don't end a block.
3867         * stmt.c (expand_end_bindings): Don't end EH blocks.
3868         (expand_decl_cleanup): Starting an EH region won't change the block.
3869         (mark_block_as_eh_region, mark_block_as_not_eh_region): Lose.
3870         (is_eh_region): Lose.
3871         * tree.h: Adjust.
3872
3873 2001-04-27  Jeffrey Oldham  <oldham@codesourcery.com>
3874
3875         * except.c (expand_eh_region_end_cleanup): word_mode, not Pmode.
3876
3877         * collect2.c (main): Add `-L' case to remove duplicate entries.
3878         (is_in_args): New function to check for a duplicate argument.
3879         * defaults.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New macro.
3880         * tm.texi (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New documentation.
3881         * config/mips/iris6.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES):
3882         Define to be nonzero.
3883
3884 2001-04-27  Andreas Jaeger  <aj@suse.de>
3885             Richard Henderson  <rth@redhat.com>
3886
3887         * md.texi (Machine Constraints): Document additional i386
3888         constraints and fix description of "A".
3889
3890 Fri Apr 27 10:43:49 2001  Jeffrey A Law  (law@cygnus.com)
3891
3892         * tm.texi (TARGET_MEM_FUNCTIONS): Update text.
3893
3894 2001-04-27  Jason Merrill  <jason_merrill@redhat.com>
3895
3896         * except.c (get_exception_filter): word_mode, not Pmode.
3897
3898 2001-04-26  Geoffrey Keating  <geoffk@redhat.com>
3899
3900         * config/sparc/sparc.md (movsf_no_f_insn): Add more alternatives
3901         common to other movsf patterns.  Move up so that in future
3902         people who change the other patterns will change it too.
3903         (movsf_lo_sum): Allow even for soft-float; add appropriate
3904         constraints.
3905         (movsf_high): Likewise.
3906         (movsf_high+1): Allow even for soft-float.
3907
3908         * function.c (expand_function_end): Always clobber the
3909         return registers, even if there is no return label.
3910
3911 Thu Apr 26 20:28:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
3912
3913         * (ix86_expand_fp_movcc): Re-enable SSE conditional move generation.
3914
3915 Thu Apr 26 19:20:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
3916
3917         * i386.md (abs/neg splitter): Fix calculation of sign bit for TFmodes
3918         (pushqi2_rex64, pushhi2_rex64): Add.
3919
3920 2001-04-26  Andrew Haley  <aph@cambridge.redhat.com>
3921
3922         * except.c (expand_eh_region_end_cleanup): Force pending stack
3923         adjust before emitting label that branches around cleanup code.
3924
3925 2001-04-26  H.J. Lu  (hjl@gnu.org)
3926
3927         * config.gcc (mips*-*-linux*): Add elfos.h to tm_file.
3928
3929         * config/mips/ecoff.h (STARTFILE_SPEC): Undefine before
3930         define.
3931         * config/mips/elf64.h (MAX_OFILE_ALIGNMENT): Likewise.
3932         (ASM_OUTPUT_SECTION_NAME): Likewise.
3933         (ASM_WEAKEN_LABEL): Likewise.
3934         (UNIQUE_SECTION): Likewise.
3935         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
3936         (ASM_OUTPUT_DESTRUCTOR): Likewise.
3937         * config/mips/elf.h (MAX_OFILE_ALIGNMENT): Likewise.
3938         (ASM_OUTPUT_SECTION_NAME): Likewise.
3939         (ASM_WEAKEN_LABEL): Likewise.
3940         (UNIQUE_SECTION): Likewise.
3941         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
3942         (ASM_OUTPUT_DESTRUCTOR): Likewise.
3943         * config/mips/linux.h (HANDLE_SYSV_PRAGMA): Likewise.
3944         * config/mips/mips.h (DBX_CONTIN_LENGTH): Likewise.
3945         (ASM_FILE_START): Likewise.
3946         (ASM_OUTPUT_SOURCE_LINE): Likewise.
3947         (ASM_DECLARE_OBJECT_NAME): Likewise.
3948         (ASM_FILE_END): Likewise.
3949         (ASM_DECLARE_FUNCTION_NAME): Likewise.
3950         (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
3951         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3952         (ASM_OUTPUT_CASE_LABEL): Likewise.
3953         (ASM_OUTPUT_SKIP): Likewise.
3954         (ASM_OUTPUT_ASCII): Likewise.
3955         (ASM_OUTPUT_IDENT): Likewise.
3956         (READONLY_DATA_SECTION): Likewise.
3957         (EXTRA_SECTIONS): Likewise.
3958         (EXTRA_SECTION_FUNCTIONS): Likewise.
3959         (SELECT_RTX_SECTION): Likewise.
3960         (SELECT_SECTION): Likewise.
3961
3962         * config/mips/linux.h (INVOKE__main): Undefine.
3963         (CTOR_LIST_BEGIN): Likewise.
3964         (CTOR_LIST_END): Likewise.
3965         (DTOR_LIST_BEGIN): Likewise.
3966         (DTOR_LIST_END): Likewise.
3967         (SET_ASM_OP): Defined it to ".dummy".
3968         (ASM_OUTPUT_DEF): Defined.
3969         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Defined.
3970
3971 2001-04-26  Nick Clifton  <nickc@cambridge.redhat.com>
3972
3973         * config/arm/arm.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define, if the
3974         assembler supports .p2align.
3975
3976 2001-04-26  Nathan Sidwell <nathan@codesourcery.com>
3977
3978         * c-lex.c (c_lex): Remove # from %o diagnostic formatting.
3979
3980 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
3981
3982         * integrate.c (expand_inline_function): Check for error_mark_node
3983         in actual argument.
3984
3985 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
3986
3987         * config/i386/i386.h (CC1_CPU_SPEC): Fix deprecation warnings for
3988         -m386 and -m486.
3989
3990 2001-04-26  Alexandre Oliva  <aoliva@redhat.com>
3991
3992         * configure.in (configargs.h): Define thread_model.
3993         * configure: Rebuilt.
3994         * gcc.c (main): Print it with -v.
3995
3996 2001-04-25  Joseph S. Myers  <jsm28@cam.ac.uk>
3997
3998         * invoke.texi: Document -Wmissing-braces, -dumpspecs,
3999         -dumpmachine, -dumpversion, -fmem-report and -ftime-report.
4000         * gcc.1: Regenerate.
4001
4002 2001-04-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4003
4004         * dwarfout.c (is_pseudo_reg, type_main_variant, is_tagged_type,
4005         is_redundant_typedef): Use static inline instead of inline static.
4006
4007 Wed Apr 25 18:21:01 2001  Christopher Faylor <cgf@cygnus.com>
4008
4009         * config/i386/cygwin.h: Move W32API search to LINK_SPEC to ensure that
4010         this directory is always searched.
4011
4012 2001-04-25  Richard Henderson  <rth@redhat.com>
4013
4014         * config/i386/i386.c (ix86_expand_epilogue): Properly compute size
4015         of registers to restore along non eh_return path.
4016
4017 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
4018
4019         * c-format.c (check_format_info_recurse): Handle
4020         PLUS_EXPR for format string.
4021
4022 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
4023
4024         * config/ia64/ia64.h (CC1_SPEC): Define.
4025         * config/ia64/linux.h (CC1_SPEC): Define.
4026
4027 Wed Apr 25 17:09:50 2001  J"orn Rennecke <amylaar@redhat.com>
4028
4029         * emit-rtl.c (constant_subword): Also do sign extension in
4030         BITS_PER_WORD == 16 case.
4031
4032 2001-04-25  Jason Merrill  <jason_merrill@redhat.com>
4033
4034         * loop.c (try_swap_copy_prop): Go back to checking insn.
4035
4036 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
4037
4038         * emit-rtl.c (subreg_hard_regno): Only do HARD_REGNO_MODE_OK check
4039         if check_mode is non-zero.
4040
4041 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
4042
4043         * config/i386/i386.c (ix86_expand_int_movcc): If overlap between
4044         out and comparison sequence has been detected, put result into
4045         proper temporary pseudo.
4046
4047 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
4048
4049         * Makefile.in (LIB2FUNCS): Remove _varargs and __dummy.
4050         * libgcc-std.ver: Remove __builtin_saveregs, __dummy, and __empty.
4051         * libgcc2.c: Remove __dummy and __builtin_saveregs.
4052         * libgcc2.h: Don't prototype __builtin_saveregs or __dummy.
4053         * config/i860/varargs.asm: New file - preserve i860 __builtin_saveregs
4054         for future reference.
4055
4056 2001-04-24  Jason Merrill  <jason_merrill@redhat.com>
4057
4058         * except.c (reachable_handlers): Step out one level from a RESX.
4059
4060         * except.c (struct eh_region): Rename 'last' to 'resume'.
4061         (mark_eh_region, duplicate_eh_region_1): Adjust.
4062         (expand_eh_region_end_cleanup): Remember the jump, not the barrier.
4063         (build_post_landing_pads): Likewise.
4064         (expand_end_catch, expand_eh_region_end_allowed): Don't set it.
4065         (expand_eh_region_end_must_not_throw): Likewise.
4066         (connect_post_landing_pads): Thread (only) regions with non-deleted
4067         resume insns.
4068
4069         * except.c (expand_eh_region_end_cleanup): Save the EH return data
4070         registers around the cleanup.
4071         (get_exception_filter): New fn.
4072         (finish_eh_generation): Use it.
4073
4074 2001-04-24  Nathan Sidwell <nathan@codesourcery.com>
4075
4076         * c-semantics.c (add_scope_stmt): Don't call
4077         current_scope_stmt_stack multiple times.
4078
4079 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
4080             Nathan Sidwell <nathan@codesourcery.com>
4081
4082         Lazy __FUNCTION__ generation.
4083         * c-common.h (RID_FUNCTION_NAME, RID_PRETTY_FUNCTION_NAME,
4084         RID_C99_FUNCTION_NAME): New _RIDs.
4085         (CTI_FUNCTION_ID, CTI_PRETTY_FUNCTION_ID, CTI_FUNC_ID): Remove.
4086         (CTI_FUNCTION_NAME_DECL, CTI_PRETTY_FUNCTION_NAME_DECL,
4087         CTI_C99_FUNCTION_NAME_DECL, CTI_SAVED_FUNCTION_NAME_DECLS): New
4088         global tree slots.
4089         (function_id_node, pretty_function_id_node, func_id_node): Remove.
4090         (c99_function_name_decl_node, function_name_decl_node,
4091         pretty_function_name_decl_node, saved_function_name_decls):
4092         Declare.
4093         (struct language_function): Remove x_function_name_declared_p.
4094         (make_fname_decl): Remove a parameter.
4095         (declare_function_names): Remove prototype.
4096         (start_fname_decls, finish_fname_decls): Prototype.
4097         (fname_as_string): Likewise.
4098         (fname_string, fname_decl): Likewise.
4099         * c-common.c (make_fname_decl): Adjust.
4100         (struct fname_var_t): New struct.
4101         (fname_vars): New static array.
4102         (declare_function_name): Remove.
4103         (start_fname_decls, finish_fname_decls): New functions.
4104         (fname_as_string): New function from remnants of
4105         declare_function_name.
4106         (fname_string, fname_decl): New functions.
4107
4108         * c-decl.c (c_function_name_declared_p): Remove.
4109         (init_decl_processing): Don't generate __FUNCTION__ et al ids,
4110         don't call declare_function_name. Call start_fname_decls.
4111         (c_make_fname_decl): Adjust parameters. Generate the name. Don't
4112         clobber the line number. Call finish_decl.
4113         (start_function): Call start_fname_decls.
4114         (finish_function): Call finish_fname_decls.
4115         Remove c_function_name_declared_p.
4116         (push_c_function_context): Don't push c_function_name_declared_p.
4117         (pop_c_function_context): Don't pop c_function_name_declared_p.
4118         (c_begin_compound_stmt): Don't check c_function_name_declared_p.
4119         * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): New tokens.
4120         (program): Call finish_fname_decls for C.
4121         (primary): Add VAR_FUNC_NAME.
4122         (reswords): Add slots for __FUNCTION__ et al.
4123         (rid_to_yy): Add mappings for __FUNCTION__ et al.
4124         (yylexname): If it's a STRING_FUNC_NAME generate the function name
4125         now. Don't look for VAR_DECLs containing __FUNCTION__ et al.
4126         * c-semantics.c (prune_unused_decls): Remove.
4127         (finish_stmt_tree): Don't call prune_unused_decls.
4128         (genrtl_decl_stmt): Don't prune unused decls here.
4129
4130 2001-04-24  Nick Clifton  <nickc@cambridge.redhat.com>
4131
4132         * dwarf2out.c (mem_loc_descriptor): If a SYMBOL_REF is in the
4133         constant pool, use the pool's SYMBOL_REF instead.
4134
4135         * config/v850/v850.h (STRICT_ALIGNMENT): Always set, even for the
4136         v850e.
4137
4138 2001-04-23  Joseph S. Myers  <jsm28@cam.ac.uk>
4139
4140         * c-convert.c (convert): When converting to a BOOLEAN_TYPE, avoid
4141         passing nested NOP_EXPRs to fold.
4142
4143 Mon Apr 23 14:32:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
4144
4145         * reg-stack.c (emit_swap_insn): Do not get pass CALL_INSNs.
4146
4147 2001-04-22  Mark Mitchell  <mark@codesourcery.com>
4148
4149         * loop.c (loop_delete_insns): Add prototype.
4150
4151 2001-04-23  Phil Edwards  <pme@sources.redhat.com>
4152
4153         * configure.in:  Remove ENABLE_STD_NAMESPACE.
4154         * config.in:  Regenerated.
4155         * configure:  Regenerated.
4156
4157 2001-04-22  Stan Shebs  <shebs@apple.com>
4158
4159         * config.gcc (powerpc-*-darwin*): Move the flag in xm-darwin.h
4160         into xm_defines.
4161         * config/rs6000/xm-darwin.h: Remove file.
4162
4163 2001-04-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4164
4165         * collect2.c (main): Use concat in lieu of xmalloc/sprintf.
4166         (write_c_file_stat): Likewise.
4167
4168         * dbxout.c (dbxout_init): Likewise.
4169
4170         * profile.c (output_func_start_profiler): Likewise.
4171
4172 2001-04-22  Philipp Thomas  <pthomas@suse.de>
4173
4174         * ABOUT-GCC-NLS: Now that gettext 0.10.37 is out,
4175         require it instead of the CVS version.
4176         * cpperror.c (v_message): Put a blank before the macro
4177         body to not confuse exgettext.
4178
4179 2001-04-21  Mark Mitchell  <mark@codesourcery.com>
4180
4181         * flow.c (proagate_one_insn): Remove useless assignment.
4182         * jump.c (delete_insn): Tidy.
4183         * loop.c (try_copy_prop): When deleting an instruction with a
4184         REG_RETVAL note, delete the entire libcall sequence.
4185         (loop_delete_insns): New function.
4186         * unroll.c (initial_reg_note_copy): Copy INSN_LIST notes, even if
4187         we're not substituting into them yet.
4188
4189 2001-04-21  Kazu Hirata  <kazu@hxi.com>
4190
4191         * config/h8300/h8300.c (general_operand_src): Fix a comment typo.
4192
4193         * config/sparc/sparc.c (sparc_flat_eligible_for_epilogue_delay):
4194         Fix a comment typo.
4195         * config/i960/i960.c (signed_arith_operand): Likewise.
4196
4197         * calls.c (expand_call): Fix a comment typo.
4198
4199 2001-04-20  Zack Weinberg  <zackw@stanford.edu>
4200
4201         * configure.in: Probe for times, clock, struct tms, and clock_t.
4202         * configure, config.in: Regenerate.
4203         * timevar.c: Replace ifdef forest in get_time with (relatively)
4204         straightforward series of checks based on autoconf's probes.
4205
4206 Fri Apr 20 12:24:50 2001  Jeffrey A Law  (law@cygnus.com)
4207
4208         * config/pa/som.h (NM_FLAGS): Define.
4209
4210 2001-04-20  Bernd Schmidt  <bernds@redhat.com>
4211
4212         * ia64.h (MD_SCHED_REORDER, MD_SCHED_REORDER2): Pass CLOCK to called
4213         function.
4214         * ia64-protos.h (ia64_sched_reorder): Additional arg for clock.
4215         * ia64.c (nop_cycles_until): New function.
4216         (prev_cycle, prev_first, last_issued): New static variables.
4217         (ia64_sched_reorder): Additional arg for clock.
4218         On final scheduling pass, emit extra NOPs as needed.
4219         Set prev_first and prev_cycle.
4220         (ia64_sched_reorder2): Pass clock arg down to ia64_sched_reorder.
4221         (ia64_variable_issue): Set last_issued.
4222
4223 2001-04-20  Alexandre Oliva  <aoliva@redhat.com>
4224
4225         * config/i386/i386.c (ix86_expand_int_movcc,
4226         ix86_expand_strlensi_unroll_1): Sign-extend CONST_INTs.
4227
4228 2001-04-20  Geoff Keating  <geoffk@redhat.com>
4229
4230         * config/rs6000/rs6000.md (ctrsi_internal1, ctrsi_internal2,
4231         ctrsi_internal3, ctrsi_internal4, ctrsi_internal5,
4232         ctrsi_internal6, ctrdi_internal1, ctrdi_internal2,
4233         ctrdi_internal3, ctrdi_internal4, ctrdi_internal5,
4234         ctrdi_internal6): In the short-branch case, this insn is only 4
4235         bytes long.  Reported by Reza Yazdani <reza@apple.com>.
4236
4237 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
4238
4239         * reg-stack.c (check_asm_stack_operands): Issue error if "=t" resp.
4240         "=u" is used together with "st" resp. "st(1)" clobber.
4241
4242 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
4243
4244         * gcse.c (gcse_main): Fix comment typo.
4245         (delete_null_pointer_check): Likewise.
4246         (hash_scan_set): Don't consider sets with REG_EQUIV MEM notes.
4247         * cse.c (cse_insn): Likewise.
4248         * function.c (fixup_var_refs_insns_with_hash): The sequence is
4249         toplevel.
4250
4251 2001-04-19  Zack Weinberg  <zackw@stanford.edu>
4252
4253         * toplev.c: Excise all code for the undocumented -dm option.
4254         (float_signal): Call signal just once, unconditionally.
4255
4256 2001-04-19  Geoff Keating  <geoffk@redhat.com>
4257
4258         * fold-const.c (fold): Use first_rtl_op rather than
4259         TREE_CODE_LENGTH when looping over parameters of a tree.
4260         Correct strange grouping in test for evaluated SAVE_EXPR.
4261
4262 Thu Apr 19 19:15:26 2001  Jeffrey A Law  (law@cygnus.com)
4263
4264         * config/pa/pa-linux.h (CPLUSPLUS_CPP_SPEC): Undefine.
4265         * config/pa/pa.h (CPLUSPLuS_CPP_SPEC): Define.
4266
4267         * config/pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Truncate subspace
4268         name at 32 total characters.
4269         (ASM_OUTPUT_SECTION_NAME): Similarly.  Also, only support placing
4270         functions in named sections -- data items can still go into unique
4271         sections, but they have normal names (ie $LIT$ and $DATA$).
4272
4273         * config/pa/som.h (SUPPORTS_INIT_PRIORITY): SOM does not support
4274         INIT_PRIORITY.
4275
4276 2001-04-19 DJ Delorie  <dj@redhat.com>
4277
4278         * config/alpha/vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
4279         to TARGET_OBJECT_SUFFIX and TARGET_EXECUTABLE_SUFFIX.
4280         * config/i386/cygwin.h: Likewise.
4281         * config/i386/mingw32.h: Likewise.
4282         * config/vax/vms.h: Likewise.
4283         * config/i386/djgpp.h: Remove NO_AUTO_EXE_SUFFIX.
4284
4285         * config/alpha/xm-vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
4286         to HOST_OBJECT_SUFFIX and HOST_EXECUTABLE_SUFFIX.
4287         * config/i386/xm-cygwin.h: Likewise.
4288         * config/i386/xm-djgpp.h: Likewise.
4289         * config/i386/xm-mingw32.h: Likewise.
4290         * config/vax/xm-vms.h: Likewise.
4291
4292         * mkdeps.c (deps_add_default_target): Use TARGET_OBJECT_SUFFIX
4293         instead of OBJECT_SUFFIX.
4294         * collect2.c (find_a_file): Look for files matching the extension
4295         HOST_EXECUTABLE_SUFFIX instead of EXECUTABLE_SUFFIX.
4296         * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION): Depend on
4297         TARGET_EXECUTABLE_SUFFIX.
4298         (find_a_file): Use HOST_EXECUTABLE_SUFFIX.
4299         (make_relative_prefix): Likewise.
4300         (convert_filename): Use TARGET_ suffixes throughout.  Remove
4301         NO_AUTO_EXE_SUFFIX.
4302         (process_command): Likewise.
4303         (do_spec_1): Likewise.
4304         * java/lang.c (init_parse): Likewise.
4305
4306         * gcc.texi : Document four new options matching the pattern
4307         (HOST|TARGET)_(OBJECT|EXECUTABLE)_SUFFIX.  Remove documentation
4308         for deleted macros OBJECT_SUFFIX and EXECUTABLE_SUFFIX.  Remove
4309         documentation for NO_AUTO_EXE_SUFFIX.
4310
4311 2001-04-19  Mark Mitchell  <mark@codesourcery.com>
4312
4313         * toplev.h (struct lang_hooks): Allow decode_option to indicate
4314         that language-independent processing should not be done.
4315         * toplev.c (main): Adjust accordingly.
4316
4317         * rtl.texi (jump_insn): Expand on JUMP_LABEL documentation.
4318         * loop.c (load_mems): Handle a NULL JUMP_LABEL for a JUMP_INSN.
4319
4320         * mips.md (reload_outputdi): Require that operand0 be a
4321         general_operand.
4322
4323 2001-04-19  Jakub Jelinek  <jakub@redhat.com>
4324
4325         * invoke.texi (-Wshadow): Clarify.
4326
4327 2001-04-18  Mark Mitchell  <mark@codesourcery.com>
4328
4329         * loop.c (load_mems): Examine all the instructions in the loop
4330         before concluding that all jumps branch to the first instruction
4331         after the loop.
4332
4333 Wed Apr 18 20:32:03 2001  Christopher Faylor <cgf@cygnus.com>
4334
4335         * config/i386/xm-cygwin.h (CPP_SPEC): Fix typo.
4336
4337 2001-04-18  Jakub Jelinek  <jakub@redhat.com>
4338
4339         * cpp.texi (-Wwhite-space): Remove.
4340         (-Wall): -Wall does not imply -Wwhite-space.
4341
4342 2001-04-17  Zack Weinberg  <zackw@stanford.edu>
4343
4344         * dbxout.c (dbxout_init): If DBX_OUTPUT_GCC_MARKER is defined,
4345         use it instead of blindly generating a .stabs.
4346         * xcoffout.h: Define DBX_OUTPUT_GCC_MARKER so we put the type
4347         in the right place.
4348         * xcoffout.c: Don't bother defining default for N_CATCH.
4349         (UNKNOWN_STAB): Use internal_error.
4350         (stab_to_sclass): Remove now-unnecessary aborts.
4351         Remove #if 0'ed case N_BROWS.  Add #ifdef N_OPT block.
4352
4353 Tue Apr 17 21:41:11 2001  Jeffrey A Law  (law@cygnus.com)
4354
4355         * jump.c (mark_all_labels): Canonicalize the tail recursion
4356         label attached to CALL_PLACEHOLDER insns.
4357
4358 2001-04-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4359
4360         * output.h (dump_flow_info, free_basic_block_vars,
4361         which_alternative): Delete redundant prototypes.
4362
4363         * rtl.h (bss_section): Likewise.
4364
4365 2001-04-17  Loren J. Rittle  <ljrittle@acm.org>
4366
4367         * dbxout.c (N_OPT): Define if not available from <stab.h>
4368
4369 2001-04-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4370
4371         * vax.h (PROMOTE_PROTOTYPES): Define for compatibility with system
4372         libraries and native K&R compilers.
4373
4374 2001-04-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4375
4376         * c-typeck.c (convert_arguments): Don't check for width changes
4377         with -Wtraditional.
4378
4379         * invoke.texi (-Wtraditional): Update documentation.
4380
4381 2001-04-16  Zack Weinberg  <zackw@stanford.edu>
4382
4383         * toplev.c (output_lang_identify): Delete.
4384         (compile_file): Don't call ASM_IDENTIFY_GCC or ASM_IDENTIFY_LANGUAGE.
4385         Don't generate gcc2_compiled. label.  Don't emit a nop if profiling.
4386         If IDENT_ASM_OP is defined, emit an .ident "GCC (GNU) <version>"
4387         after calling ASM_FILE_END.
4388
4389         * dbxout.c (dbxout_init): Don't call ASM_IDENTIFY_GCC_AFTER_SOURCE.
4390         Instead, unconditionally emit an N_OPT stab with string equal
4391         to STABS_GCC_MARKER, which defaults to "gcc2_compiled."
4392
4393         * defaults.h: Don't provide default for ASM_IDENTIFY_LANGUAGE.
4394
4395         * config/dbxelf.h, config/freebsd.h, config/nextstep.h,
4396         config/psos.h, config/ptx4.h, config/1750a/1750a.h,
4397         config/alpha/alpha.h, config/alpha/elf.h, config/arc/arc.h,
4398         config/arm/aof.h, config/arm/coff.h, config/arm/elf.h,
4399         config/arm/linux-elf.h, config/avr/avr.h, config/d30v/d30v.h,
4400         config/dsp16xx/dsp16xx.h, config/h8300/h8300.h,
4401         config/i370/i370.h, config/i386/beos-elf.h,
4402         config/i386/osf1elf.h, config/i386/osfrose.h,
4403         config/ia64/sysv4.h, config/m68k/3b1.h, config/m68k/auxgas.h,
4404         config/m68k/crds.h, config/m68k/hp320.h, config/m68k/m68kv4.h,
4405         config/m68k/mot3300.h, config/m68k/news.h, config/m68k/sgs.h,
4406         config/m68k/tower-as.h, config/mcore/mcore-elf.h,
4407         config/mips/iris6.h, config/mips/osfrose.h,
4408         config/mips/sni-svr4.h, config/pa/som.h, config/pdp11/pdp11.h,
4409         config/sparc/sp64-elf.h:
4410         Delete definitions of any or all of: ASM_IDENTIFY_GCC,
4411         ASM_IDENTIFY_GCC_AFTER_SOURCE, and ASM_IDENTIFY_LANGUAGE.
4412
4413         * config/elfos.h, config/freebsd.h, config/linux.h,
4414         config/alpha/elf.h, config/arm/linux-elf.h, config/i386/i386elf.h,
4415         config/i386/ptx4-i.h, config/mips/gnu.h, config/mips/linux.h,
4416         config/sparc/linux.h, config/sparc/linux64.h: Delete definitions
4417         of ASM_FILE_START which merely emit a .version directive.  Delete
4418         definitions of ASM_FILE_END which merely emit an .ident directive.
4419
4420         * config/avr/avr.h, config/vax/vax.h: Delete definition of
4421         ASM_IDENTIFY_GCC and move part of its logic into
4422         ASM_FILE_START.
4423
4424         * config/i386/att.h, config/i386/gas.h, config/i386/linux.h,
4425         config/sparc/linux-aout.h: Don't emit .version directive in
4426         ASM_FILE_START.
4427
4428         * config/i386/dgux.c, config/m88k/m88k.c, config/sh/sh.c
4429         (output_file_start): Correct comment.
4430
4431         * config/i386/osfrose.h: Don't emit trailing .ident directive.
4432         * config/m68k/mot3300.h: Override STABS_GCC_MARKER to "gcc2_compiled%"
4433         to match gdb.
4434         * config/pa/lib2funcs.asm: Delete gcc_compiled. label.
4435         * config/rs6000/aix.h: Correct comment.
4436
4437         * config/i386/i386afe.h: Delete.
4438         * config.gcc: Remove references to i386afe.h.
4439
4440         * tm.texi: Delete documentation of ASM_IDENTIFY_GCC.  The
4441         other macros deleted by this patch were undocumented.
4442
4443 Mon Apr 16 08:03:48 2001  Jeffrey A Law  (law@cygnus.com)
4444
4445         * pa.md (reload_outdi): Operand 0 must be a non hard register.
4446
4447         * pa.c (secondary_reload_class): SAR<->FP copies require a
4448         secondary register.
4449
4450         * install.texi (mips-mips-bsd): Update list of functions
4451         required to include memmove.
4452         * tm.texi (TARGET_MEM_FUNCTIONS): Update list of implicitly
4453         used functions to include memmove.
4454
4455 2001-04-15  Toon Moene  <toon@moene.indiv.nluug.nl>
4456
4457         * i386.md (sqrtdf2): SFmode should be DFmode.
4458
4459 2001-04-15  Alexandre Oliva  <aoliva@redhat.com>
4460
4461         * gcse.c (compute_ld_motion_mems): ASM outputs aren't moveable.
4462         (find_moveable_store): Likewise.
4463
4464 2001-04-15  Jim Wilson  <wilson@redhat.com>
4465
4466         * function.c (expand_function_end): Handle PARALLEL real_decl_rtl.
4467
4468 Sat Apr 14 16:24:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
4469
4470         * i386.md (ashldi3_1_rex64): Add 'J' to the constraints
4471         (ashrdi3_1_rex64): Change 'n' constraint to 'J'.
4472
4473 2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
4474
4475         * config/mn10300/mn10300.md (cmpsi): Tell reload to disregard the
4476         first alternative.
4477
4478 2001-04-14  Alan Modra  <amodra@one.net.au>
4479
4480         * pa.c (force_mode): New function.
4481         (emit_move_sequence): Use it instead of generating new rtx_REGs.
4482
4483 2001-04-13  Jim Wilson  <wilson@redhat.com>
4484
4485         * config/ia64/ia64.c (ia64_expand_epilogue): Emit alloc if sibcall_p.
4486         (first_instruction): New static variable.
4487         (rtx_needs_barrier): Return 1 for alloc.
4488         (init_insn_group_barriers): Set first_instruction.
4489         (rws_sum): Delete duplicate definition.
4490         (group_barrier_needed_p): Return 0 when first_instruction true.
4491         (safe_group_barrier_needed_p): Save and restore first_instruction
4492         around group_barrier_needed_p call.
4493
4494 Fri Apr 13 21:40:28 2001  Loren J. Rittle  <ljrittle@acm.org>
4495
4496         * expr.h (enum libfunc_index): Add LTI_memmove.
4497         (memmove_libfunc): Define macro.
4498         * optabs.c (init_optabs): Initialize memmove_libfunc.
4499         * expr.c (expand_assignment): Use memmove_libfunc instead of
4500         memcpy_libfunc.
4501
4502 2001-04-13  Alan Modra  <alan@linuxcare.com.au>
4503
4504         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Disallow PIC LO_SUM
4505         fp mode addresses.
4506
4507 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4508
4509         * Makefile.in (reg-stack.o): Depend on reload.h.
4510         (insn-attrtab.o): Depend on flags.h.
4511
4512         * genattrtab (main): Include flags.h in insn-attrtab.c.
4513
4514         * reg-stack.c: Include reload.h.
4515
4516         * sparc.h (flag_pic): Delete redundant declaration.
4517
4518         * output.h (flag_pic): Likewise.
4519
4520         * tree.h (pedantic): Likewise.
4521
4522 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4523
4524         * Makefile.in (toplev.o, jump.o, regmove.o): Depend on reload.h
4525
4526         * jump.c, regmove.c, toplev.c: Include reload.h.
4527
4528         * reload.h (reload_cse_regs): Declare.
4529
4530         * rtl.h (find_equiv_reg, operands_match_p, safe_from_earlyclobber,
4531         reload_cse_regs, init_reload, mark_home_live, reload,
4532         init_caller_save): Delete redundant prototypes.
4533
4534 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4535
4536         * Makefile.in (ssa.o, regclass.o): Depend on $(EXPR_H).
4537
4538         * regclass.c, ssa.c: Include expr.h.
4539
4540         * rtl.h (memory_address, force_reg, emit_queue, emit_move_insn,
4541         gen_move_insn): Delete redundant declarations.
4542
4543 2001-04-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4544
4545         * Makefile.in (CFLAGS, BOOT_CFLAGS): Partly revert 2000-10-27 patch.
4546         (stage1_build): Instead pass down STAGE1_CFLAGS here. Pass down
4547         MAKEINFO and MAKEINFOFLAGS too.
4548         (stage4_build): Correctly order -B flags.
4549
4550 2001-04-13  Alan Modra  <amodra@one.net.au>
4551
4552         * pa.c (hppa_init_pic_save): Set rtx_unchanging for
4553         PIC_OFFSET_TABLE_SAVE_RTX.
4554         (zdepi_cint_p): Describe zdepi insn.
4555         Formatting and white space fixes throughout file.
4556
4557         * pa.c (uint32_operand): Don't use long constant >= 2^32.
4558         (emit_move_sequence): Use HOST_WIDE_INT constants.  Don't worry
4559         about 32->64 bit sign extension if 32 bit HOST_WIDE_INTs.
4560         (compute_movstrsi_length): Make `align' unsigned to avoid warning.
4561         (output_64bit_and): Use plain `int's for shift counts.
4562         (output_64bit_ior): Likewise.
4563         (function_arg_partial_nregs): Use unsigned vars to avoid warnings.
4564         * pa.h (CONST_OK_FOR_LETTER_P): Use HOST_WIDE_INT constants for case
4565         `N', and simplify.
4566
4567         * pa-hpux10.h (NEW_HP_ASSEMBLER): Define to 1.
4568         * pa-hpux11.h (NEW_HP_ASSEMBLER): Likewise.
4569         * pa.h (LEGITIMATE_CONSTANT_P) Collapse two defines depending on
4570         NEW_HP_ASSEMBLER into one.  Kill warnings.
4571
4572         * pa-gas.h: Delete file.
4573         * config.gcc: Match `parisc' as well as `hppa' for cpu_type=pa.
4574         Add new targets hppa*64*-*-linux* and parisc*64*-*-linux*.  Update
4575         hppa*-*-linux*.  For all pa targets, remove pa/gas.h from tm_file,
4576         instead setting MASK_GAS | MASK_JUMP_IN_DELAY in target_cpu_default2.
4577
4578         * config/pa/mill32.S: New file.
4579         * config/pa/mill64.S: New file.
4580         * config/pa/t-linux (LIBGCC1, CROSS_LIBGCC1, LIB1ASMFUNCS,
4581         LIB1ASMSRC, CRTSTUFF_T_CFLAGS_S, TARGET_LIBGCC2_CFLAGS): Define.
4582         * config/pa/t-linux64: New file.
4583         * config/pa/t-pa64 (CROSS_LIBGCC1): Change to libgcc1-asm.a
4584         (LIB1ASMFUNCS, LIB1ASMSRC): Define.
4585         (TARGET_LIBGCC2_CFLAGS): Add -Dpa64=1 -DELF=1.
4586
4587         * elfos.h (SELECT_SECTION): Undef before defining.
4588         * pa-linux.h (LINUX_DEFAULT_ELF, PTRDIFF_TYPE, CPP_SPEC): Remove.
4589         (LIB_SPEC): Remove -lmilli.
4590         (DBX_REGISTER_NUMBER): Remove.
4591         (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
4592         (DWARF2_UNWIND_INFO, ASM_SPEC, LINK_SPEC, FUNCTION_OK_FOR_SIBCALL,
4593         NO_PROFILE_COUNTERS, SELECT_RTX_SECTION, INCOMING_RETURN_ADDR_RTX,
4594         DWARF_FRAME_RETURN_COLUMN, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
4595         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_FILE_START,
4596         ASM_OUTPUT_DEF, ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
4597         ASM_OUTPUT_LABEL, ASM_GLOBALIZE_LABEL, ASM_DECLARE_FUNCTION_NAME,
4598         TARGET_GAS): Define.
4599         * pa.c (output_arg_descriptor): Disable for TARGET_ELF32.
4600         (function_arg): If TARGET_ELF32, pass fp args in both general and fp
4601         regs if we don't have a prototype.
4602         * pa.md (canonicalize_funcptr_for_compare): Not for TARGET_ELF32.
4603         * pa.h (TARGET_ELF32): Default to 0 if undefined.
4604         (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX,
4605         EH_RETURN_HANDLER_RTX): Define.
4606         * pa32-regs.h (DBX_REGISTER_NUMBER): Remove unnecessary test.
4607         (DWARF_FRAME_REGNUM): Define.
4608         * pa64-regs.h (DWARF_FRAME_REGNUM): Define.
4609         * pa32-linux.h: New file.
4610         * pa64-linux.h: New file.
4611
4612         * pa-64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
4613         (ASM_OUTPUT_DOUBLE_INT): Format, protect macro with do..while.
4614         (LINK_SPEC, LIB_SPEC, MD_EXEC_PREFIX, MD_STARTFILE_PREFIX,
4615         NEW_HP_ASSEMBLER, ASM_FILE_START, OBJECT_FORMAT_ELF,
4616         DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_FORMAT,
4617         DWARF2_ASM_LINE_DEBUG_INFO, USE_CONST_SECTION, CONST_SECTION_ASM_OP,
4618         CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
4619         FINI_SECTION_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
4620         READONLY_DATA_SECTION, CONST_SECTION_FUNCTION, CTORS_SECTION_FUNCTION,
4621         DTORS_SECTION_FUNCTION, ASM_OUTPUT_SECTION_NAME, MAKE_DECL_ONE_ONLY,
4622         UNIQUE_SECTION_P, UNIQUE_SECTION, INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
4623         ASM_OUTPUT_DESTRUCTOR, TYPE_ASM_OP, SIZE_ASM_OP, ASM_WEAKEN_LABEL,
4624         TYPE_OPERAND_FMT, ASM_DECLARE_RESULT): Move to..
4625         * pa64-hpux.h: New file.
4626         (ASM_FILE_START): Correct typo.
4627         (PREFERRED_DEBUGGING_FORMAT): Rename to PREFERRED_DEBUGGING_TYPE.
4628         * config.gcc: Modify for above.
4629
4630 Fri Apr 13 00:09:22 EDT 2001  John Wehle  (john@feith.com)
4631
4632         * jump.c (jump_optimize_1): Don't delete dead stores here.
4633         * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns
4634         prior to running jump optimize before cse2.
4635
4636 2001-04-12  Richard Henderson  <rth@redhat.com>
4637
4638         * Makefile.in (regmove.o): Depend on except.h.
4639         * regmove.c: Include it.
4640
4641 2001-04-12  Stan Shebs  <shebs@apple.com>
4642
4643         * objc/objc-act.c: Remove all code ifdefed with the never-used
4644         macro OBJC_INT_SELECTORS.
4645         * config/d30v/d30v.h: Remove commented-out ref to OBJC_INT_SELECTORS.
4646         * tm.texi: Remove doc for OBJC_INT_SELECTORS.
4647
4648 Thu Apr 12 18:13:37 2001  Rodney Brown  <RodneyBrown@mynd.com>
4649
4650         * config/pa/quadlib.c: Add prototypes.
4651
4652 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4653
4654         * bitmap.h (debug_bitmap): Delete redundant prototype.
4655
4656         * rtl.h (get_frame_size): Likewise.
4657
4658 2001-04-12  Jim Wilson  <wilson@redhat.com>
4659
4660         * config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Simplify
4661         to just emit an fnorm.
4662
4663 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4664
4665         * c-common.h (truthvalue_conversion, type_for_mode,
4666         type_for_size): Delete redundant declarations.
4667
4668         * c-lex.h (is_class_name): Likewise.
4669
4670         * c-tree.h (pedantic, convert, getdecls, gettags,
4671         global_bindings_p, init_decl_processing, insert_block,
4672         maybe_build_cleanup, poplevel, print_lang_decl,
4673         print_lang_identifier, print_lang_type, pushdecl, pushlevel,
4674         set_block, incomplete_type_error, build_function_call,
4675         lvalue_or_else, mark_addressable): Likewise.
4676
4677         * expr.h (expand_tree_builtin): Likewise.
4678
4679 2001-04-12  Mark Mitchell  <mark@codesourcery.com>
4680
4681         * invoke.texi: Document --param max-gcse-memory.
4682
4683 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4684
4685         * configure.in (errno): Check for declaration.
4686         * configure, config.in: Regenerated.
4687
4688         * system.h (errno): Only declare if not already done.
4689
4690 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
4691
4692         * recog.c (general_operand, immediate_operand,
4693         nonmemory_operand): Require CONST_INTs to be sign-extended
4694         values for their modes.
4695
4696 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
4697
4698         * expmed.c (store_bit_field): Truncate CONST_INTs.
4699         (expand_mult_highpart, expand_divmod): Likewise.
4700         * expr.c (convert_modes, store_field): Likewise.
4701         * integrate.c (expand_inline_function): Use promote_mode() to
4702         determine whether to convert_modes() an argument as signed
4703         or unsigned.
4704         * optabs.c (expand_binop): Get CONST_INT operands
4705         sign-extended for their appropriate modes.
4706         * stmt.c (emit_case_nodes): Convert node values to the
4707         appropriate mode.
4708         (expand_end_case): Convert minval and range to the appropriate
4709         mode.
4710         * unroll.c (loop_iterations): Truncate abs_diff to the mode of
4711         the iteration variable.
4712         * varasm.c (immed_double_const): Don't require words to be
4713         narrower than host wide ints to properly sign-extend
4714         CONST_INTs.
4715
4716 2001-04-12  kaz Kojima  <kkojima@rr.iij4u.or.jp>
4717
4718         * sh.md (builtin_setjmp_receiver): New expander.
4719
4720 2001-04-12  David Edelsohn  <dje@watson.ibm.com>
4721
4722         * config/rs6000/rs6000.c (rs6000_emit_move): Do not
4723         special-case HOST_BITS_PER_WIDE_INT != 32.  Use same criteria
4724         for generating CONST_INT and CONST_DOUBLE.
4725
4726 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
4727
4728         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
4729         already sign-extended.
4730         (rs6000_emit_prologue): Make register iterator signed.
4731         (rs6000_emit_epilogue): Likewise.
4732         * config/rs6000/rs6000.md (addsi3, adddi3): Sign-extend high
4733         and low.
4734         (movsf split, movdf split): Sign-extend CONST_INTs.
4735         (movdi splits): Likewise.
4736
4737 2001-04-12  Kelley Cook <kelley.cook@home.com>
4738
4739         * config-lang.in (lang_dirs): Add in zlib.
4740
4741 2001-04-11  Alexandre Oliva  <aoliva@redhat.com>
4742
4743         * config/i386/i386.md: Apply trunc_int_for_mode() to GEN_INT
4744         operands that make it to RTL.
4745
4746 2001-04-11  Stan Shebs  <shebs@apple.com>
4747
4748         Add Darwin (Mac OS X kernel) native support.
4749         * config.gcc (powerpc-*-darwin*): Add native bits.
4750         * config/darwin.c: New file, generic Darwin support functions.
4751         * config/darwin.h: New file, generic Darwin definitions.
4752         * config/darwin-protos.h: New file, generic Darwin prototypes.
4753         * rs6000/darwin.h: New file, Darwin for PowerPC.
4754         * rs6000/t-darwin: New file, Darwin makefile fragment.
4755         * rs6000/rs6000.h (OBJECT_MACHO): New macro.
4756         (TARGET_MACHO): Ditto.
4757         (rs6000_abi): Add ABI_DARWIN.
4758         (RS6000_REG_SAVE): Add ABI_DARWIN case.
4759         (RS6000_SAVE_AREA): Ditto.
4760         (FP_ARG_MAX_REG): Ditto.
4761         (RETURN_ADDRESS_OFFSET): Ditto.
4762         * rs6000/rs6000.c (rs6000_legitimize_address): Add TARGET_MACHO
4763         cases.
4764         (rs6000_emit_move): Add ABI_DARWIN cases.
4765         (print_operand): Ditto.
4766         (first_reg_to_save): Ditto.
4767         (rs6000_stack_info): Ditto, also align stack by 16 instead of 8.
4768         (debug_stack_info): Ditto.
4769         (rs6000_emit_prologue): Ditto.
4770         (rs6000_emit_epilogue): Ditto.
4771         (output_profiler_hook): Ditto.
4772         (output_function_profiler): Ditto.
4773         (rs6000_add_gc_roots): Call machopic_add_gc_roots if TARGET_MACHO.
4774         (output_mi_thunk): Add TARGET_MACHO case.
4775         (add_compiler_stub): Ditto.
4776         (output_compiler_stub): Ditto.
4777         (no_previous_def): Ditto.
4778         (output_call): Ditto.
4779         (machopic_output_stub): Ditto.
4780         (rs6000_machopic_legitimize_pic_address): Ditto.
4781         (toc_section): Ditto.
4782         * rs6000/rs6000.md (addsi3_high): New TARGET_MACHO pattern.
4783         (macho_high): Ditto.
4784         (macho_low): Ditto.
4785         (movsi_low): Ditto.
4786         (load_macho_picbase): Ditto.
4787         (call): Add TARGET_MACHO case to modify function.
4788         (call_value): Ditto.
4789         (call_nonlocal_sysv): Add ABI_DARWIN case.
4790         (call_value_nonlocal_sysv): Ditto.
4791         * rs6000/rs6000-protos.h (rs6000_machopic_legitimize_pic_address):
4792         Add prototype.
4793         (machopic_output_stub): Ditto.
4794         * ginclude/stddef.h: Test _BSD_WCHAR_T_DEFINED_.
4795
4796 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
4797
4798         * dwarf2out.c (modified_type_die): Don't create new types here.
4799         * tree.h (get_qualified_type): New function.
4800         (build_qualified_type): Adjust comment.
4801         * tree.c (get_qualified_type): New function.
4802         (build_qualified_type): Use it.
4803
4804 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4805
4806         * cpp.texi (-Wtraditional): Update description.
4807
4808         * invoke.texi (-Wtraditional): Likewise.
4809
4810 2001-04-11  Jim Wilson  <wilson@redhat.com>
4811
4812         * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Return 128 if argument
4813         requires more than 64 bits of alignment.
4814
4815 2001-04-11  Neil Booth  <neil@daikokuya.demon.co.uk>
4816
4817         * cpplib.c (do_line): Sanity check iff enable checking.
4818
4819 2001-04-11  Richard Henderson  <rth@redhat.com>
4820
4821         * Makefile.in (insn-recog.o): Depend on toplev.h.
4822         (insn-emit.o, doloop.o): Likewise.
4823         * genrecog.c, genemit.c: Include toplev.h in generated file.
4824         * doloop.c: Include toplev.h.
4825
4826 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
4827
4828         * Makefile.in (gcse.o): Depend on params.h.
4829         * gcse.c: Include params.h.
4830         (gcse_main): Don't do GCSE if doing so will take inordinate
4831         amounts of memory.
4832         * params.def (PARAM_MAX_GCSE_MEMORY): New  parameter.
4833         * params.h (MAX_GCSE_MEMORY): New macro.
4834
4835 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4836
4837         * Makefile.in (insn-output.o): Depend on $(EXPR_H).
4838
4839         * genoutput.c (output_prologue): Include expr.h in insn-output.c.
4840
4841 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4842
4843         * output.h (assemble_real): Declare if REAL_VALUE_TYPE is defined.
4844
4845         * real.h (ereal_atof, real_value_truncate, target_isnan,
4846         target_isinf, target_negative, assemble_real, debug_real): Delete
4847         redundant prototypes.
4848
4849         * Makefile.in (ifcvt.o): Depend on toplev.h.
4850
4851         * c-semantics.c: Include expr.h.
4852
4853         * ifcvt.c: Include toplev.h.
4854
4855         * expr.h (rtx_equal_p): Delete prototype.
4856
4857         * rtl.h (exact_log2_wide, floor_log2_wide, permalloc,
4858         protect_from_queue, gen_jump, gen_beq, gen_bge, gen_ble,
4859         eliminate_constant_term, expand_complex_abs, find_single_use,
4860         make_tree, init_expr_once, init_optabs, supports_one_only):
4861         Likewise.
4862
4863         * tree.h (exact_log2_wide, floor_log2_wide, expand_null_return,
4864         rest_of_type_compilation, emit_queue, do_pending_stack_adjust,
4865         expand_assignment, store_expr, emit_line_note_after,
4866         emit_line_note_force, split_specs_attrs, label_rtx): Likewise.
4867
4868         * toplev.h (exact_log2_wide, floor_log2_wide): Add prototype.
4869
4870         * sparc-protos.h: Delete redundant prototypes.
4871
4872 2001-04-11  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
4873
4874         * reload.c (push_reload): Add condition missed in SUBREG byte
4875         offset patch.
4876
4877 Wed Apr  4 00:28:23 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4878
4879         * sparc/sol2-sld-64.h (STARTFILE_SPEC): Added missing blank.
4880
4881 Wed Apr 11 14:06:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
4882
4883         * i386.md (floatsisf_sse): Fix output template
4884         * i386.c (ix86_expand_fp_movcc)
4885
4886         * reg-stack.c (emit_pop_insn): Handle complex modes.
4887         (move_for_stack_reg): Emit proper move mode.
4888         (subst_stack_regs_pat): Handle complex modes.
4889
4890 2001-04-11  Jakub Jelinek  <jakub@redhat.com>
4891
4892         * cpplex.c (_cpp_lex_token): Only warn if -Wcomment.
4893
4894 2001-04-10  Richard Henderson  <rth@redhat.com>
4895
4896         * libgcc2.h (__terminate_func_ptr): Remove typedef.
4897         (__pure_virtual, __terminate, __terminate_set_func,
4898         __default_terminate, __throw_type_match, __empty,
4899         __get_eh_context, __get_eh_info, __get_dynamic_handler_chain,
4900         __eh_rtime_match, __unwinding_cleanup, __rethrow,
4901         __sjthrow, __sjpopnthrow, __eh_alloc, __eh_free):
4902         Remove prototypes of deleted functions.
4903
4904 2001-04-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4905
4906         * c-typeck.c (convert_arguments): -Wtraditional now activates
4907         -Wconversion warnings, except for changes in signed-ness.
4908         Detect complex<->int & int<->complex conversions as well.
4909
4910         * invoke.texi (-Wtraditional): Document it.
4911
4912 Tue Apr 10 17:45:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4913
4914         * gcse.c (update_ld_motion_stores): Don't use variable I for an insn.
4915         * flow.c (set_block_for_new_insns): Remove needless cast and
4916         properly check for unset block number.
4917
4918 2001-04-10  Andrew MacLeod  <amacleod@redhat.com>
4919
4920         * function.c (purge_single_hard_subreg_set): Only check REGNO if
4921         the subreg was a hard register. Pseudos are left as subregs.
4922
4923 2001-04-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4924
4925         * Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro.
4926         (LIB2ADD_ST): New macro, pass it to mklibgcc.
4927         * mklibgcc.in (libgcc2_st_objs): New variable, set it from LIB2ADD_ST.
4928         (libgcc_st_objs): New, set from libgcc2_st_objs. Use it for libgcc.a.
4929         * config/rs6000/t-ppccomm (LIB2FUNCS_STATIC_EXTRA): New macro.
4930
4931 2001-04-09  Bo Thorsen  <bo@suse.co.uk>
4932
4933         * config/i386/i386.md: "TARGET_64BIT && TARGET_64BIT": Removed one.
4934
4935 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
4936
4937         * output.h (set_block_num): Missed it earlier, remove deprecated
4938         prototype.
4939
4940 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
4941
4942         * gcse.c (oprs_unchanged_p): Pass basic_block to load_killed_in_block_p.
4943         (load_killed_in_block_p): Change bb parameter from int to basic_block.
4944         (oprs_not_set_p): Pass basic_blocks instead of ints as parameters.
4945         (handle_rd_kill_set): Change bb parameter from int to basic_block.
4946         (compute_kill_rd): Pass basic_blocks instead of ints as parameters.
4947         (expr_killed_p): Change bb parameter from int to basic_block, pass
4948         basic_blocks instead of ints as parameters.
4949         (compute_ae_kill): Pass basic_blocks instead of ints as parameters.
4950         (expr_reaches_here_p_work, expr_reaches_here_p): Change bb parameter
4951         from int to basic_block, pass basic_blocks instead of ints as parms.
4952         (pre_expr_reaches_here_p_work, pre_expr_reaches_here_p): Change bb
4953         parameter from int to basic_block, pass basic_blocks instead of ints.
4954         (process_insert_insn): Pass basic_blocks instead of ints as parameters.
4955         (insert_insn_end_bb): Change bb parameter from int to basic_block,
4956         pass basic_blocks instead of ints.
4957         (pre_edge_insert, pre_insert_copy_insn, pre_insert_copies): Pass
4958         basic_blocks instead of ints as parameters.
4959         (pre_delete): Pass basic_blocks instead of ints as parameters.
4960         (hoist_expr_reaches_here_p): Change bb parameter from int to
4961         basic_block, pass basic_blocks instead of ints.
4962         (hoist_code): Pass basic_blocks instead of ints as parameters.
4963         (reg_set_info, store_ops_ok, store_killed_after, store_killed_before):
4964         Change bb parameter from int to basic_block.
4965         (build_store_vectors): Pass basic_blocks instead of ints as parameters.
4966         (insert_insn_start_bb): Change bb parameter from int to basic_block,
4967         pass basic_blocks instead of ints.
4968         (insert_store): Pass basic_blocks instead of ints as parameters.
4969         (replace_store_insn, delete_store): Change bb parameter from int to
4970         basic_block, pass basic_blocks instead of ints.
4971         (store_motion): Pass basic_blocks instead of ints as parameters.
4972
4973 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
4974
4975         * basic-block.h (set_new_block_for_insns): New Prototype.
4976         (set_block_num): Delete prototype.
4977         * flow.c (set_block_num): Remove obsolete function.
4978         (set_block_for_new_insns): Set BB for single or multiple insns.
4979         * gcse.c (handle_avail_expr): Use set_block_for_new_insns.
4980         (process_insn_end_bb): Use set_block_for_new_insns or
4981         set_block_for_insn instead of set_block_num.
4982         (pre_insert_copy_insn): Use set_block_for_new_insns.
4983         (update_ld_motion_stores): Use set_block_for_new_insns.
4984         (insert_insn_start_bb): Use set_block_for_new_insns.
4985         (replace_store_insn): Use set_block_for_new_insns.
4986
4987 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
4988             Jeff Law  <law@redhat.com>
4989
4990         * alias.c (get_addr): Externalize.
4991         (canon_true_dependence): New function. Behaves like true_dependance
4992         except it already assumes a MEM has been canonicalized.
4993         * flags.h (flag_gcse_lm, flag_gcse_sm): New optimization flags.
4994         * gcse.c (struct ls_expr): Add load/store expressions structure.
4995         (modify_mem_list, canon_modify_mem_list): New variable.
4996         (gcse_main): Initialize & finalize alias analysis. Use enhanced
4997         load motion and store motion if requested.
4998         (alloc_gcse_mem): Allocate space for modify_mem_list array.
4999         (free_gcse_mem): Free the modify_mem_list array.
5000         (oprs_unchanged_p): Use load_killed_in_block_p.
5001         (gcse_mems_conflict_p, gcse_mem_operand): New variables.
5002         (mems_conflict_for_gcse_p): New function.  Don't kill loads
5003         with stores to themselves if its in the load/store expression list.
5004         (load_killed_in_block_p): New function.
5005         (canon_list_insert): New Function.
5006         (record_last_mem_set_info): Keep a list of all instructions which
5007         can modify memory for each basic block.
5008         (compute_hash_table, reset_opr_set_tables): Clear modify_mem_list.
5009         (oprs_not_set_p): Use load_killed_in_block_p.
5010         (mark_call, mark_set, mark_clobber): Use record_last_mem_set_info.
5011         (expr_killed_p): Use load_killed_in_block_p.
5012         (compute_transp): Do not pessimize memory references.
5013         (pre_edge_insert): Update stores for a load motion expression.
5014         (one_pre_gcse_pass): Check loads/stores for extra load motion.
5015         (ldst_entry): Find or create a ldst_expr structure.
5016         (free_ldst_entry): Free memory for an individual item.
5017         (free_ldst_mems): Free entire load/store expression list.
5018         (print_ldst_list): Print debug info.
5019         (find_rtx_in_ldst): Try to find an rtx expression in the ldst list.
5020         (enumerate_ldsts): Assign integer values to each entry in list.
5021         (first_ls_expr): First expression in the list.
5022         (next_ls_expr): Next expression in the list.
5023         (simple_mem): Check if expression qualifies for ld/st expression list.
5024         (invalidate_any_buried_refs): Remove from expression list if its
5025         used in some other way we dont understand.
5026         (compute_ld_motion_mems): Find all potential enhanced load motion
5027         expression.
5028         (trim_ld_motion_mems): Remove any expressions which are invalid.
5029         (update_ld_motion_stores): Copy store values to registers for loads
5030         which have been moved.
5031         (regvec, st_antloc, num_store): New global statics.
5032         (reg_set_info): Marks registers as set.
5033         (store_ops_ok): Verfies registers expressions are valid in a block.
5034         (find_moveable_store): Look for moveable stores in a pattern.
5035         (compute_store_table): Find stores in a function worth moving, maybe.
5036         (load_kills_store): Check dependance of a load and store.
5037         (find_loads): Find any loads in a pattern.
5038         (store_killed_in_insn): Check if a store is killed in an insn.
5039         (store_killed_after): Check is store killed after an insn in a block.
5040         (store_killed_before): Check is store killed before an insn in a block.
5041         (build_store_vectors): Generate the antic and avail vectors.
5042         (insert_insn_start_bb): Insert at the start of a BB, update BLOCK_HEAD.
5043         (insert_store): Add a store to an edge.
5044         (replace_store_insn): Replace a store with a SET insn.
5045         (delete_store): Delete a store insn.
5046         (free_store_memory): Free memory.
5047         (store_motion): Perform store motion.
5048         * invoke.texi: Add documentation for -fcse-lm and -fgcse-sm.
5049         * rtl.h (get_addr, canon_true_dependence): Add prototypes.
5050         * toplev.c (flag_gcse_lm, flag_gcse_sm): New Variables.
5051         (f_options): Add gcse-lm and gcse-sm.
5052
5053 Mon Apr  9 16:18:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
5054
5055         * i386.c (expand_fp_movcc): Fix condition reversal code.
5056
5057         * i386.c (ix86_register_move_cost): Fix handling of reformating penalty
5058         * i386.h (INTEGER_CLASS_P, MAYBE_INTEGER_CLASS_P): New.
5059         (CLASS_MAX_NREGS): Use it.
5060
5061         * i386.h (HARD_REGNO_NREGS): Handle properly TF and TCmodes on 64bit;
5062         handle properly complex values.
5063         (CLASS_MAX_NREGS): Likewise; update comment.
5064
5065 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
5066
5067         * ia64.c (ia64_flag_schedule_insns2): New variable.
5068         (ia64_override_options): Initialize it.  Clear
5069         flag_schedule_insns_after_reload.
5070         (ia64_reorg): Only do scheduling if ia64_flag_schedule_insns2.
5071
5072 Mon Apr  9 15:09:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
5073
5074         * i386.md (truncdfsf2_*): Add i387->int/sse reg alternatives;
5075         Do not require source to match destination anymore;
5076         Add abort to the nontrivial cases that should be handled by split.
5077         (fix_trunc?fdi): Add SSE case for x86_64.
5078         (floatdi?f): Likewise.
5079         (floatdi?f_sse): New.
5080         (fix_trunc?fdi_sse): New.
5081
5082 2001-04-09  Richard Sandiford   <rsandifo@redhat.com>
5083
5084         * dwarfout.c (DEBUG_ARANGES_BEGIN_LABEL): New label.
5085         (DEBUG_ARANGES_END_LABEL): Ditto.
5086         (dwarfout_init): Generate length and version fields at the start
5087         of the .debug_aranges info.  Insert DEBUG_ARANGES_BEGIN_LABEL
5088         after the length field.
5089         (dwarfout_finish): Insert DEBUG_ARANGED_END_LABEL at the end of
5090         the .debug_aranges info.
5091
5092 Sun Apr  8 00:43:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
5093
5094         * i386.c (call, call_value): Make sure that resulting call_insn
5095         does have proper second operand.
5096
5097 Sun Apr  8 22:50:49 2001  Christopher Faylor <cgf@cygnus.com>
5098
5099         * config/i386/xm-cygwin.h (GET_ENV_PATH_LIST): Eliminate obsolete
5100         function.  Remove include of sys/cygwin.h.
5101
5102 Sun Apr  8 22:20:27 2001  Christopher Faylor <cgf@cygnus.com>
5103
5104         * config/i386/cygwin.h (STARTFILE_SPEC): search */lib/w32api by default.
5105         (CPP_SPEC): Always search */include/w32api for header files.
5106         (ASM_OUTPUT_SECTION_NAME): Avoid testing NULL DECL.
5107         (LINK_SPEC): Add "cyg" to the library search prefixes.
5108
5109 2001-04-08  Philip Blundell  <philb@gnu.org>
5110
5111         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Use asm_fprintf.
5112
5113 2001-04-08  Neil Booth  <neil@daikokuya.demon.co.uk>
5114
5115         * cpperror.c (print_location): Don't special case <stdin>.
5116         (_cpp_begin_message): Handle WARNING_SYSHDR the same as
5117         WARNING, but we don't check if we're in system headers.
5118         * cpplib.h (enum error_type): WARNING_SYSHDR: New.
5119         * cpplib.c (do_warning): Warn in system headers.
5120
5121 2001-04-07  Mumit Khan <khan@NanoTech.Wisc.EDU>
5122
5123         * mbchar.c: Include config.h first.
5124
5125 2001-04-07  Zack Weinberg  <zackw@stanford.edu>
5126
5127         * config.gcc: Set default for xmake_file at top, not bottom.
5128         Change places that set xmake_file to "none" to set to the
5129         empty string instead, or remove them entirely if there is no
5130         default xmake_file for this cpu_type.  Remove references to
5131         deleted files.
5132
5133         * config/x-lynx, config/convex/x-convex, config/elxsi/x-elxsi,
5134         config/i386/x-isc, config/i386/x-isc3, config/i386/x-ncr3000,
5135         config/i386/x-next, config/i386/x-sco, config/i386/x-sysv3,
5136         config/i386/x-vsta, config/i860/x-sysv4, config/m68k/x-amix,
5137         config/m68k/x-apollo68, config/m68k/x-ccur, config/m68k/x-crds,
5138         config/m68k/x-hp2bsd, config/m68k/x-mot3300, config/m68k/x-mot3300-gas,
5139         config/m68k/x-tower, config/m88k/x-sysv4, config/mips/x-dec-osf1,
5140         config/mips/x-sni-svr4, config/mips/x-ultrix, config/romp/x-mach,
5141         config/romp/x-romp, config/rs6000/x-beos, config/rs6000/x-lynx,
5142         config/rs6000/x-mach, config/rs6000/x-sysv4, config/sparc/x-sysv4:
5143         Delete.
5144
5145         * config/a29k/x-unix, config/i386/x-aix, config/i386/x-osf1elf,
5146         config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
5147         config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
5148         config/mips/x-sysv, config/rs6000/x-aix31:
5149         Just set CLIB to -lld or -lmld, as appropriate.
5150
5151         * config/arm/x-riscix, config/i370/x-oe, config/i386/x-dgux,
5152         config/i386/x-sco4, config/i386/x-sco5, config/m68k/x-hp320,
5153         config/m68k/x-hp320g, config/m68k/x-next, config/m88k/x-dgux,
5154         config/mips/x-iris, config/pa/x-pa:
5155         Just set (some of) FIXPROTO_DEFINES, STMP_FIXPROTO,
5156         OTHER_FIXINCLUDES_DIRS.
5157
5158         * config/i386/x-djgpp: Don't set LN or LN_S.
5159         * config/m88k/x-dolph: Don't define __m88k__.
5160         * config/m88k/x-tekXD88: Don't set AR_FLAGS.
5161         * config/pa/x-pa-mpeix: Just set up quadlib.asm.
5162         * config/i860/fx2800.h: No need to #undef SVR4.
5163
5164         38 x-host fragments remain, 2 x-cpu.
5165
5166 2001-04-07  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5167
5168         * c4x.h (HARD_REGNO_NREGS): HCmode mode uses 2 regs not 4.
5169
5170 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
5171
5172         * cpplib.c (cpp_push_buffer): Give stdin buffers the name <stdin>.
5173
5174 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
5175
5176         * configure.in: Add check for lstat.
5177         * configure, config.in: Regenerate.
5178         * cppinit.c (append_include_chain): Make empty path ".".
5179         * cpplib.c (do_line): Don't simplify #line paths.
5180         * cppfiles.c (remove_component_p): New function.
5181         (find_or_create_entry): Acknowledge stat () errors during
5182         path simplification.
5183         (handle_missing_header): Don't simplify paths.
5184         (_cpp_simplify_pathname): Don't simplify VMS paths.  Return
5185         the empty path untouched.  Don't leave a trailing '/'.
5186
5187 2001-04-06  Benjamin Kosnik  <bkoz@redhat.com>
5188
5189         * cppdefault.c (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
5190         * Makefile.in (-DGPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
5191
5192 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
5193
5194         * cppfiles.c (open_file): Fail directories silently, but
5195         with an errno of NOENT set.
5196         (read_include_file): Move the common exit code to the sole
5197         caller.  Return an int indicating success or failure.  Let
5198         open_file handle directories.
5199         (stack_include_file): If read_include_file fails,
5200         push a "null" buffer.
5201
5202 2001-04-05  DJ Delorie  <dj@redhat.com>
5203
5204         * function.h (virtuals_instantiated): Declare.
5205         * function.c: (virtuals_instantiated): Make global.
5206         * calls.c (emit_library_call_value_1): Use
5207         virtual_outgoing_args_rtx only if it hasn't been instantiated.
5208         Otherwise, use the stack pointer directly.
5209
5210 Thu Apr  5 19:13:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
5211
5212         * i386.c (x86_initialize_trampoline): New global function.
5213         * i386.h (TRAMPOLINE_SIZE): Size is 23 for x86_64.
5214         (INITIALIZE_TRAMPOLINE): Move offline.
5215         * i386-protos.h (x86_initialize_trampoline): Declare.
5216
5217 Thu Apr  5 19:02:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
5218
5219         * i386.md (movdi_1_rex64): Allow SSE->SSE reg move.
5220         (lea_0): Rename to lea_1.
5221         (lea_1_zext, lea_1_rex64, lea_2_rex64): New patterns.
5222         (lea_general_?): Allow SImodes on TARGET_64BIT
5223         (lea_general_?_zext): New patterns.
5224         (call_1, call_1_rex64): Fix.
5225
5226 Thu Apr  5 19:00:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
5227
5228         * i386.c (ix86_split_long_move): Use PUT_MODE instead of change_address.
5229
5230 Thu Apr  5 18:25:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
5231
5232         * i386.c (function_arg): Return constm1_rtx for last argument.
5233         (ix86_expand_prologue): Update gen_call calls.
5234         * i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
5235         * i386.md (call_pop): Likewise.
5236         (call): Second operand is VOIDmode.
5237         (call_0): Likewise; Support 64bits.
5238         (call_exp): New expander.
5239         (call_1): Get to the sync.
5240         (call_1_exp): New pattern.
5241         (call_value): Support 64bit.
5242         (call_value_exp): New pattern.
5243         (untyped_call): Update gen_call call.
5244         (call_value_pop): Disable for 64bit.
5245         (call_value_0_rex64): New pattern.
5246         (call_value_1_rex64): Likewise.
5247
5248 2001-04-05  Bo Thorsen  <bo@suse.de>
5249
5250         * i386.md: Don't allow "builtin_setjmp_receiver" for TARGET_64BIT.
5251
5252 Thu Apr  5 13:44:17 2001  J"orn Rennecke <amylaar@redhat.com>
5253
5254         * i386.md (*andsi_1+3): If used after reload, make sure the operand
5255         satisfies ANY_QI_REG_P.
5256
5257 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
5258
5259         * config/ia64/ia64.c (rtx_needs_barrier): A PARALLEL can contain
5260         ASM_OPERAND.
5261
5262         * sched-deps.c (sched_analyze_insn): Revert more of the March 27
5263         change.
5264
5265 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
5266
5267         * config.gcc: Remove default for xm_file.  Clean up local
5268         machine type handling.  Remove settings of xm_file to
5269         something that doesn't exist.  In the big switch, set xm_file,
5270         don't append to it (the value before the big switch is always
5271         null).  Don't force build_xm_file or host_xm_file to have a value.
5272         * configure.in: Remove default for xm_file.  Do not special
5273         case $cpu/xm-$cpu.h not existing.
5274         * configure: Regenerate.
5275
5276 2001-04-04  Diego Novillo  <dnovillo@redhat.com>
5277
5278         * simplify-rtx.c (simplify_binary_operation): Check for overflow
5279         when folding integer division and modulo operations.
5280
5281 2001-04-04  Andrew MacLeod  <amacleod@redhat.com>
5282
5283         * dwarf2out.c (output_cfi): Add 'for_eh' parameter, use PTR_SIZE
5284         instead of DWARF2_ADDR_SIZE for EH addresses.
5285         (output_call_frame_info): Use PTR_SIZE instead of DWARF2_ADDR_SIZE for
5286         EH addresses.
5287
5288 2001-04-04  Richard Henderson  <rth@redhat.com>
5289
5290         * config/ia64/ia64.h (IA64_UNWIND_INFO): Disable.
5291         * config/ia64/t-glibc (LIB2ADDEH): Disable.
5292         * config/ia64/t-ia64 (LIB2ADDEH): Disable.
5293
5294 2001-04-04  Richard Henderson  <rth@redhat.com>
5295
5296         * configure.in (gcc_cv_as_leb128): Escape "." in regexp.
5297         * configure: Rebuilt.
5298
5299 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
5300
5301         * gcse.c (delete_null_pointer_checks_1): Add delete_list argument,
5302         push insns to delete to it instead of deleting them.
5303         (delete_null_pointer_checks): Delete insns from delete_list after
5304         all delete_null_pointer_checks_1 passes are done.
5305
5306 2001-04-04  Richard Henderson  <rth@redhat.com>
5307
5308         * configure.in (gcc_cv_as_leb128): Tweek minor number extraction.
5309         * configure: Rebuilt.
5310
5311 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
5312
5313         * expr.h: Remove #ifdef FUNCTION_CONVERSION_BUG logic.
5314         * config/romp/xm-romp.h: Delete.
5315
5316 2001-04-04  Bernd Schmidt  <bernds@redhat.com>
5317
5318         * sched-deps.c (sched_analyze_insn): Partially revert March 27
5319         change.
5320
5321 2001-04-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5322
5323         * emit-rtl.c (mark_label_nuses) Increment the label uses for
5324         all labels present in rtx.
5325         (try_split) Call new function for all split insns.
5326
5327 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
5328
5329         * recog.c (validate_replace_rtx_1): Instead of aborting just make
5330         sure the change won't be validated.
5331
5332 Wed Apr  4 00:45:38 EDT 2001  John Wehle  (john@feith.com)
5333
5334         * rtl.h (set_noop_p): Declare.
5335         * flow.c (set_noop_p): Move from here ...
5336         * rtlanal.c (set_noop_p): ... to here and enhance.
5337         * cse.c (delete_trivially_dead_insns): Use it.
5338         * gcse.c (hash_scan_set): Likewise.
5339         * jump.c (delete_noop_moves): Likewise.
5340         * recog.c (split_all_insns): Likewise.
5341
5342 2001-04-04  Alan Modra  <alan@linuxcare.com.au>
5343
5344         * dwarf2out.c (dwarf2out_frame_debug_expr): Support adjusting
5345         stack pointer via a LO_SUM.  Ditto for setting a temp register
5346         used to save to the stack.  Set cfa_temp when setting fp, and
5347         allow matches to cfa_temp in addition to cfa_store when saving
5348         regs.  Handle POST_INC and LO_SUM register stores.  Document the
5349         changes and errors in rule 12 doco.
5350
5351         * pa.c (set_reg_plus_d, store_reg, load_reg): Return last insn.
5352         (actual_fsize, local_fsize, save_fregs): Move for store_reg to see.
5353         (load_reg): Move closer to epilogue code.
5354         (DO_FRAME_NOTES): Define to control the following..
5355         (FRP): Define to set RTX_FRAME_RELATED_P on insns.
5356         (hppa_expand_prologue): Use FRP and REG_FRAME_RELATED_EXPR
5357         notes as necessary.
5358         (hppa_expand_epilogue): Likewise.
5359
5360 2001-04-03  Richard Henderson  <rth@redhat.com>
5361
5362         * configure.in (gcc_cv_as_leb128): Reject gas before 2.11.
5363         * configure: Rebuild.
5364
5365 2001-04-03  Richard Henderson  <rth@redhat.com>
5366
5367         * rtl.h (LCT_THROW): New.
5368         * calls.c (emit_library_call_value_1): Handle it.
5369         * except.c (connect_post_landing_pads): Use it.
5370
5371 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
5372
5373         * gansidecl.h: Delete file.
5374         * configure.in: Change all refs to gansidecl.h to use
5375         ansidecl.h.  Adjust *_file_list so they know where ansidecl.h
5376         lives.
5377         * configure: Regenerate.
5378
5379         * Makefile.in (intl.o): Don't depend on gansidecl.h.
5380         * defaults.h: s/gansidecl.h/ansidecl.h/ in comment.
5381         * ggc.h, config/fr30/fr30.h, config/mcore/mcore.c:
5382         Don't include gansidecl.h.
5383         * intl.c, main.c, version.c, fixinc/fixlib.h,
5384         fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not
5385         gansidecl.h.
5386
5387 Tue Apr  3 19:41:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
5388
5389         * i386.c (ix86_force_to_memory, ix86_free_from_memory):
5390         Update for 64bit.
5391
5392 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
5393
5394         * config/i386/xm-beos.h, config/i386/xm-isc.h,
5395         config/i386/xm-next.h, config/i386/xm-sco.h,
5396         config/i386/xm-sco5.h, config/m68k/xm-plexus.h,
5397         config/m88k/xm-m88k.h: Delete.
5398
5399         * config/i386/xm-djgpp.h: Don't define __MSDOS__.
5400         * config/romp/xm-romp.h: Don't define bcopy.
5401         * config/rs6000/xm-beos.h: Don't define bcopy, HAVE_VPRINTF,
5402         HAVE_PUTENV, HAVE_RENAME, or USE_C_ALLOCA.
5403
5404         * config.gcc: Remove references to deleted files.
5405
5406         14 xm-host.h remain, 1 xm-cpu.h.
5407
5408 2001-04-03  Jakub Jelinek  <jakub@redhat.com>
5409             David S. Miller  <davem@pierdol.cobaltmicro.com>
5410             Andrew MacLeod  <amacleod@redhat.com>
5411
5412         Use byte offsets in SUBREGs instead of words.
5413
5414         * alias.c (nonlocal_mentioned_p): Use subreg_regno function.
5415         * caller-save.c (mark_set_regs): Change callers of subreg_hard_regno
5416         to pass new argument.
5417         (add_stored_regs): Use subreg_regno_offset function.
5418         * calls.c (expand_call): For non-paradoxical SUBREG take endianess
5419         into account.
5420         (precompute_arguments): Use gen_lowpart_SUBREG.
5421         * combine.c (try_combine): Replace explicit XEXP with SUBREG_REG.
5422         (combine_simplify_rtx): Rework to use SUBREG_BYTE.
5423         (simplify_set): Rework to use SUBREG_BYTE.
5424         (expand_field_assignment): Use SUBREG_BYTE.
5425         (make_extraction): Use SUBREG_BYTE.
5426         (if_then_else_cond): Use SUBREG_BYTE.
5427         (apply_distributive_law): Use SUBREG_BYTE and fixup subreg comments.
5428         (gen_lowpart_for_combine): Compute full byte offset.
5429         * cse.c (mention_regs): Use SUBREG_BYTE.
5430         (remove_invalid_subreg_refs): Rework to use SUBREG_BYTE.
5431         (canon_hash): Use SUBREG_BYTE.
5432         (fold_rtx): Pass SUBREG_BYTE div UNITS_PER_WORD to operand_subword.
5433         (gen_lowpart_if_possible): Formatting.
5434         * dbxout.c (dbxout_symbol_location): Compute SUBREG hard regnos
5435         correctly.
5436         * dwarf2out.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
5437         (mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
5438         (loc_descriptor): Fixup explicit XEXP into SUBREG_REG
5439         * dwarfout.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
5440         (output_mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
5441         (output_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
5442         * emit-rtl.c (gen_rtx_SUBREG): New function, used to verify
5443         certain invariants about SUBREGs the compiler creates.
5444         (gen_lowpart_SUBREG): New function.
5445         (subreg_hard_regno): New function to get the final register number.
5446         (gen_lowpart_common): Use SUBREG_BYTE.
5447         (gen_imagpart): Spacing nits.
5448         (subreg_realpart_p): Use SUBREG_BYTE.
5449         (gen_highpart): Use SUBREG_BYTE.
5450         (subreg_lowpart_p): Always compute endian corrected goal offset,
5451         even at the byte level, then compare against that.
5452         (constant_subword): New function, pulled out all constant cases
5453         from operand_subword and changed second argument name to offset.
5454         (operand_subword): Detect non REG/SUBREG/CONCAT/MEM cases early
5455         and call constant_subword to do the work.  Return const0_rtx if
5456         looking for a word outside of OP.
5457         (operand_subword_force): Change second arg name to offset.
5458         * expmed.c (store_bit_field): Use SUBREG_BYTE.
5459         (store_split_bit_field): Use SUBREG_BYTE.
5460         (extract_bit_field): Use SUBREG_BYTE.
5461         (extract_split_bit_field): Use SUBREG_BYTE.
5462         (expand_shift): Use SUBREG_BYTE.
5463         * expr.c (store_expr, expand_expr): Use gen_lowpart_SUBREG.
5464         * final.c (alter_subreg) Use subreg_hard_regno and SUBREG_BYTE.
5465         * flow.c (set_noop_p): Use SUBREG_BYTE.
5466         (mark_set_1): Remove ALTER_HARD_SUBREG. Use subreg_regno_offset instead.
5467         * function.c (fixup_var_refs_1): Fixup explicit XEXP into a SUBREG_REG.
5468         (fixup_memory_subreg): Use SUBREG_BYTE and remove byte endian
5469         correction code.
5470         (optimize_bit_field): Use SUBREG_BYTE.
5471         (purge_addressof_1): Use SUBREG_BYTE.
5472         (purge_single_hard_subreg_set): Use subreg_regno_offset function.
5473         (assign_params): Mark arguments SUBREG_PROMOTED_VAR_P if they are
5474         actually promoted by the caller and PROMOTE_FOR_CALLS_ONLY is true.
5475         * gengenrtl.c (special_rtx): Add SUBREG.
5476         * global.c (mark_reg_store): Use SUBREG_BYTE.
5477         (set_preference): Rework to use subreg_regno_offset and SUBREG_BYTE.
5478         * ifcvt (noce_emit_move_insn): Use SUBREG_BYTE.
5479         * integrate.c (copy_rtx_and_substitute): Use SUBREG_BYTE and make sure
5480         final byte offset is congruent to subreg's mode size.
5481         (subst_constants): Use SUBREG_BYTE.
5482         (mark_stores): Use subreg_regno_offset function.
5483         * jump.c (rtx_renumbered_equal_p, true_regnum): Use subreg_regno_offset
5484         function and SUBREG_BYTE.
5485         * local-alloc.c (combine_regs): Use subreg_regno_offset function.
5486         (reg_is_born): Use subreg_hard_regno.
5487         * recog.c (valid_replace_rtx_1): Use SUBREG_BYTE and remove byte
5488         endian correction code.  Don't combine subregs unless resulting
5489         offset aligns with type.  Fix subreg constant extraction for DImode.
5490         Simplify SUBREG of VOIDmode CONST_DOUBLE.
5491         (general_operand): Remove dead mode_altering_drug code.
5492         (indirect_operand): Use SUBREG_BYTE.
5493         (constrain_operands): Use subreg_regno_offset function.
5494         * reg-stack.c (get_true_reg): Use subreg_regno_offset function.
5495         * regmove.c (regmove_optimize): Use SUBREG_BYTE.
5496         (optimize_reg_copy_3): Use gen_lowpart_SUBREG.
5497         * regs.h (REG_SIZE): Allow target to override.
5498         (REGMODE_NATURAL_SIZE): New macro which target can override.
5499         * reload.c (reload_inner_reg_of_subreg): subreg_regno should be used
5500         on the entire subreg rtx.
5501         (push_reload): Use SUBREG_BYTE in comments and code.
5502         (find_dummy_reload): Use subreg_regno_offset.  Only adjust offsets
5503         for hard registers inside subregs.
5504         (operands_match_p): Use subreg_regno_offset.
5505         (find_reloads): Use SUBREG_BYTE and only advance offset for subregs
5506         containing hard regs.
5507         (find_reload_toplev): Use SUBREG_BYTE.  Remove byte endian
5508         corrections when fixing up MEM subregs.
5509         (find_reloads_address_1): Use SUBREG_BYTE, subreg_regno, and
5510         subreg_regno_offset where appropriate.
5511         (find_reloads_subreg_address): Use SUBREG_BYTE.  Remove
5512         byte endian corrections when fixing up MEM subregs.
5513         (subst_reloads): When combining two subregs, make sure final
5514         offset is congruent to subreg's mode size.
5515         (find_replacement): Use SUBREG_BYTE and subreg_regno_offset.
5516         (refers_to_regno_for_reload_p): Use subreg_regno.
5517         (reg_overlap_mentioned_for_reload_p): Use subreg_regno_offset.
5518         * reload1.c (eliminate_regs) Use SUBREG_BYTE. Remove byte endian
5519         correction code for memory subreg fixups.
5520         (forget_old_reload_1): Use subreg_regno_offset.
5521         (choose_reload_regs): Use subreg_regno.
5522         (emit_input_reload_insns): Use SUBREG_BYTE.
5523         (reload_combine_note_store): Use subreg_regno_offset.
5524         (move2add_note_store): Use subreg_regno_offset.
5525         * resource.c (update_live_status, mark_referenced_resources): Use
5526         subreg_regno function.
5527         (mark_set_resources): Use subreg_regno function.
5528         * rtl.h (SUBREG_WORD): Rename to SUBREG_BYTE.
5529         (subreg_regno_offset, subreg_regno): Define prototypes.
5530         (subreg_hard_regno, constant_subword, gen_rtx_SUBREG): Newi functions.
5531         (gen_lowpart_SUBREG): Add prototype.
5532         * rtl.texi (subreg): Update to reflect new byte offset representation.
5533         Add mentioning of the effect that BYTES_BIG_ENDIAN has on subregs now.
5534         * rtlanal.c (refers_to_regno_p): Use subreg_regno.
5535         (reg_overlap_mentioned_p): Use subreg_regno.
5536         (replace_regs); Make sure final offset of combined subreg is
5537         congruent to size of subreg's mode.
5538         (subreg_regno_offset): New function.
5539         (subreg_regno): New function.
5540         * sched-vis.c (print_value): Change SUBREG_WORD to SUBREG_BYTE.
5541         * sdbout.c (sdbout_symbol): Compute offset using alter_subreg.
5542         * stmt.c (expand_anon_union_decl): Use gen_lowpart_SUBREG.
5543         * tm.texi (ALTER_HARD_SUBREG): Remove, it is now dead.
5544         (SUBREG_REGNO_OFFSET): Describe SUBREG_REGNO_OFFSET overrides.
5545         * config/a29k/a29k.c (gpc_reg_operand): Use subreg_regno.
5546         (a29k_get_reloaded_address): Use SUBREG_BYTE.
5547         (print_operand): Use SUBREG_BYTE.
5548         * config/alpha/alpha.c (print_operand_address): Use SUBREG_BYTE.
5549         * config/arm/arm.c (arm_reload_in_hi): Use SUBREG_BYTE.
5550         (arm_reload_out_hi): Use SUBREG_BYTE.
5551         * config/d30v/d30v.c (d30v_split_double): Use subreg_regno_offset
5552         instead of SUBREG_WORD.
5553         (d30v_print_operand_memory_reference): Use subreg_regno_offset.
5554         * config/dsp16xx/dsp16xx.md (extendqihi2, zero_extendqihi2): Fix
5555         SUBREG creation to use byte offset.
5556         * config/h8300/h8300.md (Unnamed HImode zero extraction and 16bit
5557         inverted load insns): Fix explicit rtl subregs to use byte
5558         offsets.
5559         * config/i370/i370.md (cmpstrsi, movstrsi, mulsi3, divsi3,
5560         udivsi3, umodsi3): Generate SUBREGs with byte offsets.
5561         * config/i860/i860.c (single_insn_src_p): Use SUBREG_BYTE.
5562         * config/i860/i860.md (mulsi3_big): Fixup explicit SUBREGs in rtl
5563         to use byte offsets.
5564         (unnamed fmlow.dd insn): Fixup SUBREGS to use byte offsets.
5565         * config/i960/i960.md (extendhisi2): Generate SUBREGs with byte
5566         offsets, also make sure it is congruent to SUBREG's mode size.
5567         (extendqisi2, extendqihi2, zero_extendhisi2, zero_extendqisi2,
5568         unnamed ldob insn): Generate SUBREGs with byte offset.
5569         (zero_extendqihi2): SUBREG's are byte offsets.
5570         * config/m68hc11/m68hc11.c (m68hc11_gen_lowpart): Use SUBREG_BYTE.
5571         (m68hc11_gen_highpart): Use SUBREG_BYTE.
5572         * config/m68k/m68k.md (zero_extendhisi2, zero_extendqihi2,
5573         zero-extendqisi2): Generate SUBREGs with byte offset.
5574         (umulsidi3, mulsidi3, subreghi1ashrdi_const32,
5575         subregsi1ashrdi_const32, subreg1lshrdi_const32): Fixup explicit
5576         subregs in rtl to use byte offsets.
5577         * config/m88k/m88k.md (extendsidi2): fixup subregs to use byte offset.
5578         * config/mips/mips.c (mips_move_1word): Use subreg_regno_offset.
5579         (mips_move_2words): Use subreg_regno_offset.
5580         (mips_secondary_reload_class): Use subreg_regno_offset.
5581         * config/mips/mips.md (DImode plus, minus, move, and logical op
5582         splits): Fixup explicit subregs in rtl to use byte offsets.
5583         * config/mn10200/mn10200.c (print_operand): Use subreg_regno function.
5584         * config/mn10300/mn10300.c (print_operand): Use subreg_regno function.
5585         * config/ns32k/ns32k.md (udivmoddisi4): Fix explicit subregs in
5586         rtl to use byte offsets.
5587         * config/pa/pa.c (emit_move_sequence): Use SUBREG_BYTE.
5588         * config/pa/pa.md (floatunssisf2, floatunssidf2, mulsi3): fix explicit
5589         subregs to use byte offsets.
5590         * config/pdp11/pdp11.md (zero_extendhisi2, modhi3, modhi3+1):
5591         Fixup explicit subregs in rtl to use byte offsets.
5592         * config/romp/romp.c (memory_offset_in_range_p): Use SUBREG_BYTE
5593         and remove byte endian correction code.
5594         * config/sh/sh.c (output_movedouble): Use subreg_regno.
5595         (gen_ashift_hi): Use SUBREG_BYTE.
5596         (regs_used): Use subreg_regno_offset.
5597         (machine_dependent_reorg): Use subreg_regno_offset.
5598         * config/sh/sh.h (INDEX_REGISTER_RTX_P): Use SUBREG_BYTE.
5599         * config/sh/sh.md (DImode and DFmode move splits): Use subreg_regno.
5600         (movdf_i4): Subregs are byte offsets now.
5601         * config/sparc/sparc.c (ultra_find_type): Use SUBREG_BYTE.
5602         * config/sparc/sparc.h (ALTER_HARD_SUBREG): Removed.
5603         (REGMODE_NATURAL_SIZE): Override.
5604         (REG_SIZE): For SUBREG check float mode on SUBREG_REG's mode.
5605         * config/sparc/sparc.md (TFmode move splits): Generate SUBREGs
5606         with byte offsets.
5607         (zero_extendhisi2, zero_extendqidi2_insn, extendhisi2,
5608         extendqihi2, sign_extendqihi2_insn, sign_extendqisi2_insn,
5609         extendqidi2): Generate SUBREGs with byte offsets, also make sure
5610         it is congruent to SUBREG's mode size.
5611         (smulsi3_highpart_v8plus): Fix explicit subregs in rtl to use byte
5612         offsets.
5613         (cmp_siqi_trunc, cmp_siqi_trunc_set, cmp_diqi_trunc,
5614         cmp_diqi_trunc_set, lshrdi3_v8plus+1, lshrdi3_v8plus+2,
5615         lshrdi3_v8plus+3, lshrdi3_v8plus+4): Use proper
5616         SUBREG_BYTE offset for non-paradoxical subregs in patterns.
5617         * config/v850/v850.c (print_operand, output_move_double): Use
5618         subreg_regno function.
5619
5620 2001-04-03  Alexandre Oliva  <aoliva@redhat.com>
5621
5622         * configure.in (target_subdir): Use target_alias, not target.
5623         * configure: Rebuilt.
5624
5625         * config/sh/crtn.asm (init, fini): Restore r15 from r14, not the
5626         other way round.
5627         * config/sh/crti.asm: Fix typos in comments.
5628
5629 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
5630
5631         * pa.h: Revise comments for TARGET_NO_SPACE_REGS and
5632         TARGET_FAST_INDIRECT_CALLS.
5633         * pa.c (override_options): TARGET_NO_SPACE_REGS is now OK with
5634         -fPIC.  Don't warn.
5635         (return_addr_rtx): Short circuit export stub matching when
5636         TARGET_NO_SPACE_REGS.
5637         (output_millicode_call): For out of range calls, make -fPIC
5638         take precedence, then TARGET_PORTABLE_RUNTIME, then ble.  Don't
5639         return before delay slot checks when TARGET_PORTABLE_RUNTIME.
5640         * pa.md: Modify length attr calculation of all millicode insns to
5641         match above.
5642
5643 2001-04-02  Geoffrey Keating  <geoffk@redhat.com>
5644
5645         * configure.in (gcc_cv_as_leb128): Correct name of cache variable.
5646         Require at least 2.11 in the version test.  Specifically check
5647         for and reject GAS version 2.10.90.
5648         * configure: regenerate.
5649
5650 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
5651
5652         * pa.c (override_options): Remove PIC profiling warning.
5653         (hp_profile_labelno): Delete.
5654         (hp_profile_label_rtx): Delete.
5655         (hp_profile_label_name): Delete.
5656         (pa_add_gc_roots): Remove reference to hp_profile_label_rtx.
5657         (output_function_prologue): Remove profiling code and all tests on
5658         profile_flag.  Move store of PIC_OFFSET_TABLE_REGNUM now that
5659         merge_sp_adjust_with_store can work for PIC and profiling.
5660         (hppa_expand_epilogue): Remove profile_flag test.
5661         (hppa_can_use_return_insn_p): Likewise.
5662         (hppa_init_pic_save): Emit before tail_recursion_reentry, and
5663         cater for PROFILE_HOOK.
5664         (hppa_profile_hook): New function.
5665         * pa.h (FUNCTION_PROFILER): Now does nothing.
5666         (PROFILE_HOOK): Define.
5667         (hppa_profile_hook): Declare.
5668         (PROFILE_BEFORE_PROLOGUE): Delete.
5669         (ASM_OUTPUT_REG_PUSH): Delete.
5670         (ASM_OUTPUT_REG_POP): Delete.
5671         * pa.md (call_profiler): Turn it into a call insn, and don't `use'
5672         r24.  Accept function name operand, and use this and a locally
5673         generated label to calculate pc-rel offset to func start.
5674
5675 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5676
5677         * $(HOST_PREFIX_1)errors.o, $(HOST_PREFIX_1)ggc-none.o,
5678         ggc-common.o, ggc-simple.o, ggc-page.o, ggc-none.o: Depend on
5679         $(SYSTEM_H).
5680
5681 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
5682
5683         * dwarf2out.c (dwarf2out_frame_debug_expr): Move errant HIGH and
5684         LO_SUM cases to where they belong.
5685
5686 2001-04-02  Richard Henderson  <rth@redhat.com>
5687
5688         * except.h (lang_eh_type_covers): Mark extern.
5689         (lang_eh_runtime_type): Likewise.
5690
5691 2001-04-02  Zack Weinberg  <zackw@stanford.edu>
5692
5693         * genattr.c, gencheck.c, gencodes.c, genconfig.c, genflags.c,
5694         gengenrtl.c:  Wrap generated header in multiple-include guard.
5695         Improve error checking.
5696
5697 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5698
5699         * configure.in: Don't check for putenv.
5700         * configure: Regenerate.
5701         * gcc.c (putenv): Don't define.
5702         * vax/xm-vms.h: Handle putenv.
5703
5704 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
5705
5706         * ifcvt.c (noce_emit_move_insn): New.
5707         (noce_try_store_flag, noce_try_store_flag_constants,
5708         noce_try_store_flag_inc, noce_try_store_flag_mask,
5709         noce_try_cmove, noce_try_cmove_arith, noce_try_minmax,
5710         noce_try_abs): Use it.
5711         (noce_process_if_block): Likewise.
5712         For STRICT_LOW_PART, take mode from its SUBREG.
5713
5714 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
5715
5716         * fold-const.c (fold): Before optimizing unsigned comparison with
5717         0x7fffffffU, make sure arg0 is integral type.
5718
5719 2001-04-02  Joseph S. Myers  <jsm28@cam.ac.uk>
5720
5721         * c-tree.texi: Document representation of wide strings.
5722
5723 2001-04-01  Richard Henderson  <rth@redhat.com>
5724
5725         * except.h (expand_builtin_dwarf_fp_regnum): Declare.
5726
5727 Sun Apr  1 11:49:05 CEST 2001  Jan Hubicka  <jH@suse.cz>
5728
5729         * i386.md: remove obsoleted comments.
5730         (adddi_?): Rename to adddi_?_rex64; disable for 32bit.
5731         (x86_movsicc_0_m1_rex64): Rename to x86_movdicc_0_m1_rex64;
5732         fix output template.
5733
5734 2001-03-31  Marek Michalkiewicz  <marekm@linux.org.pl>
5735
5736         * config/avr/libgcc.S (__mulhi3): Optimize previous change.
5737
5738 2001-03-30  Bernd Schmidt  <bernds@redhat.com>
5739
5740         * loop.c (load_mems): When generating a load from a pseudo, update
5741         REGNO_LAST_UID.
5742
5743 Fri Mar 30 17:36:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
5744
5745         * i386.c (ix86_split_long_move): Use change address to compensate
5746         stack pointer change in push instruction.
5747
5748 Fri Mar 30 00:31:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
5749
5750         * i386.md (sse_movdfcc_eq): Fix constraint (sse_mov?fcc splitter): Use operands_match_p
5751         instead of rtx_equal_p; fix the output template.
5752
5753 Fri Mar 30 00:21:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
5754
5755         * i386.c (ix86_expand_setcc): Support 64bit.
5756         (ix86_expand_int_movcc): Likewise.
5757         * i386.md (movdicc_rex64, x86_movsicc_0_m1_rex64, movdicc_c_rex64):
5758         New patterns.
5759
5760         * i386.md (allocate_stack_worker): Turn to expander.
5761         (allocate_stack_worker_1, allocate_stack_worker_rex64): New insns.
5762
5763         * i386.c (print_reg): Do not print x86_64 style regs on IA-32
5764
5765 2001-03-29  Richard Henderson  <rth@redhat.com>
5766
5767         * libgcc2.c [L__main]: Include unwind-dw2-fde.h instead of frame.h.
5768
5769 2001-03-28  Matthew Hiller  <hiller@redhat.com>
5770
5771         * config/mn10300/mn10300.md (cmpsi): Fix first alternative's
5772         output template.
5773
5774         * MAINTAINERS: Added self.
5775
5776 2001-03-28  Richard Henderson  <rth@redhat.com>
5777
5778         * Makefile.in (cs-tconfig.h): Depend on CONFIG_H, not GCONFIG_H.
5779         Use ALL_CFLAGS not HOST_CFLAGS for sjlj detection.
5780
5781 2001-03-28  Jim Wilson  <wilson@redhat.com>
5782
5783         * config/ia64/ia64.md (movtf): Change DImode to TFmode in calls to
5784         operand_subword.
5785
5786 2001-03-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5787
5788         * toplev.h (fatal_error): Add ATTRIBUTE_NORETURN.
5789
5790         * tradcif.y (yyerror): Likewise.  Add format specifier in call to
5791         `error'.
5792
5793         * tradcpp.c (macroexpand): Likewise for call to `error_with_line'.
5794
5795 2001-03-28  DJ Delorie  <dj@redhat.com>
5796
5797         * Makefile.in (stage1_build): Revert CFLAGS patch.
5798
5799 2001-03-28  Marek Michalkiewicz  <marekm@linux.org.pl>
5800
5801         * config/avr/libgcc.S (__mulhi3): Correct tests to exit the loop
5802         when multiplier or multiplicand is zero.
5803
5804 2001-03-28  Bernd Schmidt  <bernds@redhat.com>
5805
5806         * cselib.c (hash_rtx): Don't do tail recursion elimination by hand.
5807
5808         * config/ia64/ia64.c (update_set_flags): New function, broken out of
5809         rtx_needs_barrier.
5810         (set_src_needs_barrier): Likewise.
5811         (rtx_needs_barrier): For SET case, use these two functions.  Rework
5812         PARALLEL case to handle all inputs before all outputs.
5813         (emit_insn_group_barriers): Call init_insn_group_barriers only if we
5814         saw a label and no stop bit since then.
5815         (maybe_rotate, process_epilogue): Add prototypes.
5816
5817 2001-03-28  Richard Henderson  <rth@redhat.com>
5818
5819         * config/rs6000/rs6000.h (EPILOGUE_USES): Use TARGET_AIX,
5820         not TARGET_TOC for special toc restore handling.
5821         * config/rs6000/rs6000.md (eh_return): Likewise.
5822
5823 2001-03-28  Richard Henderson  <rth@redhat.com>
5824
5825         * config/sparc/sparc.c (eligible_for_epilogue_delay): False if
5826         current_function_calls_eh_return.
5827         (output_function_epilogue): Handle eh_return.
5828         * config/sparc/sparc.h (DOESNT_NEED_UNWINDER): Remove.
5829         (EH_RETURN_DATA_REGNO): New.
5830         (EH_RETURN_STACKADJ_RTX): New.
5831         (EH_RETURN_HANDLER_RTX): New.
5832         * config/sparc/sparc.md (call/short branch peepholes): Check
5833         can_throw_internal instead of in_same_eh_region.
5834
5835         * config/rs6000/rs6000.c (rs6000_stack_info): Allocate space
5836         for eh_return data registers.
5837         (rs6000_emit_prologue): Save eh_return data registers.
5838         (rs6000_emit_epilogue): Force inline restores if eh_return.
5839         Restore eh_return data registers.  Mind EH_RETURN_STACKADJ_RTX.
5840         * config/rs6000/rs6000.h (rs6000_stack_t): Add ehrd_offset.
5841         (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX): New.
5842         (EPILOGUE_USES): True for TOC_REGISTER if calls_eh_return and
5843         the target uses one.
5844         * config/rs6000/rs6000.md (eh_epilogue, eh_reg_restore): Remove.
5845         (return_eh_si, return_eh_di): Remove.
5846         (eh_return): New, from corpse of eh_epilogue.
5847         (eh_set_lr_si, eh_set_lr_di): New.
5848
5849         * config/i386/i386.c (general_no_elim_operand): Disallow virtual regs.
5850         (ix86_save_reg): If maybe_eh_return, true for EH_RETURN_DATA_REGNOs.
5851         True for pic register if current_function_calls_eh_return.
5852         (ix86_expand_epilogue): Change "emit_return" argument into "style".
5853         Handle eh_return requirements.
5854         * config/i386/i386.h (EH_RETURN_DATA_REGNO): New.
5855         (EH_RETURN_STACKADJ_RTX): New.
5856         * config/i386/i386.md (exception_receiver): Remove.
5857         (eh_return, eh_return_1): New.
5858         * config/i386/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
5859
5860         * config/alpha/alpha.c (alpha_sa_mask): Add EH_RETURN_DATA_REGNOs.
5861         (alpha_mark_machine_status): No eh_epilogue_sp_ofs ...
5862         (alpha_expand_epilogue): ... use EH_RETURN_STACKADJ_RTX instead.
5863         * config/alpha/alpha.h (machine_function): Remove eh_epilogue_sp_ofs.
5864         (EH_RETURN_DATA_REGNO): New.
5865         (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): New.
5866         * config/alpha/alpha.md (eh_epilogue): Remove.
5867         (exception_receiver): Use $26 for ldgp input.
5868         * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
5869
5870 2001-03-28  Richard Henderson  <rth@redhat.com>
5871
5872         * except.c: Rewrite entirely for IA-64 ABI exception handling.
5873         * except.h: Likewise.
5874
5875         * Makefile.in (LIB2ADDEH): Mention unwind-dw2*.c
5876         (LIB2ADDEHDEP): New.
5877         (LIB2FUNCS_EH): Remove.
5878         (LIB2ADD): Remove LIB2ADDEH.
5879         (libgcc.mk): Pass LIB2ADDEHDEP, don't pass LIB2FUNCS_EH.
5880         (LIBGCC_DEPS): Use LIB2ADDEHDEP.
5881         (crt{begin,end}[S].o): Likewise.
5882         (except.o): Update includes.
5883         * mklibgcc.in: Remove LIB2FUNCS_EH, add LIB2ADDEH, LIB2ADDEHDEP.
5884         (libgcc2_c_dep): Use LIB2ADDEHDEP.
5885
5886         * basic-block.h (struct basic_block_def): Remove eh_beg, eh_end.
5887         * bb-reorder.c (reorder_basic_blocks): Don't disable for EH.
5888         * builtins.def (BUILT_IN_EH_RETURN_DATA_REGNO): New.
5889         * builtins.c (expand_builtin): Implement it.
5890         [BUILT_IN_EH_RETURN]: Update for nr arguments change.
5891         * c-common.c (c_common_nodes_and_builtins): Declare it.
5892         * c-decl.c (init_decl_processing): Update __builtin_eh_return.
5893         * calls.c (libfunc_nothrow): Remove.
5894         (emit_library_call_value_1): Don't call it.
5895         * crtstuff.c: Include unwind-dw2-fde.h instead of frame.h.
5896         * dwarf2.h (dwarf_call_frame_info): Add dwarf2.1 elements.
5897         (DW_EH_PE_*): New defines for pointer encoding in .eh_frame.
5898         * dwarf2out.c (struct dw_fde_struct): Add uses_eh_lsda, funcdef_number.
5899         (current_funcdef_number): Globalize.
5900         (output_call_frame_info): Emit frame data if an lsda is needed.
5901         Generate augmentation for personality routine.  Don't play with
5902         difference symbols.
5903         (dwarf2out_begin_prologue): Record funcdef_number.
5904         * dwarf2out.h (current_funcdef_number): Declare.
5905         * expr.c (expand_expr): Update for except.h name changes.
5906         Remove POPDCC_EXPR, POPDHC_EXPR.  Add EXC_PTR_EXPR.
5907         * expr.h (LTI_throw, LTI_rethrow): Remove.
5908         (LTI_sjthrow, LTI_sjpopnthrow, LTI_terminate): Remove.
5909         (LTI_eh_rtime_match): Remove.
5910         (LTI_unwind_resume, LTI_eh_personality): Add.
5911         (LTI_unwind_sjlj_register, LTI_unwind_sjlj_unregister): Add.
5912         * final.c (final): Don't call check_exception_handler_labels,
5913         init_insn_eh_region, or free_insn_eh_region.
5914         (final_scan_insn): Always emit debug labels for
5915         NOTE_INSN_EH_REGION notes.
5916         * flags.h (flag_new_exceptions): Remove.
5917         * flow.c (entry_exit_blocks): Remove eh_beg, eh_end.
5918         (record_active_eh_regions): Remove.
5919         (count_basic_blocks): Check all instructions for REG_EH_REGION.
5920         Use can_throw_internal.
5921         (find_basic_blocks_1): Likewise.
5922         (move_stray_eh_region_notes): Remove.
5923         (find_label_refs): No eh_return_stub_label.
5924         (make_edges): Likewise.  No init/free_eh_nesting_info.  Handle RESX.
5925         (make_eh_edge): No eh_nest_info.  Update for reachable_handlers
5926         changes.
5927         (delete_unreachable_blocks): Don't track deleted handlers.
5928         (flow_delete_block): Use maybe_remove_eh_handler.
5929         (delete_eh_regions): Remove.
5930         (merge_blocks): Don't check for eh region match.
5931         (mark_regs_live_at_end): Handle EH_RETURN_DATA_REGNO,
5932         EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX.
5933         (init_propagate_block_info): Disable dead frame store optimization
5934         when current_function_calls_eh_return.
5935         (dump_bb): Don't print eh_beg, eh_end.
5936         * function.c (fixup_var_refs): No catch_clauses.
5937         (expand_function_end): Likewise.  Call expand_eh_return before
5938         the return register use.  Call sjlj_emit_function_exit_after.
5939         (expand_function_start): Force pseudo DECL_RESULT if sjlj exceptions.
5940         * function.h (struct function): Add calls_eh_return, uses_eh_lsda.
5941         * ifcvt.c (dead_or_predicable): Remove eh region check.
5942         * integrate.c (function_cannot_inline_p): Disallow __builtin_eh_return.
5943         Don't check for EH vs parameters.
5944         (expand_inline_function_eh_labelmap, eif_eh_map): Remove.
5945         (expand_inline_function): Call duplicate_eh_regions.
5946         (copy_insn_list): Don't handle NOTE_INSN_EH_REGION_BEG/END.
5947         (copy_insn_notes): Remap REG_EH_REGION notes.
5948         (copy_rtx_and_substitute): Remove SYMBOL_REF_NEED_ADJUST check.
5949         * integrate.h (struct inline_remap): Add local_return_label.
5950         * jump.c (jump_optimize_1): Don't init/free_insn_eh_region, nor
5951         check_exception_handler_labels, nor exception_optimize.
5952         (find_cross_jump): No EH region check.
5953         * optabs.c (init_optabs): Update for changed eh libfuncs.
5954         * rtl.def (RESX): New.
5955         * rtl.h (SYMBOL_REF_NEED_ADJUST): Remove.
5956         * stmt.c (expand_decl_cleanup): Simplify using_eh_for_cleanups_p
5957         checks.  Update for except.h name changes.
5958         (expand_cleanups): Likewise.
5959         (expand_dcc_cleanup, expand_dhc_cleanup): Remove.
5960         * toplev.c (dump_file_index, dump_file): Add .02.eh dump.
5961         (compile_file): Call init_eh before init_optabs.  Don't
5962         output_exception_table here.
5963         (rest_of_compilation): Call convert_from_eh_region_ranges,
5964         convert_to_eh_region_ranges, output_function_exception_table.
5965         Don't emit_eh_context.
5966         * tree.def (POPDHC_EXPR, POPDCC_EXPR): Remove.
5967         (EXC_PTR_EXPR): New.
5968
5969         * md.texi (eh_epilogue): Remove.
5970         (eh_return): Document.
5971         * tm.texi (EH_RETURN_DATA_REGNO): Document.
5972         (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): Document.
5973
5974         * eh-common.h: Remove file.
5975         * frame-dwarf2.c, frame.c, frame.h: Remove files.
5976         * libgcc2.c (L_eh): Remove.
5977
5978         * unwind-dw2-fde.c: New file, largely copied from frame.c.
5979         * unwind-dw2-fde.h: New file.
5980         * unwind-dw2.c: New file, largely cribbed from frame-dwarf2.c.
5981         * unwind-sjlj.c, unwind.h, unwind.inc: New files.
5982         * libgcc-std.ver: Update for eh symbols.
5983
5984 2001-03-27  Richard Henderson  <rth@redhat.com>
5985
5986         * regmove.c (perhaps_ends_bb_p): Use can_throw_internal to
5987         reduce false positives.
5988         (regmove_optimize): Disable if flag_non_call_exceptions.
5989
5990         * stmt.c (expand_return): Remove always true predicate.
5991         (expand_decl_cleanup_no_eh): Remove dead code.
5992
5993         * sched-deps.c (sched_analyze_insn): Consolidate scheduling
5994         barrier code.  Add a scheduling barrier if a non-call insn
5995         can throw internally.
5996
5997         * rtlanal.c (rtx_addr_can_trap_p): Virtual registers cannot trap.
5998         Auto-inc addresses trap only if their base register does.
5999
6000         * except.c (can_throw_internal): Rename from can_throw.
6001         * except.h, resource.c: Update references.
6002
6003         * integrate.c (copy_insn_list): Use returnjump_p.
6004         (copy_insn_notes): Recurse for CALL_PLACEHOLDER.
6005
6006         * function.h (struct function): Move all boolean valued fields
6007         to single bit fields at the end of the struct.
6008
6009         * bb-reorder.c, dwarf2out.c, except.c, except.h, flow.c,
6010         jump.c, toplev.c:
6011         Rename asynchronous_exceptions to flag_non_call_exceptions.
6012
6013         * gthr-single.h (UNUSED): New.  Distinguish between how C
6014         and C++ mark unused function arguments.  Use throughout.
6015
6016         * Makefile.in (cs-tconfig.h): Copy USING_SJLJ_EXCEPTIONS
6017         value to target configuration header.
6018         * configure.in (CONFIG_SJLJ_EXCEPTIONS): New.
6019         * config.in, configure: Rebuild.
6020         * except.h (USING_SJLJ_EXCEPTIONS): New.  Define based on
6021         configuration and target defines.
6022         (exceptions_via_longjmp): Remove.
6023         * dwarf2out.c, except.c, final.c, toplev.c, config/ia64/ia64.c:
6024         Use USING_SJLJ_EXCEPTIONS instead of exceptions_via_longjmp.
6025
6026         * except.h (flag_non_call_exceptions): Move ...
6027         * flags.h: ... here.
6028
6029         * combine.c (distribute_notes) [REG_EH_REGION]: If non-call
6030         exceptions, put the note on the trapping instruction.
6031
6032         * flags.h (flag_new_exceptions): Remove.
6033         * toplev.c: Don't set it.
6034         * final.c: Don't check it.
6035         * except.c: Provide stub definition.
6036
6037         * flow.c (tidy_fallthru_edges): Don't combine complex edges.
6038         (calculate_global_regs_live): Kill call-clobbered registers
6039         across exception edges.
6040         * reg-stack.c (convert_regs_1): Kill the entire target stack
6041         across non-call exception edges.
6042
6043         * flow.c (cleanup_cfg): Take no argument.
6044         * output.h, sibcall.c, toplev.c: Update all calls.
6045
6046 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6047
6048         * configure.in: Don't check for bcopy.
6049         * configure, config.in: Regenerate.
6050
6051         * system.h: Don't define or prototype bcopy, instead poison it.
6052
6053 2001-03-27  Richard Henderson  <rth@redhat.com>
6054
6055         * function.c (expand_function_start): Set DECL_REGISTER on
6056         a pseudo used for DECL_RESULT.
6057
6058         * rtl.h (LCT_NORETURN): New.
6059         * calls.c (emit_library_call_value_1): Handle it.
6060
6061 2001-03-27  Stan Shebs  <shebs@apple.com>
6062
6063         * objc/objc-act.c (objc_init): Use dump_base_name.
6064         (gen_declaration): Clear the buffer arg.
6065         (gen_declaration_1): New function, body of gen_declaration.
6066         (adorn_decl): Call gen_declaration_1 instead of gen_declaration.
6067         (gen_method_decl): Ditto, plus always clear buffer arg.
6068         (error_with_ivar): Simplify.
6069         (warn_with_method): Ditto.
6070         (build_message_expr): Don't clear buffers.
6071         (dump_interface): Ditto.
6072         (objc_debug): Ditto.
6073         (build_keyword_selector): Clear the buffer by only zeroing
6074         the first element.
6075         (objc_implementation_context): Declare.
6076         (start_class): Warn about missing @end.
6077         (finish_objc): Ditto.
6078
6079 2001-03-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6080
6081         * reload1.c (eliminate_regs): Don't abort on MEM USEs.
6082
6083 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6084
6085         * Makefile.in (SYSTEM_H): Define.
6086         Depend on $(SYSTEM_H), not system.h.
6087
6088         * objc/Make-lang.in: Depend on $(SYSTEM_H), not system.h.
6089
6090 2001-03-27  Jim Wilson  <wilson@redhat.com>
6091
6092         * final.c (final_scan_insn, case NOTE_INSN_BASIC_BLOCK): Call
6093         IA64_UNWIND_EMIT.
6094         * config/ia64/ia64.c (block_num, need_copy_state): New static vars.
6095         (process_epilogue): New static function.
6096         (process_set): Call process_epilogue instead of emitting .restore
6097         directly.
6098         (process_for_unwind_directive): Handle NOTE_INSN_BASIC_BLOCK.
6099
6100         * flow.c (struct reg_cond_life_info): New fields orig_condition
6101         and stores.
6102         (init_propagate_block_info): Set new fields.
6103         (mark_regno_cond_dead): Set and use new fields.
6104         (flush_reg_cond_reg_1): Likewise.
6105         (and_reg_cond, case AND): Check for redundant AND conditions.
6106         (mark_used_reg): Delete unnecessary clears before freeing splay trees.
6107         Set new fields.
6108
6109 2001-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
6110
6111         * cppmacro.c (stringify_arg): Null terminate strings.
6112
6113 2001-03-27  Zack Weinberg  <zackw@stanford.edu>
6114
6115         * config.gcc (m68hc11-*-*, m68hc12-*-*): Convert to new tm.h
6116         inclusion style.  xm-m68hc11.h no longer exists.
6117         * config/m68hc11/xm-m68hc11.h: Delete file.
6118         * config/m68hc11/m68hc12.h: Convert to new tm.h inclusion style.
6119
6120         * config/m68hc11/m68hc11.h: Convert to new tm.h inclusion style.
6121         Don't define GCC_VERSION, N_, or PARAMS; don't include
6122         gansidecl.h or stdio.h.  Define inhibit_libc here.
6123         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
6124         Delete code conditioned on #if GCC_VERSION == 2095.
6125
6126         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
6127         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
6128         Delete code conditioned on #if GCC_VERSION == 2095.
6129
6130 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6131
6132         * system.h: Include symcat.h.
6133         (STRINGIFY): Don't define.
6134
6135         * configure.in: Adjust comment.
6136
6137         * builtins.c: Use STRINGX, not STRINGIFY.
6138         * gencheck.c: Likewise.
6139         * gengenrtl.c: Likewise.
6140         * protoize.c: Likewise.
6141
6142         * cpplex.c: Don't include symcat.h.
6143         * cpplib.c: Likewise.
6144
6145         * gansidecl.h (HAVE_STRINGIZE): Don't define.
6146
6147 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
6148
6149         * c-typeck.c (digest_init): Fold init expression.
6150
6151 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6152
6153         * sbitmap.c (sbitmap_copy): Call memcpy, not bcopy.
6154
6155 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
6156
6157         * except.c (eh_regs): Save results of build_pointer_type to a temp
6158         as FUNCTION_VALUE macro may evaluate its args multiple times.
6159
6160 2001-03-26  Mark Mitchell  <mark@codesourcery.com>
6161
6162         * c-common.h (DECL_NUM_STMTS): New macro.
6163         * c-decl.c (duplicate_decls): Copy DECL_NUM_STMTS, not
6164         DECL_FRAME_SIZE.
6165         (pushdecl): Likewise.
6166         * c-semantics.c (add_stmt): Update DECL_NUM_STMTS.
6167         * integrate.c (expand_inline_function): Don't check
6168         DECL_FRAME_SIZE.
6169         * print-tree.c (print_node): Don't print it.
6170         * toplev.c (rest_of_compilation): Don't try to inline when
6171         flag_no_inline is on.
6172         * tree.h (DECL_FRAME_SIZE): Remove.
6173         (tree_decl): Adjust accordingly.
6174
6175 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6176
6177         * combine.c (try_combine): Use memcpy, not bcopy.
6178
6179         * genattrtab.c (expand_units): Likewise.
6180
6181 Mon Mar 26 15:55:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
6182
6183         * i386.md (push mem DI peep2): New.
6184         (mov 0, mov -1 peep2): Handle 64bit.
6185         (lea to arithmetics peep2): Handle 64bit leas.
6186         (rsp arithmetics to push/pop peep2s): New.
6187
6188         * i386.md (truncdfsf2_3, trunctfsf2_2): Change predicate to memory_operand.
6189
6190 Mon Mar 26 14:35:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
6191
6192         * i386.c (struct machine_function): Add save_varrargs_registers.
6193         (ix86_save_varrargs_registers): New macro.
6194         (ix86_frame_layout): Support 64bit; support red zones and varrargs area.
6195         (ix86_expand_prologue): Likewise.
6196         (ix86_emit_epilogue_esp_adjustement): Likewise.
6197         (ix86_expand_epilogue): Likewise.
6198         * i386.md (pro_epilogue_adjust_stack): Turn to expander; support 64bit.
6199         (pro_epilogue_adjust_stack_1): New insn.
6200         (pro_epilogue_adjust_stack_rex64): Likewise.
6201         * i386.h (MASK_NO_RED_ZONE): New constant.
6202         (TARGET_RED_ZONE): New macro.
6203         (TARGET_OPTIONS): Add "red-zone" and "no-red-zone"
6204         (RED_ZONE_SIZE): New constant.
6205         (RED_ZONE_RESERVE): New constant.
6206
6207 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6208
6209         * toplev.c (set_float_handler): Use memcpy, not bcopy.
6210
6211 2001-03-25  Kazu Hirata  <kazu@hxi.com>
6212
6213         * config/h8300/h8300.md (umodqi3): Output a tab instead of a
6214         space.
6215         (modqi3): Likewise.
6216         (umodhi3): Likewise.
6217         (modhi3): Likewise.
6218
6219 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6220
6221         * mkconfig.sh (DEFINES): Handle entries with '='.
6222
6223         * config.gcc: Don't use i370/xm-mvs.h or ns32k/xm-pc532-min.h.
6224         Set xm_defines to MACRO=value instead.
6225
6226         * i370/xm-mvs.h: Delete.
6227
6228         * ns32k/xm-pc532-min.h: Likewise.
6229
6230 Sun Mar 25 15:01:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
6231
6232         * i386.md (ashldi3, ashrdi3, lshrdi3): Change predicates to
6233         shiftdi_operand;
6234         use ix86_expand_binary_operator
6235         (?sh??i_?): Disable for 64bit.
6236         * i386.h (PREDICATE_CODES): Add shiftdi_operand.
6237         * i386.c (shiftdi_operand): New predicate.
6238
6239         * (ashldi3_1_rex64, ashldi3_cmp_rex64, ashlsi3_1_zext, ashlsi3_cmp_zext,
6240         ashrdi3_63_rex64, ashrdi3_1_one_bit_rex64, ashrdi3_1_rex64,
6241         ashrdi3_one_bit_cmp_rex64, ashrdi3_cmp_rex64, ashrsi3_31_zext,
6242         ashrsi3_1_one_bit_zext, ashrsi3_1_zext, ashrsi3_one_bit_cmp_zext,
6243         ashrsi3_cmp_zext, lshrdi3_1_one_bit_rex64, lshrdi3_1_rex64,
6244         lshrdi3_cmp_one_bit_rex64, lshrdi3_cmp_rex64, lshrsi3_1_one_bit_zext,
6245         lshrsi3_1_zext, lshrsi3_cmp_one_bit_zext, lshrsi3_cmp_zext,
6246         rotlsi3_1_one_bit_rex64, rotldi3_1_rex64,
6247         rotlsi3_1_one_bit_zext, rotlsi3_1_zext, rotrdi3_1_one_bit_rex64,
6248         rotrdi3_1_rex64, rotrsi3_1_one_bit_zext, rotrsi3_1_zext): New patterns.
6249         (rotldi3, rotrdi3): New expanders.
6250
6251 Sun Mar 25 14:25:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
6252
6253         * i386.md (movstrsi): Move offline.
6254         (movstrdi): New.
6255         (strmovdi_rex64): New.
6256         (strmov?i): Accept 64bit.
6257         (strmov?i_rex64): New.
6258         (strmov?i_rex_1): New.
6259         (strmov?i_1): Disable for 64bit.
6260         (rep_mov?i_rex64): New.
6261         (rep_mov?i): Disable for 64bit.
6262         (clrstrsi): Move offline.
6263         (strset?i_rex64): New.
6264         (strset?i: Accept 64bit.
6265         (rep_stos?i): Disable for 64bit.
6266         (rep_stos?i_rex64): New.
6267         (strset?i_rex_1): New.
6268         (strset?i_1): Disable for 64bit.
6269         (cmpstrsi): Accept 64bit.
6270         (cmpstrsi_nz_1): Rename to cmpstrqi_nz_1; Disable for 64bit.
6271         (cmpstrqi_nz_rex_1): New.
6272         (cmpstrsi_1): Rename to cmpstrqi_1; Disable for 64bit.
6273         (strlensi): Move offline.
6274         (strlendi): New.
6275         (strlenqi_1): Disable for 64bit; fix constraints.
6276         (strlenqi_rex_1): New.
6277         * i386.c (ix86_adjust_counter): New static function.
6278         (ix86_zero_extend_to_Pmode): Likewise.
6279         (ix86_expand_aligntest): Likweise.
6280         (ix86_expand_strlensi_unroll_1): Make static; update for 64bit.
6281         (ix86_expand_movstr): New global function.
6282         (ix86_expand_clrstr): New global function.
6283         (ix86_expand_strlen): New global function.
6284         * i386-protos.h (ix86_expand_movstr, ix86_expand_clrstr,
6285         ix86_expand_strlen): Declare.
6286         (ix86_expand_strlensi_unroll_1): Delete.
6287
6288 Sat Mar 24 23:15:19 CET 2001  Jan Hubicka  <jh@suse.cz>
6289
6290         * i386.md (cmpdi): Fix operand predicates.
6291         (cmpdi_ccno_1_rex64, cmpdi_minus_1_rex64, cmpdi_1_rex64,
6292          cmpdi_1_insn_rex64): New patterns.
6293         (adddi3): Turn to expander.
6294         (adddi3_1, adddi3_carry_rex64, adddi3_cc_rex64): New patterns.
6295         (addsi3_carry_zext): New pattern.
6296         (adddi_?_rex64): New patterns and splitters.
6297         (addsi_?_zext): New patterns.
6298         (subsi3_carry_zext): New pattern.
6299         (subdi_?_rex64): New patterns and splitters.
6300         (iorsi_?_zext): New patterns.
6301         (iordi_?_rex64): New patterns and splitters.
6302         (iorsi_?_zext): New patterns.
6303         (iorsi_?_zext_imm): New patterns.
6304         (xorsi_?_zext): New patterns.
6305         (xordi_?_rex64): New patterns and splitters.
6306         (xorsi_?_zext): New patterns.
6307         (negdi*): New patterns.
6308         (one_cmpldi*): Likewise.
6309         (one_cmplsi*_zext, negsi*_zext): Likewise.
6310         (testqi_ext_3_rex64): New pattern.
6311
6312 Sat Mar 24 21:13:28 CET 2001  Jan Hubicka  <jh@suse.cz>
6313
6314         * i386-protos.h (ix86_split_long_move): Return void.
6315         * i386.c (ix86_split_to_parts): Handle 64bit target.
6316         (ix86_split_long_move): Likewise.
6317         * i386.md (all calls to ix86_split_long_move): Update.
6318
6319 2001-03-23  Richard Henderson  <rth@redhat.com>
6320
6321         * config/mips/iris4.h (ASM_OUTPUT_ASCII): Rename local variables
6322         to avoid shadowing arguments.
6323
6324 2001-03-23  Jakub Jelinek  <jakub@redhat.com>
6325
6326         * varasm.c (make_decl_rtl): Don't append var_labelno discriminator
6327         to variable names where DECL_NAME is different from
6328         DECL_ASSEMBLER_NAME.
6329
6330 2001-03-23  Jim Wilson  <wilson@redhat.com>
6331
6332         * varasm.c (make_decl_rtl): Add TREE_PUBLIC check to abort test.
6333         (assemble_alias): Call make_decl_rtl.
6334
6335 Fri Mar 23 16:59:08 2001  J"orn Rennecke <amylaar@redhat.com>
6336
6337         * stor-layout.c (layout_type): Give OFFSET_TYPE a MODE_INT type.
6338
6339 2001-03-23  Bryce McKinlay  <bryce@albatross.co.nz>
6340
6341         * extend.texi: Document the "java_interface" attribute.
6342
6343 2001-03-22  Zack Weinberg  <zackw@stanford.edu>
6344
6345         * mkconfig.sh: Use a subshell with redirected stdout,
6346         instead of closing stdout and confusing commands that run
6347         afterward.  Throw away output of cmp.
6348
6349 2001-03-22  Gordon Sadler  <gbsadler1@lcisp.com>
6350
6351         * Makefile.in (stage1_build): Pass CFLAGS to stage1_build.
6352
6353 Thu Mar 22 22:15:59 CET 2001  Jan Hubicka  <jh@suse.cz>
6354
6355         * i386.md (zero_extendsidi2_32): Break out from ...
6356         (zero_extendsidi2): ... here ; turn to expander.
6357         (zero_extendsidi2_rex64): New.
6358         (extendsidi2_32): Break out from ...
6359         (extendsidi2): ... here ; turn to expander.
6360         (extendsidi2_rex64): New.
6361         (zero_extendhidi2, zero_extendqidi2, extendhidi2, extendqidi2): New.
6362         (trunc?f?f splitters): Add 64bit versions.
6363
6364 Thu Mar 22 21:41:16 CET 2001  Jan Hubicka  <jh@suse.cz>
6365
6366         * i386.md (pushsi, pushsi2_prologue): Disable.
6367         (pushsi2_rex64): New.
6368         (movabs?i_1_rex64, movabs?i_2_rex64): New.
6369         (movqi_ext_1): Disable for 64bit.
6370         (movqi_ext_1_rex64): New.
6371         (pushdi2_rex64): New pattern, peep2s and splitter.
6372         (pushdi2_prologue_rex64): New pattern.
6373         (popdi1_epilogue_rex64, popdi1, movdi_xor_rex64, movdi_or_rex64):
6374         Likewise.
6375         (movdi splitters): Disable for 64bit.
6376         (movdi_1_rex64): New pattern, peep2s and splitters.
6377         (swapdi): New pattern.
6378         (pushsf): Disable for 64bit.
6379         (pushsf_rex64): New pattern and splitter.
6380         (pushdf_nointeger): Disable for 64bit.
6381         (pushdf_integer): Handle the 64bit case.
6382         (pushtf): Likewise; update splitters.
6383
6384 2001-03-22  Richard Henderson  <rth@redhat.com>
6385
6386         * mkconfig.sh: Include insn-flags.h.
6387         * Makefile.in (CONFIG_H): Include insn-flags.h.
6388         (lots of objects): Remove insn-codes.h and insn-flags.h.
6389
6390         * alias.c, bb-reorder.c, calls.c, do-loop.c, flow.c, haifa-sched.c,
6391         integrate.c, jump.c, loop.c, predict.c, profile.c, reg-stack.c,
6392         regmove.c, reorg.c, a29k/a29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
6393         avr/avr.c, clipper/clipper.c, convex/convex.c, d30v/d30v.c,
6394         dsp16xx/dsp16xx.c, fr30/fr30.c, h8300/h8300.c, i370/i370.c,
6395         i386/i386.c, i860/i860.c, ia64/ia64.c, m32r/m32r.c, m68hc11/m68hc11.c,
6396         m68k/m68k.c, m88k/m88k.c, mcore/mcore.c, mn10200/mn10200.c,
6397         mn10300/mn10300.c, ns32k/ns32k.c, pa/pa.c, pdp11/pdp11.c,
6398         pj/pj.c, romp/romp.c, rs6000/rs6000.c, sh/sh.c, sparc/sparc.c,
6399         v850/v850.c, vax/vax.c:
6400         Don't include insn-flags.h.
6401
6402         * diagnostic.c, expr.h, reload.c, toplev.c:
6403         Don't include insn-codes.h.
6404
6405         * builtins.c, combine.c, except.c, explow.c, expmed.c, expr.c,
6406         final.c, function.c, optabs.c, recog.c, reload1.c, stmt.c,
6407         c4x/c4x.c, i960/i960.c, mips/mips.c:
6408         Don't include insn-codes.h or insn-flags.h.
6409
6410         * genemit.c, genopinit.c, genoutput.c: Don't include insn-codes.h
6411         or insn-flags.h in the generated code.
6412         * genflags.c (gen_proto): Use "struct rtx_def *" instead of "rtx".
6413         (main): Forward declare struct rtx_def.
6414
6415 2001-03-22  Joseph S. Myers  <jsm28@cam.ac.uk>
6416
6417         * invoke.texi (-ffast-math): Remove duplicate line about
6418         __FAST_MATH__.
6419
6420         * gcc.texi: Remove more obsolete documentation of bugs and
6421         installation problems.
6422
6423 2001-03-21  Kazu Hirata  <kazu@hxi.com>
6424
6425         * config/h8300/h8300.md (movsi_h8300hs): Split the 2nd alternative
6426         into two parts.
6427
6428 2001-03-20  Jason Merrill  <jason@redhat.com>
6429
6430         * collect2.c (is_ctor_dtor): Always use '_' in the file fn names,
6431         not '.' or '$'.
6432         * tree.c (FILE_FUNCTION_FORMAT): Likewise.
6433         * varasm.c (CHKR_PREFIX): Likewise.
6434
6435 Wed Mar 21 14:27:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6436
6437         * gcse.c (hash_scan_set): An expression is not anticipatible if it
6438         is part of a multi-SET insn.
6439
6440         * cse.c (find_comparison_args): Remove previous change.
6441         * ifcvt.c (noce_process_if_block): When moving an insn, remove any
6442         REG_EQUAL notes.
6443
6444         * config/i386/i386.md (conditional_trap): Remove warning.
6445
6446         * recog.c (push_operand): Fix error in last change that caused
6447         undefined symbol on many targets.
6448
6449         * sdbout.c: #include ggc.h.
6450         (sdbout_init): Move to end of file.
6451         Call ggc_add_tree_root for anonymous_types.
6452         (sdbout_symbol): Use DECL_NAME for local, not DECL_ASSEMBLER_NAME.
6453         (sdbout_one_type): Use DECL_NAME for field name.
6454         * Makefile.in (sdbout.o): Show includes ggc.h.
6455
6456 Wed Mar 21 20:33:26 CET 2001  Jan Hubicka  <jh@suse.cz>
6457
6458         * i386.c (override_options): Default ix86_regparm to REGPARM_MAX.
6459         (override_options): Use properlimits for preferred_stack_boundary.
6460         (ix86_valid_type_attribute_p): Disable stdcall and cdecl attributes
6461         on x86_64.
6462         (ext_register_operand): Accept DImode.
6463         (load_pic_register): Abort on 64bit.
6464         (gen_push): Use Pmode instead of SImode.
6465         (ix86_save_reg): Pic reg is never used on 64bit.
6466         (ix86_expand_prologue): Likewise.
6467         (ix86_emit_save_regs): Use Pmode instead of SImode.
6468         (legitimate_address_p): Check displacement for 64bit.
6469         (print_operand): Avoid outputting of (%rip) on 64bit.
6470         (print_operand_address): Output (%rip) where possible.
6471         (split_di): Abort on 64bit registers.
6472         (ix86_expand_branch): DImode comparison is simple for x86_64.
6473         (memory_address_length): Recognize memory addresses formed using
6474         PRE/POST modify.
6475         (ix86_data_alignment, ix86_local_alignment): Align arrays to 16 bytes
6476         for x86_64.
6477         * i386.h (TARGET_USE_SAHF): Disable for 64bit.
6478
6479 Wed Mar 21 18:51:19 CET 2001  Jan Hubicka  <jh@suse.cz>
6480
6481         * recog.c (push_operand): Recognize new format of push instructions.
6482
6483 Wed Mar 21 10:53:57 CET 2001  Jan Hubicka  <jh@suse.cz>
6484
6485         * i386.md (pushqi1): New.
6486         * i386-protos.h (x86_64_general_operand, x86_64_szext_general_operand,
6487         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
6488         x86_64_immediate_operand, x86_64_immediate_operand,
6489         x86_64_zext_immediate_operand): Declare.
6490         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
6491         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
6492         x86_64_immediate_operand, x86_64_immediate_operand,
6493         x86_64_zext_immediate_operand): define.
6494         * i386.h (PREDICATE_CODES): Add new predicates.
6495
6496 Wed Mar 21 10:25:13 CET 2001  Jan Hubicka  <jh@suse.cz>
6497
6498         * i386.md (pophi1, popqi1, pushqi1): Remove.
6499
6500         * expr.c (emit_single_push_insn): New function.
6501         (move_by_pieces): Accept NULL as destination for push instructions.
6502         (gen_push_operand): Kill.
6503         (emit_push_insn): Pass NULL when pushing; avoid updating of
6504         stack_pointer_delta.
6505         * expr.h (gen_push_operand): Kill.
6506
6507 Tue Mar 20 20:15:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6508
6509         * rtl.texi (COMPARE): Clarify documentation and reference section
6510         on comparisons.
6511
6512 2001-03-20  Stan Shebs  <shebs@apple.com>
6513
6514         * objc/objc-act.c (get_static_reference): Use NULL_TREE.
6515         (get_object_reference): Ditto.
6516         (error_with_ivar): Use error_with_file_and_line.
6517         (warn_with_method): Use warning_with_file_and_line.
6518
6519 2001-03-20  Tom Tromey  <tromey@redhat.com>
6520
6521         * libgcc-std.ver: Added __fixunssfsi and __fixunsdfsi.
6522
6523 2001-03-20  Mark Mitchell  <mark@codesourcery.com>
6524
6525         * tree.c (set_decl_assembler_name): Set DECL_ASSEMBLER_NAME for
6526         variables that are TREE_PUBLIC, even if not TREE_STATIC.
6527
6528 2001-03-20  DJ Delorie  <dj@redhat.com>
6529
6530         * Makefile.in (install-libgcc): Pass complete list of variables.
6531         (install-multilib): Ditto.
6532
6533 2001-03-20  David Billinghurst  <David.Billinghurst@riotinto.com>
6534
6535         * config/i386/cygwin.h: Declare ctor_section, dtor_section
6536         drectve_section, switch_to_section.
6537
6538         * winnt.c: Declare functions associated_type, gen_stdcall_suffix,
6539         i386_pe_dllexport_p, i386_pe_dllimport_p, i386_pe_mark_dllexport,
6540         i386_pe_mark_dllimport.
6541
6542 2001-03-20  David Billinghurst <David.Billinghurst@riotinto.com>
6543
6544         * config/i386/cygwin.h: Include <stdio.h> Declare and constify
6545         functions i386_pe_*.
6546
6547         * config/i386/winnt.c: Include "tm_p.h" and "toplev.h" Constify
6548         i386_pe_* functions with char * arguments.
6549
6550 2001-03-20  Alexandre Oliva  <aoliva@redhat.com>
6551
6552         * config/sh/sh.md (movsf_ie): Fix output patterns for fpul load
6553         and store.
6554         (movsi_ie): Introduce fpul store.
6555
6556 2001-03-20  Alan Modra  <alan@linuxcare.com.au>
6557
6558         * Makefile.in (OBJS): Remove hashtab.o.
6559
6560 2001-03-19  Stan Shebs  <shebs@apple.com>
6561
6562         * objc/objc-act.c (maybe_objc_method_name): Remove, never called.
6563         * c-lang.c (maybe_objc_method_name): Ditto.
6564         * c-tree.h (maybe_objc_method_name): Remove decl.
6565
6566 2001-03-19  Tom Tromey  <tromey@redhat.com>
6567
6568         * gcc.c (init_gcc_specs): Fix comment.
6569
6570 2001-03-19  Mark Mitchell  <mark@codesourcery.com>
6571
6572         Compute DECL_ASSEMBLER_NAME lazily.
6573         * tree.h (DECL_ASSEMBLER_NAME): Compute it lazily.
6574         (DECL_ASSEMBLER_NAME_SET_P): New macro.
6575         (SET_DECL_ASSEMBLER_NAME): Likewise.
6576         (COPY_DECL_ASSEMBLER_NAME): Likewise.
6577         (set_decl_assembler_name): Declare.
6578         (lang_set_decl_assembler_name): Likewise.
6579         * tree.c (lang_set_decl_assembler_name): New variab.e
6580         (set_decl_assembler_name): New function.
6581         (init_obstacks): Set lang_set_decl_assembler_name.
6582         (build_decl): Don't set DECL_ASSEMBLER_NAME.
6583         * c-decl.c (duplicate_decls): Use SET_DECL_ASSEMBLER_NAME,
6584         COPY_DECL_ASSEMBLER_NAME, etc.  Don't set DECL_ASSEMBLER_NAME
6585         where it's not necessary.
6586         (builtin_function): Likewise.
6587         (finish_decl): Likewise.
6588         * dbxout.c (dbxout_type_methods): Likewise.
6589         * ggc-common.c (ggc_mark_trees): Likewise.
6590         * profile.c (output_func_start_profiler): Likewise.
6591         * varasm.c (make_decl_rtl): Likewise.
6592
6593         * cse.c (find_comparison_args): Update documentation.  Fix
6594         mishandling of COMPARE operations.
6595
6596         * tree.def (ABS_EXPR): Add documentation.
6597         * fold-const.c (fold): Improve folding of ABS_EXPRs.
6598
6599 2001-03-19  Zack Weinberg  <zackw@stanford.edu>
6600
6601         * Makefile.in (hash.o): Depend on $(GCONFIG_H), not $(CONFIG_H).
6602
6603 2001-03-19  Jakub Jelinek  <jakub@redhat.com>
6604
6605         * crtstuff.c (init_dummy): Use CRT_END_INIT_DUMMY if defined.
6606         Remove ia32 linux PIC kludge and move it...
6607         * config/i386/linux.h (CRT_END_INIT_DUMMY): ...here.
6608
6609 Mon Mar 19 18:53:54 CET 2001  Jan Hubicka  <jh@suse.cz>
6610
6611         * i386.md (absdf2 expander): Fix 64bit case.
6612
6613 2001-03-19  Brad Lucier  <lucier@math.purdue.edu>
6614
6615         * Makefile.in: Have splay-tree.o depend on $(GCONFIG_H).
6616
6617 2001-03-16  Andrew Haley  <aph@cambridge.redhat.com>
6618
6619         * config/ia64/libgcc-ia64.ver: Add __ia64_backtrace.
6620
6621 2001-03-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6622
6623         * README.X11: Remove obsolete file.
6624
6625 2001-03-18  Anthony Green  <green@redhat.com>
6626
6627         * config/pj/pj.h: Remove some trailing commas.
6628         (ASM_SPEC): Use -EB and -EL, not -mb and -ml.
6629
6630 2001-03-18  Richard Henderson  <rth@redhat.com>
6631
6632         * defaults.h (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Move from ...
6633         * calls.c: ... here.
6634         * combine.c, expr.c, final.c, function.c toplev.c: Don't provide
6635         defaults for them here.
6636
6637 2001-03-17  Anthony Green  <green@redhat.com>
6638
6639         * config/pj/lib1funcs.S: Fix broken comment.
6640         * config/pj/pj.h (LOCAL_LABEL_PREFIX): Prefix internal
6641         labels with '.'.
6642
6643 2001-03-18  Joseph S. Myers  <jsm28@cam.ac.uk>
6644
6645         * gcc.texi: Remove obsolete information relating to build and
6646         installation problems with enquire or the Pyramid C compiler.
6647
6648 2001-03-17  Richard Henderson  <rth@redhat.com>
6649
6650         * dwarf2out.c (queue_reg_save): New.
6651         (flush_queued_reg_saves, clobbers_queued_reg_save): New.
6652         (dwarf2out_frame_debug_expr): Call queue_reg_save instead of
6653         dwarf2out_reg_save.
6654         (dwarf2out_frame_debug): Call flush_queued_reg_saves when needed.
6655         (cfa, cfa_store, cfa_temp): Make static.
6656         * final.c (final_scan_insn): Always call dwarf2out_frame_debug.
6657
6658 2001-03-17  Richard Henderson  <rth@redhat.com>
6659
6660         * integrate.h (struct inline_remap): Add local_return_label.
6661         * integrate.c (expand_inline_function): Initialize it and emit
6662         it after copy_insn_notes.
6663         (copy_insn_list): Don't store local_return_label here.
6664         (copy_insn_notes): New function split out from copy_insn_list.
6665
6666 2001-03-17  Richard Henderson  <rth@redhat.com>
6667
6668         * dwarf2out.c (lookup_filename): Emit .file if the assembler
6669         is generating .debug_line.
6670         (dwarf2out_init): Add main_input_filename to the file table first.
6671         * configure.in (as_dwarf2_debug_line): Test with file number 1
6672         instead of file number 0.
6673
6674 Sat Mar 17 11:52:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6675
6676         * combine.c (undobuf): Remove field previous_undos; all refs deleted.
6677         (gen_rtx_combine): Deleted; all references changed as appropriate.
6678         (gen_unary): Deleted; all refs changed to call simplify_gen_unary.
6679
6680         * print-tree.c (print_node): Print DECL_NONADDRESSABLE_P.
6681
6682 2001-03-17  David Billinghurst  <David.Billinghurst@riotinto.com>
6683
6684         * config/i386/xm-cygwin.h: Include <sys/cygwin.h.  Remove unused
6685         variable.
6686
6687 2001-03-16  Jim Wilson  <wilson@redhat.com>
6688
6689         * config/ia64/ia64.c (ia64_compute_frame_size): If reg_fp is zero,
6690         then set it to LOC_REG (79) instead of aborting.
6691
6692 2001-03-16  Phil Edwards  <pme@sources.redhat.com>
6693
6694         * gccbug.in:  Remove high priority.
6695
6696 2001-03-16  Richard Henerson  <rth@redhat.com>
6697
6698         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): Substitute leading od
6699         output with a space instead of deleting it.
6700         * configure: Regenerate.
6701
6702 2001-03-16  Zack Weinberg  <zackw@stanford.edu>
6703
6704         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): New utility macro which
6705         handles the gory details of converting an object file into
6706         something that's safe to grep.
6707         (gcc_AC_C_COMPILE_BIGENDIAN): Rename to
6708         gcc_AC_C_COMPILE_ENDIAN.  Use gcc_AC_EXAMINE_OBJECT.  Put
6709         newlines at either end of the string we're looking for.
6710         Make 'checking ...' message less stilted.
6711         (gcc_AC_C_FLOAT_FORMAT): Use gcc_AC_EXAMINE_OBJECT.  Handle
6712         ARM in-memory layout and its hypothetical converse.  Don't
6713         define HOST_FLOAT_WORDS_BIG_ENDIAN unless it's different from
6714         HOST_WORDS_BIG_ENDIAN.
6715
6716         * configure.in: Adjust for renamed macro.  Move
6717         gcc_AC_C_FLOAT_FORMAT below gcc_AC_C_COMPILE_ENDIAN.
6718         * configure, config.in: Regenerate.
6719
6720 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
6721
6722         * fixinc/Makefile.in: Set SHELL.
6723
6724 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
6725
6726         * fixinc/fixincl.c (fix_with_system): Quote file names before
6727         passing them to shell.
6728
6729 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
6730
6731         * Makefile.in: Use fix-header$(build_exeext) instead
6732         of fix-header.
6733
6734 2001-03-16  Richard Henderson  <rth@redhat.com>
6735
6736         * dwarf2out.c: Revert most of 2000-11-25 and 2001-01-24 changes.
6737         (LN_PROLOG_AS_LABEL, LN_PROLOG_END_LABEL): New.
6738         (size_of_line_prolog): Remove.
6739         (output_line_info): Compute prologue size via label difference.
6740         (lookup_filename): Return "unspecified" for <internal> and <built-in>.
6741
6742         * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Require that the
6743         assembler error when redefining file numbers.
6744         * config.in, configure: Rebuild.
6745
6746         * dwarf2asm.c (dw2_asm_output_data): Mask data to the output size.
6747         (dw2_asm_output_data_uleb128): Use space not tab after .uleb128.
6748         (dw2_asm_output_delta_uleb128): Likewise.
6749         (dw2_asm_output_delta_sleb128): Similarly.
6750         (dw2_asm_output_data_sleb128): Similarly.  Print number in decimal.
6751
6752 2001-03-16  Michael Meissner  <meissner@redhat.com>
6753
6754         * mips.h (BITMASK_HIGH): Replacement for 0x80000000 that avoids
6755         warnings.
6756         (BITMASK_UPPER16): Replacement for 0xffff0000 that avoids
6757         warnings.
6758         (BITMASK_LOWER16): Replacement for 0x0000ffff.
6759
6760         * mips.c (save_restore_insns): Use BITMASK_UPPER16/BITMASK_LOWER16
6761         instead of 0xffff0000/0x0000ffff to avoid warnings about constants
6762         being unsigned in ISO C and signed in traditional.
6763         (expand_prologue): Ditto.
6764         (RA_MASK): Use BITMASK_HIGH to avoid warnings.
6765
6766         * mips.md (divmodsi4,divmodsi4): Use BITMASK_HIGH to avoid
6767         warnings.
6768         (divsi3,divdi3): Ditto.
6769         (modsi3,moddi3): Ditto.
6770         (fix_truncdfsi2,fix_truncdfdi2): Ditto.
6771         (fix_truncsfsi2,fix_truncsfdi2): Ditto.
6772         (movsi split): Use BITMASK_UPPER16/BITMASK_LOWER16 to avoid
6773         warnings.
6774
6775 Fri Mar 16 14:47:57 CET 2001  Jan Hubicka  <jh@suse.cz>
6776
6777         * i386.c (ix86_expand_fp_movcc): Do not attempt to construct
6778         SSE based conditional moves on LTGT/UNEQ conditions;
6779         Canonicalize EQ to NE.
6780         * i386.md (sse_mov?fcc): Disallow EQ and NE in IEEE mode.
6781         (sse_mov?fcc_ne): New.
6782
6783         * i386-protos.h (sign_extended_value, zero_extended_value): Declare.
6784
6785 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
6786
6787         * config/sh/sh.c (sh_expand_prologue): Insns that set up the PIC
6788         register may be dead.
6789
6790 2001-03-16  Brad Lucier  <lucier@math.purdue.edu>
6791
6792         * Makefile.in (hash.o): Depend on CONFIG_H.
6793
6794 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
6795
6796         * dwarf2out.c (rtl_for_decl_location): Use DECL_RTL_IF_SET.
6797
6798 2001-03-15  Richard Henderson  <rth@redhat.com>
6799
6800         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): New.
6801         (ASM_OUTPUT_DWARF_PCREL): New.
6802         * config/ia64/hpux.h (ASM_OUTPUT_DWARF_OFFSET): Remove.
6803
6804 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
6805
6806         * cppfiles.c (stack_include_file): Use MAX of sysp.
6807
6808 2001-03-15  Steve Ellcey  <sje@cup.hp.com>
6809
6810         * config.gcc (ia64*-*-hpux*): New case.
6811         * config/ia64/hpux.h: New file for HP-UX support.
6812         * config/ia64/t-hpux: New file for HP-UX support.
6813
6814 2001-03-16  Bruce Korb  <bkorb@gnu.org>, Alexandre Oliva  <aoliva@redhat.com>
6815
6816         * fixinc/inclhack.def (irix_stdio_va_list): New.
6817         * fixinc/fixincl.x: Rebuilt.
6818
6819 2001-03-15  Richard Henderson  <rth@redhat.com>
6820
6821         * dwarf2asm.c (dw2_asm_output_offset): Use ASM_OUTPUT_DWARF_OFFSET
6822         if provided by the target.
6823         (dw2_asm_output_pcrel): Likewise with ASM_OUTPUT_DWARF_PCREL.
6824         (dw2_asm_output_addr): New.
6825         * dwarf2asm.h (dw2_asm_output_addr): Declare.
6826         * dwarf2out.c (output_cfi): Use it for program addresses.
6827         (output_call_frame_info, output_die): Likewise.
6828         (output_aranges, output_line_info): Likewise.
6829
6830 2001-03-15  Bruce Korb  <bkorb@gnu.org>
6831
6832         * gcc.c(main): make more rigorous
6833         * collect2.c(main): guard against ignoring SIGCHLD
6834         * protoize.c(main): ditto
6835         * gcc/fixinc/fixincl.c(initialize): ditto
6836
6837 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
6838
6839         * sdbout.c (sdbout_symbol): Use DECL_RTL_SET_P, SET_DECL_RTL.
6840         (sdbout_parms): Likewise.
6841
6842 Thu Mar 15 12:57:14 2001  Jeffrey A Law  (law@cygnus.com)
6843
6844         * reload1.c (reload_cse_simplify_set): For LOAD_EXTEND_OP, do not
6845         "widen" a destination that is already wider than a word.  Also do
6846         not widen if LOAD_EXTEND_OP is NIL for the given mode.
6847
6848 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
6849
6850         * config/ia64/ia64.c (ia64_sched_reorder): Remove debugging aids.
6851
6852 Thu Mar 15 11:30:31 EST 2001  John Wehle  (john@feith.com)
6853
6854         * i960.h (ROUND_TYPE_SIZE_UNIT): Fix typo.
6855
6856 Thu Mar 15 11:24:29 EST 2001  John Wehle  (john@feith.com)
6857
6858         * i960.h (i960_maxbitalignment,
6859         i960_last_maxbitalignment): Declare.
6860         * i960.c (i960_maxbitalignment,
6861         i960_last_maxbitalignment): Make global.
6862         (process_pragma): Delete.
6863         (i960_pr_align, i960_pr_noalign): Move from here ...
6864         * i960-c.c: ... to this new file.
6865         * t-960bare (i960-c.o): New rule.
6866         * t-vxworks960 (i960-c.o): Likewise.
6867         * config.gcc (i960-*-*): Define c_target_objs and
6868         cxx_target_objs.
6869
6870 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
6871
6872         * cselib.c (hash_rtx): For REG and MEM, just use value of expression
6873         without adding in rtx code and mode.
6874
6875         * alias.c (init_alias_analysis): Don't use any rtx whose value
6876         varies as a known value.
6877         Delete a superfluous test.
6878
6879         * config/ia64/ia64.c (maybe_rotate): New function, broken out of
6880         ia64_sched_reorder.
6881         (ia64_sched_reorder): Call maybe_rotate; also rotate after
6882         scheduling a stop bit.
6883         (ia64_emit_nops): Correctly handle ASMs.
6884
6885 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
6886
6887         * varasm.c (assemble_variable): Use DECL_RTL_SET_P.
6888
6889 2001-03-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6890
6891         * cpp.texi: Update documentation for -include and -imacros.
6892         * cppfiles.c (struct include_file): Remove "defined" memeber.
6893         (find_or_create_entry): Make a copy of the file name, and
6894         simplify it.
6895         (open_file): Update to ensure we use the simplified filename.
6896         (stack_include_file): Don't set search_from.
6897         (cpp_included): Don't simplify the path name here.
6898         (find_include_file): New prototype.  Call search_from to
6899         get the start of the "" include chain.  Don't simplify the
6900         filenames here.
6901         (_cpp_execute_include): New prototype.  Move diagnostics to
6902         do_include_common.  Update.
6903         (_cpp_pop_file_buffer): Don't set defined.
6904         (search_from): New prototype.  Use the preprocessor's cwd
6905         for files included from the command line.
6906         (read_name_map): Don't simplify the pathname here.
6907         * cpphash.h (enum include_type): New.
6908         (struct buffer): Delete search from.  New search_cached.
6909         (_cpp_execute_include): Update prototype.
6910         * cppinit.c (do_includes): Use _cpp_execute_include.
6911         * cpplib.c (do_include_common): New function.
6912         (do_include, do_include_next, do_import): Use it.
6913
6914 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
6915
6916         * varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME, not the
6917         contents of the RTL, to determine the name of the object.
6918
6919 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
6920
6921         * tree.h (DECL_RTL): Allocate RTL lazily.
6922         (SET_DECL_RTL): New macro.
6923         (DECL_RTL_SET_P): Likewise.
6924         (COPY_DECL_RTL): Likewise.
6925         (DECL_RTL_IF_SET): Likewise.
6926         * varasm.c (make_decl_rtl): Add assertions about the kind of
6927         declaration we are processing.
6928         * c-decl.c (duplicate_decls): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
6929         (start_decl): Likewise.
6930         (finish_decl): Likewise.
6931         * c-semantics.c (emit_local_var): Likewise.
6932         * calls.c (expand_call): Likewise.
6933         * dbxout.c (dbxout_symbol): Likewise.
6934         * emit-rtl.c (unshare_all_rtl): Likewise.
6935         (unshare_all_decls): Likewise.
6936         (reset_used_decls): Likewise.
6937         * expr.c (store_constructor): Likewise.
6938         (safe_from_p): Likewise.
6939         (expand_expr): Likewise.
6940         * function.c (put_var_into_stack): Likewise.
6941         (instantiate_decls_1): Likewise.
6942         (assign_parms): Likewise.
6943         (expand_function_start): Likewise.
6944         (expand_function_end): Likewise.
6945         * ggc-common.c (gcc_mark_trees): Likewise.
6946         * integrate.c (function_cannot_inline_p): Likewise.
6947         (copy_decl_for_inlining): Likewise.
6948         (expand_inline_function): Likewise.
6949         (integrate_parm_decls): Likewise.
6950         (integrate_decl_tree): Likewise.
6951         * print-tree.c (print_node): Likewise.
6952         * reg-stack.c (stack_result): Likewise.
6953         * stmt.c (label_rtx): Likewise.
6954         (expand_return): Likewise.
6955         (expand_decl): Likewise.
6956         (expand_decl_cleanup): Likewise.
6957         (expand_anon_union_decl): Likewise.
6958         * toplev.c (check_global_declarations): Likewise.
6959         (rest_of_decl_compilation): Likewise.
6960         * tree.c (simple_cst_equal): Likewise.
6961         * objc/objc-act.c (generate_static_references): Likewise.
6962
6963 2001-03-14  Zack Weinberg  <zackw@stanford.edu>
6964
6965         * aclocal.m4 (gcc_AC_C_CHARSET, gcc_AC_C_COMPILE_BIGENDIAN,
6966         gcc_AC_C_FLOAT_FORMAT): New macros.
6967         * configure.in: Add AC_PROG_CPP after CC tests;
6968         gcc_AC_C_CHARSET and gcc_AC_C_FLOAT_FORMAT after the sizeof
6969         tests; and gcc_AC_C_COMPILE_BIGENDIAN after gcc_AC_C_CHAR_BIT.
6970         * configure, config.in: Regenerate.
6971
6972         * config/a29k/xm-a29k.h, config/arc/xm-arc.h,
6973         config/arm/xm-arm.h, config/c4x/xm-c4x.h,
6974         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
6975         config/i370/xm-linux.h, config/i370/xm-oe.h,
6976         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
6977         config/m68k/xm-m68k.h, config/mips/xm-mips.h,
6978         config/pa/xm-linux.h, config/pa/xm-pa.h,
6979         config/rs6000/xm-lynx.h, config/rs6000/xm-mach.h,
6980         config/rs6000/xm-rs6000.h, config/rs6000/xm-sysv4.h,
6981         config/sparc/xm-sparc.h, config/vax/xm-vax.h,
6982         config/we32k/xm-we32k.h: Delete.
6983
6984         * config/i370/xm-mvs.h, config/m88k/m88k.h,
6985         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
6986         config/vax/xm-vms.h: Don't define any of:
6987         HOST_FLOAT_FORMAT, HOST_EBCDIC, HOST_WORDS_BIG_ENDIAN
6988
6989         * config/rs6000/aix.h: Define COLLECT_EXPORT_LIST here.
6990
6991         * config.gcc: Remove references to deleted files.
6992         (i370-*-opened*): Use i370/xm-mvs.h (which now defines only
6993         FATAL_EXIT_CODE, which is the same between oe and mvs).
6994
6995 2001-03-14  DJ Delorie  <dj@redhat.com>
6996             Vladimir Makarov  <vmakarov@redhat.com>
6997
6998         * config/i960/i960.c (i960_function_prologue): Compute size of
6999         frame according to number of registers actually saved there.
7000
7001 2001-03-14  Richard Henderson  <rth@redhat.com>
7002
7003         * expr.c (emit_move_insn_1): Fix else if around #endif.
7004
7005 Wed Mar 14 22:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
7006                               Vojtech Pavlik
7007
7008         * md.texi (machine constraints): Document 'Q', 'R', 'e' and 'Z'
7009         constraints.
7010
7011 Wed Mar 14 22:26:10 CET 2001  Jan Hubicka  <jh@suse.cz>
7012
7013         * i386.c (ix86_cmodel_string, ix86_cmodel): Define.
7014         (override_options): Parse cmodel string.
7015         (x86_64_sign_extended_value, x86_64_zero_extended_value): New.
7016         * i386.h (TARGET_OPTIONS): Add "cmodel".
7017         (EXTRA_CONSTRAINT): Recognize 'e' and 'Z'.
7018         (enum cmodel): New.
7019         (ix86_cmodel_string, ix86_cmodel): Declare.
7020
7021 Wed Mar 14 22:26:54 CET 2001  Jan Hubicka  <jh@suse.cz>
7022
7023         Spot by Matt Kraai:
7024         * i386.h (GENERAL_REG_P): Add missing REG_P.
7025
7026 2001-03-14  Laurynas Biveinis  <lauras@softhome.net>
7027
7028         * configure.in: Use $gcc_cv_as instead of $as.
7029         * configure: Regenerated.
7030
7031 2001-03-14  Neil Booth  <neil@daikokuya.demon.co.uk>
7032
7033         * cppfiles.c (stack_include_file): Only increase the include
7034         count if we actually process the file properly, as opposed
7035         to treating it as length zero.  Only call read_include_file
7036         if not DO_NOT_REREAD.  Handle the -H include file output
7037         here.
7038         (read_include_file): Remove now redundant DO_NOT_REREAD check.
7039         (cpp_included, find_include_file): Simplify pathnames after
7040         remapping them.  If remapping, don't use the remapped file
7041         name's buffer as our scratch buffer.
7042         (cpp_pop_file_buffer): Replace the multiple include macro
7043         only if it isn't yet set.
7044         (read_name_map): Simplify remapped names when reading in.
7045         (remap_filename): Move code to code path that uses it.
7046         (_cpp_simplify_pathname): Return the input pointer.
7047         * cpphash.h (_cpp_simplify_pathname): Update prototype.
7048
7049 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
7050
7051         * expr.c (expand_expr): Revove bogus conditional.
7052
7053 Wed Mar 14 19:29:50 CET 2001  Jan Hubicka  <jh@suse.cz>
7054
7055         * expr.c (emit_move_insn_1): Guard PUSH_ROUNDING use by ifdef.
7056
7057 2001-03-14  Jakub Jelinek  <jakub@redhat.com>
7058
7059         * reg-stack.c (stack_result): Unconditionally use
7060         FUNCTION_OUTGOING_VALUE resp. FUNCTION_VALUE.
7061
7062 Wed Mar 14 16:36:25 CET 2001  Jan Hubicka  <jh@suse.cz>
7063
7064         * expr.c (emit_move_insn_1):  Split push of complex value when
7065         no suitable push instruction exist.
7066
7067         * i386.md (QImode move/add/shift patterns): Use ANY_QI_REG_P
7068         instead of QI_REG_P.
7069
7070 Tue Mar 13 22:22:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7071
7072         * alias.c (handled_component_p, can_address_p): New functions.
7073         (get_alias_set): Use them.
7074
7075 2001-03-13  Jim Wilson  <wilson@redhat.com>
7076
7077         * config/ia64/ia64.c (find_gr_spill): Subtract frame_pointer_needed
7078         from 80 in try_locals code.
7079         (ia64_expand_prologue): Add comment pointing to find_gr_spill change.
7080
7081 2001-03-13  Zack Weinberg  <zackw@stanford.edu>
7082
7083         * aclocal.m4 (gcc_AC_COMPILE_CHECK_SIZEOF, gcc_AC_C_CHAR_BIT,
7084         gcc_AC_C_LONG_LONG): New.
7085         * configure.in: Use them.  Probe the size of short, int, long,
7086         and long long/__int64 if we have them.  Move all the AC_C_*
7087         checks together, except gcc_AC_C_CHAR_BIT which has to go
7088         after AC_CHECK_HEADERS(limits.h).
7089         Take hwint.h out of host_xm_file and build_xm_file.
7090
7091         * hwint.h: Unconditionally define HOST_BITS_PER_CHAR,
7092         HOST_BITS_PER_SHORT, HOST_BITS_PER_INT, HOST_BITS_PER_LONG,
7093         and HOST_BITS_PER_LONGLONG in terms of SIZEOF_* and CHAR_BIT.
7094         Move the HOST_WIDEST_INT setup logic here from system.h.
7095         Provide HOST_WIDEST_INT even if HOST_BITS_PER_LONGLONG is not
7096         defined.
7097         * system.h: Include hwint.h after limits.h.  HOST_WIDEST_INT
7098         is now handled by hwint.h.
7099
7100         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms.h,
7101         config/c4x/xm-c4x.h, config/i370/xm-oe.h,
7102         config/ia64/xm-ia64.h: Don't define any of:
7103         HOST_BITS_PER_LONG, HOST_BITS_PER_CHAR, HOST_BITS_PER_SHORT,
7104         HOST_BITS_PER_LONGLONG.
7105
7106         * config/alpha/xm-alpha.h, config/dsp16xx/xm-dsp16xx.h,
7107         config/h8300/xm-h8300.h, config/mips/iris6.h,
7108         config/mn10200/xm-mn10200.h, config/pa/xm-pa64hpux.h,
7109         config/sparc/xm-sp64.h: Delete.
7110         * config.gcc: Remove references to deleted files.
7111
7112         * config/arm/xm-arm.h, config/mips/xm-mips.h: Don't define
7113         HOST_FLOAT_FORMAT to IEEE_FLOAT_FORMAT.
7114         * config/i370/xm-linux.h: Clarify floating-point situation in
7115         a comment.
7116
7117 2001-03-13  Neil Booth  <neil@daikokuya.demon.co.uk>
7118
7119         * cppfiles.c (NO_INCLUDE_PATH): New macro.
7120         (find_include_file): Decide here which part of the include
7121         chain to start the search.  Complain about an empty include
7122         chain in all cases apart from an abolsute file name.
7123         (_cpp_execute_include): Don't choose the search chain here.
7124         Don't call handle_missing_include in the case of an empty
7125         include chain.
7126         (_cpp_compare_file_date): Don't choose the search chain here.
7127         * cpplib.c (do_include_next): Move the in-main-file diagnostic
7128         here from _cpp_execute_include.  Behave like #include if
7129         we're in the main file.
7130
7131 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7132
7133         * system.h (malloc, realloc, calloc, strdup): Only poison these
7134         tokens when IN_GCC is defined.
7135
7136 Tue Mar 13 14:38:44 CET 2001  Jan Hubicka  <jh@suse.cz>
7137
7138         * i386.md (abs?f expander): Support SSE case.
7139         (abd?f_if): Add new "USE"; add splitters.
7140
7141 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7142
7143         * cpp.texi (poison): Explain the macro expansion exception.
7144
7145 2001-03-13  Jakub Jelinek  <jakub@redhat.com>
7146
7147         * expr.c (store_expr): Add dont_store_target.  If temp is already in
7148         target before copying to reg, don't store it into target again.
7149
7150 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
7151
7152         * cppinternals.texi: Update for file handling.
7153
7154 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
7155
7156         * emit-rtl.c (remove_unnecessary_notes): Reverse Richard Kenner's
7157         2001-02-24 which broke building the Java library.
7158         * function.c (identify_blocks): Likewise.
7159         (all_blocks): Likewise.
7160         * integrate.c (integrate_decl_tree): Likewise.
7161         * print-tree.c (print_node): Likewise.
7162         * tree.h (BLOCK_NUMBER): Likewise.
7163         (struct tree_block): Likewise.
7164
7165 2001-03-12  David Edelsohn  <edelsohn@gnu.org>
7166
7167         * rs6000/aix51.h (CPP_SPEC, CPLUSPLUS_CPP_SPEC): Fix typo in
7168         __WCHAR_TYPE__ definition.
7169         (WCHAR_TYPE_SIZE): #undef before #define.
7170
7171 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
7172
7173         * cppfiles.c: Update comments.
7174         (destroy_include_file_node): Rename destroy_node.
7175         (find_or_create_entry): New function.
7176         (open_file, _cpp_fake_include): Use it.
7177         (handle_missing_header): New function, broken out of
7178         _cpp_execute include.  Don't segfault if there is no
7179         system or quoted path.
7180         (_cpp_execute_include): Use handle_missing_header.
7181
7182 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
7183
7184         * jump.c (reversed_comparison_code_parts): Reverse Jan Hubricka's
7185         2001-02-28 patch because it breaks arm-linux and mips-sgi-irix6.5.
7186
7187 Mon Mar 12 14:05:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7188
7189         * flow.c (insn_dead_p): Don't consider two memrefs equivalent
7190         unless anti_dependence says they are.
7191         * alias.c (objects_must_conflict): If neither has a type specified,
7192         they must conflict.
7193
7194 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
7195             David Billinghurst <David.Billinghurst@riotinto.com>
7196
7197         * config/mips/iris5.h:  Change WCHAR_TYPE to int.
7198
7199 Mon Mar 12 16:32:21 CET 2001  Jan Hubicka  <jh@suse.cz>
7200
7201         * i386.md (trunctfdf2_2): Rename missnamed pattern.
7202         (*_one_bit): Remove type on the match_operand in attributes.
7203
7204 Mon Mar 12 16:27:56 CET 2001  Jan Hubicka  <jh@suse.cz>
7205
7206         * i386.c: Commit forgotten hunk in previous patch.
7207         (regclass_map): Add extended registers.
7208         (dbx_register_map): Add missing frame register.
7209
7210 Mon Mar 12 15:41:08 CET 2001  Jan Hubicka  <jh@suse.cz>
7211
7212         * i386.md (all XFmode patterns except swapxf): Disable for 64bit.
7213
7214         * i386.md (x86_sahf_1): Disable for 64bit.
7215         (popsi*, pophi*): Likewise.
7216         (pushqi, pushhi): Likewise.
7217         (movdi, pushdi): Likewise.
7218         (zero extend DImode splitter): Likewise.
7219         (adddi, minusdi splitter): Likewise.
7220         (umulsidi): Likewise.
7221         (umulsi): New.
7222         (mulsidi): Disable for 64bit
7223         (lshift:DI/ashift:DI): Disable for 64bit.
7224         (loop patterns): Likewise.
7225         (call_pop, call_value_pop expanders and patterns): Likewise.
7226         (prologue_get_pc): Likewise.
7227         (leave): Likewise.
7228         (fcmovDI pattern and splitter): Likewise.
7229         (movdfcc_1_rex64): New.
7230
7231 Mon Mar 12 15:16:36 CET 2001  Jan Hubicka  <jh@suse.cz>
7232
7233         * i386.h (VALID_FP_MODE_P): XFmode is invalid on x86_64.
7234         (MODES_TIEABLE_P): QImodes and DImodes are tiable on x86_64.
7235         (HARD_REGNO_CALLER_SAVE_MODE): Save QImodes as QImodes for x86_64.
7236         (STATIC_CHAIN_REGNUM): Set to r10 for x86_64.
7237         (PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM for x86_64.
7238         (LIMIT_RELOAD_CLASS): Avoid limiting of QImodes on x86_64.
7239         (SECONDARY_OUTPUT_RELOAD_CLASS): No need to QImodes.
7240         (PUSH_ROUNDING): x86_64 rounds to 64bits.
7241         (CONSTANT_ADDRESS_P): Accept CONST_DOUBLE.
7242         (REGPARM_MAX): Set to 6 for x86_64.
7243         (SSE_REGPARM_MAX): Set to 16 for x86_64.
7244         * i386.c (hard_regno_mode_ok): QImodes can be in all general purpose
7245         registers.
7246
7247         * (patterns that does use upper halves): Update constraints
7248         'q' to 'Q' and 'r' to 'R'.
7249         (cmpqi_ext_1): Disable for 64bit.
7250         (cmpqi_ext_3_insn): Likewise.
7251         (movqi_extzv_1): Likewsie.
7252         (addqi_ext_1): Liekwsie
7253         (testqi_ext_1): Liekwsie
7254         (andqi_ext_1): Liekwsie
7255         (xorqi_ext_1): Liekwsie
7256         (cmpqi_ext_1_rex64): New.
7257         (cmpqi_ext_3_insn_rex64): Likewise.
7258         (movqi_extzv_1_rex64): Likewsie.
7259         (addqi_ext_1_rex64): Liekwsie
7260         (testqi_ext_1_rex64): Liekwsie
7261         (andqi_ext_1_rex64): Liekwsie
7262         (xorqi_ext_1_rex64): Liekwsie
7263
7264 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
7265
7266         * configure.in: Move check for unsigned enumerated bitfields
7267         to macro in aclocal.m4.  Disable it for now.
7268         * configure, config.in: Regenerate.
7269         * system.h: Don't do anything with ONLY_INT_FIELDS.  Use the
7270         unsigned-int form of ENUM_BITFIELD() unless being compiled by GCC.
7271         * varasm.c (struct rtx_const): Use ENUM_BITFIELD().  Move enum
7272         kind above its first use.
7273
7274         * config/xm-interix.h, config/alpha/xm-alpha.h,
7275         config/i370/xm-linux.h, config/i386/xm-beos.h,
7276         config/i386/xm-mingw32.h, config/mips/xm-mips.h,
7277         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
7278         config/rs6000/xm-beos.h, config/rs6000/xm-sysv4.h,
7279         Don't define ONLY_INT_FIELDS under any circumstances.
7280
7281         * config/pa/xm-pa.h: Don't define __BSD_NET2__.
7282
7283         * config/pa/xm-pahpux.h, config/pa/xm-papro.h,
7284         config/sparc/xm-sysv4.h: Delete - now identical with some
7285         other xm header.
7286         * config.gcc (hppa targets): Replace xm-pahpux.h and
7287         xm-papro.h with implicit xm-pa.h.
7288         (sparc targets): Replace xm-sysv4.h with implicit or explicit
7289         xm-sparc.h.
7290
7291 2001-03-12  Aldy Hernandez  <aldyh@redhat.com>
7292
7293         * reload1.c (reload_cse_simplify): Call reload_cse_simplify_set
7294         before reload_cse_noop_set_p.
7295
7296 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
7297
7298         * config.gcc: Where xm-host.h used to include another
7299         xm-host.h, list the nested header directly in xm_file.  Remove
7300         references to deleted files.  Can now use sparc/xm-sp64.h for
7301         sparcv9-*-solaris*.
7302
7303         * config/xm-linux.h, config/arm/xm-linux.h,
7304         config/i386/xm-dos.h, config/i386/xm-gnu.h,
7305         config/i386/xm-linux.h, config/i386/xm-openbsd.h,
7306         config/i860/xm-fx2800.h, config/m68k/xm-atari.h,
7307         config/m68k/xm-linux.h, config/m68k/xm-sun3.h,
7308         config/sparc/xm-linux.h, config/sparc/xm-sysv4-64.h:
7309         Delete.
7310
7311         * config/alpha/xm-alpha-interix.h: Don't include alpha/xm-alpha.h.
7312         * config/mips/xm-iris5.h: Don't include mips/xm-mips.h.  Don't
7313         bother to wrap #undef in #ifdef.
7314         * config/pa/xm-linux.h, config/rs6000/xm-sysv4.h:
7315         Don't include xm-linux.h.
7316         * config/sparc/xm-sp64.h: Don't include sparc/xm-sparc.h.
7317
7318         * configure.in: Wrap regexps using [] in changequote block.
7319         Use expr : not echo | grep.  Simplify regexps.
7320         * configure: Regenerate.
7321
7322         56 xm-files remain, 22 xm-arch.
7323
7324 2001-03-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7325
7326         * mips-tfile.c: Cast arg to PTR when specifier is HOST_PTR_PRINTF.
7327         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
7328         (local_index, local_rindex): Delete, use strchr/strrchr instead.
7329         (copy_object): Fix format specifier vs argument mismatch.
7330
7331         * mips-tdump.c: Make local functions static.
7332         (rindex): Don't #undef.
7333         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
7334         (fatal, fancy_abort): Delete.
7335         (read_seek): Avoid signed/unsigned compare.
7336
7337 Sun Mar 11 17:01:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7338
7339         * combine.c (try_combine): Fix error in change to try original
7340         register.
7341         (gen_rtx_combine): Do same as gen_rtx for now.
7342
7343 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
7344
7345         * configure.in: AC_SUBST xm_defines.
7346         * configure: Regenerate.
7347         * Makefile.in: Set DEFINES=$(xm_defines) when building
7348         tconfig.h.
7349
7350 2001-03-11  Neil Booth  <neil@daikokuya.demon.co.uk>
7351
7352         * cppfiles.c (INCLUDE_LEN_FUDGE, ENOMEM): Delete.
7353         (cpp_included, find_include_file): Update.
7354         (_cpp_compare_file_date): Make else unconditional.
7355
7356 2001-03-10  kaz Kojima <kkojima@rr.iij4u.or.jp>
7357
7358         * config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.
7359
7360 2001-03-10  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
7361
7362         * config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics.
7363         * config/sh/lib1funcs.asm (mulsi3): Convert mulu to mulu.w.
7364
7365 Sat Mar 10 22:42:05 2001  Alexandre Oliva  <aoliva@redhat.com>
7366
7367         * tree.c (build_common_tree_nodes_2): Don't copy va_list_type_node
7368         if it's a record type.
7369
7370 Sat Mar 10 17:52:54 2001  Christopher Faylor <cgf@cygnus.com>
7371
7372         * config/i386/cygwin.h: Make ../w32api a system directory.  Reorganize
7373         mingw includes slightly.
7374
7375 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7376
7377         * system.h (malloc, realloc, calloc, strdup, bzero, bcmp, rindex):
7378         #undef token before poisoning it.
7379
7380 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7381
7382         * alpha.c (check_float_value): Use memcpy, not bcopy.
7383
7384         * m32r.c (m32r_sched_reorder): Likewise.
7385
7386         * vax.c (check_float_value): Likewise.
7387
7388 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
7389
7390         * toplev.c (file_name_nondirectory): Remove.
7391         * toplev.h: Similarly.
7392         * dwarf2out.c (compute_section_prefix): Use lbasename instead
7393         of file_name_nondirectory.
7394
7395 Sat Mar 10 10:36:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7396
7397         * mips-tdump.c (read_seek): Call xmalloc, not malloc.
7398         * mips-tfile.c: Don't #undef rindex; not used.
7399
7400 Sat Mar 10 14:34:59 CET 2001  Jan Hubicka  <jh@suse.cz>
7401
7402         * i386.h (DBX_REGISTER_NUMBER): Return proper values for 64bits.
7403         (dbx64_register_map): Declare.
7404         (RETURN_ADDR_RTX): Fix for 64bit.
7405         (DWARF_FRAME_RETURN_COLUMN): Set to 16 for 64bit.
7406         (INCOMING_FRAME_SP_OFFSET): Set to 8.
7407         * i386.c (dbx64_register_map): New global array.
7408         * beos-elf.h, freebsd.h, i386-interix.h, i386elf.h,
7409         linux.h (DBX_REGISTER_REGNUMBER): Use dbx64_register_map
7410         for 64bits.
7411
7412 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
7413
7414         * cppfiles.c (search_from): Use lbasename.
7415         * mkdeps.c (deps_add_default_target): Use lbasename.
7416
7417 2001-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7418
7419         * fixinc/server.c (load_data, run_shell): Use xmalloc, xrealloc &
7420         xcalloc in lieu of malloc, realloc & calloc.
7421
7422         * gencheck.c (xmalloc): Use really_call_malloc, not malloc.
7423
7424         * gengenrtl.c (xmalloc): Likewise.
7425
7426         * gensupport.c (xcalloc, xrealloc, xmalloc): Use the
7427         really_call_* memory allocation routines.
7428
7429         * stmt.c (check_for_full_enumeration_handling): Use
7430         really_call_calloc, not calloc.
7431
7432         * system.h (really_call_malloc, really_call_calloc,
7433         really_call_realloc): Define.
7434         (malloc, realloc, calloc, strdup, bzero, bcmp, rindex): Poison.
7435
7436 Fri Mar  9 18:39:19 2001  Jeffrey A Law  (law@cygnus.com)
7437
7438         * pa.md (builtin_longjmp): Rework slightly to work for PA64 too.
7439
7440 2001-03-09  Nicola Pero <n.pero@mi.flashnet.it>
7441
7442         * configure: Rebuilt.
7443         * configure.in: Only use `lang_requires' for languages athat are
7444         actually enabled.
7445
7446 2001-03-09  Joseph S. Myers  <jsm28@cam.ac.uk>
7447
7448         * invoke.texi: Fix typo.
7449         * gcc.1: Regenerate.
7450
7451 2001-03-09  Zack Weinberg  <zackw@stanford.edu>
7452
7453         * configure.in: Prune nonexistent files from build_xm_file,
7454         xm_file, and host_xm_file lists.  Warn unless they're
7455         $cpu/xm-$cpu.h.
7456         Don't generate *config.h here.
7457         AC_SUBST all variables needed to generate *config.h.
7458         * configure: Regenerate.
7459         * mkconfig.sh: New helper script, from code removed from
7460         configure.in.
7461         * Makefile.in: Zap all MALLOC variables - no longer used
7462         anywhere, and malloc.c doesn't exist.
7463         Substitute in variables needed to generate *config.h.
7464         Stop lying about the dependencies contained in CONFIG_H and
7465         GCONFIG_H.
7466         (HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
7467         (config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
7468         cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
7469         (all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
7470         $(TM_P_H), etc. as appropriate.
7471
7472         * config.gcc: Zap references to deleted files.
7473         * ggc-none.c: Don't include rtl.h or tm_p.h.
7474
7475         * config/i386/xm-beos.h, config/i386/xm-dgux.h,
7476         config/i386/xm-djgpp.h, config/i386/xm-dos.h,
7477         config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
7478         config/i386/xm-linux.h, config/i386/xm-linux.h,
7479         config/i386/xm-next.h, config/i386/xm-openbsd.h,
7480         config/i386/xm-sun.h, config/i386/xm-sysv3.h:
7481         Don't include i386/xm-i386.h.
7482
7483         * config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
7484         config/i386/xm-i386.h, config/i860/xm-i860.h,
7485         config/i960/xm-i960.h, config/mcore/xm-mcore.h,
7486         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
7487         config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
7488         Delete (empty except comments, #includes of other deleted
7489         files, and macros used nowhere).
7490
7491 Fri Mar  9 20:05:27 CET 2001  Jan Hubicka  <jh@suse.cz>
7492
7493         * i386.h (MAX_WCHAR_TYPE_SIZE): New constant to keep tradcpp
7494         independent on TARGET_FLAGS.
7495
7496 Fri Mar  9 19:52:52 CET 2001  Jan Hubicka  <jh@suse.cz>
7497
7498         * i386.h (FIRST_PSEUDO_REGISTER): Set to 53.
7499
7500         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ONES): Add
7501         extended ones.
7502         (CONDITIONAL_REGISTER_USAGE): Set proper values according to
7503         TARGET_64BIT.
7504         (FIRST_REX_INT_REG, LAST_REX_INT_REG, FIRST_REX_SSE_REG,
7505         LAST_REX_SSE_REG): define.
7506         (enum reg_class): Add 'LEGACY_REGS'
7507         (REG_CLASS_CONTENTS): Likewise; add extended registers.
7508         (SSE_REGNO_P): Recognize extended registers.
7509         (ANY_QI_REG_P, REX_INT_REGNO_P, REX_INT_REG_P): New.
7510         (REG_CLASS_FROM_LETTER): Add 'R' and 'Q'.
7511         (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P,
7512         REG_OK_FOR_BASE_NONSTRICT_P): Recognize REX registers.
7513         (REG_OK_FOR_STRREG_NONSTRICT_P, REG_OK_FOR_STRREG_STRICT_P,
7514          REG_OK_FOR_STRREG_P): Remove.
7515         (HI_REGISTER_NAMES): Add extended registers.
7516         (ADDITIONAL_REGISTER_NAMES): Likewise.
7517         (QI_REGISTER_NAMES): Add 8bit extended registers.
7518         (DEBUG_REG): Support extended registers.
7519         * i386.c (regclass_map): Add extended registers.
7520         (dbx_register-map): Likewise.
7521         (svr4_dbx_register_map): Likewise.
7522         (print_reg): Support extended registers.
7523         (print_operand): Support 64bit operands.
7524
7525 Fri Mar  9 19:37:46 CET 2001  Jan Hubicka  <jh@suse.cz>
7526
7527         * i386.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 128bit for x86_64
7528         (BOOL_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
7529          FLOAT_TYPE_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE,
7530          DOUBLE_TYPE_SIZE, LONG_LONG_TYPE_SIZE): New constants.
7531         (BITS_PER_WORD, UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY,
7532          STACK_BOUNDARY): Set properly for 64bits.
7533         (MAX_BITS_PER_WORD, MIN_UNITS_PER_WORD): New constants.
7534         (EMPTY_FIELD_BOUNDARY): Define using BITS_PER_WORD.
7535         (BIGGEST_FIELD_ALIGNMENT): Set to 128 for 64bits.
7536         (MOVE_MAX): Set to 16.
7537         (MOVE_MAX_PIECES): 8 for 64bit.
7538         (Pmode): Set to SImode.
7539
7540 Fri Mar  9 09:00:36 2001  Mike Stump  <mrs@wrs.com>
7541
7542         * cselib.c (hash_rtx): Ensure that hash isn't zero upon return.
7543
7544 Fri Mar  9 17:38:08 CET 2001  Jan Hubicka  <jh@suse.cz>
7545
7546         * i386.h (mask_64bit): New constant.
7547         (target_64bit): New macro.
7548         (target_options): Add '64'/'32'
7549         (target_default): Define.
7550         * cygwin.h freebsd-aout.h i386-interix.h i386.h i386elf.h isc.h
7551         isccoff.h netbsd.h next.h openbsd.h p sco.h sco5.h scodbx.h sequent.h
7552         unix.h win32.h (TARGET_DEFAULT): Rename to TARGET_SUBTARGET_DEFAULT.
7553
7554 Thu Mar  8 23:36:56 2001  Jeffrey A Law  (law@cygnus.com)
7555
7556         * config/pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Disable.
7557
7558 Thu Mar  8 23:29:37 2001  John Wehle  (john@feith.com)
7559
7560         * rtlanal.c (rtx_varies_p): Check operand 0 of a
7561         LO_SUM unless for_alias is set.
7562
7563 2001-03-08  Stan Shebs  <shebs@apple.com>
7564
7565         * objc/objc-act.c: Fix old typos in comments, add comments for
7566         various functions.
7567         (hash_init): Fix file name in error message.
7568         (hash_enter): Ditto.
7569         (hash_add_attr): Ditto.
7570         (continue_class): Ditto.
7571
7572 2001-03-08  Bruce Korb  <bkorb@gnu.org>
7573
7574         gcc.c(main): ensure SIGCHLD handling is set to SIG_DFL so that
7575         wait4() can receive the signal.
7576
7577 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7578
7579         * fixinc/inclhack.def (AAB_dgux_int_varargs): Don't use HTML
7580         entities.
7581         * fixinc/fixincl.x: Regenerate.
7582
7583 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7584
7585         * fixinc/inclhack.def (AAA_standards): Undo <standards.h> breakage
7586         on Tru64 UNIX.
7587         * fixinc/fixincl.x: Regenerate.
7588
7589 2001-03-08  Richard Henderson  <rth@redhat.com>
7590
7591         * configure.in (HAVE_AS_LEB128): New assembler check.
7592         * configure, config.in: Rebuilt.
7593
7594 Thu Mar  8 19:54:04 CET 2001  Jan Hubicka  <jh@suse.cz>
7595
7596         * reg-stack.c (move_for_stack_reg): Avoid non-poping fst for
7597         TFmode too.
7598
7599 2001-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7600
7601         * config/ns32k/xm-pc532-min.h, config/we32k/xm-we32k.h: Delete
7602         references to the MAXPATHLEN macro.
7603
7604         * config/alpha/xm-alpha.h, config/arm/xm-arm.h,
7605         config/i386/xm-cygwin.h, config/xm-linux.h: Delete references to
7606         the POSIX macro.
7607
7608         * config/i386/xm-gnu.h, config/xm-gnu.h,
7609         config/alpha/xm-openbsd.h, config/i386/xm-openbsd.h,
7610         config/m68k/xm-openbsd.h, config/mips/xm-openbsd.h,
7611         config/sparc/xm-openbsd.h, config/xm-openbsd.h: Delete empty
7612         and/or unused files.
7613
7614         * config.gcc: Define POSIX in xm_defines as appropriate in lieu of
7615         doing so in various xm-*.h files.
7616
7617 Thu Mar  8 06:32:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7618
7619         * config/i386/i386.md (clrstrsi): Call ix86_set_move_mem_attrs.
7620
7621 2001-03-08  Alexandre Oliva  <aoliva@redhat.com>
7622
7623         * configure.in (enable_shared): Support per-package shared-library
7624         enabling.
7625         * configure: Rebuilt.
7626
7627 2001-03-07  David Edelsohn  <edelsohn@gnu.org>
7628
7629         * rs6000.md (cr logic): Add original POWER mnemonic alternative
7630         for crnot.  Set operands[5] in splitter.
7631
7632 2001-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7633
7634         * config/i370/xm-mvs.h, config/i370/xm-oe.h,
7635         config/i386/xm-beos.h, config/i386/xm-mingw32.h,
7636         config/m88k/xm-m88k.h, config/mips/xm-iris6.h,
7637         config/mips/xm-openbsd.h, config/pa/xm-pa64hpux.h,
7638         config/pa/xm-pahpux.h, config/rs6000/xm-beos.h,
7639         config/rs6000/xm-darwin.h, config/rs6000/xm-mach.h,
7640         config/rs6000/xm-rs6000.h, config/xm-interix.h: Delete references
7641         to the USG macro.
7642
7643         * config/vax/xm-vaxv.h, config/a29k/xm-unix.h,
7644         config/i370/xm-i370.h, config/i386/xm-dgux.h,
7645         config/i386/xm-sun.h, config/i386/xm-sysv3.h,
7646         config/m68k/xm-tower.h, config/m68k/xm-aux.h,
7647         config/m68k/xm-hp320.h, config/m68k/xm-amix.h,
7648         config/m68k/xm-altos3068.h, config/m68k/xm-mot3300.h,
7649         config/m68k/xm-m68kv.h, config/m88k/xm-openbsd.h,
7650         config/mips/xm-nws3250v4.h, config/mips/xm-sysv.h,
7651         config/mips/xm-iris3.h, config/mips/xm-iris4.h, config/xm-svr3.h,
7652         config/xm-svr4.h, config/sparc/xm-pbd.h, config/clipper/xm-clix.h:
7653         Delete unused and/or empty files.
7654
7655         * config.gcc: Define USG in xm_defines as appropriate.  Define
7656         POSIX in lieu of xm-svr4.h.  Delete all references to the SVR3
7657         macro.  Remove deleted xm-* files from $xm_files variable.
7658
7659 2001-03-07  Tom Tromey  <tromey@redhat.com>
7660
7661         * configure: Rebuilt.
7662         * configure.in: Allow config-lang.in to set `lang_requires' to list
7663         of other required languages.
7664
7665 2001-03-07  Andrew MacLeod  <amacleod@redhat.com>
7666
7667         * config/a29k/a29k.c (print_operand): Free a29k_last_prologue_insn
7668         after its emitted.
7669         (output_prologue): Use xmalloc not oballoc.
7670         (output_epilog): Free a29k_first_epilogue_insn when finished.
7671         * confif/a29k/a29k.h (PREDICATE_CODES): Remove shift_constant_operand.
7672
7673 2001-03-07  Brad Lucier  <lucier@math.purdue.edu>
7674
7675         * builtins.c (expand_builtin_mathfn): Check
7676         flag_unsafe_math_optimizations, not flag_fast_math.
7677         (expand_builtin): Likewise
7678         * combine.c (combine_simplify_rtx): Likewise.
7679         (simplify_if_then_else): Likewise.
7680         * cse.c (fold_rtx): Likewise.
7681         * flags.h: Remove flag_fast_math.  Add
7682         flag_unsafe_math_optimizations and flag_trapping_math.
7683         * fold-const.c (negate_expr): Check
7684         flag_unsafe_math_optimizations, not flag_fast_math.
7685         (invert_truthvalue): Likewise.
7686         (fold): Likewise.  Before associating operands, check that
7687         code == MULT_EXPR, not code != MULT_EXPR.
7688         * ifcvt.c (noce_try_minmax): Check
7689         flag_unsafe_math_optimizations, not flag_fast_math.
7690         (noce_operand_ok): Check flag_trapping_math, not flag_fast_math.
7691         * invoke.texi: Document -funsafe-math-optimizations and
7692         -fno-trapping-math.  Change documentation for -ffast-math.
7693         * jump.c (reversed_comparison_code_parts): Likewise.
7694         (rtx_equal_for_thread_p): Likewise.
7695         * optabs.c (emit_conditional_move): Likewise.
7696         * simplify-rtx.c (simplify_binary_operation): Likewise.
7697         (simplify_relational_operation): Likewise.
7698         (simplify_ternary_operation): Likewise.
7699         * toplev.c: Remove flag_fast_math.  Add flag_trapping_math and
7700         flag_unsafe_math_optimizations.  Remove fast-math entry from f_options.
7701         Add trapping-math and unsafe-math-optimizations entries to f_options.
7702         (set_fast_math_flags): New, sets flags for -ffast-math.
7703         (set_no_fast_math_flags): New, sets flags for -fno-fast-math.
7704         (decode_f_option): Add code to handle -ffast-math and -fno-fast-math.
7705         * toplev.h: Declare set_fast_math_flags and set_no_fast_math_flags.
7706
7707         * config/alpha/alpha.c (alpha_emit_conditional_branch): Likewise.
7708         (alpha_emit_conditional_move): Initialize local_fast_math to
7709         flag_unsafe_math_optimizations, not flat_fast_math.
7710         * config/c4x/c4x.c (c4x_override_options): Call set_fast_math_flags
7711         instead of setting flag_fast_math to 1.
7712         * config/convex/convex.md: Check flag_unsafe_math_optimizations,
7713         not flag_fast_math.
7714         * config/i386/i386.c (override_options): Likewise
7715         * config/i386/i386.md: Likewise.
7716         * config/m68k/m68k.md: Likewise.
7717         * config/mips/mips.md: Likewise.
7718         * config/rs6000/rs6000.c (validate_condition_mode): Likewise.
7719         (rs6000_generate_compare): Likewise.
7720
7721 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
7722
7723         * Makefile.in: Set RANLIB to @RANLIB@.
7724         Remove RANLIB_TEST.
7725
7726 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
7727
7728         * fixinc/inclhack.def (djgpp_wchar_h): New test.
7729         * fixinc/fixincl.x: Regenerated.
7730
7731 2001-03-07  Richard Henderson  <rth@redhat.com>
7732
7733         * config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
7734
7735 2001-03-07  Richard Henderson  <rth@redhat.com>
7736
7737         * emit-rtl.c (remove_unnecessary_notes): Verify proper nesting
7738         of block notes and exception handling notes.
7739
7740         * lists.c (init_EXPR_INSN_LIST_cache): Don't check initialized.
7741         * toplev.c (rest_of_compilation): Call init_EXPR_INSN_LIST_cache ...
7742         (compile_file): ... here.
7743
7744 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7745
7746         * fixinc/Makefile.in (FIXINC_DEFS): Add -DHAVE_CONFIG_H.
7747
7748         * fixinc/gnu-regex.c: Don't include auto-host.h since we get
7749         config.h now.  Include libiberty.h to handle alloca.
7750
7751 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
7752
7753         * c-parse.in (yylexname): New function, split out of _yylex.
7754         (objc_rid_sans_at): New table.
7755         (init_reswords): Initialize it.
7756         (_yylex): Give labels clearer names.  Handle CPP_ATSIGN by
7757         retrieving the next token and checking it for significance as
7758         an ObjC keyword or string constant.
7759
7760         * cpplex.c (_cpp_lex_token): Just return CPP_ATSIGN for '@'.
7761         * cpplib.h (TTYPE_TABLE): Add CPP_ATSIGN, drop CPP_OSTRING.
7762
7763         * c-lex.c, c-parse.in, cppmacro.c, cpplex.c: Remove references
7764         to CPP_OSTRING.
7765
7766 2001-03-06  Stephen L Moshier  <moshier@mediaone.net>
7767
7768         * config/m68k/m68k.c (const_uint32_operand): Accept any
7769         const_int on a 32-bit host.
7770
7771 2001-03-06  Nicola Pero  <n.pero@mi.flashnet.it>
7772
7773         * objc/objc-act.c (init_objc): Set save_lang_status,
7774         restore_lang_status, and mark_lang_status.
7775
7776 2001-03-06  Krister Walfridsson  <cato@df.lth.se>
7777
7778         * dwarf2asm.c (dw2_asm_output_delta): Fix smallest_mode_for_size call.
7779
7780 2001-03-06  Neil Booth  <neil@daikokuya.demon.co.uk>
7781
7782         * cppinternals.texi: Update.
7783
7784 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7785
7786         * config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
7787         config/alpha/xm-alpha.h, config/arc/xm-arc.h, config/arm/xm-arm.h,
7788         config/c4x/xm-c4x.h, config/clipper/xm-clix.h,
7789         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
7790         config/dsp16xx/xm-dsp16xx.h, config/elxsi/xm-elxsi.h,
7791         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
7792         config/i370/xm-linux.h, config/i370/xm-mvs.h, config/i370/xm-oe.h,
7793         config/i386/xm-i386.h, config/i860/xm-i860.h,
7794         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
7795         config/m32r/xm-m32r.h, config/m68k/xm-m68k.h,
7796         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
7797         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
7798         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
7799         config/pa/xm-linux.h, config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
7800         config/pa/xm-pahpux.h, config/pa/xm-papro.h, config/pj/xm-pj.h,
7801         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
7802         config/rs6000/xm-lynx.h, config/rs6000/xm-rs6000.h,
7803         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
7804         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
7805         config/v850/xm-v850.h, config/vax/xm-vax.h, config/vax/xm-vms.h,
7806         config/we32k/xm-we32k.h: Delete HOST_BITS_PER_* definitions which
7807         match the defaults provided in hwint.h.
7808
7809         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
7810         config/sparc/xm-lynx.h, config/xm-std32.h: Delete files.
7811
7812         * config.gcc (xm_file): Don't set to files which are deleted.
7813
7814         * hwint.h: Provide default values for HOST_BITS_PER_*.  No longer
7815         guard this file against these macros being undefined.
7816
7817 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
7818
7819         * objc/objc-act.c (objc_add_static_instance): Set DECL_INITIAL
7820         and DECL_DEFER_OUTPUT on the decl we create, before calling
7821         rest_of_decl_compilation.
7822
7823 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
7824
7825         * aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE
7826         AC_FUNC_ALLOCA.
7827         * configure, config.in: Regenerate.
7828         * config.gcc: Remove references to deleted files.
7829
7830         * genattr.c, genattrtab.c, genextract.c, genoutput.c,
7831         genrecog.c, rtl.c: Do not use alloca anywhere.
7832
7833         * Makefile.in, build-make, system.h, config/x-interix,
7834         config/x-svr4, config/xm-interix.h, config/xm-openbsd.h,
7835         config/alpha/xm-alpha.h, config/alpha/xm-vms.h,
7836         config/arc/xm-arc.h, config/arm/xm-arm.h,
7837         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
7838         config/h8300/xm-h8300.h, config/i370/x-oe,
7839         config/i370/xm-linux.h, config/i386/x-aix, config/i386/x-beos,
7840         config/i386/x-ncr3000, config/i386/x-sco5,
7841         config/i386/xm-dgux.h, config/i860/x-sysv4,
7842         config/i960/xm-i960.h, config/m32r/xm-m32r.h,
7843         config/m68k/x-crds, config/m68k/x-dpx2, config/m68k/x-hp320,
7844         config/m68k/x-hp320g, config/m69k/x-mot3300,
7845         config/m68k/x-mot3300-gas, config/m68k/xm-amix.h,
7846         config/m68k/xm-hp320.h, config/m68k/xm-m68kv.h,
7847         config/m68k/xm-mot3300.h, config/m88k/x-dolph,
7848         config/m88k/x-sysv4, config/m88k/x-tekXD88,
7849         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
7850         config/mips/x-iris, config/mips/x-iris3,
7851         config/mips/x-sni-svr4, config/mips/x-sysv,
7852         config/mips/xm-iris6.h, config/mips/xm-mips.h,
7853         config/mips/xm-nws3250v4.h, config/pa/x-hpux,
7854         config/pa/x-pa-mpeix, config/pa/xm-pa.h,
7855         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
7856         config/pa/xm-papro.h, config/romp/xm-romp.h,
7857         config/rs6000/x-aix31, config/rs6000/x-aix41,
7858         config/rs6000/x-beos, config/rs6000/x-lynx,
7859         config/rs6000/x-mach, config/rs6000/x-rs6000,
7860         config/rs6000/x-sysv4, config/rs6000/xm-rs6000.h,
7861         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
7862         config/sparc/x-sysv4, config/sparc/xm-linux.h,
7863         config/sparc/xm-pbd.h, config/sparc/xm-sparc.h,
7864         config/vax/xm-vms.h: Eradicate all references to alloca and
7865         related stuff.
7866
7867         * config/xm-alloca.h, config/clipper/x-clix,
7868         config/i386/xm-sysv4.h, config/i860/x-fx2800,
7869         config/i860/x-sysv3, config/m88k/x-sysv3,
7870         config/sparc/xm-sol2.h, config/we32k/x-we32k: Delete
7871         (contained only alloca related hacks).
7872
7873         * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Just define
7874         USE_C_ALLOCA.
7875
7876 2001-03-05  Brad Lucier  <lucier@math.purdue.edu>
7877
7878         * invoke.texi: Document __FAST_MATH__.
7879
7880 2001-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7881
7882         * crtstuff.c: Restore include of auto-host.h.
7883
7884 2001-03-05  Fergus Henderson  <fjh@cs.mu.oz.au>
7885
7886         Put main() in a separate file, so that the language
7887         front-end can use a different main().
7888
7889         * main.c: New.
7890         * toplev.c: (main): Rename as toplev_main.
7891         * toplev.h: Declare toplev_main.
7892         * Makefile.in (OBJS): add toplev.o.
7893           (BACKEND): remove toplev.o, add main.o.
7894
7895 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
7896
7897         * cppfiles.c (search_from): Special case the empty string.
7898
7899 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
7900
7901         * cppfiles.c (_cpp_execute_include): Don't make a null-terminated
7902         copy of the filename.  Don't use CPP_PREV_BUFFER.  Don't call
7903         strlen or strcpy; we already know the length.
7904         (_cpp_compare_file_date): Similarly.
7905         * cpphash.h (struct cpp_reader): Delete done_initialising.
7906         (CPP_PREV_BUFFER): Delete.
7907         * cppinit.c (cpp_start_read): Don't set done_initialising.
7908         * cpplex.c (parse_string): Guarantee null-termination.
7909         (_cpp_equiv_toklists): Remove.
7910         * cpplib.c (glue_header_name): Null-terminate.
7911         (do_line): Don't leak memory.
7912         * cpplib.h (BT_WEAK): Delete.
7913         * cppmain.c (cb_ident): Strings are now null-terminated.
7914
7915 2001-03-04  Laurynas Biveinis  <lauras@softhome.net>
7916
7917         * gcc.c (convert_filename): Append executable suffix
7918         if NO_AUTO_EXE_SUFFIX is not defined.
7919         * gcc.texi: Document NO_AUTO_EXE_SUFFIX.
7920         * config/i386/djgpp.h: Define NO_AUTO_EXE_SUFFIX.
7921
7922 2001-03-03  David O'Brien  <obrien@FreeBSD.org>
7923
7924         from 2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
7925         * c-parse.gperf, c-gperf.h: Delete.
7926         (c-gperf.h was accidently re-added to the CVS repo in the rev
7927         1.16 commit by tromey)
7928
7929 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7930
7931         * cpplex.c (_cpp_lex_token): Don't warn about directives in
7932         macro arguments when looking for the '('.
7933         * cppmacro.c (funlike_invocation_p): Set parsing_args to
7934         2 when really parsing arguments; 1 when looking for '('.
7935         Always restore the lexer position.
7936
7937 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7938
7939         * longlong.h (umul_ppmm): Don't use a multiline string.
7940
7941 2001-03-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7942
7943         * fixinc/fixlib.h (t_bool): Add identifier `t_bool' in typedef.
7944         * fixinc/server.c (read_pipe_timeout): Use enum t_bool instead of
7945         t_bool in declaration because pcc can't combine volatile with typedef
7946         types.
7947
7948 Sat Mar  3 19:47:13 CET 2001  Jan Hubicka  <jh@suse.cz>
7949
7950         * i386.c (ix86_expand_fp_compare): Delay creating of scratch register
7951         until when it is really needed.
7952         (ix86_expand_compare): Update call of ix86_expand_fp_compare.
7953         * i386.h (PREDICATE_CODES): Add all codes for sse_comparison_operator
7954         * i386.md (float?i?f splitter): Don't force source operand to memory
7955         for SSE.
7956         (sse_movdfcc): Fix constraint.
7957         (sse_movdfcc splitter): Handle properly the second alternative.
7958
7959 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7960
7961         * cpplex.c (parse_string): Unconditionally pedwarn.
7962
7963 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7964
7965         * cpp.texi: Update.
7966         * cppexp.c (parse_number): Update.
7967         * cpplex.c (parse_string): Pedwarn if multiline string does not
7968         result from a system header's macro.
7969         * cpplib.h (sys_objmacro_p): Rename sys_macro_p.
7970         * cppmacro.c (sys_objmacro_p): Rename sys_macro_p.  Return true
7971         for function-like macros too.
7972         * c-lex.c (lex_number): Update.
7973
7974 2001-03-03  Richard Henderson  <rth@redhat.com>
7975
7976         * dwarf2out.c (output_call_frame_info): Fix augmentation length.
7977
7978 Sat Mar  3 04:17:17 2001  J"orn Rennecke <amylaar@redhat.com>
7979
7980         * combine.c (try_combine): If split with mode-changed scratch
7981         register didn't work, try the original mode.
7982
7983 Sat Mar  3 03:46:47 2001  J"orn Rennecke <amylaar@redhat.com>
7984
7985         * tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
7986         * config/c4x/c4x.h: Likewise.
7987         * stor-layout.c (compute_record_mode): Likewise.
7988         (layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK.
7989
7990 2001-03-02  Zack Weinberg  <zackw@stanford.edu>
7991
7992         * configure.in: Kill tm.h.  Include the files in the $tm_file
7993         list in all three of config.h, hconfig.h, tconfig.h, after the
7994         relevant set of xm_files.  Put TARGET_CPU_DEFAULT in all
7995         three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
7996         * configure: Regenerate.
7997         * Makefile.in (clean): Don't delete tm.h.
7998
7999         * system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
8000         defined, set them from EXIT_SUCCESS and EXIT_FAILURE.  If
8001         those are not defined, set SEC and FEC to 0 and 1.
8002         * gcc.texi: Update to match.
8003
8004         * crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
8005         * config/fp-bit.c, config/m68k/aux-crt2.asm,
8006         config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
8007         Include tconfig.h, not tm.h.
8008
8009         * config/xm-lynx.h, config/xm-std32.h,
8010         config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
8011         config/alpha/xm-alpha.h, config/arc/xm-arc.h,
8012         config/avr/xm-avr.h, config/c4x/xm-c4x.h,
8013         config/clipper/xm-clix.h, config/convex/xm-convex.h,
8014         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
8015         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
8016         config/h8300/xm-h8300.h, config/i370/xm-linux.h,
8017         config/i386/xm-i386.h, config/i860/xm-i860.h,
8018         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
8019         config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h,
8020         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
8021         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
8022         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
8023         config/pa/xm-linux.h, config/pa/xm-pa.h,
8024         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
8025         config/pa/xm-papro.h, config/pdp11/xm-pdp11.h,
8026         config/pj/xm-pj.h, config/romp/xm-romp.h,
8027         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
8028         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
8029         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
8030         config/v850/xm-v850.h, config/vax/xm-vax.h,
8031         config/we32k/xm-we32k.h:
8032         Don't include tm.h.
8033         Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
8034
8035         * config/i370/xm-i370.h, config/i370/xm-mvs.h,
8036         config/i370/xm-oe.h: Don't include tm.h.  Don't define
8037         SUCCESS_EXIT_CODE.
8038         * config/vax/xm-vms.h: Don't include tm.h.
8039
8040         * config/xm-lynx.h, config/avr/xm-avr.h,
8041         config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h,
8042         Delete; made empty by above changes.
8043         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
8044         config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h:
8045         Don't include config/xm-lynx.h or tm.h.
8046
8047         * config/xm-gnu.h: Don't include fcntl.h.
8048         * config/sparc/xm-lynx.h: Don't include sys/types.h and
8049         sys/wait.h.
8050         * config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf.
8051
8052 2001-03-02  Richard Henderson  <rth@redhat.com>
8053
8054         * tm.texi (File Framework): Document UNALIGNED_SHORT_ASM_OP,
8055         UNALIGNED_INT_ASM_OP, and UNALIGNED_DOUBLE_INT_ASM_OP.
8056
8057 2001-03-02  Richard Henderson  <rth@redhat.com>
8058
8059         * Makefile.in (OBJS): Add dwarf2asm.o.
8060         * dwarf2asm.c, dwarf2asm.h: New files.
8061         * dwarf2out.c (*): Use them.
8062         (size_of_uleb128, size_of_sleb128): Remove.
8063         (output_uleb128, output_sleb128): Remove.
8064         (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Remove.
8065         (UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Remove.
8066         (UNALIGNED_OFFSET_ASM_OP, UNALIGNED_WORD_ASM_OP): Remove.
8067         (FDE_LABEL, LINE_NUMBER_BEGIN_LABEL, LINE_NUMBER_END_LABEL): New.
8068         (ASM_OUTPUT_DWARF_DATA1, ASM_OUTPUT_DWARF_DELTA1): Remove.
8069         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_DELTA2): Remove.
8070         (ASM_OUTPUT_DWARF_DATA4, ASM_OUTPUT_DWARF_DELTA4): Remove.
8071         (ASM_OUTPUT_DWARF_DATA, ASM_OUTPUT_DWARF_DELTA): Remove.
8072         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_ADDR_DATA): Remove.
8073         (ASM_OUTPUT_DWARF_ADDR_DELTA, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
8074         (ASM_OUTPUT_DWARF_OFFSET4, ASM_OUTPUT_DWARF_OFFSET): Remove.
8075         (ASM_OUTPUT_DWARF_CONST_DOUBLE): Remove.
8076         (ASM_OUTPUT_DWARF_NSTRING, ASM_OUTPUT_DWARF_STRING): Remove.
8077         (dwarf2out_frame_debug): Remove unused variables.
8078         (output_loc_operands): Don't abort on 8 byte constants if
8079         host integers are wide enough.
8080         (output_symbolic_ref): Remove.
8081         (size_of_die): Don't assume 4 byte host integers.
8082         (output_line_info): Use ASM_GENERATE_INTERNAL_LABEL for begin
8083         and end labels.
8084         (add_const_value_attribute) [CONST_INT]: Verify we're not doing
8085         something stupid with HOST_WIDE_INT to long truncation.
8086         [CONST_DOUBLE]: Likewise.
8087
8088         * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Remove.
8089         (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
8090         * config/arm/unknown-elf.h: Likewise.
8091         * config/rs6000/aix.h (UNALIGNED_SHORT_ASM_OP): New.
8092         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): New.
8093         (ASM_OUTPUT_DWARF_ADDR_VAR, ASM_OUTPUT_DWARF_DELTA_VAR): Remove.
8094         (ASM_OUTPUT_DWARF_DELTA2, ASM_OUTPUT_DWARF_DELTA4): Remove.
8095         (ASM_OUTPUT_DWARF_DELTA, ASM_OUTPUT_DWARF_ADDR_DELTA): Remove.
8096         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_DATA4): Remove.
8097         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_OFFSET4): Remove.
8098         (ASM_OUTPUT_DWARF_OFFSET): Remove.
8099         * config/rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Remove.
8100         * config/sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
8101         (UNALIGNED_LONGLONG_ASM_OP, ASM_OUTPUT_DWARF_ADDR): Remove.
8102         (ASM_OUTPUT_DWARF_ADDR_CONST, ASM_OUTPUT_DWARF_REF): Remove.
8103
8104 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8105
8106         * cselib.c (hash_rtx): Cast enums to unsigned int.
8107
8108 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8109
8110         * print-rtl.c (print_rtx): Cast enums to int for comparison.
8111         * c-decl.c (grokdeclarator): Cast enums to int for comparison and
8112         shifts.
8113         * c-format.c (C_STD_VER): Cast to int for comparisons.
8114         (check_function_format): Cast various enums to int for &.
8115         (maybe_read_dollar_number): Likewise.
8116         (check_format_info): Likewise.
8117         (check_format_info_main): Likewise.
8118         * expr.c (emit_move_insn_1): Cast enums to unsigned int for comparison.
8119         (safe_from_p): Likewise.
8120         * varasm.c (const_hash): Cast enum to int for %.
8121         * emit-rtl.c (init_emit_once): Use int loop variable to work around
8122         pcc enum problems with < and ++ operators.
8123         * regclass.c (init_reg_sets_1): Cast enums for comparison.
8124         (choose_hard_reg_mode): Use unsigned int to iterate over CCmodes.
8125         (regclass_init): Change enum class to int to iterate over reg_classes.
8126         * genrecog.c (merge_trees): Cast enums for comparison.
8127         * rtl.h (GET_CODE): Cast to enum rtx_code.
8128         (PUT_CODE): Cast to ENUM_BITFIELD(rtx_code).
8129         (GET_MODE): Cast to enum machine_mode.
8130         (PUT_MODE): Cast to ENUM_BITFIELD(machine_mode).
8131         (GET_NOTE_INSN_NAME): Cast enum to int.
8132         * tree.h (TREE_CODE): Cast to enum tree_code.
8133         (TREE_SET_CODE): Cast VALUE to ENUM_BITFIELD(tree_code).
8134         * timevar.c (timevar_print): Change loop variable id from enum to
8135         unsigned int.
8136         * fixinc/fixincl.c (VLEVEL): Cast enums in comparison to unsigned int.
8137         * config/i386/i386.md: Use PUT_MODE for mode assignment.
8138         * toplev.c (compile_file): Cast enum DFI to int.
8139         (decode_d_option): Likewise.
8140
8141 Fri Mar  2 12:18:13 2001  Christopher Faylor <cgf@cygnus.com>
8142
8143         * cppinit.c (append_include_chain): Mark "after" include file name list
8144         as a system directory.
8145         * cpp.texi: Document new behavior.
8146
8147 Fri Mar  2 11:59:43 CET 2001  Jan Hubicka  <jh@suse.cz>
8148
8149         * ifcvt.c (noce_operand_ok): Handle properly unarry operations.
8150
8151 2001-03-02  Neil Booth  <neil@daikokuya.demon.co.uk>
8152
8153         * cppfiles.c (struct include_file): Update.
8154         (stack_include_file): Use search_from.
8155         (cpp_included, find_include_file): Update.
8156         (cpp_execute_include): Update.  ptr->name may not be
8157         null terminated.  Use the new search_from member variable
8158         of cpp_buffer.
8159         (_cpp_compare_file_date): Similarly.
8160         (search_from): New function, similiar to actual_directory.
8161         (actual_directory): Delete.
8162         (remap_filename): Update.  loc->name may not be null terminated.
8163         (struct file_name_list): Rename search_path.  Update.
8164         * cpphash.h (struct cpp_buffer): Delete actual_dir.  New members
8165         search_from and dir.
8166         (struct cpp_reader): Remove actual_dirs.
8167         * cppinit.c (struct cpp_pending): Update for renamed objects.
8168         (append_include_chain, remove_dup_dir, remove_dup_dirs,
8169         merge_include_chains, cpp_destroy, cpp_start_read): Similarly.
8170         * cpplib.h (struct cpp_options): Similarly.
8171
8172 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
8173
8174         * config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
8175         config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
8176         config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
8177         config/clipper/xm-clix.h, config/convex/xm-convex.h,
8178         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
8179         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
8180         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
8181         config/i370/xm-linux.h, config/i370/xm-mvs.h,
8182         config/i370/xm-oe.h, config/i386/xm-aix.h,
8183         config/i386/xm-i386.h, config/i386/xm-osf.h,
8184         config/i860/xm-i860.h, config/i960/xm-i960.h,
8185         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
8186         config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
8187         config/mcore/xm-mcore.h, config/mips/xm-mips.h,
8188         config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
8189         config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
8190         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
8191         config/pa/xm-pahpux.h, config/pa/xm-papro.h,
8192         config/pj/xm-pj.h, config/romp/xm-romp.h,
8193         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
8194         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
8195         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
8196         config/v850/xm-v850.h, config/vax/xm-vax.h,
8197         config/vax/xm-vms.h, config/we32k/xm-we32k.h:
8198         Do not define TRUE or FALSE.
8199
8200         * config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
8201         empty by above change.
8202         * config.gcc: Remove references to these files.
8203
8204         * configure.in: Detect stdbool.h.
8205         * configure, config.in: Regenerate.
8206         * system.h: Include stddef.h here if available.
8207         Set HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.
8208         Then set up a sensible boolean type at the very end.
8209
8210         * combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
8211         config/mcore/mcore.c: Rename variables named 'true' and/or 'false'.
8212
8213         * hash.h: Delete 'boolean' typedef and related #undefs.
8214
8215         * function.c, ggc-common.c, hash.h, hash.c, tlink.c: Replace
8216         all uses of 'boolean' with 'bool'.
8217
8218 2001-03-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8219
8220         * cpplib.c (_cpp_init_stacks): Cast enum for comparison.
8221         * cppexp.c (lex): Cast enums for comparison.
8222         * cppinit.c (parse_option): Cast enum for comparison.
8223         * cpplex.c (cpp_spell_token): Cast enums to int for minus.
8224         (cpp_output_token): Likewise.
8225         (cpp_can_paste): Cast enums for comparsion and plus/minus.
8226         (cpp_avoid_paste): Cast enums for minus and comparison.
8227
8228 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
8229
8230         * gcc.c, objc/lang-specs.h: Add zero initializer for cpp_spec
8231         field to all array elements.
8232
8233 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
8234
8235         * cpphash.h (struct cpp_reader): Add print_version field.
8236         * cppinit.c (cpp_handle_option): For -v, -version, and --version,
8237         just set print_version and other flags as appropriate.
8238         (cpp_post_options): Print version here if print_version is set.
8239
8240         * toplev.c (exit_after_options): New flag.
8241         (independent_decode_option): Don't exit here; just set
8242         exit_after_options.
8243         (main): Exit after calling lang_hooks.post_options if
8244         exit_after_options is true.
8245
8246         * cppinit.c (append_include_chain): Drop never-used case QUOTE.
8247         (merge_include_chains): Adjust comment to match code.
8248
8249 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
8250
8251         * stringpool.c (set_identifier): New function.
8252         * tree.h: Prototype it.
8253
8254         * c-parse.in: Kill D_YES. If compiled for objc, call
8255         save_and_forget_protocol_qualifiers from init_reswords.
8256         * objc/objc-act.c (remember_protocol_qualifiers,
8257         forget_protocol_qualifiers): Don't diddle C_IS_RESERVED_WORD.
8258         Swap out the non-keyword IDENTIFIER_NODEs for keyword ones, or
8259         vice versa.
8260         (save_and_forget_protocol_qualifiers): New function.
8261         * c-lex.h: Prototype save_and_forget_protocol_qualifiers.
8262
8263 2001-03-01  Diego Novillo  <dnovillo@redhat.com>
8264
8265         * c-semantics.c (prune_unused_decls): Return error_mark_node
8266         instead of (tree) 1 to stop traversing the tree chain.
8267
8268 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
8269
8270         Fix a problem introduced by Kenner's Feb 18 change.
8271         * toplev.c (rest_of_compilation): Disable flag_cse_follow_jumps and
8272         flag_cse_skip_blocks only temporarily, not for ever.
8273
8274 Thu Mar  1 09:49:58 2001  Jeffrey A Law  (law@cygnus.com)
8275
8276         * config/pa/som.h  (ASM_IDENTIFY_GCC): Define.
8277         (ASM_IDENTIFY_GCC_AFTER_SOURCE): Likewise.
8278
8279         * pa.c (emit_move_sequence): Verify operand0 is a hard register
8280         before determining its register class.
8281
8282 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
8283
8284         * config/ia64/ia64.c (ia64_hard_regno_rename_ok): Disallow renaming
8285         from reg 4 if current_function_calls_setjmp.
8286         (gen_nop_type): New function.
8287         (ia64_emit_nops): New function.
8288         (ia64_reorg): Call it.
8289         (ia64_sched_reorder): Move code that rotates bundles up a bit.
8290
8291         * reload1.c (eliminate_regs_in_insn): Restrict the special case
8292         code not to try to optimize adds with anything but a REG destination.
8293
8294         * sched-int.h (struct haifa_insn_data): Add new member priority_known.
8295         (INSN_PRIORITY_KNOWN): New accessor macro.
8296         * haifa-sched.c (priority): Use it instead of testing priority against
8297         zero.
8298
8299 2001-02-28  DJ Delorie  <dj@redhat.com>
8300
8301         * config/m68k/m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes,
8302         since that doesn't work the way gcc wants on a generic m68k.
8303
8304 2001-02-28  Richard Henderson  <rth@redhat.com>
8305
8306         * caller-save.c (save_call_clobbered_regs): Fix typo in
8307         comparison last change.
8308
8309 Wed Feb 28 19:31:42 CET 2001  Jan Hubicka  <jh@suse.cz>
8310
8311         * i386.c (pentium4_cost): New.
8312         (m_PENT4): New macro.
8313         (x86_push_memory, x86_movx,x86_cmove, x86_deep_branch, x86_use_sahf
8314         x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8
8315         x86_integer_DFmode_moves, x86_partial_reg_dependency,
8316         x86_memory_mismatch_stall): Add Pentium4
8317         (x86_use_q_reg, x86_use_any_reg): Kill.
8318         (override_options): Add pentium4.
8319         (incdec_operand): Return 0 for pentium4.
8320         (ix86_issue_rate): Add PROCESSOR_PENTIUM4 and PROCESSOR_ATHLON.
8321         * i386.h (x86_use_q_reg, x86_use_any_reg): Kill.
8322         (TARGET_PENTIUM4): Define.
8323         (enum processor_type): Add PROCESSOR_PENTIUM4.
8324         (CPP_CPU_DEFAULT_SPEC): Add pentium4 support.
8325         * i386.md (attribute "cpu"): Add pentium4.
8326         * invoke.texi (march): Add pentium4.
8327
8328 Wed Feb 28 19:28:06 CET 2001  Jan Hubicka  <jh@suse.cz>
8329
8330         * i386.md (sse_mov?fcc*): New patterns and splitters.
8331         * i386.c (ix86_expand_movcc): Work post-reload; recognize
8332         the SSE based conditional moves.
8333
8334 Wed Feb 28 19:18:23 CET 2001  Jan Hubicka  <jh@suse.cz>
8335
8336         * i386.md (attribute mode): Add "TI".
8337         (movsf_1): Add pxor support; remove constant propagation splitter.
8338         (movdf_integer): Likewise.
8339         (movdf_nointeger): Likewise.
8340         (movxf constant prop splitter): Handle all modes; update for SSE.
8341         * i386.h (CONST_DOUBLE_OK_FOR_LETTER): Add 'H' for SSE constants.
8342         * i386.c (standard_80387_constant_p): Rewrite.
8343         (standard_sse_constant_p): New.
8344         * i386-protos.h (standard_sse_constant_p): New.
8345
8346 Wed Feb 28 19:05:37 CET 2001  Jan Hubicka  <jh@suse.cz>
8347
8348         * i386.md (sse_setccsf, sse_setccdf): New.
8349         (sse_cmp* patterns): Use '%D' instead of outputtting condition
8350         flag directly.
8351         * i386.c (sse_comparison_operator): Accept the supported unordered
8352         comparses; be ready for fast_math.
8353         (print_operand): Support 'D'.
8354
8355 Wed Feb 28 18:54:51 CET 2001  Jan Hubicka  <jh@suse.cz>
8356
8357         * jump.c (reversed_comparison_code): Kill.
8358
8359 Wed Feb 28 18:50:15 CET 2001  Jan Hubicka  <jh@suse.cz>
8360
8361         * toplev.c (rest_of_compilation): Do post-reload splitting unconditionally
8362         for STACK_REGS
8363
8364 Wed Feb 28 18:47:37 CET 2001  Jan Hubicka  <jh@suse.cz>
8365
8366         * i386.md (sse_andti3, sse_nandti_3, sse_xorti3): Add SSE2 versions;
8367         add missing '%' in constraints.
8368
8369 Wed Feb 28 17:24:24 CET 2001  Jan Hubicka  <jh@suse.cz>
8370
8371         * c-common.c (build_common_tree_nodes): Build intTI_type_nodes
8372         for HOST_BITS_PER_WIDE_INT == 32 too.
8373
8374 Wed Feb 28 17:22:35 CET 2001  Jan Hubicka  <jh@suse.cz>
8375
8376         * caller-save.c (reg_save_code, reg_restore_code):  Index by mode, not
8377         NREGS.
8378         (insert_save, insert_restore): New parameter save_mode.
8379         (init_caller_save): Update initialization of reg_save_code
8380         and reg_restore_code.
8381         (save_call_clobbered_regs):  Compute save_modes and update calls to
8382         reg_save_code and reg_restore_code.
8383         (insert_restore):  Unsignetize numbers; use save_modes to choose mode
8384         of spill; update use of reg_restore_code.
8385         (insert_save):  Likewise.
8386         * i386.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
8387         * c4x.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
8388         * regs.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
8389
8390 Wed Feb 28 17:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
8391
8392         * ifcvt.c (noce_emit_store_flag, noce_try_store_flag_constants,
8393         noce_try_store_flag_inc, noce_try_store_flag_mask,
8394         noce_try_cmove_arith):
8395         Use reversed_comparison_code instead of reverse_comparison and
8396         can_reverse_comparison_p.
8397
8398 Wed Feb 28 17:17:29 CET 2001  Jan Hubicka  <jh@suse.cz>
8399
8400         * jump.c (reversed_comparison_code_parts): Allow reversal of
8401         unordered compares in -ffast-math mode; reverse ordered compares
8402         for FP even w/o -ffast-math.
8403
8404 2001-02-27  Richard Henderson  <rth@redhat.com>
8405
8406         * print-rtl.c (print_rtx) [i]: Don't print field five on
8407         NOTEs other than NOTE_INSN_DELETED_LABEL.
8408
8409 2001-02-27  Zack Weinberg  <zackw@stanford.edu>
8410
8411         * mips/xm-iris4.h: Delete #if 0 block (there since before 1997).
8412         * pa/xm-linux.h, pa/xm-pa.h, pa/xm-papro.h: Don't declare errno.
8413
8414 2001-02-27  Diego Novillo  <dnovillo@redhat.com>
8415
8416         * c-common.c (walk_stmt_tree): Visit the chain of the current tree
8417         even if walk_subtrees is 0.
8418         * c-semantics.c (prune_unused_decls): Return a non-null value to
8419         stop traversing the tree chain.
8420
8421 2001-02-27  DJ Delorie  <dj@redhat.com>
8422
8423         * config/m68k/m68k.c (output_function_prologue): Save the new CFA
8424         register, *then* define it as the new CFA.
8425
8426 Tue Feb 27 16:49:13 2001  Jeffrey A Law  (law@cygnus.com)
8427
8428         * pa.c (override_options): Promote -fpic to -fPIC.
8429         (legitimize_pic_address): Simplify due to removal of
8430         small PIC as a code generation option.
8431         (secondary_reload_class): Similarly.
8432         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Similarly.
8433         (PRINT_OPERAND_ADDRESS): Similarly.
8434         * pa.md (various patterns): Similarly.
8435         (small pic lo_sum pattern): Remove.
8436
8437 Tue Feb 27 16:01:13 CET 2001  Jan Hubicka  <jh@suse.cz>
8438                               Fergus Henderson
8439
8440         * md.texi (min, max): Document
8441
8442 Tue Feb 27 15:51:35 CET 2001  Jan Hubicka  <jh@suse.cz>
8443
8444         * i386.md (movsf, movdf): Use movaps for reg-reg moves if
8445         TARGET_PARTIAL_REG_DEPENDENCY.
8446         (truncdfsf2_1_sse, truncdfsf2_2): Penalize the fpreg->mem case.
8447
8448 Tue Feb 27 15:36:48 CET 2001  Jan Hubicka  <jh@suse.cz>
8449
8450         * i386.md (mins*, maxs*): New patterns, expanders and splitters.
8451
8452 2001-02-26  Jeffrey Oldham  <oldham@codesourcery.com>
8453
8454         * mips.c (mips_make_temp_file): Fix thinko in last change.
8455
8456 2001-02-26  Jason Eckhardt  <jle@redhat.com>
8457
8458         * combine.c (known_cond): Do not reverse the condition when
8459         SMAX/UMAX is being considered and the condition is for equality
8460         or inequality.
8461
8462         * testsuite/gcc.c-torture/execute/20010221-1.c: New test.
8463
8464 2001-02-26  Philip Blundell  <philb@gnu.org>
8465
8466         * config.gcc: Remove obsolete targets "arm*-*-linuxoldld" and
8467         "armv2-*-linux".
8468         * config/arm/linux-elf.h: Remove historical relics related to
8469         above configurations.
8470         * config/arm/linux-oldld.h: Delete.
8471         * config/arm/linux-elf26.h: Delete.
8472
8473 2001-02-26  Jason Merrill  <jason@redhat.com>
8474
8475         * c-decl.c (finish_decl): Set DECL_DEFER_OUTPUT on tentative file-scope
8476         definitions.
8477         * toplev.c (rest_of_decl_compilation): Check DECL_DEFER_OUTPUT to
8478         recognize a tentative definition.  Lose obsolete code.
8479
8480         * toplev.c (wrapup_global_declarations): Don't emit DECL_COMDAT
8481         variables unless necessary, either.
8482
8483 2001-02-25  Richard Henderson  <rth@redhat.com>
8484
8485         * ifcvt.c (struct noce_if_info): Add test_bb.
8486         (noce_get_alt_condition): New.
8487         (noce_try_minmax, noce_try_abs): New.
8488         (noce_operand_ok): New.
8489         (noce_process_if_block): Use them.
8490         * rtlanal.c (may_trap_p): NEG and ABS can never trap.
8491
8492 Sun Feb 25 14:26:17 2001  Christopher Faylor <cgf@cygnus.com>
8493
8494         * config/i386/cygwin.h (CPP_SPEC): Add missing space before w32api
8495         include.
8496
8497 2001-02-25  Zack Weinberg  <zackw@stanford.edu>
8498
8499         * config.gcc: Put back pa/t-openbsd and rs6000/t-openbsd.
8500         * config/mips/mips.c (mips_make_temp_file): Set temp_filename
8501         properly.
8502         (mips_asm_file_end): Free temp_filename here.
8503
8504 Sun Feb 25 08:34:23 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8505
8506         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): Move decl.
8507         * config/i386/i386.c (ix86_set_move_mem_attrs_1): Fix typo.
8508
8509         * config/i386/i386.md (movstrsi): Handle FAIL case.
8510
8511 2001-02-25  Neil Booth  <neil@daikokuya.demon.co.uk>
8512
8513         * cppinit.c (builtin_array): Update.
8514         (init_builtins): Flag builtins to warn if redefined or
8515         undefined.  Define __GXX_WEAK as a normal macro.
8516         * cpplib.c (do_undef): Warn if flagged NODE_WARN.
8517         * cpplib.h (NODE_WARN): New flag.
8518         * cppmacro.c (builtin_macro): Remove handling of __GXX_WEAK__.
8519         Handle __STDC__ as a builtin only on Solaris.
8520         (warn_of_redefinition): Renamed from check_macro_definition.
8521         Reverse sense of test.  Always warn if NODE_WARN.
8522         (_cpp_create_definition): Use warn_of_redefinition.  Flag
8523         any macro beginning with "__STDC_" to require a mandatory
8524         warning if redefined or undefined.
8525
8526 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
8527
8528         * xm-interix.h, xm-lynx.h, alpha/xm-vms.h, convex/xm-convex.h,
8529         i370/xm-i370.h, i370/xm-linux.h, i370/xm-mvs.h, i370/xm-oe.h,
8530         i386/xm-beos.h, i386/xm-dos.h, i386/xm-mingw32.h,
8531         i860/xm-i860.h, m68k/xm-3b1.h, m68k/xm-amix.h, m68k/xm-aux.h,
8532         m68k/xm-crds.h, m68k/xm-mot3300.h, m88k/xm-sysv3.h,
8533         mips/xm-mips.h, rs6000/xm-beos.h, vax/xm-vms.h:
8534         Don't define any of:
8535         USE_PROTOTYPES, vfork, mktemp, SVR3, NO_SYS_PARAMS_H,
8536         P_tmpdir, MVS, NO_DBX_FORMAT, USE_STDARGS, STDC_HEADERS,
8537         NO_PRECOMPILES, i860, __PTR_TO_INT, __INT_TO_PTR, rindex,
8538         index, FULL_PROTOTYPES, AUX, R_OK, W_OK, X_OK, F_OK,
8539         STACK_DIRECTION, MIPS, MAX_READ_LEN, MAX_WRITE_LEN.
8540
8541         * alpha/xm-alpha.h, clipper/xm-clix.h, d30v/xm-d30v.h,
8542         fr30/xm-fr30.h, i370/xm-linux.h: Remove commented-out macro
8543         definitions.
8544
8545         * m68k/xm-3b1.h, m68k/xm-crds.h, m88k/xm-sysv3.h:
8546         Delete now-empty file.
8547
8548         * alpha/vms.h: Define NEED_ATEXIT here...
8549         * alpha/xm-vms.h: ...not here.
8550
8551         * i386/cygwin.h: Don't define PARAMS.
8552         * mips/mips.c: Don't prototype mktemp.  Don't define
8553         P_tmpdir.  Use make_temp_file to create temporary files.
8554         Don't be clever and delete temporary files early.
8555         * config.gcc: Drop references to deleted files.  Don't define
8556         FULL_PROTOTYPES.
8557         * gcc.texi: Don't mention USE_PROTOTYPES.
8558
8559 Sat Feb 24 20:25:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8560
8561         * config/i386/i386.c (ix86_set_move_mem_attrs): New function.
8562         (ix86_set_move_mem_attrs_1): Likewise.
8563         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): New declaration.
8564         * config/i386/i386.md (movstrsi): Call it.
8565
8566 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
8567
8568         * config.gcc: Expunge references to alpha/t-pe, pa/t-openbsd,
8569         x-linux-aout, i386/t-go32, t-osf, m68k/x-m68kv,
8570         ns32k/xm-netbsd.h, rs6000/t-openbsd, rs6000/t-xnewas,
8571         rs6000/x-aix41-gld.  These are nonexistent, empty, or obsolete.
8572
8573         (i750a-*-*): Error here if hosting on i750a.
8574         (alpha*-*-winnt*, ix86-*-winnt3*): Remove stanzas entirely.
8575
8576         * x-linux-aout, xm-freebsd.h, i386/beos-pe.h, ns32k/xm-netbsd.h:
8577         Remove (empty modulo comments).
8578
8579         * 1750a/xm-1750a.h, alpha/config-nt.sed, alpha/win-nt.h,
8580         alpha/xm-winnt.h, i386/config-nt.sed, i386/os2.h,
8581         i386/t-winnt, i386/win-nt.h, i386/xm-freebsd.h, i386/xm-os2.h,
8582         i386/xm-winnt.h, m68k/x-alloca-c, m88k/x-dguxbcs,
8583         mips/x-netbsd, mips/x-nws3250v4, rs6000/t-xnewas,
8584         rs6000/t-xrs6000, rs6000/xm-cygwin.h: Remove (obsolete)
8585
8586         * i386/crtdll.h, i386/cygwin.h, i386/mingw32.h:
8587         Remove reference to winnt.h in comment.
8588         * rs6000/t-newas, rs6000/t-rs6000: Override LIBGCC1_TEST to null.
8589
8590 2001-02-24  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8591
8592         * loop.c (check_dbra_loop): A biv has uses besides counting if it is
8593         used to set another biv.
8594
8595 Sat Feb 24 06:45:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8596
8597         * tree.h (BLOCK_DEAD): New macro.
8598         (struct tree_block): New flag, dead_flag.
8599         * print-tree.c (print_node, case 'b'): Print missing fields.
8600         * emit-rtl.c (remove_unnecessary_notes): Set BLOCK_DEAD.
8601         * function.c (identify_blocks): Enable test for misplaced notes.
8602         (all_blocks): Skip BLOCK_DEAD blocks.
8603         * integrate.c (integrate_decl_tree): Likewise.
8604
8605         * errors.c (internal_error, trim_filename): New functions.
8606         (fancy_abort): Call internal_error.
8607         * errors.h (internal_error, trim_filename): New declarations.
8608
8609 2001-02-24  Alexandre Oliva  <aoliva@redhat.com>
8610
8611         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Reverted
8612         2000-08-26's patch.
8613         (EXTRA_CONSTRAINT): Formatting changes.
8614
8615 2001-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8616
8617         * rtl.c (rtl_check_failed_code2): Fix typo in last change.
8618
8619 2001-02-23  Per Bothner  <per@bothner.com>
8620
8621         * gcc.c (record_temp_file, pfatal_with_name, error):  Make non-static,
8622         so they can be called from java/jvspec.c.
8623         * gcc.h (record_temp_file, pfatal_with_name, error):  Declare.
8624
8625 Sat Feb 24 03:32:50 CET 2001  Jan Hubicka  <jh@suse.cz>
8626
8627         * i386.c (ix86_frame): New structure.
8628         (ix86_compute_frame_size): Kill.
8629         (ix86_compute_frame_layout): New.
8630         (ix86_save_reg): New.
8631         (ix86_can_use_return_insn_p): Use frame layout stuff.
8632         (ix86_expand_prologue): Likewise.
8633         (ix86_expand_epilogue): Likewise.
8634         (ix86_initial_elimination_offset): Likewise.
8635         (ix86_nsaved_regs): Use ix86_save_reg.
8636         (ix86_emit_save_regs): Likewise.
8637
8638 Sat Feb 24 03:30:38 CET 2001  Jan Hubicka  <jh@suse.cz>
8639
8640         * flow.c (find_sub_basic_blocks): New function.
8641         (split_block): Be ready for basic block introduced by CODE_LABEL.
8642         (commit_one_edge_insertion): Call find_sub_basic_block.
8643
8644         * flow.c (make_edges): Add edge from entry for blocks starting with
8645         label having ALTERNATE_NAME
8646
8647 Sat Feb 24 03:19:42 CET 2001  Jan Hubicka  <jh@suse.cz>
8648
8649         * function.c (epilogue_done): Be ready for first basic block not
8650         containing PROLOGUE_END note.
8651         (reposition_prologue_and_epilogue_notes): Avoid placing
8652         PROLOGUE_END note between BASIC_BLOCK.
8653
8654 Sat Feb 24 03:17:09 CET 2001  Jan Hubicka  <jh@suse.cz>
8655
8656         * loop.c (canonicalize_condition): Move to reversed_comparison_code.
8657
8658 2001-02-21  DJ Delorie  <dj@redhat.com>
8659
8660         * config/i960/i960.h (FRAME_POINTER_REQUIRED): Revert removal of
8661         check for current_function_has_nonlocal_goto from 1999-11-12.
8662
8663 Fri Feb 23 15:28:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8664
8665         * diagnostic.c (trim_filename): No longer static.
8666         * toplev.h (trim_filename): Declare.
8667         * rtl.c (rtl_check_failed_bounds): Call internal_error.
8668         (rtl_check_failed_type1, rtl_check_failed_type2): Likewise.
8669         (rtl_check_failed_code1, rtl_check_failed_code2): Likewise.
8670         (rtvec_check_failed_bounds): Likewise.
8671         * tree.c (tree_check_failed, tree_class_check_failed): Likewise.
8672
8673         * convert.c (convert_to_integer): Don't do unsigned unless result or
8674         both inputs are unsigned.
8675
8676         * fold-const.c (fold_convert): Don't call size_int_type_wide if
8677         input overflows.
8678
8679         * c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
8680
8681         * varasm.c (output_constant): Recompute CODE after lang-specific fn.
8682
8683 2001-02-23  Jeffrey Oldham  <oldham@codesourcery.com>
8684
8685         * Makefile.in (resource.o): Add params.h dependence.
8686         * params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter.
8687         * params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise.
8688         * resource.c: Add dependence on params.h.
8689         (current_live_regs): Fix explanatory comment.
8690         (find_basic_block): Add new parameter to permit limiting search
8691         for a BARRIER.
8692         (mark_target_live_regs): Add new argument to find_basic_block call.
8693         (incr_ticks_for_insn): Likewise.
8694
8695 2001-02-23  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
8696
8697         * diagnostic.c (output_to_stream): Rename to
8698         output_buffer_to_stream. Loses the stream parameter.
8699         (init_output_buffer): Set diagnosic_buffer's stream.
8700         (flush_diagnostic_buffer): Adjust.
8701         (default_print_error_function): Likewise.
8702         (finish_diagnostic): Likewise.
8703         (verbatim): Likewise.
8704
8705         * diagnostic.h (struct output_buffer): Add `stream' field.
8706         (output_buffer_attached_stream): New macro.
8707
8708 2001-02-23  Jakub Jelinek  <jakub@redhat.com>
8709
8710         * fold-const.c (extract_muldiv) [case PLUS_EXPR]: If not MULT_EXPR,
8711         check if either operand is divisible by C.
8712         (multiple_of_p): Handle LSHIFT_EXPR with small constant shift.
8713         If type is signed, consider negative numbers as well.
8714
8715 2001-02-22  Richard Henderson  <rth@redhat.com>
8716
8717         * config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to
8718         reach .text instead of gp-relative relocs.
8719         * config/ia64/crtend.asm (.init): Likewise.
8720
8721 2001-02-22  Andreas Jaeger  <aj@suse.de>
8722
8723         * extend.texi (C++ Attributes): Fix typo.
8724
8725 2001-02-21  David Mosberger  <davidm@hpl.hp.com>
8726
8727         * config/ia64/ia64.c (ia64_epilogue_uses): For syscall_linkage
8728         functions, drop current_function_args_info.words test.
8729         (ia64_compute_frame_size): Mark syscall_linkage functions as
8730         using eight input registers.
8731
8732 2001-02-21  Loren J. Rittle  <ljrittle@acm.org>
8733         Bruce Korb  <bkorb@gnu.org>
8734
8735         * fixinc/inclhack.def (freebsd_gcc3_breakage): new fix
8736         * fixinc/README: Document how to convert sed substitutions
8737         to format style c_fix-es.
8738         * fixinc/fixincl.x: regen
8739
8740 2001-02-21  Jeffrey D. Oldham  <oldham@codesourcery.com>
8741
8742         * gcc.c: Add comment explaining how to add a command-line option.
8743         Add title to specs language comment.
8744
8745 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
8746
8747         * gcc.c (cc1_options): Add "-param".
8748         (DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
8749         (option_map): Likewise.
8750         * toplev.c (display_help): Add entry for "--param".
8751         (independent_decode_option): Fix typographical error.
8752
8753 Wed Feb 21 18:57:28 CET 2001  Catherine Moore  <clm@redhat.com>
8754                               Bernd Schmidt  <bernds@redhat.com>
8755                               Jan Hubicka  <jh@suse.cz>
8756
8757         * i386.c (function_arg_advance):  Pass SSE arguments in registers.
8758         (function_arg): Likewise.
8759
8760 Wed Feb 21 18:12:41 CET 2001  Jan Hubicka  <jh@suse.cz>
8761
8762         * i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.
8763
8764 2001-02-21  Kazu Hirata  <kazu@hxi.com>
8765
8766         * config/h8300/h8300.md (iorsi3): Do not output an extra newline
8767         character.
8768         (xorsi3): Likewise.
8769
8770 Wed Feb 21 17:35:24 CET 2001  Jan Hubicka  <jh@suse.cz>
8771
8772         * flow.c (init_propagate_block_info): Canon address and use single_set
8773         for killing dead memory stores.
8774
8775 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
8776
8777         * Makefile.in (reorg.o): Add params.h dependence.
8778         * params.def: Fix typographical error in comment.
8779         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
8780         * params.h: Modify introductory comment.
8781         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
8782         * reorg.c: Add dependence on params.h.
8783         (redundant_insn): Add parameterized throttle for search.
8784         (fill_simple_delay_slots): Add a comment explaining a variable.
8785         Move conditional out of loop, simplifying code.
8786         (fill_eager_delay_slots): Fix typographical error in comment.
8787
8788 2001-02-20  Aldy Hernandez  <aldyh@redhat.com>
8789
8790         * tm.texi (REVERSE_CONDEXEC_PREDICATES_P): New macro documentation.
8791
8792         * flow.c (ior_reg_cond): Use REVERSE_CONDEXEC_PREDICATES_P macro.
8793         (REVERSE_CONDEXEC_PREDICATES_P): Define macro.
8794
8795 2001-02-21  Jason Merrill  <jason@redhat.com>
8796
8797         * tree.h (DECL_UNINLINABLE): Move from C++ frontend.
8798         (struct tree_decl): Add uninlinable bitfield.
8799         * c-decl.c (duplicate_decls): Set it.
8800         * integrate.c (function_cannot_inline_p): Check it.
8801
8802         * dwarf2out.c (add_name_and_src_coords_attributes): Don't add
8803         DW_AT_MIPS_linkage_name to abstract methods.
8804         (dwarf2out_abstract_function): Emit class context before calling
8805         set_decl_abstract_flags.  Don't clear DECL_ABSTRACT.
8806         (gen_subprogram_die): Remove obsolete code.
8807         (gen_member_die): Don't include clones in the member list.
8808         (gen_decl_die): Emit abstract info for clone origin.
8809         * dwarfout.c (output_type): Don't include clones in the member list.
8810         * dbxout.c (dbxout_type_methods): Ignore abstract methods.
8811         * toplev.c (note_deferral_of_defined_inline_function): Don't clear
8812         DECL_ABSTRACT on a function that already has it set.
8813
8814         * dwarf2out.c (gen_formal_types_die): Also accept a FUNCTION_DECL.
8815         (get_subprogram_die): Pass it in.
8816
8817 2001-02-21  Richard Earnshaw  <rearnsha@arm.com>
8818
8819         * flow.c (mark_set_1): Make not_dead unsigned long.  For
8820         non-pseudos, use it as a bitmask of the hard regs that
8821         don't die.
8822
8823 2001-02-21  Neil Booth  <neil@daikokuya.demon.co.uk>
8824
8825         * cppfiles.c: Update comments.
8826         (_cpp_read_file): Don't check for NULL filenames any more.
8827         * cppinit.c (cpp_start_read): Don't do canonicalization of
8828         in_fname and out_fname.  Use the passed file name exclusively.
8829         (_cpp_handle_options): Don't treat "-" as a command line option,
8830         but as a normal filename.
8831         (_cpp_post_options): Canonicalize in_fname and out_fname.
8832         * cppmain.c (printer_init): Don't check out_fname for NULL.
8833         * c-lex.c (orig_filename): Rename cpp_filename for clarity.
8834         (init_c_lex): Update, and use "" to represent stdin to CPP.
8835         (yyparse): Update.
8836
8837 2001-02-20  Will Cohen  <wcohen@redhat.com>
8838
8839         * config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
8840         * config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
8841         (INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
8842         fixunstfsi_libfunc.
8843
8844 2001-02-20  Stan Shebs  <shebs@apple.com>
8845
8846         * config/rs6000/rs6000.c (output_cbranch): Output branches
8847         on separate lines instead of using ';' to separate.
8848
8849 2001-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
8850
8851         * cppinit.c (set_lang):  Move builtin handling to...
8852         (init_builtins): ...here.
8853         (_cpp_create_reader): Move call to set_lang.
8854
8855 2001-02-20  Mark Mitchell  <mark@codesourcery.com>
8856
8857         * stmt.c (expand_return): If an attempt is made to return the
8858         error_mar_node, treat the return like a return without a value.
8859
8860 2001-02-19  Zack Weinberg  <zackw@stanford.edu>
8861
8862         * sibcall.c (skip_copy_to_return_value): Call
8863         identify_call_return_value here, and return orig_insn if it
8864         returns zero.  Hardret and softret arguments now unnecessary.
8865         (call_ends_block_p): Don't call identify_call_return_value here.
8866
8867         * ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or
8868         's' slots in RTXen.
8869         * ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete function.
8870         * ggc.h (ggc_mark_if_gcable): Delete prototype.
8871
8872 Mon Feb 19 20:30:16 2001  Jeffrey A Law  (law@cygnus.com)
8873
8874         * pa.c (move_operand): Accept code to load the address of a
8875         symbol out of the DLT as a valid move operand.
8876         (print_operand, case 'A'): New to handle generating a DLT
8877         reference for a LO_SUM expression.
8878         * pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references.
8879         * pa.md (movsi, movdi patterns): Allow DLT LO_SUM references.
8880
8881 2001-02-19  Joseph S. Myers  <jsm28@cam.ac.uk>
8882
8883         * README, cpp.texi, gcc.texi, version.c: Update version number to
8884         3.1.
8885         * cpp.1, gcov.1, gcc.1: Regenerate.
8886
8887 2001-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
8888
8889         * cppfiles.c (stack_include_file): Generate dependencies
8890         here, and manage include_count here too.
8891         (PRINT_THIS_DEP): Delete.
8892         (_cpp_execute_include): Do not generate dependencies here,
8893         apart from the case of a missing header.  Do not manage
8894         include_count.
8895         (_cpp_read_file): Leave dependency generation to
8896         stack_include_file.
8897
8898 Mon Feb 19 10:17:47 2001  Jeffrey A Law  (law@cygnus.com)
8899
8900         * config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to
8901         target_cpu_default.  Remove dead assignment to
8902         target_cpu_default.
8903
8904 Mon Feb 19 16:47:39 CET 2001  Jan Hubicka  <jh@suse.cz>
8905
8906         * regclass.c (contains_reg_of_mode): Make global.
8907         (init_reg_sets): Remove contains_reg_of_mode; take into account
8908         CLASS_MAX_NREGS when looking for the proper mode.
8909         (dump_regclass): Dump only classes considered for the pseudo.
8910         (regclass): Use contains_reg_of_mode.
8911
8912 Mon Feb 19 16:45:42 CET 2001  Jan Hubicka  <jh@suse.cz>
8913
8914         * gcc.c (do_spec_1): 'n' for printing notices.
8915         * i386.h (CC1_CPU_SPEC): Notice deprecated options as deprecated.
8916
8917 Mon Feb 19 15:51:30 CET 2001  Jan Hubicka  <jh@suse.cz>
8918
8919         * reg-stack.c (next_flags_user): Use current_block->end
8920         (swap_rtx_condition): Look for next user if flags don't die;
8921         give up on CALL_INSNs; use current_block->end.
8922
8923 Mon Feb 19 08:27:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8924
8925         * sibcall.c (call_ends_block_p): New function.
8926         (optimize_sibling_and_tail_recursive_call): Use it.
8927
8928 2001-02-18  Kazu Hirata  <kazu@hxi.com>
8929
8930         * config/h8300/h8300.md: Update copyright.
8931         (andsi3): Do not output an extra newline character.
8932
8933 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8934
8935         * toplev.c (note_deferral_of_defined_inlined_function): Argument
8936         FNDECL may be unused.
8937
8938         * toplev.c (rest_of_compilation): Don't have CSE skip blocks or
8939         follow jumps after first run.
8940         If -fexpensive-optimizations rerun CSE after GCSE and iterate until
8941         it doesn't change any jumps.
8942
8943 Sun Feb 18 17:05:50 2001  Jeffrey A Law  (law@cygnus.com)
8944
8945         * Makefile.in (rtlanal.o): Depend on hard-reg-set.h.
8946         ($HOST_PREFIX_1)rtlanal.o: Remove rules for building
8947         (mostlyclean): Corresponding changes.
8948         * rtlanal.c (hard-reg-set.h): Include.
8949         (rtx_unstable_p): Do not treat the argument pointer specially
8950         if it is not a fixed register.
8951         (rtx_varies_p, rtx_addr_can_trap_p): Similarly.
8952
8953 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8954
8955         * sibcall.c (optimize_sibling_and_tail_recursive_call): Compare
8956         against last real insn in basic block.
8957         Rework to avoid gotos.
8958
8959         * Makefile.in (gcse.o): Now includes ggc.h.
8960         * gcse.c: Include ggc.h.
8961         (want_to_gcse_p): Verify expression can be in SET as valid insn.
8962         (try_replace_reg): Remove warning of uninitialize variable.
8963         (process_insert_insn): Call invalid_insn_p to validate insn.
8964         * recog.c (insn_invalid_p): Now global.
8965         See if can make valid by adding CLOBBERs of SCRATCH only and do if so.
8966         * recog.h (insn_invalid_p): New declaration.
8967
8968         * jump.c (jump_optimize_1): Only define reversed_code #ifdef HAVE_trap.
8969
8970         * config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put
8971         assignments from FP constants since 'Y' output code can't handle it.
8972         (eligible_for_sibcall_delay): Likewise.
8973
8974         * flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.
8975         Call fancy_abort directly, passing args.
8976         (print_rtl_and_abort): Now a macro, like fancy_abort.
8977
8978         * final.c (output_operand_lossage): Use internal_error, not error.
8979
8980 2001-02-18  Shane Nay  <shane@agendacomputing.com>
8981
8982         * mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to
8983         structure shift insns.
8984
8985 2001-02-18  Mark Mitchell  <mark@codesourcery.com>
8986
8987         * invoke.texi (-fsquangle): Remove documentation.
8988         (-fname-mangling-version): Likewise.
8989
8990 2001-02-18  Lars Brinkhoff  <lars@nocrew.org>
8991
8992         * optabs.c (expand_abs): Remove reference to
8993         HAVE_contitional_arithmetic.
8994         * combine.c (simplify_set): Likewise.
8995
8996 2001-02-18  Richard Henderson  <rth@redhat.com>
8997
8998         * ifcvt.c (dead_or_predicable): Don't move code if eh regions
8999         would be disrupted.
9000
9001 2001-02-18  Richard Henderson  <rth@redhat.com>
9002
9003         * config/ns32k/ns32k.h (ADJSP): Upcase arguments.
9004
9005         * config/alpha/alpha.md (movsi_fix): Fix typo in pattern name.
9006
9007         * reload1.c (reload_cse_simplify_set): Fix typo.
9008
9009 Sun Feb 18 09:30:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9010
9011         * diagnostic.c (_fatal_insn): Decrement errorcount.
9012
9013         * invoke.texi (-I): Add note avoiding use for system header files.
9014
9015         * rtl.h (add_clobbers): Remove duplicate declaration.
9016         * recog.h (added_clobbers_hard_reg_p): New declaration.
9017         * genemit.c (struct clobber_pat): New field has_hard_reg.
9018         (gen_insn): Record if added clobbers clobber hard reg.
9019         (gen_split): Avoid unused warning if number of operands is 0.
9020         (output_added_clobbers_hard_reg_p): New function.
9021         (main): Call it.
9022
9023 2001-02-18  Alan Modra <alan@linuxcare.com.au>
9024
9025         * pa.c (hppa_expand_prologue): Simplify code storing return
9026         pointer.  For large (>=8k) frames with a post_store, adjust stack
9027         pointer by 8k-64 first rather than by 64.  When testing with
9028         VAL_14_BITS_P, always use the actual value rather than the value
9029         negated.  Add blockage to prevent scheduling of spills before
9030         stack frame has been created.
9031         (hppa_expand_epilogue): Simplify code loading return pointer.
9032         Allow a slightly larger range for merge_sp_adjust_with_load case.
9033         When testing with VAL_14_BITS_P, always use the actual value.
9034
9035         * pa.c (pa_adjust_insn_length): Check that block move
9036         pattern is a set before looking at operands.
9037
9038 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
9039
9040         * fold-const.c (fold_binary_op_with_conditional_arg): New
9041         function, split out from ...
9042         (fold): ... here.
9043         * tree.def (COND_EXPR): Document the use of VOID_TYPE for
9044         conditional arms that throw exceptions.
9045
9046         * print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not
9047         looking at a BLOCK.
9048
9049 2001-02-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9050
9051         * aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test,
9052         define HAVE_DECL_* to 1 to mask potential backup declarations.
9053         * configure: Regenerated.
9054
9055 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
9056
9057         * invoke.texi (-Woverloaded-virtual): Clarify documentation.
9058
9059 2001-02-17  Richard Henderson  <rth@redhat.com>
9060
9061         * reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP
9062         when replacing a memory load with a register.
9063
9064 Sat Feb 17 14:48:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9065                           Jan Hubicka  <jh@suse.cz>
9066
9067         * recog.c (validate_replace_src_1): New.
9068         (validate_replace_src_data): Likewise.
9069         (validate_replace_src): Use note_uses.
9070         * rtl.h (note_uses): Declare.
9071         * rtlanal.c (note_uses): New.
9072
9073 Sat Feb 17 10:52:34 CET 2001  Jan Hubicka  <jh@suse.cz>
9074
9075         * reg-stack.c (stack_def): Make field reg unsigned.
9076         (remove_regno_note): Unsignetize parameter.
9077
9078 2001-02-16  Jes Sorensen  <jes@linuxcare.com>
9079
9080         * ia64.c (errata_emit_nops): Add VOIDmode as second argument to
9081         shladd_operand() call.
9082
9083 2001-02-16  Bruce Korb  <bkorb@gnu.org>
9084             Rodney Brown  <RodneyBrown@mynd.com>
9085
9086         * fixinc/mkfixinc.sh: Use C fixincludes for UnixWare 7.
9087         * fixinc/inclhack.def: Add fixinc.svr4 patterns with matching
9088         machine restrictions
9089         * fixinc/fixincl.x: regen
9090
9091 Fri Feb 16 12:41:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9092
9093         * gcse.c (hash_scan_set): If cprop, see if REG_EQUAL or REG_EQUIV.
9094         Don't CSE a nop.
9095         (hash_scan_insn): Clean up calls to hash_scan_set.
9096         (compute_kill_rd): REGNO now unsigned.
9097         (try_replace_reg): Rework to use simplify_replace_rtx.
9098         (cprop_jump, cprop_cc0_jump): Likewise.
9099         (cprop_insn): Call find_reg_equal_equiv_note.
9100         Reflect changes to cprop_jump and cprop_cc0_jump.
9101
9102         * recog.c (validate_replace_src): Replace in operands of
9103         ZERO_EXTRACT in SET_DEST.
9104
9105         * cse.c (new_label_ref): New variable.
9106         (insert): Set it instead of recorded_label_ref.
9107         (cse_basic_block): Set recorded_label_ref if new_label_ref use, has
9108         CODE_LABEL for this function, and not already in REG_LABEL note.
9109
9110 2001-02-16  Jeffrey Oldham  <oldham@codesourcery.com>
9111
9112         * resource.c (mark_referenced_resources): Fix typo in introductory
9113         comment.
9114         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Fix typo in
9115         string constant.
9116
9117 2001-02-16  Jason Merrill  <jason@redhat.com>
9118
9119         * dwarf2out.c (add_bound_info): Don't crash if SAVE_EXPR_RTL is
9120         NULL.
9121         (gen_subprogram_die): Don't abort on seeing a second definition if
9122         the previous one was abstract.  Don't replace an abstract instance
9123         in the lookup table.
9124
9125         * dwarf2out.c (dwarf2out_abstract_function): Rename from
9126         gen_abstract_function.
9127         * dwarf2out.h: Declare it.
9128         * toplev.c (note_outlining_of_inline_function): New fn.
9129         * toplev.h: Declare it.
9130         * integrate.c (output_inline_function): Call it.
9131         * c-decl.c (duplicate_decls): Call it when redefining an extern
9132         inline.  Don't inline the new defn.
9133
9134         * tree.h (BLOCK_CHAIN): Use BLOCK_CHECK.
9135
9136 2001-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9137
9138         * .gdbinit: Rename to gdbinit.in.
9139         * gdbinit.in: New file,
9140         * configure.in: Generate .gdbinit from gdbinit.in.
9141         * configure: Regenerated.
9142         * Makefile.in (distclean): Always remove .gdbinit.
9143
9144 2001-02-16  Jakub Jelinek  <jakub@redhat.com>
9145
9146         * objc/objc-act.c (start_class): Register implemented_classes with
9147         GC.
9148
9149 2001-02-16  Neil Booth  <neil@daikokuya.demon.co.uk>
9150
9151         * cppfiles.c (_cpp_make_system_header): Generate a file
9152         change callback.
9153
9154 2001-02-15  Jim Meyering  <meyering@lucent.com>
9155
9156         * Makefile.in (install-common): Don't depend on installdirs here.
9157         Instead, make each of the lang.install-common targets (e.g.,
9158         c++.install-common in cp/Make-lang.in) depend on it.
9159         (install-driver): Depend on installdirs.
9160
9161 Thu Feb 15 21:30:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9162
9163         * flow.c (tidy_fallthru_edge): Never end block on line number NOTE.
9164
9165         * function.c (assign_parms): Set RTX_UNCHANGING_P in pseudo when we
9166         do in memory.
9167
9168 2001-02-15  Mark Mitchell  <mark@codesourcery.com>
9169
9170         * invoke.texi (--param): Document.
9171
9172 Thu Feb 15 15:16:38 2001  Alexandre Oliva  <aoliva@redhat.com>
9173
9174         * config/sh/sh.h (BOOL_TYPE_SIZE): Don't define.
9175
9176 Thu Feb 15 10:52:31 CET 2001  Jan Hubicka  <jh@suse.cz>
9177
9178         * i386.md (extendsfdf2_2): Fix constraints.
9179
9180 Thu Feb 15 09:46:21 CET 2001  Jan Hubicka  <jh@suse.cz>
9181
9182         * i386.md (fop_df_3 splitter): Fix operand number.
9183
9184 Wed Feb 14 12:37:37 CET 2001  Jan Hubicka  <jh@suse.cz>
9185
9186         * invoke.texi (-mreg-alloc): Nuke.
9187         * i386.c (ix86_reg_alloc_order, regs_allocated,
9188         order_regs_for_local_alloc): Nuke.
9189         (override_options): Kill reg_alloc code.
9190         * i386.h (TARGET_OPTIONS): Kill reg-alloc.
9191         (REG_ALLOC_ORDER): SSE goes before I387.
9192         (ORDER_REGS_FOR_LOCAL_ALLOC): Kill.
9193         (ix86_reg_alloc_order): Likewise.
9194         * i386-protos.h (ix86_reg_alloc_order): Kill.
9195
9196 2001-02-14  Richard Henderson  <rth@redhat.com>
9197
9198         * toplev.c (f_options): Clarify -fschedule-insns2 documentation.
9199
9200 Wed Feb 14 11:59:58 CET 2001  Jan Hubicka  <jh@suse.cz>
9201
9202         * i386.h (RETURN_IN_MEMORY): Fix formating; reject TFmodes
9203
9204 Wed Feb 14 11:12:38 CET 2001  Jan Hubicka  <jh@suse.cz>
9205
9206         * i386-protos.h (ix86_memory_move_cost): Move offline.
9207         * i386.c (ix86_register_move_cost): Compute properly cost of
9208         SSE, MMX and i387 instructions.
9209         (*_cost): Add costs of SSE/MMX moves.
9210         (ix86_memory_move_cost): Move offline from ....; Likewise.
9211         * i386.h (MEMORY_MOVE_COST): .... here;
9212         (struct processor costs): Add new fields to represent costs
9213         of SSE/MMX moves.
9214
9215 Wed Feb 14 10:08:26 CET 2001  Jan Hubicka  <jh@suse.cz>
9216
9217         * regclass.c (init_reg_sets_1): Reinstall the optimization of
9218         move_cost together with Matt Kraai's fix.
9219
9220 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
9221
9222         * Makefile.in (OBJS): Add params.o.
9223
9224 2001-02-14  Richard Henderson  <rth@redhat.com>
9225             DJ Delorie  <dj@redhat.com>
9226
9227         * jump.c (jump_optimize_1): When we delete a conditional jump
9228         preceeding a non-conditional jump to effectively the same place,
9229         make sure that the combined jump skips any clobber insns between
9230         the two labels.
9231
9232 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
9233
9234         * gcc.c (do_spec_1): Fix off-by-one error for '%M' case.
9235
9236 2001-02-14  Mark Mitchell  <mark@codesourcery.com>
9237
9238         * Makefile.in (toplev.o): Depend on params.h.
9239         (intergate.o): Likewise.
9240         (params.o): New target.
9241         * flags.h (inline_max_insns): Remove.
9242         * integrate.c: Include params.h.
9243         Use MAX_INLINE_INSNS instead of inline_max_insns.
9244         * params.c: New file.
9245         * params.h: Likewise.
9246         * params.def: Likewise.
9247         * toplev.c: Include params.h.
9248         (lang_independent_params): New variable.
9249         (decode_f_option): Use the param machinery instead of setting
9250         max_inline_insns.
9251         (independent_decode_option): Handle "--param name=value".
9252         (main): Register language-independent parameters.
9253
9254 Wed Feb 14 11:13:45 CET 2001  Jan Hubicka  <jh@suse.cz>
9255
9256         * i386.md (pushsf, pushdf_nointeger): Fix constraint.
9257
9258 2001-02-14  Richard Henderson  <rth@redhat.com>
9259
9260         * regclass.c (init_reg_sets_1): Revert last two changes.
9261
9262 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
9263
9264         * stor-layout.c (is_pending_size, put_pending_size): New functions.
9265         (variable_size): Call put_pending_size.
9266         * tree.h (is_pending_size, put_pending_size): Add prototypes.
9267         * fold-const.c (extract_muldiv): If SAVE_EXPR is on the pending
9268         sizes list, put newly created SAVE_EXPR there as well.
9269
9270 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
9271
9272         * config/ia64/ia64.c (last_group): Only 2 entries are needed.
9273         (errata_find_address_regs): load_group has only 2 entries.
9274         (errata_emit_nops): Likewise.  shladd is not problematic.
9275         Clear last_group if nop was emitted.
9276         (fixup_errata): load_group has only 2 entries.
9277         Optimize.
9278
9279 2001-02-14  Neil Booth  <neil@daikokuya.demon.co.uk>
9280
9281         * c-lex.c (lex_number): Only warn traditionally for U suffix
9282         outside system macros.
9283         * cppexp.c (parse_number): Similarly.
9284         * cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
9285         * cppmacro.c (struct cpp_macro): New member node.
9286         (parse_args): Only warn about missing rest args if not
9287         a system macro.
9288         (funlike_invocation_p): Similarly for uninvoked funlike macros.
9289         (cpp_sys_objmacro_p): New.
9290         (_cpp_create_definition): Store the node with the macro defn.
9291         Remember if the macro is defined in a system header.
9292
9293 2001-02-13  DJ Delorie  <dj@redhat.com>
9294
9295         * configure.in (check_languages): determine languages to check
9296         * Makefile.in (check-c++): alias for check-g++
9297         (check-f77): alias for check-g77
9298         (CHECK_TARGETS): depend on configured languages
9299
9300 Wed Feb 14 01:13:59 CET 2001  Jan Hubicka  <jh@suse.cz>
9301
9302         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
9303         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
9304         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
9305         (sqrtextendsfdf2): Disable for SSE2.
9306
9307 Wed Feb 14 00:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
9308
9309         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
9310         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
9311         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
9312         (sqrtextendsfdf2): Disable for SSE2.
9313
9314 Wed Feb 14 00:11:20 CET 2001  Jan Hubicka  <jh@suse.cz>
9315
9316         * i386.md (movsfcc_1): Support integer cmove instruction.
9317         (movdfcc_1): Likewise; new splitter.
9318
9319 Tue Feb 13 23:19:27 CET 2001  Jan Hubicka  <jh@suse.cz>
9320
9321         * i386.c (output_fp_compare): Support SSE.
9322         (prepare_fp_compare_args): SSE comparisons always support memory.
9323         * i386.h (TARGET_CMOVE): SSE imply cmove.
9324         * i386.md (cmp?f2): Enable for SSE too.
9325         (cmpfp_i*): Support SSE.
9326         (cmpfp_i_sse): New.
9327         (cmpfp_i_sse_only): New.
9328         (s*, b* fp expanters): Enable for SSE too.
9329         (fp_jcc_1_sse, fp_jcc_1_sse_only, fp_jcc_2_sse, fp_jcc_2_sse_only):
9330         New patterns.
9331
9332 Tue Feb 13 23:05:42 CET 2001  Jan Hubicka  <jh@suse.cz>
9333
9334         * regclass.c (init_reg_sets_1): Silence warning.
9335
9336 Tue Feb 13 22:03:07 CET 2001  Jan Hubicka  <jh@suse.cz>
9337
9338         * i386.md (sqrt?f2): Change to expander.
9339         (sqrt?f2_1, sqrt?f2_sse_only, sqrt?f2_i387): New.
9340
9341 Tue Feb 13 15:42:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9342
9343         * rtlanal.c (find_reg_equal_equiv_note): New function.
9344         * simplify-rtx.c (simplify_gen_unary, simplify_gen_ternary): New fns.
9345         (simplify_gen_relational, simplify_replace_rtx): Likewise.
9346         * rtl.h: Add declarations for above functions.
9347
9348 Tue Feb 13 21:09:11 CET 2001  Jan Hubicka  <jh@suse.cz>
9349
9350         * cse.c (cse_main): Converts ifdefs on PIC_OFFSET_TABLE_REGNUM to
9351         conditionals.
9352         * defaults.h (PIC_OFFSET_TABLE_REGNUM): Default to INVALID_REGNUM.
9353         * emit-rtl.c (init_emit_once): Convert ifdefs to conditionals.
9354         * flow.c (mark_regs_live_at_end): Likewise.
9355         (calculate_global_regs_live): Likewise.
9356         * gcse.c (compute_hash_table): Likewise.
9357         (compute_kill_rd): Likewise.
9358         * resource.c (mark_target_live_regs): Likewise.
9359         * rtl.h (INVALID_REGNUM): New macro.
9360
9361 Tue Feb 13 20:59:22 CET 2001  Jan Hubicka  <jh@suse.cz>
9362
9363         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch.
9364
9365 Tue Feb 13 16:32:20 CET 2001  Jan Hubicka  <jh@suse.cz>
9366
9367         * i386.md (fixsfsi2, fixdfdi2): Force operand to register
9368         for SSE.
9369
9370 Tue Feb 13 14:53:16 CET 2001  Jan Hubicka  <jh@suse.cz>
9371
9372         * i386.md (add?f3, sub?f3, mul?f3, dif?f3): Enable for TARGET_SSE(2)
9373         too.
9374         (fop_sf_comm, fop_df_comm, fop_sf_1, fop_df_1): Support SSE.
9375         (fop_sf_comm_sse, fop_df_comm_sse): New patterns.
9376         (fop_sf_1_sse, fop_df_1_sse): New patterns
9377         (fop_*): Disable float_extend and float patterns for SSE compilation.
9378         * i386.c (output_387_binary_op): Support SSE.
9379
9380 Tue Feb 13 14:16:34 CET 2001  Jan Hubicka  <jh@suse.cz>
9381
9382         * i386.md (dummy_extendsfdf2): Support SSE2
9383         (extendsfdf2): Enable if 80387 or SSE2.
9384         (extendsfdf2_1): Support SSE2. Disable if SSE2 is avialble
9385         and no MIX_I387_SSE2
9386         (extendsfdf2_1_sse_only): New pattern.
9387         (truncdfsf2): Enable if SSE2 or 80387; Always use SSE only version
9388         of SSE.
9389         (truncdfsf2_1): Support SSE.
9390         (truncdfsf2_2): Support SSE.
9391         (truncdfsf2_2_1_sse): New pattern.
9392         (fixtruncsfsi2): Always use SSE if available.
9393         (fix_truncsfsi_sse): New pattern.
9394         (fix_truncdfsi_sse): New pattern.
9395         (floatsis?f2): Support SSE.
9396         (floatsidf2_i387): New pattern.
9397         (floatsidf2_sse): Likewise.
9398
9399 Tue Feb 13 07:52:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9400
9401         * configure.in: Use "have_gnat" variable, not "gnat".
9402         * configure: Regenerated.
9403
9404         * config/sparc/sparc.c (function_value): Treat all non-record
9405         aggregate types like used to treat UNION_TYPE.
9406
9407 Tue Feb 13 13:31:33 CET 2001  Jan Hubicka  <jh@suse.cz>
9408
9409         * i386.c (print_reg): Use ANY_FP_REG instead of FP_REG
9410         * i386.h (MASK_128BIT_LONG_DOUBLE): Renumber
9411         (MASK_SSE2): New.
9412         (MASK_MIX_SSE_I387): New.
9413         (TARGET_SSE): SSE2 imply SSE.
9414         (TARGET_SSE2, TARGET_MIX_SSE_I387): New.
9415         (TARGET_SWITCHES): Add "sse2", "mix-sse-i387".
9416         (enum reg_class): Add new classes.
9417         (REG_CLASS_NAMES): Likewise.
9418         (REG_CLASS_CONTENTS): Likewise.
9419         (ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros.
9420         (REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is
9421         supported. Add 'Y' to be SSE_REGS when SSE2 is supported.
9422         (CLASS_MAX_NREGS): Use new macros.
9423         (REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED.
9424         * i386.md (pushsf, movsf): Support SSE.
9425         (pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update
9426         splitters to use ANY_FP_REGNO_P.
9427         (movdf_nointeger, movdf_integer): Likewise.
9428
9429 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
9430
9431         * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro.
9432         (try_combine): Use it.
9433
9434 Tue Feb 13 11:37:06 CET 2001  Jan Hubicka  <jh@suse.cz>
9435
9436         * i386.h (SSE_CLASS_P, MMX_CLASS_P, MAYBE_FLOAT_CLASS_P,
9437         MAYBE_SSE_CLASS_P, MAYBE_MMX_CLASS_P): New macros.
9438         (PREFERRED_RELOAD_CLASS, SECONDARY_MEMORY_NEEDED): Move offline.
9439         (REGISTER_MOVE_COST): Likewise.
9440         * i386-protos.h (ix86_secondary_memory_needed,
9441         ix86_preferred_reload_class, ix86_register_move_cost): Declare.
9442         * i386.c (ix86_secondary_memory_needed,
9443         ix86_preferred_reload_class, ix86_register_move_cost): New function.
9444
9445 Die Feb 13 11:04:25 CET 2001  Jan Hubicka  <jh@suse.cz>
9446
9447         * i386.h (VALID_FP_MODE_P, VALID_INT_MODE_P): New.
9448         (HARD_REGNO_MODE_OK): Move offline to ....
9449         * i386.c (ix86_hard_regno_mode_ok) ... here;
9450         refuse all incorrect modes.
9451         * i386-protos.h (ix86_hard_regno_mode_ok): Declare.
9452
9453 2001-02-13  Richard Henderson  <rth@redhat.com>
9454
9455         * sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the
9456         entire operator; replicate that and match_dup the operands.
9457         (cmp_ccx_arith_op_set): Likewise.
9458         (cmp_cc_arith_op_not_set): Likewise.
9459         (cmp_ccx_arith_op_not_set): Likewise.
9460
9461 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
9462
9463         * explow.c (trunc_int_for_mode): Sign-extend value to mode.
9464
9465 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
9466
9467         * config/rs6000/sysv4.h (MASK_NO_BITFIELD_WORD): New macro.
9468         (TARGET_NO_BITFIELD_WORD): New macro.
9469         (SUBTARGET_SWITCHES): Add -mbit-word, -mno-bit-word options.
9470         (BITFIELD_NBYTES_LIMITED): Define based on TARGET_NO_BITFIELD_WORD.
9471
9472 Mon Feb 12 18:13:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9473
9474         * cselib.c: New file, from simplify-rtx.c.
9475         * simplify-rtx.c: Remove cselib parts.
9476         * Makefile.in: Add cselib.o.
9477
9478 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
9479
9480         * config/rs6000/rs6000.c (rs6000_float_const): Remove warning.
9481         (setup_incoming_varargs): Remove warning.
9482
9483         * config/rs6000/rs6000.c (validate_condition_mode): When
9484         flag_fast_math, allow floating-point conditionals to be reversed.
9485         (rs6000_generate_compare): When flag_fast_math, don't generate
9486         cror operations for FP conditionals.
9487
9488         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
9489         -mcall-i960.
9490         (ASM_SPEC): Likewise.
9491         (CC1_ENDIAN_LITTLE_SPEC): Likewise.
9492         (CC1_SPEC): Likewise.
9493         (LINK_TARGET_SPEC): Likewise.
9494         (CPP_ENDIAN_SPEC): Likewise.
9495         * Makefile.in (check-consistency): New target.
9496
9497 2001-02-12  Joseph S. Myers  <jsm28@cam.ac.uk>
9498
9499         * c-decl.c (grokdeclarator): In C99 mode, give the more specific
9500         "return type defaults" warning for functions with return type
9501         defaulting to int.
9502         * c-lang.c (c_init): In C99 mode, enable warnings for implicit
9503         function declarations by default rather than only when pedantic.
9504
9505 Mon Feb 12 17:28:48 CET 2001  Jan Hubicka  <jh@suse.cz>
9506
9507         * regclass.c (init_reg_sets_1): Optimize calculation of move_cost
9508         arrays.
9509
9510 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
9511
9512         * extend.texi (Deprecated): Deprecate new initializer lists.
9513
9514 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
9515
9516         * mkdeps.c (deps_add_default_target): Robustify. Add
9517         basename component only.
9518         * cpp.texi (-M): Describe how default target is generated.
9519         * invoke.texi (-M): Likewise.
9520
9521 2001-02-12  Kazu Hirata  <kazu@hxi.com>
9522
9523         * toplev.c (push_float_handler): Remove.
9524         (pop_float_handler): Remove.
9525         * toplev.h: Remove prototypes for the above functions.
9526
9527 2001-02-12  Jakub Jelinek  <jakub@redhat.com>
9528
9529         * c-common.c (constant_fits_type_p): New function.
9530         (convert_and_check): Use it.
9531
9532 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
9533
9534         * Makefile.in (GXX_ABI_FLAG): Don't define.
9535         * configure.in (--enable-new-gxx-abi): Remove option.
9536         * config.in: Regenerated.
9537         * configure: Likewise.
9538
9539 2001-02-12  Alexandre Oliva  <aoliva@redhat.com>
9540
9541         * lcm.c (compute_earliest): Let EXIT_BLOCK be handled as a regular
9542         basic block.
9543         (optimize_mode_switching) [NORMAL_MODE]: Set up EXIT_BLOCK as a
9544         regular basic block, and arrange for all edges into it to switch
9545         to normal mode.
9546
9547 2001-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9548
9549         * Makefile.in (distclean): Do not remove .gdbinit.
9550
9551 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
9552
9553         * Makefile.in (gcc.o): Fix typos.
9554         (protize.o): Likewise.
9555         (unprotoize.o): Likewise.
9556
9557 2001-02-11  Richard Henderson  <rth@redhat.com>
9558
9559         * tree.c (build1): Check for null operand in last change.
9560
9561 2001-02-11  Richard Henderson  <rth@redhat.com>
9562
9563         * fold-const.c (split_tree): Don't assume a constant isn't splittable.
9564         (fold): Don't assume a constant isn't foldable.
9565         * tree.c (build): Set TREE_CONSTANT for an expression with no
9566         side-effects and constant operands.
9567         (build1): Likewise.
9568
9569 2001-02-10  Richard Henderson  <rth@redhat.com>
9570
9571         * jump.c (squeeze_notes): Revert 2000-05-12 change.
9572
9573 2001-02-10  Anthony Green  <green@redhat.com>
9574
9575         * cpp.texi (Standard Predefined): Add documentation for
9576         __OPTIMIZE_SIZE__.
9577
9578         * c-common.c (combine_strings): Improve warning message.
9579
9580 2001-02-10  Geoffrey Keating  <geoffk@redhat.com>
9581
9582         * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Use two dashes for
9583         --oformat.
9584         * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Likewise.
9585
9586 Fri Feb  9 15:05:27 2001  Christopher Faylor <cgf@cygnus.com>
9587
9588         * config/i386/t-cygwin (T_CPPFLAGS): Use correct location for
9589         CYGWIN_CROSS_DIR.
9590
9591 2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
9592
9593         * config/sh/sh.md (sibcalli, sibcalli_pcrel, sibcalli): Set
9594         fp_mode attribute.
9595
9596 2001-02-09  Nick Clifton  <nickc@redhat.com>
9597
9598         * config/arm/arm.md: Change output contraint on post inc
9599         load/store multiple patterns to be a read/write contraint.
9600
9601 2001-02-09  Neil Booth  <neil@daikokuya.demon.co.uk>
9602
9603         * gcc.c (cpp_options): Delete .d files on error.  Don't delete
9604         .o files when using the -M options.
9605
9606 2001-02-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9607             David Edelsohn  <edelsohn@gnu.org>
9608
9609         * config/rs6000/rs6000.c (output_toc): Allow 32-bit targets to
9610         handle DImode constants.  Use one TOC entry for SImode and smaller
9611         constants, aligned properly.
9612
9613 2001-02-08  Jason Merrill  <jason@redhat.com>
9614
9615         * config/arm/arm.c (arm_expand_prologue): Do tell the dwarf2 backend
9616         about the SP adjustment for saving the static chain pointer.
9617         * dwarf2out.c (dwarf2out_frame_debug_expr): Use the specified
9618         offset when setting a temporary CFA register.
9619
9620 2001-02-08  Chandrakala Chavva  <cchavva@redhat.com>
9621
9622         * config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
9623         powerpc-*-chorusos* .
9624         * config/rs6000/chorus.h : New file.
9625         * config/i386/chorus.h : New file.
9626         * config/sparc/chorus.h : New file.
9627         * config/sparc/t-chorus-elf : New file.
9628
9629 2001-02-08  David Edelsohn  <edelsohn@gnu.org>
9630
9631         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ...
9632         * config/rs6000/aix.h (ASM_OUTPUT_SYMBOL_REF): ... to here.
9633         * config/rs6000/aix51.h (CPLUSCPLUS_CPP_SPEC): Define it.
9634         (__WCHAR_TYPE__): Correct macro name.
9635
9636 2001-02-08  Richard Henderson  <rth@redhat.com>
9637
9638         * config/i386/i386.c (ix86_frame_pointer_required): New.
9639         (ix86_setup_frame_addresses): New.
9640         (struct machine_funciton): Add accesses_prev_frame.
9641         * config/i386/i386.h (FRAME_POINTER_REQUIRED): Call
9642         ix86_frame_pointer_required.
9643         (SUBTARGET_FRAME_POINTER_REQUIRED): New.
9644         (SETUP_FRAME_ADDRESSES): New.
9645         * config/i386/i386-protos.h: Update.
9646         * config/i386/sco5.h (SUBTARGET_FRAME_POINTER_REQUIRED): Rename
9647         from FRAME_POINTER_REQUIRED.
9648         * config/i386/svr3gas.h: Likewise.
9649         * config/i386/sysv3.h: Likewise.
9650         * config/i386/v3gas.h: Likewise.
9651
9652 2001-02-08  Richard Henderson  <rth@redhat.com>
9653
9654         * config/sparc/sparc.c (function_arg_record_value_3): Fix
9655         calculation of the number of integer registers required.
9656         (function_arg_record_value): Likewise.
9657
9658 2001-02-08  Jason Merrill  <jason@redhat.com>
9659
9660         * diagnostic.c (internal_error): Say "confused" after 1 error, not
9661         two.  Print file and line with "confused" message.
9662
9663         * dwarf2out.c (dwarf2out_line): Include filename in -dA output.
9664
9665 Thu Feb  8 11:21:28 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9666
9667         * rtlanal.c (remove_node_from_expr_list): Correctly update PREV.
9668
9669 2001-02-08  Bernd Schmidt  <bernds@redhat.com>
9670
9671         * final.c (cleanup_subreg_operands): The address of a MEM can
9672         contain SUBREGs.
9673
9674         * config/ia64/ia64.c (ia64_variable_issue): Call group_barrier_needed_p
9675         for asms, too.
9676
9677 2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
9678
9679         * gcc.texi (Incompatibilities): Update documentation of
9680         preprocessing numbers.
9681
9682 2001-02-07  Jakub Jelinek  <jakub@redhat.com>
9683
9684         * c-decl.c (finish_enum): Revert part of 2000-01-05 change.
9685
9686 2001-02-07  Mark Mitchell  <mark@codesourcery.com>
9687
9688         * config/rs6000/aix43.h (CPLUSCPLUS_CPP_SPEC): Define it.
9689
9690         * defaults.h (CPLUSPLUS_CPP_SPEC): New macro.
9691         * gcc.c (struct compiler): Add cpp_spec field.
9692         (input_file_compiler): New variable.
9693         (do_spec_1): Allow a particular compiler to handle `%C'
9694         specially.
9695         (main): Store the current compiler in input_file_compiler.
9696         * tm.texi (CPLUSPLUS_CPP_SPEC): Document.
9697
9698 2001-02-07  Zack Weinberg  <zack@wolery.stanford.edu>
9699
9700         * cpphash.h (struct spec_nodes): Add n_true and n_false.
9701         * cppinit.c (cpp_create_reader): Initialize them.
9702         (append_include_chain): cxx_aware arg might be unused.
9703         * cppexp.c (lex): In C++ mode, recognize 'true' and 'false'
9704         keywords and give them their phase 7 meaning.  Pedwarn about
9705         this unless '__bool_true_false_are_defined' is defined.
9706
9707 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
9708
9709         * lcm.c (optimize_mode_switching): Emit mode_set before the
9710         JUMP_INSN of an abnormal edge.
9711
9712 2001-02-07  Bernd Schmidt  <bernds@redhat.com>
9713
9714         * builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
9715         a scheduling barrier at the end.
9716
9717         * tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document.
9718
9719 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
9720
9721         * config/sh/sh.md (reload_outsf): Removed.
9722         (movsf_ie): Introduce constraints for FPUL loads and stores.
9723         (reload_insf): Broaden the output constraint.
9724
9725         * config/elfos.h (INT_ASM_OP): Don't define it if it's already
9726         defined.
9727         * config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
9728         ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h.
9729
9730 2001-02-06  Chandrakala Chavva  <cchavva@redhat.com>
9731
9732         * final.c: Revert my previous changes.
9733         * output.h: Make profile_label_no extern.
9734         * config/rs6000/rs6000.c (output_profile_hook): Use standard functions
9735         for generating label.
9736
9737 2001-02-06  Laurynas Biveinis  <lauras@softhome.net>
9738
9739         * config/i386/djgpp.h: Add comments about standard paths.
9740         (MD_EXEC_PREFIX): Undefine before defining.
9741         (MD_STARTFILE_PREFIX): New.
9742
9743 2001-01-30  Bruce Korb  <bkorb@gnu.org>
9744
9745         fixinc/fixincl.c(process):  Emit error message only if appropriate :)
9746         (load_file): do not rely on load_file_data() to close file pointer
9747         fixinc/fixlib.c(load_file_data): do not close passed in file pointer
9748         fixinc/inclhack.def(irix_limits_const): add test_text
9749
9750 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
9751
9752         * cppexp.c (parse_defined): Improve diagnostics for invalid
9753         syntax.
9754
9755 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
9756
9757         * cppmacro.c (cpp_get_token): Avoid pasting after a builtin.
9758
9759 2001-02-06  Mark Mitchell  <mark@codesourcery.com>
9760
9761         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Define.
9762         * config/rs6000/rs6000-protos.h (rs6000_output_symbol_ref): Declare.
9763         * config/rs6000/rs6000.c (VTABLE_NAME_P): New macro.
9764         (rs6000_output_symbol_ref): New function.
9765         (output_toc): Use VTABLE_NAME_P.
9766
9767 Tue Feb  6 07:54:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9768
9769         * print-tree.c (print_node, case PARM_DECL):
9770         Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN.
9771
9772         * stor-layout.c (reference_types_internal): New variable.
9773         (internal_reference_types): New function.
9774         (layout_type, case REFERENCE_TYPE): Make Pmode if internal.
9775         * tree.h (internal_reference_types): New declaration.
9776
9777         * cse.c (find_best_addr): Fix typo in computing cost.
9778
9779 Mon Feb  5 21:56:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9780
9781         * combine.c (nonzero_bits, case PLUS): If pointers extend unsigned
9782         and this is the sum of a pointer and a constant, we know the result
9783         did not overflow.
9784         (num_sign_bit_copies, case PLUS): Likewise.
9785         * explow.c (convert_memory_address): Remove opposite SUBREG.
9786         * function.c (instantiate_new_reg): New function (from common code).
9787         (instantiate_virtual_regs_1): Call it.
9788         For PLUS, handle if (plus (subreg (virt-reg) (const_int))
9789         if pointers sign- or zero-extend.
9790         * simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND):
9791         If pointers extend unsigned, use inside of SUBREG.
9792         (simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend.
9793
9794 2001-02-05  Benjamin Kosnik  <bkoz@redhat.com>
9795
9796         * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target
9797         subdir of gcc_gxx_include_dir.
9798         (gcc_gxx_target_include_dir): Remove.
9799
9800 2001-02-05  Jeffrey Oldham  <oldham@codesourcery.com>
9801
9802         * dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments.
9803         (dwarf2out_frame_debug_expr): Revise introductory comments to add
9804         a high-level description.
9805
9806 2001-02-05  Chandrakala Chavva  <cchavva@redhat.com>
9807
9808         * final.c: Move the declaration of profile_label_no to ...
9809         * output.h: ... here.
9810         * function.c (expand_function_start): Call PROFILE_HOOK.
9811         * config/rs6000/aix.h: Define PROFILE_HOOK.
9812         * config/rs6000/rs6000-protos.h: output_profile_hook new.
9813         * config/rs6000/rs6000.c (output_profile_hook): Define.
9814         (output_prolog): Do nothing for ABI_AIX as it is taken care by
9815         output_profile_hook.
9816         tm.texi : Explain new macro PROFILE_HOOK.
9817
9818 2001-02-06  Hans-Peter Nilsson  <hp@axis.com>
9819
9820         * extend.texi (Extended Asm): Do not say that semicolon is always
9821         a valid line-breaking character for GNU assemblers.  Use
9822         newline-tab as the most commonly supported syntax.  Use
9823         newline-tab rather than semicolon in multi-insn examples.
9824
9825 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9826
9827         * Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).
9828
9829 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9830             David Edelsohn  <edelsohn@gnu.org>
9831
9832         * config/rs6000/rs6000.c (rs6000_return_addr): Use PIC
9833         code for AIX, even without flag_pic.
9834
9835 2001-02-05  Jakub Jelinek  <jakub@redhat.com>
9836
9837         * c-typeck.c (common_type): push and pop binding level around
9838         calling common_type on function parameters.
9839
9840 Mon Feb  5 14:30:37 2001  Christopher Faylor <cgf@cygnus.com>
9841
9842         * config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter.
9843
9844 Mon Feb  5 11:23:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9845
9846         * config/mips/mips.c (override_options): Fix typo in last change.
9847         (mips_make_temp_file): Call fatal_io_error, not pfatal_with_name.
9848         (mips_asm_file_end): Likewise; also pass more args to fatal_io_error.
9849
9850 2001-02-05  Nathan Sidwell  <nathan@codesourcery.com>
9851
9852         * invoke.texi (-fdump-class-layout): Document.
9853         (-fdump-translation-unit): Use `=' as filename separator.
9854
9855 2001-02-05  Mark Mitchell  <mark@codesourcery.com>
9856
9857         * Makefile.in (s-mlib): Don't build multilibs if
9858         --disable-multilib.
9859         (DRIVER_DEFINES): Adjust accordingly.
9860         (gcc.o): Likewise.
9861         (protoize.o): Likewise.
9862         (unprotoize.o): Likewise.
9863         * configure.in: Recognize --enable-multilib.
9864
9865 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
9866
9867         * Makefile.in (DRIVER_DEFINES): Fix quoting.
9868
9869         * Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3.
9870         * configure.in: Remove --enable-libstdcxx_v3 support.
9871         * configure: Regenerated.
9872
9873 Sun Feb  4 15:52:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9874
9875         * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
9876         Call abort instead of fatal.
9877         (TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal.
9878         * config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise.
9879         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise.
9880         (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise.
9881         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
9882         * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise.
9883
9884         * diagnostic.h (set_internal_error_function): Renamed.
9885         * toplev.h (internal_error): Renamed from fatal.
9886         (pfatal_with_name): Deleted.
9887         (fatal_io_error): Now has printf-style arguments.
9888         * diagnostic.c (pfatal_with_name): Deleted.
9889         (fatal_io_error): Rework to have args in printf-style.
9890         (set_internal_error_function): Renamed from set_fatal_function.
9891         (internal_error): Renamed from fatal.
9892         (error_recursion, fancy_abort): Call internal_error instead of fatal.
9893         * dwarf2out.c (get_cfa_from_loc_descr): Likewise.
9894         * emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
9895         * expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
9896         * flow.c (verify_flow_info): Likewise.
9897         * config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
9898         * config/mips/mips.c (save_restore_insns): Likewise.
9899
9900         * except.c (duplicate_eh_handlers): Call abort instead of fatal.
9901         * flow.c (verify_flow_info): Likewise.
9902         * config/arm/arm.c (thumb_load_double_from_address): Likewise.
9903         * config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
9904         (avr_normalize_condition): Likewise.
9905         * config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
9906         * config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
9907         (limit_reload_class, double_reg_to_memory): Likewise.
9908         (print_operand_address, emit_1600_code_shift): Likewise.
9909         (gen_tst_reg, gen_compare_reg): Likewise.
9910         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
9911         * config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
9912         Deleted.
9913         * config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.
9914
9915         * c-parse.in (methoddef): Call fatal_error instead of fatal.
9916         * objc/objc-act.c (build_ivar_chain): Likewise.
9917         * dwarfout.c (dwarfout_init): Call fatal_io_error instead of
9918         pfatal_with_name.
9919         * graph.c (clean_graph_dump_file): Likewise.
9920         * profile.c (init_branch_prob): Likewise.
9921         * objc/objc-act.c (objc_init): Likewise.
9922
9923         * config/arm/arm.c (arm_override_options): Make errors non-fatal.
9924         * config/avr/avr.c (avr_override_options): Likewise.
9925         * config/c4x/c4x.c (c4x_expand_prologue): Likewise.
9926         * config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
9927         * config/h8300/h8300.c (h8300_init_once): Likewise.
9928         * config/mips/mips.c (override_options): Likewise.
9929         * config/i386/i386.c (override_options): Likewise, rework.
9930         * config/m68k/m68k.c (override_options): Likewise.
9931
9932         * config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
9933         instead of fatal.
9934         * config/mips/mips.c (print_operand): Likewise.
9935         * hash.c (hash_allocate): Don't check for failure returns from
9936         obstack functions that can't fail.
9937         (hash_table_init_n, hash_table_init): Likewise; also now return void.
9938         * hash.h (hash_table_init_n, hash_table_init): Now return void.
9939         * objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
9940         (get_object_reference): Likewise.
9941
9942 2001-02-04  Nick Clifton  <nickc@redhat.com>
9943
9944         * config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e,
9945         StrongARM1110, 10TDMI, and 1020T.
9946
9947 2001-02-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9948
9949         * mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif.
9950
9951 2001-02-04  Alexandre Oliva  <aoliva@redhat.com>
9952
9953         * config/sh/sh.md (movdf load split): Pass register number to
9954         FP_OR_XD_REGISTER_P.
9955
9956 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
9957
9958         * cppinit.c (BC): New macro.
9959         (builtin_array): Add __GXX_WEAK__.
9960         * cpplib.h (builtin_type): Add BT_WEAK.
9961         * cppmacro.c (builtin_macro): Handle BT_WEAK.
9962         * defaults.h (SUPPORTS_ONE_ONLY): Define.
9963         * varasm.c (SUPPORTS_ONE_ONLY): Do not define.
9964
9965 2001-02-03  Jakub Jelinek  <jakub@redhat.com>
9966
9967         * cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C.
9968
9969 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
9970
9971         * cpphash.h: Rename _ALIGN POOL_ALIGN.
9972         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
9973
9974 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
9975
9976         * cpphash.h: Rename ALIGN _ALIGN.
9977         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
9978
9979 Fri Feb  2 23:15:29 2001  Christopher Faylor <cgf@cygnus.com>
9980
9981         * config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross
9982         compilation environment.
9983         * config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow
9984         control over location of cygwin includes and libs.
9985
9986 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
9987
9988         * c4x.h (HARD_REGNO_CALL_PART_CLOBBERED): Fix typo.
9989
9990 2001-02-02  lars brinkhoff  <lars@nocrew.org>
9991
9992         * md.texi (Standard Names): remove reference to spur.md.
9993
9994 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
9995
9996         * c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define.
9997         (HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG.
9998         (INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise.
9999         * c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG.
10000         (c4x_expand_prologue, c4x_expand_epilogue): Likewise.
10001
10002 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10003
10004         * c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand,
10005         c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register
10006         number before reload.
10007         (c4x_adjust_cost): Return zero before reload.
10008         * c4x.md (load_immed_address+1, load_immed_address+2): Do not
10009         split before reload.
10010
10011 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10012
10013         * c4x.c (c4x_hard_regno_rename_ok): New.
10014         * c4x-protos.h (c4x_hard_regno_rename_ok): New.
10015         * c4x.h (HARD_REGNO_RENAME_OK): Define.
10016
10017 Fri Feb  2 20:03:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10018
10019         * diagnostic.h: Add missing "extern" in all declarations.
10020
10021 2001-02-02  Alex Samuel  <samuel@codesourcery.com>
10022
10023         * Makefile.in (gcc_gxx_target_include_dir): Generate dynamically
10024         as for gcc_gxx_include_dir.
10025
10026 2001-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
10027
10028         * cpp.texi, invoke.texi: Update -Wtraditional documentation.
10029
10030 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
10031
10032         * config/sh/sh.c (output_far_jump): Don't use braf on SH1.  Emit
10033         label before alignment to be used as the braf base address.
10034         * config/sh/sh.md (length): Use longer lengths for SH1 PIC far
10035         branches.
10036         (casesi_jump_2): Require at least TARGET_SH2.
10037
10038         * config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent
10039         truncation to 32-bit doubles on -m3e and -m4-single-only.
10040
10041 2001-02-02  Mark Mitchell  <mark@codesourcery.com>
10042
10043         * gcc.c (init_gcc_specs): New function.  Make -shared-libgcc
10044         the default when building a shared object.
10045         (init_spec): Use it.
10046         * testsuite/lib/g++.exp: Include the directory where libgcc
10047         is located to the LD_LIBRARY_PATH list.
10048         * invoke.texi (-shared-libgcc): Document the cases in which
10049         GCC defaults to using the shared libgcc.
10050
10051 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
10052
10053         * config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume
10054         unsigned is wide enough.
10055         (BITS_PER_SI): New.
10056         * config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI.
10057         (si_to_float): Likewise.
10058         (float_to_si, float_to_usi): Use BITS_PER_SI.
10059
10060 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
10061
10062         * dwarf2out.c: Added explanation of abbreviations.
10063         (def_cfa_1): Added comments listing DWARF2 instructions.
10064         (cfa_temp_reg): Removed in favor of cfa_temp.
10065         (cfa_temp_value): Removed in favor of cfa_temp.
10066         (cfa_temp): New global variable.
10067         (dwarf2out_frame_debug_expr): Added extensive introductory
10068         comments explaining the function's transformations.  Revised to
10069         use cfa_temp.  Added some rtx checking.  Generalize IOR case.
10070         (dwarf2out_frame_debug): Revised to use cfa_temp.
10071         (output_aranges): Cast as "unsigned" to avoid warning.
10072         * rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better
10073         explain which instructions must be marked.
10074
10075 2001-02-01  Richard Henderson  <rth@redhat.com>
10076
10077         * local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
10078         new instruction.
10079
10080 2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
10081
10082         * config/sh/crt1.asm (main_k): Modified so that start calls
10083         ___setup_argv_and_call_main.
10084
10085 2001-02-01  Neil Booth  <neil@daikokuya.demon.co.uk>
10086
10087         * cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader.
10088         * cpplex.c (_cpp_lex_token): New token picks up the saved flags,
10089         and AVOID_LPASTE is cleared on meeting an unescaped newline.
10090         * cppmacro.c (builtin_macro): Set builtin flags here.
10091         (paste_all_tokens): Preserve AVOID_LPASTE on pasted token.
10092         (replace_args): Clarify intent.
10093         (cpp_get_token): Macro expansion tokens get the saved flags.
10094         Update.
10095         * cppmain.c (scan_buffer): Remove now-redundant print.printed
10096         check.
10097
10098 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
10099
10100         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of
10101         2001-Jan-29.
10102
10103 Thu Feb  1 07:22:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10104
10105         * builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space
10106         returns Pmode pseudo, but we need ptr_mode.
10107         * explow.c (allocate_dynamic_stack_space): Use plus_constant.
10108         Remove bogus conversions; use HOST_WIDE_INT for size.
10109         Don't use TARGET if wrong mode.
10110
10111         * config/i386/i386.c (ix86_compute_frame_size): Allow
10112         stack_alignment_needed to be non-default even if size is zero.
10113
10114 2001-01-31  Alan Modra <alan@linuxcare.com.au>
10115
10116         * pa.c (hppa_init_pic_save): New function.
10117         * pa.h (hppa_init_pic_save): Declare.
10118         * pa.md (call, call_value, sibcall, sibcall_value): Use
10119         the above instead of duplicated code.
10120
10121         * pa.c (hppa_encode_label): Correct size of alloca buffer
10122         so we don't overrun it.  Correct leading `*' case.
10123         * pa.h (STRIP_NAME_ENCODING): Simplify now that we don't
10124         need to handle `*@'.
10125         (FUNCTION_NAME_P): Likewise.
10126
10127 2001-01-31  Richard Henderson  <rth@redhat.com>
10128
10129         * config.gcc (alpha-osf5): Use float-i128.h.
10130
10131         * config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
10132         * config/float-i32.h: Likewise.
10133         * config/float-i64.h: Likewise.
10134         * config/float-sh.h: Likewise.
10135         * config/float-sparc.h: Likewise.
10136
10137 2001-01-31  DJ Delorie  <dj@redhat.com>
10138
10139         * expmed.c (extract_bit_field): allow non-integral modes if we
10140         want to extract a whole register from itself.
10141
10142 2001-01-31  Jakub Jelinek  <jakub@redhat.com>
10143
10144         * c-typeck.c (set_init_index): If first is equal to last, assume as
10145         if it was not a range at all.
10146
10147 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
10148
10149         * config/fp-bit.c: Include tm.h.
10150         (float_to_si): Don't assume SImode is 32-bits wide.
10151         (float_to_usi): Likewise.
10152
10153 2001-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
10154
10155         * c-parse.in (structsp): Pedwarn when "enum foo" refers to an
10156         incomplete type.
10157         (typename): Call pending_xref_error after parsing typed_typespecs.
10158         * c-decl.c (lookup_tag): Give error immediately rather than
10159         leaving it pending if the tag of the wrong type is in the same
10160         binding level.
10161         (xref_tag): Don't pedwarn for forward declarations of enum types
10162         here.
10163         * gcc.texi (Actual Bugs): Remove entry for misuse of struct, union
10164         and enum tags.
10165
10166 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
10167
10168         * config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo.
10169
10170 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
10171
10172         * cpplib.c (T_ELIF): Move to STDC89, not that it matters.
10173         (_cpp_handle_directive): Suggest not using #elif with -Wtraditional.
10174
10175 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
10176
10177         * cpphash.h (struct cpp_reader): New saved_flags.
10178         * cppmacro.c (cpp_get_token): Use saved_flags to remember
10179         to avoid a paste after a pasted token.
10180
10181 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
10182
10183         * libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
10184         * libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
10185         Wtype_MIN instead of LONG_MIN.
10186
10187 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
10188
10189         * fixinc/fixincl.tpl: Add 2001 to copyright.  Change name of
10190         README file.
10191         * fixinc/fixincl.x: Regenerated.
10192         * fixinc/inclhack.def (irix_limits_const): New definition to
10193         convert "const" to "__const" in limits.h.
10194
10195 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
10196
10197         * fixinc/genfixes (AG): Fix "autogen4" thinko.
10198
10199 2001-01-30  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
10200
10201         * regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED
10202         when register dies in the insn.
10203
10204 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
10205
10206         * diagnostic.c (fatal): Fix word wrap.
10207
10208 2001-01-30  Alexandre Oliva  <aoliva@redhat.com>
10209
10210         * combine.c (try_combine): Fix SUBREG setting for
10211         HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD.
10212
10213 2001-01-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10214
10215         * jump.c (comparison_dominates_p): Don't try to handle UNKNOWN
10216         comparison codes.
10217
10218 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
10219
10220         * c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
10221         is not NULL.
10222         * toplev.c (decode_W_option): Update warn_larger_than
10223         unconditionally for each processed switch.
10224
10225 2001-01-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10226
10227         * pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
10228         to NULL_RTX.
10229         (hppa_expand_prologue): Delete code to save pic offset table register
10230         in the function prologue.
10231         * pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
10232         * pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
10233         table register at the beginning of the function after the prologue.
10234
10235 2001-01-29  lars brinkhoff  <lars@nocrew.org>
10236
10237         * tm.texi (PUSH_ROUNDING): Remove duplicate lines.
10238
10239 2001-01-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10240             Jeff Law <law@redhat.com>
10241
10242         * pa.md (return): Revise comment for trivial return.
10243         (return_internal): Non-trivial return pattern for non-PIC code.
10244         (return_internal_pic): Non-trivial return pattern for PIC code.
10245         It uses the PIC register to ensure it is restored after
10246         function calls.
10247         (epilogue): Generate appropriate return for PIC and non-PIC code.
10248
10249 Mon Jan 29 23:53:14 2001  Christopher Faylor <cgf@cygnus.com>
10250
10251         * config/i386/cygwin.h: Fix -mno-cygwin search path for link.
10252
10253 2001-01-29  DJ Delorie  <dj@redhat.com>
10254
10255         * combine.c (if_then_else_cond): Pass the correct mode to
10256         operand_subword() for constants.
10257
10258 Mon Jan 29 20:38:19 2001  Christopher Faylor <cgf@cygnus.com>
10259
10260         * config/i386/cygwin.h: Add w32api to include search.  Search different
10261         directories in a cross-build environment.
10262
10263 2001-11-29  Tim Josling  <tej@melbpc.org.au>
10264
10265         * tree.h (TYPE_STUB_DECL): Add documentation.
10266
10267 2001-11-29  Laurynas Biveinis  <lauras@softhome.net>
10268
10269         * sdbout.c (sdbout_one_type): Skip types with indeterminate size.
10270         (sdbout_field_types): Likwise.  Fix use of host_integerp.
10271
10272 2001-01-29  Thomas Pfaff  <tpfaff@gmx.net>
10273
10274         * mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
10275         cygwin.h.
10276
10277 2001-01-29  Jeffrey Oldham  <oldham@codesourcery.com>
10278
10279         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
10280         to use flag_gnu_linker.
10281
10282 2001-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
10283
10284         * cpplib.c (T_BAD_DIRECTIVE): Remove.
10285         (_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
10286
10287 2001-01-29  Joseph S. Myers  <jsm28@cam.ac.uk>
10288
10289         * tree.c, tree.h (build_parse_node): Remove; was identical to
10290         build_nt.
10291         * c-lang.c (start_cdtor), objc/objc-act.c
10292         (build_module_descriptor): Use build_nt instead of
10293         build_parse_node.
10294
10295 2001-01-29  Jakub Jelinek  <jakub@redhat.com>
10296
10297         * config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
10298         (testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
10299         not have any upper bits set.
10300
10301 2001-01-29  Phil Edwards  <pme@sources.redhat.com>
10302
10303         * COPYING.LIB:  Update to LGPL 2.1 from the FSF.
10304
10305 2001-01-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10306
10307         * stmt.c (estimate_case_costs): Use integer_minus_one_node.
10308
10309         * tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.
10310
10311         * tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
10312         (integer_minus_one_node): Define.
10313
10314 2001-01-28  Alexandre Oliva  <aoliva@redhat.com>
10315
10316         * Makefile.in (bootstrap2-lean): Fix typo.
10317
10318 2001-01-28  Neil Booth  <neil@daikokuya.demon.co.uk>
10319
10320         * cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
10321         : Don't set fe_value.
10322         * cpplib.h (AVOID_LPASTE): New flag.
10323         (struct cpp_hashnode): Remove fe_value.
10324         * cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
10325         * cppmacro.c (builtin_macro): Don't set flags here.
10326         (replace_args): Set AVOID_LPASTE flag on first token of an
10327         argument, and the token following it.
10328         (cpp_get_token): Set AVOID_LPASTE flag on first token of a
10329         macro expansion, and on the token following it.  Do it for
10330         builtins too.
10331         * cppmain.c (scan_buffer): Avoid pasting only flagged tokens.
10332
10333 2001-01-27  Richard Henderson  <rth@redhat.com>
10334
10335         * config/alpha/t-ieee: Remove multilibbing.
10336         (TARGET_LIBGCC2_CFLAGS): Add -mieee.
10337
10338 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10339
10340         * configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
10341
10342         * Makefile.in: Remove all dependencies on defaults.h.
10343         * builtins.c: Don't include defaults.h.
10344         * c-common.c: Likewise.
10345         * c-decl.c: Likewise.
10346         * c-pragma.c: Likewise.
10347         * c-typeck.c: Likewise.
10348         * combine.c: Likewise.
10349         * i386.c: Likewise.
10350         * frame-ia64.c: Likewise.
10351         * cppexp.c: Likewise.
10352         * crtstuff.c: Likewise.
10353         * dbxout.c: Likewise.
10354         * dwarf2out.c: Likewise.
10355         * dwarfout.c: Likewise.
10356         * emit-rtl.c: Likewise.
10357         * except.c: Likewise.
10358         * expr.c: Likewise.
10359         * final.c: Likewise.
10360         * frame-dwarf2.c: Likewise.
10361         * libgcc2.c: Likewise.
10362         * optabs.c: Likewise.
10363         * profile.c: Likewise.
10364         * sdbout.c: Likewise.
10365         * toplev.c: Likewise.
10366         * tradcif.y: Likewise.
10367         * tree.c: Likewise.
10368         * varasm.c: Likewise.
10369
10370 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10371
10372         * builtins.c (expand_builtin_fputs): Use size_one_node when
10373         transforming into fwrite.
10374
10375 2001-01-27  Joseph S. Myers  <jsm28@cam.ac.uk>
10376
10377         * extend.texi (Attribute Syntax): New section.
10378
10379 2001-01-27  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
10380
10381         * fixproto: Correctly install synthesised unistd.h and stdlib.h when
10382         they didn't need fixing.
10383
10384 2001-01-27  Janis Johnson <janis@us.ibm.com>
10385
10386         * config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
10387         if appropriate.
10388         * config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
10389         to remove macro definitions that are duplicated from elfos.h.
10390
10391 2001-01-27  Richard Henderson  <rth@redhat.com>
10392
10393         * config/i386/sco5gas.h: Move ...
10394         * config/usegas.h: ... here.
10395         * config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.
10396
10397 2001-01-27  Jakub Jelinek  <jakub@redhat.com>
10398
10399         * c-typeck.c (struct constructor_stack): Add range_stack member.
10400         (really_start_incremental_init): Clear it.
10401         (push_init_level): Save constructor_range_stack and clear it if
10402         pushing explicit braces.
10403         (pop_init_level): abort if constructor_range_stack is non-zero at
10404         explicit closing brace.  Restore saved constructor_range_stack if
10405         not implicit.
10406
10407 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
10408
10409         * expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
10410         into register was forced into memory.
10411
10412 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
10413
10414         * Makefile.in: Remove uses of + before $(MAKE).
10415
10416 2001-01-26  Richard Henderson  <rth@redhat.com>
10417
10418         * stmt.c (cost_table): Remove.
10419         (COST_TABLE, cost_table_initialized): New.
10420         (estimate_case_costs): Use the later instead of the former.
10421         (balance_case_nodes): Likewise.
10422
10423 2001-01-26  Richard Henderson  <rth@redhat.com>
10424
10425         * alias.c (objects_must_conflict_p): Read-only slots may not
10426         conflict despite having the same type.
10427
10428 2001-01-27  Michael Hayes  <mhayes@redhat.com>
10429
10430         * loop.c (loop_giv_reduce_benefit): Copy mode size into
10431         int variable.
10432         (check_ext_dependant_givs): Initialise u_start_val and
10433         u_end_val.
10434         (load_mems): Make last_max_reg unsigned.
10435         (try_swap_copy_prop): Use INSN_P and initialise set.
10436
10437 Fri Jan 26 23:22:58 2001  Denis Chertykov  <denisc@overta.ru>
10438
10439         * README.AVR : Removed.
10440
10441 Fri Jan 26 11:37:26 2001  Jeffrey A Law  (law@cygnus.com)
10442
10443         * pa-64.h (text_section): Remove declaration.
10444
10445         * pa.md (return_internal): Remove mode on PIC register use.
10446
10447 2001-01-25  lars brinkhoff  <lars@nocrew.org>
10448
10449         * tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN,
10450         ASM_CLOSE_PAREN): fix typos.
10451
10452 2001-01-25  Mark Mitchell  <mark@codesourcery.com>
10453
10454         * acconfig.h: Define `const' to the empty string if neither
10455         __STDC__ nor __cplusplus is defined.
10456         * config.in: Regenerated.
10457
10458 2001-01-25  David Edelsohn  <edelsohn@gnu.org>
10459
10460         * config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
10461         * collect2.c (main): Delete importf.  Add ".obj" file extension.
10462         (GCC_CHECK_HDR): Handle AIX V5 new magic number.
10463         (aix_std_libs): Add additional AIX libraries to skip.
10464         * config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
10465         * config/rs6000/aix51.h: New file.
10466
10467 2001-01-25  Michael Hayes  <mhayes@redhat.com>
10468
10469         * loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
10470         (loop_insn_emit_before): No longer static.
10471         (move_movables): Replace emit_insn_after with loop_insn_emit_after.
10472         (loop_givs_rescan, load_mems): Likewise.
10473         (check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
10474         (maybe_eliminate_biv_1):
10475         (move_movables): Replace emit_call_insn_before with
10476         loop_call_insn_hoist.
10477         * loop.h (loop_insn_emit_before): Add.
10478         * unroll.c (copy_loop_body): Replace emit_insn_before with
10479         loop_insn_emit_before.
10480
10481 2001-01-25  Neil Booth  <neil@daikokuya.demon.co.uk>
10482
10483         * diagnostic.c (fatal): Request preprocessed source.
10484
10485 Thu Jan 25 02:01:16 2001  J"orn Rennecke <amylaar@redhat.com>
10486
10487         * c-decl.c (duplicate_decls): If different_binding_level is nonzero,
10488         olddecl has argument types and newdecl has none, use the argument
10489         types from olddecl.
10490
10491 2001-01-24  Ulrich Drepper  <drepper@redhat.com>
10492
10493         * dwarf2out.c (prefix_of): New function.  Determine longest common
10494         prefix of the two arguments.  The units are whole path components.
10495         (output_file_names): When adding a new directory find the one entry
10496         with the longest common prefix already in the list.  Artificially
10497         generate entry if there is none for this prefix.
10498         Fix test to check whether the zeroth directory entry is used.
10499
10500 Wed Jan 24 23:51:55 2001  J"orn Rennecke <amylaar@redhat.com>
10501
10502         * reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
10503         Changed all callers.  Take it into account when deciding if a
10504         previously loaded value matches.
10505
10506 2001-01-24  Richard Henderson  <rth@redhat.com>
10507
10508         * reload.c (find_reloads_subreg_address): Fail the substitution
10509         if the resulting address is insufficiently aligned.
10510
10511 2001-01-24  DJ Delorie  <dj@redhat.com>
10512
10513         * combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
10514         check the original operand's mode also.
10515         * simplify-rtx.c (simplify_ternary_operation): Ditto.
10516
10517 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
10518
10519         * c-parse.in (cast_expr): Move compound literals from here ...
10520         (primary): ... to here.  Use standard terminology "compound
10521         literal" instead of "constructor expression".
10522
10523 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
10524
10525         * gcc.1, cpp.1: Regenerate.
10526
10527 2001-01-24  Alexandre Oliva  <aoliva@redhat.com>
10528
10529         * calls.c (emit_library_call_value_1): Memory slot for
10530         pass-by-reference argument should have the mode of the argument,
10531         not of the pointer to it.
10532
10533 2001-01-24  Tom Tromey  <tromey@redhat.com>
10534
10535         * gcc.texi (G++ and GCC): Mention gcj manual.
10536         (Standards): Link to section of manual mentioning gcj/Java
10537         compatibility.
10538
10539 2001-01-24  Jakub Jelinek  <jakub@redhat.com>
10540
10541         * cppfiles.c (_cpp_read_file): Add to dependencies if requested.
10542         * cppinit.c (cpp_start_read): Remove deps_add_dep call.
10543         * tradcpp.c (main): Add -imacros or -include'd dependencies
10544         for -M*.
10545         * cpp.texi (-M, -MM): Document -M -include behaviour.
10546
10547 2001-01-24  Roger Collins <roger@ProProject.com>
10548
10549         * config/i386/xm-i386.h: Make __i386__ a boolean macro.
10550
10551 2001-01-24  Will Cohen  <wcohen@redhat.com>
10552
10553         * config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
10554         whether registers are 32 bits or 64 bits in size.
10555
10556 2001-01-24  Ben Elliston  <bje@redhat.com>
10557
10558         * config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
10559
10560 2001-01-24  Richard Henderson  <rth@redhat.com>
10561
10562         * config/alpha/alpha.md (builtin_longjmp_internal): New.
10563         (builtin_longjmp): Use it instead of emit_indirect_jump.
10564
10565 2001-01-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10566
10567         * bb-reorder.c (make_reorder_chain_1): Handle case where
10568         jump edge goes to the same block as the fallthru edge.
10569
10570 2001-01-23  Jim Wilson  <wilson@redhat.com>
10571
10572         * dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
10573         * frame.h (__ia64_personality_v1): Add prototype.
10574         * libgcc2.c (ia64_throw_helper): Change personality declaration to
10575         prototype form.  Add void * cast to first argument to personality
10576         call.
10577         * real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
10578         (asctoe113): Likewise.
10579         * config/ia64/frame-ia64.c: Include eh-common.h.
10580         * config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
10581         prototypes.
10582         * config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
10583         to dump parameter.
10584         (itanium_split_issue): Add prototype.
10585         (gen_nop_type): Ifdef out.
10586         (find_best_packet): Initialize best_packet.
10587         (ia64_encode_section_info): New local string.  Use for ggc_alloc_string
10588         result.
10589         * config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
10590         * config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
10591         (flushrs): Add explicit stop bit at end.
10592         * config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
10593         trailing \ to >.
10594
10595 2001-01-23  Chris Demetriou  <cgd@broadcom.com>
10596
10597         * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
10598         of EH symbols.
10599         * libgcc2.c (__terminate_func): Make variable static.
10600         (__terminate_set_func): New function to set __terminate_func.
10601         * libgcc2.h (__terminate_func_ptr): New typedef.
10602         (__terminate_set_func): New function.
10603
10604 2001-01-23  Richard Henderson  <rth@redhat.com>
10605
10606         * flow.c (init_propagate_block_info): Don't consider unchanging
10607         memories for dead frame store elimination.
10608
10609 2001-01-23  Richard Henderson  <rth@redhat.com>
10610
10611         * varasm.c (UNIQUE_SECTION): Move default implementation ...
10612         * defaults.h: ... here.
10613
10614 2001-01-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10615
10616         * c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
10617
10618 2001-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
10619
10620         * c-lex.c (lex_charconst): Fix typo: s/p/str.
10621
10622 2001-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10623
10624         * rs6000.h (rs6000_return_addr): Move prototype from here...
10625         * rs6000-protos.h (rs6000_return_addr): ...to here.
10626         (rs6000_init_expanders): Delete prototype.
10627
10628 2001-01-23  Nick Clifton  <nickc@redhat.com>
10629
10630         * invoke.texi: Replace , with \, inside @gccoptlist macros.
10631         (Spec Files): Document %B and %j and %. and %v3 and %M and
10632         %{S*&T} spec switches.
10633
10634 2001-01-24  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10635
10636         * c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
10637
10638 2001-01-23  Chris Demetriou  <cgd@sibyte.com>
10639             Neil Booth  <neil@daikokuya.demon.co.uk>
10640
10641         * cpperror.c: Merge handlers of PEDWARN and WARNING.
10642         Have -Werror make pedantic warnings errors, like the
10643         rest of GCC.
10644
10645 2001-01-23  Phil Edwards  <pme@sources.redhat.com>
10646
10647         * c-tree.texi (IDENTIFIER_LENGTH):  Fix typo.
10648
10649 2001-01-23  Jakub Jelinek  <jakub@redhat.com>
10650
10651         * integrate.h (struct inline_remap): Add compare_src, compare_mode.
10652         * integrate.c (expand_inline_function): Initialize them.
10653         (subst_constants): If changing COMPARE so that both its arguments
10654         will be VOIDmode and the comparison mode will be lost, note
10655         compare_mode.  Use the recorded compare_mode to optimize
10656         IF_THEN_ELSE.
10657
10658 2001-01-23  Jason Merrill  <jason@redhat.com>
10659
10660         * dwarf2out.c (new_die): Use xcalloc.
10661         (output_die): Abort rather than emit a local reference to offset 0.
10662
10663 2001-01-17  Andrew Haley  <aph@redhat.com>
10664
10665         * libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
10666         of a saved register; return NULL instead.
10667         (copy_reg): Take a pointer to a source register rather than a
10668         frame_state.
10669         (next_stack_level): Remember the address in the stack frame of all
10670         saved registers.
10671         Use the saved register pointer array as the source of the CFA.
10672         (throw_helper): Rewrite.  Unwind once rather than twice and keep
10673         track of saved registers as we go.
10674
10675 2001-01-23  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10676
10677         * c4x-protos.h (c4x_legitimize_reload_address): Remove.
10678         * c4x.c (c4x_legitimize_reload_address): Remove.
10679         * c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
10680         reload address for ldp(k) insn.
10681
10682 Mon Jan 22 20:53:47 2001  Jeffrey A Law  (law@cygnus.com)
10683
10684         * pa.md (return_internal): Add a USE of the PIC register to ensure
10685         it is restored after each call.
10686         (return expander): Corresponding changes.
10687
10688 2001-01-22  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10689
10690         * rs6000.h (INIT_EXPANDERS): Delete.
10691         (RETURN_ADDR_RTX): Call rs6000_return_addr().
10692         * rs6000.c (rs6000_override_options): Call *_machine_status from
10693         here...
10694         (rs6000_init_expanders): ...instead of here. Delete.
10695         (rs6000_mark_machine_status): New function.
10696         (rs6000_init_machine_status): Use xcalloc.
10697         (rs6000_return_addr): Generate RTX for the return address.
10698         (rs6000_ra_ever_killed): New, check if LR was ever destroyed.
10699         (rs6000_stack_info): Use it.
10700
10701 2001-01-22  Thomas Pfaff  <tpfaff@gmx.net>
10702
10703         * gthr-win32.h: Include errno.h to get a declaration for
10704         EINVAL and _mingw.h if the target is mingw32.
10705
10706 2001-01-22  Andres Felipe Vargas <avargas@teletulua.com.co>
10707
10708         * cpp.texi: Correct typos.
10709
10710 Mon Jan 22 13:59:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10711
10712         * explow.c (probe_stack_range): Ensure value passed to
10713         stack_check_libfunc is ptr_mode, not Pmode.
10714
10715 Mon Jan 22 16:53:06 2001  J"orn Rennecke <amylaar@redhat.com>
10716
10717         * recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
10718         case, don't use operand_subword to calculate a SUBREG that is
10719         wider than a word.
10720
10721         * rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
10722
10723 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10724
10725         * c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
10726         (c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
10727         valid.  If not replace it by equivalent insns.
10728
10729 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10730
10731         * c4x.c (c4x_check_legit_addr): Only check CONST.  Not if CONST
10732         contains SYMBOL_REF, LABEL_REF and CONST_INT.
10733         (c4x_U_constraint, symbolic_address_operand): Likewise.
10734         (c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
10735         memory.
10736         (c4x_r11_set_p, c4x_check_laj_p): New functions.
10737         * c4x-protos.h (c4x_check_laj_p): Add prototype.
10738         * c4x.md (in_annul_slot_3): Do not allow auto-increment in last
10739         anulling slot because of silicon bug.
10740         (laj, lajv): Call c4x_check_laj_p to check for silicon bug.
10741
10742 2001-01-22  Alan Modra <alan@linuxcare.com.au>
10743
10744         * cppexp.c (parse_charconst):  Change `mask' type to agree
10745         with parse_escape.
10746
10747 2001-01-21  Richard Henderson  <rth@redhat.com>
10748
10749         * config/i386/i386.c (ix86_asm_file_end): Disable putting
10750         pic_label_name in a linkonce section.
10751
10752 2001-01-17  Philipp Thomas  <pthomas@suse.de>
10753
10754         * aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
10755         found in libintl.
10756         * configure: Regenerate.
10757
10758 Sun Jan 21 02:38:56 2001  J"orn Rennecke <amylaar@redhat.com>
10759
10760         * expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
10761         uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
10762
10763 Sun Jan 21 09:44:17 2001  Denis Chertykov  <denisc@overta.ru>
10764
10765         * config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
10766         If REVERSE nonzero then condition code in X must be reversed.
10767         (encode_section_info): Optimise if/else.
10768         (avr_function_value): Fix formatting.
10769
10770         * config/avr/avr.md (branch): Call to ret_cond_branch changed.
10771         (difficult_branch): Likewise.
10772         (rvbranch): Likewise.
10773         (difficult_rvbranch): Likewise.
10774
10775         * config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
10776
10777         * config/avr/libgcc.S: Fix comment.
10778
10779 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
10780
10781         * sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
10782
10783 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
10784
10785         * cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
10786
10787 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
10788
10789         * aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
10790         * configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
10791         * configure, config.in: Regenerate.
10792         * Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
10793         (LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
10794         (strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
10795         (doprint.o): New rule.
10796
10797 2001-01-20  Joseph S. Myers  <jsm28@cam.ac.uk>
10798
10799         * c-typeck.c (digest_init): Handle boolean types as scalars.
10800
10801 Sat Jan 20 12:46:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10802
10803         * stmt.c (expand_return): Don't return anything if size is zero.
10804         Delete redundant assignment to BYTES.
10805         * expr.c (move_block_from_reg): Do nothing if NREGS is zero.
10806
10807 2001-01-20  Marek Michalkiewicz  <marekm@linux.org.pl>
10808
10809         * config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
10810         the same as the default library function names.
10811         * config/avr/avr.md: Document special characters after '%'.
10812         (mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
10813         knowing which of the call-used registers are really clobbered.
10814         (divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
10815         New.  Both quotient and remainder from one libgcc.S call.
10816         * config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
10817         clobber as few registers as possible.
10818         * config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
10819
10820 2001-01-20  Neil Booth  <neil@daikokuya.demon.co.uk>
10821
10822         * cppmacro.c (funlike_invocation_p): Don't move back up to the
10823         context of the top of the stack.
10824
10825 2001-01-20  Jakub Jelinek  <jakub@redhat.com>
10826
10827         * function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
10828         (fixup_var_refs_insns): ...here.
10829
10830 2001-01-20  Zack Weinberg  <zack@wolery.stanford.edu>
10831
10832         * function.c (fixup_var_refs_insns): Break up into
10833         fixup_var_refs_insn [body of loop], fixup_var_refs_insns
10834         [loop over entire insn list], and fixup_var_refs_insns_with_hash
10835         [loop over hash table entries].
10836         (fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
10837         fixup_var_refs_insns_with_hash, to match above changes.
10838
10839 2001-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10840
10841         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
10842         (libgcc.a): Likewise.
10843         (stmp-multilib): Likewise.
10844         (STAGE2_FLAGS_TO_PASS): Likewise.
10845
10846 2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
10847
10848         * config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
10849         temporary if no_new_pseudos.
10850
10851 2001-01-19  Neil Booth  <neil@daikokuya.demon.co.uk>
10852
10853         * cppinternals.texi: Update.
10854
10855 2001-01-19  Richard Earnshaw  <rearnsha@arm.com>
10856
10857         * arm.c (arm_init_builtins): Re-enable builtins.
10858
10859 Fri Jan 19 13:02:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10860
10861         * rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
10862         * flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
10863         element to be null, and always expect an EXPR_LIST.
10864         * rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
10865         * sched-deps.c (sched_analyze_1): Likewise.
10866         * sched-rgn.c (check_live_1, update_live_1): Likewise.
10867
10868         * regclass.c (max_set_parallel): New variable.
10869         (reg_scan): Take it into account in computation of max_parallel.
10870         (reg_scan_mark_refs, case SET): Compute it.
10871
10872         * alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
10873         args are REG.
10874         * expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
10875         * function.c (assign_parms): Use INTVAL for a CONST_INT.
10876
10877 2001-01-19  Jason Merrill  <jason@redhat.com>
10878
10879         * dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
10880         for the abstract instance of an inline function.
10881
10882 Fri Jan 19 14:31:35 2001  Alexandre Oliva  <aoliva@redhat.com>
10883                           J"orn Rennecke <amylaar@redhat.com>
10884
10885         * reload1.c (move2add_note_store): Treat all registers directly or
10886         indirectly derived from a base register as members of the same set
10887         of values.
10888         (reload_cse_move2add): Adjust accordingly.  Take mode and offset
10889         of base register into account.
10890
10891 Fri Jan 19 09:18:42 2001  J"orn Rennecke <amylaar@redhat.com>
10892
10893         * alias.c (find_base_value): Recognize TRUNCATE.
10894         (record_set): In PLUS case, invalidate if other summand is also a
10895         base value.
10896
10897 Thu Jan 18 06:43:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10898
10899         * flow.c (mark_set_1, case PARALLEL): New case; rework to allow
10900         entry to be EXPR_LIST.
10901         * rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
10902         be an EXPR_LIST (but not null, which other code doesn't allow).
10903         (note_stores): Properly handle PARALLEL in SET.
10904         Recursively call for top-level PARALLEL.
10905         * sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
10906         * sched-rgn.c (check_live_1, update_live_1): Likewise.
10907
10908         * config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
10909
10910 2001-01-18  Neil Booth  <neil@daikokuya.demon.co.uk>
10911
10912         * cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
10913         not pfile->skipping (== 0).
10914
10915 2001-01-17  Nick Clifton  <nickc@redhat.com>
10916
10917         * config/rs6000/rs6000.c: Add prototypes for {init|free}_
10918         machine_status.
10919
10920 2001-01-17  Jim Wilson  <wilson@redhat.com>
10921
10922         * invoke.texi (IA-64 options): Improve.
10923
10924 2001-01-17  Tom Tromey  <tromey@redhat.com>
10925
10926         * invoke.texi (Optimize Options): Use `{}' to around @samp
10927         argument.
10928
10929 2001-01-17  Aldy Hernandez  <aldyh@redhat.com>
10930
10931         * invoke.texi (-fno-guess-branch-probability): New option.
10932
10933 Wed Jan 17 13:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10934
10935         * combine.c (try_combine): Don't set i3_subst_into_i2 for
10936         case of making new double-word constant.
10937         Revert last change: instead just test i3_subst_into_i2.
10938
10939 2001-01-17  Jakub Jelinek  <jakub@redhat.com>
10940
10941         * config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
10942         Use q constraints instead of r.
10943
10944 Tue Jan 16 22:23:04 2001  Alan Modra (alan@linuxcare.com.au)
10945
10946         * config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
10947         (machine_function): Define.
10948         (PIC_OFFSET_TABLE_SAVE_RTX) : Define.
10949         * config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
10950         pa_free_machine_status): New functions.
10951         (override_options): Set {init,mark,free}_machine_status to above.
10952         (hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
10953         PIC_OFFSET_TABLE_REGNUM_SAVED.
10954         * config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
10955         PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
10956         * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
10957         references to PIC_OFFSET_TABLE_REGNUM_SAVED.
10958         * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
10959
10960 2001-01-15  DJ Delorie  <dj@redhat.com>
10961
10962         * Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
10963         (cpp.1): Ditto.
10964         (gcc.1): Ditto.
10965
10966 Tue Jan 16 17:20:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10967
10968         * flow.c (propagate_one_insn): Make trying to delete a prologue
10969         or epilogue insn an ICE, not a warning.  Allow doing this if
10970         the current function returns with stack pointer depressed.
10971
10972         * combine.c (try_combine): If i3_subst_into_i2, properly check for
10973         I3 having more than one SET.
10974
10975 2001-01-16  Jim Wilson  <wilson@redhat.com>
10976
10977         * invoke.texi: Document IA-64 options.
10978
10979         * config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
10980         (fixup_errata): Delete TARGET_A_STEP use.
10981         * config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
10982         (TARGET_SWITCHES): Delete -ma-step option.
10983         * config/ia64/ia64.md (all FP patterns): Delete %B0.
10984         (movqicc_astep, movqi_internal_astep, movhicc_astep,
10985         movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
10986         movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
10987         movdfcc_astep, movdf_internal_astep, movtfcc_astep,
10988         movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
10989         Delete.
10990         (movqi_internal, movhi_internal, movsi_internal, movdi_internal,
10991         movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
10992         cmovsi_internal): Delete ! TARGET_A_STEP check.
10993
10994 2001-01-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10995
10996         * gcc.texi (Bug Lists): Do not mention newsgroups nor the
10997         possibility to report bugs via postal mail. Change a URL and
10998         merge in a nearly duplicate statement...
10999         (Bug Reporting): ...from here.
11000         (Service): Refer to the Bug Reporting section instead of
11001         duplicating an URL.
11002         (Contributing): Remove trivial explanations concerning snapshots.
11003
11004 2001-01-16  Alan Modra <alan@linuxcare.com.au>
11005
11006         * cppmain.c (general_init): Don't use ANSI prototype.
11007
11008 2001-01-16  Tom Tromey  <tromey@redhat.com>
11009
11010         * gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
11011
11012 2001-01-16  Richard Henderson  <rth@redhat.com>
11013
11014         * config/i386/i386.h: Fix comment typo.
11015         * config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
11016         (ashr+compare patterns): Match CCGOCmode not CCNOmode.
11017
11018 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
11019
11020         * gcc.c:  Revert previous -fsyntax-only-related change; move
11021         to cp/g++spec.c.
11022
11023 2001-01-16  Jakub Jelinek  <jakub@redhat.com>
11024
11025         * config/i386/i386.c (fcmov_comparison_operator): Only initialize
11026         inmode after checking GET_CODE (op).
11027
11028 2001-01-16  Richard Henderson  <rth@redhat.com>
11029
11030         * flow.c (struct propagate_block_info): Add mem_set_list_len.
11031         (MAX_MEM_SET_LIST_LEN): New.
11032         (propagate_one_insn): Update mem_set_list_len.
11033         (invalidate_mems_from_autoinc): Likewise.
11034         (invalidate_mems_from_set): Likewise.
11035         (mark_used_regs): Likewise.
11036         (init_propagate_block_info): Likewise.  Stop collecting memories
11037         when we reach MAX_MEM_SET_LIST_LEN.
11038         (mark_set_1): Likewise.
11039
11040 2001-01-16  Richard Henderson  <rth@redhat.com>
11041
11042         * unroll.c (precondition_loop_p): Fail if no iteration
11043         variable found.
11044
11045 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
11046
11047         * gcc.c:  When -fsyntax-only is given, do not complain about
11048         unused libraries.
11049
11050 2001-01-15  Richard Henderson  <rth@redhat.com>
11051
11052         * config/i386/i386.c (asm_output_function_prefix): Remove.
11053         (ix86_asm_file_end): New.
11054         (load_pic_register): Generate pic_label_name into a
11055         staticly allocated buffer.
11056         * config/i386/i386-protos.h: Update.
11057         * config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
11058         (ASM_FILE_END): New.
11059         * config/i386/i386afe.h: New file.
11060         * config.gcc (i?86-*-elf) [tm_file]: Use it.
11061         (i?86-*-{freebsd,linux*,moss*}): Likewise.
11062         * config/elfos.h (ASM_FILE_END): Undef before redefinition.
11063         * config/i386/cygwin.h (ASM_FILE_END): Likewise.
11064         * config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
11065         * config/i386/sco5.h (ASM_FILE_END): Likewise.
11066         * config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
11067
11068 2001-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
11069
11070         * Makefile.in (install-man): Remove explicit dependency on
11071         $(srcdir)/gcc.1.
11072
11073         * configure.in, configure: Revert previous patch requiring perl
11074         5.6.0.
11075
11076 2001-01-12  Aldy Hernandez  <aldyh@redhat.com>
11077
11078         * toplev.c (flag_guess_branch_prob): New.
11079         (f_options): Add guess-branch-probability option.
11080         (rest_of_decl_compilation): Only estimate branch probability if
11081         flag set.
11082         (main): set flag_guess_branch_prob.
11083
11084         * flags.h (flag_guess_branch_prob): New.
11085
11086 2001-01-15  DJ Delorie  <dj@redhat.com>
11087
11088         * gcc.texi (Makefile): Add documentation for Makefile targets.
11089
11090 2001-01-15  Philip Blundell  <philb@gnu.org>
11091
11092         * config/arm/arm.c (arm_finalize_pic): New arg "prologue".
11093         (is_pic): Delete.
11094         * config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
11095         (is_pic): Delete declaration.
11096         * config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
11097         (OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
11098         * config/arm/arm.md (builtin_setjmp_receiver): New.
11099
11100 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
11101
11102         * arm.c (use_return_insn): Don't try to determine the function type
11103         until after reload has completed.
11104         (arm_output_epilogue): Don't adjust the sp value recovered from the
11105         stack.
11106         (emit_multi_reg_push): Don't record dwarf information for the pc.
11107         * arm.md (eh_epilogue): The function type may have changed, so it
11108         needs to be recalculated.
11109         * arm/netbsd.h (DWARF2_UNWIND_INFO): Delete.  Can now use dwarf2
11110         unwind tables on arm/netbsd.
11111
11112 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
11113
11114         * arm.md (cbranchsi4): Correct calculation of branch ranges.
11115         (negated_cbranchsi4): Likewise.
11116
11117 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
11118
11119         * config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
11120         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
11121         (ASM_SPEC): Call subtarget_extra_asm_spec.  Don't
11122         pass -mapcs-* options to assembler.
11123         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
11124         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
11125         (ASM_SPEC): Call subtarget_extra_asm_spec.
11126
11127 2001-01-15  Andreas Jaeger  <aj@suse.de>
11128
11129         * config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
11130         warnings.
11131         (ix86_expand_builtin): Likewise.
11132
11133         * gencodes.c (output_predicate_decls): Make i size_t to avoid
11134         warning about comparison between signed and unsigned.
11135
11136 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
11137
11138         * expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
11139
11140 2001-01-14  Ralf Baechle <ralf@gnu.org>
11141
11142         * config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
11143         SUBTARGET_CPP_SPEC apropriatly.
11144
11145 2001-01-12  Mark Mitchell  <mark@codesourcery.com>
11146
11147         * varasm.c (make_decl_rtl): Fix typo in last change.
11148
11149 2001-01-14  Jeffrey Oldham  <oldham@codesourcery.com>
11150
11151         * defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
11152         linker supports the init_priority C++ attribute.
11153         * tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
11154         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
11155         linker does not support init_priority C++ attribute.
11156
11157 Sun Jan 14 22:31:30 2001  J"orn Rennecke <amylaar@redhat.com>
11158
11159         * Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
11160
11161 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
11162
11163         * c-parse.in (finish_parse): Add comment about cpp_destroy.
11164         * cp/lex.c (finish_parse): Similarly.
11165         * cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
11166         Return the number of errors encountered.
11167         * cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
11168         * cppmain.c (main): Don't call cpp_destroy.
11169
11170 2001-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
11171
11172         * configure.in: Require at least perl 5.6.0 to regenerate
11173         manpages.
11174         * configure: Regenerate.
11175
11176 2001-01-14  Richard Henderson  <rth@redhat.com>
11177
11178         * genrecog.c (DT_veclen_ge): New.
11179         (add_to_sequence) [MATCH_PARALLEL]: Generate one.
11180         (maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
11181         (nodes_identical_1): Handle DT_veclen_ge.
11182         (write_cond, debug_decision_2): Likewise.
11183
11184 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
11185
11186         * arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete.  Replace
11187         with ...
11188         (ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
11189
11190 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
11191
11192         * cppmain.c (do_preprocessing): New function; most of the old
11193         main.
11194         (main): Call it to do most of the work.
11195         (cb): Move from global scope to set_callbacks ().
11196         (setup_callbacks): Get the callback pointer.
11197         (general_init, printer_init): Clean up code and comments.
11198
11199 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
11200
11201         * config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
11202         compiling PIC.
11203
11204 2001-01-14  Kazu Hirata  <kazu@hxi.com>
11205
11206         * config/h8300/h8300.c (get_shift_alg): Update comments.
11207
11208 Sun Jan 14 06:20:49 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11209
11210         * ggc-page.c (alloc_annon): Call perror and correctly call exit.
11211         (alloc_page, ggc_alloc): Add casts to remove warnings.
11212
11213 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
11214
11215         * combine.c (simplify_comparison): Don't change `code' when
11216         can't reverse comparison.
11217
11218 2001-01-14  Richard Henderson  <rth@redhat.com>
11219
11220         * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
11221         update all call sites.  Return true for all non-label constants.
11222
11223 Sun Jan 14 10:09:48 MET 2001  Jan hubicka  <jh@suse.cz>
11224
11225         * i386.c (ix86_expand_compare): Add bypass_test and second_test
11226         parameters.
11227         (ix86_expand_branch): Update.
11228         (ix86_expand_setcc): Update to handle multiple test conditions.
11229         (expand_int_movcc): Likewise.
11230         (expand_fp_movcc): Likewise.
11231         * i386-protos.h (ix86_expand_compare): New.
11232         * i386.md (andqi_?_slp, orqi_?_slp): New.
11233         (conditional trap expander): Update call to ix86_expand_compare.
11234
11235 2001-01-14  Richard Henderson  <rth@redhat.com>
11236
11237         * config/vax/vax.md: Use nonimmediate_operand instead of
11238         general_operand in destinations.
11239
11240         * config/vax/vax.md (indirect_jump): Use register_operand.
11241
11242         * config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
11243         * config/vax/vax.md (call_pop): Turn into an expander.
11244         (call_value_pop): Likewise.
11245         (call, call_value): New.
11246
11247 2001-01-14  Andreas Jaeger  <aj@suse.de>
11248
11249         * config/i386/i386.c (ix86_split_fp_branch): Remove unused
11250         variables.
11251         (ix86_fp_compare_mode): Add unused attribute.
11252         (ix86_expand_fp_movcc): Remove unused variable.
11253         (ix86_expand_builtin): Make fcode unsigned.
11254
11255         * expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
11256         (expand_expr): Add cast to avoid signed warning.
11257         (store_field): Likewise.
11258         (store_constructor_field): Likewise.
11259         (store_constructor): Likewise.
11260         (store_expr): Likewise.
11261         (clear_storage): Likewise.
11262         (emit_group_store): Likewise.
11263         (emit_group_load): Likewise.
11264
11265 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
11266
11267         * c-common.c: Move format checking code to ...
11268         * c-format.c: ... here.  New file.  Reorder some functions and
11269         declarations.
11270         (decl_handle_format_attribute, decl_handle_format_arg_attribute):
11271         New functions.
11272         * c-common.h (decl_handle_format_attribute,
11273         decl_handle_format_arg_attribute): Declare.
11274         * Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
11275         (c-common.o): Adjust dependencies.
11276         (c-format.o): New list of dependencies.
11277
11278 2001-01-13  Jakub Jelinek  <jakub@redhat.com>
11279
11280         * unroll.c (loop_iterations): If we cannot prove iteration variable
11281         is set once in each iteration, punt.
11282
11283 Sun Jan 14 00:23:15 2001  Denis Chertykov  <denisc@overta.ru>
11284
11285         * config/avr/avr.md ("strlenhi"): Remove clobber of input address.
11286         (*strlenhi): Remove clobber (which was buggy) of output address.
11287
11288 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
11289
11290         * Makefile.in (generated-manpages): Add gcc.1
11291         ($(srcdir)/gcc.1): New target.
11292         (maintainer-clean): Delete $(srcdir)/gcc.1.
11293         * gcc.texi: Add macros @gccoptlist and @gol.
11294         * invoke.texi: Include option summary in manpage.  Mark up option
11295         summary with @gccoptlist and @gol.  Use @r in one place where
11296         appropriate.
11297         * texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
11298         * gcc.1: Generate from invoke.texi.
11299
11300 2001-01-13  Richard Henderson  <rth@redhat.com>
11301
11302         * ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
11303         (struct page_entry): Add group member.
11304         (struct page_group): New.
11305         (struct globals): Add page_groups member.
11306         (alloc_anon): Only define for using mmap; remove valloc call.
11307         (page_group_index): New.
11308         (set_page_group_in_use): New.
11309         (clear_page_group_in_use): New.
11310         (alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
11311         (free_page, release_pages): Likewise.
11312         * configure.in (with-gc): Default to ggc-page always.
11313
11314 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
11315
11316         * reload1.c (replace_pseudos_in_call_usage): Use
11317         reg_equiv_constant and reg_equiv_address, and don't try
11318         regno_reg_rtx first.
11319
11320 2001-01-13  Richard Henderson  <rth@redhat.com>
11321
11322         * ggc-page.c (alloc_page): Round up allocation size to one page.
11323         Set e->order on extra pages.
11324
11325 2001-01-13  Richard Henderson  <rth@redhat.com>
11326
11327         * genrecog.c (nodes_identical): Expand commentary.
11328         (write_switch): Watch out for identical nodes.
11329
11330 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11331
11332         * cppfiles.c (_cpp_fake_include): New function.
11333         * cpphash.h (_cpp_fake_include): New.
11334         * cpplib.c (do_line): Call _cpp_fake_include when entering
11335         header files in preprocessed input.
11336         * cppmain.c (cb_pragma_implementation): Remove handling.
11337         (setup_callbacks): Don't register pragmas.
11338
11339 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11340
11341         * extend.texi: Udate for CPP.
11342
11343 2001-01-13  Andreas Jaeger  <aj@suse.de>
11344
11345         * reload1.c: Add prototype for replace_pseudos_in_call_usage.
11346
11347         * regmove.c: Add prototype for replace_in_call_usage.
11348
11349 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11350
11351         * cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
11352         struct cpp_chunk, struct htab, struct toklist,
11353         struct cpp_context, CPP_STACK_MAX, struct lexer_state,
11354         struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
11355         CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
11356         ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
11357         (struct macro_args): Delete.
11358         * cpphash.h: See above.
11359
11360 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11361
11362         * cppmain.c (struct printer): Remove no_line_dirs.
11363         (options, cb): New.
11364         (main, setup_callbacks, scan_buffer, printer_init, cb_define)
11365         : Use options rather than CPP_OPTION.
11366         (setup_callbacks): Use cb rather than pfile->cb.
11367         (main): No need to check for a buffer.  Use cpp_errors.
11368         (printer_init): Don't set no_line_dirs.
11369         (maybe_print_line): Use options not no_line_dirs.
11370         (cb_file_change): Don't call print_line if -P.
11371
11372 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11373
11374         * c-lex.c (init_c_lex): Use cpp_get_callbacks to set
11375         callbacks.
11376         * c-parse.in (finish_parse): Use cpp_errors.
11377         (__yylex): Use return value of cpp_pop_buffer.
11378         * cp/lex.c (finish_parse): Use cpp_errors.
11379         * cp/spew.c (read_token): Use return value of cpp_pop_buffer.
11380
11381 Sat Jan 13 16:57:40 2001  Denis Chertykov  <denisc@overta.ru>
11382
11383         * README.AVR: URLs corrected.
11384
11385 Sat Jan 13 07:30:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11386
11387         * c-decl.c (start_function): Don't warn if old prototype is builtin
11388         that's not in C's namespace.
11389         * libgcc2.c (_varargs): Update definition of __builtin_saveregs.
11390         (_bb): Add prototype for ctime.
11391         * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
11392
11393 Sat Jan 13 09:53:32 MET 2001  Jan Hubicka  <jh@suse.cz>
11394
11395         * i386.c (ix86_fp_comparison_arithmetics_cost,
11396         ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
11397         ix86_fp_comparison_cost): New functions.
11398         (ix86_expand_fp_compare): Use the costs to choose best bethod; add
11399         two new parameters SECOND_TEST and BYPASS_TEST; allow generating
11400         two-branch sequences; make static.
11401         (ix86_use_fcomi_compare): Do decision according to the costs.
11402         (split_fp_branch): New.
11403         * i386.md (compare-and-branch patterns): Use split_fp_branch.
11404         * i386-protos.h (ix86_expand_fp_compare): Remove
11405         (ix86_split_fp_branch): Declare.
11406
11407         * i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
11408         and ix86_comparison_operator.
11409
11410         * i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
11411         to make it cheaper.
11412
11413         * i386.c (put_condition_code): Output properly the unordered/ordered
11414         compares in fp case.
11415         (ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
11416
11417         * tm.texi (REVERSE_CONDITION): Document.
11418         * i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
11419         in -ffast-math mode.
11420         * i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
11421
11422 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
11423
11424         * config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
11425
11426         * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
11427         optimized away.
11428
11429         * config/sh/sh.c (mova_p): Fix test for mova_const.
11430
11431 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11432
11433         * fix-header.c (read_scan_file): Use cpp_get_callbacks and
11434         cpp_get_options rather than dereferencing pfile and using
11435         CPP_OPTION.
11436         * scan-decls.c (scan_decls): Use return value of
11437         cpp_pop_buffer rather than CPP_BUFFER.
11438
11439 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11440
11441         * cppinit.c (cpp_handle_option): help_only is now part of the
11442         cpp_options structure.
11443         * cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
11444         cpp_set_callbacks): New functions.
11445         * cpplib.h (cpp_callbacks): Break out as a named structure.
11446         (cpp_options): Move help_only here from cpp_reader.
11447         (CPP_FATAL_ERRORS): Update to use cpp_errors.
11448         (cpp_errors, cpp_get_options, cpp_get_callbacks,
11449         cpp_set_callbacks): New prototypes.
11450         * cppmain.c (main): Update for help_only.
11451
11452 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
11453
11454         * Makefile.in (info, maintainer-clean, install-info, uninstall):
11455         Also build and remove and install and uninstall c-tree.info and
11456         cppinternals.info.
11457         ($(srcdir)/gcc.info): Add dependency on contrib.texi.
11458         ($(srcdir)/cppinternals.info): New target.
11459         * c-tree.texi: Change file name used when makeinfo used without -o
11460         from ir.info to c-tree.info.  Add info directory entry.
11461         * cppinternals.texi: Add info directory entry.
11462         * .cvsignore: Update.
11463
11464 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
11465
11466         * c-typeck.c (store_init_value): Don't require constant initializer
11467         elements with -pedantic -std=c99.
11468         (digest_init): Change error about non-constant initializer elements
11469         into pedwarn.
11470         (constructor_range_end): Remove.
11471         (constructor_incremental, designator_depth,
11472         designator_errorneous): New variables.
11473         (struct constructor_stack): Remove range_end, add incremental.
11474         (struct constructor_range_stack, constructor_range_stack): New.
11475         (struct initializer_stack): Add constructor_range_stack.
11476         (finish_init): Set it.
11477         (start_init): Likewise.  require_constant_elements for non-static
11478         trees only if not flag_isoc99.
11479         (really_start_incremental_init): Remove constructor_range_end, add
11480         constructor_incremental.
11481         (pop_init_level): Likewise.
11482         (push_init_level): Likewise.  If implicit and the subobject had some
11483         value set already, preinitialize the level with it.
11484         Warn about missing braces only if not pushing due to designators.
11485         (set_designator, push_range_stack): New functions.
11486         (set_init_label): Use them.
11487         (set_init_index): Likewise.  Remove constructor_range_end.
11488         Error if designator index is outside of array bounds.
11489         (add_pending_init): Compare values of purpose index trees, not the
11490         trees themselves.  Allow overwriting of already initialized element.
11491         Issue a warning if it had side-effects.
11492         (set_nonincremental_init, set_nonincremental_init_from_string): New
11493         functions.
11494         (pending_init_member): Rename to...
11495         (find_init_member): ...this function.  Call set_nonincremental_init
11496         if necessary.  Compare values of purpose index trees, not the trees
11497         themselves.  Return the actual value, not just non-zero if something
11498         is found.
11499         (output_init_element): Remove checks for duplicates.
11500         If field has zero size, only check the initializer for correctness.
11501         Call set_nonincremental_init if necessary.  Push RECORD/ARRAY into AVL
11502         if constructor_incremental is zero.  Change error about initializers
11503         not computable at load time into pedwarn.
11504         (output_pending_init_elements): Compare bit positions, not
11505         FIELD_DECLs to take into account zero-sized fields.
11506         (process_init_element): Use constructor_range_stack to fill all
11507         ranges in the designator lists from current level up.
11508         * extend.texi: Update documentation for labeled elements.
11509
11510 2001-01-12  Alexandre Oliva  <aoliva@redhat.com>
11511
11512         * calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
11513         to function usage for arguments passed by reference.  Optimize
11514         callee-copied arguments.
11515         * regmove.c (replace_in_call_usage): New function.
11516         (fixup_match_1): Call it.
11517         * cse.c (cse_insn): Canonicalize registers in function usage.
11518         * reload1.c (replace_pseudos_in_call_usage): New function.
11519         (reload): Call it.
11520
11521         * Makefile.in: Reverted yesterday's wrong patch.  Installed the
11522         right version.
11523
11524 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
11525
11526         * config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
11527         not XEXP (tmp, 0).
11528
11529 2001-01-12  DJ Delorie  <dj@redhat.com>
11530
11531         * Makefile.in (bootstrap): rename stages to be mnemonic.  Add
11532         restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
11533         targets.
11534
11535 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
11536
11537         * cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
11538         tm.texi: Consistently refer to ISO C instead of ANSI C.  Refer to
11539         -std options alongside references to -ansi.  Update some
11540         documentation for C99.
11541         * cpp.1: Regenerate.
11542
11543 2001-01-12  Andreas Jaeger  <aj@suse.de>
11544
11545         * haifa-sched.c (restore_line_notes): Remove argument block B
11546         since it's unused.
11547         * sched-ebb.c (schedule_ebb): Change caller.
11548         * sched-rgn.c (schedule_region): Likewise.
11549         * sched-int.h (restore_line_notes): Adjust prototype.
11550
11551         * loop.h: Remove wrong declaration of doloop_condition_get.
11552
11553 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
11554
11555         * extend.texi:  Move C++-extension-related node from the C section
11556         into the C++ section.
11557
11558 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
11559
11560         * extend.texi: Refer to an array of pointers to functions instead
11561         of one of functions.
11562
11563 Fri Jan 12 12:08:12 MET 2001  Andreas Jaeger  <aj@suse.de>
11564                               Jan Hubicka  <jh@suse.cz>
11565
11566         * combine.c (reversed_comparison): Fix typo in last patch.
11567         Check X for NULL.
11568         (combine_reversed_comparison_code): Make static to follow
11569         prototype declaration.
11570
11571 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
11572
11573         * install.texi:  Remove misplaced duplicate entry.
11574
11575 2001-01-11  Ulrich Drepper  <drepper@redhat.com>
11576
11577         * config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
11578
11579 Thu Jan 11 17:06:30 EST 2001  John Wehle  (john@feith.com)
11580
11581         * final.c: (leaf_function_p): Fix typo.
11582
11583 2001-01-11  Zack Weinberg  <zack@wolery.stanford.edu>
11584
11585         * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
11586         Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
11587         which you have.
11588         (AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
11589         * configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
11590         mmap_anon, and valloc is available.
11591         * ggc-page.c: Restructure ifdef logic to match new autoconf
11592         spec.  Don't throw away the test page in init_ggc.
11593
11594         * configure, config.in: Regenerate.
11595
11596 2001-01-12  Michael Hayes  <mhayes@redhat.com>
11597
11598         * loop.h (total_biv_increment): Constify iv_class pointer.
11599         (struct induction): Replace `mem_mode' with `mem' rtx.
11600         * unroll.c (total_biv_increment): Constify iv_class pointer.
11601         * loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
11602         (find_mem_givs, combine_givs_p): Likewise.
11603         (debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
11604
11605 2001-01-10  Thomas Pfaff <tpfaff@gmx.net>
11606
11607         * gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
11608         LastError.
11609         (__gthread_getspecific): Ditto.
11610
11611 Fri Jan 12 00:04:00 MET 2001  Jan Hubicka  <jh@suse.cz>
11612
11613         * i386.c (ix86_comparison_operator, fcmov_comparison_operator,
11614         put_condition_code): Convert fp comparison codes to integer
11615         before handling.
11616         (ix86_expand_fp_compare): Postnote the fp comparison code converison
11617         to final.
11618
11619         * i386.c (unsigned_comparison, no_comparison_operator): Kill.
11620         * i386-protos.h (no_comparison_operator): Kill.
11621
11622         * i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
11623
11624         * combine.c (REVERSIBLE_CC_MODE): Remove.
11625         (reversible_comparison_p): Remove.
11626         (combine_reversed_comparison_code): New.
11627         (reversed_comparison): New.
11628         (combine_simplify_rtx): Use
11629         combine_reversed_comparison_code/reversed_comparison instead
11630         of reversible_comparison_p.
11631         (simplify_if_then_else): Likewise.
11632         (simplify_set): Likewise.
11633         (simplify_logical): Likewise.
11634         (if_then_else_cond): Likewise.
11635         (known_cond): Likewise.
11636         (simplify_comparison): Likewise.
11637
11638 2001-01-11  Alan Lehotsky  <lehotsky@tiac.net>
11639
11640         * builtins.c (std_expand_builtin_va_start): Handle varargs when
11641         sizeof (int) is larger than sizeof(__word__).
11642
11643 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11644
11645         * cppinit.c (do_includes): Fix typo.
11646
11647 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11648
11649         * config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
11650         in S_REGS does not occur because not all sources are possible
11651         when a S_REGS is a destination (sometimes needs a clobber).
11652         (movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
11653         (zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
11654         (anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
11655         (ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
11656         (ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
11657         (ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
11658         (lshrdi_const1, lshrsi3_const16): Likewise.
11659         (*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
11660         (*movhi_68hc12, *movqi_68hc12): Likewise.
11661         (movstrictqi): Make sure reloading in D_REGS as a destination
11662         does not happen.
11663
11664 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11665
11666         * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
11667
11668 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11669
11670         * cppinit.c (cpp_start_read): If -fpreprocessed, ignore
11671         -D, -U and -A, and don't initialize the builtins.
11672         (do_includes): Error if -include or -imacros with -fpreprocessed.
11673         * cppmain.c (cb_define, cb_undef): Unconditionally process
11674         the callback.
11675         * tradcpp.c (main): Fix typo.
11676
11677 2000-01-11  Mark Elbrecht  <snowball3@bigfoot.com>
11678
11679         * cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
11680         (read_name_map): Use IS_ABSOLUTE_PATH.
11681         * tradcpp.c (get_filename): Likewise.
11682
11683 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11684
11685         * config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
11686         (*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
11687         (*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
11688         (*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
11689         (*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
11690         (cmphi_z_used): Don't use '@' for the output.
11691         (tstqi_z_used): Likewise.
11692         (cmpqi_z_used): Likewise.
11693         (one_cmplsi2): Likewise.
11694
11695 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
11696
11697         * config/sh/sh.c (barrier_align): Recognize branch around far
11698         branch and redundant insn.
11699
11700 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11701
11702         * invoke.texi: Restore documentation of the drivers' switches -MD
11703         and -MMD.
11704
11705 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
11706
11707         * config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
11708
11709         * Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
11710         check-objc//%): Support parallel testing of multilibs.
11711         (TESTSUITEDIR): Set to testsuite by default, but override for
11712         parallel testing.
11713         (check-gcc, check-g++, check-g77, check-objc): Enter
11714         $(TESTSUITEDIR).
11715
11716 2001-01-11  Bernd Schmidt  <bernds@redhat.com>
11717
11718         * alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
11719         * sched-deps.c (deps_may_trap_p): Likewise.
11720         * basic-block.h: Remove a comment.
11721         * flow.c (PROP_POSTRELOAD): Remove.
11722         (update_life_info): Don't add it to prop_flags.
11723         (mark_set_1): Lose the code that was enabled by it.
11724
11725 2001-01-11  Michael Hayes  <mhayes@redhat.com>
11726
11727         * flow.c (flow_call_edges_add): New.
11728         * basic_block.h (flow_call_edges_add): New.
11729
11730 2001-01-11  J"orn Rennecke <amylaar@redhat.com>
11731
11732         * reload1.c (move2add_note_store): Update reg_set_luid even if
11733         base reg remains the same.
11734
11735 2001-01-10  Nick Clifton  <nickc@redhat.com>
11736
11737         * config/d30v/d30v.c (d30v_init_machine_status): Initialise
11738         machine_function structure to zero.
11739         Add prototypes for machine_status functions.
11740
11741 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
11742
11743         * c-common.h (CTI_VOID_LIST): Remove.
11744         (void_list_node): Likewise.
11745         * tree.h (TI_VOID_LIST_NODE): New enumeral.
11746         (void_list_node): New macro.
11747         * config/arm/arm.c (arm_init_builtins): Use void_list_node.
11748         * config/i386/i386.c (ix86_init_builtins): Likewise.
11749         * config/ia64a/ia64.c (ia64_init_builtins): Likewise.
11750
11751 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
11752
11753         * Makefile.in (tradcpp0): Depend on mkdeps.h.  Link mkdeps.o
11754         * cppinit.c (cpp_start_read): Update comment, remove unneeded
11755         if statement.
11756         * tradcpp.c: Include mkdeps.h.
11757         (deps, print_deps_phony_targets, deps_append, output_deps,
11758         init_dependency_output, output_deps): New.
11759         (deps_buffer, deps_allocated_size, deps_size, deps_column,
11760         deps_output): Delete.
11761         (print_deps_missing_files): Rename deps_missing_files.
11762         (inhibit_output): Make global.
11763         (main): Delete inhibit_output, deps_stream, deps_target.
11764         Use mkdeps functionality in the same way as cpplib.  Remove
11765         -g3 handling.  Handle -MF, -MP, -MQ, -MT.  Update handling of
11766         -M and -MM.  Remove old handling of deps via deps_out, and
11767         old reading of environment variables.
11768         (get_filename): Update to use deps_add_dep.
11769
11770 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
11771
11772         * output.h (make_function_rtl): Remove prototype.
11773         (make_decl_rtl): Likewise.
11774         * varasm.c (make_function_rtl): Remove.
11775         (make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
11776         than from a third parameter.
11777         * tree.h (make_decl_rtl): Remove last parameter.
11778         * c-decl.c (builtin_function): Remove last argument in call to
11779         make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
11780         (start_function): Likewise.
11781         * except.c (call_get_eh_context): Likewise.
11782         * expr.c (emit_block_move): Likewise.
11783         (clear_storage): Likewise.
11784         * profile.c (output_func_start_profiler): Likewise.
11785         * toplev.c (rest_of_decl_compilation): Likewise.
11786         * objc/objc-act.c (create_builtin_decl): Likewise.
11787         (synth_module_prologue): Likewise.
11788         (generate_static_reference): Likewise.
11789         (build_selector_reference_decl): Likewise.
11790         (build_class_reference_decl): Likewise.
11791         (build_objc_string_decl): Likewise.
11792         (build_protocol_reference): Likewise.
11793
11794 2001-01-10  Richard Henderson  <rth@redhat.com>
11795
11796         * hwint.h: Revert yesterday's change.
11797
11798 2001-01-10  Nick Clifton  <nickc@redhat.com>
11799
11800         * function.h (save_machine_status): Delete.
11801         (restore_machine_status): Delete.
11802         Amend comment describing {init|mark|free}_machine_status.
11803
11804         * function.c (save_machine_status): Delete.
11805         (restore_machine_status): Delete.
11806         Amend comment describing {init|mark|free}_machine_status.
11807         (push_function_context_to): Remove invocation of
11808         save_machine_status.
11809         (pop_function_context_from): Remove invocation of
11810         restore_machine_status.
11811
11812         * emit-rtl.c (init_emit_once): Amend comment describing
11813         {init|mark|free}_machine_status.
11814
11815         * tm.texi (Per-Function Data): New node.  Describe the
11816         INIT_EXPANDERS macro and the {init|mark|free}_machine_status
11817         function pointers.
11818
11819 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
11820
11821         * cppinit.c (OPT_g): Remove.
11822         (cpp_handle_option): Update for removed -g3.
11823         (print_help): Update.
11824         * cpplib.h (struct cpp_options): Remove debug_output.
11825         * cppmain.c (setup_callbacks, cb_define): Update.
11826         * gcc.c (cpp_options): Translate -g3 to -dD.
11827
11828 2001-01-10  Aldy Hernandez  <aldyh@redhat.com>
11829
11830         * config/i960/i960.md: Change modifier to + on the zero_extract
11831         pattern after the (rotate -2 reg) canonicalization pattern.
11832
11833 2001-01-10  Richard Henderson  <rth@redhat.com>
11834
11835         * config/alpha/alpha.c (alpha_free_machine_status): New.
11836         (override_options): Install it.
11837         (alpha_mark_machine_status): Verify machine non-null.
11838         * config/i386/i386.c (ix86_free_machine_status): New.
11839         (override_options): Install it.
11840         (ix86_init_machine_status): Use xcalloc.
11841         (ix86_mark_machine_status): Verify machine non-null.
11842         * config/ia64/ia64.c (ia64_free_machine_status): New.
11843         (ia64_override_options): Install it.
11844         (ia64_mark_machine_status): Verify machine non-null.
11845
11846 Wed Jan 10 11:34:39 2001  Jeffrey A Law  (law@cygnus.com)
11847
11848         * function.c (instantiate_virtual_regs): Instantiate virtual
11849         registers found in CALL_INSN_FUNCTION_USAGE.
11850
11851 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
11852
11853         * i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
11854         equivalent to -ansi in disabling -Di386.
11855
11856 Wed Jan 10 16:38:31 MET 2001  Jan Hubicka  <jh@suse.cz>
11857
11858         * i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
11859         new functions.
11860         (ix86_expand_fp_compare): Make trivial use of new infrastructure.
11861
11862 2001-01-10  Richard Earnshaw  <rearnsha@arm.com>
11863
11864         * arm.c (arm_init_builtins): Temporarily disable xscale builtins.
11865
11866 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
11867
11868         * invoke.texi: Document that -fcond-mismatch isn't supported for
11869         C++.
11870
11871 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
11872
11873         * gcc.texi: Define macro gcctabopt.
11874         * invoke.texi: Add manpage sections BUGS and AUTHOR.  Use
11875         @command, @env and @option in some places where appropriate.  Use
11876         @gcctabopt where appropriate.  Put URLs and email addresses inside
11877         @w.
11878
11879 2001-01-10  Nathan Sidwell  <nathan@codesourcery.com>
11880
11881         * gcc.c (cpp_options): Set MD file name from output
11882         filename, if specified.
11883         (suffix_subst): New static variable.
11884         (do_spec): Clear it.
11885         (do_spec_1, case '.'): Handle new `%.suffix' spec.
11886         Clear it.
11887         (give_switch): Handle suffix_subst.
11888
11889 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
11890
11891         * invoke.texi:  Fix another typo.
11892
11893 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
11894
11895         * invoke.texi:  Fix typo.
11896
11897 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
11898
11899         * c-lang.c (lang_hooks): Update.
11900         (lang_decode_option): Remove.
11901         (lang_init_options): Rename c_init_options.
11902         * toplev.c (main): Use lang_hooks for lang_init_options
11903         and lang_decode_option.
11904         * toplev.h (lang_hooks): Add 2 new hooks.
11905         * tree.h: Remove lang_init_options and lang_decode_option.
11906         * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
11907         * cp/decl2.c: Similarly.
11908         * cp/lex.c (lang_init_options): Rename cxx_init_options.
11909         (lang_hooks): Update.
11910         * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
11911         for consistency.
11912         (lang_init_options): Rename ffe_init_options.
11913         (lang_hooks): Update.
11914         (lang_decode_option): Remove.
11915         * java/lang.c (lang_init_options): Rename java_init_options.
11916         (lang_decode_option): Rename java_decode_option.
11917         (lang_hooks): Update.
11918         * objc/objc-act.c (lang_init_options): Rename objc_init_options.
11919         (lang_decode_option): Rename objc_decode_option.
11920         (lang_hooks): Update.
11921
11922 2001-01-09  Nick Clifton  <nickc@redhat.com>
11923
11924         * config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
11925         (d30v_return_addr_rtx): Delete.
11926         (d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
11927         cfun->machine structure.
11928         (struct machine_function): Move to d30v.h
11929         (d30v_save_machine_status): Delete.
11930         (d30v_restore_machine_status): Delete.
11931         (d30v_init_machine_status): New Function.
11932         (d30v_mark_machine_status): New Function.
11933         (d30v_free_machine_status): New Function.
11934         (d30v_init_expanders): Use new functions.
11935         (d30v_return_addr): Use ra_rtx field in cfun->machine.
11936         (d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
11937         d30v_return_addr_rtx.
11938
11939         * config/d30v/d30v.h (struct_machine): Move here.
11940         Add eh_epilogue_sp_ofs field.
11941
11942         *config/d30v/d30v.md (epilogue): Initialise eh_epilogue_sp_ofs
11943         field in cfun->machine structure.
11944
11945 Tue Jan  9 21:34:57 2001  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11946
11947         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
11948         PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
11949         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
11950
11951 Tue Jan  9 21:25:19 2001  Jeffrey A Law  (law@cygnus.com)
11952
11953         * objc/lang-options.h: Remove bogus reference to
11954         Java trademark.
11955
11956 2001-01-09  Kazu Hirata  <kazu@hxi.com>
11957
11958         * config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
11959         return the result.
11960
11961 2001-01-09  Alan Lehotsky  <lehotsky@tiac.net>
11962
11963         * reload.c (find_reloads_address): Check for eliminable registers
11964         when substituting a constant expression for a pseudo.
11965
11966 2001-01-09  Joseph S. Myers  <jsm28@cam.ac.uk>
11967
11968         * c-common.c (enum format_type): Add format_type_error.
11969         (decode_format_type): New function.
11970         (decl_attributes): Use it.
11971         (format_kind_info): Adjust comment.
11972
11973 2001-01-09  David O'Brien  <obrien@BSDi.com>
11974
11975         * config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
11976         i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
11977         files in tm_file.
11978         * config/i386/gnu.h: Don't include required platform specific .h files,
11979         tm.h will do it instead.
11980         * config/i386/i386elf.h: Likewise.
11981         * config/i386/linux.h: Likewise.
11982         * config/i386/moss.h: Likewise.
11983         * config/mips/gnu.h: Likewise.
11984
11985 2001-01-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11986
11987         * config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
11988         (rs6000-ibm-aix3.[01]*): Likewise.
11989         (rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
11990         (rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
11991         (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
11992         (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
11993         (powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
11994         (powerpc-*-eabiaix*): Likewise.
11995         (powerpc-*-eabisim*): Likewise.
11996         (powerpc-*-elf*): Likewise.
11997         (powerpc-*-eabi*): Likewise.
11998         (powerpc-*-rtems*): Likewise.
11999         (powerpc-*-linux*libc1): Likewise.
12000         (powerpc-*-linux*): Likewise.
12001         (powerpc-wrs-vxworks*): Likewise.
12002         (powerpcle-wrs-vxworks*): Likewise.
12003         (powerpcle-*-sysv*): Likewise.
12004         (powerpcle-*-elf*): Likewise.
12005         (powerpcle-*-eabisim*): Likewise.
12006         (powerpcle-*-eabi*): Likewise.
12007         (powerpcle-*-solaris2*): Likewise.
12008         * config/rs6000/aix31.h: Delete includes.
12009         * config/rs6000/aix3newas.h: Likewise.
12010         * config/rs6000/aix41.h: Likewise.
12011         * config/rs6000/aix43.h: Likewise.
12012         * config/rs6000/beos.h: Likewise.
12013         * config/rs6000/rtems.h: Likewise.
12014         * config/rs6000/sysv4.h: Likewise.
12015
12016 2001-01-09  Kazu Hirata  <kazu@hxi.com>
12017
12018         * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
12019         Change an argument mode of machine_mode to shift_mode of
12020         shift_mode.  Remove an extra error check.
12021         (emit_a_shift): Adopt to the new calling prototype of
12022         get_shift_alg.
12023         (function_prologue): Fix code for a monitor
12024         function.  Support H8/S.
12025         (function_epilogue): Do not output pop for a monitor function.
12026
12027 2001-01-09  Nick Clifton  <nickc@redhat.com>
12028
12029         * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
12030         (setup_incoming_varargs): Use sysv_varargs_p field of the
12031         cfun->machine structure.
12032         (struct machine_function): Move to rs6000.h
12033         (rs6000_save_machine_status): Delete.
12034         (rs6000_restore_machine_status): Delete.
12035         (rs6000_init_machine_status): New Function.
12036         (rs6000_free_machine_status): New Function.
12037         (rs6000_init_expanders): Use new functions.
12038
12039         * config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
12040         export.
12041         (struct machine_function): Move here.
12042
12043         * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
12044         sysv_varargs_p field of the cfun->machine structure.
12045
12046         * config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
12047         Remove prototype.
12048         (rs6000_restore_machine_status): Remove prototype.
12049
12050 2001-01-09  Richard Henderson  <rth@redhat.com>
12051
12052         * sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
12053         reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
12054         * sched-deps.c (sched_analyze_1): Update uses of struct deps.
12055         (sched_analyze_2, sched_analyze_insn): Likewise.
12056         (sched_analyze, init_deps): Likewise.
12057         (free_deps): Likewise.  Iterate with EXECUTE_IF_SET_IN_REG_SET.
12058         * sched-rgn.c (propagate_deps): Likewise.  Remove max_reg argument.
12059         (compute_block_backward_dependences): Update propagate_deps call.
12060
12061 2001-01-09  Mark Elbrecht  <snowball3@bigfoot.com>
12062
12063         * gcc.c (process_command): Set switches[n_switches].ordering to 0.
12064
12065 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
12066
12067         * cppinit.c (OPT_MD, OPT_MMD): Restore.
12068         (cpp_handle_option): Handle them.
12069         (cpp_post_options): Ensure one of -M or -MM is specified with
12070         any other -M? option.
12071         (init_dependency_output): Suppress output with -MG.
12072
12073 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
12074
12075         * cpp.texi: Update.
12076         * invoke.texi: Update.
12077
12078 2001-01-09  Bernd Schmidt  <bernds@redhat.com>
12079
12080         * sh.md (reload_outsf): Generate recognizable patterns for
12081         TARGET_SH3E.
12082
12083 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
12084
12085         * c-lang.c (lang_hooks): Update.
12086         (lang_init): Rename c_init.
12087         (lang_finish): Remove.
12088         * toplev.c (compile_file): Use lang_hooks for lang_init ()
12089         and lang_finish ().
12090         * toplev.h (lang_hooks): Add init () and finish ().
12091         * tree.h (lang_init, lang_finish): Remove.
12092         * cp/tree.h (lang_init, lang_finish): Remove.
12093         * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
12094         * cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
12095         lang_hooks): New.
12096         (lang_init, lang_finish): Remove.
12097         * f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
12098         (lang_hooks): Update.
12099         * java/lang.c (lang_init): Rename java_init.
12100         (lang_finish): Remove.
12101         (lang_hooks): Update.
12102         * objc/objc-act.c (lang_init): Rename objc_init.
12103         (lang_finish): Remove.
12104         (lang_hoooks): Update.
12105
12106 20001-01-09  Graham Stott  <grahams@redhat.com>
12107
12108         * cppfiles.c (_cpp_execute_include): Move `len` initialisation
12109         after `ptr` is initialised.
12110
12111 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
12112
12113         * config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
12114         (INITIALIZE_TRAMPOLINE): Adjust accordingly.
12115         * config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
12116         stack adjusts, instead of r3.
12117
12118 2001-01-09  Michael Hayes  <mhayes@redhat.com>
12119
12120         * flow.c (flow_loop_scan): Break out of ...
12121         (flow_loops_find) ... here.
12122         * basic-block.h (flow_loop_scan): New.
12123         (LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
12124         (LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
12125
12126 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
12127
12128         * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
12129         macro_buffer_len.
12130         * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
12131         realloc()ing macro_buffer.
12132
12133         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
12134         if it's wider than long and the target's long is wider than the
12135         host's.
12136
12137 2001-01-09  Mark Mitchell  <mark@codesourcery.com>
12138
12139         Remove support for using UWIN as a host machine.
12140         * configure.in: Issue an error message.
12141         * configure: Regenerated.
12142         * config.gcc: Remove xm_* UWIN configury.
12143         * config/i386/xm-uwin.h: Remove.
12144
12145 2001-01-08  Nick Clifton  <nickc@redhat.com>
12146
12147         * config/v850/v850.c (ra_rtx): Delete.
12148         (v850_save_machine_status): Delete.
12149         (v850_restore_machine_status): Delete.
12150         (v850_init_machine_status): New function.
12151         (v850_mark_machine_status): New function.
12152         (v850_free_machine_status): New function.
12153         (v850_return_addr): Use ra_rtx field in machine structure.
12154         (v850_init_expanders): Use new functions.
12155
12156         * config/v850/v850-protos.h: Fix prototypes for v850_output_*
12157         * config/v850/v850.c: Change arguments to v850_output+* functions
12158         to take a const char *, to avoid compile time warning.
12159         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
12160         (USER_LABEL_PREFIX): Redefine.
12161
12162 2000-01-08  Jim Wilson  <wilson@redhat.com>
12163
12164         * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
12165         1 to unsigned HOST_WIDE_INT before left shift.
12166
12167 2001-01-08  Nick Clifton  <nickc@redhat.com>
12168
12169         * config/arm/arm.c (arm_mark_machine_status): Check to see if
12170         the machine structure has been allocated.
12171         (arm_free_machine_status): New function: Free the machine
12172         specific function structure.
12173
12174 2001-01-08  Richard Henderson  <rth@redhat.com>
12175
12176         * jump.c (simplejump_p): Revert last change.
12177
12178 2001-01-08  Neil Booth  <neil@daikokuya.demon.co.uk>
12179
12180         * cppinit.c (init): Rename init_library.
12181         (cpp_create_reader): Update.
12182         * gcc.c (cpp_options): If -o given, use it as the target of
12183         any -M options.
12184
12185 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
12186
12187         * arm.c (arm_arch5e): New variable.
12188         (all_cores): XScale is a 5TE device.
12189         (arm_override_options): Set arm_arch5e.
12190         (arm_init_builtins): __builtin_prefetch is in arch5e.
12191         * arm.h (arm_arch5e): Declare it.
12192
12193         * arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
12194
12195         * arm.md (define_constants): Add defines for UNSPEC and
12196         UNSPEC_VOLATILE insns.  Update all users.
12197         (define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
12198         * arm.c (multi_register_push, note_invalid_constants)
12199         (emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
12200         * arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
12201         (STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
12202
12203 Mon Jan  8 16:14:56 MET 2001  Jan Hubicka  <jh@suse.cz>
12204
12205         * jump.c (jump_optimize_1): Use reversed_comparison_code
12206         instead of can_reverse_comparison_p.
12207         (jump_back_p): Likewise.
12208         (invert_exp_1): Likewise.
12209         (thread_jumps): Likewise.
12210         * simplify-rtx.c (simplify_unary_operation): Likewise.
12211         (simplify_ternary_operation): Likewise.
12212         * cse.c (find_comparison_args): Convert to use
12213         can_reverse_comparison_p.
12214         (record_jump_equiv): Likewise.
12215
12216 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
12217
12218         * arm.h (HARD_REGNO_RENAME_OK): Delete.
12219         (EPILOGUE_USES): Define.
12220         (INITIAL_ELIMINATION_OFFSET): Current prologue code does not
12221         automatically stack the LR if it isn't live.
12222
12223 Mon Jan  8 13:46:02 MET 2001  Jan Hubicka  <jh@suse.cz>
12224
12225         * i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
12226         properly.
12227
12228 Sun Jan  7 18:37:43 2001  Mark P Mitchell  <mark@codesourcery.com>
12229
12230         * ggc-page.c (max_alignment): New structure.
12231         (MAX_ALIGNMENT): New macro.
12232         (init_ggc): Use it to round up the sizes in the
12233         extra_order_size_table.
12234
12235 2001-01-07  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
12236
12237         * config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
12238         after reload.
12239
12240 2001-01-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12241
12242         * builtins.def (BUILT_IN_FPRINTF): New entry.
12243
12244         * c-common.c (c_expand_builtin_fprintf): New function.
12245         (init_function_format_info): Handle __builtin_fprintf.
12246         (c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
12247         (c_expand_builtin): Handle BUILT_IN_FPRINTF.
12248
12249         * c-decl.c (duplicate_decls): Adjust comment.
12250
12251         * extend.texi (fprintf): Document new builtin.
12252
12253 2001-01-07  Richard Henderson  <rth@redhat.com>
12254
12255         * jump.c (simplejump_p): Recognize any single_set jump
12256         of the proper form.
12257
12258 2001-01-07  Richard Henderson  <rth@redhat.com>
12259
12260         * configure.in (slibdir): Accept an --with-slibdir option.
12261         Use "test" not "[" in configure.  Default to $(libdir).
12262
12263         * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
12264         fix typo in rm -f.
12265         * config/t-aix43 (SHLIB_INSTALL): Likewise.
12266         * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
12267         (SHLIB_LINK): Create links for the soname.
12268         * config/mips/t-iris6: Likewise.
12269         * config/sparc/t-slibgcc: Likewise.
12270         * config/sparc/t-slibgcc-sld: Likewise.
12271
12272 2001-01-07  Jakub Jelinek  <jakub@redhat.com>
12273
12274         * config/i386/i386.c (constant_call_address_operand): Accept
12275         (const (plus (symbol_ref) (const_int))).
12276         * config/i386/i386.h (PREDICATE_CODES): Add CONST for
12277         constant_call_address_operand.
12278
12279 2001-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
12280
12281         * libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
12282         and LONG_LONG_TYPE_SIZE > 32.
12283
12284 2001-01-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12285
12286         * jump.c (reversed_comparison_code_parts): Fix typo introduced by
12287         the previous change.
12288
12289 Sun Jan  7 19:37:48 MET 2001  Jan Hubicka  <jh@suse.cz>
12290
12291         * jump.c (reversed_comparison_code_parts, reversed_comparison_code):
12292         New.
12293         (can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
12294         (reverse_condition_maybe_unordered): Abort on unsigned comparisons.
12295         * rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
12296         Declare.
12297
12298 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12299
12300         * fix-header.c (read_scan_file): s/pfile/scan_in/.
12301
12302 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12303
12304         * c-lang.c (c_post_options): Call cpp_post_options.
12305         * objc/objc-act.c (objc_post_options): Similarly.
12306         * cppmain.c (main): Similarly.
12307         * fix-header.c (read_scan_file): Similarly.
12308         * cppinit.c (cpp_start_read): Move option consistency checks
12309         to cpp_post_options.  Don't call init_dependency_output.
12310         If needed, add default target and main file dependency.
12311         (OPT_MD, OPT_MMD): Remove.
12312         (OPT_MF): New.
12313         (cpp_handle_option): Update for OPT_* changes.
12314         (cpp_post_options): New.
12315         (init_dependency_output): Command line -MF overrides environment
12316         variables.  Don't set default target etc.  Suppress output
12317         if dependencies are going to stdout.
12318         (print_help): Update.
12319         * cpplib.h (cpp_post_options): New.
12320         * gcc.c (cpp_options): Update for -MD, -MMD, -MF.
12321
12322 Sun Jan  7 14:44:19 MET 2001  Jan Hubicka  <jh@suse.cz>
12323
12324         * jump.c (comparison_dominates_p): Support unordered compares.
12325
12326 Sun Jan  7 14:39:07 MET 2001  Jan Hubicka  <jh@suse.cz>
12327
12328         * simplify-rtx.c (simplify_relational_operation): Always simplify
12329         ORDERED and UNORDERED when FLAG_FAST_MATH.  Handle properly UNLE
12330         and UNGE.
12331
12332 Sun Jan  7 14:35:13 MET 2001  Jan Hubicka  <jh@suse.cz>
12333
12334         * combine.c (combine_simplify_rtx): Recognize the unordered compares.
12335         (nonzero_bits): Likewise.
12336         (simplify_comparison): Likewise.
12337         (num_sign_bit_copies): Likewise; return more sane value depending
12338         on STORE_FLAG_VALUE.
12339         (known_cond): Do not assume EQ to be always true for equivalent
12340         operands.
12341
12342 Sun Jan  7 14:31:57 MET 2001  Jan Hubicka  <jh@suse.cz>
12343
12344         * cse.c (fold_rtx): Handle unordered comparisons.
12345
12346 Sun Jan  7 13:49:19 MET 2001  Jan Hubicka  <jh@suse.cz>
12347
12348         * rtlanal.c (set_of_1): New static function.
12349         (reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
12350          reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
12351          reg_set_last_last_regno): Remove.
12352         (set_of): New global function.
12353         (set_of_data): New structure.
12354         (reg_set_p, reg_set_last): Revamp for set_of.
12355         * rtl.h (set_of): New.
12356
12357 2001-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
12358
12359         * c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
12360         * extend.texi: Document _Exit builtin.
12361
12362 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12363
12364         * (initialize, initialize_builtins,
12365         initialize_dependency_output, initialize_standard_includes):
12366         Rename s/initialize/init. Update.
12367         (init_dependency_output): Move to after
12368         cpp_handle_options, the correct location temporally at least.
12369         (opt_comp): Move next to init (), its caller.  Fix prototype.
12370         (init): Make "initialized" local scope.
12371         (cpp_create_reader): Always call init ().
12372         (cpp_start_read): Update.
12373         (output_deps): New function, broken out of cpp_finish.
12374         (cpp_finish): Break out output_deps.
12375
12376 2001-01-07  Richard Henderson  <rth@redhat.com>
12377
12378         * collect2.c (COFF specific stuff): Revert 12-06 patch
12379         to prototype system functions.
12380
12381 2001-01-07  Michael Hayes  <mhayes@redhat.com>
12382
12383         * hard-reg-set.h: Add multiple include guard.
12384         * basic-block.h (struct loop): Add `sink' field.
12385         * loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
12386         (emit_iv_add_mult): Delete.
12387         (loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
12388         (loop_iv_add_mult_emit_before, loop_insn_sink): Define.
12389         (unroll_loop): Remove end_insert_before argument.
12390         * loop.c (loop_givs_rescan): Remove end_insert_before argument.
12391         (maybe_eliminate_biv_1): Likewise.
12392         (emit_iv_add_mult): Delete.
12393         (gen_add_mult, loop_regs_update): New.
12394         (loop_insn_emit_after, loop_insn_emit_before): New.
12395         (loop_insn_sink, loop_insn_sink_or_swim): New.
12396         (emit_iv_add_mult): Delete.
12397         (scan_loop): Set loop->sink.
12398         (loop_givs_reduce): Use loop_insn_sink and its ilk.
12399         (loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
12400         (maybe_eliminate_biv_1): Likewise.
12401         (maybe_eliminate_biv_1): Add basic block argument.
12402         * unroll.c (unroll_loop): Remove end_insert_before argument.
12403         (find_splittable_regs): Likewise.
12404         (find_splittable_regs): Use loop_insn_sink and its ilk.
12405         (find_splittable_givs, final_biv_value, final_giv_value): Likewise.
12406
12407 2001-01-07  Michael Hayes  <mhayes@redhat.com>
12408
12409         * loop.h (loop_insn_hoist): New prototype.
12410         * loop.c (loop_insn_hoist, loop_insn_emit_before): New.
12411         (move_movables, loop_givs_rescan): Use loop_insn_hoist.
12412         (check_dbra_loop, load_mems): Likewise.
12413         * unroll.c (unroll_loop, find_splittable_regs): Likewise.
12414         (find_splittable_givs): Likewise.
12415
12416 2001-01-07  Michael Hayes  <mhayes@redhat.com>
12417
12418         * loop.c (emit_iv_add_mult): Use single_set to examine new insn.
12419
12420 2001-01-07  Richard Henderson  <rth@redhat.com>
12421
12422         * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
12423
12424 2001-01-07  Richard Henderson  <rth@redhat.com>
12425
12426         * Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
12427         NO_SHARED_LIBGCC_MULTILIB as required for the target.
12428         * gcc.c (init_spec): Massage the existing libgcc_spec into a
12429         variant that handles a shared libgcc.
12430         (process_command): Always validate -{static,shared}-libgcc.
12431         (do_spec_1): New 'M' case.
12432         * invoke.text (Link Options): Document -{static,shared}-libgcc.
12433
12434 2001-01-07  Richard Henderson  <rth@redhat.com>
12435
12436         * Makefile.in (slibdir): New variable.
12437         (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
12438         (installdirs): Create slibdir.
12439         (install-libgcc, install-multilib): Defer to libgcc.mk.
12440         * configure.in (slibdir): Substitute.
12441         * mklibgcc.in (install): New target.
12442
12443         * config/t-linux (SHLIB_LINK): Create links for the soname.
12444         (SHLIB_INSTALL): New.
12445         * config/alpha/t-osf4 (SHLIB_INSTALL): New.
12446         * config/mips/t-iris6 (SHLIB_INSTALL): New.
12447         * config/rs6000/t-aix43 (SHLIB_INSTALL): New.
12448         * config/sparc/t-slibgcc (SHLIB_INSTALL): New.
12449         * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
12450
12451 2001-01-07  Richard Henderson  <rth@redhat.com>
12452
12453         * config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
12454         * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
12455         * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
12456
12457 2001-01-07  Michael Hayes  <mhayes@redhat.com>
12458
12459         * loop.c (count_loop_regs_set): Delete.
12460         (load_mems_and_recount_loop_regs_set): Delete.
12461         (loop_regs_scan): Merge common code from count_loop_regs_set,
12462         scan_loop, and load_mems_and_recount_loop_regs_set.
12463         (scan_loop): Call load_mems directly and loop_regs_scan
12464         again if new registers created.
12465
12466 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12467
12468         * toplev.c (main): Call the front-end specific post_options
12469         hook if one is given.
12470         * toplev.h (struct_lang_hooks, lang_hooks): New.
12471         * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
12472         for the C front end.
12473         * cp/decl2.c (cxx_post_options, lang_hooks): Implement
12474         lang_hooks for the C++ front end.
12475         * objc/objc-act.c (objc_post_options, lang_hooks): Implement
12476         lang_hooks for the ObjC front end.
12477         * f/com.c (lang_hooks): Hooks for the Fortran front end.
12478         * java/lang.c (lang_hooks): Hooks for the Java front end.
12479
12480 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12481
12482         * c-lex.c (init_c_lex): Request #define / #undef callbacks
12483         for verbose DWARF[2] debugging.
12484         (cb_define, cb_undef): The new callbacks.
12485         * toplev.h (debug_define, debug_undef): Make const correct.
12486         * toplev.c (debug_define, debug_undef): Similarly.  Do not
12487         perform the verbosity tests here anymore.
12488
12489 2001-01-07  Alexandre Oliva  <aoliva@redhat.com>
12490
12491         * reload.c (subst_reloads): Take INSN argument.  When
12492         replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
12493         * reload.h (subst_reloads): Adjust prototype.
12494         * reload1.c (reload_as_needed): Pass INSN to subst_reloads.
12495         * jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
12496         present in JUMP_INSNs and copy them to JUMP_LABEL.
12497         * flow.c (find_label_refs, find_basic_blocks_1): Skip
12498         JUMP_INSNs and insns with REG_LABELs that are followed by
12499         JUMP_INSNs with the same REG_LABEL.
12500         * sched-rgn.c (is_cfg_nonregular): Likewise.
12501         * rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
12502         note is available.
12503         * unroll.c (unroll_loop): Look for REG_LABEL notes in
12504         JUMP_INSNs too.
12505         * rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
12506
12507 2001-01-06  Richard Henderson  <rth@redhat.com>
12508
12509         * loop.c (scan_loop): Use xcalloc for the regs array.
12510         (load_mems_and_recount_loop_regs_set): Zero the new memory
12511         received from xrealloc.
12512
12513 2001-01-06  Neil Booth  <neil@daikokuya.demon.co.uk>
12514
12515         * mkdeps.c (deps_add_dep): Fix vector re-allocation.
12516
12517 Sat Jan  6 00:09:34 2001  J"orn Rennecke <amylaar@redhat.com>
12518
12519         * integrate.c (copy_rtx_and_substitute): When copying
12520         an ignored return value, strip REG_FUNCTION_VALUE_P.
12521
12522 2001-01-06  Michael Hayes  <mhayes@redhat.com>
12523
12524         * loop.c (debug_biv, debug_giv): New.
12525         (loop_biv_dump): Break out from ...
12526         (record_biv): ... here.
12527         (loop_giv_dump): Break out from ...
12528         (record_giv): ... here.
12529         (loop_bivs_check): Use print_simple_rtl.
12530         * unroll.c (loop_iterations): Use print_simple_rtl.
12531
12532 2000-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12533
12534         * pa.md (return, return_internal): Modify patterns to prevent regrename
12535         mucking with the return pointer.
12536
12537 2001-01-05  Richard Henderson  <rth@redhat.com>
12538
12539         * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
12540
12541 Fri Jan  5 16:34:18 2001  Nick Clifton  <nickc@redhat.com>
12542
12543         * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
12544         version supplied by Matteo Frigo.
12545
12546 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
12547
12548         * cpp.texi: Update for -MQ.
12549         * cppinit.c (cpp_create_reader): Always create pfile->deps.
12550         (cpp_cleanup): Always free pfile->deps.
12551         (initialize_dependency_output): Don't create pfile->deps.
12552         (cpp_handle_option): Similarly.
12553         (OPT_MQ): New.
12554         * gcc.c (cpp_options): Handle -MQ.
12555         (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
12556         * mkdeps.c (base_name): Remove.
12557         (deps_init): Don't allocate vector space until it's needed.
12558         (deps_free): Only free vectors if allocated.
12559         (deps_add_target, deps_add_dep): Update for initial allocation.
12560         (deps_add_default_target): Don't strip to the base_name.
12561
12562 2001-01-05  DJ Delorie <dj@redhat.com>
12563
12564         * config/v850/v850.h (RETURN_ADDR_RTX): Define.
12565         (INIT_EXPANDERS): Define.
12566
12567         * config/v850/v850.c (struct machine_function): Define.
12568         (v850_save_machine_status): New function.
12569         (v850_restore_machine_status): New function.
12570         (v850_return_addr): New function.
12571         (v850_init_expanders): New function.
12572
12573         * config/v850/v850-protos.h: Add prototypes for v850_return_addr
12574         and v850_init_expanders.
12575
12576 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
12577
12578         * cpplib.h (struct cpp_reader): Add help_only field.
12579         * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
12580         (cpp_handle_option): Set pfile->help_only if we see -h,
12581         --help, -target-help, or --version.  Print version string but
12582         do not set help_only if we see -v or -version.  Make text
12583         printed by -v match that printed by (-)-version.
12584
12585         * cppmain.c (main): Exit after option parsing if
12586         pfile->help_only is true.
12587
12588         * toplev.c (independent_decode_option): Call print_version,
12589         then exit, if we see --version (but not -version).
12590         (print_version): Split lengthy message into two lines.
12591
12592 2001-01-05  Nick Clifton  <nickc@redhat.com>
12593
12594         * config/v850/v850.c (v850_encode_data_area): Use alloca to create
12595         temporary string for initialisation before calling ggc_alloc_string.
12596
12597 2001-01-06  Michael Hayes  <mhayes@redhat.com>
12598
12599         * rtl.h (print_simple_rtl): New.
12600         * print-rtl.c (print_simple_rtl): New.
12601         (flag_simple): New.
12602         (print_rtx): Disable printing of flags and modes, etc.,
12603         if `flag_simple` nonzero.
12604
12605 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
12606
12607         * function.c (fixup_var_refs): Use push_to_full_sequence where
12608         possible.
12609
12610 2001-01-05  Michael Meissner  <meissner@redhat.com>
12611
12612         * flags.h (flag_reorder_blocks): Add declaration.
12613         (flag_rename_block): Ditto.
12614
12615 2001-01-05  DJ Delorie  <dj@redhat.com>
12616
12617         * function.c (reorder_blocks): Make sure the flags are all reset
12618         before using them to mark blocks, else a second invocation will
12619         corrupt the block chain.
12620         (reorder_blocks_0): New, resets the flags.
12621
12622 Fri Jan  5 20:34:06 2001  J"orn Rennecke <amylaar@redhat.com>
12623
12624         * cse.c (find_comparison_args): Stop if the argument is known to
12625         be constant.
12626
12627 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
12628
12629         * config/sh/sh.md (movdf): When splitting load into pair of
12630         registers, don't clobber the register used in the address too
12631         early.
12632
12633 2001-01-05  Jeffrey Oldham  <oldham@codesourcery.com>
12634
12635         * varasm.c (mark_constant_pool): Improve initial comments.
12636         (mark_constants): Move marking of constants to mark_constant.
12637         (mark_constant): New function to recursively mark all constants
12638         referred to by a constant.
12639
12640 2001-01-05  Catherine Moore  <clm@redhat.com>
12641
12642         * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
12643
12644 2001-01-05  Phil Edwards  <pme@sources.redhat.com>
12645
12646         * cp/lang-options.h:  Bring comment in line with reality.
12647         * f/lang-options.h:  Likewise.
12648         * java/lang-options.h:  Likewise.
12649         * objc/lang-options.h:  Likewise.
12650         * ch/lang-options.h:  Likewise.
12651         * f/g77.texi:  And update the manual.
12652
12653 2001-01-05  Marek Michalkiewicz  <marekm@linux.org.pl>
12654             Denis Chertykov  <denisc@overta.ru>
12655
12656         * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
12657         * config/avr/avr.c (avr_peep2_scratch_safe): New function.
12658         * config/avr/avr.md (all peepholes that request a scratch register):
12659         Call it, FAIL the peephole if not safe (in interrupt functions).
12660
12661 2001-01-05  Mark Mitchell  <mark@codesourcery.com>
12662
12663         * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
12664
12665 2001-01-05  Joseph S. Myers  <jsm28@cam.ac.uk>
12666
12667         * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
12668         Define.
12669         * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
12670         BUILT_IN_CREAL and BUILT_IN_CIMAG.
12671         * c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
12672         conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
12673         (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
12674         BUILT_IN_CIMAG.
12675         * extend.texi: Document these builtins.
12676
12677 2001-01-05  Daniel Berlin  <dberlin@redhat.com>
12678
12679         * c-common.c (lang_get_alias_set): Say we know nothing of
12680         VECTOR_TYPE aliasing.
12681
12682         * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
12683
12684 2001-01-05  Bruce Korb  <bkorb@gnu.org>
12685
12686         * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
12687         their x* equivalent versions for atexit-less systems
12688         * fixinc/fixincl.c(main): do not return from main() on atexit-less
12689         systems (or any other system any more).
12690
12691 2001-01-05  Richard Earnshaw  <rearnsha@arm.com>
12692
12693         * arm.md (ldmsi_postinc): Avoid use of match_dup between input and
12694         output operands.  Use arm_hard_register_operand for operand 4.
12695         (stmsi_postinc): Similarly.
12696         (ldmsi): Use arm_hard_register_operand for opernand 2.
12697         (stmsi): Similarly.
12698         * arm.c (arm_hard_register_operand): New function.
12699         * arm-protos.h (arm_hard_register_operand): Prototype it.
12700
12701         * arm.h (HARD_REGNO_RENAME_OK): Define.
12702
12703 Fri Jan  5 16:29:49 MET 2001  Jan Hubicka  <jh@suse.cz>
12704
12705         * simplify-rtx.c (cfc_args): add "unordered" field.
12706         (check_fold_consts): Set unordered field.
12707         (simplify_relational_operation): Simplify the unordered
12708         comparisons.
12709
12710         * reg-stack.c (swap_rtx_condition): Ensure that the transformation
12711         is valid.
12712
12713         * emit-rtl.c (try_split): Fix code to mark labels.
12714         * jump.c (mark_jump_label): Make global.
12715         * rtl.h (mark_jump_label): Declare.
12716
12717         * predict.c (estimate_probability): Handle unordred comparisons.
12718
12719 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
12720
12721         * cpp.texi: Update for -MP.  Clarify behaviour of -MT.
12722         * cppinit.c (initialize_dependency_output):  Update.
12723         (cpp_finish): Output dummy targets for -MP.
12724         (OPT_MP): New.
12725         (cpp_handle_option): Handle -MP.  Don't quote -MT options.
12726         * cpplib.h (struct cpp_options): Add deps_phony_targets.
12727         * gcc.c (cpp_options): Update to handle -MP.
12728         * mkdeps.c (deps_add_target, deps_add_default_target): Update
12729         to quote only the default target.
12730         (deps_phony_targets): Insert a preceding newline.  Rename from
12731         deps_dummy_targets for consistency.
12732         * mkdeps.h: Update
12733
12734 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
12735
12736         * calls.c (emit_library_call_value_1): Support
12737         INIT_CUMULATIVE_LIBCALL_ARGS.
12738         * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
12739
12740 2001-01-04  Richard Henderson  <rth@redhat.com>
12741
12742         * c-decl.c (finish_struct): Detect flexible array members
12743         used in an inappropriate context.
12744         * c-typeck.c (really_start_incremental_init): Special case
12745         constructor_max_index for zero length arrays.
12746         (pop_init_level): Allow initialization of flexible array
12747         members.  Deprecate initialization of zero length arrays.
12748         Don't issue missing initializer warning for flexible array
12749         members or zero length arrays.
12750         (process_init_element): Don't dereference null DECL_SIZE.
12751         * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
12752         Don't abort for empty constructors.  Use size_binop
12753         (output_constructor): Add commentary regarding zero length
12754         array futures.  Abort if we try to initialize an array of
12755         unspecified length with a non-empty constructor in the middle
12756         of a structure.
12757
12758         * extend.texi (Zero Length): Update and clarify documentation
12759         on static initialization.
12760
12761 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
12762
12763         * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
12764         with more than 32767 words of local storage.
12765
12766 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
12767
12768         * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
12769         for 'abs', 'labs', and 'fabs'.
12770         (c4x_expand_builtin): Likewise.
12771         * config/c4x/c4x.h (enum c4x_builtins): Likewise.
12772
12773 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
12774
12775         * config/sh/sh.md (prget, prset): New insn types.
12776         (return delay slot): Dont' allow prset.
12777         (call, sfunc delay slot): Don't allow prget.
12778         (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
12779         for prset and prget.
12780
12781 2001-01-05  Michael Hayes  <mhayes@redhat.com>
12782
12783         * loop.h (struct loop_reg): New.
12784         (struct loop_regs): Change to use array of `struct loop_reg'.
12785         * loop.c: Replace assortment of varrays with single regs array.
12786         (count_one_set): Delete may_not_move array argument
12787         and use regs array instead.  All caller's changed.
12788         (count_loop_regs_set): Delete may_not_move and single_usage
12789         arguments and use regs array instead.  All caller's changed.
12790         (find_single_use_in_loop): Replace usage array argument with pointer
12791         to regs structure.  All caller's changed.
12792         (loop_optimize): Delete `moved_once' array.
12793
12794 2001-01-05  Michael Hayes  <mhayes@redhat.com>
12795
12796         * loop.c (prescan_loop): Set loop_info->has_nonconst_call.
12797         Use it instead of loop_info->has_call for scanning loop mems.
12798         (check_dbra_loop): Replace loop_info->has_call test with
12799         loop_info->has_nonconst_call.
12800
12801 2000-01-04  Matthew Hiller  <hiller@redhat.com>
12802
12803         * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
12804         for TARGET_SH3E.
12805
12806 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
12807
12808         * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
12809         use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
12810
12811 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
12812
12813         * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
12814         (flag_short_double, flag_short_wchar): Define.
12815         (c_common_nodes_and_builtins): Create many tree nodes shared
12816         between C and C++ here instead of in cp/decl.c and ...
12817         * c-decl.c (init_decl_processing): ... here.
12818         (SIZE_TYPE, WCHAR_TYPE): Don't define.
12819         (flag_short_double, flag_short_wchar): Don't define.
12820         (record_builtin_type): New function.
12821         (build_void_list_node): New function.
12822         * c-common.h (flag_short_double, flag_short_wchar,
12823         record_builtin_type, build_void_list_node): Declare.
12824
12825 Thu Jan  4 21:09:47 2001  J"orn Rennecke <amylaar@redhat.com>
12826
12827         * integrate.c (expand_inline_function): Don't put a virtual
12828         register into the reg map.
12829
12830         * function.c (fixup_var_refs_1): If force_operand didn't put
12831         the address into the target, move it there.
12832
12833 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
12834
12835         Special-case tree_decl/tree_list allocations.
12836         * ggc-page.c (OBJECT_PER_PAGE): Reimplement.
12837         (OBJECT_SIZE): New macro.
12838         (NUM_EXTRA_ORDER): Likewise.
12839         (extra_order_size_table): New variable.
12840         (NUM_ORDERS): New macro.
12841         (objects_per_page_table): New variable.
12842         (object_size_table): New variable.
12843         (G.pages): Use NUM_ORDERS to bound the array.
12844         (G.page_tails): Likewise.
12845         (DIV_ROUND_UP): Remove.
12846         (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
12847         (alloc_page): Use OBJECT_SIZE.
12848         (size_lookup): Don't make it const.
12849         (ggc_alloc): Use OBJECT_SIZE.
12850         (ggc_set_mark): Likewise.
12851         (ggc_get_size): Likewise.
12852         (init_ggc): Set up the object_size_table, objects_per_page_table,
12853         and adjust size_lookup.
12854         (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
12855         (ggc_pop_context): Use NUM_ORDERS.
12856         (clear_marks): Likewise.
12857         (sweep_pages): Likewise.
12858         (poison_pages): Likewise.
12859         (ggc_print_statistics): Use OBJECT_SIZE.
12860
12861 Thu Jan  4 15:54:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12862
12863         * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
12864         Only call array_size_for_constructor if last field and array type
12865         with no upper bound.
12866
12867 2001-01-04  Philip Blundell  <philb@gnu.org>
12868
12869         * config/arm/arm.c (arm_gen_constant): Prefer to emit constants
12870         from bit 31 downwards, if this requires no more insns.
12871         (count_insns_for_constant): New helper function for above.
12872
12873 2001-01-04  Alexandre Oliva  <aoliva@redhat.com>
12874
12875         * gencodes.c (output_predicate_decls): Remove empty initializer.
12876
12877 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
12878
12879         * tree.c (copy_node): Remove documentation about obstacks.
12880         (buidl1): Check that nobody tries to build 2-argument nodes this
12881         way.
12882
12883 2001-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12884
12885         * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
12886         fp_high_losum_p.
12887
12888         * gencodes.c (output_predicate_decls): Fill empty initializer
12889         braces.
12890
12891 2001-01-04  Jakub Jelinek  <jakub@redhat.com>
12892
12893         * tradcpp.c (deps_file, print_deps_missing_files): New variables.
12894         (main): Handle -MG, -MD, -MMD.  Bail out if -MG is given without -M
12895         or -MM.
12896         (do_include): Handle missing headers like cpp0.
12897         * cppfiles.c (_cpp_execute_include): Don't prefix absolute header
12898         paths with first include pathname.  Don't strcat to uninitialized
12899         string.
12900
12901 2001-01-04  Bernd Schmidt  <bernds@redhat.com>
12902
12903         * regrename.c (regrename_optimize): Don't rename from frame pointer
12904         if frame_pointer_needed.
12905         (do_replace): Don't set ORIGINAL_REGNO to a hard register number.
12906         * config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
12907         (ia64_reorg): Use it instead of scheduling if ! optimize.
12908         (errata_emit_nops): Properly call asm_noperands.
12909         (ia64_sched_reorder): Finish cycle if we see an asm.
12910         (ia64_variable_issue): Clear scheduling state after asms.
12911
12912 2001-01-04  Neil Booth  <neil@daikokuya.demon.co.uk>
12913
12914         * cpp.texi: Update for -MT.
12915         * cppinit.c (initialize_dependency_output): Add a default
12916         target if none has been given already.
12917         (no_tgt, OPT_MT): New.
12918         (cpp_handle_option): Handle -MT.  Update -M etc.
12919         * cpplib.h (struct cpp_options): Remove deps_target.
12920         * gcc.c (cpp_options): Handle -MT.
12921         * mkdeps.c (struct deps): Move from mkdeps.h.
12922         (deps_calc_target): Rename deps_add_default_target.  Add a
12923         default target if none has been specified already.
12924         * mkdeps.h (struct deps): Move to mkdeps.c.
12925         (deps_calc_target): Rename deps_add_default_target.
12926
12927 2000-01-03  Richard Henderson  <rth@redhat.com>
12928
12929         * c-decl.c (grokdeclarator): Give zero-length arrays size zero.
12930         Remove dead code.
12931         * c-typeck.c (push_init_level): Move checks for flexible array
12932         members and zero length arrays ...
12933         (pop_init_level): ... here.  Silently discard empty initializations.
12934         Remove dead code.
12935         * varasm.c (output_constructor): Update for sizeof change to
12936         zero-length arrays.
12937
12938         * extend.texi (Zero Length): Clarify semantics.
12939
12940 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
12941
12942         * configure.in (tm.h): Include isns-codes.h last.
12943         * configure: Rebuilt.
12944
12945 2001-01-03  Richard Henderson  <rth@redhat.com>
12946
12947         * config/alpha/alpha.md (addvsi3, addvdi3): New.
12948         (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
12949
12950 2001-01-03  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
12951
12952         * tradcpp.c (main): Make sure finclude() is called with a valid
12953         indepth value while handling -include.
12954
12955 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
12956
12957         * gencodes.c (output_predicate_decls): New function.
12958         (main): Call it.
12959         * machmode.h (GET_MODE_MASK): Arrange for it to be defined
12960         even if it is not the first time machmode.h is #included.
12961         * config/sh/sh.c (fpul_operand): Declare MODE argument.
12962         * tm.texi (PREDICATE_CODES): Document predicate declarations.
12963         * gcc.texi (Copyright): Added 2001.
12964
12965 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
12966
12967         * c-common.c (c_common_lang_init): New function.  Warn if format
12968         warning options which only have effects when used with -Wformat
12969         are used without -Wformat.
12970         * c-common.h (c_common_lang_init): Declare.
12971         * c-lang.c (lang_init): Call c_common_lang_init.
12972         * objc/objc-act.c (lang_init): Call c_common_lang_init.
12973
12974 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
12975
12976         * configure.in: Check for the mktemp command.
12977         * configure: Regenerate.
12978         * gccbug.in: Use a separate temporary file $TEMP0 for one use of
12979         $TEMP.  Create temporary files with mktemp, if available at
12980         configure time; otherwise use set -C.  Remove temporary files
12981         before exit.
12982
12983 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
12984
12985         * configure.in: Require at least texinfo 4.0.  Check for whether
12986         Pod::Man is sufficiently recent to regenerate GCC manpages.
12987         * configure:  Regenerate.
12988         * Makefile.in (TEXI2POD): Call perl explicitly rather than relying
12989         on #!.
12990         (GENERATED_MANPAGES): Define.
12991         (generated-manpages): New target.  Depend on cpp.1 as well as
12992         gcov.1.
12993         (install-man): Depend on $(GENERATED_MANPAGES) (defined by
12994         configure to generated-manpages or empty) rather than on the
12995         manpages directly.  Remove execute permission from installed
12996         gcov.1 as well as cpp.1.
12997         * cpp.1, gcov.1: Regenerate.
12998
12999 2001-01-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13000
13001         * builtins.c (expand_builtin_strncmp): Use host_integerp and
13002         tree_low_cst.  Allow using cmpstrsi in more cases.
13003
13004 Wed Jan  3 10:48:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13005
13006         * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
13007         sized types.
13008
13009 Wed Jan  3 12:22:32 2001  Alexandre Oliva  <aoliva@redhat.com>
13010
13011         * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
13012         * Makefile.in (HOST_CFLAGS): Mention build-make.
13013
13014 Wed Jan  3 08:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13015
13016         * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
13017         as JUMP_INSN.
13018
13019 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
13020
13021         * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
13022         a REG rtx.
13023
13024         * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg.  All
13025         callers changed.
13026
13027         * alias.c (throughout): Use ORIGINAL_REGNO when accessing
13028         reg_base_value and reg_known_value arrays.
13029         (init_alias_analysis): Add more cases to detect known values.
13030         * sched-deps.c (deps_may_trap_p): New function.
13031         (sched_analyze_2): Use it.
13032
13033 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
13034
13035         * combine.c (simplify_shift_const): Even if we're sign-extracting,
13036         don't discard an ASHIFTRT if we're shifting in a wider mode.
13037
13038 2000-01-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13039
13040         * toplev.c (rest_of_compilation): Don't print basic block information
13041         when CFG isn't up to date.
13042
13043 2001-01-02  Mark Elbrecht  <snowball3@bigfoot.com>
13044
13045         * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
13046         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
13047         (UNALIGNED_SHORT_ASM_OP): Define.
13048         (CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
13049
13050 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
13051
13052         * fold-const.c (fold_convert): Fix typo.
13053
13054 2001-01-02  Richard Henderson  <rth@redhat.com>
13055
13056         * c-common.h (ASM_INPUT_P): New.
13057         * c-parse.in (asm): Set it when needed.
13058         * c-semantics.c (genrtl_asm_stmt): Test it instead of the
13059         existance of an operand.
13060
13061 Tue Jan  2 20:27:07 MET 2001  Jan Hubicka  <jh@suse.cz>
13062
13063         * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
13064         (dwarf2out_frame_debug_expr): Likewise.
13065         (mem_loc_descriptor): Handle PRE and POST_MODIFY.
13066
13067 Tue Jan  2 20:21:31 MET 2001  Jan Hubicka  <jh@suse.cz>
13068
13069         * i386.c (ix86_split_to_parts): Return number of part required;
13070         handle TFmodes.
13071         (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
13072         TFmodes.
13073         (ix86_split_long_move): Use number of part returned
13074         by ix86_split_to_parts
13075         * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
13076         New macros.
13077         (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
13078         (LONG_DOUBLE_TYPE_SIZE): Change from constant.
13079         (MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
13080         (INTEL_EXTENDED_IEEE_FORMAT): Likewise.
13081         (ALIGN_MODE_128): Add TFmode.
13082         (IS_STACK_MODE): Likewise.
13083         (HARD_REGNO_NREGS): TFmode needs 3 registers.
13084         (HARD_REGNO_OK): Support TFmodes.
13085         (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
13086         * i386.md (scheduler definitions): Use memory operand to determine
13087         fst/fld instructions; use mode attribute to determine real mode of
13088         the instruction.
13089         (*tf): New patterns, expanders and splitters; based on XFmode patterns.
13090         * invoke.texi (128bit-long-double, 96bit-long-double): Document.
13091
13092 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
13093
13094         * tree.def (TRUTH_NOT_EXPR): Improve documentation.
13095
13096 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
13097
13098         * expr.c (store_constructor_field): Update ALIGN before calling
13099         store_constructor.
13100
13101 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
13102
13103         * config/mips/mips.c (function_arg): Don't pass NULL_TREE to
13104         host_integerp.
13105
13106 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
13107
13108         * tm.texi (FUNCTION_ARG): Document that @var{type} can be an
13109         incomplete type.
13110
13111 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
13112
13113         * c-decl.c (start_function): Don't warn on third parameter to main.
13114
13115 2001-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13116
13117         * tsystem.h: Define HAVE_DECL_GETOPT.
13118
13119 2001-01-02  Philip Blundell  <pb@futuretv.com>
13120
13121         * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
13122         of input operand.
13123
13124 2001-01-02  Richard Henderson  <rth@redhat.com>
13125
13126         * alpha.md (*ze_and_ne): Duplicate insn condition to split.
13127
13128 2001-01-02  Andreas Jaeger  <aj@suse.de>
13129
13130         * c-decl.c (c_decode_option): Remove support of
13131         -Wmissing-noreturn.
13132
13133         * toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
13134         (W_options): Add -Wmissing-noreturn here.
13135
13136         * flow.c: Define lang_missing_noreturn_ok_p.
13137         (check_function_return_warnings): Use it.
13138
13139         * c-common.h: Declare lang_missing_noreturn_ok_p.
13140
13141         * c-lang.c (c_missing_noreturn_ok_p): New function.
13142         (lang_init): Set lang_missing_noreturn_ok_p.
13143
13144         * invoke.texi (Warning Options): Document this.
13145
13146 2000-12-27  Phil Edwards  <pme@sources.redhat.com>
13147
13148         * extend.texi (C++ Extensions):  New node for C++ attributes;
13149         describe init_priority and com_interface.
13150         * invoke.texi:  Remove -finit-priority as it now has zero effect.
13151         * install.texi:  Fix xref syntax.
13152         * md.texi:  Likewise.
13153
13154 Mon Jan  1 21:28:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13155
13156         * config.gcc (sparc64-wrs-vxworks*): New case.
13157         * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
13158
13159         * config/sparc/sparc.c (sparc_override_options): Do support different
13160         pointer and architecture size.
13161         * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
13162         (POINTERS_EXTEND_UNSIGNED): Define.
13163         (Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
13164         (FUNCTION_MODE): Define to be Pmode.
13165         * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
13166
13167         * function.c (expand_function_end): Properly handle DECL_RESULT
13168         and copy when ptr_mode != Pmode.
13169         * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
13170
13171 2001-01-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13172
13173         * c-common.c (c_common_nodes_and_builtins): Set prototype
13174         parameters for __builtin_fputs, __builtin_fputc and
13175         __builtin_fwrite.  Don't declare plain fputc as a builtin.
13176
13177 2001-01-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13178
13179         * loop.c (add_label_notes): Increment the label usage count when
13180         a note is added to an insn which refers to a CODE_LABEL.
13181         * gcse.c (add_label_notes): Likewise.
13182
13183 2001-01-01  Andreas Jaeger  <aj@suse.de>
13184
13185         * loop.c (scan_loop): Use xmalloc to allocate movables.
13186
13187 2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
13188
13189         * tm.texi (REGISTER_MOVE_COST): Add a mode argument.
13190         * reload.c (REGISTER_MOVE_COST): Likewise.  Adjust all callers.
13191         * reload1.c (REGISTER_MOVE_COST): Likewise.
13192         * regclass.c (REGISTER_MOVE_COST): Likewise.
13193         (move_cost, may_move_in_cost, may_move_out_cost): Add mode
13194         dimension.  Adjust all users.
13195         (init_reg_sets_1): Iterate on all modes.
13196         * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
13197         * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
13198         * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
13199         * config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
13200         * config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
13201         * config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
13202         * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
13203         * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
13204         * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
13205         * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
13206         * config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
13207         * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
13208         * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
13209         * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
13210         * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
13211         * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
13212         * config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
13213         * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
13214         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
13215         * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
13216         * config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
13217         * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
13218         * config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
13219         * config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
13220         * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
13221         * config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
13222         * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
13223
13224 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
13225
13226         * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
13227         arg VARIES_P.  Call it with extra arg.
13228         (true_dependence): Likewise.
13229         * rtl.h (rtx_addr_can_trap_p): Declare.
13230         (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
13231         prototypes.
13232         * rtlanal.c (rtx_addr_can_trap_p): No longer static.
13233         (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
13234         pic offset table register if it's zero.  All callers changed.
13235         (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
13236
13237 Mon Jan  1 07:38:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13238
13239         * explow.c (convert_memory_address, case SYMBOL_REF): Copy
13240         STRING_POOL_ADDRESS_P.
13241
13242         * config/sparc/sparc.c (input_operand): Properly test for short op.
13243
13244         * config.gcc (sparc-*-elf): Include sparc/sol2.h.
13245         (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
13246         (sparclite-*-elf*, sparc86x-*-elf*): Likewise.
13247         * config/sparc/elf.h: No longer include sol2.h.
13248         * config/sparc/lifeelf.h: No longer include sparc/elf.h.
13249         * config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
13250
13251         * config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
13252
13253 2001-01-01  Michael Hayes  <mhayes@redhat.com>
13254
13255         * loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
13256         (find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
13257         (record_initial): Likewise.
13258         * unroll.c (copy_loop_body, loop_iterations): Likewise.
13259         (remap_split_bivs): Likewise.
13260
13261 2001-01-01  Michael Hayes  <mhayes@redhat.com>
13262
13263         * loop.c (loop_ivs_free): New function.
13264         (strength_reduce): Break out from...
13265
13266 2001-01-01  Michael Hayes  <mhayes@redhat.com>
13267
13268         * loop.h (struct iv): New.
13269         (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
13270         (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
13271         'reg_biv_class' fields with 'regs' and 'n_regs'.
13272         (struct ivs): Rename 'loop_iv_list' field to 'list'.
13273         * loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
13274         * unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
13275
13276 2000-12-31  Alexandre Oliva  <aoliva@redhat.com>
13277
13278         * resource.c (mark_referenced_resources): Abort() before
13279         attempting to mark a pseudo register.
13280         (mark_set_resources): Likewise.
13281
13282 2001-01-01  Michael Hayes  <mhayes@redhat.com>
13283
13284         * loop.h (REG_IV_CLASS): New accessor macro.
13285         * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
13286         * unroll.c (REG_IV_CLASS): Likewise.
13287
13288 See ChangeLog.4 for earlier changes.