OSDN Git Service

5f47a5c7ce733021456e6433a4e57a32ec1d1487
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-06-15  Loren J. Rittle  <ljrittle@acm.org>
2
3         * doc/install.texi: Use correct markup hints.
4
5 Fri Jun 15 18:05:22 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6
7         * function.c (gen_mem_addressof): Handle case where DECL is SAVE_EXPR.
8
9         * explow.c (expr_size): If DECL and size specified, use it.
10
11 2001-06-15  Zack Weinberg  <zackw@stanford.edu>
12
13         * doc/cpp.texi: Formatting corrections.
14         Correct buggy example of use of __GNUC__ etc.
15         Clarify $ in identifiers.
16         * doc/cpp.1: Regenerate.
17
18 Fri Jun 15 19:35:38 CEST 2001 Jan Hubicka  <jh@suse.cz>
19
20         * optabs.c (expand_twoval_binop): Avoid undefined behaviour.
21
22 2001-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
23
24         * doc/install.texi (Specific, alpha*-*-*): Fixed Tru64 UNIX
25         etc. spelling.
26         (Specific, alpha-*-osf1): Renamed to alpha*-*-osf*.
27         Added Tru64 UNIX V5.1 bootstrap hints.
28         (Specific, alpha*-*-osf*): Removed old section, obsolete.
29
30 2001-06-15  Andreas Jaeger  <aj@suse.de>
31
32         * doc/install.texi (Specific): Mention that glibc cannot be
33         compiled with GCC 3.0.
34
35 2001-06-14  Andrew Haley  <aph@cambridge.redhat.com>
36
37         * combine.c (nonzero_bits): Don't optimize away division by
38         zero.
39
40 2001-06-15  Zack Weinberg  <zackw@stanford.edu>
41
42         * doc/cpp.texi: Revised and brought up to date.
43         * doc/cpp.1: Regenerate.
44
45 2001-06-15  Loren J. Rittle  <ljrittle@acm.org>
46
47         * doc/install.texi: Update --enable-threads to match reality.
48
49 2001-06-15  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
50
51         * doc/install.texi: Update for C4x.
52         * README.C4X: Remove.
53
54 2001-06-14  Joseph S. Myers  <jsm28@cam.ac.uk>
55
56         * doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
57         doc/gcc.texi, doc/install.texi, doc/invoke.texi, doc/md.texi,
58         doc/objc.texi, doc/rtl.texi, doc/tm.texi: Fix spelling and typos.
59         Consistently use "built-in" and "bit-field".  Minor logical markup
60         improvements.
61         * doc/gcc.1: Regenerate.
62
63 2001-06-14  Richard Henderson  <rth@redhat.com>
64
65         * config/mips/mips.md (exception_receiver): New.
66
67 2001-06-14  Daniel J. Berlin <dan@cgsoftware.com>
68
69         * doc/gcc.texi:  Update passes documentation to be more in tune
70         with reality.
71
72 Thu Jun 14 15:38:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
73
74         * i386.c (ix86_expand_prologue): Fix merging conflict.
75
76 2001-06-14  Joseph S. Myers  <jsm28@cam.ac.uk>
77
78         * doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
79         doc/gcc.texi, doc/gcov.texi, doc/install-old.texi,
80         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Use more
81         logical markup.  Use TeX quotes and dashes.  Use @dots{} and
82         @minus{}.  Avoid spaces inside @var.  Update last modification
83         date in gcc.texi.
84         * doc/gcc.1, doc/gcov.1: Regenerate.
85
86 Thu Jun 14 12:44:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
87
88         * i386.c (x86_accumulate_outgoing_args, x86_prologue_using_move,
89         x86_epilogue_using_move): New global variables.
90         (override_options): Enable ACCUMULATE_OUTGOING_ARGS if preferred.
91         (ix86_emit_save_regs_using_mov): New static function.
92         (ix86_expand_prologue, ix86_expand_epilogue): Use moves if preferred.
93         * i386.h (MASK_MMX, MASK_SSE, MASK_SSE2, MASK_128BIT_LONG_DOUBLE,
94         MASK_MIX_SSE_I387): Renumber.
95         (MASK_NO_ACCUMULATE_OUTGOING_ARGS): New.
96         (x86_accumulate_outgoing_args, x86_prologue_using_move,
97         x86_epilogue_using_move): Declare.
98         (TARGET_PROLOGUE_USING_MOVE, TARGET_EPILOGUE_USING_MOVE): New.
99
100 2001-06-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
101
102         * inclhack.def (hpux10_cpp_pow_inline): New hack.
103
104 2001-06-13  Richard Henderson  <rth@redhat.com>
105
106         * ifcvt.c (dead_or_predicable): Fix return value last patch.
107
108 2001-06-13  Mark Mitchell  <mark@codesourcery.com>
109
110         * NEWS: Remove.
111
112 2001-06-13  Richard Henderson  <rth@redhat.com>
113
114         * ifcvt.c (cond_exec_get_condition): Use reversed_comparison_code.
115         (cond_exec_process_if_block, dead_or_predicable): Likewise.
116
117 2001-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
118
119         * mips-tfile.c (copy_object): Always pass indexNil for symbol
120         table index.
121
122 2001-06-13  Kazu Hirata  <kazu@hxi.com>
123
124         * config/h8300/h8300.h (OK_FOR_T): Remove.
125         (EXTRA_CONSTRAINT): Do not use OK_FOR_T.
126         * config/h8300/h8300.md: Remove alternatives involving inc and dec
127         in the helper patterns for addhi3 and addsi3.
128
129 2001-06-13  Phil Edwards  <pme@sources.redhat.com>
130
131         * doc/contrib.texi:  Link to libstdc++'s thanks.html for now.
132
133 2001-06-13  Zack Weinberg  <zackw@stanford.edu>
134
135         * Makefile.in: Move _bb and __gcc_bcmp to LIB2FUNCS_ST.
136         * libgcc-std.ver: Take out __bb* and __gcc_bcmp.                        
137
138         * config/t-slibgcc-elf-ver, config/t-slibgcc-sld,
139         config/alpha/t-osf4, config/mips/t-iris6: Extract all
140         references to @shlib_map_file@, @shlib_objs@, or     
141         @shlib_base_name@ to Makefile variables.
142         Bump soname version of libgcc to 1.
143
144 2001-06-13  Joseph S. Myers  <jsm28@cam.ac.uk>
145
146         * doc/install.texi: Use more logical markup.  Include @node
147         commands in the source when generating any non-HTML.
148
149 2001-06-13  Joseph S. Myers  <jsm28@cam.ac.uk>
150
151         * README: Remove.  Some of the contents moved to ../README.
152
153 2001-06-13  Alexandre Oliva  <aoliva@redhat.com>
154
155         * doc/install.texi (--enable-shared): List package names
156         recognized by GCC.
157
158 2001-06-13  Alexandre Oliva  <aoliva@redhat.com>
159
160         * doc/install.texi (ix86-*-solaris*): Removed, outdated.
161         (*-*-solaris*): Document problem in /bin/sh that affects
162         configuring libraries.
163         (sparc-*-solaris*): Recommend GNU binutils 2.11.1 or vendor tools.
164         (*-sun-solaris2.8): Document linker problem that explains why
165         libjava is disabled by default.
166
167 2001-06-09  Mark Mitchell  <mark@codesourcery.com>
168
169         Revert this patch:
170         * toplev.c (rest_of_compilation): Remove dead code before
171         purge_addressof.
172         
173 2001-06-12  Alexandre Oliva  <aoliva@redhat.com>
174
175         Reverted:
176         2001-06-07  Nathan Sidwell  <nathan@codesourcery.com>
177         * configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support.
178         * configure: Rebuilt.
179
180 2001-06-12  Jim Wilson  <wilson@redhat.com>
181
182         * loop.c (strength_reduce): Move bl->all_reduced set before
183         check_ext_dependant_givs call.
184         (check_ext_dependant_givs): Clear bl->all_reduced when ignoring givs.
185
186 2001-06-12  Alexandre Oliva  <aoliva@redhat.com>
187
188         * doc/extend.texi (Function Attributes): Document SH's sp_switch
189         and trap_exit.
190
191 2001-06-13  Joseph S. Myers  <jsm28@cam.ac.uk>
192
193         * doc/invoke.texi: Use more logical markup.  Use TeX quotes,
194         dashes and @dots{}.
195
196 2001-06-12  Richard Henderson  <rth@redhat.com>
197
198         * config/i386/i386.c (ix86_expand_prologue): Always use
199         gen_pro_epilogue_adjust_stack; update arguments.
200         (ix86_expand_epilogue): Likewise.
201         (ix86_emit_epilogue_esp_adjustment): Remove.
202         (ix86_adjust_cost): Remove pro_epilogue_adjust_stack hack.
203         * config/i386/i386.md (pro_epilogue_adjust_stack): Use a BLKmode
204         clobber of scratch memory instead of a modification of EBP as the
205         barrier.  Update all peepholes to match.
206
207 2001-06-12  Joseph S. Myers  <jsm28@cam.ac.uk>
208
209         * doc/gcc.texi: Change the font used for @def... commands to a
210         fixed width font.
211         * doc/extend.texi: Use more logical markup.  Use "built-in"
212         instead of "builtin".  Use @deftypefn to mark up built-in
213         functions; specify their types in the @deftypefn and not in the
214         descriptive text.  Use TeX quotes and dashes.  Add more index
215         entries.
216
217 2001-06-12  lars brinkhoff  <lars@nocrew.org>
218
219         * gcc.texi (HOST_BITS_PER_LONGLONG): Document.
220         (DIR_SEPARATOR_2): Likewise.
221
222 2001-06-12  Joseph S. Myers  <jsm28@cam.ac.uk>
223
224         * doc/install.texi (--exec-prefix, --bindir, --libdir,
225         --with-slibdir, --infodir, --mandir, --with-cpp-install-dir):
226         Document.
227         (--enable-cpp): Change to document --disable-cpp instead; update
228         to reflect current default.
229         (--without-fast-fixincludes): Remove documentation.
230         (Final install): Document installation directories in more
231         detail.  Document use of make dvi.
232
233 Tue Jun 12 19:01:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
234
235         * recog.c (validate_replace_rtx_1): Fix previous patch.
236
237 Tue Jun 12 17:25:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
238
239         * recog.c (validate_replace_rtx_1): Do plus_constant call always.
240
241 Tue Jun 12 17:24:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
242
243         * simplify-rtx.c (simplify_subreg): Allow volatile memory
244         to be subregged in case we don't have move instruction.
245
246 Tue Jun 12 12:20:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
247
248         * loop.c: Include predict.h
249         (strength_reduce): Drop branch prediction note in case
250         number of iterations is known.
251         * predict.def (PRED_LOOP_ITERATIONS): new.
252         * Makefile.in (loop.o): Add dependancy on predict.h
253
254 2001-06-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
255
256         * c-decl.c (grokdeclarator): Use INTEGRAL_TYPE_P.
257
258         * c-typeck.c (c_start_case): Likewise.
259
260 2001-06-12  Mark Mitchell  <mark@codesourcery.com>
261
262         * expr.c (store_field): Don't set MEM_ALIAS_SET for a field
263         in a structure at a variable address.
264
265 2001-06-12  Joseph S. Myers  <jsm28@cam.ac.uk>
266
267         * doc/gcov.texi: Use more logical markup.
268
269 2001-06-11  Mark Mitchell  <mark@codesourcery.com>
270
271         * unroll.c (initial_reg_note_copy): Use PUT_REG_NOTE_KIND and
272         REG_NOTE_KIND, not PUT_MODE and GET_MODE.
273         (final_reg_note_copy): Remove REG_WAS_0 notes that are no longer
274         valid.
275
276 2001-06-11  Stan Shebs  <shebs@apple.com>
277
278         * darwin.h (ASM_FILE_END): Remove decl of language_string.
279
280 2001-06-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
281
282         * config/m68hc11/m68hc11.md ("*lshrdi3_const32"): Mark the clobber 
283         as an early clobber to make sure it is not used by reload in 
284         one of the operands.
285
286 2001-06-11  Mark Mitchell  <mark@codesourcery.com>
287
288         * doc/c-tree.texi: Update information about flag_honor_std.
289         * doc/install.texi: Note that binutils is required on HPUX 11.
290         * doc/invoke.texi (-fhonor-std): Note that -fno-honor-std is
291         now the default.
292
293         * config/mips/abi64.h (RETURN_IN_MEMORY): Fix handling of
294         variable-sized types.
295
296 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
297
298         * doc/md.texi: Use TeX dashes and quotes.
299
300 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
301
302         * doc/rtl.texi: Reference manual chapter about trees.
303
304 2001-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
305
306         * config/mips/iris6.h (NO_BUILTIN_WINT_TYPE): Define.
307         (WINT_TYPE): Override.
308         (WINT_TYPE_SIZE): Likewise.
309         (SUBTARGET_CPP_SIZE_SPEC): Define __WINT_TYPE__ as appropriate.
310
311         * config/sparc/sol2.h (WINT_TYPE): Define.
312         (WINT_TYPE_SIZE): Likewise.
313
314         * config/sparc/sol2-sld-64.h (NO_BUILTIN_WINT_TYPE): Define.
315         (WINT_TYPE): Override.
316         (WINT_TYPE_SIZE): Likewise.
317         (CPP_ARCH32_SPEC): Add __WINT_TYPE__ definition.
318         (CPP_ARCH64_SPEC): Likewise.
319
320 2001-06-11  Richard Henderson  <rth@redhat.com>
321
322         * unwind-dw2-fde.c (__deregister_frame_info): Don't play games
323         with alias attribute.
324
325         * config/linux.h (CPLUSPLUS_CPP_SPEC): Use %(cpp) not $(cpp_cpu).
326         * config/alpha/linux.h (CPLUSPLUS_CPP_SPEC): Likewise.
327
328 2001-06-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
329
330         * config/rs6000/linux.h (CPLUSPLUS_CPP_SPEC): New.
331
332 2001-06-11  Stan Shebs  <shebs@apple.com>
333
334         * darwin.c (darwin_encode_section_info):  Rewrite to simplify
335         and fix coding mistakes.
336
337 2001-06-11  Nick Clifton  <nickc@cambridge.redhat.com>
338
339         * config/m32r/m32r.md (movstrsi_internal): Do not expect a
340         return string from m32r_output_block_move.
341         * config/m32r/m32r-protos.h: Make m32r_output_block_move a
342         void function.
343         * config/m32r/m32r.h (INT32_P): Rename to UNIT32_P and remove
344         integer overflow.
345         (ROUND_ADVANCE): Remove signed/unsigned conflict.
346         * config/m32r/m32r.c: Declare prototypes for static functions.
347         (move_src_operand): Replace INT32_P with UINT32_P.
348         (function_arg_partial_nregs): Fixed signed/unsigned conflict
349         in initialisation of 'size'.
350         (m32r_sched_reord): Remove redundant declarations of 'code'.
351         (m32r_output_block_move): Change to a void function.
352         (m32r_encode_section_info): Cast return of
353         TREE_STRING_POINTER to avoid compile time warning.
354
355 2001-06-11  Richard Henderson  <rth@redhat.com>
356
357         * config/alpha/osf5.h (TARGET_LD_BUGGY_LDGP): New.
358         * config/alpha/alpha.h (TARGET_LD_BUGGY_LDGP): Default.
359         (struct machine_function): Add gp_save_rtx.
360         * config/alpha/alpha.c (alpha_mark_machine_status): Mark it.
361         (alpha_gp_save_rtx): New.
362         * config/alpha/alpha-protos.h: Declare it.
363         * config/alpha/alpha.md (exception_receiver): Make an expander.
364         Use alpha_gp_save_rtx if TARGET_LD_BUGGY_LDGP.
365
366 2001-06-11  Richard Henderson  <rth@redhat.com>
367
368         * config/alpha/osf.h (LINK_SPEC): Hide _GLOBAL_* symbols.
369
370 2001-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
371
372         * configure.in: Align --help messages.
373         Remove trailing full stops.
374         Consistently use lower case.
375         Fix DWARF 2 spelling.   
376         * configure: Rebuilt.
377
378 2001-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
379
380         * config/alpha/alpha.h (CPP_SPEC): Don't define __LANGUAGE_C and
381         variants for .cpp/.cp/.c++ files. 
382         Move definition of __LANGUAGE_C_PLUS_PLUS ...
383         (CPLUSPLUS_CPP_SPEC): ... here.
384
385 Mon Jun 11 15:47:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
386
387         * jump.c (duplicate_loop_exit_test): Fix loop header heuristics.
388
389 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
390
391         * c-decl.c (store_parm_decls): When comparing types in an
392         old-style function declaration with those from a previous
393         prototype, compare the unqualified versions of parameter types.
394         Fixes PR c/3116.
395
396 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
397
398         * doc/objc.texi: Use more logical markup.  Use TeX dashes.
399
400 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
401
402         * doc/c-tree.texi: Use more logical markup.
403
404 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
405
406         * c-decl.c (xref_tag): Don't return previous tags of wrong type.
407
408 2001-06-11  Aldy Hernandez  <aldyh@redhat.com>
409
410         * loop.c (scan_loop): Do not combine asm statements.
411
412 2001-06-11  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
413
414         * simplify-rtx.c (simplify_subreg): Fix offset calculation
415         for complex values within a CONCAT.
416
417 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
418
419         * doc/install.texi: Update details of what components are included
420         in the GCC distribution.  Update default directory for g++
421         includes.  Update documentation relating to old libio.  Adjust
422         documentation on DejaGnu environment variables.  Remove
423         documentation of --enable-cpplib.
424
425 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
426
427         * doc/contrib.texi: Fix alphabetical order.  Fix typos.  Improve
428         markup.
429
430 2001-06-10  Richard Henderson  <rth@redhat.com>
431
432         * ifcvt.c (life_data_ok): New.
433         (merge_if_block): Use it to determine whether to update
434         global_live_at_end.
435         (if_convert): Set it.
436
437 2001-06-10  Richard Henderson  <rth@redhat.com>
438
439         * config/alpha/osf5.h (ASM_OLDAS_SPEC): Add -c.
440
441 2001-06-10  Alexandre Oliva  <aoliva@redhat.com>
442
443         * doc/invoke.texi (MN10300 Options): Document -mno-crt0.
444         (SH Options): Document -mieee.
445         * doc/install.texi (Final install): Remove obsolete information
446         about installing cross compilers.
447         * doc/gcc.1: Rebuilt.
448
449 2001-06-10  Richard Henderson  <rth@redhat.com>
450
451         * config/alpha/alpha.c (override_options): Set align_loops,
452         align_jumps, and align_functions.
453         * config/alpha/alpha.h (FUNCTION_BOUNDARY): Set to 32 bits.
454         (LOOP_ALIGN, LABEL_ALIGN_AFTER_BARRIER): Remove.  
455
456 2001-06-11  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
457
458         * emit-rtl.c (gen_lowpart_common): Do not assume that SFmode and DFmode
459         are one and two words in size.
460
461 2001-06-10  Richard Henderson  <rth@redhat.com>
462
463         * doc/invoke.texi (Optimization Options): Document -fpeephole2.
464         (Code Generation Options): Document -fnon-call-exceptions.
465
466 2001-06-10  Mark Kettenis  <kettenis@gnu.org>
467
468         * config/i386/gnu.h (MD_FALLBACK_FRAME_STATE_FOR): Undefine.
469
470 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
471
472         * m68hc11.md (peepholes): Remove unused and wrong peepholes.
473
474 2001-06-10  Mark Mitchell <mark@codesourcery.com>
475             Gabriel Dos Reis  <gdr@codesourcery.com>
476
477         * Makefile.in (c-parse.o): Depend on diagnostic.h
478         (dwarf2out.o): Likewise.
479
480         * dwarf2out.c: #include diagnostic.h
481
482         * toplev.h (warningcount, errorcount, sorrycount): Remove
483         declarations. 
484
485         * toplev.c (warningcount, errorcount, sorrycount): Remove
486         definitions. 
487
488         * diagnostic.h (struct output_buffer): Reorder fields.
489         (diagnostic_kind_count): New macro.     
490         (errorcount, warningcount, sorrycount): Define as macros.
491         (diagnostic_report_warnings_p): New macro.
492         (output_state): Add diagnostic_count field.
493
494         * diagnostic.c (warningcount, errorcount, inhibit_warnings):
495         Remove tentative declaration.
496         (count_error): Use diagnostic_report_warnings_p.
497
498         * c-parse.in: #include diagnostic.h
499
500 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
501
502         * config/m68hc11/m68hc11.md ("extendhisi2"): Fix constraints to
503         prefer a memory for operand 1.
504         ("*addsi3"): Fix constraints, the '!' was too strong.
505         ("*addsi3_split"): Accept soft register and split accordingly.
506
507 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
508
509         * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline): 
510         Move definition in the RTX_CODE section.
511
512 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
513
514         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Define the return 
515         address as relative to the argument pointer.
516
517 Sun Jun 10 10:58:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
518
519         * predict.def (PRED_OPCODE): Place before call and error_return.
520
521 Sun Jun 10 10:00:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
522
523         * predict.def (PRED_CALL, PRED_ERROR_RETURN): New.
524         * predict.c (estimate_probability): Calculate dominance
525         information; improve detection of NORETURN heuristics;
526         add call/error_return heuiristics; tweak comparison heuristics
527         to recognize -1.
528
529 2001-06-09  Alexandre Oliva  <aoliva@redhat.com>
530
531         * doc/invoke.texi (C Dialect Options): Document -aux-info.
532         (Debugging Options): Document -print-multi-directory and
533         -print-multi-lib.
534         * doc/gcc.1: Rebuilt.
535
536         * toplev.c (independent_decode_option): Require `=' between
537         `-aux-info' and filename in the same argument.
538         * gcc.c: Don't pass -aux-info=filename twice.
539
540 2001-06-09  Mark Mitchell  <mark@codesourcery.com>
541
542         * expr.c (expand_expr, case ARRAY_REF): Do not replace
543         an array element with the known initializing value if it has
544         side-effects.
545
546         * toplev.c (rest_of_compilation): Remove dead code before
547         purge_addressof.
548         
549 2001-06-09  Neil Booth  <neil@daikokuya.demon.co.uk>
550
551         * cppinit.c (print_help): Document -fpreprocessed.
552         * invoke.texi: Similarly.
553
554 Sun Jun 10 00:35:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
555
556         * predict.def: New file.
557         * predict.h: New file.
558         * predict.c: Include predict.h.
559         (predictor_info): New structure and array.
560         (predict_edge, predict_insn): Rewrite; make global.
561         (predict_edge_def, predict_insn_def): New global functions.
562         (dump_prediction, combine_predictions_for_insns): New
563         static functions.
564         (estimate_probability): Change calls to predict_edge
565         to predict_edge_def and calls to predict_insn to predict_insn_def;
566         combine probabilities.
567         (expected_value_to_br_prob): Behave as predictor.
568         * rtl.h (REG_BR_PRED): Update coment.
569         (invert_br_probabilities): New.
570         * jump.c: Include predict.h
571         (duplicate_loop_exit_test): Drop branch prediction notes.
572         (invert_jump): Use invert_br_probabilities.
573         * Makefile.in: Add dependancy on predict.h for jump and predict pass.
574         * ifcvt.c (dead_or_predicable): Use invert_br_probabilities.
575         * combine.c (distribute_notes): Handle BR_PRED.
576
577 Sat Jun  9 23:29:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
578
579         * predict.c (predict_insn, predict_edge): New static functions.
580         (estimate_probability): Revamp to use new functions;
581         fix loop header heruistics; add loop exist heruistics
582
583 2001-06-09  Alexandre Oliva  <aoliva@redhat.com>
584
585         * config.gcc: Re-enable bi-arch sparc on Solaris 7 and above.
586
587 2001-06-09  Peter Jakubek <pjak@snafu.de>
588
589         * config/m68k/m68k.md (ashrdi_const): Fix right shift by 16.
590
591 2001-06-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
592
593         * vax.h (NOTICE_UPDATE_CC): Set CC_NO_OVERFLOW in cc_status.flags
594         for integer operations that don't update C bit.
595
596 2001-06-09  Nicola Pero <nicola@brainstorm.co.uk>
597
598         * gthr-posix.h (__gthread_objc_init_thread_system): If
599         pthread_key_create fails, it's not clear what the return value is.
600         This obvious fix makes sure it always returns -1 if a problem
601         occurs.
602
603 2001-06-09  Joseph S. Myers  <jsm28@cam.ac.uk>
604
605         * doc/gcc.texi: Use @defcodeindex for the index of options.  Add
606         more index entries.  Use more logical markup where appropriate.
607         Use TeX quotes and dashes.
608
609 2001-06-09  Benjamin Kosnik  <bkoz@redhat.com>
610
611         * unwind-pe.h: Conditionally qualify references to abort with
612         std::.
613
614 2001-06-09  Julian Foad <julian_foad@hotmail.com>
615
616         * doc/invoke.texi: Remove superfluous text.
617
618 2001-06-08  Richard Henderson  <rth@redhat.com>
619
620         * config/alpha/linux.h (CPLUSPLUS_CPP_SPEC): New.
621         (LIB_SPEC): Mirror config/linux.h version.
622
623 2001-06-08  Richard Henderson  <rth@redhat.com>
624
625         * except.c (get_exception_pointer, get_exception_filter): Take a
626         struct function.  Update all callers.
627         * except.h (get_exception_pointer): Update declaration.
628         * expr.c (expand_expr): Update get_exception_pointer call.
629         * integrate.c (expand_inline_function): Remap the exception pointer
630         from callee to caller.
631
632 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
633
634         * c-decl.c (grokdeclarator): Make the TREE_TYPE for declarations
635         accurately reflect its cv-qualification.
636         * c-typeck.c (type_lists_compatible_p): Ignore the top-levl
637         cv-qualifiers on function types.
638
639 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
640
641         * basic-block.h: Improve comments.
642         * except.c (expand_eh_region_end_allowed): Remove redundant call
643         to do_pending_stack_adjust.
644         * flow.c (life_analysis): Fix typo in comment.
645         (calculate_global_regs_live): Add documentation.
646         (mark_set_1): Likewise.
647         (debug_regset): Likewise.
648         * doc/rtl.texi (cond_exec): Document it.
649
650 Fri Jun  8 21:52:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
651
652         * i386.h (CONST_COSTS): set cost of constants representable in
653         immediate fields to 0.
654
655 Fri Jun  8 21:34:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
656
657         * function.c (diddle_return_value): Kill code to determine
658         return value before expand_function_end.
659         (expand_function_end): Delay call to clobber_return_register
660         after fucntion return value is computed.
661
662         Re-install temporary reverted patch:
663         * toplev.c (rest_of_compilation): Call split_all_insns
664         before reg-stack and shorten-branches. Do shorten-branches
665         after reg-stack.
666         * final.c (shorten_branches): Remove insn splitting code.
667
668 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
669
670         * doc/gcc.texi, doc/invoke.texi: Add index of command line
671         options.  Use @opindex to index them rather than other indexing
672         commands.  Use @var{...} instead of <...>.  Avoid spaces in names
673         inside @var.  Don't use @kindex to index escape sequences in
674         source code.
675
676 2001-06-08  Jason Merrill  <jason_merrill@redhat.com>
677
678         * stmt.c (current_nesting_level): New fn.
679         * tree.h: Declare it.
680         * c-semantics.c (genrtl_compound_stmt): Use it.
681
682         * dbxout.c (dbxout_symbol): Use DECL_RTL_SET_P.
683
684 2001-06-08  Jakub Jelinek  <jakub@redhat.com>
685
686         * jump.c (mark_modified_reg): Allow jump threading if condition
687         codes are represented by a hard register.
688
689 2001-06-08  Jakub Jelinek  <jakub@redhat.com>
690
691         * config/ia64/ia64.c (ia64_function_arg): Use [SDT]Fmode as gr_mode
692         for complex floats passed to unprototyped functions.
693
694 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
695
696         * except.c (expand_eh_region_end_allowed): Call
697         do_pending_stack_adjust as necessary.
698
699 Fri Jun  8 14:16:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
700
701         * function.c (clobber_return_register): Clobber the pseudo return
702         register too.
703
704         * sibcall.c (skip_unreturned_value): New function.
705         (call_ends_block_p): Use it.
706
707         * recog.c (split_insn): Break out from ...
708         (split_all_insns): ... here; do not use basic block information
709         when it is broken.
710
711 Thu Jun  7 18:27:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
712
713         * simplify-rtx.c (simplify_subreg):  Fix verification of
714         combined subreg.
715
716 2001-06-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
717
718         * config/mips/mips.h (CPP_SPEC): Simplify .s/.S handling.
719         Don't define _LANGUAGE_C and variants for .cpp/.cp/.c++ files.
720         Move definition of _LANGUAGE_C_PLUS_PLUS ...
721         (CPLUSPLUS_CPP_SPEC): ... here.
722         Fixes PRs c++/3047, target/441.
723
724 2001-06-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
725
726         * doc/install.texi2html (MAKEINFO): Keep value if set already.
727
728 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
729
730         * doc/gcc.texi: Add trailing slash to URL.
731
732 2001-06-07  Stan Shebs  <shebs@apple.com>
733
734         * config/darwin.h (ENCODE_SECTION_INFO): Define.
735         (REDO_SECTION_INFO_P): Ditto.
736         (STRIP_NAME_ENCODING): Ditto.
737         (ASM_DECLARE_OBJECT_NAME): Use ENCODE_SECTION_INFO.
738         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Ditto.
739         (ASM_OUTPUT_LABELREF): Use STRIP_NAME_ENCODING.
740         (GEN_LAZY_PTR_NAME_FOR_SYMBOL): Ditto.
741         * config/darwin.c: No longer include c-tree.h.
742         (machopic_classify_ident): Rewrite to use symbol encoding.
743         (lookup_name_darwin): Remove.
744         (machopic_non_lazy_ptr_name): Handle encoded symbols.
745         (machopic_stub_name): Use STRIP_NAME_ENCODING.
746         (machopic_validate_stub_or_non_lazy_ptr): Ditto.
747         (machopic_finish): Ditto, remove test of decl.
748         (update_non_lazy_ptrs): New function.
749         (darwin_encode_section_info): New function.
750         * config/darwin-protos.h: Declare it.
751         * config/rs6000/rs6000.c (machopic_output_stub): Use
752         STRIP_NAME_ENCODING.
753         
754 2001-06-07  Mark Mitchell  <mark@codesourcery.com>
755
756         * tree.h (DECL_SOURCE_FILE): Improve documentation.
757         (DECL_SOURCE_LINE): Likewise.
758
759 2001-06-07  Loren J. Rittle  <ljrittle@acm.org>
760
761         * config/alpha/elf.h (MAKE_DECL_ONE_ONLY): Copy definition
762         from config/elfos.h.
763
764 2001-06-07  Phil Edwards  <pme@sources.redhat.com>
765
766         * linux.h (CPLUSPLUS_CPP_SPEC):  Move -D_GNU_SOURCE to here.
767         * pa/pa-linux.h:  Allow CPLUSPLUS_CPP_SPEC to remain.
768
769 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
770
771         * doc/contrib.texi: Add copyright notice.
772
773 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
774
775         * doc/md.texi: Use four digit years in copyright notice.
776
777 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
778
779         * config.gcc: For $target_alias of athlon-*, set
780         target_cpu_default2=5.
781
782 Thu Jun  7 16:17:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
783
784         * global.c (build_insn_chain): Allow ADDR_VEC or ADDR_DIF_VEC after
785         end of last block if last real insn is a JUMP_INSN.
786
787 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
788
789         * NEWS: Regenerate.
790
791 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
792
793         * gthr-posix.h (__gthread_objc_thread_detach): Simply cast
794         pthread_t to objc_thread_t.
795         (__gthread_objc_thread_id): Likewise.
796
797 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
798
799         * alpha/osf5.h (CPP_XFLOAT_SPEC): Override default definition.
800         (ASM_OLDAS_SPEC): Likewise.
801
802         * alpha/osf.h (CPP_XFLOAT_SPEC): Define.
803         (CPP_SUBTARGET_SPEC): Use it.
804         (ASM_OLDAS_SPEC): Define.
805         (ASM_SPEC): Use it.
806         (SUBTARGET_EXTRA_SPECS): Define, declare the new specs above.
807
808 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
809
810         * config/alpha/alpha.c (alpha_va_arg): Handle TFmode, TCmode args,
811         passed by reference.
812
813 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
814
815         * doc/tm.texi (TARGET_SWITCHES, TARGET_OPTIONS): Adjust markup.
816         Document use of N_(...), and show it in examples.  Note that
817         documentation should be added to invoke.texi.  Avoid an overfull
818         hbox.
819
820 Thu Jun  7 17:09:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
821
822         * toplev.c (rest_of_compilation): Revert previous patch.
823         * final.c (shorten_branches): Likewise.
824
825 2001-06-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
826
827         * pself.c, pself1.c, pself2.c, pself3.c, pself4.c, pself5.c:
828         Remove.
829
830 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
831
832         * doc/install-old.texi: Remove more obsolete documentation.
833
834 Thu Jun  7 13:20:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
835
836         * expr.c (copy_blkmode_from_reg): Fix operand_subword_force call.
837
838 Thu Jun  7 12:12:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
839
840         * toplev.c (rest_of_compilation): Call split_all_insns
841         before reg-stack and shorten-branches. Do shorten-branches
842         after reg-stack.
843         * final.c (shorten_branches): Remove insn splitting code.
844
845 2001-06-07  Nathan Sidwell  <nathan@codesourcery.com>
846
847         * configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support.
848         * configure: Rebuilt.
849
850 2001-06-07  Andreas Jaeger  <aj@suse.de>
851
852         * emit-rtl.c (operand_subword): Remove unused variable.
853
854 Wed Jun  6 14:51:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
855
856         * i386.md (floatdi?f): Avoid usinf of SSE instructions
857         if TARGET_64BIT is false.
858         (floatdi?f_i386_only): New insn.
859         (floatdi?f_i386): Disable for !TARGET_64BIT.
860
861         * (min?f, max?f splitters): Handle case where
862         operands are cross-matched.
863
864         * i386.h (HI_REGISTER_NAMES): Remove redundant definition
865         (MMX_REGISTER_NAMES): Kill.
866         (PRINT_OPERAND): Fix comment.
867         (PRINT_REG): Likewise.
868         * i386.c (print_reg): Kill support for 'm' CODE; simplify.
869         (print_operand): Update comment; kill 'm'.
870
871         * i386.c (x86_branch_hints): New global variable
872         (print_operand): Support outputting of branch prediction hints.
873         * i386.md (conditional jump patterns): Add branch prediction hints
874         to the template.
875         * i386.h (x86_branch_hints): Declare
876         (TARGET_BRANCH_PREDICTION_HINTS): New macro.
877         (PRINT_OPERAND_FUNCT_VALID_P): New.
878         * final.c (final_forward_branch_p): New function.
879
880 2001-06-06  Richard Henderson  <rth@redhat.com>
881
882         * flow.c (mark_used_reg): Clean up looping over multiple hard
883         registers.  Do conditional life bits across multiple hard regs.
884
885 2001-06-05  Jeffrey D. Oldham  <oldham@codesourcery.com>
886
887         * reload1.c (reload): Revert Schmidt's change so all USEs are not
888         deleted during reload.
889
890 2001-06-05  Mark Mitchell  <mark@codesourcery.com>
891
892         * c-semantics.c (genrtl_scope_stmt): Write out nested inline
893         functions here, instead of ...
894         * c-decl.c (c_expand_body): ... here.
895
896 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
897
898         * config.gcc, config/sparc/bsd.h:  Do not directly include
899         sparc/sparc.h.  Instead do it via tm_file.
900
901 2001-06-05  Richard Henderson  <rth@redhat.com>
902
903         * dwarf2.h (DW_EH_PE_aligned): New.
904         * dwarf2asm.c (eh_data_format_name): Name it.
905         (dw2_asm_output_encoded_addr_rtx): Align for it.
906         * dwarf2out.c (output_call_frame_info): Handle it for personality
907         routine and LSDA pointers.
908
909         * unwind-pe.h (DW_EH_PE_aligned): New.
910         (base_of_encoded_value): Handle it.
911         (read_encoded_value_with_base): Likewise.
912         * unwind-dw2-fde.c (base_from_object): Likewise.
913         (get_cie_encoding): Likewise.
914
915         * config/alpha/elf.h: Remove ecoff commentary.
916         * config/alpha/osf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
917
918 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
919
920         * config.gcc, config/i386/bsd386.h:  Do not directly include
921         i386/386bsd.h.  Instead do it via tm_file.
922
923 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
924
925         * elfos.h (USING_ELFOS_H):  Identify the use of elfos.h in the same
926         way svr4.h does.
927
928 2001-06-05  Pascal Obry  <obry@act-europe.fr>
929
930         * configure.in: Quote $enable_win32_registry in case the value has
931         spaces in it.
932         * configure: Ditto.
933
934 2001-06-05  Mark Mitchell  <mark@codesourcery.com>
935
936         * print-rtl.c (xspaces): Remove.
937         (print_rtx): Use printf field-width, rather than xpsaces, to
938         indent.
939         * toplev.c (main): Disable sibling-call optimization if we are
940         handling exceptions.
941         
942 2001-06-05  Bernd Schmidt  <bernds@redhat.com>
943
944         * reload1.c (reload): Delete all USEs generated during reload.
945
946 2001-06-05  scott snyder  <snyder@fnal.gov>
947
948         * gccbug.in:  Fix typo.
949
950 2001-06-05  Andreas Jaeger  <aj@suse.de>
951
952         * builtins.def: Fix definition of __builtin_cosf, it uses float as
953         parameter and return value.
954
955 2001-06-04  Anthony Green  <green@redhat.com>
956
957         * config/sparc/elf.h (CPP_PREDEFINES): Don't assert cpu or
958         machine.  This is now done in sparc.h.
959
960 2001-06-05  Nathan Sidwell  <nathan@codesourcery.com>
961
962         Correct CVS resurrection of invoke.texi.
963         * doc/invoke.texi: Document new tree dump flags.
964
965 2001-06-05  Joseph S. Myers  <jsm28@cam.ac.uk>
966
967         * c-typeck.c (build_c_cast): Use TYPE_MAIN_VARIANT when checking
968         for casting an aggregate to its own type.  Fixes PR c/2735.
969
970 2001-06-05  Joseph S. Myers  <jsm28@cam.ac.uk>
971
972         * doc/texinfo.tex: Update to version 2001-05-24.08.
973
974 2001-06-05  Nathan Sidwell  <nathan@codesourcery.com>
975
976         * c-common.h (flag_dump_translation_unit): Remove.
977         (enum tree_dump_index): Define.
978         (TDF_ADDRESS, TDF_SLIM): New #defines.
979         (dump_node_to_file): Remove.
980         (dump_node): Make extern. Add flags.
981         (dump_flag, dump_enabled_p, dump_begin, dump_end,
982         dump_switch_p): Prototype.
983         * c-common.c (flag_dump_translation_unit): Remove.
984         * c-decl.c (c_decode_option): Remove -fdump-translation-unit
985         logic. Use dump_switch_p.
986         * c-dump.h (struct dump_info): Add node and user fields.
987         (dump_pointer): Declare.
988         * c-dump.c (dump_node): Make extern. Add flags.
989         (SOL_COLUMN, EOL_COLUMN, COLUMN_ALIGNMENT): New #defines.
990         (dump_new_line, dump_maybe_newline): Use them.
991         (dump_pointer): New function.
992         (dequeue_and_dump): Check TDF_SLIM before dumping a _DECL's
993         chain or function's body. Dump address, if TDF_ADDRESS set.
994         (dump_flag): Define.
995         (dump_node_to_file): Remove.
996         (struct dump_file_info): New struct.
997         (dump_files): New array.
998         (dump_begin, dump_end, dump_enabled_p, dump_switch_p): Define.
999         * c-lang.c (finish_file): Adjust dumping.
1000         * toplev.h (dump_base_name): Make extern.
1001         * invoke.texi: Document new flags.
1002
1003 2001-06-04  Mark Mitchell  <mark@codesourcery.com>
1004
1005         * c-tree.h (lang_decl): Add pending_sizes fields.
1006         * c-decl.c (store_parm_decls): Save pending_sizes away for nested
1007         functions.
1008         (c_expand_body): Expand them.
1009         (lang_mark_tree): Mark lang_decl:pending_sizes.
1010         * function.c (expand_pending_sizes): New function, broken out
1011         from ...
1012         (expand_function_start): ... here.
1013         * tree.h (expand_pending_sizes): Declare it.
1014
1015 2001-06-04  Loren J. Rittle  <ljrittle@acm.org>
1016
1017         * doc/install.texi: Update FreeBSD information.  Generalize
1018         and update information for alpha-based platforms using ELF.
1019
1020 2001-06-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1021
1022         * c-decl.c (get_parm_info): Use INTEGRAL_TYPE_P.
1023         (store_parm_decls): Likewise.
1024         * c-typeck.c (convert_arguments): Likewise.
1025
1026 2001-06-04  Richard Henderson  <rth@redhat.com>
1027
1028         * sibcall.c (optimize_sibling_and_tail_recursive_call): Suppress
1029         optimization if current_function_calls_setjmp.
1030
1031 2001-06-04  Joseph S. Myers  <jsm28@cam.ac.uk>
1032
1033         * doc/c-tree.texi: Fix documentation of TREE_STRING_LENGTH for
1034         wide strings.
1035
1036 Mon Jun  4 20:44:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
1037
1038         * simplify-rtx.c (simplify_subreg): Fix combining of
1039         paradoxical subregs.
1040
1041 Mon Jun  4 20:15:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
1042
1043         * rtlanal.c (rtx_unsable_p): ADDRESSOF is stable.
1044         (no_labels_between_p): Short circuit case beg==end.
1045
1046 Mon Jun  4 20:03:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
1047
1048         * rtlanal.c (operand_preference): Fix preference for objects.
1049
1050 Mon Jun  4 20:00:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
1051
1052         * gcse.c (handle_avail_expr): Be prepared to handle single_set
1053         parallels.
1054
1055 Mon Jun  4 19:59:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
1056
1057         * combine.c (if_then_else_cond): Use simplify_subreg instead
1058         of operand_subword.
1059         * integreate.c (sub_constants): Likewise.
1060
1061 Mon Jun  4 19:59:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
1062
1063         * emit-rtl.c (constant_subword): Deprecate; remove most of code
1064         and use simplify_gen_subreg.
1065
1066 Mon Jun  4 19:55:23 CEST 2001  Lars Brinkhoff  <lars@nocrew.org>
1067
1068         * sibcall.c (skip_copy_to_return_value): recognize the situation
1069         when the called function's return value is copied into an
1070         intermediate pseudo, and then into the calling functions return
1071         value register.
1072
1073 Mon Jun  4 16:50:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
1074
1075         * simplify_rtx.c (simplify_subreg): Keep subregs on return values,
1076         check CLASS_CANNOT_CHANGE_MODE before avoiding subreg on hard reg,
1077         in case register wasn't OK previously, accept it now; allow
1078         subregs of frame pointer if reload completed and frame pointer
1079         is not needed.
1080
1081         * combine.c (sombine_simplify_rtx): Fix comment;
1082         use subreg_lowpart_offset instead of subreg_lowpart_p
1083         (gen_lowpart_for_combine): Use subreg_lowpart_offset.
1084         * rtl.h (subreg_lowpart_parts_p): Kill.
1085         (subreg_lowpart_offset, subreg_highpart_offset): Declare.
1086         * simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset.
1087         * emit-rtl.c (gen_lowpart_SUBREG): Use subreg_lowpart_offset;
1088         (gen_lowpart_common): Likewise.
1089         (subreg_lowpart_p): Likewise.
1090         (subreg_lowpart_parts_p): Kill.
1091         (subreg_lowpart_offset, subreg_highpart_offset): New function.
1092
1093         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
1094         to simplify SUBREG and REG.
1095         (gen_highpart): Use simplify_gen_subreg for all simplifications.
1096
1097         * emit-rtl.c (gen_realpart, gen_imagpart): Do not handle
1098         CONCAT specially.
1099
1100         * rtlanal.c (replace_regs):  Use simplify_gen_subreg
1101
1102 Mon Jun  4 09:21:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1103
1104         * doc/c-tree.texi (ARRAY_REF): Say what type of expression must be.
1105         (ARRAY_RANGE_REF): Added description.
1106
1107         * tree.def (ARRAY_RANGE_REF): New code.
1108         * alias.c (handled_component_p, can_address_p): Handle it.
1109         * dwarf2out.c (loc_descriptor_from_tree): Likewise.
1110         * explow.c (set_mem_attributes): Likewise.
1111         * expr.c (expand_assignment, get_inner_reference): Likewise.
1112         (expand_expr, expand_expr_unaligned, do_jump): Likewise.
1113         * fold-const.c (operand_equal_p): Likewise.
1114         * tree.c (staticp, stabilize_reference): Likewise.
1115         * varasm.c (decode_addr_const): Likewise.
1116
1117 Sun Jun  3 21:59:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1118
1119         * reload.c (reload_inner_reg_of_subreg): Return 1 for PLUS.
1120         (push_reload): Handle non-REG in reload_inner_reg_of_subreg case.
1121
1122 2001-06-03  kaz Kojima  <kkojima@rr.iij4u.or.jp>
1123
1124         * gcc/config/sh/sh.c (print_operand_address, print_operand): Call
1125         mark_constant_pool_use before output_addr_const.
1126         (struct pool_node): New field wend.
1127         (add_constant): Note a sequence of constants that are referenced
1128         by a given label.
1129         (pool_window_label, pool_window_last): New variables.
1130         (dump_table): Emit a unspec_volatile representing the end of a
1131         sequence of constants.
1132         (mark_constant_pool_use): New function.
1133         * gcc/config/sh/sh.md (UNSPECV_WINDOW_END): New constant.
1134         (consttable_2): Add the second operand which flags whether
1135         this consttable entry was used or not.
1136         (consttable_4, consttable_8, consttable_sf, consttable_df):
1137         Likewise.
1138         (consttable_window_end): New insn.
1139
1140 2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
1141
1142         * insn-addr.h (INSN_ADDRESSES_NEW): Make insn_uid__ unsigned.
1143         Reformat according to coding standards.
1144
1145         Warning removal.
1146         * config/sh/sh.c (print_operand_address): Cast INTVAL to int.
1147         (shl_and_kind): Cast wide constant.
1148         (gen_far_branch): Define as static, as in declaration.
1149         (barrier_align): Compute cache-line length as unsigned.  Add
1150         parentheses in initial credit computation.
1151         (rounded_frame_size): Add parentheses.
1152         (permanent_obstack): Remove declaration.  Include ggc.h for
1153         declaration of ggc_add_root_rtx().
1154         (get_free_reg): Removed declaration of unused variable reg.
1155         (legitimize_pic_address): Mark mode argument as unused.
1156
1157 2001-06-03  Igor Shevlyakov  <igor@windriver.com>
1158
1159         * config/sh/sh.c (output_branch): Support for insn with lenght
1160         attr 12 & 16 which represents cond branches outside +-4096 range.
1161
1162 2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
1163
1164         * config/sh/lib1funcs.asm (ic_invalidate): Align the
1165         cache-mirroring sequence.  Add nops.
1166
1167 2001-06-03  Joseph S. Myers  <jsm28@cam.ac.uk>
1168
1169         * doc/install-old.texi: Remove more old installation
1170         documentation.
1171         * doc/install.texi: Add relevant parts here.
1172
1173 2001-06-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1174
1175         * doc/install.texi2html: New script.
1176
1177 2001-06-03  David Edelsohn  <edelsohn@gnu.org>
1178
1179         * doc/install.texi: Update AIX information again.
1180
1181 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
1182
1183         * doc/gcc.texi, doc/install-old.texi: Remove old system-specific
1184         installation documentation.
1185         * doc/install.texi: Move it to here.
1186
1187 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
1188
1189         * doc/install.texi: Clean up Texinfo markup.
1190
1191 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
1192
1193         * doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi: Move contents
1194         to just after title page.
1195
1196 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
1197
1198         * doc/install-old.texi: Remove documentation of some configuration
1199         options.
1200         * doc/install.texi: Add relevant parts of this documentation here.
1201
1202 2001-06-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1203
1204         * contrib.texi: Updated entries for Mark Mitchell, Joseph S. Myers,
1205         Gerald Pfeifer, Bernd Schmidt, and Dean Wakerley.
1206
1207 Sat Jun  2 12:23:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
1208
1209         * i386.md (all uses of ext_register_operand): Make sure they are
1210         VOIDmode; replace all uses outside zero_extend.
1211         (and?i splitters): Use ext_register_operands.
1212         (test?i peep2): Remove ignored constraints.
1213         * i386.c (ext_register_operand): Check that operand is
1214         eighter pseudo or hard or 'Q' register.
1215
1216 Sat Jun  2 06:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1217
1218         * tree.h (struct record_layout_info_s): New field unpadded_align.
1219         (set_lang_adjust_rli): New declaration.
1220         * stor-layout.c (layout_decl): If DECL is packed, but at alignment
1221         it would have if not packed, do not downgrade DECL_ALIGN.
1222         (lang_adjust_rli, set_lang_adjust_rli): New.
1223         (start_record_layout): Initialize new field unpadded_align.
1224         (debug_rli): Display it.
1225         (place_union_field, place_field): Set it.
1226         (layout_type, case RECORD_TYPE): Call via lang_adjust_rli if set.
1227
1228         * print-tree.c (print_node): Don't print "regdecl" when bit doesn't
1229         mean that; use proper names instead.
1230         Print DECL_NO_STATIC_CHAIN.
1231
1232         * except.c (expand_builtin_frob_return_addr): Add missing call
1233         to convert_memory_address #ifdef POINTERS_EXTEND_UNSIGNED.
1234         (expand_builtin_eh_return): Likewise.
1235         (expand_eh_return): Clean up ptr_mode != Pmode cases.
1236
1237 2001-06-01  Jan van Male  <jan.vanmale@fenk.wau.nl>
1238
1239         * doc/invoke.texi: Remove references to papers about sequence points
1240         to readings.html, refer to that page.
1241
1242 2001-06-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1243
1244         * README: Update references to installation instructions.
1245
1246 2001-06-01  Laurent Guerby  <guerby@acm.org>
1247             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1248
1249         * doc/install.texi: Define srcdir when sources come from CVS.
1250         Significantly improve markup.  Wrap overly long lines
1251
1252 2001-06-01  DJ Delorie  <dj@redhat.com>
1253
1254         * c-tree.texi, contrib.texi, cpp.texi, cppinternals.texi,
1255         extend.texi, fdl.texi, gcov.texi, invoke.texi, md.texi,
1256         objc.texi, rtl.texi, tm.texi, texinfo.tex, gcc.1, cpp.1,
1257         gcov.1: Move to doc subdirectory.
1258         * install.texi: Move to doc/install-old.texi.
1259         * gcc.texi: Move to doc, refer to install-old.texi.
1260         * Makefile.in: Reflect move of docs to doc/.
1261         * f/Make-lang.in: Ditto.
1262         * java/Make-lang.in: Ditto.
1263         * doc/.cvsignore: New.
1264
1265 2001-05-31  Jan van Male  <jan.vanmale@fenk.wau.nl>
1266
1267         * invoke.texi: use two spaces between command options, eliminate
1268         some 'overfull hboxes'
1269
1270 2001-06-01  Hans-Peter Nilsson  <hp@axis.com>
1271
1272         * Makefile.in (s-mlib): Make backtick-commands always succeed.
1273         (DRIVER_DEFINES): Ditto.
1274
1275 2001-05-31  Richard Henderson  <rth@redhat.com>
1276
1277         * gcc.c (init_gcc_specs): When linking against libgcc_s.so,
1278         also link against libgcc.a.
1279
1280 2001-05-31  Geoff Keating  <geoffk@cygnus.com>
1281
1282         * config/mips/mips.h (ASM_OUTPUT_ASCII): Convert to function.
1283         * config/mips/mips.c (mips_output_ascii): New function.
1284         * config/mips/mips-protos.h (mips_output_ascii): Prototype.
1285
1286         * config/mips/mips.h (DWARF_CIE_DATA_ALIGNMENT): Force to 4.
1287
1288 Thu May 31 19:09:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
1289
1290         * flow.c (set_block_for_new_insns): Remove bogus shortcut.
1291         * i386.c (ix86_expand_int_movcc): Force one of operands to be register.
1292
1293 2001-05-31  Rodney Brown  <rbrown64@csc.com.au>
1294
1295         * install.texi (Configuration): Add html links for --with-gnu-as &
1296         --with-gnu-ld and refer to them from hppa & SCO triplets.
1297         (Specific): Link back to with-gnu-ld for all ELF platfoms.
1298         (Specific): Reword AVR binutils recommendation.
1299
1300 2001-05-30  Zack Weinberg  <zackw@stanford.edu>
1301
1302         * ggc-page.c (size_lookup): Increase minimum allocation size
1303         to eight bytes.
1304         (ggc_print_statistics): Report size of each bin in bytes, not
1305         as its order; there is no longer a direct relationship.
1306
1307 2001-05-31  Jan van Male  <jan.vanmale@fenk.wau.nl>
1308
1309         * extend.texi: Fix formating of examples, eliminate some
1310         'overfull hboxes'.
1311         * gcc.texi: Eliminate some 'overfull hboxes'.
1312         * invoke.texi: Use two spaces between command options, eliminate
1313         some 'overfull hboxes'.
1314
1315 2001-05-30  Richard Henderson  <rth@redhat.com>
1316
1317         * dwarf2out.c (dwarf2out_finish): Don't emit DW_AT_stmt_list at -g1.
1318
1319 2001-05-30  Tom Tromey  <tromey@redhat.com>
1320
1321         * gcc.c (do_spec_1): In `%O' case, if we computed saved_suffix,
1322         use it in the new association.
1323
1324 2001-05-30  Loren J. Rittle  <ljrittle@acm.org>
1325             John David Anglin  <dave@hiauly1.hia.nrc.ca>
1326
1327         * gthr-posix.h (__gthread_active_ptr): Cast function pointer
1328         to target type to allow ISO C++ compiler to accept it.
1329         * gthr-dce.h (__gthread_active_ptr): Likewise.
1330         * gthr-solaris.h (__gthread_active_ptr): Likewise.
1331
1332 2001-05-30  Neil Booth  <neil@daikokuya.demon.co.uk>
1333
1334         * cpplex.c (_cpp_lex_token): Revert patch of 16 May 2001
1335         so that we do accept comments in preprocessed input.
1336
1337 2001-05-30  Neil Booth  <neil@daikokuya.demon.co.uk>
1338
1339         * cpphash.c (alloc_node): Cast allocated pointer.
1340
1341 2001-05-30  Gordon Sadler <gbsadler1@lcisp.com>
1342
1343         * invoke.texi (Option Summary): Remove -isystem-c++ from options.
1344
1345 2001-05-29  Stan Shebs  <shebs@apple.com>
1346
1347         * gcc.texi: Add links for information about Objective-C.
1348
1349 2001-05-29  Nathan Sidwell  <nathan@codesourcery.com>
1350
1351         * configure.in (gcc_version): Remove unrequired \ on ". (Solaris
1352         /bin/sed fails on [^\"]).
1353         (configargs.h): Likewise.
1354
1355 2001-05-29  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
1356
1357         * config/sh/sh.h (IDENT_ASM_OP): End with TAB, not LF.
1358
1359 2001-05-28  Stan Shebs  <shebs@apple.com>
1360
1361         * objc/objc.gperf: Remove, no longer used.
1362
1363 2001-05-28  Joseph S. Myers  <jsm28@cam.ac.uk>
1364
1365         * c-tree.texi, contrib.texi, cpp.texi, extend.texi, gcc.texi,
1366         gcov.texi, install.texi, md.texi, objc.texi, rtl.texi, tm.texi:
1367         Remove trailing whitespace.
1368
1369 2001-05-28  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1370
1371         * doc/install.texi (Specific): http://reality.sgi.com/ariel/freeware/
1372         became http://freeware.sgi.com/.
1373
1374 2001-05-27  Geoffrey Keating  <geoffk@redhat.com>
1375
1376         * local-alloc.c (update_equiv_regs): Don't eliminate constant
1377         expressions at -O0.
1378
1379 2001-05-27  Stan Shebs  <shebs@apple.com>
1380
1381         * objc/objc-act.c: Add/fix various comments.
1382         (init_selector): Remove, no longer used.
1383         (build_msg_pool_reference): Ditto.
1384         (objc_debug): Ditto.
1385
1386 2001-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
1387
1388         * c-decl.c (init_decl_processing):
1389          Don't call start_identifier_warnings.
1390         * flags.h (warn_id_clash, id_clash_len): Remove.
1391         * stringpool.c: Don't include flags.h.
1392         (scan_for_clashes, do_identifier_warnings,
1393         start_identifier_warnings): Remove.
1394         * toplev.c (warn_id_clash, id_clash_len): Remove.
1395         (display_help): Don't document -Wid-clash.
1396         (decode_W_option): Print warning on -Wid-clash.
1397         * tree.h (start_identifier_warnings): Remove.
1398         * invoke.texi: Remove documentation of -Wid-clash.
1399
1400 2001-05-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1401
1402         * fixinc/fixtests.c: Declare entries in ENV_TABLE.
1403
1404 2001-05-27  Bruce Korb  <bkorb@gnu.org>
1405
1406         * fixinc/check.tpl(HACK) add and use a Scheme variable
1407         (has no test text): error out if no "test_text" is defined
1408         * fixinc/fixincl.tpl: likewise
1409         (FIXIDX): make it an enumeration so we minimize diffs
1410         * fixinc/inclhack.def: re-alphabetize and add sort instructions
1411         * fixinc/fixincl.x: regenerate
1412         * fixinc/tests/base/stdio.h: test output got moved due to
1413         the alphabetizing
1414         * README-fixinc: rewrite (mostly)
1415
1416 2001-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
1417
1418         * cpplib.c (run_directive): Set pfile->directive.
1419
1420 2001-05-23  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
1421
1422         * c-tree.texi: Reformat the manual as a single chapter now
1423         included by gcc.texi.
1424         * gcc.texi: Include c-tree.texi. Merge all indexes.
1425         * Makefile.in (dvi): Add generation for the cppinternals
1426         documentation. Added dependencies on fdl.texi and c-tree.texi
1427         where appropriate.  Use TEXI2DVI instead of custom tex calls.
1428         (info): Added dependencies on fdl.texi and c-tree.texi where
1429         appropriate.  Remove the target c-tree.info.
1430
1431 2001-05-27  Lars Brinkhoff  <lars@nocrew.org>
1432
1433         * combine.c (try_combine): Fix typo in comment.
1434         * expr.c (expand_expr): Likewise.
1435         * config/i370/i370.md (untyped_call): Likewise.
1436
1437 2001-05-26  Bruce Korb  <bkorb@gnu.org>
1438
1439         * fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
1440         when fixincl is operating in test mode
1441         * fixinc/inclhack.def(AAB_dgux_int_varargs) : aesthetics
1442         (AAB_ultrix_limits): remove redundant text
1443         (AAB_ultrix_memory): ditto
1444         (AAB_ultrix_string): ditto
1445         (djgpp_wchar_h): fix the test text
1446         (irix_stdio_va_list): add test text
1447         (irix_limits_const): add a testing output file (limits.h is overwritten)
1448         (strict_ansi_not_ctd): put limits.h second in list for same reason
1449         (solaris27_mutex_init): test text needed selection text, too
1450
1451         * fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
1452         when fixincl is operating in test mode
1453
1454 2001-05-26  Philip Blundell  <philb@gnu.org>
1455
1456         * config/c4x/c4x-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
1457         * config/i960/i960-protos.h: Likewise.
1458         * config/i370/i370-protos.h: Likewise.
1459         * config/h8300/h8300-protos.h: Likewise,
1460         * config/sh/sh-protos.h: Likewise.
1461         * config/v850/v850-protos.h: Likewise.
1462
1463 2001-05-26  Philip Blundell  <philb@gnu.org>
1464
1465         * config/arm/arm-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
1466
1467 2001-05-25  Zack Weinberg  <zackw@stanford.edu>
1468
1469         * toplev.c (debug_args, f_options, W_options): Mark
1470         descriptions for translation.
1471         (display_help): Translate descriptions on output.
1472
1473         * cp/lang-options.h, f/lang-options.h, java/lang-options.h,
1474         objc/lang-options.h: Mark descriptions for translation.
1475
1476         * aclocal.m4: Quote final argument of patsubst.  Use
1477         3-argument form of AC_DEFINE.  Restore quotes to [] while
1478         using AC_FD_CC.
1479         * configure.in: Remove unnecessary changequote calls.
1480         * configure, config.in: Regenerate.
1481
1482 2001-05-25  Sam TH  <sam@uchicago.edu>
1483
1484         * basic-block.h: Fix header include guards.
1485         * bitmap.h c-dump.h c-lex.h c-pragma.h c-tree.h collect2.h
1486         cppdefault.h cpphash.h cpplib.h defaults.h diagnostic.h errors.h
1487         except.h flags.h gcc.h gcov-io.h graph.h gstab.h gthr-aix.h
1488         gthr-dce.h gthr-posix.h gthr-rtems.h gthr-single.h gthr-solaris.h
1489         gthr-vxworks.h gthr-win32.h gthr.h hard-reg-set.h hwint.h
1490         insn-addr.h libgcc2.h mbchar.h mkdeps.h params.h prefix.h real.h
1491         rtl.h sbitmap.h system.h timevar.h toplev.h tradcpp.h tsystem.h
1492         varray.h version.h: Likewise.
1493         * config/dbxelf.h config/fp-bit.h config/arm/arm-protos.h
1494         config/arm/arm.h config/c4x/c4x-protos.h
1495         config/h8300/h8300-protos.h config/h8300/h8300.h
1496         config/i370/i370-protos.h config/i370/i370.h
1497         config/i960/i960-protos.h config/mcore/mcore.h
1498         config/mips/mips-protos.h config/sh/sh-protos.h config/sh/sh.h
1499         config/v850/v850-protos.h config/v850/v850.h: Likewise.
1500         * fixinc/fixlib.h fixinc/server.h: Likewise.
1501
1502 2001-05-25  Stacey Sheldon  <ssheldon@Catena.com>
1503
1504         * config/arc/initfini.c (.init): Fix typo.
1505
1506 2001-05-25  Geoffrey Keating  <geoffk@redhat.com>
1507
1508         * config/rs6000/rs6000.md (fseldfsf4): Correct mode of operand 4.
1509
1510 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1511
1512         * i386/i386.h (CC1_CPU_SPEC): Clarify -m486 etc deprecation messages.
1513
1514 2001-05-25  Richard Henderson  <rth@redhat.com>
1515
1516         * libgcc-std.ver: Export XFmode and TFmode versions of symbols.
1517
1518 2001-05-25  Richard Henderson  <rth@redhat.com>
1519
1520         * config.gcc (all gnu and linux): Use t-slibgcc-elf-ver with t-linux.
1521         (i386-*-solaris2): Use t-slibgcc-elf-ver or t-slibgcc-sld.
1522         (sparc*-*-solaris2): Likewise.
1523         * config/t-linux: Remove shared libgcc macros.
1524         * config/t-slibgcc-elf-ver: Move from sparc/t-slibgcc.
1525         * config/t-slibgcc-sld: Move from sparc/t-slibgcc-sld.
1526
1527 2001-05-25  Loren J. Rittle  <ljrittle@acm.org>
1528
1529         * config.gcc (*-*-freebsd*): Report bad configuration.
1530
1531 2001-05-25  David Edelsohn  <edelsohn@gnu.org>
1532
1533         * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Do not emit any marker.
1534
1535         * config/rs6000/aix.h (USER_LABEL_PREFIX): AIX symbols do not have
1536         any prefix.
1537         (ASM_OUTPUT_LABELREF): Delete.
1538
1539 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1540
1541         * fixinc/inclhack.def (strict_ansi_not, strict_ansi_not_ctd,
1542         strict_ansi_only): Don't run if stdc_0_in_system_headers.
1543         * fixinc/fixincl.x: Regenerate.
1544         * fixinc/fixtests.c (stdc_0_in_system_headers_test): New function.
1545         (FIX_TEST_TABLE): Declare it.
1546         * fixinc/fixlib.h: Include config.h.
1547
1548 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1549
1550         * fixinc/inclhack.def (alpha___assert): Change char * args to
1551         const char * on Tru64 UNIX to avoid excessive warnings from
1552         assert.h.
1553         * fixinc/fixincl.x: Regenerate.
1554
1555 2001-05-25  Geoff Keating  <geoffk@redhat.com>
1556
1557         * dbxout.c (dbxout_symbol): Invert previous patch, which was
1558         outputting a tag only for variable-size records.
1559
1560 2001-05-25  Jeff Knaggs  <jknaggs@redhat.com>
1561
1562         * config/alpha/alpha.md (movtf_internal): Use reg_overlap_mentioned_p
1563         instead of rtx_equal_p for early clobber test.
1564
1565 2001-05-26  Mark Mitchell <mark@codesourcery.com>
1566
1567         * builtins.def: Encode additional information, such as names and
1568         types, here.
1569         * builtin-types.def: New file.
1570         * builtins.c (built_in_names): Adjust use of DEF_BUILTIN.
1571         (built_in_decls): Likewise.  Don't explicitly initialize global
1572         data to NULL.
1573         (expand_builtin_mathfn): Handle float and long double variants of
1574         math builtins.
1575         (expand_builtin): Likewise.
1576         * c-common.c (c_common_nodes_and_builtins): Make it table-driven.
1577         (expand_tree_builtin): Handle long, long long, float, and long
1578         double variants of math functions.
1579         * c-common.h (c_tree_index): Remove some unused nodes.
1580         (void_ftype): Remove.
1581         (void_type_ptr): Likewise.
1582         (int_ftype_int): Likewise.
1583         (ptr_ftype_sizetype): Likewise.
1584         * c-decl.c (init_decl_processing): Remove creation of DWARF
1585         builtins.
1586         * defaults.h (MD_INIT_BUILTINS): Provide default definition.
1587         * tree.h (built_in_function): Adjust definition of DEF_BUILTIN.
1588         * Makefile.in (c-common.o): Depend on builtin-types.def.
1589
1590 2001-05-25  Dale Johannesen  <dalej@apple.com>
1591
1592         * config/rs6000/t-darwin: Fix dependencies for darwin.o.
1593
1594 2001-05-25  Neil Booth  <neil@daikokuya.demon.co.uk>
1595
1596         * c-parse.in (notype_initdcl): Remove redundant line.
1597
1598 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1599
1600         * aclocal.m4: Fixed typo.
1601         (gcc_AC_HEADER_STDBOOL): Define.
1602         (gcc_AC_C__BOOL): Define.
1603         * configure.in: Use them.
1604         (AC_CHECK_HEADERS): Remove stdbool.h
1605         * configure, config.in: Regenerate.
1606
1607 2001-05-25  Richard Henderson  <rth@redhat.com>
1608
1609         * function.c (expand_function_start): Don't abort on PARALLEL
1610         returns from hard_function_value.
1611
1612 2001-05-25  Richard Henderson  <rth@redhat.com>
1613
1614         * config/i386/i386.md: Revert previous change.  Do not apply
1615         the peephole if the components do not die after the sequence.
1616
1617 2001-05-25  Joseph S. Myers  <jsm28@cam.ac.uk>
1618
1619         * c-parse.in (array_declarator): New.  Handle C99 constructs.
1620         Don't restrict [*] declarators to C only.
1621         (after_type_declarator, parm_declarator_starttypename,
1622         parm_declarator_nostarttypename, notype_declarator,
1623         direct_absdcl1): Use it.
1624         * c-decl.c (build_array_declarator, set_array_declarator_type):
1625         New functions.  Warn that [*] isn't properly implemented; pedwarn
1626         for [*] outside C99 mode if pedantic rather than giving a hard
1627         error.
1628         (grokdeclarator): Handle static and type qualifiers in parameter
1629         array declarators.
1630         * c-tree.h (build_array_declarator, set_array_declarator_type):
1631         Declare.
1632         * extend.texi (Attribute Syntax): Document attributes in parameter
1633         array declarators.
1634
1635 2001-05-25  Mark Mitchell  <mark@codesourcery.com>
1636
1637         * config/i386/i386.md: Make sure cmpstr peepholes do not
1638         affect liveness information.
1639
1640 2001-05-24  Mark Mitchell  <mark@codesourcery.com>
1641
1642         * c-typeck.c (digest_init): Issue error messages about
1643         invalid constants, not warnings.
1644
1645 2001-05-24  Mark Mitchell  <mark@codesourcery.com>
1646
1647         * invoke.texi (-fno-builtin): Document that this is always on
1648         in C++.
1649
1650 2001-05-24  Philip Blundell  <philb@gnu.org>
1651
1652         * doc/install.texi (arm*-*-linux-gnu): Say that binutils 2.10 is
1653         required.
1654
1655 2001-05-24  Philip Blundell  <philb@gnu.org>
1656
1657         * config/arm/arm.c (output_return_instruction): Correctly handle
1658         interworking and interrupt functions.
1659
1660 2001-05-24  Philip Blundell  <philb@gnu.org>
1661
1662         * config/arm/arm.h (TARGET_SWITCHES): Correct misleading help for
1663         -m{no-}sched-prolog.  Fix typos and improve formatting.
1664
1665 2001-05-24  Philip Blundell  <philb@gnu.org>
1666
1667         * invoke.texi (ARM Options): Improve wording slightly.  Add
1668         documentation for more options, including those for Thumb mode.
1669         Don't mention options that don't exist or are unimplemented.
1670         (Thumb Options): Delete; merged into above section.
1671
1672 2001-05-24  Geoff Keating  <geoffk@redhat.com>
1673
1674         * config/rs6000/linux.h (SIGNAL_FRAMESIZE): Define.
1675         (MD_FALLBACK_FRAME_STATE_FOR): Use it.
1676
1677 Thu May 24 19:47:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
1678
1679         * simplify-rtx.c (simplify_subreg): Fix CONCAT simplification;
1680         fix hard register simplification.
1681
1682 Thu May 24 00:15:17 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1683
1684         * sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Add all of CPP_SPEC instead
1685         of just copying CPP_CPU_SPEC.
1686
1687 Thu May 24 15:56:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
1688
1689         * i386.c (incdec_operand): Accept only 1 and -1.
1690
1691 2001-05-23  Kelley Cook  <kelley.cook@home.com>
1692
1693         * Makefile.in: Move many of the *_H definitions eariler in the
1694         file, so that rules in t-* files that use them for
1695         dependencies will work in a parallel build.
1696         * config/i386/t-cygwin (winnt.o): Depend on $(CONFIG_H).
1697
1698 2001-05-23  Richard Henderson <rth@redhat.com>
1699
1700         * integrate.c (expand_inline_function): Handle CONCAT DECL_RESULT.
1701
1702 2001-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
1703
1704         * cpp.texi: Update for handling of charconsts.
1705         * cpplex.c (maybe_read_ucs): Don't accept D800-DFFF.  Update
1706         diagnostics.  Skip to the end if the UCS is too short.
1707         (cpp_interpret_charconst): Long charconsts issue a warning
1708         not an error.
1709
1710 2001-05-23  Richard Henderson  <rth@redhat.com>
1711
1712         * doc/install.texi (alpha-linux): Require binutils 2.11.
1713
1714 2001-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
1715
1716         * c-lex.c (read_escape, read_ucs): Delete.
1717         (lex_string): Use cpp_parse_escape.
1718         * cpplex.c (read_ucs): Rename maybe_read_ucs.  Do nothing
1719         if not C++ or not C99.  Warn if traditional.
1720         (parse_escape): Rename cpp_parse_escape.  Make the bitmask
1721         unsigned.  Warn for out-of-range escape sequences here.
1722         Update to use maybe_read_ucs.
1723         (cpp_interpret_charconst):  Don't warn here.
1724         * cpplib.h (cpp_parse_escape): New exported function.
1725
1726 2001-05-23  Joseph S. Myers  <jsm28@cam.ac.uk>
1727
1728         * extend.texi (Attribute Syntax): Clarify application of
1729         attributes to parameters declared as functions or arrays.
1730
1731 2001-05-23  Jason Merrill  <jason_merrill@redhat.com>
1732
1733         * dbxout.c (dbxout_type_methods): Do still group methods by name.
1734
1735 2001-05-23  Zack Weinberg  <zackw@stanford.edu>
1736
1737         * diagnostic.c (vnotice): Kill.
1738         (fnotice): Call vfprintf directly.
1739         (diagnostic_for_decl, output_do_verbatim, output_verbatim,
1740         verbatim, set_diagnostic_context): Rename string argument to
1741         indicate that it is run through gettext.
1742         (vbuild_message_string, build_message_string, output_do_printf):
1743         Rename string argument to indicate that it is NOT run through
1744         gettext.
1745         (output_printf, diagnostic_for_decl, fatal_io_error, sorry,
1746         output_do_verbatim, set_diagnostic_context, fnotice, _fatal_insn):
1747         Run msgid argument through gettext.
1748         (default_print_error_function): Run constant strings through
1749         gettext when nothing else will.
1750         (fatal_error, internal_error, error_recursion): Use fnotice.
1751         Present complete sentences to gettext.
1752
1753 2001-05-23  Mark Mitchell  <mark@codesourcery.com>
1754
1755         * jump.c (mark_jump_label): Fix thinko in 2001-05-19 change.
1756
1757 2001-05-23  Richard Henderson  <rth@redhat.com>
1758
1759         * function.c (expand_function_start): Always use a pseudo
1760         for the function result value.
1761
1762 2001-05-22  Richard Henderson  <rth@redhat.com>
1763
1764         * config/mips/iris6.h (EH_FRAME_SECTION_ASM_OP): Give the
1765         section pointer alignment.
1766
1767         * doc/install.texi (alpha-linux): Require binutils >= 2.10.
1768
1769         * unwind-dw2-fde.c (__deregister_frame_info): Stringize use
1770         of __USER_LABEL_PREFIX__.
1771
1772 2001-05-22  Richard Henderson  <rth@redhat.com>
1773
1774         * unwind-dw2-fde.c (__deregister_frame_info): Stubbify in favour of...
1775         (__deregister_frame_info_bases): New.
1776         * unwind-dw2-fde.h: Declare it.
1777         * libgcc-std.ver: Export it.
1778         * crtstuff.c (__do_global_dtors_aux): Call it if we would have
1779         called __register_frame_info_bases.
1780
1781 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
1782
1783         * config/freebsd.h (FBSD_CPP_PREDEFINES): Use #endif/#if pair
1784         instead of #elif (which is OK for this case but not in general).
1785
1786 2001-05-22  Andrew MacLeod  <amacleod@redhat.com>
1787
1788         * builtins.c (expand_builtin_longjmp): A longjmp can be a call too.
1789         * config/ia64/ia64.md (nonlocal_goto): Reverse label and frame pointer
1790         parameters to __ia64_nonlocal_goto. Flag as NO_RETURN.
1791         * config/ia64/ia64.c (ia64_expand_epilogue): Make sure we are issuing
1792         "r2" to the assembly file. Only issue allocs with non-zero parameters.
1793
1794 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
1795             David O'Brien  <obrien@freebsd.org>
1796
1797         * config/freebsd.h (LIB_SPEC): Key the exact setting to
1798         configure-time options and target version of FreeBSD.  Set-up
1799         to match architectural change in threading support.  Correctly
1800         report when -pthread option is not supported by configure-time
1801         options.
1802         (FBSD_CPP_PREDEFINES): Move from architecture-specific files
1803         and extend to encode target version number in run-time setting
1804         of __FreeBSD__ macro to match the system compiler.
1805         (CPP_PREDEFINES): Likewise.
1806         (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
1807
1808         * config/alpha/freebsd.h (CPP_PREDEFINES): Moved to common freebsd.h.
1809         * config/i386/freebsd.h (CPP_PREDEFINES): Likewise.
1810
1811 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
1812             David O'Brien  <obrien@freebsd.org>
1813
1814         * config.gcc (the unlabeled system switch statement): Add
1815         generic configuration section to handle *-*-freebsd*.  Also,
1816         to match the system compiler, default to threading support (it
1817         may be disabled with the standard --disable-threads
1818         configuration-time switch).
1819         (i[34567]86-*-freebsd* in machine-specific section): Use it.
1820         (alpha*-*-freebsd* in machine-specific section): Likewise.
1821
1822         * config/freebsd3.h: New file to expose FBSD_MAJOR macro (3).
1823         * config/freebsd4.h: New file to expose FBSD_MAJOR macro (4).
1824         * config/freebsd5.h: New file to expose FBSD_MAJOR macro (5).
1825         * config/freebsd6.h: New file to expose FBSD_MAJOR macro (6).
1826         * config/freebsd-nthr.h: New file to expose FBSD_NO_THREADS macro.
1827
1828 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
1829             David O'Brien  <obrien@freebsd.org>
1830
1831         * config/t-freebsd (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
1832         * config/t-freebsd-thread (TARGET_LIBGCC2_CFLAGS): Add
1833         -pthread instead setting macro.
1834
1835 2001-05-22  Richard Henderson  <rth@redhat.com>
1836
1837         * crtstuff.c (__register_frame_info_bases): Declare.
1838         (frame_dummy): Use it, if CRT_GET_RFIB_TEXT or CRT_GET_RFIB_DATA.
1839         (__do_global_dtors_aux, __do_global_dtors): Streamline.
1840
1841         * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
1842         (CRT_GET_RFIB_DATA): New.
1843         * config/i386/sysv4.h: Likewise.
1844         * config/i386/sco5.h: Likewise.
1845         (ASM_PREFERRED_EH_DATA_FORMAT): New.
1846
1847 2001-05-22  Richard Henderson  <rth@redhat.com>
1848
1849         * rtl.c (read_string): Break out from ...
1850         (read_rtx): ... here.
1851
1852 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1853
1854         * doc/install.texi (Specific): Remove a bogus and duplicate part
1855         copied from the end of the document.
1856
1857 2001-05-22  Bernd Schmidt  <bernds@redhat.com>
1858
1859         * Makefile.in (LIBGCC_DEPS): Correct LIB1ASMSRC dependency.
1860
1861 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1862
1863         * install.texi: Remove obsolete information on SunOS as well as
1864         i386-sun-sunos4, i860-intel-osf1, and powerpcle-*-solaris2*.
1865         (Installing GNU CC on the Sun): Remove section.
1866
1867 2001-05-22  Alexandre Oliva  <aoliva@redhat.com>
1868
1869         * cppfiles.c (remove_component_p): Don't assume lstat/stat will
1870         keep errno unchanged on success.
1871
1872 2001-05-22  Joseph S. Myers  <jsm28@cam.ac.uk>
1873
1874         * c-lex.c (lex_number): If pedantic and not C99, pedwarn exactly
1875         once for hexadecimal floats, whether or not they contain a decimal
1876         point.  Don't let the setting of pedantic otherwise affect the
1877         parsing of hexadecimal floats.
1878
1879 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1880
1881         * README.ACORN: Remove obsolete file.
1882
1883 2001-05-22  Jan Hubicka  <jh@suse.cz>
1884
1885         * combine.c (gen_binary): Use swap_commutative_operands_p
1886         (simplify_comparison): Likewise.
1887         * expmed.c (emit_store_flag): Likewise.
1888         * expr.c (compare_from_rtx): Likewise.
1889         (do_compare_rtx_and_jump): Likewise.
1890         * optabs.c (emit_cmp_and_jump_insn): Revert last patch; abort
1891         if not emitting a branch and operands want swapping.
1892
1893 2001-05-22  Neil Booth  <neil@daikokuya.demon.co.uk>
1894
1895         * c-lex.c (c_lex): Just cast cpp's hashnode to gcc's one.
1896         * stringpool.c: (IS_FE_IDENT, make_identifier): Delete.
1897         (maybe_get_identifier): Update.
1898         * tree.h (make_identifier): Delete.
1899
1900 2001-05-21  Richard Henderson  <rth@redhat.com>
1901
1902         * combine.c (subst): Do not substitute for a register as
1903         a destination subreg/strict_low_part/zero_extract.
1904
1905         * combine.c (simplify_comparison): Update op1 after constant
1906         extension.
1907         * recog.c (const_int_operand): Accept only constants valid
1908         for the given mode.
1909         * genrecog.c: Update comments wrt const_int_operand.
1910
1911         * emit-rtl.c (init_emit_once): Zero unused memory in a
1912         CONST_DOUBLE.
1913
1914 2001-05-21  Mark Mitchell  <mark@codesourcery.com>
1915
1916         * tree.h (type_num_arguments): Declare it.
1917         * tree.c (type_num_arguments): New function.
1918
1919 2001-05-21  Richard Henderson  <rth@redhat.com>
1920
1921         * dwarf2out.c (current_funcdef_number): Move outside dwarf2
1922         conditional ifdef.
1923
1924 2001-05-21  Geoff Keating  <geoffk@redhat.com>
1925
1926         * config/rs6000/rs6000.md (maxsf3): Use rs6000_emit_minmax.
1927         (maxsf3+1): Delete.
1928         (minsf3): Use rs6000_emit_minmax.
1929         (minsf3+1): Generalize to handle both SMIN and SMAX.  Use
1930         rs6000_emit_minmax.
1931         (movsfcc): Use rs6000_emit_cmove.
1932         (fselsfsf4): Don't compare a CONST_INT with a floating-point value.
1933         Don't generate emit_fselsfsf4.
1934         (fseldfsf4): Likewise.
1935         (maxdf3): Use rs6000_emit_minmax.
1936         (maxdf3+1): Delete.
1937         (mindf3): Use rs6000_emit_minmax.
1938         (mindf3+1): Generalize to handle both SMIN and SMAX.  Use
1939         rs6000_emit_minmax.
1940         (movdfcc): Use rs6000_emit_cmove.
1941         (fseldfdf4): Don't compare a CONST_INT with a floating-point value.
1942         Don't generate emit_fselsfsf4.
1943         (fselsfdf4): Likewise.
1944         * config/rs6000/rs6000.c (zero_fp_constant): New predicate.
1945         (min_max_operator): New predicate.
1946         (rs6000_emit_cmove): New function.
1947         (rs6000_emit_minmax): New function.
1948         * config/rs6000/rs6000-protos.h: Prototype new functions.
1949         * config/rs6000/rs6000.h (PREDICATE_CODES): Add zero_fp_constant
1950         and min_max_operator.
1951
1952         * config/rs6000/rs6000.c (output_cbranch): Handle all
1953         conditional types in the switch statement.
1954
1955 2001-05-21  Mark Mitchell  <mark@codesourcery.com>
1956
1957         * c-decl.c (finish_decl): Don't set DECL_C_HARD_REGISTER for
1958         non-register variables.
1959         * extend.texi: Document that asm-specifications do not make sense
1960         for non-static local variables.
1961
1962 2001-05-21  Jason Merrill  <jason_merrill@redhat.com>
1963
1964         * dbxout.c (MINIMAL_DEBUG, flag_minimal_debug): Lose.
1965         (dbxout_type_fields): Lose minimal_debug support.
1966         (dbxout_type_methods, dbxout_type): Likewise.
1967
1968 2001-05-17  Andrew Haley  <aph@redhat.com>
1969
1970         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
1971
1972 2001-05-21  Richard Henderson  <rth@redhat.com>
1973
1974         * dwarf2out.c (DEBUG_FRAME_SECTION): Rename from FRAME_SECTION.
1975         Update all users.
1976
1977 2001-05-20  Richard Henderson  <rth@redhat.com>
1978
1979         * dwarf2out.c (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
1980         DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_PUBNAMES_SECTION,
1981         DEBUG_STR_SECTION): Rename from s/DEBUG_//.  Update all users.
1982         * dwarfout.c (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
1983         DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION):
1984         Likewise.
1985         * config/mips/iris6.h (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
1986         DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION,
1987         DEBUG_FRAME_SECTION, DEBUG_ABBREV_SECTION): Rename as above.
1988         (DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
1989         * config/ia64/ia64.h (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
1990         DEBUG_PUBNAMES_SECTION): Rename as above.
1991         (DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
1992
1993 2001-05-20  Richard Henderson  <rth@redhat.com>
1994
1995         * optabs.c (emit_cmp_and_jump_insns): Don't swap commutative
1996         operands unless the operation is commutative.
1997
1998 2001-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1999
2000         * fold-const.c (tree_expr_nonnegative_p): Detect more non-negative
2001         cases.
2002
2003 2001-05-21  Joseph S. Myers  <jsm28@cam.ac.uk>
2004
2005         * extend.texi: Clarify documentation of extensions included in ISO
2006         C99.  Prefer C99 terminology and syntax to old GNU terminology and
2007         syntax.  Add more index entries.  Document mixed declarations and
2008         code as an extension in C89 mode.  Warn about future changes to
2009         semantics of inline functions.  Fixes PR other/930.
2010
2011 Sun May 20 16:39:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2012
2013         * expr.c (expand_expr, case ARRAY_REF): Don't fold constant
2014         access if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
2015         (expand_expr, case COMPONENT_REF): Do copy if misaligned even
2016         if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
2017
2018         * stmt.c (expand_decl): Set mode, alignment, and sizes for CONST_DECL.
2019
2020 2001-05-20  Richard Henderson  <rth@redhat.com>
2021
2022         * sched-deps.c (sched_analyze_insn): Force volatile memory reads
2023         to be output before a branch.
2024
2025 2001-05-20  Richard Henderson  <rth@redhat.com>
2026
2027         * Makefile.in (dwarf2asm.o): Depend on $(TREE_H).
2028
2029 2001-05-20  Richard Henderson  <rth@redhat.com>
2030
2031         * config/i386/att.h (ASM_SHORT, ASM_LONG): Add trailing \t.
2032         (ASM_DOUBLE): Remove.
2033         * config/i386/bsd.h, config/i386/sco5.h: Likewise.
2034         * config/i386/sun386.h: Likewise.
2035
2036         * config/i386/i386.h (UNALIGNED_SHORT_ASM_OP): New.
2037         (UNALIGNED_INT_ASM_OP, INT_ASM_OP): New.
2038
2039         * config/i386/cygwin.h (INT_ASM_OP): Remove.
2040         * config/i386/freebsd-aout.h, config/i386/i386-aout.h: Likewise.
2041         * config/i386/i386-coff.h, config/i386/i386-interix.h: Likewise.
2042         * config/i386/netbsd.h, config/i386/openbsd.h: Likewise.
2043
2044         * config/i386/cygwin.h: Adjust uses of ASM_LONG for trailing \t.
2045         * config/i386/djgpp.h, config/i386/i386.h: Likewise.
2046         * config/i386/i386elf.h, config/i386/ptx4-i.h: Likewise.
2047         * config/i386/sco5.h, config/i386/svr3gas.h: Likewise.
2048         * config/i386/sysv4.h, config/i386/vsta.h: Likewise.
2049         * config/i386/win32.h: Likewise.
2050
2051 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
2052
2053         * invoke.texi: Add more options to summary list.
2054
2055 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
2056
2057         * invoke.texi: Document meaning of -pedantic when -std=gnu* is
2058         used.  Fixes PR c/2291.
2059         * gcc.1: Regenerate.
2060
2061 2001-05-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2062
2063         * config/m68hc11/m68hc11.c (m68hc11_override_options): Ignore
2064         the -fpic and -fPIC options, clear flag_pic.
2065
2066 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
2067
2068         * hashtable.c (calc_hash): Fix HASHSTEP definition.
2069         * stringpool.c (make_identifier): No statistics here anymore.
2070         * objc-act.c (steup_string_decl): Remove redundant check.
2071
2072 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
2073
2074         * Makefile.in (OBJS, LIBCPP_OBJS, LIBCPP_DEPS,
2075         cpplib.o, cpphash.o, fix-header): Update.
2076         (hashtable.o): New target.
2077         * c-common.h: Include cpplib.h.  Define C_RID_CODE and
2078         struct c_common_identifier here.
2079         * c-lang.c (c_init_options): Update.  Call set_identifier_size.
2080         * c-lex.c (c_lex): Update.
2081         * c-pragma.h: Update.
2082         * c-tree.h (struct lang_identifier): Contain c_common_identifier.
2083         Delete rid_code.
2084         (C_RID_CODE): Delete.
2085         * cpphash.c: Rewrite to use hashtable.c.
2086         * cpphash.h: Update include guards.
2087         (struct cpp_reader): Remove hashtab.
2088         hash_ob and buffer_ob are no longer pointers.  Add hash_table
2089         and our_hashtable.
2090         (HASHSTEP, _cpp_init_hashtable, _cpp_lookup_with_hash): Delete.
2091         (_cpp_cleanup_hashtable): Rename _cpp_destroy_hashtable.
2092         (_cpp_cleanup_stacks): Rename _cpp_init_directives.
2093         * cppinit.c (cpp_create_reader): Update.
2094         * cpplex.c (cpp_ideq, parse_identifier, cpp_output_token): Update.
2095         (cpp_interpret_charconst): Eliminate warning.
2096         * cpplib.c (do_pragma, do_endif, push_conditional,
2097         cpp_push_buffer, cpp_pop_buffer): Update.
2098         (_cpp_init_stacks): Rename cpp_init_directives.
2099         (_cpp_cleanup_stacks): Remove.
2100         * cpplib.h: Update include guards.  Include tree-core.h and c-rid.h.
2101         (cpp_hashnode, cpp_token, NODE_LEN, NODE_NAME,
2102          cpp_forall_identifiers, cpp_create_reader): Update.
2103         (C_RID_CODE, cpp_make_node): New.
2104         (c_common_identifier): New identifier node for C front ends.
2105         * cppmain.c (main): Update.
2106         * fix-header.c (read_scan_file): Update.
2107         * flags.h (id_clash_len): Make unsigned.
2108         * ggc.h (ggc_mark_nonnull_tree): New.
2109         * hashtable.c: New.
2110         * hashtable.h: New.
2111         * stringpool.c: Update comments and copyright.  Update to use
2112         hashtable.c.
2113         * toplev.c (approx_sqrt): Move to hashtable.c.
2114         (id_clash_len): Make unsigned.
2115         * toplev.h (ident_hash): New.
2116         * tree.c (gcc_obstack_init): Move to hashtable.c.
2117         * tree.h: Include hashtable.h.
2118         (IDENTIFIER_POINTER, IDENTIFIER_LENGTH): Update.
2119         (GCC_IDENT_TO_HT_IDENT, HT_IDENT_TO_GCC_IDENT): New.
2120         (struct tree_identifier): Update.
2121         (make_identifier): New.
2122 cp:
2123         * cp-tree.h (struct lang_identifier, C_RID_YYCODE): Update.
2124         (C_RID_CODE): Remove.
2125         * lex.c (cxx_init_options): Call set_identifier_size.  Update.
2126         (init_parse): Don't do it here.
2127 objc:
2128         * objc-act.c (objc_init_options): Call set_identifier_size. Update.
2129
2130 Sat May 19 18:23:04 2001  Richard Henderson <rth@redhat.com>
2131
2132         * except.c (dw2_build_landing_pads): Use word_mode, not Pmode,
2133         as ncessary.
2134         (expand_eh_return): Convert between word_mode and Pmode.
2135         * unwind-dw2.c (extract_cie_info): Do not assume words and pointers
2136         are the same size.
2137         (execute_stack_op): Likewise.
2138         (execute_cfa_program): Likewise.
2139         (uw_frame_state_for): Likewise.
2140         (uw_update_context_1): Likewise.
2141         * unwind.inc (_Unwind_Reason_Code): Likewise.
2142         * config/mips/mips.h (EH_RETURN_DATA_REGNO): Define.
2143         (EH_RETURN_STACKADJ_RTX): Likewise.
2144         * config/mips/mips.c (compute_frame_size): Make space for saving
2145         EH return registers.
2146         (mips_expand_epilogue): Handle EH stack adjustments.
2147         * config/mips/mips.md (eh_return): New pattern.
2148         (eh_set_lr_si): Likewise.
2149         (eh_set_lr_di): Likewise.
2150         Add splitter to perform EH return after reload.
2151
2152 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
2153
2154         * jump.c (mark_jump_label): Tidy previous change.
2155
2156 2001-05-19  Bruce Korb  <bkorb@gnu.org>
2157
2158         * fixinc/genfixes: no need for two warnings
2159         * fixinc/Makefile.in: open stdin for those building with a closed one.
2160
2161 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
2162
2163         * jump.c (jump_optimize_1): Tidy.
2164         (mark_jump_label): When changing the label in a LABEL_REF, change
2165         update any REG_EQUAL notes as well.
2166
2167 2001-05-19  Joseph S. Myers  <jsm28@cam.ac.uk>
2168
2169         * c-parse.in (parm_declarator): Split into
2170         parm_declarator_starttypename and parm_declarator_nostarttypename.
2171         (parm_declarator_starttypename, parm_declarator_nostarttypename):
2172         New.  Allow parenthesised sub-declarators which don't begin with a
2173         TYPENAME.  Fixes PR c/166.
2174
2175 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
2176
2177         * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): New
2178         macro.
2179         * tm.texi (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
2180         Document it.
2181         * toplev.c (main): If the target does not allow profiling without
2182         a frame pointer, issue an error message.
2183         * config/i386/linux.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
2184         Define it to false.
2185
2186 Sat May 19 07:53:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2187
2188         * recog.c (general_operand): Modify last change to allow it if reload
2189         has completed.
2190
2191 Sat May 19 10:23:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
2192
2193         * recog.c (general_operand): Prohibit nonzero subreg bytes on
2194         subregs containing mem.
2195
2196 Sat May 19 09:40:45 2001  Denis Chertykov  <denisc@overta.ru>
2197
2198         * regrename.c (regrename_optimize): frame pointer register can
2199         use a few hardregs.
2200
2201 2001-05-18  Jason Merrill  <jason_merrill@redhat.com>
2202
2203         * README.DWARF: Move into dwarfout.c.
2204
2205 2001-05-18  Dale Johannesen  <dalej@apple.com>
2206
2207         * config/rs6000/rs6000.c (secondary_reload_class): Fix Darwin
2208         specific misuse of r0 as a reload address.
2209
2210 Fri May 18 22:42:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
2211
2212         * combine.c (combine_simplify_rtx): Clear op0_mode if simplification
2213         suceeded.
2214
2215 Fri May 18 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2216
2217         * genrecog.c (enum decision_type): Add DT_elt_zero-wide_safe.
2218         (add_to_sequence): Make that decision type.
2219         (maybe_both_true_2, nodes_identical_1, factor_tests): Use it.
2220         (write_switch, write_cond, debug_decision_2): Likewise.
2221
2222         * dbxout.c (dbxout_type): Use host_integerp and fix typo in testing
2223         for INTEGER_TYPE.
2224         (dbxout_symbol, case TYPE_DECL): Don't generate tag for records of
2225         variable size.
2226
2227 2001-05-18  Stan Shebs  <shebs@apple.com>
2228
2229         * configure.in (gcc_cv_as_eh_frame): Cope with old assemblers.
2230         * configure: Regenerate.
2231
2232 2001-05-18  Per Bothner  <per@bothner.com>
2233
2234         Changes needed for java/jvspec.c
2235         * gcc.h (n_infiles, outfiles):  Add declarations.
2236         * gcc.c (n_infiles, outfiles):  Mske no longer static.
2237
2238 Fri May 18 10:14:42 2001  Jeffrey A Law  (law@cygnus.com)
2239
2240         * config/pa/som.h (EXCEPTION_SECTION): Define.
2241
2242 2001-05-18  Daniel Berlin  <dan@cgsoftware.com>
2243
2244         * dwarf2out.c: Add dw_loc_list_ref, a reference to a location
2245         list.
2246         Add have_location_lists, a variable to determine whether we need a
2247         .debug_loc section or not.
2248         (enum dw_val_class): Add dw_val_class_loc_list.
2249         (dw_val_struct): Add val_loc_list.
2250         (dw_loc_list_struct): New structure, represents location lists.
2251         (new_loc_list): New function, return a new location list, given
2252         the range and location expression.
2253         (add_loc_descr_to_loc_list): New function, add a location
2254         expression to a location list, given the expression and range.
2255         (output_loc_list): New function, output a location list.
2256         (gen_internal_sym): Modified to take symbol prefix, so we can
2257         reuse it for location list symbols.
2258         (add_AT_loc_list): New function, add a location list to a DIE at
2259         the named attribute.
2260         (AT_loc_list): New function, return the location list reference
2261         for a given attribute, if it's a location list.
2262         (print_die): Handle dw_val_class_loc_list.
2263         (size_of_die): Ditto.
2264         (value_format): Ditto.
2265         (output_die): Ditto.
2266         (output_location_lists): New function, output all of the location
2267         lists for a DIE and it's children.
2268         (dwarf2out_finish): Call output_location_lists if we have location
2269         lists.
2270
2271
2272 Fri May 18 15:39:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
2273
2274         * gcse.c (try_replace_reg): First try global replace, later try to
2275         simplify the expression.
2276
2277         * gcse.c (find_used_regs): Change calling convention; work via
2278         note_uses.
2279         (cprop_insn): Update call of find_used_regs; work for CALL_INSNs too.
2280
2281 2001-05-18  Bernd Schmidt  <bernds@redhat.com>
2282
2283         Revert
2284         2001-02-09  Nick Clifton  <nickc@redhat.com>
2285         * config/arm/arm.md: Change output constraint on post inc
2286         load/store multiple patterns to be a read/write constraint.
2287
2288 2001-05-18  Mark Mitchell  <mark@codesourcery.com>
2289
2290         * basic-block.h (struct basic_block_def): Add documentation about
2291         what a basic block is, and what the various fields are used for.
2292         * flow.c (calculate_globlal_regs_live): Add documentation about
2293         how the algorithm works, and how we know that it will terminate.
2294         Check that the the inductive assumption that guarantees
2295         termination actually holds.
2296         (mark_used_regs): Treat conditionally set registers as used.
2297         (debug_regset): Add comment.
2298         * rtl.texi (cond_exec): Add documentation.
2299
2300         * function.c (expand_function_start): Avoid creating BLKmode
2301         pseudos.
2302
2303 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
2304
2305         * dwarf2out.c (output_comp_unit): Always output a compilation-unit
2306         DIE, even if it has no children.
2307         (dwarf2out_finish): Always output the line-number table, even if
2308         it has no content.
2309
2310 2001-05-18  David Edelsohn  <edelsohn@gnu.org>
2311
2312         * rs6000.md (movsfcc,movdfcc): Remove NE case.
2313
2314 2001-05-17  Bruce Korb <bkorb@gnu.org>
2315
2316         * fixinc/fixincl.tpl: rewritten as an AutoGen version 5 template
2317         * fixinc/genfixes: emit a warning if AutoGen is out of date
2318
2319 2001-05-17  Brendan Conoboy <blc@cygnus.com>
2320             Bruce Korb <bkorb@gnu.org>
2321
2322         * fixinc/fixincl.sh(FIXINC): accept local directory if fixincl not
2323         found in fixinc directory.  Facilitates binary distributions.
2324
2325 2001-05-17  Jeffrey Oldham  <oldham@codesourcery.com>
2326
2327         * dbxout.c (dbxout_symbol_location): For CONCAT, skip types not
2328         COMPLEX_TYPE.
2329
2330 Thu May 17 19:42:39 2001  Mark Kettenis  <kettenis@wins.uva.nl>
2331
2332         * dwarf2out.c (modified_type_die): Equate qualified type to die.
2333
2334 Thu May 17 23:19:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
2335
2336         * integrate.c (copy_rtx_and_substitute): Use simplify_gen_subreg.
2337         (simplify_subreg): Handle complex types represented as CONCAT.
2338
2339         * recog.c (validate_replace_rtx_1): Properly canonicalize expression
2340         * rtl.h (swap_commutative_operands_p): Declare.
2341         * rtlanal.c (swap_commutative_operands_p): New.
2342         (operand_preference): New static function.
2343
2344         * combine.c (combine_simplify_rtx): Use swap_commutative_operands_p.
2345         (gen_binary): Likewise.
2346         * optabs.c (emit_cmp_and_jump_insns, emit_conditional_move): Likewise.
2347         * simplify-rtx.c (simplify_gen_binary,
2348         simplify_gen_relational): Likewise.
2349
2350 Thu May 17 20:43:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
2351
2352         * cse.c (fold_rtx): Use simplify_subreg.
2353
2354         * simplify-rtx.c (simplify_replace_rtx): Use simplify_gen_subreg.
2355         (simplify_gen_subreg): New.
2356         (simplify_rtx): Use simplify_subreg.
2357         * rtl.h (simplify_gen_subreg): Declare.
2358
2359 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
2360
2361         * doc/install.texi: Update Solaris information.
2362
2363         * except.h (protect_cleanup_actions): Remove it.
2364         (lang_protect_cleanup_actions): Declare it.
2365         * except.c (protect_cleanup_actions): Remove it.
2366         (lang_protect_cleanup_actions): New variable.
2367         (init_eh): Don't make protect_cleanup_actions a GC root.
2368         (expand_eh_region_and_cleanup): Call
2369         lang_protect_cleanup_actions.
2370         (output_function_exception_table): Remove unused `align'
2371         variable.
2372         * varasm.c (assemble_external): Abort if we have not yet
2373         opened the assembly output file.
2374
2375 Thu May 17 11:54:50 2001  Jeffrey A Law  (law@cygnus.com)
2376
2377         * except.c (sjlj_emit_function_enter): Call assemble_external_libcall
2378         for eh_personality_libfunc.
2379
2380 Thu May 17 19:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
2381
2382         * recog.c (validate_replace_rtx_1): Use "TO" mode if not VOIDmode
2383         when calling simplify_subreg.  This is needed to allow replacing
2384         of expression of one mode by expression of different mode.
2385
2386 Thu May 17 19:40:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
2387
2388         * simplify-rtx.c  (simplify_subreg): Avoid creating of incorrect subregs.
2389
2390 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
2391
2392         * expr.c (protect_from_queue): Protect against subsequent calls to
2393         emit_queue.
2394         (expand_expr, case ADDR_EXPR): Prevent protect_from_queue from being
2395         too clever.
2396
2397 Thu May 17 18:17:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
2398
2399         * simplify_rtx.c (simplify_subreg): Fix simplification of nested subregs.
2400
2401 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2402
2403         * gccbug.in (CATEGORIES): Add "bootstrap".
2404
2405 Thu May 17 16:59:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
2406
2407         * simplify-rtx.c (simplify_subreg): Break out from ...
2408         * combine.c (combine_splify_rtx) ... here and ...
2409         * recog.c (validate_replace_rtx_1): ... here;
2410         * rtl.h (subreg_lowpart_parts_p, simplify_subreg): Declare.
2411         * emit-rtl.c (subreg_lowpart_parts_p): Break out from ...
2412         (subreg_lowpart_p): ... here.
2413
2414 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
2415
2416         * stmt.c (expand_asm_operands): For inout operands, make sure
2417         the substitution of '=' for '+' makes it into the rtl.
2418
2419         * reload1.c (delete_output_reload): Call eliminate_regs on substed.
2420         (reload_as_needed): Call update_eliminable_offsets a bit later.
2421
2422 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2423
2424         * gcc.texi (gccbug): Refer to the web pages for detailed information
2425         on GNATS.
2426
2427 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
2428
2429         * libgcc1-test.c, libgcc1.c, config/i386/perform.h: Delete file.
2430
2431         * Makefile.in: Delete variables: OLDCC, CCLIBFLAGS, OLDAR,
2432         OLDAR_FLAGS, LIBGCC1, LIBGCC1_TEST, CROSS_LIBGCC1,
2433         LIB1FUNCS, and LIB1FUNCS_EXTRA.  Delete rules: libgcc1-test,
2434         libgcc1-test.o.  Clarify commentary now that libgcc1 no longer exists.
2435         * cross-make: Don't set LIBGCC1.
2436         * mklibgcc.in: Delete all code for building from libgcc1.c.
2437         Always honor LIB1ASMFUNCS if set.
2438
2439         * crtstuff.c, floatlib.c, longlong.h, config/fp-bit.c,
2440         config/arc/lib1funcs.asm, config/arm/lib1funcs.asm,
2441         config/d30v/libgcc1.asm, config/fr30/lib1funcs.asm,
2442         config/h8300/lib1funcs.asm, config/i386/cygwin.asm,
2443         config/i386/uwin.asm, config/m68hc11/larith.asm,
2444         config/m68k/lb1sf68.asm, config/mcore/lib1.asm,
2445         config/mn10200/lib1funcs.asm, config/sh/lib1funcs.asm,
2446         config/sparc/lb1spc.asm, config/sparc/lb1spl.asm,
2447         config/v850/lib1funcs.asm, config/c4x/libgcc.S:
2448         Delete or update references to libgcc1 in commentary.
2449
2450         * config/t-libc-ok, config/t-linux, config/t-linux-aout,
2451         config/t-netbsd, config/a29k/t-a29kbare, config/a29k/t-vx29k,
2452         config/alpha/t-interix, config/alpha/t-osf, config/alpha/t-vms,
2453         config/arc/t-arc, config/arm/t-arm-aout, config/arm/t-arm-coff,
2454         config/arm/t-arm-elf, config/arm/t-linux, config/arm/t-pe,
2455         config/arm/t-semi, config/arm/t-strongarm-coff,
2456         config/arm/t-strongarm-elf, config/arm/t-strongarm-pe,
2457         config/arm/t-xscale-coff, config/arm/t-xscale-elf, config/avr/t-avr,
2458         config/c4x/t-c4x, config/d30v/t-d30v, config/fr30/t-fr30,
2459         config/h8300/t-h8300, config/i386/t-beos, config/i386/t-cygwin,
2460         config/i386/t-i386elf, config/i386/t-interix, config/i386/t-netware,
2461         config/i386/t-next, config/i386/t-rtems-i386, config/i386/t-sol2,
2462         config/i960/t-960bare, config/i960/t-vxworks960, config/ia64/t-ia64,
2463         config/m32r/t-m32r, config/m68hc11/t-m68hc11-gas, config/m68k/t-lynx,
2464         config/m68k/t-m68kbare, config/m68k/t-m68kelf,
2465         config/m68k/t-mot3300-gald, config/m68k/t-mot3300-gas,
2466         config/m68k/t-next, config/m68k/t-vxworks68, config/m88k/t-bug,
2467         config/m88k/t-dgux, config/m88k/t-dgux-gas, config/m88k/t-dguxbcs,
2468         config/m88k/t-luna, config/m88k/t-luna-gas, config/m88k/t-m88k,
2469         config/m88k/t-m88k-gas, config/m88k/t-sysv4, config/mcore/t-mcore,
2470         config/mcore/t-mcore-pe, config/mips/t-bsd, config/mips/t-bsd-gas,
2471         config/mips/t-cross64, config/mips/t-ecoff, config/mips/t-elf,
2472         config/mips/t-iris6, config/mips/t-r3900, config/mips/t-svr3,
2473         config/mips/t-svr3-gas, config/mips/t-svr4, config/mips/t-svr4-gas,
2474         config/mips/t-ultrix, config/mn10200/t-mn10200,
2475         config/mn10300/t-mn10300, config/pa/t-linux, config/pa/t-linux64,
2476         config/pa/t-pa, config/pa/t-pa64, config/pa/t-pro,
2477         config/pdp11/t-pdp11, config/pj/t-pj, config/rs6000/t-aix43,
2478         config/rs6000/t-beos, config/rs6000/t-darwin, config/rs6000/t-newas,
2479         config/rs6000/t-ppccomm, config/rs6000/t-rs6000, config/sh/t-linux,
2480         config/sh/t-sh, config/sparc/t-chorus-elf, config/sparc/t-elf,
2481         config/sparc/t-sol2, config/sparc/t-sp86x, config/sparc/t-sparcbare,
2482         config/sparc/t-sparclite, config/sparc/t-splet,
2483         config/sparc/t-sunos41, config/sparc/t-vxsparc,
2484         config/sparc/t-vxsparc64, config/v850/t-v850:
2485         Don't set any of LIBGCC1, CROSS_LIBGCC1, or LIBGCC1_TEST.
2486
2487         * config/alpha/alpha.h, config/i386/i386.h, config/i860/i860.h:
2488         Don't set FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, INTIFY, or FLOATIFY.
2489         * config/d30v/d30v.h: Don't mention LIBGCC_NEEDS_DOUBLE,
2490         FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, FLOATIFY, INTIFY,
2491         nongcc_SI_type, nongcc_word_type, or perform_*
2492         * config/i860/fx2800: Don't define perform_umodsi3 or perform_modsi3.
2493
2494         * config/i386/386bsd.h, config/i386/beos-elf.h,
2495         config/i386/linux-aout.h, config/i386/linux-oldld.h,
2496         config/i386/linux.h, config/i386/mach.h, config/i386/netbsd.h,
2497         config/i386/openbsd.h, config/i386/osfrose.h, config/i386/rtemself.h:
2498         Don't include i386/perform.h.
2499
2500         * config/a29k/t-a29k, config/arm/t-semiaof, config/i370/t-i370,
2501         config/i370/t-linux, config/i370/t-mvs, config/i370/t-oe,
2502         config/i386/t-djgpp, config/i386/t-i386bare, config/i386/t-vsta,
2503         config/ia64/t-hpux, config/mips/t-mips, config/mips/t-mips-gas,
2504         config/mips/t-osfrose, config/sparc/t-sp64, config/sparc/t-sunos40,
2505         config/vax/t-openbsd, config/vax/t-vax: Delete.
2506
2507         * config.gcc: Remove references to deleted files.
2508         (arm-semi-aof): Use arm/t-semi for tmake_file.
2509
2510         * gcc.texi, install.texi, invoke.texi, tm.texi:
2511         Delete or rewrite text which is no longer relevant now that
2512         libgcc1 no longer exists.
2513
2514         * config/t-openbsd, config/alpha/t-interix, config/i386/t-interix:
2515         No need to set INSTALL_ASSERT_H.  (Missed in previous sweep.)
2516
2517 2001-05-16  Wolfgang Bangerth <wolfgang.bangerth@iwr.uni-heidelberg.de>
2518         Bruce Korb <bkorb@gnu.org>
2519
2520         * fixinc/inclhack.def(solaris27_mutex_init):  Fix broken mutex
2521         initializer
2522
2523 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
2524
2525         * i386.md: Add two peepholes to clean up code generated by
2526         cmpstr* expanders.
2527
2528 2001-05-16  Richard Henderson  <rth@redhat.com>
2529
2530         * dwarf2asm.c (eh_data_format_name): Add names for "pointer size"
2531         variants of non-absolute encodings.
2532
2533         * config/i386/i386.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
2534
2535         * libgcc-std.ver (_Unwind_Find_FDE, __register_frame_info_bases,
2536         __register_frame_info_table_bases): Export.
2537
2538 2001-05-16  Richard Henderson  <rth@redhat.com>
2539
2540         * except.c (eh_data_format_name): Move to ...
2541         * dwarf2asm.c: ... here.  Use designated initializers if available.
2542         (dw2_asm_output_encoded_addr_rtx): Accept varargs commentary.
2543         * dwarf2asm.h: Update declarations.
2544         * dwarf2out.c (output_cfi) [DW_CFA_set_loc]: If for_eh, mind
2545         ASM_PREFERRED_EH_DATA_FORMAT.
2546         (output_call_frame_info): Likewise.  Use 'L' augmentation for
2547         the LSDA encoding.
2548
2549         * unwind-dw2-fde.h (struct fde_vector): New.
2550         (struct old_object): Rename from struct object.
2551         (struct object): New.
2552         (__register_frame_info_bases): Declare.
2553         (__register_frame_info_table_bases): Declare.
2554         (struct dwarf_fde): Remove explicit pc_begin/pc_range members.
2555         * unwind-dw2-fde.c (objects): Remove.
2556         (unseen_objects, seen_objects): New.
2557         (__register_frame_info_bases): New.
2558         (__register_frame_info): Use it.
2559         (__register_frame_info_table_bases): New.
2560         (__register_frame_info_table): Use it.
2561         (__deregister_frame_info): Rewrite for changed object struct.
2562         (base_from_object, get_cie_encoding, get_fde_encoding): New.
2563         (fde_unencoded_compare): Rename from fde_compare; uninline.
2564         (fde_single_encoding_compare, fde_mixed_encoding_compare): New.
2565         (start_fde_sort): Adjust for new definition of fde_vector.
2566         (fde_insert): Likewise.
2567         (end_fde_sort): Likewise.  Select comparison function based
2568         on properties of the object.
2569         (fde_split): Take object and fde_compare_t arguments.
2570         (frame_heapsort, fde_merge): Likewise.
2571         (classify_object_over_fdes): Rename from count_fdes.  Handle
2572         encoded pointers.  Collect encoding, mixed_encoding, and pc_begin
2573         for the object.
2574         (add_fdes): Handle encoded pointers.
2575         (init_object): Rename from frame_init.  Update for new struct object.
2576         (linear_search_fdes): Rename from search_fdes.  Handle encoded
2577         pointers.
2578         (binary_search_unencoded_fdes): Broken out from _Unwind_Find_FDE.
2579         (binary_search_single_encoding_fdes): New.
2580         (binary_search_mixed_encoding_fdes): New.
2581         (search_object): New.
2582         (_Unwind_Find_FDE): Update for new struct object.  Fill in
2583         the dwarf_eh_bases.
2584         * unwind-dw2.c: Include unwind-pe.h.  Constify all pointers
2585         iterating over EH data.
2586         (_Unwind_FrameState): Remove saw_lsda, addr_encoding.  Add
2587         fde_encoding, lsda_encoding.
2588         (read_uleb128, read_sleb128): Remove.
2589         (read_encoded_pointer): Remove.  All callers use read_encoded_value.
2590         (extract_cie_info): Set lsda_encoding from 'L' augmentation.
2591         (uw_frame_state_for): Don't set bases.func.  Handle encoded fde
2592         pointers.
2593         * unwind-pe.h: Add "struct" to _Unwind_Context references.
2594
2595 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2596
2597         * cppexp.c (lex): Use NODE_NAME and NODE_LEN.
2598         * cpphash.c (_cpp_lookup_with_hash): Similarly.
2599         * cpplex.c (cpp_ideq, parse_identifier, cpp_token_len,
2600         cpp_spell_token, cpp_output_token): Similarly.
2601         * cpplib.c (lex_macro_node, do_undef, do_pragma,
2602         do_pragma_poison, parse_assertion, do_assert): Similarly.
2603         * cppmacro.c (builtin_macro, parse_args, funlike_invocation_p,
2604         save_parameter, _cpp_create_definition, check_trad_stringification,
2605         cpp_macro_definition): Similarly.
2606         * cppmain.c (cb_define, cb_undef, dump_macro): Similarly.
2607         * c-lex.c (cb_undef, c_lex): Similarly.
2608         * fix-header.c (recognized_function): Similarly.
2609         * cpplib.h (NODE_LEN, NODE_NAME): New.
2610         (cpp_hashnode): Rename length len.
2611
2612 Wed May 16 13:41:10 2001  Jeffrey A Law  (law@cygnus.com)
2613
2614         * pa32-regs.h (HARD_REGNO_MODE_OK): Allow TI/TFmode values in
2615         GPRs.
2616
2617 2001-05-16  Andreas Jaeger  <aj@suse.de>
2618
2619         * Makefile.in (toplev.o): Add dependency on dwarf2asm.h.
2620
2621         * toplev.c: Include dwarf2asm.h for prototype of
2622         dw2_output_indirect_constants.
2623
2624 Wed May 16 19:53:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
2625
2626         * stmt.c (expand_asm_operands): Be able to offload addressof
2627         expression to memory. (PR optimization/185)
2628
2629 Wed May 16 18:53:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
2630
2631         * combine.c (combine_simplify_rtx): Set op0_mode to VOIDmode after
2632         applying distributive law.
2633
2634 2001-05-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2635
2636         * pa-hpux10.h (THREAD_MODEL_SPEC): Define.
2637
2638         * gthr-dce.h (UNUSED): Attribute unused macro.
2639         (__gthread_key_dtor): Make arguments UNUSED.
2640         (__gthread_key_delete): Revise for compatibility with DRAFT4
2641         implementation.
2642
2643 2001-05-16  David Edelsohn  <edelsohn@gnu.org>
2644
2645         * doc/install.texi: Update AIX information.
2646         * README.RS6000: Remove obsolete file.
2647
2648 2001-05-16  Jakub Jelinek  <jakub@redhat.com>
2649             Nathan Sidwell  <nathan@codesourcery.com>
2650
2651         * gcc.c (give_switch): Don't write before start of string.
2652         Always append suffix.
2653
2654 2001-05-16  Nathan Sidwell  <nathan@codesourcery.com>
2655
2656         * cpplex.c (_cpp_lex_token, '/' case): Comments can't appear
2657         after stage3.
2658
2659 2001-05-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2660
2661         * README.ALTOS: Remove obsolete file.
2662
2663 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
2664
2665         * c-lex.h (save_and_forget_protocol_qualifiers,
2666         forget_protocol_qualifiers, remember_protocol_qualifiers):
2667         Remove deleted functions' prototypes.
2668
2669 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
2670
2671         * c-parse.in (methodtype): New production.
2672         (methoddef, methodproto): Collapse separate '-' and '+'
2673         handlers into 1.
2674
2675 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2676
2677         * c-common.h (RID_FIRST_PQ): New.
2678         * c-parse.in (objc_pq_context): New.
2679         (objc parser): Set objc_pq_context rather than calling
2680         remember_protocol_qualifiers and forget_protocol_qualifiers.
2681         Don't call save_and_forget_protocol_qualifiers.
2682         (yylexname): Handle objc protocol qualifiers here.
2683         * stringpool.c (struct str_header): Replace with sp_hashnode.
2684         (SP_EMPTY, SP_LEN, SP_TREE, SP_STR, SP_VALID): New.
2685         (alloc_string): Rename alloc_ident.  Use the SP_ accessors.
2686         Allocate an IDENTIFIER_NODE for each identifier.
2687         (FORALL_STRINGS, set_identifier): Delete.
2688         (FORALL_IDS, expand_string_table, stringpool_statistics): Update.
2689         (ggc_alloc_string): Use an obstack.
2690         (get_identifier, maybe_get_identifier, mark_string_hash): Update.
2691         * tree.h: Update comments.
2692         (set_identifier): Delete.
2693         * objc/objc-act.c (N_PQ, saved_pq, saved_not_pq,
2694         save_and_forget_protocol_qualifiers, forget_protocol_qualifiers,
2695         remember_protocol_qualifiers): Delete.
2696
2697 Tue May 15 22:14:09 2001  Jeffrey A Law  (law@cygnus.com)
2698
2699         * flow.c (life_analysis): After life analysis is complete, do
2700         an optional scan over insns looking for REG_LABEL notes that
2701         reference a deleted label.
2702         (propagate_block_delete_insn): Verify INOTE is a CODE_LABEL
2703         before peeking at LABEL_NUSES.
2704
2705 2001-05-15  Richard Henderson  <rth@redhat.com>
2706
2707         * unwind-sjlj.c (_Unwind_GetDataRelBase): New.
2708         (_Unwind_GetTextRelBase): New.
2709
2710 2001-05-15  Mark Mitchell  <mark@codesourcery.com>
2711
2712         * config/sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
2713
2714 2001-05-15  Geoffrey Keating  <geoffk@redhat.com>
2715
2716         * objc/objc-act.c (handle_class_ref): Use rest_of_decl_compilation
2717         so that CHOOSE_SECTION gets used.
2718
2719         * config/rs6000/sysv4.h (ASM_PREFERRED_EH_DATA_FORMAT): Treat
2720         TARGET_RELOCATABLE like flag_pic for now.
2721
2722 2001-05-15  David Edelsohn  <edelsohn@gnu.org>
2723
2724         * rs6000.md (movdi splitter): Sign extend more efficiently.
2725         * rs6000.c (reg_or_arith_cint_operand): Redefine 64-bit constant
2726         to "long long" valid on 32-bit and 64-bit hosts.
2727         (logical_operand): Cast trunc_int_for_mode return value.
2728         (rs6000_emit_move): Shift macro to encapsulate variable.
2729         (rs6000_va_start): Use HOST_WIDE_INT_PRINT_DEC.
2730         (rs6000_emit_{prologue,epilogue}): EH regno is unsigned but
2731         plus_constant requires signed argument.
2732
2733 2001-05-15  Loren J. Rittle  <ljrittle@acm.org>
2734
2735         * gthr-posix.h: Make additional pthread-* functions weak.
2736
2737 Tue May 15 13:51:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
2738
2739         * recog.c (apply_change_group): Avoid unneeded validating.
2740
2741 2001-05-14  David Edelsohn  <edelsohn@gnu.org>
2742
2743         * rs6000.c (num_insns_constant_wide): Constants are sign-extended.
2744         (num_insns_constant): CONST_INT can be 64-bits.
2745
2746 2001-05-14  Stan Shebs  <shebs@apple.com>
2747
2748         * config/darwin.h (LIB_SPEC): Just use -lSystem.
2749         (LIBGCC_SPEC): Don't define.
2750
2751 2001-05-14  Richard Henderson  <rth@redhat.com>
2752
2753         * configure.in (gcc_cv_as_eh_frame): New test.
2754         * config.in, configure: Rebuild.
2755         * gcc.c (init_spec): Honor USE_AS_TRADITIONAL_FORMAT.
2756
2757 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
2758
2759         * config/ia64/lib1funcs.asm (__divtf3): Fix incorrect bits in
2760         extended precision divide.
2761
2762 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
2763
2764         * config/ia64/ia64.c (rtx_needs_barrier): Call rtx_needs_barrier
2765         for RETURNS as well.
2766
2767 Mon May 14 17:34:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
2768
2769         * i386.h (TARGET_64BIT): Define to constant if !TARGET_BI_ARCH
2770         (CPP_CPU??_SIZE_TYPE): New.
2771         (CPP_CPU??_SPEC, CPP_CPUCOMMON_SPEC): Break out from...
2772         (CPP_CPU_SPEC): ... here; support choosing of CPU.
2773         (EXTRA_SPECS): Add cpp_cpu??, cpp_cpu??sizet, cpp_cpucommon.
2774         (MAX_LONG_TYPE_SIZE, MAX_BITS_PER_WORD): Define to 32 for 32bit-only
2775         compiler.
2776         * i386.c (override_options): Add sorry about not suported modes.
2777
2778 Mon May 14 08:56:47 2001  Jeffrey A Law  (law@cygnus.com)
2779
2780         * config/pa/som.h (NM_FLAGS): Remove.
2781         (ASM_OUTPUT_FUNCTION_PREFIX): No longer truncate subspace names.
2782         (ASM_OUTPUT_SECTION_NAME): Remove.
2783         (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Likewise.
2784
2785 2001-05-14  Mark Mitchell  <mark@codesourcery.com>
2786
2787         * regrename.c (regrename_optimize): Do not rename registers to
2788         leaf registers.
2789
2790 2001-05-14  Alexandre Oliva  <aoliva@redhat.com>
2791
2792         * rtl.texi (CALL_INSN_FUNCTION_USAGE): Note that (and when) it may
2793         contain MEMs.  Remove useless distinction about clobbering
2794         registers.
2795
2796 2001-05-13  Geoff Keating  <geoffk@redhat.com>
2797
2798         * config/rs6000/rs6000.h (EXCEPTION_SECTION): Move to...
2799         * config/rs6000/aix.h (EXCEPTION_SECTION): ... here.
2800         * config/rs6000/sysv4.h (CONST_SECTION_ASM_OP): Delete.
2801         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2802         (EXCEPTION_SECTION): Define.
2803
2804 2001-05-13  Zack Weinberg  <zackw@stanford.edu>
2805
2806         * libgcc2.c, libgcc2.h: Restore __eprintf.  Label as used for
2807         binary backward compat only.
2808         * Makefile.in (LIB2FUNCS_ST): New.  Put _eprintf here, not
2809         in LIB2FUNCS.  Pass it to mklibgcc.
2810         * mklibgcc.in: Handle LIB2FUNCS_ST.
2811
2812         * Makefile.in (installdirs): Don't create $(gcc_tooldir).
2813
2814 2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
2815
2816         * tm.texi (THREAD_MODEL_SPEC): Document it.
2817         * gcc.c (main): Use it.
2818         * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Define it.
2819         * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Likewise.
2820
2821 2001-05-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2822
2823         * rtl.h (SYMBOL_REF_WEAK): New macro.
2824         * rtlanal.h (rtx_addr_can_trap): Use it, a weak SYMBOL_REF can trap.
2825         * varasm.c (make_decl_rtl): Mark SYMBOL_REF weak if necessary.
2826         * rtl.texi (SYMBOL_REF_WEAK): Document it.
2827         * gcc.texi: Remove wrong description.
2828
2829 2001-05-13  Mark Mitchell  <mark@codesourcery.com>
2830
2831         * Makefile.in (STAMP): New macro.
2832         Replace all uses of `touch' with $(STAMP).
2833         * fixinc/Makefile.in: Likewise.
2834
2835 Sun May 13 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2836
2837         * configure.in: ldopen is never in -lexc, so don't test for it.
2838         Add test for exc_resume in -lexc for Ada.
2839         * configure: Regenerated.
2840
2841 2001-05-12  Richard Henderson  <rth@redhat.com>
2842
2843         * dwarf2asm.c (size_of_encoded_value): New function.
2844         * dwarf2asm.h: Declare it.
2845         * except.c (output_function_exception_table): Align the TType
2846         array only as wide as the encoding.
2847
2848 2001-05-12  Zack Weinberg  <zackw@stanford.edu>
2849
2850         * extend.texi: Document #pragma GCC java_exceptions.
2851
2852 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2853
2854         * c-parse.in (bison parser, init_reswords): Remove uses of
2855         doing_objc_thang.
2856         * c-tree.h (doing_objc_thang): Remove.
2857
2858 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
2859
2860         * cpplex.c (_cpp_lex_token): Ensure we warn at most once
2861         about files not ending in newlines.
2862
2863 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2864
2865         * dwarfout.c (dwarfout_init): Add cast.
2866         * sched-deps.c (sched_analyze_insn): Remove unused vars.
2867         * unwind-dw2-fde.c (_Unwind_Find_FDE): Flag unused parameter so.
2868 cp:
2869         * method.c (build_mangled_C99_name): Remove unused prototype.
2870
2871 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
2872
2873         * config/arm/arm.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Use delta.
2874
2875 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
2876
2877         * defaults.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
2878         * tm.texi (TARGET_PRTMEMFUNC_VBIT_LOCATION): Document.
2879
2880 2001-05-11  Richard Henderson  <rth@redhat.com>
2881
2882         * defaults.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
2883         * dwarf2asm.c (dw2_force_const_mem, dw2_output_indirect_constant_1,
2884         dw2_output_indirect_constants, dw2_asm_output_encoded_addr_rtx): New.
2885         * dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): Prototype.
2886         (dw2_output_indirect_constants): Prototype.
2887         * dwarf2out.c (dwarf2out_begin_prologue): Generate
2888         current_function_func_begin_label if we'll need it for EH.  Exit
2889         early for IA64_UNWIND_INFO.
2890         * except.c: Get DW_EH_PE_* defines from dwarf2.h.
2891         (eh_data_format_name): Update for indirect references.
2892         (output_function_exception_table): Care for IA64_UNWIND_INFO.
2893         Handle ASM_PREFERRED_EH_DATA_FORMAT.
2894         * except.h (MUST_USE_SJLJ_EXCEPTIONS): IA64_UNWIND_INFO needn't
2895         define HAVE_eh_return etc.
2896         * final.c (final_start_function): Always call dwarf2out_begin_prologue.
2897         (final_end_function): Don't call output_function_exception_table.
2898         * toplev.c (compile_file): Call dw2_output_indirect_constants.
2899         (rest_of_compilation): Invoke output_function_exception_table
2900         for ia64 before assemble_end_function.
2901         * tm.texi (ASM_PREFERRED_EH_DATA_FORMAT): Document.
2902         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Document.
2903
2904         * unwind-dw2.c (_Unwind_GetTextRelBase, _Unwind_GetDataRelBase): New.
2905         * unwind.h: Declare them.
2906         * libgcc-std.ver: Export them.
2907         * unwind-pe.h: New file.
2908
2909         * config/alpha/elf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
2910
2911         * config/ia64/fde-glibc.c: Use "struct unw_table_entry"
2912         instead of "fde".
2913         (find_fde_for_dso): Extract DT_PLTGOT.
2914         (_Unwind_FindTableEntry): Rename from __ia64_find_fde; return
2915         the segment and gp as well.
2916         * config/ia64/frame-ia64.c: Remove file.
2917         * config/ia64/frame-ia64.h: Remove file.
2918         * config/ia64/unwind-ia64.c: New file.
2919         * config/ia64/unwind-ia64.h: New file.
2920         * config/ia64/ia64.h (ASM_OUTPUT_EH_CHAR): Remove.
2921         (ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT): Remove.
2922         (ASM_OUTPUT_EH_DOUBLE_INT): Remove.
2923         (ASM_PREFERRED_EH_DATA_FORMAT): New.
2924         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
2925         (IA64_UNWIND_INFO): Re-enable.
2926         (HANDLER_SECTION): Remove.
2927         (EH_RETURN_DATA_REGNO): New.
2928         * config/ia64/ia64.md (exception_receiver): Remove.
2929         * config/ia64/t-glibc (LIB2ADDEH): Re-enable.
2930         * config/ia64/t-ia64 (LIB2ADDEH): Re-enable.
2931
2932 2001-05-11  Richard Henderson  <rth@redhat.com>
2933
2934         * config/ia64/ia64.c (group_barrier_needed_p): Don't allow
2935         calls and jumps to be bundled together.
2936         (ia64_reorg): Emit a break after a noreturn call that ends
2937         a function.
2938         * config/ia64/ia64.md (break_f): New.
2939
2940 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
2941
2942         * c-lex.c (lex_charconst): Convert into a simple wrapper
2943         around cpp_interpret_charconst, to which most of the code
2944         body is moved.
2945         * cppexp.c (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE,
2946         MAX_LONG_TYPE_SIZE, MAX_INT_TYPE_SIZE, MAX_CHAR_TYPE_MASK,
2947         MAX_WCHAR_TYPE_MASK, parse_escape, parse_charconst): Remove.
2948         (lex): Use cpp_interpret_charconst.
2949         * cpplex.c (parse_escape, read_ucs, cpp_interpret_charconst,
2950         hex_digit_value): New functions.
2951         (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): New macros.
2952         * cpplib.h (cpp_interpret_charconst): New prototype.
2953         * Makefile.in: Update.
2954
2955 2001-05-12  Dean Wakerley  <dean@wakerley.com>
2956
2957         * doc/install.texi: New file. Converted to texinfo from the HTML
2958         documentation in wwwdocs/htdocs/install.
2959
2960 Fri May 11 15:50:13 2001  Jeffrey A Law  (law@cygnus.com)
2961
2962         * gcse.c (insert_insn_end_bb): Do not search for assignments to
2963         non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
2964
2965         * toplev.c (compile_file): Move comment for opening output
2966         file to just before the code that opens the output file.
2967
2968 2001-05-11  Jakub Jelinek  <jakub@redhat.com>
2969
2970         * regmove.c (regmove_optimize): Suppress the optimization for
2971         unchanging destination register.  Add comment above function.
2972
2973 2001-05-11  Zack Weinberg  <zackw@stanford.edu>
2974
2975         * Makefile.in: Exterminate all references to assert.h.
2976         * cross-make: Likewise.
2977         * assert.h: Delete.
2978         * configure.in: Correct commentary.
2979         * configure: Regenerate.
2980
2981         * libgcc-std.ver, libgcc2.c, libgcc2.h, sys-protos.h:
2982         Remove __eprintf.
2983
2984         * config/t-freebsd, config/t-linux, config/t-linux-aout,
2985         config/t-netbsd, config/t-rtems, config/x-linux,
2986         config/i386/t-beos, config/mcore/t-mcore, config/mcore/t-mcore-pe:
2987         No need to override INSTALL_ASSERT_H.
2988
2989         * fixinc/fixinc.dgux, fixinc/fixinc.interix, fixinc/fixinc.ptx,
2990         fixinc/fixinc.svr4, fixinc/fixinc.winnt, fixinc/fixinc.wrap,
2991         fixinc/fixincl.sh: Don't install assert.h into objdir/include.
2992
2993 2001-05-11  Graham Stott  <grahams@redhat.com>
2994
2995         * combine.c (simplify_comparison): Fix typo.
2996
2997 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
2998
2999         * loop.h (struct movables): Remove `num'.
3000         * loop.c (scan_loop): Don't set it.  Use count_insns_in_loop.
3001         Adjust call to strength_reduce.
3002         (num_unmoved_movables): New function.
3003         (move_movables): Don't set movables->num.
3004         (strength_reduce): Compute the number of instructions in the loop
3005         here, rather than in the caller.
3006         (check_dbra_loop): Always clear reversible_mem_store if there
3007         are any memory sets.
3008         (loop_regs_scan): Don't count instructions here.
3009         (count_insn_in_loop): New function.
3010
3011 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
3012
3013         * optabs.c (emit_libcall_block): Don't mark calls as CONST_CALL_P.
3014
3015 2001-05-11  Neil Booth  <neil@daikokuya.demon.co.uk>
3016
3017         * c-common.c (finish_label_expr): New function, lifted from
3018         from cp/semantics.c.
3019         * c-common.h (finish_label_expr, lookup_label): New prototypes.
3020         * c-parse.in: Move 3 blocks of parser code into new functions.
3021         * c-typeck.c (simple_asm_stmt, c_cast_expr): New functions.
3022         * c-tree.h (simple_asm_stmt, c_cast_expr): New prototypes.
3023         (lookup_label): Remove.
3024
3025 2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
3026
3027         * config/mn10300/t-mn10300 (dp-bit.c, fp-bit.c): Don't define
3028         FLOAT_BIT_ORDER_MISMATCH.
3029
3030 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
3031
3032         * expr.c (emit_push_insn): Convert PUSH_ROUNDING argument to
3033         bytes.  Reported by Kazu Hirata <kazu@hxi.com>.
3034
3035 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
3036
3037         * expr.c (emit_group_load): extract_bit_field requires a REG or
3038         MEM as an argument.
3039
3040 Thu May 10 14:45:44 2001  Jeffrey A Law  (law@cygnus.com)
3041
3042         * cse.c (cse_insn): Mostly remove first hunk of code which collapsed
3043         a computed jump into an unconditional jump.
3044         In second hunk of code for collapsing computed and conditional jumps
3045         into unconditional jumps, reemit the jump in additional cases.
3046
3047         * jump.c (jump_optimize_1): Do not wrap the new jump target
3048         inside a LABEL_REF; gen_jump will do that automatically.
3049
3050 2001-05-10  Toon Moene  <toon@moene.indiv.nluug.nl>
3051
3052         * dwarf2out.c (mem_loc_descriptor): Do not pass constant pool
3053         contents for a SYMBOL_REF in case of floating point constants.
3054
3055 2001-05-10  DJ Delorie  <dj@redhat.com>
3056
3057         * c-common.c (combine_strings): Widen strings in a
3058         host-endian-independent way.
3059
3060 2001-05-10  Joseph S. Myers  <jsm28@cam.ac.uk>
3061
3062         * c-parse.in: Remove many shift/reduce conflicts.  Update
3063         %expect values.
3064         (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
3065         declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
3066         declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
3067         declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
3068         declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
3069         declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
3070         declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
3071         declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
3072         declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
3073         declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
3074         maybe_type_quals_setattrs, typespec_nonattr, typespec_attr,
3075         typespec_reserved_nonattr, typespec_reserved_attr,
3076         typespec_nonreserved_nonattr, maybe_setattrs, structsp_attr,
3077         structsp_nonattr, components_notype, component_notype_declarator,
3078         absdcl1_ea, absdcl1_noea, direct_absdcl1, absdcl_maybe_attribute,
3079         firstparm, setspecs_fp): New
3080         (typed_declspecs, reserved_declspecs, typed_typespecs,
3081         reserved_typespecquals, declmods, typespec, typespecqual_reserved,
3082         typed_declspecs_no_prefix_attr reserved_declspecs_no_prefix_attr
3083         declmods_no_prefix_attr, nonempty_type_quals, structsp,
3084         type_quals): Remove.  Users updated.
3085         (initdecls, notype_initdecls, after_type_declarator,
3086         parm_declarator, notype_declarator, absdcl1, components, ivars):
3087         Don't allow attributes at the start of a declarator; include them
3088         in the production containing the declarator instead.  Always
3089         require type specifiers before trying to redeclare a typedef name.
3090         (typename): Allow for attributes but warn that they are ignored.
3091         (parmlist, firstparm, setspecs_fp): Include attributes in
3092         parmlist; suck them off the parser stack in firstparm using
3093         setspecs_fp.
3094
3095 Thu May 10 09:17:42 2001  Jeffrey A Law  (law@cygnus.com)
3096
3097         * ifcvt.c (merge_if_block): Use any_uncondjump_p, not simplejump_p
3098         to determine if a block has an unconditional jump at its end.
3099
3100         * jump.c (jump_optimize_1): When converting a conditional jump
3101         to an unconditional jump, build the jump using gen_jump instead
3102         of just modify operands in-place.
3103
3104 2001-05-09  Zack Weinberg  <zackw@stanford.edu>
3105
3106         * cppinit.c (cpp_post_options): Shut off macro expansion if
3107         -fpreprocessed.
3108         * cpplib.c (_cpp_handle_directive): If -fpreprocessed, accept
3109         IN_I directives only if the # is in column 1 and the directive
3110         name begins in column 2.
3111         * cppmain.c (scan_buffer): Insert a space between # and an
3112         identifier, when that identifier is a directive name.
3113
3114         * tradcpp.c (struct file_buf): Add a pointer to the next entry
3115         in the header search path.
3116         (enum node_type): Add T_INCLUDE_NEXT.
3117         (directive_table): Add entry for include_next.
3118         (do_include_next): New function.
3119         (process_include): New routine, broken out of do_include.
3120         (finclude): Insert 'nhd' argument, to be copied into
3121         next_header_dir of the new buffer.
3122         (main): Adjust to match.
3123         * gsyslimits.h, limity.h: Un-indent #include_next.
3124
3125 2001-05-09  Joseph S. Myers  <jsm28@cam.ac.uk>
3126
3127         * objc.texi: Move from ../libobjc/objc-features.texi.  Adjust for
3128         inclusion as a chapter of the GCC manual.
3129         * gcc.texi: Include objc.texi.
3130         * fdl.texi: Use @unnumberedsec for the addendum.
3131         * Makefile.in ($(srcdir)/gcc.info, gcc.dvi): Update dependencies.
3132
3133 Wed May  9 16:01:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
3134
3135         * i386.md (DImode move splitters): Use !MMX and !SSE for the condition.
3136
3137 Wed May  9 10:40:25 2001  Alexandre Oliva  <aoliva@redhat.com>
3138
3139         * regclass.c (scan_one_insn): Update REG_N_REFS when optimizing
3140         handling of two-address insns.
3141
3142 Wed May  9 10:36:18 2001  Alexandre Oliva  <aoliva@redhat.com>
3143
3144         * Makefile.in (NM_FOR_TARGET): Look for ./nm, then
3145         ../binutils/nm-new instead of ../binutils/nm.
3146
3147 Wed May  9 12:15:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
3148
3149         * i386.md (movdi splitter): Fix the splitting condition
3150         (float_extenddftf splitter): Fix mode.
3151
3152 Wed May  9 12:05:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
3153
3154         * genrecog.c (write_switch): Avoid outputting of switch for
3155         types wider than int.
3156
3157 2001-05-03  Andrew Haley  <aph@cambridge.redhat.com>
3158
3159         * reload1.c (copy_eh_notes): New function.
3160         (emit_input_reload_insns): Call it.
3161         (emit_output_reload_insns): Call it.
3162
3163 2001-05-07  Zack Weinberg  <zackw@stanford.edu>
3164
3165         * config.gcc (i[34567]86-*-sco3.2v4*, i[34567]86-*-sco*):
3166         Delete stanzas.
3167         * config/i386/sco.h, config/i386/sco4.h, config/i386/scodbx.h,
3168         config/i386/sco4dbx.h, config/i386/x-sco4: Delete file.
3169
3170         * optabs.c: Delete #ifdef BROKEN_LDEXP block.
3171
3172 2001-05-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3173
3174         * pa.md (interspace_jump): Revise comment.
3175         (builtin_longjmp): Block initial setup insns from delay slot of
3176         interspace branch.
3177         (builtin_setjmp_receiver): New expander to save and restore PIC
3178         register.
3179
3180         * som.h (NM_FLAGS): Remove `-n' sort option.  Revise comment.
3181
3182 Mon May  7 09:30:14 2001  Jeffrey A Law  (law@cygnus.com)
3183
3184         * toplev.c (compile_file): Set up the output file before we call
3185         the various initializers for the compiler.
3186
3187         * except.c (sjlj_mark_call_sites): Do not search for assignments to
3188         non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
3189
3190         * pa.h (MAX_LONG_TYPE_SIZE): Should be 32, not 64.
3191         * pa-64.h (*_TYPE_SIZE): Undefine before redefining.
3192
3193 2001-05-06  Zack Weinberg  <zackw@stanford.edu>
3194
3195         * Makefile.in (tradcpp0): Correct typo in dependency list.
3196
3197 2001-05-06  Geoff Keating  <geoffk@redhat.com>
3198
3199         * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't save
3200         the link register if we're not going to use it.
3201
3202         * config/rs6000/rs6000.c (output_profile_hook): Fix a warning.
3203         (output_function_profiler): Likewise.
3204
3205 2001-05-07  Alan Modra  <amodra@one.net.au>
3206
3207         * pa.c (compute_frame_size): 64-bit frame marker is 16 bytes.
3208
3209 2001-05-06  Alexandre Oliva  <aoliva@redhat.com>
3210
3211         * unroll.c (loop_iterations): Don't sign-extend abs_diff;
3212         zero-extend it.  Make abs_inc unsigned.
3213
3214         * optabs.c (expand_binop): Sign-extend xop0 and xop1 from the
3215         widest mode in narrowing and widening operations.
3216
3217         * config/mips/mips.md: Sign extend CONST_INTs.
3218
3219 2001-05-06  Andreas Jaeger  <aj@suse.de>
3220
3221         * invoke.texi (Option Summary): Add -momit-leaf-frame-pointer
3222         (i386 Options): Document -momit-leaf-frame-pointer.
3223
3224 2001-05-06  Neil Booth  <neil@daikokuya.demon.co.uk>
3225
3226         * c-typeck.c (internal_build_compound_expr): Check for
3227         array to pointer conversion just once.
3228
3229 2001-05-05  Richard Henderson  <rth@redhat.com>
3230
3231         * integrate.c (copy_insn_list): Substitute NOTE_EXPECTED_VALUE.
3232
3233 2001-05-05  Richard Henderson  <rth@redhat.com>
3234
3235         * except.c (remove_fixup_regions): Adjust REG_EH_REGION notes
3236         to the parent of the fixup region.
3237
3238 2001-05-05  Jakub Jelinek  <jakub@redhat.com>
3239
3240         * gcc.c (cpp_options): Define __NO_INLINE__ unless we are honoring
3241         "inline" keyword.
3242         * cpp.texi (__NO_INLINE): Document it.
3243
3244 2001-05-05  Neil Booth  <neil@daikokuya.demon.co.uk>
3245
3246         * cppfiles.c (struct include_file): New member err_no.
3247         (find_or_create_entry): Set it.
3248         (open_file): Don't set fds to -2.  Instead, use err_no to
3249         remember previous errors, if any.
3250
3251 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3252
3253         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Optimize moves
3254         between X and Y by using sequences of xgdx and xgdy.
3255
3256 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3257
3258         * config/m68hc11/m68hc11.md ("*logicalsi3_silshr16"): Use '?' instead
3259         of '!' for the 'D' alternative ('!' is too strong).
3260         ("*logicalsi3_silshl16"): Likewise.
3261         ("movstricthi"): Accept 'A' when 'd' constraint, remove spurious '+'.
3262         ("movstrictsi"): Remove spurious '+'.
3263         ("movstrictqi"): Don't accept 'A' and remove spurious '+'.
3264         ("tstqi_1", "*lshrqi3_const1"): Put 'm' constraint before 'd'.
3265         ("subqi3"): Disparage with '!' the 'x' and 'y' registers to avoid
3266         a reload to them.
3267
3268 2001-05-04  David Edelsohn  <edelsohn@gnu.org>
3269
3270         * calls.c (store_one_arg): Don't divide align by BITS_PER_UNIT.
3271
3272 2001-05-04  Lars Brinkhoff  <lars@nocrew.org>
3273
3274         * simplify-rtx.c (simplify_binary_operation): Simplify ~a + 1
3275         into -a.
3276
3277 2001-05-04  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3278
3279         * config/rs6000/rs6000.md (ashldi3 splits): Guard with
3280         TARGET_POWERPC64.
3281
3282 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3283
3284         * config/m68hc11/m68hc11.md (lshrhi3_const1): Fix shift of
3285         soft register, use ror instead of rol.
3286
3287 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3288
3289         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Take
3290         into account pre/post increment decrement for 68HC12.
3291         Fix other problems in replacement and fix call to reg_mentioned_p.
3292
3293 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3294
3295         * config/m68hc11/larith.asm (L_regs_frame): New for _.frame.
3296         Put the soft registers in bss for 68HC12.
3297         (L_regs_d3_4): New for _.d3 and _.d4.
3298         (L_regs_d5_6): Likewise.
3299         (L_regs_d1_2): Likewise.
3300         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Compile new parts.
3301
3302 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3303
3304         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__HAVE_SHORT_DOUBLE__
3305         to the pre-processor when -fshort-double is specified.
3306         * config/m68hc11/m68hc11.2 (CPP_SPEC): Likewise.
3307
3308 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3309
3310         * config/m68hc11/larith.asm (divmodhi4): Empty for 68HC12.
3311         (__mulsi3): Rewrite for 68HC12.
3312         * config/m68hc11/m68hc11.md (divmodhi4): Use idivs for 68HC12.
3313         Mark 'x' constraint with earlyclobber to prevent a
3314         RELOAD_FOR_OTHER_ADDRESS to go in it.
3315         (mulhi3_m68hc12): New pattern.
3316         (mulhi3_m68hc11): Rename of mulhi3.
3317         (mulhi3): New expand for 68HC12 optimisation.
3318         (umulhisi3, mulhisi3): New patterns for 68HC12.
3319
3320 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3321
3322         * config/m68hc11/m68hc11.md (*tbne, *tbeq): New patterns for 68HC12.
3323         (extendqisi2, extendqihi2, extendhisi2): Use sex for 68HC12.
3324         (uminqi3, umaxqi3, uminhi3, umaxhi3): New pattern for 68HC12.
3325
3326 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3327
3328         * config/m68hc11/m68hc11.h (CONST_COSTS): Make the cost of
3329         constants cheap after reload.
3330         * config/m68hc11/m68hc11.c (m68hc11_shift_cost): Shift by 16 and 32
3331         are cheap.
3332         (m68hc11_rtx_costs): Cost of multiplication by 65536 is expensive
3333         so that gcc prefers a shift by 16.
3334         (m6811_cost, m6812_cost): Make the shift cheap compared to an add.
3335
3336 2001-05-04  Nick Clifton  <nickc@cambridge.redhat.com>
3337
3338         * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Define.
3339
3340 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3341
3342         * alpha.h: NULL_PTR -> NULL.
3343         * arm.c: Likewise.
3344         * arm.h: Likewise.
3345         * avr.h: Likewise.
3346         * c4x.c: Likewise.
3347         * c4x.h: Likewise.
3348         * i386.c: Likewise.
3349         * i386.md: Likewise.
3350         * i860.c: Likewise.
3351         * ia64.c: Likewise.
3352         * m68hc11.h: Likewise.
3353         * rs6000.h: Likewise.
3354         * sh.c: Likewise.
3355         * sh.h: Likewise.
3356         * sparc.h: Likewise.
3357         * v850.c: Likewise.
3358
3359         * expr.c: Likewise.
3360         * final.c: Likewise.
3361         * gcc.c: Likewise.
3362         * recog.c: Likewise.
3363
3364 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3365
3366         * i386.c (ix86_emit_restore_regs_using_mov, ix86_save_reg): Change
3367         `bool' parameter to `int'.
3368
3369         * hash.c (hash_lookup): Likewise.
3370
3371         * hash.h (hash_lookup): Likewise.
3372
3373         * tlink.c (symbol_hash_lookup, demangled_hash_lookup): Likewise.
3374
3375 Fri May  4 13:10:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
3376
3377         * i386.c (x86_initialize_trampoline): Fix mode of constant.
3378
3379 2001-05-03  Geoff Keating  <geoffk@redhat.com>
3380
3381         * invoke.texi (i386 Options): Delete references to -malign-jumps,
3382         -malign-loops, -malign-functions.
3383         * i386.c (ix86_align_funcs): Delete.
3384         (ix86_align_loops): Delete.
3385         (ix86_align_jumps): Delete.
3386         (override_options): Mark -malign-* as obsolete.  Emulate their
3387         behaviour with the -falign-* options.  Default -falign-* from
3388         the processor table.
3389         * i386.h (FUNCTION_BOUNDARY): Define to 16; revert Richard Kenner's
3390         patch of Wed May 2 13:09:36 2001.
3391         (LOOP_ALIGN): Delete.
3392         (LOOP_ALIGN_MAX_SKIP): Delete.
3393         (LABEL_ALIGN_AFTER_BARRIER): Delete.
3394         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Delete.
3395
3396 2001-05-04  Andreas Jaeger  <aj@suse.de>
3397
3398         * except.h: Add prototype declaration for
3399         expand_builtin_init_dwarf_reg_sizes.
3400
3401 2001-05-03  Geoffrey Keating  <geoffk@redhat.com>
3402
3403         * Makefile.in (site.exp): Set TESTING_IN_BUILD_TREE.
3404
3405 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3406
3407         * config/m68hc11/m68hc11.md ("bitcmpqi"): New pattern for bitb
3408         instruction.
3409         ("bitcmpqi2"): New pattern for bit-extract and test.
3410         ("bitcmphi"): New pattern for bitb/bita instructions.
3411
3412 2001-05-03  Joseph S. Myers  <jsm28@cam.ac.uk>
3413
3414         * gccbug.in: Use a temporary directory when the mktemp command is
3415         not available.
3416
3417 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3418
3419         * config/m68hc11/m68hc11.h (STATIC_CHAIN_REGNUM): Use soft z register
3420         instead of _.d1.
3421         (INITIALIZE_TRAMPOLINE): Call it.
3422         (TRAMPOLINE_SIZE): Define according to 68HC11/68HC12.
3423         (TRAMPOLINE_TEMPLATE): Remove.
3424         * config/m68hc11/m68hc11.c (m68hc11_initialize_trampoline): New.
3425         * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline):
3426         Declare.
3427
3428 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
3429
3430         * config/t-freebsd: Don't install "assert.h" in gcc.  Compile crtbeginS.o
3431         and crtendS.o with PIC.
3432
3433 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3434
3435         * config/m68hc11/larith.asm (__mulqi3): Fix multiplication of two
3436         negative numbers.
3437         (___subdi3, ___adddi3): Use x instead of y as index register.
3438         (__init_bss_section, __map_data_section): Optimize for 68HC12.
3439         (__memset, __memcpy): Likewise.
3440         (regs): Put the soft registers in bss for 68HC12.
3441         (abort): Use trap to abort for 68hc12.
3442         (__mulhi3, __mulhi32): Use emul for 68hc12.
3443         (__mulsi3): Avoid to use the tmp soft register for 68hc12.
3444
3445 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3446
3447         * config/m68hc11/m68hc11.h (LIMIT_RELOAD_CLASS): Don't define.
3448         * config/m68hc11/m68hc11-protos.h (limit_reload_class): Remove.
3449         * config/m68hc11/m68hc11.c (limit_reload_class): Remove.
3450         (m68hc11_override_options): Remove setting of flag_no_nonansi_builtin.
3451         Set 68HC12 min offset to -65536.
3452         (print_operand): Put parenthesis arround the operand if it refers
3453         to a symbol having the same name as a register.
3454         (m68hc11_z_replacement): When z register is replaced by its
3455         equivalent soft register, force the insn to be re-recognized.
3456         (m68hc11_check_z_replacement): Fix the test when destination is
3457         the index register and z dies in the insn.
3458         (m68hc11_reorg): Remove the REG_DEAD notes beforce recomputing them.
3459
3460 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3461
3462         * config/m68hc11/m68hc11.c (m68hc11_override_options): Initialize
3463         costs according to processor variant.
3464         (m68hc11_shift_cost): New function to compute shift costs.
3465         (m68hc11_rtx_costs): Define costs according to processor variant.
3466         (m6811_cost): Costs for 68HC11.
3467         (m6812_cost): Costs for 68HC12.
3468         (COSTS_N_INSNS): Remove.
3469
3470         * config/m68hc11/m68hc11.h (RTX_COSTS): New.
3471         (DEFAULT_RTX_COSTS): Remove.
3472         (CONST_COSTS): Define costs according to OUTER_CODE.
3473         (processor_costs): New struct to define costs.
3474         (m68hc11_cost): Pointer to current costs.
3475
3476 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3477
3478         * config/m68hc11/m68hc11.md (*addhi3_68hc12): Fix generation
3479         and use m68hc11_notice_keep_cc when using leax/leay.
3480         (addhi3 split): Reject split if the insn is handled by
3481         leax/leay above.
3482         * config/m68hc11/m68hc11.c (m68hc11_split_move): For 68HC12 the
3483         push must be handled in a special way if the source operand uses
3484         sp as index register.
3485         (m68hc11_notice_keep_cc): New function.
3486         (m68hc11_gen_movhi): Use it when an insn changes a register but
3487         not the flags.
3488         (m68hc11_gen_movqi): Fix move for 68HC12.
3489         * config/m68hc11/m68hc11-protos.h (m68hc11_notice_keep_cc): Declare.
3490
3491 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3492
3493         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use LCT_CONST
3494         and don't pass operands[0] to emit_library_call_value.
3495
3496 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3497
3498         * config/m68hc11/m68hc11.md (tsthi_1): Use cpd for 68HC12.
3499         (zero_extendsi split): Simplify and use (zero_extendhi).
3500         (*addhi3): Remove 'w' constraint since stack pointer is handled
3501         by (addhi3_sp).
3502         (*ashlhi3_2): Operand 2 is clobbered use '+' for its constraint.
3503         (*ashlhi3, *ashrhi3, *lshrhi3): Likewise.
3504         (*ashrhi3_const): Fix shift by 7.
3505         (*lshrsi3_const16): Fix template.
3506         (call, call_value): Fix constraint and predicate.
3507
3508 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3509
3510         * config/m68hc11/m68hc11.md (X_REGNUM, D_REGNUM): New constant.
3511         (Y_REGNUM, SP_REGNUM, PC_REGNUM, A_REGNUM, B_REGNUM): Likewise.
3512         (CC_REGNUM): Likewise.
3513         (*unnamed splits): Use above constants instead of hard coded numbers.
3514         (*adcq, *subcq, *addsi_carry, *rotlqi3_with_carry): Likewise.
3515         (*rotlhi3_with_carry, *rotrhi3_with_carry): Likewise.
3516         (*return_16bit, *unnamed peepholes): Likewise.
3517
3518 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
3519
3520         * config.gcc(rs6000-ibm-aix|powerpc-ibm-aix):  Do not include
3521         rs6000/rs6000.h twice.
3522
3523 2001-05-03  Mark Elbrecht  <snowball3@bigfoot.com>
3524
3525         * config/i386/djgpp.h (CPP_PREDEFINES): Define __GO32__.
3526         (CPP_SPEC): Conditionally define MSDOS and GO32.
3527         (SUBTARGET_SWITCHES): Ignore -mbnu210 and -mno-bnu210.
3528         (SUBTARGET_OVERRIDE_OPTIONS): Warn that -mbnu210 and -mno-bnu210 are
3529         ignored.
3530         (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Remove.
3531
3532 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
3533
3534         * config/mn10300/mn10300.md: Sign-extend GEN_INT operands.
3535
3536 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
3537
3538         * integrate.h (struct inline_remap): Add leaf_reg_map table.
3539         * integrate.c (expand_inline_function): Use xcalloc to allocate
3540         memory.
3541         (copy_rtx_and_substitute): Use the leaf_reg_map for leaf
3542         registers.
3543
3544 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
3545
3546         * c-dump.c (dequeue_and_dump): Don't look at DECL_ASSEMBLER_NAME
3547         if it is not set.
3548
3549 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
3550
3551         * config/mn10300/mn10300.h (LINK_SPEC): Pass --relax to the
3552         linker if -mrelax is given.
3553         (TARGET_SWITCHES): Document -mrelax.
3554
3555         Re-installed 2001-01-09's patch:
3556         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
3557         if it's wider than long and the target's long is wider than the
3558         host's.
3559
3560 2001-05-02  David O'Brien  <obrien@FreeBSD.org>
3561
3562         * config.gcc, config/rs6000/aix51.h, config/rs6000/mach.h:  Do not
3563         directly include rs6000/rs6000.h.  Instead do it in tm.h.
3564
3565 2001-05-02  Stan Shebs  <shebs@apple.com>
3566
3567         * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Default to
3568         NSConstantString for NeXT-style runtimes.
3569         (STRING_OBJECT_GLOBAL_NAME): New macro.
3570         (enum objc_tree_index): Add values OCTI_CNST_STR_GLOB_ID and
3571         OCTI_STRING_CLASS_DECL.
3572         (constant_string_global_id): New macro.
3573         (string_class_decl): Ditto.
3574         (setup_string_decl): New function.
3575         (build_objc_string_object): Use it to build a NeXT runtime
3576         compatible string initializer.
3577
3578 2001-05-02  Jakub Jelinek  <jakub@redhat.com>
3579
3580         * tradcpp.c (do_define): Make sure we don't walk past limit.
3581
3582 2000-05-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3583
3584         * config/rs6000/rs6000.c (rs6000_legitimate_address): Allow any stack
3585         offsets if not REG_OK_STRICT.
3586
3587         * config/rs6000/rs6000.h (REG_OK_STRICT_FLAG): New macro.
3588         (INT_REG_OK_FOR_INDEX_P): Likewise.
3589         (INT_REG_OK_FOR_BASE_P): Likewise.
3590         (REG_OK_FOR_INDEX_P): Use INT_REG_OK_FOR_INDEX_P.
3591         (REG_OK_FOR_BASE_P): Use INT_REG_OK_FOR_BASE_P.
3592         (LEGITIMATE_OFFSET_ADDRESS_P): Use INT_REG_OK_FOR_INDEX_P and
3593         INT_REG_OK_FOR_BASE_P instead of REG_OK_FOR_INDEX_P and
3594         REG_OK_FOR_BASE_P. Take an additional parameter.
3595         (LEGITIMATE_INDEXED_ADDRESS_P): Likeewise.
3596         (LEGITIMATE_INDIRECT_ADDRESS_P): Likewise.
3597         (LEGITIMATE_LO_SUM_ADDRESS_P): Likewise.
3598         (GO_IF_LEGITIMATE_ADDRESS): Move code into new function
3599         rs6000_legitimate_address() and use it.
3600         * config/rs6000/rs6000.c: Update all callers.
3601         (rs6000_legitimate_address): New function.
3602
3603 2001-05-02  David Edelsohn  <edelsohn@gnu.org>
3604
3605         * config/rs6000/rs6000.c (rs6000_emit_move): Merge
3606         special_constant conditional blocks together.
3607
3608 2001-05-02  Dale Johannesen  <dalej@apple.com>
3609
3610         * config/rs6000/rs6000.h (RS6000_ARG_SIZE): Remove unused NAMED
3611         parameter.
3612         (STRICT_ARGUMENT_NAMING): Define.
3613         * config/rs6000/rs6000.c (function_arg_advance, function_arg,
3614         function_arg_partial_nregs, setup_incoming_varargs): Remove
3615         args logic which depends on "named" now that STRICT_ARGUMENT_NAMING
3616         is defined.
3617
3618 Wed May  2 13:09:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3619
3620         * config/i386/i386.h (FUNCTION_BOUNDARY): Result is unsigned.
3621
3622         * function.c (fixup_var_regs_1, case SUBREG): Use promoted mode
3623         for replacement.
3624
3625         * expr.c (store_field): Do nothing except elaborate side-effects if
3626         zero-bit field.
3627
3628 2001-05-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3629
3630         * c-lex.c: NULL_PTR -> NULL.
3631         * cse.c: Likewise.
3632         * emit-rtl.c: Likewise.
3633         * gcse.c: Likewise.
3634         * genpeep.c: Likewise.
3635         * jump.c: Likewise.
3636         * mips-tdump.c: Likewise.
3637         * reload1.c: Likewise.
3638         * rtlanal.c: Likewise.
3639         * stmt.c: Likewise.
3640         * stor-layout.c: Likewise.
3641         * toplev.c: Likewise.
3642
3643 2001-05-01  Per Bothner  <per@bothner.com>
3644
3645         * expr.c (expand_expr):  When compiling LABELED_BLOCK_EXPR,
3646         call do_pending_stack_adjust before emiting label.
3647
3648 2001-05-01  Mark Mitchell  <mark@codesourcery.com>
3649
3650         * extend.texi: Fix typo.
3651
3652 2001-05-01  Stan Shebs  <shebs@apple.com>
3653
3654         * objc/objc-act.c (build_module_descriptor): Clear DECL_CONTEXT
3655         of UOBJC_MODULES_decl.
3656         (generate_strings): Clear DECL_CONTEXT of new decl nodes.
3657         (generate_descriptor_table): Ditto.
3658         (generate_protocols): Ditto.
3659         (generate_protocol_list): Ditto.
3660         (generate_classref_translation_entry): Ditto.
3661
3662 2001-05-01  Jeffrey Oldham  <oldham@codesourcery.com>
3663
3664         * invoke.texi (Optimize Options): Add documentation for `--param
3665         max-delay-slot-insn-search' and `--param
3666         max-delay-slot-live-search' and reorder --param section.
3667         * params.def: Modify initial comment.
3668         * params.h (param_info): Add `help' member.
3669         * toplev.c (lang_independent_params): Include `help' description.
3670         (display_help): Print --param parameters.
3671
3672 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
3673
3674         * config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}.
3675         Remove references to deleted files.
3676         (*-*-openbsd): No need to override xmake_file.
3677         (*-*-sysv4): Treat like *-*-sysv.
3678
3679         * configure.in: Probe for ldopen in various places, and set up
3680         collect2 to be linked with them if found.
3681         Don't dink with Windows registry stuff unless $host_os is a
3682         Win32 os name.  Check to see if we need -ladvapi32.
3683         * configure: Regenerate.
3684
3685         * Makefile: Get rid of CLIB and HOST_CLIB.
3686         Substitute in COLLECT2_LIBS and link collect2 against its contents.
3687         * build-make: Get rid of HOST_CLIB.
3688
3689         * config/a29k/x-unix, config/alpha/x-osf, config/i386/x-aix,
3690         config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
3691         config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
3692         config/mips/x-sysv, config/rs6000/x-aix31, config/rs6000/x-aix41,
3693         config/rs6000/x-rs6000: Delete.
3694
3695         * config/i386/x-cygwin, config/m68k/t-aux, config/mips/x-iris:
3696         Don't set CLIB.
3697
3698         24 x-host fragments remain, 0 x-cpu, 3 top level.
3699
3700 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
3701
3702         * aclocal.m4 (gcc_AC_C_CHAR_BIT): Correct test program.
3703         * configure: Regenerate.
3704
3705 2001-05-01  Angela Marie Thomas <angela@cygnus.com>
3706
3707         * Makefile.in (install-headers): Remove redundant dependency.
3708
3709 2001-05-01  Nathan Sidwell  <nathan@codesourcery.com>
3710
3711         * c-tree.texi (USING_STMT): Document.
3712
3713 2001-05-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3714
3715         * bitmap.c: Change NULL_PTR to NULL or "(rtx*)0".
3716         * c-common.c: Likewise.
3717         * c-decl.c: Likewise.
3718         * combine.c: Likewise.
3719         * rs6000.c: Likewise.
3720         * except.c: Likewise.
3721         * explow.c: Likewise.
3722         * expr.c: Likewise.
3723         * fold-const.c: Likewise.
3724         * function.c: Likewise.
3725         * gcc.c: Likewise.
3726         * gcse.c: Likewise.
3727         * integrate.c: Likewise.
3728         * loop.c: Likewise.
3729         * objc/objc-act.c: Likewise.
3730         * recog.c: Likewise.
3731         * reg-stack.c: Likewise.
3732         * reload.c: Likewise.
3733         * reload1.c: Likewise.
3734         * simplify-rtx.c: Likewise.
3735         * stmt.c: Likewise.
3736         * varasm.c: Likewise.
3737
3738 2001-05-01  Gabriel Dos Reis  <gdr@codesourcery.com>
3739
3740         * diagnostic.def: New file.
3741         * diagnostic.h (diagnostic_t): New enum.
3742         * Makefile.in (diagnostic.o): Depend on diagnostic.def
3743
3744 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
3745
3746         * tsystem.h: Test only POSIX for availability of string.h
3747         and time.h.
3748         * config.gcc (all systems): If USG appeared in xm_defines,
3749         change it to POSIX.  If both USG and POSIX appeared, just
3750         delete USG. Remove unnecessary quotes around xm_defines
3751         settings.
3752         (m68k-crds-unos*): Don't #define unos - tested nowhere.
3753         (m68k-apple-aux*): Don't #define AUX - tested nowhere.
3754         (alpha*-*-linux*ecoff*, powerpc-*-linux*libc1,
3755         powerpc-*-linux*): No need to set xm_defines - handled by
3756         global settings for *-*-linux*.
3757
3758 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
3759
3760         * dbxout.c, mips-tfile.c, config/mips/mips.c, xcoffout.c:
3761         Always include gstab.h, not system stab.h.  Don't provide
3762         default definitions of N_CATCH or N_OPT.  Always use the
3763         gstab.h variant of STAB_CODE_TYPE.
3764         * final.c: Don't include stab.h/gstab.h at all, or provide
3765         defaults for N_SLINE and N_SOL.
3766
3767         * xcoffout.c: Can assume N_MAIN, N_DSLINE, N_BSLINE, N_BINCL,
3768         N_EINCL, N_EXCL, N_M2C, N_SCOPE, N_CATCH, and N_OPT are
3769         available.
3770         * sdbout.c: Always include gsyms.h instead of system syms.h.
3771
3772         * configure.in: No need to check for stab.h.
3773         * configure, config.in: Regenerate.
3774         * Makefile.in (final.o): Don't depend on gstab.h.
3775
3776 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
3777             Richard Henderson  <rth@redhat.com>
3778
3779         * extend.texi: Improve documentation of volatile asms.
3780
3781 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
3782
3783         * c-tree.texi: Fix thinko.
3784         * gcc.texi: Likewise.
3785
3786 2001-04-30  Richard Henderson  <rth@redhat.com>
3787
3788         * c-common.c (c_promoting_integer_type_p): New function, from the
3789         corpse of old macro.  Properly promote too-small enumerations and
3790         booleans.  Adjust all callers.
3791         * c-common.h (C_PROMOTING_INTEGER_TYPE_P): Remove.
3792         (c_promoting_integer_type_p): Declare.
3793         * c-decl.c: Adjust C_PROMOTING_INTEGER_TYPE_P invocations.
3794         * c-typeck.c: Likewise.
3795         (default_conversion): Remove now redundant boolean check.
3796
3797 2001-04-30  Jan Hubicka  <jh@suse.cz>
3798             Richard Henderson  <rth@redhat.com>
3799
3800         * regmove.c (try_apply_stack_adjustment): Remove now redundant
3801         sanity checks.
3802         (combine_stack_adjustments_for_block): Don't combine stack
3803         allocation followed by deallocations.  Handle grow-up stacks.
3804
3805 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
3806
3807         * fdl.texi: New file.
3808         * c-tree.texi: Use the GFDL.
3809         * gcc.texi: Likewise.
3810
3811 2001-04-30  Stan Shebs  <shebs@apple.com>
3812
3813         * invoke.texi: Add a section documenting Objective-C options.
3814
3815 2001-04-27  Andrew Haley  <aph@cambridge.redhat.com>
3816
3817         * emit-rtl.c (try_split):  Copy EH notes to sequence.
3818
3819 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
3820
3821         * regmove.c (record_stack_memrefs): Catch all references to the
3822         stack pointer.
3823
3824 2001-04-29  Toomas Rosin <toomas at ns dot tklabor dot ee>
3825
3826         * Makefile.in (stmp-fixinc): quote shell assignment values
3827
3828 2001-04-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3829
3830         * c-aux-info.c: NULL_PTR->NULL in calls to `concat'.
3831
3832         * gcc.c: Likewise.
3833
3834         * prefix.c: Likewise.
3835
3836 2001-04-28  Stan Shebs  <shebs@apple.com>
3837
3838         * objc/objc-act.c (handle_class_ref): Rewrite to flush target
3839         specific code and use new macro ASM_DECLARE_UNRESOLVED_REFERENCE.
3840         * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Define.
3841         * tm.texi (ASM_DECLARE_UNRESOLVED_REFERENCE): Document.
3842
3843         * config/darwin.h (STANDARD_EXEC_PREFIX): Don't define.
3844         (NEXT_OBJC_RUNTIME): Define.
3845
3846 Sat Apr 28 21:02:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
3847
3848         * rtl.h (simplify_gen_relational): Add cmp_mode parameter.
3849         * simplify-rtx.c (simplify_gen_relational): Likewise.
3850
3851         * simplify-rtx.c (simplify_replace_rtx): Handle relationals and MEMs.
3852
3853         * i386.h (VALID_SSE_REG_MODE): Accept MMX modes if SSE2
3854         * i386.md (movsi_1, movdi2, movdi_1_rex64): Handle SSE2 moves.
3855
3856         * i386.md (negsf2, negdf2, abssf2, absdf2): Force operands to
3857         registers in SSE case; fix handling of the immediates.
3858         (negsf2_ifs, abssf2_ifs): Tweak constraints; require
3859         operands to be in regsiters before reload.
3860         (negdf2_ifs, absdf2_ifs): Likewise; disable for 64bit
3861         (negdf2_ifs_rex64, absdf2_ifs_rtx64): New.
3862         (abstf,absxf,negtf,negxf splitters): Compute
3863         properly the regnum for x86_64.
3864         (avsdf2_if_rex64): New.
3865
3866 Sat Apr 28 10:36:23 2001  Jeffrey A Law  (law@cygnus.com)
3867
3868         * flow.c (propagate_block_delete_insn): Handle deletion of ADDR_VEC
3869         and ADDR_DIFF_VEC insns when the proceeding CODE_LABEL was put
3870         into the constant pool.
3871         * jump.c (jump_optimize_1): Remove barrier successors after all
3872         the LABEL_NUSES counds have been computed.
3873         (delete_barrier_successors): When deleting a tablejump insn, also
3874         delete the jump table it uses.
3875         * varasm.c (force_const_mem): Set LABEL_PRESERVE_P when forcing a
3876         label into memory.
3877
3878 2001-04-28  Martin Kalen  <martin.kalen@todaysystems.com.au>
3879
3880         * pa.c (FRP): Remove erroneous white space in macro definition.
3881
3882 2001-04-28  Andreas Jaeger  <aj@suse.de>
3883
3884         * invoke.texi: Use XX-bit instead of XXbit or XX bit where
3885         appropriate.
3886         * extend.texi: Likewise.
3887         * tm.texi: Likewise.
3888
3889 2001-04-28  Andreas Jaeger  <aj@suse.de>
3890
3891         * md.texi: Use XX-bit instead of XXbit or XX bit where
3892         appropriate.
3893
3894 2001-04-28  Jens Schweikhardt <schweikh@schweikhardt.net>
3895
3896         * gcc.c (process_command): Allow -l lib in addition to -llib
3897         for POSIX compliance. This fixes PR c/2347.
3898
3899         * invoke.texi: Update section on Link Options accordingly.
3900
3901 2001-04-27  Zack Weinberg  <zackw@stanford.edu>
3902
3903         * function.c (purge_addressof_1): Remove the duplicate
3904         if (code == SET) block.  Fold the two if (code == ADDRESSOF)
3905         blocks together.
3906
3907 2001-04-28  Jason Merrill  <jason_merrill@redhat.com>
3908
3909         * except.c (expand_eh_region_start): Don't start a new block.
3910         (expand_eh_region_end): Don't end a block.
3911         * stmt.c (expand_end_bindings): Don't end EH blocks.
3912         (expand_decl_cleanup): Starting an EH region won't change the block.
3913         (mark_block_as_eh_region, mark_block_as_not_eh_region): Lose.
3914         (is_eh_region): Lose.
3915         * tree.h: Adjust.
3916
3917 2001-04-27  Jeffrey Oldham  <oldham@codesourcery.com>
3918
3919         * except.c (expand_eh_region_end_cleanup): word_mode, not Pmode.
3920
3921         * collect2.c (main): Add `-L' case to remove duplicate entries.
3922         (is_in_args): New function to check for a duplicate argument.
3923         * defaults.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New macro.
3924         * tm.texi (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New documentation.
3925         * config/mips/iris6.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES):
3926         Define to be nonzero.
3927
3928 2001-04-27  Andreas Jaeger  <aj@suse.de>
3929             Richard Henderson  <rth@redhat.com>
3930
3931         * md.texi (Machine Constraints): Document additional i386
3932         constraints and fix description of "A".
3933
3934 Fri Apr 27 10:43:49 2001  Jeffrey A Law  (law@cygnus.com)
3935
3936         * tm.texi (TARGET_MEM_FUNCTIONS): Update text.
3937
3938 2001-04-27  Jason Merrill  <jason_merrill@redhat.com>
3939
3940         * except.c (get_exception_filter): word_mode, not Pmode.
3941
3942 2001-04-26  Geoffrey Keating  <geoffk@redhat.com>
3943
3944         * config/sparc/sparc.md (movsf_no_f_insn): Add more alternatives
3945         common to other movsf patterns.  Move up so that in future
3946         people who change the other patterns will change it too.
3947         (movsf_lo_sum): Allow even for soft-float; add appropriate
3948         constraints.
3949         (movsf_high): Likewise.
3950         (movsf_high+1): Allow even for soft-float.
3951
3952         * function.c (expand_function_end): Always clobber the
3953         return registers, even if there is no return label.
3954
3955 Thu Apr 26 20:28:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
3956
3957         * (ix86_expand_fp_movcc): Re-enable SSE conditional move generation.
3958
3959 Thu Apr 26 19:20:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
3960
3961         * i386.md (abs/neg splitter): Fix calculation of sign bit for TFmodes
3962         (pushqi2_rex64, pushhi2_rex64): Add.
3963
3964 2001-04-26  Andrew Haley  <aph@cambridge.redhat.com>
3965
3966         * except.c (expand_eh_region_end_cleanup): Force pending stack
3967         adjust before emitting label that branches around cleanup code.
3968
3969 2001-04-26  H.J. Lu  (hjl@gnu.org)
3970
3971         * config.gcc (mips*-*-linux*): Add elfos.h to tm_file.
3972
3973         * config/mips/ecoff.h (STARTFILE_SPEC): Undefine before
3974         define.
3975         * config/mips/elf64.h (MAX_OFILE_ALIGNMENT): Likewise.
3976         (ASM_OUTPUT_SECTION_NAME): Likewise.
3977         (ASM_WEAKEN_LABEL): Likewise.
3978         (UNIQUE_SECTION): Likewise.
3979         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
3980         (ASM_OUTPUT_DESTRUCTOR): Likewise.
3981         * config/mips/elf.h (MAX_OFILE_ALIGNMENT): Likewise.
3982         (ASM_OUTPUT_SECTION_NAME): Likewise.
3983         (ASM_WEAKEN_LABEL): Likewise.
3984         (UNIQUE_SECTION): Likewise.
3985         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
3986         (ASM_OUTPUT_DESTRUCTOR): Likewise.
3987         * config/mips/linux.h (HANDLE_SYSV_PRAGMA): Likewise.
3988         * config/mips/mips.h (DBX_CONTIN_LENGTH): Likewise.
3989         (ASM_FILE_START): Likewise.
3990         (ASM_OUTPUT_SOURCE_LINE): Likewise.
3991         (ASM_DECLARE_OBJECT_NAME): Likewise.
3992         (ASM_FILE_END): Likewise.
3993         (ASM_DECLARE_FUNCTION_NAME): Likewise.
3994         (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
3995         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3996         (ASM_OUTPUT_CASE_LABEL): Likewise.
3997         (ASM_OUTPUT_SKIP): Likewise.
3998         (ASM_OUTPUT_ASCII): Likewise.
3999         (ASM_OUTPUT_IDENT): Likewise.
4000         (READONLY_DATA_SECTION): Likewise.
4001         (EXTRA_SECTIONS): Likewise.
4002         (EXTRA_SECTION_FUNCTIONS): Likewise.
4003         (SELECT_RTX_SECTION): Likewise.
4004         (SELECT_SECTION): Likewise.
4005
4006         * config/mips/linux.h (INVOKE__main): Undefine.
4007         (CTOR_LIST_BEGIN): Likewise.
4008         (CTOR_LIST_END): Likewise.
4009         (DTOR_LIST_BEGIN): Likewise.
4010         (DTOR_LIST_END): Likewise.
4011         (SET_ASM_OP): Defined it to ".dummy".
4012         (ASM_OUTPUT_DEF): Defined.
4013         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Defined.
4014
4015 2001-04-26  Nick Clifton  <nickc@cambridge.redhat.com>
4016
4017         * config/arm/arm.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define, if the
4018         assembler supports .p2align.
4019
4020 2001-04-26  Nathan Sidwell <nathan@codesourcery.com>
4021
4022         * c-lex.c (c_lex): Remove # from %o diagnostic formatting.
4023
4024 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
4025
4026         * integrate.c (expand_inline_function): Check for error_mark_node
4027         in actual argument.
4028
4029 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
4030
4031         * config/i386/i386.h (CC1_CPU_SPEC): Fix deprecation warnings for
4032         -m386 and -m486.
4033
4034 2001-04-26  Alexandre Oliva  <aoliva@redhat.com>
4035
4036         * configure.in (configargs.h): Define thread_model.
4037         * configure: Rebuilt.
4038         * gcc.c (main): Print it with -v.
4039
4040 2001-04-25  Joseph S. Myers  <jsm28@cam.ac.uk>
4041
4042         * invoke.texi: Document -Wmissing-braces, -dumpspecs,
4043         -dumpmachine, -dumpversion, -fmem-report and -ftime-report.
4044         * gcc.1: Regenerate.
4045
4046 2001-04-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4047
4048         * dwarfout.c (is_pseudo_reg, type_main_variant, is_tagged_type,
4049         is_redundant_typedef): Use static inline instead of inline static.
4050
4051 Wed Apr 25 18:21:01 2001  Christopher Faylor <cgf@cygnus.com>
4052
4053         * config/i386/cygwin.h: Move W32API search to LINK_SPEC to ensure that
4054         this directory is always searched.
4055
4056 2001-04-25  Richard Henderson  <rth@redhat.com>
4057
4058         * config/i386/i386.c (ix86_expand_epilogue): Properly compute size
4059         of registers to restore along non eh_return path.
4060
4061 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
4062
4063         * c-format.c (check_format_info_recurse): Handle
4064         PLUS_EXPR for format string.
4065
4066 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
4067
4068         * config/ia64/ia64.h (CC1_SPEC): Define.
4069         * config/ia64/linux.h (CC1_SPEC): Define.
4070
4071 Wed Apr 25 17:09:50 2001  J"orn Rennecke <amylaar@redhat.com>
4072
4073         * emit-rtl.c (constant_subword): Also do sign extension in
4074         BITS_PER_WORD == 16 case.
4075
4076 2001-04-25  Jason Merrill  <jason_merrill@redhat.com>
4077
4078         * loop.c (try_swap_copy_prop): Go back to checking insn.
4079
4080 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
4081
4082         * emit-rtl.c (subreg_hard_regno): Only do HARD_REGNO_MODE_OK check
4083         if check_mode is non-zero.
4084
4085 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
4086
4087         * config/i386/i386.c (ix86_expand_int_movcc): If overlap between
4088         out and comparison sequence has been detected, put result into
4089         proper temporary pseudo.
4090
4091 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
4092
4093         * Makefile.in (LIB2FUNCS): Remove _varargs and __dummy.
4094         * libgcc-std.ver: Remove __builtin_saveregs, __dummy, and __empty.
4095         * libgcc2.c: Remove __dummy and __builtin_saveregs.
4096         * libgcc2.h: Don't prototype __builtin_saveregs or __dummy.
4097         * config/i860/varargs.asm: New file - preserve i860 __builtin_saveregs
4098         for future reference.
4099
4100 2001-04-24  Jason Merrill  <jason_merrill@redhat.com>
4101
4102         * except.c (reachable_handlers): Step out one level from a RESX.
4103
4104         * except.c (struct eh_region): Rename 'last' to 'resume'.
4105         (mark_eh_region, duplicate_eh_region_1): Adjust.
4106         (expand_eh_region_end_cleanup): Remember the jump, not the barrier.
4107         (build_post_landing_pads): Likewise.
4108         (expand_end_catch, expand_eh_region_end_allowed): Don't set it.
4109         (expand_eh_region_end_must_not_throw): Likewise.
4110         (connect_post_landing_pads): Thread (only) regions with non-deleted
4111         resume insns.
4112
4113         * except.c (expand_eh_region_end_cleanup): Save the EH return data
4114         registers around the cleanup.
4115         (get_exception_filter): New fn.
4116         (finish_eh_generation): Use it.
4117
4118 2001-04-24  Nathan Sidwell <nathan@codesourcery.com>
4119
4120         * c-semantics.c (add_scope_stmt): Don't call
4121         current_scope_stmt_stack multiple times.
4122
4123 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
4124             Nathan Sidwell <nathan@codesourcery.com>
4125
4126         Lazy __FUNCTION__ generation.
4127         * c-common.h (RID_FUNCTION_NAME, RID_PRETTY_FUNCTION_NAME,
4128         RID_C99_FUNCTION_NAME): New _RIDs.
4129         (CTI_FUNCTION_ID, CTI_PRETTY_FUNCTION_ID, CTI_FUNC_ID): Remove.
4130         (CTI_FUNCTION_NAME_DECL, CTI_PRETTY_FUNCTION_NAME_DECL,
4131         CTI_C99_FUNCTION_NAME_DECL, CTI_SAVED_FUNCTION_NAME_DECLS): New
4132         global tree slots.
4133         (function_id_node, pretty_function_id_node, func_id_node): Remove.
4134         (c99_function_name_decl_node, function_name_decl_node,
4135         pretty_function_name_decl_node, saved_function_name_decls):
4136         Declare.
4137         (struct language_function): Remove x_function_name_declared_p.
4138         (make_fname_decl): Remove a parameter.
4139         (declare_function_names): Remove prototype.
4140         (start_fname_decls, finish_fname_decls): Prototype.
4141         (fname_as_string): Likewise.
4142         (fname_string, fname_decl): Likewise.
4143         * c-common.c (make_fname_decl): Adjust.
4144         (struct fname_var_t): New struct.
4145         (fname_vars): New static array.
4146         (declare_function_name): Remove.
4147         (start_fname_decls, finish_fname_decls): New functions.
4148         (fname_as_string): New function from remnants of
4149         declare_function_name.
4150         (fname_string, fname_decl): New functions.
4151
4152         * c-decl.c (c_function_name_declared_p): Remove.
4153         (init_decl_processing): Don't generate __FUNCTION__ et al ids,
4154         don't call declare_function_name. Call start_fname_decls.
4155         (c_make_fname_decl): Adjust parameters. Generate the name. Don't
4156         clobber the line number. Call finish_decl.
4157         (start_function): Call start_fname_decls.
4158         (finish_function): Call finish_fname_decls.
4159         Remove c_function_name_declared_p.
4160         (push_c_function_context): Don't push c_function_name_declared_p.
4161         (pop_c_function_context): Don't pop c_function_name_declared_p.
4162         (c_begin_compound_stmt): Don't check c_function_name_declared_p.
4163         * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): New tokens.
4164         (program): Call finish_fname_decls for C.
4165         (primary): Add VAR_FUNC_NAME.
4166         (reswords): Add slots for __FUNCTION__ et al.
4167         (rid_to_yy): Add mappings for __FUNCTION__ et al.
4168         (yylexname): If it's a STRING_FUNC_NAME generate the function name
4169         now. Don't look for VAR_DECLs containing __FUNCTION__ et al.
4170         * c-semantics.c (prune_unused_decls): Remove.
4171         (finish_stmt_tree): Don't call prune_unused_decls.
4172         (genrtl_decl_stmt): Don't prune unused decls here.
4173
4174 2001-04-24  Nick Clifton  <nickc@cambridge.redhat.com>
4175
4176         * dwarf2out.c (mem_loc_descriptor): If a SYMBOL_REF is in the
4177         constant pool, use the pool's SYMBOL_REF instead.
4178
4179         * config/v850/v850.h (STRICT_ALIGNMENT): Always set, even for the
4180         v850e.
4181
4182 2001-04-23  Joseph S. Myers  <jsm28@cam.ac.uk>
4183
4184         * c-convert.c (convert): When converting to a BOOLEAN_TYPE, avoid
4185         passing nested NOP_EXPRs to fold.
4186
4187 Mon Apr 23 14:32:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
4188
4189         * reg-stack.c (emit_swap_insn): Do not get pass CALL_INSNs.
4190
4191 2001-04-22  Mark Mitchell  <mark@codesourcery.com>
4192
4193         * loop.c (loop_delete_insns): Add prototype.
4194
4195 2001-04-23  Phil Edwards  <pme@sources.redhat.com>
4196
4197         * configure.in:  Remove ENABLE_STD_NAMESPACE.
4198         * config.in:  Regenerated.
4199         * configure:  Regenerated.
4200
4201 2001-04-22  Stan Shebs  <shebs@apple.com>
4202
4203         * config.gcc (powerpc-*-darwin*): Move the flag in xm-darwin.h
4204         into xm_defines.
4205         * config/rs6000/xm-darwin.h: Remove file.
4206
4207 2001-04-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4208
4209         * collect2.c (main): Use concat in lieu of xmalloc/sprintf.
4210         (write_c_file_stat): Likewise.
4211
4212         * dbxout.c (dbxout_init): Likewise.
4213
4214         * profile.c (output_func_start_profiler): Likewise.
4215
4216 2001-04-22  Philipp Thomas  <pthomas@suse.de>
4217
4218         * ABOUT-GCC-NLS: Now that gettext 0.10.37 is out,
4219         require it instead of the CVS version.
4220         * cpperror.c (v_message): Put a blank before the macro
4221         body to not confuse exgettext.
4222
4223 2001-04-21  Mark Mitchell  <mark@codesourcery.com>
4224
4225         * flow.c (proagate_one_insn): Remove useless assignment.
4226         * jump.c (delete_insn): Tidy.
4227         * loop.c (try_copy_prop): When deleting an instruction with a
4228         REG_RETVAL note, delete the entire libcall sequence.
4229         (loop_delete_insns): New function.
4230         * unroll.c (initial_reg_note_copy): Copy INSN_LIST notes, even if
4231         we're not substituting into them yet.
4232
4233 2001-04-21  Kazu Hirata  <kazu@hxi.com>
4234
4235         * config/h8300/h8300.c (general_operand_src): Fix a comment typo.
4236
4237         * config/sparc/sparc.c (sparc_flat_eligible_for_epilogue_delay):
4238         Fix a comment typo.
4239         * config/i960/i960.c (signed_arith_operand): Likewise.
4240
4241         * calls.c (expand_call): Fix a comment typo.
4242
4243 2001-04-20  Zack Weinberg  <zackw@stanford.edu>
4244
4245         * configure.in: Probe for times, clock, struct tms, and clock_t.
4246         * configure, config.in: Regenerate.
4247         * timevar.c: Replace ifdef forest in get_time with (relatively)
4248         straightforward series of checks based on autoconf's probes.
4249
4250 Fri Apr 20 12:24:50 2001  Jeffrey A Law  (law@cygnus.com)
4251
4252         * config/pa/som.h (NM_FLAGS): Define.
4253
4254 2001-04-20  Bernd Schmidt  <bernds@redhat.com>
4255
4256         * ia64.h (MD_SCHED_REORDER, MD_SCHED_REORDER2): Pass CLOCK to called
4257         function.
4258         * ia64-protos.h (ia64_sched_reorder): Additional arg for clock.
4259         * ia64.c (nop_cycles_until): New function.
4260         (prev_cycle, prev_first, last_issued): New static variables.
4261         (ia64_sched_reorder): Additional arg for clock.
4262         On final scheduling pass, emit extra NOPs as needed.
4263         Set prev_first and prev_cycle.
4264         (ia64_sched_reorder2): Pass clock arg down to ia64_sched_reorder.
4265         (ia64_variable_issue): Set last_issued.
4266
4267 2001-04-20  Alexandre Oliva  <aoliva@redhat.com>
4268
4269         * config/i386/i386.c (ix86_expand_int_movcc,
4270         ix86_expand_strlensi_unroll_1): Sign-extend CONST_INTs.
4271
4272 2001-04-20  Geoff Keating  <geoffk@redhat.com>
4273
4274         * config/rs6000/rs6000.md (ctrsi_internal1, ctrsi_internal2,
4275         ctrsi_internal3, ctrsi_internal4, ctrsi_internal5,
4276         ctrsi_internal6, ctrdi_internal1, ctrdi_internal2,
4277         ctrdi_internal3, ctrdi_internal4, ctrdi_internal5,
4278         ctrdi_internal6): In the short-branch case, this insn is only 4
4279         bytes long.  Reported by Reza Yazdani <reza@apple.com>.
4280
4281 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
4282
4283         * reg-stack.c (check_asm_stack_operands): Issue error if "=t" resp.
4284         "=u" is used together with "st" resp. "st(1)" clobber.
4285
4286 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
4287
4288         * gcse.c (gcse_main): Fix comment typo.
4289         (delete_null_pointer_check): Likewise.
4290         (hash_scan_set): Don't consider sets with REG_EQUIV MEM notes.
4291         * cse.c (cse_insn): Likewise.
4292         * function.c (fixup_var_refs_insns_with_hash): The sequence is
4293         toplevel.
4294
4295 2001-04-19  Zack Weinberg  <zackw@stanford.edu>
4296
4297         * toplev.c: Excise all code for the undocumented -dm option.
4298         (float_signal): Call signal just once, unconditionally.
4299
4300 2001-04-19  Geoff Keating  <geoffk@redhat.com>
4301
4302         * fold-const.c (fold): Use first_rtl_op rather than
4303         TREE_CODE_LENGTH when looping over parameters of a tree.
4304         Correct strange grouping in test for evaluated SAVE_EXPR.
4305
4306 Thu Apr 19 19:15:26 2001  Jeffrey A Law  (law@cygnus.com)
4307
4308         * config/pa/pa-linux.h (CPLUSPLUS_CPP_SPEC): Undefine.
4309         * config/pa/pa.h (CPLUSPLuS_CPP_SPEC): Define.
4310
4311         * config/pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Truncate subspace
4312         name at 32 total characters.
4313         (ASM_OUTPUT_SECTION_NAME): Similarly.  Also, only support placing
4314         functions in named sections -- data items can still go into unique
4315         sections, but they have normal names (ie $LIT$ and $DATA$).
4316
4317         * config/pa/som.h (SUPPORTS_INIT_PRIORITY): SOM does not support
4318         INIT_PRIORITY.
4319
4320 2001-04-19 DJ Delorie  <dj@redhat.com>
4321
4322         * config/alpha/vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
4323         to TARGET_OBJECT_SUFFIX and TARGET_EXECUTABLE_SUFFIX.
4324         * config/i386/cygwin.h: Likewise.
4325         * config/i386/mingw32.h: Likewise.
4326         * config/vax/vms.h: Likewise.
4327         * config/i386/djgpp.h: Remove NO_AUTO_EXE_SUFFIX.
4328
4329         * config/alpha/xm-vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
4330         to HOST_OBJECT_SUFFIX and HOST_EXECUTABLE_SUFFIX.
4331         * config/i386/xm-cygwin.h: Likewise.
4332         * config/i386/xm-djgpp.h: Likewise.
4333         * config/i386/xm-mingw32.h: Likewise.
4334         * config/vax/xm-vms.h: Likewise.
4335
4336         * mkdeps.c (deps_add_default_target): Use TARGET_OBJECT_SUFFIX
4337         instead of OBJECT_SUFFIX.
4338         * collect2.c (find_a_file): Look for files matching the extension
4339         HOST_EXECUTABLE_SUFFIX instead of EXECUTABLE_SUFFIX.
4340         * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION): Depend on
4341         TARGET_EXECUTABLE_SUFFIX.
4342         (find_a_file): Use HOST_EXECUTABLE_SUFFIX.
4343         (make_relative_prefix): Likewise.
4344         (convert_filename): Use TARGET_ suffixes throughout.  Remove
4345         NO_AUTO_EXE_SUFFIX.
4346         (process_command): Likewise.
4347         (do_spec_1): Likewise.
4348         * java/lang.c (init_parse): Likewise.
4349
4350         * gcc.texi : Document four new options matching the pattern
4351         (HOST|TARGET)_(OBJECT|EXECUTABLE)_SUFFIX.  Remove documentation
4352         for deleted macros OBJECT_SUFFIX and EXECUTABLE_SUFFIX.  Remove
4353         documentation for NO_AUTO_EXE_SUFFIX.
4354
4355 2001-04-19  Mark Mitchell  <mark@codesourcery.com>
4356
4357         * toplev.h (struct lang_hooks): Allow decode_option to indicate
4358         that language-independent processing should not be done.
4359         * toplev.c (main): Adjust accordingly.
4360
4361         * rtl.texi (jump_insn): Expand on JUMP_LABEL documentation.
4362         * loop.c (load_mems): Handle a NULL JUMP_LABEL for a JUMP_INSN.
4363
4364         * mips.md (reload_outputdi): Require that operand0 be a
4365         general_operand.
4366
4367 2001-04-19  Jakub Jelinek  <jakub@redhat.com>
4368
4369         * invoke.texi (-Wshadow): Clarify.
4370
4371 2001-04-18  Mark Mitchell  <mark@codesourcery.com>
4372
4373         * loop.c (load_mems): Examine all the instructions in the loop
4374         before concluding that all jumps branch to the first instruction
4375         after the loop.
4376
4377 Wed Apr 18 20:32:03 2001  Christopher Faylor <cgf@cygnus.com>
4378
4379         * config/i386/xm-cygwin.h (CPP_SPEC): Fix typo.
4380
4381 2001-04-18  Jakub Jelinek  <jakub@redhat.com>
4382
4383         * cpp.texi (-Wwhite-space): Remove.
4384         (-Wall): -Wall does not imply -Wwhite-space.
4385
4386 2001-04-17  Zack Weinberg  <zackw@stanford.edu>
4387
4388         * dbxout.c (dbxout_init): If DBX_OUTPUT_GCC_MARKER is defined,
4389         use it instead of blindly generating a .stabs.
4390         * xcoffout.h: Define DBX_OUTPUT_GCC_MARKER so we put the type
4391         in the right place.
4392         * xcoffout.c: Don't bother defining default for N_CATCH.
4393         (UNKNOWN_STAB): Use internal_error.
4394         (stab_to_sclass): Remove now-unnecessary aborts.
4395         Remove #if 0'ed case N_BROWS.  Add #ifdef N_OPT block.
4396
4397 Tue Apr 17 21:41:11 2001  Jeffrey A Law  (law@cygnus.com)
4398
4399         * jump.c (mark_all_labels): Canonicalize the tail recursion
4400         label attached to CALL_PLACEHOLDER insns.
4401
4402 2001-04-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4403
4404         * output.h (dump_flow_info, free_basic_block_vars,
4405         which_alternative): Delete redundant prototypes.
4406
4407         * rtl.h (bss_section): Likewise.
4408
4409 2001-04-17  Loren J. Rittle  <ljrittle@acm.org>
4410
4411         * dbxout.c (N_OPT): Define if not available from <stab.h>
4412
4413 2001-04-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4414
4415         * vax.h (PROMOTE_PROTOTYPES): Define for compatibility with system
4416         libraries and native K&R compilers.
4417
4418 2001-04-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4419
4420         * c-typeck.c (convert_arguments): Don't check for width changes
4421         with -Wtraditional.
4422
4423         * invoke.texi (-Wtraditional): Update documentation.
4424
4425 2001-04-16  Zack Weinberg  <zackw@stanford.edu>
4426
4427         * toplev.c (output_lang_identify): Delete.
4428         (compile_file): Don't call ASM_IDENTIFY_GCC or ASM_IDENTIFY_LANGUAGE.
4429         Don't generate gcc2_compiled. label.  Don't emit a nop if profiling.
4430         If IDENT_ASM_OP is defined, emit an .ident "GCC (GNU) <version>"
4431         after calling ASM_FILE_END.
4432
4433         * dbxout.c (dbxout_init): Don't call ASM_IDENTIFY_GCC_AFTER_SOURCE.
4434         Instead, unconditionally emit an N_OPT stab with string equal
4435         to STABS_GCC_MARKER, which defaults to "gcc2_compiled."
4436
4437         * defaults.h: Don't provide default for ASM_IDENTIFY_LANGUAGE.
4438
4439         * config/dbxelf.h, config/freebsd.h, config/nextstep.h,
4440         config/psos.h, config/ptx4.h, config/1750a/1750a.h,
4441         config/alpha/alpha.h, config/alpha/elf.h, config/arc/arc.h,
4442         config/arm/aof.h, config/arm/coff.h, config/arm/elf.h,
4443         config/arm/linux-elf.h, config/avr/avr.h, config/d30v/d30v.h,
4444         config/dsp16xx/dsp16xx.h, config/h8300/h8300.h,
4445         config/i370/i370.h, config/i386/beos-elf.h,
4446         config/i386/osf1elf.h, config/i386/osfrose.h,
4447         config/ia64/sysv4.h, config/m68k/3b1.h, config/m68k/auxgas.h,
4448         config/m68k/crds.h, config/m68k/hp320.h, config/m68k/m68kv4.h,
4449         config/m68k/mot3300.h, config/m68k/news.h, config/m68k/sgs.h,
4450         config/m68k/tower-as.h, config/mcore/mcore-elf.h,
4451         config/mips/iris6.h, config/mips/osfrose.h,
4452         config/mips/sni-svr4.h, config/pa/som.h, config/pdp11/pdp11.h,
4453         config/sparc/sp64-elf.h:
4454         Delete definitions of any or all of: ASM_IDENTIFY_GCC,
4455         ASM_IDENTIFY_GCC_AFTER_SOURCE, and ASM_IDENTIFY_LANGUAGE.
4456
4457         * config/elfos.h, config/freebsd.h, config/linux.h,
4458         config/alpha/elf.h, config/arm/linux-elf.h, config/i386/i386elf.h,
4459         config/i386/ptx4-i.h, config/mips/gnu.h, config/mips/linux.h,
4460         config/sparc/linux.h, config/sparc/linux64.h: Delete definitions
4461         of ASM_FILE_START which merely emit a .version directive.  Delete
4462         definitions of ASM_FILE_END which merely emit an .ident directive.
4463
4464         * config/avr/avr.h, config/vax/vax.h: Delete definition of
4465         ASM_IDENTIFY_GCC and move part of its logic into
4466         ASM_FILE_START.
4467
4468         * config/i386/att.h, config/i386/gas.h, config/i386/linux.h,
4469         config/sparc/linux-aout.h: Don't emit .version directive in
4470         ASM_FILE_START.
4471
4472         * config/i386/dgux.c, config/m88k/m88k.c, config/sh/sh.c
4473         (output_file_start): Correct comment.
4474
4475         * config/i386/osfrose.h: Don't emit trailing .ident directive.
4476         * config/m68k/mot3300.h: Override STABS_GCC_MARKER to "gcc2_compiled%"
4477         to match gdb.
4478         * config/pa/lib2funcs.asm: Delete gcc_compiled. label.
4479         * config/rs6000/aix.h: Correct comment.
4480
4481         * config/i386/i386afe.h: Delete.
4482         * config.gcc: Remove references to i386afe.h.
4483
4484         * tm.texi: Delete documentation of ASM_IDENTIFY_GCC.  The
4485         other macros deleted by this patch were undocumented.
4486
4487 Mon Apr 16 08:03:48 2001  Jeffrey A Law  (law@cygnus.com)
4488
4489         * pa.md (reload_outdi): Operand 0 must be a non hard register.
4490
4491         * pa.c (secondary_reload_class): SAR<->FP copies require a
4492         secondary register.
4493
4494         * install.texi (mips-mips-bsd): Update list of functions
4495         required to include memmove.
4496         * tm.texi (TARGET_MEM_FUNCTIONS): Update list of implicitly
4497         used functions to include memmove.
4498
4499 2001-04-15  Toon Moene  <toon@moene.indiv.nluug.nl>
4500
4501         * i386.md (sqrtdf2): SFmode should be DFmode.
4502
4503 2001-04-15  Alexandre Oliva  <aoliva@redhat.com>
4504
4505         * gcse.c (compute_ld_motion_mems): ASM outputs aren't moveable.
4506         (find_moveable_store): Likewise.
4507
4508 2001-04-15  Jim Wilson  <wilson@redhat.com>
4509
4510         * function.c (expand_function_end): Handle PARALLEL real_decl_rtl.
4511
4512 Sat Apr 14 16:24:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
4513
4514         * i386.md (ashldi3_1_rex64): Add 'J' to the constraints
4515         (ashrdi3_1_rex64): Change 'n' constraint to 'J'.
4516
4517 2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
4518
4519         * config/mn10300/mn10300.md (cmpsi): Tell reload to disregard the
4520         first alternative.
4521
4522 2001-04-14  Alan Modra  <amodra@one.net.au>
4523
4524         * pa.c (force_mode): New function.
4525         (emit_move_sequence): Use it instead of generating new rtx_REGs.
4526
4527 2001-04-13  Jim Wilson  <wilson@redhat.com>
4528
4529         * config/ia64/ia64.c (ia64_expand_epilogue): Emit alloc if sibcall_p.
4530         (first_instruction): New static variable.
4531         (rtx_needs_barrier): Return 1 for alloc.
4532         (init_insn_group_barriers): Set first_instruction.
4533         (rws_sum): Delete duplicate definition.
4534         (group_barrier_needed_p): Return 0 when first_instruction true.
4535         (safe_group_barrier_needed_p): Save and restore first_instruction
4536         around group_barrier_needed_p call.
4537
4538 Fri Apr 13 21:40:28 2001  Loren J. Rittle  <ljrittle@acm.org>
4539
4540         * expr.h (enum libfunc_index): Add LTI_memmove.
4541         (memmove_libfunc): Define macro.
4542         * optabs.c (init_optabs): Initialize memmove_libfunc.
4543         * expr.c (expand_assignment): Use memmove_libfunc instead of
4544         memcpy_libfunc.
4545
4546 2001-04-13  Alan Modra  <alan@linuxcare.com.au>
4547
4548         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Disallow PIC LO_SUM
4549         fp mode addresses.
4550
4551 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4552
4553         * Makefile.in (reg-stack.o): Depend on reload.h.
4554         (insn-attrtab.o): Depend on flags.h.
4555
4556         * genattrtab (main): Include flags.h in insn-attrtab.c.
4557
4558         * reg-stack.c: Include reload.h.
4559
4560         * sparc.h (flag_pic): Delete redundant declaration.
4561
4562         * output.h (flag_pic): Likewise.
4563
4564         * tree.h (pedantic): Likewise.
4565
4566 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4567
4568         * Makefile.in (toplev.o, jump.o, regmove.o): Depend on reload.h
4569
4570         * jump.c, regmove.c, toplev.c: Include reload.h.
4571
4572         * reload.h (reload_cse_regs): Declare.
4573
4574         * rtl.h (find_equiv_reg, operands_match_p, safe_from_earlyclobber,
4575         reload_cse_regs, init_reload, mark_home_live, reload,
4576         init_caller_save): Delete redundant prototypes.
4577
4578 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4579
4580         * Makefile.in (ssa.o, regclass.o): Depend on $(EXPR_H).
4581
4582         * regclass.c, ssa.c: Include expr.h.
4583
4584         * rtl.h (memory_address, force_reg, emit_queue, emit_move_insn,
4585         gen_move_insn): Delete redundant declarations.
4586
4587 2001-04-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4588
4589         * Makefile.in (CFLAGS, BOOT_CFLAGS): Partly revert 2000-10-27 patch.
4590         (stage1_build): Instead pass down STAGE1_CFLAGS here. Pass down
4591         MAKEINFO and MAKEINFOFLAGS too.
4592         (stage4_build): Correctly order -B flags.
4593
4594 2001-04-13  Alan Modra  <amodra@one.net.au>
4595
4596         * pa.c (hppa_init_pic_save): Set rtx_unchanging for
4597         PIC_OFFSET_TABLE_SAVE_RTX.
4598         (zdepi_cint_p): Describe zdepi insn.
4599         Formatting and white space fixes throughout file.
4600
4601         * pa.c (uint32_operand): Don't use long constant >= 2^32.
4602         (emit_move_sequence): Use HOST_WIDE_INT constants.  Don't worry
4603         about 32->64 bit sign extension if 32 bit HOST_WIDE_INTs.
4604         (compute_movstrsi_length): Make `align' unsigned to avoid warning.
4605         (output_64bit_and): Use plain `int's for shift counts.
4606         (output_64bit_ior): Likewise.
4607         (function_arg_partial_nregs): Use unsigned vars to avoid warnings.
4608         * pa.h (CONST_OK_FOR_LETTER_P): Use HOST_WIDE_INT constants for case
4609         `N', and simplify.
4610
4611         * pa-hpux10.h (NEW_HP_ASSEMBLER): Define to 1.
4612         * pa-hpux11.h (NEW_HP_ASSEMBLER): Likewise.
4613         * pa.h (LEGITIMATE_CONSTANT_P) Collapse two defines depending on
4614         NEW_HP_ASSEMBLER into one.  Kill warnings.
4615
4616         * pa-gas.h: Delete file.
4617         * config.gcc: Match `parisc' as well as `hppa' for cpu_type=pa.
4618         Add new targets hppa*64*-*-linux* and parisc*64*-*-linux*.  Update
4619         hppa*-*-linux*.  For all pa targets, remove pa/gas.h from tm_file,
4620         instead setting MASK_GAS | MASK_JUMP_IN_DELAY in target_cpu_default2.
4621
4622         * config/pa/mill32.S: New file.
4623         * config/pa/mill64.S: New file.
4624         * config/pa/t-linux (LIBGCC1, CROSS_LIBGCC1, LIB1ASMFUNCS,
4625         LIB1ASMSRC, CRTSTUFF_T_CFLAGS_S, TARGET_LIBGCC2_CFLAGS): Define.
4626         * config/pa/t-linux64: New file.
4627         * config/pa/t-pa64 (CROSS_LIBGCC1): Change to libgcc1-asm.a
4628         (LIB1ASMFUNCS, LIB1ASMSRC): Define.
4629         (TARGET_LIBGCC2_CFLAGS): Add -Dpa64=1 -DELF=1.
4630
4631         * elfos.h (SELECT_SECTION): Undef before defining.
4632         * pa-linux.h (LINUX_DEFAULT_ELF, PTRDIFF_TYPE, CPP_SPEC): Remove.
4633         (LIB_SPEC): Remove -lmilli.
4634         (DBX_REGISTER_NUMBER): Remove.
4635         (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
4636         (DWARF2_UNWIND_INFO, ASM_SPEC, LINK_SPEC, FUNCTION_OK_FOR_SIBCALL,
4637         NO_PROFILE_COUNTERS, SELECT_RTX_SECTION, INCOMING_RETURN_ADDR_RTX,
4638         DWARF_FRAME_RETURN_COLUMN, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
4639         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_FILE_START,
4640         ASM_OUTPUT_DEF, ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
4641         ASM_OUTPUT_LABEL, ASM_GLOBALIZE_LABEL, ASM_DECLARE_FUNCTION_NAME,
4642         TARGET_GAS): Define.
4643         * pa.c (output_arg_descriptor): Disable for TARGET_ELF32.
4644         (function_arg): If TARGET_ELF32, pass fp args in both general and fp
4645         regs if we don't have a prototype.
4646         * pa.md (canonicalize_funcptr_for_compare): Not for TARGET_ELF32.
4647         * pa.h (TARGET_ELF32): Default to 0 if undefined.
4648         (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX,
4649         EH_RETURN_HANDLER_RTX): Define.
4650         * pa32-regs.h (DBX_REGISTER_NUMBER): Remove unnecessary test.
4651         (DWARF_FRAME_REGNUM): Define.
4652         * pa64-regs.h (DWARF_FRAME_REGNUM): Define.
4653         * pa32-linux.h: New file.
4654         * pa64-linux.h: New file.
4655
4656         * pa-64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
4657         (ASM_OUTPUT_DOUBLE_INT): Format, protect macro with do..while.
4658         (LINK_SPEC, LIB_SPEC, MD_EXEC_PREFIX, MD_STARTFILE_PREFIX,
4659         NEW_HP_ASSEMBLER, ASM_FILE_START, OBJECT_FORMAT_ELF,
4660         DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_FORMAT,
4661         DWARF2_ASM_LINE_DEBUG_INFO, USE_CONST_SECTION, CONST_SECTION_ASM_OP,
4662         CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
4663         FINI_SECTION_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
4664         READONLY_DATA_SECTION, CONST_SECTION_FUNCTION, CTORS_SECTION_FUNCTION,
4665         DTORS_SECTION_FUNCTION, ASM_OUTPUT_SECTION_NAME, MAKE_DECL_ONE_ONLY,
4666         UNIQUE_SECTION_P, UNIQUE_SECTION, INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
4667         ASM_OUTPUT_DESTRUCTOR, TYPE_ASM_OP, SIZE_ASM_OP, ASM_WEAKEN_LABEL,
4668         TYPE_OPERAND_FMT, ASM_DECLARE_RESULT): Move to..
4669         * pa64-hpux.h: New file.
4670         (ASM_FILE_START): Correct typo.
4671         (PREFERRED_DEBUGGING_FORMAT): Rename to PREFERRED_DEBUGGING_TYPE.
4672         * config.gcc: Modify for above.
4673
4674 Fri Apr 13 00:09:22 EDT 2001  John Wehle  (john@feith.com)
4675
4676         * jump.c (jump_optimize_1): Don't delete dead stores here.
4677         * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns
4678         prior to running jump optimize before cse2.
4679
4680 2001-04-12  Richard Henderson  <rth@redhat.com>
4681
4682         * Makefile.in (regmove.o): Depend on except.h.
4683         * regmove.c: Include it.
4684
4685 2001-04-12  Stan Shebs  <shebs@apple.com>
4686
4687         * objc/objc-act.c: Remove all code ifdefed with the never-used
4688         macro OBJC_INT_SELECTORS.
4689         * config/d30v/d30v.h: Remove commented-out ref to OBJC_INT_SELECTORS.
4690         * tm.texi: Remove doc for OBJC_INT_SELECTORS.
4691
4692 Thu Apr 12 18:13:37 2001  Rodney Brown  <RodneyBrown@mynd.com>
4693
4694         * config/pa/quadlib.c: Add prototypes.
4695
4696 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4697
4698         * bitmap.h (debug_bitmap): Delete redundant prototype.
4699
4700         * rtl.h (get_frame_size): Likewise.
4701
4702 2001-04-12  Jim Wilson  <wilson@redhat.com>
4703
4704         * config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Simplify
4705         to just emit an fnorm.
4706
4707 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4708
4709         * c-common.h (truthvalue_conversion, type_for_mode,
4710         type_for_size): Delete redundant declarations.
4711
4712         * c-lex.h (is_class_name): Likewise.
4713
4714         * c-tree.h (pedantic, convert, getdecls, gettags,
4715         global_bindings_p, init_decl_processing, insert_block,
4716         maybe_build_cleanup, poplevel, print_lang_decl,
4717         print_lang_identifier, print_lang_type, pushdecl, pushlevel,
4718         set_block, incomplete_type_error, build_function_call,
4719         lvalue_or_else, mark_addressable): Likewise.
4720
4721         * expr.h (expand_tree_builtin): Likewise.
4722
4723 2001-04-12  Mark Mitchell  <mark@codesourcery.com>
4724
4725         * invoke.texi: Document --param max-gcse-memory.
4726
4727 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4728
4729         * configure.in (errno): Check for declaration.
4730         * configure, config.in: Regenerated.
4731
4732         * system.h (errno): Only declare if not already done.
4733
4734 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
4735
4736         * recog.c (general_operand, immediate_operand,
4737         nonmemory_operand): Require CONST_INTs to be sign-extended
4738         values for their modes.
4739
4740 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
4741
4742         * expmed.c (store_bit_field): Truncate CONST_INTs.
4743         (expand_mult_highpart, expand_divmod): Likewise.
4744         * expr.c (convert_modes, store_field): Likewise.
4745         * integrate.c (expand_inline_function): Use promote_mode() to
4746         determine whether to convert_modes() an argument as signed
4747         or unsigned.
4748         * optabs.c (expand_binop): Get CONST_INT operands
4749         sign-extended for their appropriate modes.
4750         * stmt.c (emit_case_nodes): Convert node values to the
4751         appropriate mode.
4752         (expand_end_case): Convert minval and range to the appropriate
4753         mode.
4754         * unroll.c (loop_iterations): Truncate abs_diff to the mode of
4755         the iteration variable.
4756         * varasm.c (immed_double_const): Don't require words to be
4757         narrower than host wide ints to properly sign-extend
4758         CONST_INTs.
4759
4760 2001-04-12  kaz Kojima  <kkojima@rr.iij4u.or.jp>
4761
4762         * sh.md (builtin_setjmp_receiver): New expander.
4763
4764 2001-04-12  David Edelsohn  <dje@watson.ibm.com>
4765
4766         * config/rs6000/rs6000.c (rs6000_emit_move): Do not
4767         special-case HOST_BITS_PER_WIDE_INT != 32.  Use same criteria
4768         for generating CONST_INT and CONST_DOUBLE.
4769
4770 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
4771
4772         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
4773         already sign-extended.
4774         (rs6000_emit_prologue): Make register iterator signed.
4775         (rs6000_emit_epilogue): Likewise.
4776         * config/rs6000/rs6000.md (addsi3, adddi3): Sign-extend high
4777         and low.
4778         (movsf split, movdf split): Sign-extend CONST_INTs.
4779         (movdi splits): Likewise.
4780
4781 2001-04-12  Kelley Cook <kelley.cook@home.com>
4782
4783         * config-lang.in (lang_dirs): Add in zlib.
4784
4785 2001-04-11  Alexandre Oliva  <aoliva@redhat.com>
4786
4787         * config/i386/i386.md: Apply trunc_int_for_mode() to GEN_INT
4788         operands that make it to RTL.
4789
4790 2001-04-11  Stan Shebs  <shebs@apple.com>
4791
4792         Add Darwin (Mac OS X kernel) native support.
4793         * config.gcc (powerpc-*-darwin*): Add native bits.
4794         * config/darwin.c: New file, generic Darwin support functions.
4795         * config/darwin.h: New file, generic Darwin definitions.
4796         * config/darwin-protos.h: New file, generic Darwin prototypes.
4797         * rs6000/darwin.h: New file, Darwin for PowerPC.
4798         * rs6000/t-darwin: New file, Darwin makefile fragment.
4799         * rs6000/rs6000.h (OBJECT_MACHO): New macro.
4800         (TARGET_MACHO): Ditto.
4801         (rs6000_abi): Add ABI_DARWIN.
4802         (RS6000_REG_SAVE): Add ABI_DARWIN case.
4803         (RS6000_SAVE_AREA): Ditto.
4804         (FP_ARG_MAX_REG): Ditto.
4805         (RETURN_ADDRESS_OFFSET): Ditto.
4806         * rs6000/rs6000.c (rs6000_legitimize_address): Add TARGET_MACHO
4807         cases.
4808         (rs6000_emit_move): Add ABI_DARWIN cases.
4809         (print_operand): Ditto.
4810         (first_reg_to_save): Ditto.
4811         (rs6000_stack_info): Ditto, also align stack by 16 instead of 8.
4812         (debug_stack_info): Ditto.
4813         (rs6000_emit_prologue): Ditto.
4814         (rs6000_emit_epilogue): Ditto.
4815         (output_profiler_hook): Ditto.
4816         (output_function_profiler): Ditto.
4817         (rs6000_add_gc_roots): Call machopic_add_gc_roots if TARGET_MACHO.
4818         (output_mi_thunk): Add TARGET_MACHO case.
4819         (add_compiler_stub): Ditto.
4820         (output_compiler_stub): Ditto.
4821         (no_previous_def): Ditto.
4822         (output_call): Ditto.
4823         (machopic_output_stub): Ditto.
4824         (rs6000_machopic_legitimize_pic_address): Ditto.
4825         (toc_section): Ditto.
4826         * rs6000/rs6000.md (addsi3_high): New TARGET_MACHO pattern.
4827         (macho_high): Ditto.
4828         (macho_low): Ditto.
4829         (movsi_low): Ditto.
4830         (load_macho_picbase): Ditto.
4831         (call): Add TARGET_MACHO case to modify function.
4832         (call_value): Ditto.
4833         (call_nonlocal_sysv): Add ABI_DARWIN case.
4834         (call_value_nonlocal_sysv): Ditto.
4835         * rs6000/rs6000-protos.h (rs6000_machopic_legitimize_pic_address):
4836         Add prototype.
4837         (machopic_output_stub): Ditto.
4838         * ginclude/stddef.h: Test _BSD_WCHAR_T_DEFINED_.
4839
4840 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
4841
4842         * dwarf2out.c (modified_type_die): Don't create new types here.
4843         * tree.h (get_qualified_type): New function.
4844         (build_qualified_type): Adjust comment.
4845         * tree.c (get_qualified_type): New function.
4846         (build_qualified_type): Use it.
4847
4848 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4849
4850         * cpp.texi (-Wtraditional): Update description.
4851
4852         * invoke.texi (-Wtraditional): Likewise.
4853
4854 2001-04-11  Jim Wilson  <wilson@redhat.com>
4855
4856         * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Return 128 if argument
4857         requires more than 64 bits of alignment.
4858
4859 2001-04-11  Neil Booth  <neil@daikokuya.demon.co.uk>
4860
4861         * cpplib.c (do_line): Sanity check iff enable checking.
4862
4863 2001-04-11  Richard Henderson  <rth@redhat.com>
4864
4865         * Makefile.in (insn-recog.o): Depend on toplev.h.
4866         (insn-emit.o, doloop.o): Likewise.
4867         * genrecog.c, genemit.c: Include toplev.h in generated file.
4868         * doloop.c: Include toplev.h.
4869
4870 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
4871
4872         * Makefile.in (gcse.o): Depend on params.h.
4873         * gcse.c: Include params.h.
4874         (gcse_main): Don't do GCSE if doing so will take inordinate
4875         amounts of memory.
4876         * params.def (PARAM_MAX_GCSE_MEMORY): New  parameter.
4877         * params.h (MAX_GCSE_MEMORY): New macro.
4878
4879 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4880
4881         * Makefile.in (insn-output.o): Depend on $(EXPR_H).
4882
4883         * genoutput.c (output_prologue): Include expr.h in insn-output.c.
4884
4885 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4886
4887         * output.h (assemble_real): Declare if REAL_VALUE_TYPE is defined.
4888
4889         * real.h (ereal_atof, real_value_truncate, target_isnan,
4890         target_isinf, target_negative, assemble_real, debug_real): Delete
4891         redundant prototypes.
4892
4893         * Makefile.in (ifcvt.o): Depend on toplev.h.
4894
4895         * c-semantics.c: Include expr.h.
4896
4897         * ifcvt.c: Include toplev.h.
4898
4899         * expr.h (rtx_equal_p): Delete prototype.
4900
4901         * rtl.h (exact_log2_wide, floor_log2_wide, permalloc,
4902         protect_from_queue, gen_jump, gen_beq, gen_bge, gen_ble,
4903         eliminate_constant_term, expand_complex_abs, find_single_use,
4904         make_tree, init_expr_once, init_optabs, supports_one_only):
4905         Likewise.
4906
4907         * tree.h (exact_log2_wide, floor_log2_wide, expand_null_return,
4908         rest_of_type_compilation, emit_queue, do_pending_stack_adjust,
4909         expand_assignment, store_expr, emit_line_note_after,
4910         emit_line_note_force, split_specs_attrs, label_rtx): Likewise.
4911
4912         * toplev.h (exact_log2_wide, floor_log2_wide): Add prototype.
4913
4914         * sparc-protos.h: Delete redundant prototypes.
4915
4916 2001-04-11  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
4917
4918         * reload.c (push_reload): Add condition missed in SUBREG byte
4919         offset patch.
4920
4921 Wed Apr  4 00:28:23 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4922
4923         * sparc/sol2-sld-64.h (STARTFILE_SPEC): Added missing blank.
4924
4925 Wed Apr 11 14:06:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
4926
4927         * i386.md (floatsisf_sse): Fix output template
4928         * i386.c (ix86_expand_fp_movcc)
4929
4930         * reg-stack.c (emit_pop_insn): Handle complex modes.
4931         (move_for_stack_reg): Emit proper move mode.
4932         (subst_stack_regs_pat): Handle complex modes.
4933
4934 2001-04-11  Jakub Jelinek  <jakub@redhat.com>
4935
4936         * cpplex.c (_cpp_lex_token): Only warn if -Wcomment.
4937
4938 2001-04-10  Richard Henderson  <rth@redhat.com>
4939
4940         * libgcc2.h (__terminate_func_ptr): Remove typedef.
4941         (__pure_virtual, __terminate, __terminate_set_func,
4942         __default_terminate, __throw_type_match, __empty,
4943         __get_eh_context, __get_eh_info, __get_dynamic_handler_chain,
4944         __eh_rtime_match, __unwinding_cleanup, __rethrow,
4945         __sjthrow, __sjpopnthrow, __eh_alloc, __eh_free):
4946         Remove prototypes of deleted functions.
4947
4948 2001-04-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4949
4950         * c-typeck.c (convert_arguments): -Wtraditional now activates
4951         -Wconversion warnings, except for changes in signed-ness.
4952         Detect complex<->int & int<->complex conversions as well.
4953
4954         * invoke.texi (-Wtraditional): Document it.
4955
4956 Tue Apr 10 17:45:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4957
4958         * gcse.c (update_ld_motion_stores): Don't use variable I for an insn.
4959         * flow.c (set_block_for_new_insns): Remove needless cast and
4960         properly check for unset block number.
4961
4962 2001-04-10  Andrew MacLeod  <amacleod@redhat.com>
4963
4964         * function.c (purge_single_hard_subreg_set): Only check REGNO if
4965         the subreg was a hard register. Pseudos are left as subregs.
4966
4967 2001-04-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4968
4969         * Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro.
4970         (LIB2ADD_ST): New macro, pass it to mklibgcc.
4971         * mklibgcc.in (libgcc2_st_objs): New variable, set it from LIB2ADD_ST.
4972         (libgcc_st_objs): New, set from libgcc2_st_objs. Use it for libgcc.a.
4973         * config/rs6000/t-ppccomm (LIB2FUNCS_STATIC_EXTRA): New macro.
4974
4975 2001-04-09  Bo Thorsen  <bo@suse.co.uk>
4976
4977         * config/i386/i386.md: "TARGET_64BIT && TARGET_64BIT": Removed one.
4978
4979 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
4980
4981         * output.h (set_block_num): Missed it earlier, remove deprecated
4982         prototype.
4983
4984 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
4985
4986         * gcse.c (oprs_unchanged_p): Pass basic_block to load_killed_in_block_p.
4987         (load_killed_in_block_p): Change bb parameter from int to basic_block.
4988         (oprs_not_set_p): Pass basic_blocks instead of ints as parameters.
4989         (handle_rd_kill_set): Change bb parameter from int to basic_block.
4990         (compute_kill_rd): Pass basic_blocks instead of ints as parameters.
4991         (expr_killed_p): Change bb parameter from int to basic_block, pass
4992         basic_blocks instead of ints as parameters.
4993         (compute_ae_kill): Pass basic_blocks instead of ints as parameters.
4994         (expr_reaches_here_p_work, expr_reaches_here_p): Change bb parameter
4995         from int to basic_block, pass basic_blocks instead of ints as parms.
4996         (pre_expr_reaches_here_p_work, pre_expr_reaches_here_p): Change bb
4997         parameter from int to basic_block, pass basic_blocks instead of ints.
4998         (process_insert_insn): Pass basic_blocks instead of ints as parameters.
4999         (insert_insn_end_bb): Change bb parameter from int to basic_block,
5000         pass basic_blocks instead of ints.
5001         (pre_edge_insert, pre_insert_copy_insn, pre_insert_copies): Pass
5002         basic_blocks instead of ints as parameters.
5003         (pre_delete): Pass basic_blocks instead of ints as parameters.
5004         (hoist_expr_reaches_here_p): Change bb parameter from int to
5005         basic_block, pass basic_blocks instead of ints.
5006         (hoist_code): Pass basic_blocks instead of ints as parameters.
5007         (reg_set_info, store_ops_ok, store_killed_after, store_killed_before):
5008         Change bb parameter from int to basic_block.
5009         (build_store_vectors): Pass basic_blocks instead of ints as parameters.
5010         (insert_insn_start_bb): Change bb parameter from int to basic_block,
5011         pass basic_blocks instead of ints.
5012         (insert_store): Pass basic_blocks instead of ints as parameters.
5013         (replace_store_insn, delete_store): Change bb parameter from int to
5014         basic_block, pass basic_blocks instead of ints.
5015         (store_motion): Pass basic_blocks instead of ints as parameters.
5016
5017 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
5018
5019         * basic-block.h (set_new_block_for_insns): New Prototype.
5020         (set_block_num): Delete prototype.
5021         * flow.c (set_block_num): Remove obsolete function.
5022         (set_block_for_new_insns): Set BB for single or multiple insns.
5023         * gcse.c (handle_avail_expr): Use set_block_for_new_insns.
5024         (process_insn_end_bb): Use set_block_for_new_insns or
5025         set_block_for_insn instead of set_block_num.
5026         (pre_insert_copy_insn): Use set_block_for_new_insns.
5027         (update_ld_motion_stores): Use set_block_for_new_insns.
5028         (insert_insn_start_bb): Use set_block_for_new_insns.
5029         (replace_store_insn): Use set_block_for_new_insns.
5030
5031 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
5032             Jeff Law  <law@redhat.com>
5033
5034         * alias.c (get_addr): Externalize.
5035         (canon_true_dependence): New function. Behaves like true_dependance
5036         except it already assumes a MEM has been canonicalized.
5037         * flags.h (flag_gcse_lm, flag_gcse_sm): New optimization flags.
5038         * gcse.c (struct ls_expr): Add load/store expressions structure.
5039         (modify_mem_list, canon_modify_mem_list): New variable.
5040         (gcse_main): Initialize & finalize alias analysis. Use enhanced
5041         load motion and store motion if requested.
5042         (alloc_gcse_mem): Allocate space for modify_mem_list array.
5043         (free_gcse_mem): Free the modify_mem_list array.
5044         (oprs_unchanged_p): Use load_killed_in_block_p.
5045         (gcse_mems_conflict_p, gcse_mem_operand): New variables.
5046         (mems_conflict_for_gcse_p): New function.  Don't kill loads
5047         with stores to themselves if its in the load/store expression list.
5048         (load_killed_in_block_p): New function.
5049         (canon_list_insert): New Function.
5050         (record_last_mem_set_info): Keep a list of all instructions which
5051         can modify memory for each basic block.
5052         (compute_hash_table, reset_opr_set_tables): Clear modify_mem_list.
5053         (oprs_not_set_p): Use load_killed_in_block_p.
5054         (mark_call, mark_set, mark_clobber): Use record_last_mem_set_info.
5055         (expr_killed_p): Use load_killed_in_block_p.
5056         (compute_transp): Do not pessimize memory references.
5057         (pre_edge_insert): Update stores for a load motion expression.
5058         (one_pre_gcse_pass): Check loads/stores for extra load motion.
5059         (ldst_entry): Find or create a ldst_expr structure.
5060         (free_ldst_entry): Free memory for an individual item.
5061         (free_ldst_mems): Free entire load/store expression list.
5062         (print_ldst_list): Print debug info.
5063         (find_rtx_in_ldst): Try to find an rtx expression in the ldst list.
5064         (enumerate_ldsts): Assign integer values to each entry in list.
5065         (first_ls_expr): First expression in the list.
5066         (next_ls_expr): Next expression in the list.
5067         (simple_mem): Check if expression qualifies for ld/st expression list.
5068         (invalidate_any_buried_refs): Remove from expression list if its
5069         used in some other way we dont understand.
5070         (compute_ld_motion_mems): Find all potential enhanced load motion
5071         expression.
5072         (trim_ld_motion_mems): Remove any expressions which are invalid.
5073         (update_ld_motion_stores): Copy store values to registers for loads
5074         which have been moved.
5075         (regvec, st_antloc, num_store): New global statics.
5076         (reg_set_info): Marks registers as set.
5077         (store_ops_ok): Verfies registers expressions are valid in a block.
5078         (find_moveable_store): Look for moveable stores in a pattern.
5079         (compute_store_table): Find stores in a function worth moving, maybe.
5080         (load_kills_store): Check dependance of a load and store.
5081         (find_loads): Find any loads in a pattern.
5082         (store_killed_in_insn): Check if a store is killed in an insn.
5083         (store_killed_after): Check is store killed after an insn in a block.
5084         (store_killed_before): Check is store killed before an insn in a block.
5085         (build_store_vectors): Generate the antic and avail vectors.
5086         (insert_insn_start_bb): Insert at the start of a BB, update BLOCK_HEAD.
5087         (insert_store): Add a store to an edge.
5088         (replace_store_insn): Replace a store with a SET insn.
5089         (delete_store): Delete a store insn.
5090         (free_store_memory): Free memory.
5091         (store_motion): Perform store motion.
5092         * invoke.texi: Add documentation for -fcse-lm and -fgcse-sm.
5093         * rtl.h (get_addr, canon_true_dependence): Add prototypes.
5094         * toplev.c (flag_gcse_lm, flag_gcse_sm): New Variables.
5095         (f_options): Add gcse-lm and gcse-sm.
5096
5097 Mon Apr  9 16:18:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
5098
5099         * i386.c (expand_fp_movcc): Fix condition reversal code.
5100
5101         * i386.c (ix86_register_move_cost): Fix handling of reformating penalty
5102         * i386.h (INTEGER_CLASS_P, MAYBE_INTEGER_CLASS_P): New.
5103         (CLASS_MAX_NREGS): Use it.
5104
5105         * i386.h (HARD_REGNO_NREGS): Handle properly TF and TCmodes on 64bit;
5106         handle properly complex values.
5107         (CLASS_MAX_NREGS): Likewise; update comment.
5108
5109 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
5110
5111         * ia64.c (ia64_flag_schedule_insns2): New variable.
5112         (ia64_override_options): Initialize it.  Clear
5113         flag_schedule_insns_after_reload.
5114         (ia64_reorg): Only do scheduling if ia64_flag_schedule_insns2.
5115
5116 Mon Apr  9 15:09:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
5117
5118         * i386.md (truncdfsf2_*): Add i387->int/sse reg alternatives;
5119         Do not require source to match destination anymore;
5120         Add abort to the nontrivial cases that should be handled by split.
5121         (fix_trunc?fdi): Add SSE case for x86_64.
5122         (floatdi?f): Likewise.
5123         (floatdi?f_sse): New.
5124         (fix_trunc?fdi_sse): New.
5125
5126 2001-04-09  Richard Sandiford   <rsandifo@redhat.com>
5127
5128         * dwarfout.c (DEBUG_ARANGES_BEGIN_LABEL): New label.
5129         (DEBUG_ARANGES_END_LABEL): Ditto.
5130         (dwarfout_init): Generate length and version fields at the start
5131         of the .debug_aranges info.  Insert DEBUG_ARANGES_BEGIN_LABEL
5132         after the length field.
5133         (dwarfout_finish): Insert DEBUG_ARANGED_END_LABEL at the end of
5134         the .debug_aranges info.
5135
5136 Sun Apr  8 00:43:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
5137
5138         * i386.c (call, call_value): Make sure that resulting call_insn
5139         does have proper second operand.
5140
5141 Sun Apr  8 22:50:49 2001  Christopher Faylor <cgf@cygnus.com>
5142
5143         * config/i386/xm-cygwin.h (GET_ENV_PATH_LIST): Eliminate obsolete
5144         function.  Remove include of sys/cygwin.h.
5145
5146 Sun Apr  8 22:20:27 2001  Christopher Faylor <cgf@cygnus.com>
5147
5148         * config/i386/cygwin.h (STARTFILE_SPEC): search */lib/w32api by default.
5149         (CPP_SPEC): Always search */include/w32api for header files.
5150         (ASM_OUTPUT_SECTION_NAME): Avoid testing NULL DECL.
5151         (LINK_SPEC): Add "cyg" to the library search prefixes.
5152
5153 2001-04-08  Philip Blundell  <philb@gnu.org>
5154
5155         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Use asm_fprintf.
5156
5157 2001-04-08  Neil Booth  <neil@daikokuya.demon.co.uk>
5158
5159         * cpperror.c (print_location): Don't special case <stdin>.
5160         (_cpp_begin_message): Handle WARNING_SYSHDR the same as
5161         WARNING, but we don't check if we're in system headers.
5162         * cpplib.h (enum error_type): WARNING_SYSHDR: New.
5163         * cpplib.c (do_warning): Warn in system headers.
5164
5165 2001-04-07  Mumit Khan <khan@NanoTech.Wisc.EDU>
5166
5167         * mbchar.c: Include config.h first.
5168
5169 2001-04-07  Zack Weinberg  <zackw@stanford.edu>
5170
5171         * config.gcc: Set default for xmake_file at top, not bottom.
5172         Change places that set xmake_file to "none" to set to the
5173         empty string instead, or remove them entirely if there is no
5174         default xmake_file for this cpu_type.  Remove references to
5175         deleted files.
5176
5177         * config/x-lynx, config/convex/x-convex, config/elxsi/x-elxsi,
5178         config/i386/x-isc, config/i386/x-isc3, config/i386/x-ncr3000,
5179         config/i386/x-next, config/i386/x-sco, config/i386/x-sysv3,
5180         config/i386/x-vsta, config/i860/x-sysv4, config/m68k/x-amix,
5181         config/m68k/x-apollo68, config/m68k/x-ccur, config/m68k/x-crds,
5182         config/m68k/x-hp2bsd, config/m68k/x-mot3300, config/m68k/x-mot3300-gas,
5183         config/m68k/x-tower, config/m88k/x-sysv4, config/mips/x-dec-osf1,
5184         config/mips/x-sni-svr4, config/mips/x-ultrix, config/romp/x-mach,
5185         config/romp/x-romp, config/rs6000/x-beos, config/rs6000/x-lynx,
5186         config/rs6000/x-mach, config/rs6000/x-sysv4, config/sparc/x-sysv4:
5187         Delete.
5188
5189         * config/a29k/x-unix, config/i386/x-aix, config/i386/x-osf1elf,
5190         config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
5191         config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
5192         config/mips/x-sysv, config/rs6000/x-aix31:
5193         Just set CLIB to -lld or -lmld, as appropriate.
5194
5195         * config/arm/x-riscix, config/i370/x-oe, config/i386/x-dgux,
5196         config/i386/x-sco4, config/i386/x-sco5, config/m68k/x-hp320,
5197         config/m68k/x-hp320g, config/m68k/x-next, config/m88k/x-dgux,
5198         config/mips/x-iris, config/pa/x-pa:
5199         Just set (some of) FIXPROTO_DEFINES, STMP_FIXPROTO,
5200         OTHER_FIXINCLUDES_DIRS.
5201
5202         * config/i386/x-djgpp: Don't set LN or LN_S.
5203         * config/m88k/x-dolph: Don't define __m88k__.
5204         * config/m88k/x-tekXD88: Don't set AR_FLAGS.
5205         * config/pa/x-pa-mpeix: Just set up quadlib.asm.
5206         * config/i860/fx2800.h: No need to #undef SVR4.
5207
5208         38 x-host fragments remain, 2 x-cpu.
5209
5210 2001-04-07  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5211
5212         * c4x.h (HARD_REGNO_NREGS): HCmode mode uses 2 regs not 4.
5213
5214 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
5215
5216         * cpplib.c (cpp_push_buffer): Give stdin buffers the name <stdin>.
5217
5218 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
5219
5220         * configure.in: Add check for lstat.
5221         * configure, config.in: Regenerate.
5222         * cppinit.c (append_include_chain): Make empty path ".".
5223         * cpplib.c (do_line): Don't simplify #line paths.
5224         * cppfiles.c (remove_component_p): New function.
5225         (find_or_create_entry): Acknowledge stat () errors during
5226         path simplification.
5227         (handle_missing_header): Don't simplify paths.
5228         (_cpp_simplify_pathname): Don't simplify VMS paths.  Return
5229         the empty path untouched.  Don't leave a trailing '/'.
5230
5231 2001-04-06  Benjamin Kosnik  <bkoz@redhat.com>
5232
5233         * cppdefault.c (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
5234         * Makefile.in (-DGPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
5235
5236 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
5237
5238         * cppfiles.c (open_file): Fail directories silently, but
5239         with an errno of NOENT set.
5240         (read_include_file): Move the common exit code to the sole
5241         caller.  Return an int indicating success or failure.  Let
5242         open_file handle directories.
5243         (stack_include_file): If read_include_file fails,
5244         push a "null" buffer.
5245
5246 2001-04-05  DJ Delorie  <dj@redhat.com>
5247
5248         * function.h (virtuals_instantiated): Declare.
5249         * function.c: (virtuals_instantiated): Make global.
5250         * calls.c (emit_library_call_value_1): Use
5251         virtual_outgoing_args_rtx only if it hasn't been instantiated.
5252         Otherwise, use the stack pointer directly.
5253
5254 Thu Apr  5 19:13:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
5255
5256         * i386.c (x86_initialize_trampoline): New global function.
5257         * i386.h (TRAMPOLINE_SIZE): Size is 23 for x86_64.
5258         (INITIALIZE_TRAMPOLINE): Move offline.
5259         * i386-protos.h (x86_initialize_trampoline): Declare.
5260
5261 Thu Apr  5 19:02:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
5262
5263         * i386.md (movdi_1_rex64): Allow SSE->SSE reg move.
5264         (lea_0): Rename to lea_1.
5265         (lea_1_zext, lea_1_rex64, lea_2_rex64): New patterns.
5266         (lea_general_?): Allow SImodes on TARGET_64BIT
5267         (lea_general_?_zext): New patterns.
5268         (call_1, call_1_rex64): Fix.
5269
5270 Thu Apr  5 19:00:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
5271
5272         * i386.c (ix86_split_long_move): Use PUT_MODE instead of change_address.
5273
5274 Thu Apr  5 18:25:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
5275
5276         * i386.c (function_arg): Return constm1_rtx for last argument.
5277         (ix86_expand_prologue): Update gen_call calls.
5278         * i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
5279         * i386.md (call_pop): Likewise.
5280         (call): Second operand is VOIDmode.
5281         (call_0): Likewise; Support 64bits.
5282         (call_exp): New expander.
5283         (call_1): Get to the sync.
5284         (call_1_exp): New pattern.
5285         (call_value): Support 64bit.
5286         (call_value_exp): New pattern.
5287         (untyped_call): Update gen_call call.
5288         (call_value_pop): Disable for 64bit.
5289         (call_value_0_rex64): New pattern.
5290         (call_value_1_rex64): Likewise.
5291
5292 2001-04-05  Bo Thorsen  <bo@suse.de>
5293
5294         * i386.md: Don't allow "builtin_setjmp_receiver" for TARGET_64BIT.
5295
5296 Thu Apr  5 13:44:17 2001  J"orn Rennecke <amylaar@redhat.com>
5297
5298         * i386.md (*andsi_1+3): If used after reload, make sure the operand
5299         satisfies ANY_QI_REG_P.
5300
5301 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
5302
5303         * config/ia64/ia64.c (rtx_needs_barrier): A PARALLEL can contain
5304         ASM_OPERAND.
5305
5306         * sched-deps.c (sched_analyze_insn): Revert more of the March 27
5307         change.
5308
5309 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
5310
5311         * config.gcc: Remove default for xm_file.  Clean up local
5312         machine type handling.  Remove settings of xm_file to
5313         something that doesn't exist.  In the big switch, set xm_file,
5314         don't append to it (the value before the big switch is always
5315         null).  Don't force build_xm_file or host_xm_file to have a value.
5316         * configure.in: Remove default for xm_file.  Do not special
5317         case $cpu/xm-$cpu.h not existing.
5318         * configure: Regenerate.
5319
5320 2001-04-04  Diego Novillo  <dnovillo@redhat.com>
5321
5322         * simplify-rtx.c (simplify_binary_operation): Check for overflow
5323         when folding integer division and modulo operations.
5324
5325 2001-04-04  Andrew MacLeod  <amacleod@redhat.com>
5326
5327         * dwarf2out.c (output_cfi): Add 'for_eh' parameter, use PTR_SIZE
5328         instead of DWARF2_ADDR_SIZE for EH addresses.
5329         (output_call_frame_info): Use PTR_SIZE instead of DWARF2_ADDR_SIZE for
5330         EH addresses.
5331
5332 2001-04-04  Richard Henderson  <rth@redhat.com>
5333
5334         * config/ia64/ia64.h (IA64_UNWIND_INFO): Disable.
5335         * config/ia64/t-glibc (LIB2ADDEH): Disable.
5336         * config/ia64/t-ia64 (LIB2ADDEH): Disable.
5337
5338 2001-04-04  Richard Henderson  <rth@redhat.com>
5339
5340         * configure.in (gcc_cv_as_leb128): Escape "." in regexp.
5341         * configure: Rebuilt.
5342
5343 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
5344
5345         * gcse.c (delete_null_pointer_checks_1): Add delete_list argument,
5346         push insns to delete to it instead of deleting them.
5347         (delete_null_pointer_checks): Delete insns from delete_list after
5348         all delete_null_pointer_checks_1 passes are done.
5349
5350 2001-04-04  Richard Henderson  <rth@redhat.com>
5351
5352         * configure.in (gcc_cv_as_leb128): Tweek minor number extraction.
5353         * configure: Rebuilt.
5354
5355 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
5356
5357         * expr.h: Remove #ifdef FUNCTION_CONVERSION_BUG logic.
5358         * config/romp/xm-romp.h: Delete.
5359
5360 2001-04-04  Bernd Schmidt  <bernds@redhat.com>
5361
5362         * sched-deps.c (sched_analyze_insn): Partially revert March 27
5363         change.
5364
5365 2001-04-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5366
5367         * emit-rtl.c (mark_label_nuses) Increment the label uses for
5368         all labels present in rtx.
5369         (try_split) Call new function for all split insns.
5370
5371 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
5372
5373         * recog.c (validate_replace_rtx_1): Instead of aborting just make
5374         sure the change won't be validated.
5375
5376 Wed Apr  4 00:45:38 EDT 2001  John Wehle  (john@feith.com)
5377
5378         * rtl.h (set_noop_p): Declare.
5379         * flow.c (set_noop_p): Move from here ...
5380         * rtlanal.c (set_noop_p): ... to here and enhance.
5381         * cse.c (delete_trivially_dead_insns): Use it.
5382         * gcse.c (hash_scan_set): Likewise.
5383         * jump.c (delete_noop_moves): Likewise.
5384         * recog.c (split_all_insns): Likewise.
5385
5386 2001-04-04  Alan Modra  <alan@linuxcare.com.au>
5387
5388         * dwarf2out.c (dwarf2out_frame_debug_expr): Support adjusting
5389         stack pointer via a LO_SUM.  Ditto for setting a temp register
5390         used to save to the stack.  Set cfa_temp when setting fp, and
5391         allow matches to cfa_temp in addition to cfa_store when saving
5392         regs.  Handle POST_INC and LO_SUM register stores.  Document the
5393         changes and errors in rule 12 doco.
5394
5395         * pa.c (set_reg_plus_d, store_reg, load_reg): Return last insn.
5396         (actual_fsize, local_fsize, save_fregs): Move for store_reg to see.
5397         (load_reg): Move closer to epilogue code.
5398         (DO_FRAME_NOTES): Define to control the following..
5399         (FRP): Define to set RTX_FRAME_RELATED_P on insns.
5400         (hppa_expand_prologue): Use FRP and REG_FRAME_RELATED_EXPR
5401         notes as necessary.
5402         (hppa_expand_epilogue): Likewise.
5403
5404 2001-04-03  Richard Henderson  <rth@redhat.com>
5405
5406         * configure.in (gcc_cv_as_leb128): Reject gas before 2.11.
5407         * configure: Rebuild.
5408
5409 2001-04-03  Richard Henderson  <rth@redhat.com>
5410
5411         * rtl.h (LCT_THROW): New.
5412         * calls.c (emit_library_call_value_1): Handle it.
5413         * except.c (connect_post_landing_pads): Use it.
5414
5415 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
5416
5417         * gansidecl.h: Delete file.
5418         * configure.in: Change all refs to gansidecl.h to use
5419         ansidecl.h.  Adjust *_file_list so they know where ansidecl.h
5420         lives.
5421         * configure: Regenerate.
5422
5423         * Makefile.in (intl.o): Don't depend on gansidecl.h.
5424         * defaults.h: s/gansidecl.h/ansidecl.h/ in comment.
5425         * ggc.h, config/fr30/fr30.h, config/mcore/mcore.c:
5426         Don't include gansidecl.h.
5427         * intl.c, main.c, version.c, fixinc/fixlib.h,
5428         fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not
5429         gansidecl.h.
5430
5431 Tue Apr  3 19:41:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
5432
5433         * i386.c (ix86_force_to_memory, ix86_free_from_memory):
5434         Update for 64bit.
5435
5436 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
5437
5438         * config/i386/xm-beos.h, config/i386/xm-isc.h,
5439         config/i386/xm-next.h, config/i386/xm-sco.h,
5440         config/i386/xm-sco5.h, config/m68k/xm-plexus.h,
5441         config/m88k/xm-m88k.h: Delete.
5442
5443         * config/i386/xm-djgpp.h: Don't define __MSDOS__.
5444         * config/romp/xm-romp.h: Don't define bcopy.
5445         * config/rs6000/xm-beos.h: Don't define bcopy, HAVE_VPRINTF,
5446         HAVE_PUTENV, HAVE_RENAME, or USE_C_ALLOCA.
5447
5448         * config.gcc: Remove references to deleted files.
5449
5450         14 xm-host.h remain, 1 xm-cpu.h.
5451
5452 2001-04-03  Jakub Jelinek  <jakub@redhat.com>
5453             David S. Miller  <davem@pierdol.cobaltmicro.com>
5454             Andrew MacLeod  <amacleod@redhat.com>
5455
5456         Use byte offsets in SUBREGs instead of words.
5457
5458         * alias.c (nonlocal_mentioned_p): Use subreg_regno function.
5459         * caller-save.c (mark_set_regs): Change callers of subreg_hard_regno
5460         to pass new argument.
5461         (add_stored_regs): Use subreg_regno_offset function.
5462         * calls.c (expand_call): For non-paradoxical SUBREG take endianess
5463         into account.
5464         (precompute_arguments): Use gen_lowpart_SUBREG.
5465         * combine.c (try_combine): Replace explicit XEXP with SUBREG_REG.
5466         (combine_simplify_rtx): Rework to use SUBREG_BYTE.
5467         (simplify_set): Rework to use SUBREG_BYTE.
5468         (expand_field_assignment): Use SUBREG_BYTE.
5469         (make_extraction): Use SUBREG_BYTE.
5470         (if_then_else_cond): Use SUBREG_BYTE.
5471         (apply_distributive_law): Use SUBREG_BYTE and fixup subreg comments.
5472         (gen_lowpart_for_combine): Compute full byte offset.
5473         * cse.c (mention_regs): Use SUBREG_BYTE.
5474         (remove_invalid_subreg_refs): Rework to use SUBREG_BYTE.
5475         (canon_hash): Use SUBREG_BYTE.
5476         (fold_rtx): Pass SUBREG_BYTE div UNITS_PER_WORD to operand_subword.
5477         (gen_lowpart_if_possible): Formatting.
5478         * dbxout.c (dbxout_symbol_location): Compute SUBREG hard regnos
5479         correctly.
5480         * dwarf2out.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
5481         (mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
5482         (loc_descriptor): Fixup explicit XEXP into SUBREG_REG
5483         * dwarfout.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
5484         (output_mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
5485         (output_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
5486         * emit-rtl.c (gen_rtx_SUBREG): New function, used to verify
5487         certain invariants about SUBREGs the compiler creates.
5488         (gen_lowpart_SUBREG): New function.
5489         (subreg_hard_regno): New function to get the final register number.
5490         (gen_lowpart_common): Use SUBREG_BYTE.
5491         (gen_imagpart): Spacing nits.
5492         (subreg_realpart_p): Use SUBREG_BYTE.
5493         (gen_highpart): Use SUBREG_BYTE.
5494         (subreg_lowpart_p): Always compute endian corrected goal offset,
5495         even at the byte level, then compare against that.
5496         (constant_subword): New function, pulled out all constant cases
5497         from operand_subword and changed second argument name to offset.
5498         (operand_subword): Detect non REG/SUBREG/CONCAT/MEM cases early
5499         and call constant_subword to do the work.  Return const0_rtx if
5500         looking for a word outside of OP.
5501         (operand_subword_force): Change second arg name to offset.
5502         * expmed.c (store_bit_field): Use SUBREG_BYTE.
5503         (store_split_bit_field): Use SUBREG_BYTE.
5504         (extract_bit_field): Use SUBREG_BYTE.
5505         (extract_split_bit_field): Use SUBREG_BYTE.
5506         (expand_shift): Use SUBREG_BYTE.
5507         * expr.c (store_expr, expand_expr): Use gen_lowpart_SUBREG.
5508         * final.c (alter_subreg) Use subreg_hard_regno and SUBREG_BYTE.
5509         * flow.c (set_noop_p): Use SUBREG_BYTE.
5510         (mark_set_1): Remove ALTER_HARD_SUBREG. Use subreg_regno_offset instead.
5511         * function.c (fixup_var_refs_1): Fixup explicit XEXP into a SUBREG_REG.
5512         (fixup_memory_subreg): Use SUBREG_BYTE and remove byte endian
5513         correction code.
5514         (optimize_bit_field): Use SUBREG_BYTE.
5515         (purge_addressof_1): Use SUBREG_BYTE.
5516         (purge_single_hard_subreg_set): Use subreg_regno_offset function.
5517         (assign_params): Mark arguments SUBREG_PROMOTED_VAR_P if they are
5518         actually promoted by the caller and PROMOTE_FOR_CALLS_ONLY is true.
5519         * gengenrtl.c (special_rtx): Add SUBREG.
5520         * global.c (mark_reg_store): Use SUBREG_BYTE.
5521         (set_preference): Rework to use subreg_regno_offset and SUBREG_BYTE.
5522         * ifcvt (noce_emit_move_insn): Use SUBREG_BYTE.
5523         * integrate.c (copy_rtx_and_substitute): Use SUBREG_BYTE and make sure
5524         final byte offset is congruent to subreg's mode size.
5525         (subst_constants): Use SUBREG_BYTE.
5526         (mark_stores): Use subreg_regno_offset function.
5527         * jump.c (rtx_renumbered_equal_p, true_regnum): Use subreg_regno_offset
5528         function and SUBREG_BYTE.
5529         * local-alloc.c (combine_regs): Use subreg_regno_offset function.
5530         (reg_is_born): Use subreg_hard_regno.
5531         * recog.c (valid_replace_rtx_1): Use SUBREG_BYTE and remove byte
5532         endian correction code.  Don't combine subregs unless resulting
5533         offset aligns with type.  Fix subreg constant extraction for DImode.
5534         Simplify SUBREG of VOIDmode CONST_DOUBLE.
5535         (general_operand): Remove dead mode_altering_drug code.
5536         (indirect_operand): Use SUBREG_BYTE.
5537         (constrain_operands): Use subreg_regno_offset function.
5538         * reg-stack.c (get_true_reg): Use subreg_regno_offset function.
5539         * regmove.c (regmove_optimize): Use SUBREG_BYTE.
5540         (optimize_reg_copy_3): Use gen_lowpart_SUBREG.
5541         * regs.h (REG_SIZE): Allow target to override.
5542         (REGMODE_NATURAL_SIZE): New macro which target can override.
5543         * reload.c (reload_inner_reg_of_subreg): subreg_regno should be used
5544         on the entire subreg rtx.
5545         (push_reload): Use SUBREG_BYTE in comments and code.
5546         (find_dummy_reload): Use subreg_regno_offset.  Only adjust offsets
5547         for hard registers inside subregs.
5548         (operands_match_p): Use subreg_regno_offset.
5549         (find_reloads): Use SUBREG_BYTE and only advance offset for subregs
5550         containing hard regs.
5551         (find_reload_toplev): Use SUBREG_BYTE.  Remove byte endian
5552         corrections when fixing up MEM subregs.
5553         (find_reloads_address_1): Use SUBREG_BYTE, subreg_regno, and
5554         subreg_regno_offset where appropriate.
5555         (find_reloads_subreg_address): Use SUBREG_BYTE.  Remove
5556         byte endian corrections when fixing up MEM subregs.
5557         (subst_reloads): When combining two subregs, make sure final
5558         offset is congruent to subreg's mode size.
5559         (find_replacement): Use SUBREG_BYTE and subreg_regno_offset.
5560         (refers_to_regno_for_reload_p): Use subreg_regno.
5561         (reg_overlap_mentioned_for_reload_p): Use subreg_regno_offset.
5562         * reload1.c (eliminate_regs) Use SUBREG_BYTE. Remove byte endian
5563         correction code for memory subreg fixups.
5564         (forget_old_reload_1): Use subreg_regno_offset.
5565         (choose_reload_regs): Use subreg_regno.
5566         (emit_input_reload_insns): Use SUBREG_BYTE.
5567         (reload_combine_note_store): Use subreg_regno_offset.
5568         (move2add_note_store): Use subreg_regno_offset.
5569         * resource.c (update_live_status, mark_referenced_resources): Use
5570         subreg_regno function.
5571         (mark_set_resources): Use subreg_regno function.
5572         * rtl.h (SUBREG_WORD): Rename to SUBREG_BYTE.
5573         (subreg_regno_offset, subreg_regno): Define prototypes.
5574         (subreg_hard_regno, constant_subword, gen_rtx_SUBREG): Newi functions.
5575         (gen_lowpart_SUBREG): Add prototype.
5576         * rtl.texi (subreg): Update to reflect new byte offset representation.
5577         Add mentioning of the effect that BYTES_BIG_ENDIAN has on subregs now.
5578         * rtlanal.c (refers_to_regno_p): Use subreg_regno.
5579         (reg_overlap_mentioned_p): Use subreg_regno.
5580         (replace_regs); Make sure final offset of combined subreg is
5581         congruent to size of subreg's mode.
5582         (subreg_regno_offset): New function.
5583         (subreg_regno): New function.
5584         * sched-vis.c (print_value): Change SUBREG_WORD to SUBREG_BYTE.
5585         * sdbout.c (sdbout_symbol): Compute offset using alter_subreg.
5586         * stmt.c (expand_anon_union_decl): Use gen_lowpart_SUBREG.
5587         * tm.texi (ALTER_HARD_SUBREG): Remove, it is now dead.
5588         (SUBREG_REGNO_OFFSET): Describe SUBREG_REGNO_OFFSET overrides.
5589         * config/a29k/a29k.c (gpc_reg_operand): Use subreg_regno.
5590         (a29k_get_reloaded_address): Use SUBREG_BYTE.
5591         (print_operand): Use SUBREG_BYTE.
5592         * config/alpha/alpha.c (print_operand_address): Use SUBREG_BYTE.
5593         * config/arm/arm.c (arm_reload_in_hi): Use SUBREG_BYTE.
5594         (arm_reload_out_hi): Use SUBREG_BYTE.
5595         * config/d30v/d30v.c (d30v_split_double): Use subreg_regno_offset
5596         instead of SUBREG_WORD.
5597         (d30v_print_operand_memory_reference): Use subreg_regno_offset.
5598         * config/dsp16xx/dsp16xx.md (extendqihi2, zero_extendqihi2): Fix
5599         SUBREG creation to use byte offset.
5600         * config/h8300/h8300.md (Unnamed HImode zero extraction and 16bit
5601         inverted load insns): Fix explicit rtl subregs to use byte
5602         offsets.
5603         * config/i370/i370.md (cmpstrsi, movstrsi, mulsi3, divsi3,
5604         udivsi3, umodsi3): Generate SUBREGs with byte offsets.
5605         * config/i860/i860.c (single_insn_src_p): Use SUBREG_BYTE.
5606         * config/i860/i860.md (mulsi3_big): Fixup explicit SUBREGs in rtl
5607         to use byte offsets.
5608         (unnamed fmlow.dd insn): Fixup SUBREGS to use byte offsets.
5609         * config/i960/i960.md (extendhisi2): Generate SUBREGs with byte
5610         offsets, also make sure it is congruent to SUBREG's mode size.
5611         (extendqisi2, extendqihi2, zero_extendhisi2, zero_extendqisi2,
5612         unnamed ldob insn): Generate SUBREGs with byte offset.
5613         (zero_extendqihi2): SUBREG's are byte offsets.
5614         * config/m68hc11/m68hc11.c (m68hc11_gen_lowpart): Use SUBREG_BYTE.
5615         (m68hc11_gen_highpart): Use SUBREG_BYTE.
5616         * config/m68k/m68k.md (zero_extendhisi2, zero_extendqihi2,
5617         zero-extendqisi2): Generate SUBREGs with byte offset.
5618         (umulsidi3, mulsidi3, subreghi1ashrdi_const32,
5619         subregsi1ashrdi_const32, subreg1lshrdi_const32): Fixup explicit
5620         subregs in rtl to use byte offsets.
5621         * config/m88k/m88k.md (extendsidi2): fixup subregs to use byte offset.
5622         * config/mips/mips.c (mips_move_1word): Use subreg_regno_offset.
5623         (mips_move_2words): Use subreg_regno_offset.
5624         (mips_secondary_reload_class): Use subreg_regno_offset.
5625         * config/mips/mips.md (DImode plus, minus, move, and logical op
5626         splits): Fixup explicit subregs in rtl to use byte offsets.
5627         * config/mn10200/mn10200.c (print_operand): Use subreg_regno function.
5628         * config/mn10300/mn10300.c (print_operand): Use subreg_regno function.
5629         * config/ns32k/ns32k.md (udivmoddisi4): Fix explicit subregs in
5630         rtl to use byte offsets.
5631         * config/pa/pa.c (emit_move_sequence): Use SUBREG_BYTE.
5632         * config/pa/pa.md (floatunssisf2, floatunssidf2, mulsi3): fix explicit
5633         subregs to use byte offsets.
5634         * config/pdp11/pdp11.md (zero_extendhisi2, modhi3, modhi3+1):
5635         Fixup explicit subregs in rtl to use byte offsets.
5636         * config/romp/romp.c (memory_offset_in_range_p): Use SUBREG_BYTE
5637         and remove byte endian correction code.
5638         * config/sh/sh.c (output_movedouble): Use subreg_regno.
5639         (gen_ashift_hi): Use SUBREG_BYTE.
5640         (regs_used): Use subreg_regno_offset.
5641         (machine_dependent_reorg): Use subreg_regno_offset.
5642         * config/sh/sh.h (INDEX_REGISTER_RTX_P): Use SUBREG_BYTE.
5643         * config/sh/sh.md (DImode and DFmode move splits): Use subreg_regno.
5644         (movdf_i4): Subregs are byte offsets now.
5645         * config/sparc/sparc.c (ultra_find_type): Use SUBREG_BYTE.
5646         * config/sparc/sparc.h (ALTER_HARD_SUBREG): Removed.
5647         (REGMODE_NATURAL_SIZE): Override.
5648         (REG_SIZE): For SUBREG check float mode on SUBREG_REG's mode.
5649         * config/sparc/sparc.md (TFmode move splits): Generate SUBREGs
5650         with byte offsets.
5651         (zero_extendhisi2, zero_extendqidi2_insn, extendhisi2,
5652         extendqihi2, sign_extendqihi2_insn, sign_extendqisi2_insn,
5653         extendqidi2): Generate SUBREGs with byte offsets, also make sure
5654         it is congruent to SUBREG's mode size.
5655         (smulsi3_highpart_v8plus): Fix explicit subregs in rtl to use byte
5656         offsets.
5657         (cmp_siqi_trunc, cmp_siqi_trunc_set, cmp_diqi_trunc,
5658         cmp_diqi_trunc_set, lshrdi3_v8plus+1, lshrdi3_v8plus+2,
5659         lshrdi3_v8plus+3, lshrdi3_v8plus+4): Use proper
5660         SUBREG_BYTE offset for non-paradoxical subregs in patterns.
5661         * config/v850/v850.c (print_operand, output_move_double): Use
5662         subreg_regno function.
5663
5664 2001-04-03  Alexandre Oliva  <aoliva@redhat.com>
5665
5666         * configure.in (target_subdir): Use target_alias, not target.
5667         * configure: Rebuilt.
5668
5669         * config/sh/crtn.asm (init, fini): Restore r15 from r14, not the
5670         other way round.
5671         * config/sh/crti.asm: Fix typos in comments.
5672
5673 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
5674
5675         * pa.h: Revise comments for TARGET_NO_SPACE_REGS and
5676         TARGET_FAST_INDIRECT_CALLS.
5677         * pa.c (override_options): TARGET_NO_SPACE_REGS is now OK with
5678         -fPIC.  Don't warn.
5679         (return_addr_rtx): Short circuit export stub matching when
5680         TARGET_NO_SPACE_REGS.
5681         (output_millicode_call): For out of range calls, make -fPIC
5682         take precedence, then TARGET_PORTABLE_RUNTIME, then ble.  Don't
5683         return before delay slot checks when TARGET_PORTABLE_RUNTIME.
5684         * pa.md: Modify length attr calculation of all millicode insns to
5685         match above.
5686
5687 2001-04-02  Geoffrey Keating  <geoffk@redhat.com>
5688
5689         * configure.in (gcc_cv_as_leb128): Correct name of cache variable.
5690         Require at least 2.11 in the version test.  Specifically check
5691         for and reject GAS version 2.10.90.
5692         * configure: regenerate.
5693
5694 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
5695
5696         * pa.c (override_options): Remove PIC profiling warning.
5697         (hp_profile_labelno): Delete.
5698         (hp_profile_label_rtx): Delete.
5699         (hp_profile_label_name): Delete.
5700         (pa_add_gc_roots): Remove reference to hp_profile_label_rtx.
5701         (output_function_prologue): Remove profiling code and all tests on
5702         profile_flag.  Move store of PIC_OFFSET_TABLE_REGNUM now that
5703         merge_sp_adjust_with_store can work for PIC and profiling.
5704         (hppa_expand_epilogue): Remove profile_flag test.
5705         (hppa_can_use_return_insn_p): Likewise.
5706         (hppa_init_pic_save): Emit before tail_recursion_reentry, and
5707         cater for PROFILE_HOOK.
5708         (hppa_profile_hook): New function.
5709         * pa.h (FUNCTION_PROFILER): Now does nothing.
5710         (PROFILE_HOOK): Define.
5711         (hppa_profile_hook): Declare.
5712         (PROFILE_BEFORE_PROLOGUE): Delete.
5713         (ASM_OUTPUT_REG_PUSH): Delete.
5714         (ASM_OUTPUT_REG_POP): Delete.
5715         * pa.md (call_profiler): Turn it into a call insn, and don't `use'
5716         r24.  Accept function name operand, and use this and a locally
5717         generated label to calculate pc-rel offset to func start.
5718
5719 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5720
5721         * $(HOST_PREFIX_1)errors.o, $(HOST_PREFIX_1)ggc-none.o,
5722         ggc-common.o, ggc-simple.o, ggc-page.o, ggc-none.o: Depend on
5723         $(SYSTEM_H).
5724
5725 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
5726
5727         * dwarf2out.c (dwarf2out_frame_debug_expr): Move errant HIGH and
5728         LO_SUM cases to where they belong.
5729
5730 2001-04-02  Richard Henderson  <rth@redhat.com>
5731
5732         * except.h (lang_eh_type_covers): Mark extern.
5733         (lang_eh_runtime_type): Likewise.
5734
5735 2001-04-02  Zack Weinberg  <zackw@stanford.edu>
5736
5737         * genattr.c, gencheck.c, gencodes.c, genconfig.c, genflags.c,
5738         gengenrtl.c:  Wrap generated header in multiple-include guard.
5739         Improve error checking.
5740
5741 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5742
5743         * configure.in: Don't check for putenv.
5744         * configure: Regenerate.
5745         * gcc.c (putenv): Don't define.
5746         * vax/xm-vms.h: Handle putenv.
5747
5748 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
5749
5750         * ifcvt.c (noce_emit_move_insn): New.
5751         (noce_try_store_flag, noce_try_store_flag_constants,
5752         noce_try_store_flag_inc, noce_try_store_flag_mask,
5753         noce_try_cmove, noce_try_cmove_arith, noce_try_minmax,
5754         noce_try_abs): Use it.
5755         (noce_process_if_block): Likewise.
5756         For STRICT_LOW_PART, take mode from its SUBREG.
5757
5758 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
5759
5760         * fold-const.c (fold): Before optimizing unsigned comparison with
5761         0x7fffffffU, make sure arg0 is integral type.
5762
5763 2001-04-02  Joseph S. Myers  <jsm28@cam.ac.uk>
5764
5765         * c-tree.texi: Document representation of wide strings.
5766
5767 2001-04-01  Richard Henderson  <rth@redhat.com>
5768
5769         * except.h (expand_builtin_dwarf_fp_regnum): Declare.
5770
5771 Sun Apr  1 11:49:05 CEST 2001  Jan Hubicka  <jH@suse.cz>
5772
5773         * i386.md: remove obsoleted comments.
5774         (adddi_?): Rename to adddi_?_rex64; disable for 32bit.
5775         (x86_movsicc_0_m1_rex64): Rename to x86_movdicc_0_m1_rex64;
5776         fix output template.
5777
5778 2001-03-31  Marek Michalkiewicz  <marekm@linux.org.pl>
5779
5780         * config/avr/libgcc.S (__mulhi3): Optimize previous change.
5781
5782 2001-03-30  Bernd Schmidt  <bernds@redhat.com>
5783
5784         * loop.c (load_mems): When generating a load from a pseudo, update
5785         REGNO_LAST_UID.
5786
5787 Fri Mar 30 17:36:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
5788
5789         * i386.c (ix86_split_long_move): Use change address to compensate
5790         stack pointer change in push instruction.
5791
5792 Fri Mar 30 00:31:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
5793
5794         * i386.md (sse_movdfcc_eq): Fix constraint (sse_mov?fcc splitter): Use operands_match_p
5795         instead of rtx_equal_p; fix the output template.
5796
5797 Fri Mar 30 00:21:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
5798
5799         * i386.c (ix86_expand_setcc): Support 64bit.
5800         (ix86_expand_int_movcc): Likewise.
5801         * i386.md (movdicc_rex64, x86_movsicc_0_m1_rex64, movdicc_c_rex64):
5802         New patterns.
5803
5804         * i386.md (allocate_stack_worker): Turn to expander.
5805         (allocate_stack_worker_1, allocate_stack_worker_rex64): New insns.
5806
5807         * i386.c (print_reg): Do not print x86_64 style regs on IA-32
5808
5809 2001-03-29  Richard Henderson  <rth@redhat.com>
5810
5811         * libgcc2.c [L__main]: Include unwind-dw2-fde.h instead of frame.h.
5812
5813 2001-03-28  Matthew Hiller  <hiller@redhat.com>
5814
5815         * config/mn10300/mn10300.md (cmpsi): Fix first alternative's
5816         output template.
5817
5818         * MAINTAINERS: Added self.
5819
5820 2001-03-28  Richard Henderson  <rth@redhat.com>
5821
5822         * Makefile.in (cs-tconfig.h): Depend on CONFIG_H, not GCONFIG_H.
5823         Use ALL_CFLAGS not HOST_CFLAGS for sjlj detection.
5824
5825 2001-03-28  Jim Wilson  <wilson@redhat.com>
5826
5827         * config/ia64/ia64.md (movtf): Change DImode to TFmode in calls to
5828         operand_subword.
5829
5830 2001-03-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5831
5832         * toplev.h (fatal_error): Add ATTRIBUTE_NORETURN.
5833
5834         * tradcif.y (yyerror): Likewise.  Add format specifier in call to
5835         `error'.
5836
5837         * tradcpp.c (macroexpand): Likewise for call to `error_with_line'.
5838
5839 2001-03-28  DJ Delorie  <dj@redhat.com>
5840
5841         * Makefile.in (stage1_build): Revert CFLAGS patch.
5842
5843 2001-03-28  Marek Michalkiewicz  <marekm@linux.org.pl>
5844
5845         * config/avr/libgcc.S (__mulhi3): Correct tests to exit the loop
5846         when multiplier or multiplicand is zero.
5847
5848 2001-03-28  Bernd Schmidt  <bernds@redhat.com>
5849
5850         * cselib.c (hash_rtx): Don't do tail recursion elimination by hand.
5851
5852         * config/ia64/ia64.c (update_set_flags): New function, broken out of
5853         rtx_needs_barrier.
5854         (set_src_needs_barrier): Likewise.
5855         (rtx_needs_barrier): For SET case, use these two functions.  Rework
5856         PARALLEL case to handle all inputs before all outputs.
5857         (emit_insn_group_barriers): Call init_insn_group_barriers only if we
5858         saw a label and no stop bit since then.
5859         (maybe_rotate, process_epilogue): Add prototypes.
5860
5861 2001-03-28  Richard Henderson  <rth@redhat.com>
5862
5863         * config/rs6000/rs6000.h (EPILOGUE_USES): Use TARGET_AIX,
5864         not TARGET_TOC for special toc restore handling.
5865         * config/rs6000/rs6000.md (eh_return): Likewise.
5866
5867 2001-03-28  Richard Henderson  <rth@redhat.com>
5868
5869         * config/sparc/sparc.c (eligible_for_epilogue_delay): False if
5870         current_function_calls_eh_return.
5871         (output_function_epilogue): Handle eh_return.
5872         * config/sparc/sparc.h (DOESNT_NEED_UNWINDER): Remove.
5873         (EH_RETURN_DATA_REGNO): New.
5874         (EH_RETURN_STACKADJ_RTX): New.
5875         (EH_RETURN_HANDLER_RTX): New.
5876         * config/sparc/sparc.md (call/short branch peepholes): Check
5877         can_throw_internal instead of in_same_eh_region.
5878
5879         * config/rs6000/rs6000.c (rs6000_stack_info): Allocate space
5880         for eh_return data registers.
5881         (rs6000_emit_prologue): Save eh_return data registers.
5882         (rs6000_emit_epilogue): Force inline restores if eh_return.
5883         Restore eh_return data registers.  Mind EH_RETURN_STACKADJ_RTX.
5884         * config/rs6000/rs6000.h (rs6000_stack_t): Add ehrd_offset.
5885         (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX): New.
5886         (EPILOGUE_USES): True for TOC_REGISTER if calls_eh_return and
5887         the target uses one.
5888         * config/rs6000/rs6000.md (eh_epilogue, eh_reg_restore): Remove.
5889         (return_eh_si, return_eh_di): Remove.
5890         (eh_return): New, from corpse of eh_epilogue.
5891         (eh_set_lr_si, eh_set_lr_di): New.
5892
5893         * config/i386/i386.c (general_no_elim_operand): Disallow virtual regs.
5894         (ix86_save_reg): If maybe_eh_return, true for EH_RETURN_DATA_REGNOs.
5895         True for pic register if current_function_calls_eh_return.
5896         (ix86_expand_epilogue): Change "emit_return" argument into "style".
5897         Handle eh_return requirements.
5898         * config/i386/i386.h (EH_RETURN_DATA_REGNO): New.
5899         (EH_RETURN_STACKADJ_RTX): New.
5900         * config/i386/i386.md (exception_receiver): Remove.
5901         (eh_return, eh_return_1): New.
5902         * config/i386/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
5903
5904         * config/alpha/alpha.c (alpha_sa_mask): Add EH_RETURN_DATA_REGNOs.
5905         (alpha_mark_machine_status): No eh_epilogue_sp_ofs ...
5906         (alpha_expand_epilogue): ... use EH_RETURN_STACKADJ_RTX instead.
5907         * config/alpha/alpha.h (machine_function): Remove eh_epilogue_sp_ofs.
5908         (EH_RETURN_DATA_REGNO): New.
5909         (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): New.
5910         * config/alpha/alpha.md (eh_epilogue): Remove.
5911         (exception_receiver): Use $26 for ldgp input.
5912         * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
5913
5914 2001-03-28  Richard Henderson  <rth@redhat.com>
5915
5916         * except.c: Rewrite entirely for IA-64 ABI exception handling.
5917         * except.h: Likewise.
5918
5919         * Makefile.in (LIB2ADDEH): Mention unwind-dw2*.c
5920         (LIB2ADDEHDEP): New.
5921         (LIB2FUNCS_EH): Remove.
5922         (LIB2ADD): Remove LIB2ADDEH.
5923         (libgcc.mk): Pass LIB2ADDEHDEP, don't pass LIB2FUNCS_EH.
5924         (LIBGCC_DEPS): Use LIB2ADDEHDEP.
5925         (crt{begin,end}[S].o): Likewise.
5926         (except.o): Update includes.
5927         * mklibgcc.in: Remove LIB2FUNCS_EH, add LIB2ADDEH, LIB2ADDEHDEP.
5928         (libgcc2_c_dep): Use LIB2ADDEHDEP.
5929
5930         * basic-block.h (struct basic_block_def): Remove eh_beg, eh_end.
5931         * bb-reorder.c (reorder_basic_blocks): Don't disable for EH.
5932         * builtins.def (BUILT_IN_EH_RETURN_DATA_REGNO): New.
5933         * builtins.c (expand_builtin): Implement it.
5934         [BUILT_IN_EH_RETURN]: Update for nr arguments change.
5935         * c-common.c (c_common_nodes_and_builtins): Declare it.
5936         * c-decl.c (init_decl_processing): Update __builtin_eh_return.
5937         * calls.c (libfunc_nothrow): Remove.
5938         (emit_library_call_value_1): Don't call it.
5939         * crtstuff.c: Include unwind-dw2-fde.h instead of frame.h.
5940         * dwarf2.h (dwarf_call_frame_info): Add dwarf2.1 elements.
5941         (DW_EH_PE_*): New defines for pointer encoding in .eh_frame.
5942         * dwarf2out.c (struct dw_fde_struct): Add uses_eh_lsda, funcdef_number.
5943         (current_funcdef_number): Globalize.
5944         (output_call_frame_info): Emit frame data if an lsda is needed.
5945         Generate augmentation for personality routine.  Don't play with
5946         difference symbols.
5947         (dwarf2out_begin_prologue): Record funcdef_number.
5948         * dwarf2out.h (current_funcdef_number): Declare.
5949         * expr.c (expand_expr): Update for except.h name changes.
5950         Remove POPDCC_EXPR, POPDHC_EXPR.  Add EXC_PTR_EXPR.
5951         * expr.h (LTI_throw, LTI_rethrow): Remove.
5952         (LTI_sjthrow, LTI_sjpopnthrow, LTI_terminate): Remove.
5953         (LTI_eh_rtime_match): Remove.
5954         (LTI_unwind_resume, LTI_eh_personality): Add.
5955         (LTI_unwind_sjlj_register, LTI_unwind_sjlj_unregister): Add.
5956         * final.c (final): Don't call check_exception_handler_labels,
5957         init_insn_eh_region, or free_insn_eh_region.
5958         (final_scan_insn): Always emit debug labels for
5959         NOTE_INSN_EH_REGION notes.
5960         * flags.h (flag_new_exceptions): Remove.
5961         * flow.c (entry_exit_blocks): Remove eh_beg, eh_end.
5962         (record_active_eh_regions): Remove.
5963         (count_basic_blocks): Check all instructions for REG_EH_REGION.
5964         Use can_throw_internal.
5965         (find_basic_blocks_1): Likewise.
5966         (move_stray_eh_region_notes): Remove.
5967         (find_label_refs): No eh_return_stub_label.
5968         (make_edges): Likewise.  No init/free_eh_nesting_info.  Handle RESX.
5969         (make_eh_edge): No eh_nest_info.  Update for reachable_handlers
5970         changes.
5971         (delete_unreachable_blocks): Don't track deleted handlers.
5972         (flow_delete_block): Use maybe_remove_eh_handler.
5973         (delete_eh_regions): Remove.
5974         (merge_blocks): Don't check for eh region match.
5975         (mark_regs_live_at_end): Handle EH_RETURN_DATA_REGNO,
5976         EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX.
5977         (init_propagate_block_info): Disable dead frame store optimization
5978         when current_function_calls_eh_return.
5979         (dump_bb): Don't print eh_beg, eh_end.
5980         * function.c (fixup_var_refs): No catch_clauses.
5981         (expand_function_end): Likewise.  Call expand_eh_return before
5982         the return register use.  Call sjlj_emit_function_exit_after.
5983         (expand_function_start): Force pseudo DECL_RESULT if sjlj exceptions.
5984         * function.h (struct function): Add calls_eh_return, uses_eh_lsda.
5985         * ifcvt.c (dead_or_predicable): Remove eh region check.
5986         * integrate.c (function_cannot_inline_p): Disallow __builtin_eh_return.
5987         Don't check for EH vs parameters.
5988         (expand_inline_function_eh_labelmap, eif_eh_map): Remove.
5989         (expand_inline_function): Call duplicate_eh_regions.
5990         (copy_insn_list): Don't handle NOTE_INSN_EH_REGION_BEG/END.
5991         (copy_insn_notes): Remap REG_EH_REGION notes.
5992         (copy_rtx_and_substitute): Remove SYMBOL_REF_NEED_ADJUST check.
5993         * integrate.h (struct inline_remap): Add local_return_label.
5994         * jump.c (jump_optimize_1): Don't init/free_insn_eh_region, nor
5995         check_exception_handler_labels, nor exception_optimize.
5996         (find_cross_jump): No EH region check.
5997         * optabs.c (init_optabs): Update for changed eh libfuncs.
5998         * rtl.def (RESX): New.
5999         * rtl.h (SYMBOL_REF_NEED_ADJUST): Remove.
6000         * stmt.c (expand_decl_cleanup): Simplify using_eh_for_cleanups_p
6001         checks.  Update for except.h name changes.
6002         (expand_cleanups): Likewise.
6003         (expand_dcc_cleanup, expand_dhc_cleanup): Remove.
6004         * toplev.c (dump_file_index, dump_file): Add .02.eh dump.
6005         (compile_file): Call init_eh before init_optabs.  Don't
6006         output_exception_table here.
6007         (rest_of_compilation): Call convert_from_eh_region_ranges,
6008         convert_to_eh_region_ranges, output_function_exception_table.
6009         Don't emit_eh_context.
6010         * tree.def (POPDHC_EXPR, POPDCC_EXPR): Remove.
6011         (EXC_PTR_EXPR): New.
6012
6013         * md.texi (eh_epilogue): Remove.
6014         (eh_return): Document.
6015         * tm.texi (EH_RETURN_DATA_REGNO): Document.
6016         (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): Document.
6017
6018         * eh-common.h: Remove file.
6019         * frame-dwarf2.c, frame.c, frame.h: Remove files.
6020         * libgcc2.c (L_eh): Remove.
6021
6022         * unwind-dw2-fde.c: New file, largely copied from frame.c.
6023         * unwind-dw2-fde.h: New file.
6024         * unwind-dw2.c: New file, largely cribbed from frame-dwarf2.c.
6025         * unwind-sjlj.c, unwind.h, unwind.inc: New files.
6026         * libgcc-std.ver: Update for eh symbols.
6027
6028 2001-03-27  Richard Henderson  <rth@redhat.com>
6029
6030         * regmove.c (perhaps_ends_bb_p): Use can_throw_internal to
6031         reduce false positives.
6032         (regmove_optimize): Disable if flag_non_call_exceptions.
6033
6034         * stmt.c (expand_return): Remove always true predicate.
6035         (expand_decl_cleanup_no_eh): Remove dead code.
6036
6037         * sched-deps.c (sched_analyze_insn): Consolidate scheduling
6038         barrier code.  Add a scheduling barrier if a non-call insn
6039         can throw internally.
6040
6041         * rtlanal.c (rtx_addr_can_trap_p): Virtual registers cannot trap.
6042         Auto-inc addresses trap only if their base register does.
6043
6044         * except.c (can_throw_internal): Rename from can_throw.
6045         * except.h, resource.c: Update references.
6046
6047         * integrate.c (copy_insn_list): Use returnjump_p.
6048         (copy_insn_notes): Recurse for CALL_PLACEHOLDER.
6049
6050         * function.h (struct function): Move all boolean valued fields
6051         to single bit fields at the end of the struct.
6052
6053         * bb-reorder.c, dwarf2out.c, except.c, except.h, flow.c,
6054         jump.c, toplev.c:
6055         Rename asynchronous_exceptions to flag_non_call_exceptions.
6056
6057         * gthr-single.h (UNUSED): New.  Distinguish between how C
6058         and C++ mark unused function arguments.  Use throughout.
6059
6060         * Makefile.in (cs-tconfig.h): Copy USING_SJLJ_EXCEPTIONS
6061         value to target configuration header.
6062         * configure.in (CONFIG_SJLJ_EXCEPTIONS): New.
6063         * config.in, configure: Rebuild.
6064         * except.h (USING_SJLJ_EXCEPTIONS): New.  Define based on
6065         configuration and target defines.
6066         (exceptions_via_longjmp): Remove.
6067         * dwarf2out.c, except.c, final.c, toplev.c, config/ia64/ia64.c:
6068         Use USING_SJLJ_EXCEPTIONS instead of exceptions_via_longjmp.
6069
6070         * except.h (flag_non_call_exceptions): Move ...
6071         * flags.h: ... here.
6072
6073         * combine.c (distribute_notes) [REG_EH_REGION]: If non-call
6074         exceptions, put the note on the trapping instruction.
6075
6076         * flags.h (flag_new_exceptions): Remove.
6077         * toplev.c: Don't set it.
6078         * final.c: Don't check it.
6079         * except.c: Provide stub definition.
6080
6081         * flow.c (tidy_fallthru_edges): Don't combine complex edges.
6082         (calculate_global_regs_live): Kill call-clobbered registers
6083         across exception edges.
6084         * reg-stack.c (convert_regs_1): Kill the entire target stack
6085         across non-call exception edges.
6086
6087         * flow.c (cleanup_cfg): Take no argument.
6088         * output.h, sibcall.c, toplev.c: Update all calls.
6089
6090 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6091
6092         * configure.in: Don't check for bcopy.
6093         * configure, config.in: Regenerate.
6094
6095         * system.h: Don't define or prototype bcopy, instead poison it.
6096
6097 2001-03-27  Richard Henderson  <rth@redhat.com>
6098
6099         * function.c (expand_function_start): Set DECL_REGISTER on
6100         a pseudo used for DECL_RESULT.
6101
6102         * rtl.h (LCT_NORETURN): New.
6103         * calls.c (emit_library_call_value_1): Handle it.
6104
6105 2001-03-27  Stan Shebs  <shebs@apple.com>
6106
6107         * objc/objc-act.c (objc_init): Use dump_base_name.
6108         (gen_declaration): Clear the buffer arg.
6109         (gen_declaration_1): New function, body of gen_declaration.
6110         (adorn_decl): Call gen_declaration_1 instead of gen_declaration.
6111         (gen_method_decl): Ditto, plus always clear buffer arg.
6112         (error_with_ivar): Simplify.
6113         (warn_with_method): Ditto.
6114         (build_message_expr): Don't clear buffers.
6115         (dump_interface): Ditto.
6116         (objc_debug): Ditto.
6117         (build_keyword_selector): Clear the buffer by only zeroing
6118         the first element.
6119         (objc_implementation_context): Declare.
6120         (start_class): Warn about missing @end.
6121         (finish_objc): Ditto.
6122
6123 2001-03-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6124
6125         * reload1.c (eliminate_regs): Don't abort on MEM USEs.
6126
6127 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6128
6129         * Makefile.in (SYSTEM_H): Define.
6130         Depend on $(SYSTEM_H), not system.h.
6131
6132         * objc/Make-lang.in: Depend on $(SYSTEM_H), not system.h.
6133
6134 2001-03-27  Jim Wilson  <wilson@redhat.com>
6135
6136         * final.c (final_scan_insn, case NOTE_INSN_BASIC_BLOCK): Call
6137         IA64_UNWIND_EMIT.
6138         * config/ia64/ia64.c (block_num, need_copy_state): New static vars.
6139         (process_epilogue): New static function.
6140         (process_set): Call process_epilogue instead of emitting .restore
6141         directly.
6142         (process_for_unwind_directive): Handle NOTE_INSN_BASIC_BLOCK.
6143
6144         * flow.c (struct reg_cond_life_info): New fields orig_condition
6145         and stores.
6146         (init_propagate_block_info): Set new fields.
6147         (mark_regno_cond_dead): Set and use new fields.
6148         (flush_reg_cond_reg_1): Likewise.
6149         (and_reg_cond, case AND): Check for redundant AND conditions.
6150         (mark_used_reg): Delete unnecessary clears before freeing splay trees.
6151         Set new fields.
6152
6153 2001-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
6154
6155         * cppmacro.c (stringify_arg): Null terminate strings.
6156
6157 2001-03-27  Zack Weinberg  <zackw@stanford.edu>
6158
6159         * config.gcc (m68hc11-*-*, m68hc12-*-*): Convert to new tm.h
6160         inclusion style.  xm-m68hc11.h no longer exists.
6161         * config/m68hc11/xm-m68hc11.h: Delete file.
6162         * config/m68hc11/m68hc12.h: Convert to new tm.h inclusion style.
6163
6164         * config/m68hc11/m68hc11.h: Convert to new tm.h inclusion style.
6165         Don't define GCC_VERSION, N_, or PARAMS; don't include
6166         gansidecl.h or stdio.h.  Define inhibit_libc here.
6167         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
6168         Delete code conditioned on #if GCC_VERSION == 2095.
6169
6170         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
6171         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
6172         Delete code conditioned on #if GCC_VERSION == 2095.
6173
6174 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6175
6176         * system.h: Include symcat.h.
6177         (STRINGIFY): Don't define.
6178
6179         * configure.in: Adjust comment.
6180
6181         * builtins.c: Use STRINGX, not STRINGIFY.
6182         * gencheck.c: Likewise.
6183         * gengenrtl.c: Likewise.
6184         * protoize.c: Likewise.
6185
6186         * cpplex.c: Don't include symcat.h.
6187         * cpplib.c: Likewise.
6188
6189         * gansidecl.h (HAVE_STRINGIZE): Don't define.
6190
6191 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
6192
6193         * c-typeck.c (digest_init): Fold init expression.
6194
6195 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6196
6197         * sbitmap.c (sbitmap_copy): Call memcpy, not bcopy.
6198
6199 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
6200
6201         * except.c (eh_regs): Save results of build_pointer_type to a temp
6202         as FUNCTION_VALUE macro may evaluate its args multiple times.
6203
6204 2001-03-26  Mark Mitchell  <mark@codesourcery.com>
6205
6206         * c-common.h (DECL_NUM_STMTS): New macro.
6207         * c-decl.c (duplicate_decls): Copy DECL_NUM_STMTS, not
6208         DECL_FRAME_SIZE.
6209         (pushdecl): Likewise.
6210         * c-semantics.c (add_stmt): Update DECL_NUM_STMTS.
6211         * integrate.c (expand_inline_function): Don't check
6212         DECL_FRAME_SIZE.
6213         * print-tree.c (print_node): Don't print it.
6214         * toplev.c (rest_of_compilation): Don't try to inline when
6215         flag_no_inline is on.
6216         * tree.h (DECL_FRAME_SIZE): Remove.
6217         (tree_decl): Adjust accordingly.
6218
6219 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6220
6221         * combine.c (try_combine): Use memcpy, not bcopy.
6222
6223         * genattrtab.c (expand_units): Likewise.
6224
6225 Mon Mar 26 15:55:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
6226
6227         * i386.md (push mem DI peep2): New.
6228         (mov 0, mov -1 peep2): Handle 64bit.
6229         (lea to arithmetics peep2): Handle 64bit leas.
6230         (rsp arithmetics to push/pop peep2s): New.
6231
6232         * i386.md (truncdfsf2_3, trunctfsf2_2): Change predicate to memory_operand.
6233
6234 Mon Mar 26 14:35:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
6235
6236         * i386.c (struct machine_function): Add save_varrargs_registers.
6237         (ix86_save_varrargs_registers): New macro.
6238         (ix86_frame_layout): Support 64bit; support red zones and varrargs area.
6239         (ix86_expand_prologue): Likewise.
6240         (ix86_emit_epilogue_esp_adjustement): Likewise.
6241         (ix86_expand_epilogue): Likewise.
6242         * i386.md (pro_epilogue_adjust_stack): Turn to expander; support 64bit.
6243         (pro_epilogue_adjust_stack_1): New insn.
6244         (pro_epilogue_adjust_stack_rex64): Likewise.
6245         * i386.h (MASK_NO_RED_ZONE): New constant.
6246         (TARGET_RED_ZONE): New macro.
6247         (TARGET_OPTIONS): Add "red-zone" and "no-red-zone"
6248         (RED_ZONE_SIZE): New constant.
6249         (RED_ZONE_RESERVE): New constant.
6250
6251 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6252
6253         * toplev.c (set_float_handler): Use memcpy, not bcopy.
6254
6255 2001-03-25  Kazu Hirata  <kazu@hxi.com>
6256
6257         * config/h8300/h8300.md (umodqi3): Output a tab instead of a
6258         space.
6259         (modqi3): Likewise.
6260         (umodhi3): Likewise.
6261         (modhi3): Likewise.
6262
6263 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6264
6265         * mkconfig.sh (DEFINES): Handle entries with '='.
6266
6267         * config.gcc: Don't use i370/xm-mvs.h or ns32k/xm-pc532-min.h.
6268         Set xm_defines to MACRO=value instead.
6269
6270         * i370/xm-mvs.h: Delete.
6271
6272         * ns32k/xm-pc532-min.h: Likewise.
6273
6274 Sun Mar 25 15:01:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
6275
6276         * i386.md (ashldi3, ashrdi3, lshrdi3): Change predicates to
6277         shiftdi_operand;
6278         use ix86_expand_binary_operator
6279         (?sh??i_?): Disable for 64bit.
6280         * i386.h (PREDICATE_CODES): Add shiftdi_operand.
6281         * i386.c (shiftdi_operand): New predicate.
6282
6283         * (ashldi3_1_rex64, ashldi3_cmp_rex64, ashlsi3_1_zext, ashlsi3_cmp_zext,
6284         ashrdi3_63_rex64, ashrdi3_1_one_bit_rex64, ashrdi3_1_rex64,
6285         ashrdi3_one_bit_cmp_rex64, ashrdi3_cmp_rex64, ashrsi3_31_zext,
6286         ashrsi3_1_one_bit_zext, ashrsi3_1_zext, ashrsi3_one_bit_cmp_zext,
6287         ashrsi3_cmp_zext, lshrdi3_1_one_bit_rex64, lshrdi3_1_rex64,
6288         lshrdi3_cmp_one_bit_rex64, lshrdi3_cmp_rex64, lshrsi3_1_one_bit_zext,
6289         lshrsi3_1_zext, lshrsi3_cmp_one_bit_zext, lshrsi3_cmp_zext,
6290         rotlsi3_1_one_bit_rex64, rotldi3_1_rex64,
6291         rotlsi3_1_one_bit_zext, rotlsi3_1_zext, rotrdi3_1_one_bit_rex64,
6292         rotrdi3_1_rex64, rotrsi3_1_one_bit_zext, rotrsi3_1_zext): New patterns.
6293         (rotldi3, rotrdi3): New expanders.
6294
6295 Sun Mar 25 14:25:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
6296
6297         * i386.md (movstrsi): Move offline.
6298         (movstrdi): New.
6299         (strmovdi_rex64): New.
6300         (strmov?i): Accept 64bit.
6301         (strmov?i_rex64): New.
6302         (strmov?i_rex_1): New.
6303         (strmov?i_1): Disable for 64bit.
6304         (rep_mov?i_rex64): New.
6305         (rep_mov?i): Disable for 64bit.
6306         (clrstrsi): Move offline.
6307         (strset?i_rex64): New.
6308         (strset?i: Accept 64bit.
6309         (rep_stos?i): Disable for 64bit.
6310         (rep_stos?i_rex64): New.
6311         (strset?i_rex_1): New.
6312         (strset?i_1): Disable for 64bit.
6313         (cmpstrsi): Accept 64bit.
6314         (cmpstrsi_nz_1): Rename to cmpstrqi_nz_1; Disable for 64bit.
6315         (cmpstrqi_nz_rex_1): New.
6316         (cmpstrsi_1): Rename to cmpstrqi_1; Disable for 64bit.
6317         (strlensi): Move offline.
6318         (strlendi): New.
6319         (strlenqi_1): Disable for 64bit; fix constraints.
6320         (strlenqi_rex_1): New.
6321         * i386.c (ix86_adjust_counter): New static function.
6322         (ix86_zero_extend_to_Pmode): Likewise.
6323         (ix86_expand_aligntest): Likweise.
6324         (ix86_expand_strlensi_unroll_1): Make static; update for 64bit.
6325         (ix86_expand_movstr): New global function.
6326         (ix86_expand_clrstr): New global function.
6327         (ix86_expand_strlen): New global function.
6328         * i386-protos.h (ix86_expand_movstr, ix86_expand_clrstr,
6329         ix86_expand_strlen): Declare.
6330         (ix86_expand_strlensi_unroll_1): Delete.
6331
6332 Sat Mar 24 23:15:19 CET 2001  Jan Hubicka  <jh@suse.cz>
6333
6334         * i386.md (cmpdi): Fix operand predicates.
6335         (cmpdi_ccno_1_rex64, cmpdi_minus_1_rex64, cmpdi_1_rex64,
6336          cmpdi_1_insn_rex64): New patterns.
6337         (adddi3): Turn to expander.
6338         (adddi3_1, adddi3_carry_rex64, adddi3_cc_rex64): New patterns.
6339         (addsi3_carry_zext): New pattern.
6340         (adddi_?_rex64): New patterns and splitters.
6341         (addsi_?_zext): New patterns.
6342         (subsi3_carry_zext): New pattern.
6343         (subdi_?_rex64): New patterns and splitters.
6344         (iorsi_?_zext): New patterns.
6345         (iordi_?_rex64): New patterns and splitters.
6346         (iorsi_?_zext): New patterns.
6347         (iorsi_?_zext_imm): New patterns.
6348         (xorsi_?_zext): New patterns.
6349         (xordi_?_rex64): New patterns and splitters.
6350         (xorsi_?_zext): New patterns.
6351         (negdi*): New patterns.
6352         (one_cmpldi*): Likewise.
6353         (one_cmplsi*_zext, negsi*_zext): Likewise.
6354         (testqi_ext_3_rex64): New pattern.
6355
6356 Sat Mar 24 21:13:28 CET 2001  Jan Hubicka  <jh@suse.cz>
6357
6358         * i386-protos.h (ix86_split_long_move): Return void.
6359         * i386.c (ix86_split_to_parts): Handle 64bit target.
6360         (ix86_split_long_move): Likewise.
6361         * i386.md (all calls to ix86_split_long_move): Update.
6362
6363 2001-03-23  Richard Henderson  <rth@redhat.com>
6364
6365         * config/mips/iris4.h (ASM_OUTPUT_ASCII): Rename local variables
6366         to avoid shadowing arguments.
6367
6368 2001-03-23  Jakub Jelinek  <jakub@redhat.com>
6369
6370         * varasm.c (make_decl_rtl): Don't append var_labelno discriminator
6371         to variable names where DECL_NAME is different from
6372         DECL_ASSEMBLER_NAME.
6373
6374 2001-03-23  Jim Wilson  <wilson@redhat.com>
6375
6376         * varasm.c (make_decl_rtl): Add TREE_PUBLIC check to abort test.
6377         (assemble_alias): Call make_decl_rtl.
6378
6379 Fri Mar 23 16:59:08 2001  J"orn Rennecke <amylaar@redhat.com>
6380
6381         * stor-layout.c (layout_type): Give OFFSET_TYPE a MODE_INT type.
6382
6383 2001-03-23  Bryce McKinlay  <bryce@albatross.co.nz>
6384
6385         * extend.texi: Document the "java_interface" attribute.
6386
6387 2001-03-22  Zack Weinberg  <zackw@stanford.edu>
6388
6389         * mkconfig.sh: Use a subshell with redirected stdout,
6390         instead of closing stdout and confusing commands that run
6391         afterward.  Throw away output of cmp.
6392
6393 2001-03-22  Gordon Sadler  <gbsadler1@lcisp.com>
6394
6395         * Makefile.in (stage1_build): Pass CFLAGS to stage1_build.
6396
6397 Thu Mar 22 22:15:59 CET 2001  Jan Hubicka  <jh@suse.cz>
6398
6399         * i386.md (zero_extendsidi2_32): Break out from ...
6400         (zero_extendsidi2): ... here ; turn to expander.
6401         (zero_extendsidi2_rex64): New.
6402         (extendsidi2_32): Break out from ...
6403         (extendsidi2): ... here ; turn to expander.
6404         (extendsidi2_rex64): New.
6405         (zero_extendhidi2, zero_extendqidi2, extendhidi2, extendqidi2): New.
6406         (trunc?f?f splitters): Add 64bit versions.
6407
6408 Thu Mar 22 21:41:16 CET 2001  Jan Hubicka  <jh@suse.cz>
6409
6410         * i386.md (pushsi, pushsi2_prologue): Disable.
6411         (pushsi2_rex64): New.
6412         (movabs?i_1_rex64, movabs?i_2_rex64): New.
6413         (movqi_ext_1): Disable for 64bit.
6414         (movqi_ext_1_rex64): New.
6415         (pushdi2_rex64): New pattern, peep2s and splitter.
6416         (pushdi2_prologue_rex64): New pattern.
6417         (popdi1_epilogue_rex64, popdi1, movdi_xor_rex64, movdi_or_rex64):
6418         Likewise.
6419         (movdi splitters): Disable for 64bit.
6420         (movdi_1_rex64): New pattern, peep2s and splitters.
6421         (swapdi): New pattern.
6422         (pushsf): Disable for 64bit.
6423         (pushsf_rex64): New pattern and splitter.
6424         (pushdf_nointeger): Disable for 64bit.
6425         (pushdf_integer): Handle the 64bit case.
6426         (pushtf): Likewise; update splitters.
6427
6428 2001-03-22  Richard Henderson  <rth@redhat.com>
6429
6430         * mkconfig.sh: Include insn-flags.h.
6431         * Makefile.in (CONFIG_H): Include insn-flags.h.
6432         (lots of objects): Remove insn-codes.h and insn-flags.h.
6433
6434         * alias.c, bb-reorder.c, calls.c, do-loop.c, flow.c, haifa-sched.c,
6435         integrate.c, jump.c, loop.c, predict.c, profile.c, reg-stack.c,
6436         regmove.c, reorg.c, a29k/a29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
6437         avr/avr.c, clipper/clipper.c, convex/convex.c, d30v/d30v.c,
6438         dsp16xx/dsp16xx.c, fr30/fr30.c, h8300/h8300.c, i370/i370.c,
6439         i386/i386.c, i860/i860.c, ia64/ia64.c, m32r/m32r.c, m68hc11/m68hc11.c,
6440         m68k/m68k.c, m88k/m88k.c, mcore/mcore.c, mn10200/mn10200.c,
6441         mn10300/mn10300.c, ns32k/ns32k.c, pa/pa.c, pdp11/pdp11.c,
6442         pj/pj.c, romp/romp.c, rs6000/rs6000.c, sh/sh.c, sparc/sparc.c,
6443         v850/v850.c, vax/vax.c:
6444         Don't include insn-flags.h.
6445
6446         * diagnostic.c, expr.h, reload.c, toplev.c:
6447         Don't include insn-codes.h.
6448
6449         * builtins.c, combine.c, except.c, explow.c, expmed.c, expr.c,
6450         final.c, function.c, optabs.c, recog.c, reload1.c, stmt.c,
6451         c4x/c4x.c, i960/i960.c, mips/mips.c:
6452         Don't include insn-codes.h or insn-flags.h.
6453
6454         * genemit.c, genopinit.c, genoutput.c: Don't include insn-codes.h
6455         or insn-flags.h in the generated code.
6456         * genflags.c (gen_proto): Use "struct rtx_def *" instead of "rtx".
6457         (main): Forward declare struct rtx_def.
6458
6459 2001-03-22  Joseph S. Myers  <jsm28@cam.ac.uk>
6460
6461         * invoke.texi (-ffast-math): Remove duplicate line about
6462         __FAST_MATH__.
6463
6464         * gcc.texi: Remove more obsolete documentation of bugs and
6465         installation problems.
6466
6467 2001-03-21  Kazu Hirata  <kazu@hxi.com>
6468
6469         * config/h8300/h8300.md (movsi_h8300hs): Split the 2nd alternative
6470         into two parts.
6471
6472 2001-03-20  Jason Merrill  <jason@redhat.com>
6473
6474         * collect2.c (is_ctor_dtor): Always use '_' in the file fn names,
6475         not '.' or '$'.
6476         * tree.c (FILE_FUNCTION_FORMAT): Likewise.
6477         * varasm.c (CHKR_PREFIX): Likewise.
6478
6479 Wed Mar 21 14:27:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6480
6481         * gcse.c (hash_scan_set): An expression is not anticipatible if it
6482         is part of a multi-SET insn.
6483
6484         * cse.c (find_comparison_args): Remove previous change.
6485         * ifcvt.c (noce_process_if_block): When moving an insn, remove any
6486         REG_EQUAL notes.
6487
6488         * config/i386/i386.md (conditional_trap): Remove warning.
6489
6490         * recog.c (push_operand): Fix error in last change that caused
6491         undefined symbol on many targets.
6492
6493         * sdbout.c: #include ggc.h.
6494         (sdbout_init): Move to end of file.
6495         Call ggc_add_tree_root for anonymous_types.
6496         (sdbout_symbol): Use DECL_NAME for local, not DECL_ASSEMBLER_NAME.
6497         (sdbout_one_type): Use DECL_NAME for field name.
6498         * Makefile.in (sdbout.o): Show includes ggc.h.
6499
6500 Wed Mar 21 20:33:26 CET 2001  Jan Hubicka  <jh@suse.cz>
6501
6502         * i386.c (override_options): Default ix86_regparm to REGPARM_MAX.
6503         (override_options): Use properlimits for preferred_stack_boundary.
6504         (ix86_valid_type_attribute_p): Disable stdcall and cdecl attributes
6505         on x86_64.
6506         (ext_register_operand): Accept DImode.
6507         (load_pic_register): Abort on 64bit.
6508         (gen_push): Use Pmode instead of SImode.
6509         (ix86_save_reg): Pic reg is never used on 64bit.
6510         (ix86_expand_prologue): Likewise.
6511         (ix86_emit_save_regs): Use Pmode instead of SImode.
6512         (legitimate_address_p): Check displacement for 64bit.
6513         (print_operand): Avoid outputting of (%rip) on 64bit.
6514         (print_operand_address): Output (%rip) where possible.
6515         (split_di): Abort on 64bit registers.
6516         (ix86_expand_branch): DImode comparison is simple for x86_64.
6517         (memory_address_length): Recognize memory addresses formed using
6518         PRE/POST modify.
6519         (ix86_data_alignment, ix86_local_alignment): Align arrays to 16 bytes
6520         for x86_64.
6521         * i386.h (TARGET_USE_SAHF): Disable for 64bit.
6522
6523 Wed Mar 21 18:51:19 CET 2001  Jan Hubicka  <jh@suse.cz>
6524
6525         * recog.c (push_operand): Recognize new format of push instructions.
6526
6527 Wed Mar 21 10:53:57 CET 2001  Jan Hubicka  <jh@suse.cz>
6528
6529         * i386.md (pushqi1): New.
6530         * i386-protos.h (x86_64_general_operand, x86_64_szext_general_operand,
6531         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
6532         x86_64_immediate_operand, x86_64_immediate_operand,
6533         x86_64_zext_immediate_operand): Declare.
6534         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
6535         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
6536         x86_64_immediate_operand, x86_64_immediate_operand,
6537         x86_64_zext_immediate_operand): define.
6538         * i386.h (PREDICATE_CODES): Add new predicates.
6539
6540 Wed Mar 21 10:25:13 CET 2001  Jan Hubicka  <jh@suse.cz>
6541
6542         * i386.md (pophi1, popqi1, pushqi1): Remove.
6543
6544         * expr.c (emit_single_push_insn): New function.
6545         (move_by_pieces): Accept NULL as destination for push instructions.
6546         (gen_push_operand): Kill.
6547         (emit_push_insn): Pass NULL when pushing; avoid updating of
6548         stack_pointer_delta.
6549         * expr.h (gen_push_operand): Kill.
6550
6551 Tue Mar 20 20:15:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6552
6553         * rtl.texi (COMPARE): Clarify documentation and reference section
6554         on comparisons.
6555
6556 2001-03-20  Stan Shebs  <shebs@apple.com>
6557
6558         * objc/objc-act.c (get_static_reference): Use NULL_TREE.
6559         (get_object_reference): Ditto.
6560         (error_with_ivar): Use error_with_file_and_line.
6561         (warn_with_method): Use warning_with_file_and_line.
6562
6563 2001-03-20  Tom Tromey  <tromey@redhat.com>
6564
6565         * libgcc-std.ver: Added __fixunssfsi and __fixunsdfsi.
6566
6567 2001-03-20  Mark Mitchell  <mark@codesourcery.com>
6568
6569         * tree.c (set_decl_assembler_name): Set DECL_ASSEMBLER_NAME for
6570         variables that are TREE_PUBLIC, even if not TREE_STATIC.
6571
6572 2001-03-20  DJ Delorie  <dj@redhat.com>
6573
6574         * Makefile.in (install-libgcc): Pass complete list of variables.
6575         (install-multilib): Ditto.
6576
6577 2001-03-20  David Billinghurst  <David.Billinghurst@riotinto.com>
6578
6579         * config/i386/cygwin.h: Declare ctor_section, dtor_section
6580         drectve_section, switch_to_section.
6581
6582         * winnt.c: Declare functions associated_type, gen_stdcall_suffix,
6583         i386_pe_dllexport_p, i386_pe_dllimport_p, i386_pe_mark_dllexport,
6584         i386_pe_mark_dllimport.
6585
6586 2001-03-20  David Billinghurst <David.Billinghurst@riotinto.com>
6587
6588         * config/i386/cygwin.h: Include <stdio.h> Declare and constify
6589         functions i386_pe_*.
6590
6591         * config/i386/winnt.c: Include "tm_p.h" and "toplev.h" Constify
6592         i386_pe_* functions with char * arguments.
6593
6594 2001-03-20  Alexandre Oliva  <aoliva@redhat.com>
6595
6596         * config/sh/sh.md (movsf_ie): Fix output patterns for fpul load
6597         and store.
6598         (movsi_ie): Introduce fpul store.
6599
6600 2001-03-20  Alan Modra  <alan@linuxcare.com.au>
6601
6602         * Makefile.in (OBJS): Remove hashtab.o.
6603
6604 2001-03-19  Stan Shebs  <shebs@apple.com>
6605
6606         * objc/objc-act.c (maybe_objc_method_name): Remove, never called.
6607         * c-lang.c (maybe_objc_method_name): Ditto.
6608         * c-tree.h (maybe_objc_method_name): Remove decl.
6609
6610 2001-03-19  Tom Tromey  <tromey@redhat.com>
6611
6612         * gcc.c (init_gcc_specs): Fix comment.
6613
6614 2001-03-19  Mark Mitchell  <mark@codesourcery.com>
6615
6616         Compute DECL_ASSEMBLER_NAME lazily.
6617         * tree.h (DECL_ASSEMBLER_NAME): Compute it lazily.
6618         (DECL_ASSEMBLER_NAME_SET_P): New macro.
6619         (SET_DECL_ASSEMBLER_NAME): Likewise.
6620         (COPY_DECL_ASSEMBLER_NAME): Likewise.
6621         (set_decl_assembler_name): Declare.
6622         (lang_set_decl_assembler_name): Likewise.
6623         * tree.c (lang_set_decl_assembler_name): New variab.e
6624         (set_decl_assembler_name): New function.
6625         (init_obstacks): Set lang_set_decl_assembler_name.
6626         (build_decl): Don't set DECL_ASSEMBLER_NAME.
6627         * c-decl.c (duplicate_decls): Use SET_DECL_ASSEMBLER_NAME,
6628         COPY_DECL_ASSEMBLER_NAME, etc.  Don't set DECL_ASSEMBLER_NAME
6629         where it's not necessary.
6630         (builtin_function): Likewise.
6631         (finish_decl): Likewise.
6632         * dbxout.c (dbxout_type_methods): Likewise.
6633         * ggc-common.c (ggc_mark_trees): Likewise.
6634         * profile.c (output_func_start_profiler): Likewise.
6635         * varasm.c (make_decl_rtl): Likewise.
6636
6637         * cse.c (find_comparison_args): Update documentation.  Fix
6638         mishandling of COMPARE operations.
6639
6640         * tree.def (ABS_EXPR): Add documentation.
6641         * fold-const.c (fold): Improve folding of ABS_EXPRs.
6642
6643 2001-03-19  Zack Weinberg  <zackw@stanford.edu>
6644
6645         * Makefile.in (hash.o): Depend on $(GCONFIG_H), not $(CONFIG_H).
6646
6647 2001-03-19  Jakub Jelinek  <jakub@redhat.com>
6648
6649         * crtstuff.c (init_dummy): Use CRT_END_INIT_DUMMY if defined.
6650         Remove ia32 linux PIC kludge and move it...
6651         * config/i386/linux.h (CRT_END_INIT_DUMMY): ...here.
6652
6653 Mon Mar 19 18:53:54 CET 2001  Jan Hubicka  <jh@suse.cz>
6654
6655         * i386.md (absdf2 expander): Fix 64bit case.
6656
6657 2001-03-19  Brad Lucier  <lucier@math.purdue.edu>
6658
6659         * Makefile.in: Have splay-tree.o depend on $(GCONFIG_H).
6660
6661 2001-03-16  Andrew Haley  <aph@cambridge.redhat.com>
6662
6663         * config/ia64/libgcc-ia64.ver: Add __ia64_backtrace.
6664
6665 2001-03-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6666
6667         * README.X11: Remove obsolete file.
6668
6669 2001-03-18  Anthony Green  <green@redhat.com>
6670
6671         * config/pj/pj.h: Remove some trailing commas.
6672         (ASM_SPEC): Use -EB and -EL, not -mb and -ml.
6673
6674 2001-03-18  Richard Henderson  <rth@redhat.com>
6675
6676         * defaults.h (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Move from ...
6677         * calls.c: ... here.
6678         * combine.c, expr.c, final.c, function.c toplev.c: Don't provide
6679         defaults for them here.
6680
6681 2001-03-17  Anthony Green  <green@redhat.com>
6682
6683         * config/pj/lib1funcs.S: Fix broken comment.
6684         * config/pj/pj.h (LOCAL_LABEL_PREFIX): Prefix internal
6685         labels with '.'.
6686
6687 2001-03-18  Joseph S. Myers  <jsm28@cam.ac.uk>
6688
6689         * gcc.texi: Remove obsolete information relating to build and
6690         installation problems with enquire or the Pyramid C compiler.
6691
6692 2001-03-17  Richard Henderson  <rth@redhat.com>
6693
6694         * dwarf2out.c (queue_reg_save): New.
6695         (flush_queued_reg_saves, clobbers_queued_reg_save): New.
6696         (dwarf2out_frame_debug_expr): Call queue_reg_save instead of
6697         dwarf2out_reg_save.
6698         (dwarf2out_frame_debug): Call flush_queued_reg_saves when needed.
6699         (cfa, cfa_store, cfa_temp): Make static.
6700         * final.c (final_scan_insn): Always call dwarf2out_frame_debug.
6701
6702 2001-03-17  Richard Henderson  <rth@redhat.com>
6703
6704         * integrate.h (struct inline_remap): Add local_return_label.
6705         * integrate.c (expand_inline_function): Initialize it and emit
6706         it after copy_insn_notes.
6707         (copy_insn_list): Don't store local_return_label here.
6708         (copy_insn_notes): New function split out from copy_insn_list.
6709
6710 2001-03-17  Richard Henderson  <rth@redhat.com>
6711
6712         * dwarf2out.c (lookup_filename): Emit .file if the assembler
6713         is generating .debug_line.
6714         (dwarf2out_init): Add main_input_filename to the file table first.
6715         * configure.in (as_dwarf2_debug_line): Test with file number 1
6716         instead of file number 0.
6717
6718 Sat Mar 17 11:52:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6719
6720         * combine.c (undobuf): Remove field previous_undos; all refs deleted.
6721         (gen_rtx_combine): Deleted; all references changed as appropriate.
6722         (gen_unary): Deleted; all refs changed to call simplify_gen_unary.
6723
6724         * print-tree.c (print_node): Print DECL_NONADDRESSABLE_P.
6725
6726 2001-03-17  David Billinghurst  <David.Billinghurst@riotinto.com>
6727
6728         * config/i386/xm-cygwin.h: Include <sys/cygwin.h.  Remove unused
6729         variable.
6730
6731 2001-03-16  Jim Wilson  <wilson@redhat.com>
6732
6733         * config/ia64/ia64.c (ia64_compute_frame_size): If reg_fp is zero,
6734         then set it to LOC_REG (79) instead of aborting.
6735
6736 2001-03-16  Phil Edwards  <pme@sources.redhat.com>
6737
6738         * gccbug.in:  Remove high priority.
6739
6740 2001-03-16  Richard Henerson  <rth@redhat.com>
6741
6742         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): Substitute leading od
6743         output with a space instead of deleting it.
6744         * configure: Regenerate.
6745
6746 2001-03-16  Zack Weinberg  <zackw@stanford.edu>
6747
6748         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): New utility macro which
6749         handles the gory details of converting an object file into
6750         something that's safe to grep.
6751         (gcc_AC_C_COMPILE_BIGENDIAN): Rename to
6752         gcc_AC_C_COMPILE_ENDIAN.  Use gcc_AC_EXAMINE_OBJECT.  Put
6753         newlines at either end of the string we're looking for.
6754         Make 'checking ...' message less stilted.
6755         (gcc_AC_C_FLOAT_FORMAT): Use gcc_AC_EXAMINE_OBJECT.  Handle
6756         ARM in-memory layout and its hypothetical converse.  Don't
6757         define HOST_FLOAT_WORDS_BIG_ENDIAN unless it's different from
6758         HOST_WORDS_BIG_ENDIAN.
6759
6760         * configure.in: Adjust for renamed macro.  Move
6761         gcc_AC_C_FLOAT_FORMAT below gcc_AC_C_COMPILE_ENDIAN.
6762         * configure, config.in: Regenerate.
6763
6764 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
6765
6766         * fixinc/Makefile.in: Set SHELL.
6767
6768 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
6769
6770         * fixinc/fixincl.c (fix_with_system): Quote file names before
6771         passing them to shell.
6772
6773 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
6774
6775         * Makefile.in: Use fix-header$(build_exeext) instead
6776         of fix-header.
6777
6778 2001-03-16  Richard Henderson  <rth@redhat.com>
6779
6780         * dwarf2out.c: Revert most of 2000-11-25 and 2001-01-24 changes.
6781         (LN_PROLOG_AS_LABEL, LN_PROLOG_END_LABEL): New.
6782         (size_of_line_prolog): Remove.
6783         (output_line_info): Compute prologue size via label difference.
6784         (lookup_filename): Return "unspecified" for <internal> and <built-in>.
6785
6786         * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Require that the
6787         assembler error when redefining file numbers.
6788         * config.in, configure: Rebuild.
6789
6790         * dwarf2asm.c (dw2_asm_output_data): Mask data to the output size.
6791         (dw2_asm_output_data_uleb128): Use space not tab after .uleb128.
6792         (dw2_asm_output_delta_uleb128): Likewise.
6793         (dw2_asm_output_delta_sleb128): Similarly.
6794         (dw2_asm_output_data_sleb128): Similarly.  Print number in decimal.
6795
6796 2001-03-16  Michael Meissner  <meissner@redhat.com>
6797
6798         * mips.h (BITMASK_HIGH): Replacement for 0x80000000 that avoids
6799         warnings.
6800         (BITMASK_UPPER16): Replacement for 0xffff0000 that avoids
6801         warnings.
6802         (BITMASK_LOWER16): Replacement for 0x0000ffff.
6803
6804         * mips.c (save_restore_insns): Use BITMASK_UPPER16/BITMASK_LOWER16
6805         instead of 0xffff0000/0x0000ffff to avoid warnings about constants
6806         being unsigned in ISO C and signed in traditional.
6807         (expand_prologue): Ditto.
6808         (RA_MASK): Use BITMASK_HIGH to avoid warnings.
6809
6810         * mips.md (divmodsi4,divmodsi4): Use BITMASK_HIGH to avoid
6811         warnings.
6812         (divsi3,divdi3): Ditto.
6813         (modsi3,moddi3): Ditto.
6814         (fix_truncdfsi2,fix_truncdfdi2): Ditto.
6815         (fix_truncsfsi2,fix_truncsfdi2): Ditto.
6816         (movsi split): Use BITMASK_UPPER16/BITMASK_LOWER16 to avoid
6817         warnings.
6818
6819 Fri Mar 16 14:47:57 CET 2001  Jan Hubicka  <jh@suse.cz>
6820
6821         * i386.c (ix86_expand_fp_movcc): Do not attempt to construct
6822         SSE based conditional moves on LTGT/UNEQ conditions;
6823         Canonicalize EQ to NE.
6824         * i386.md (sse_mov?fcc): Disallow EQ and NE in IEEE mode.
6825         (sse_mov?fcc_ne): New.
6826
6827         * i386-protos.h (sign_extended_value, zero_extended_value): Declare.
6828
6829 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
6830
6831         * config/sh/sh.c (sh_expand_prologue): Insns that set up the PIC
6832         register may be dead.
6833
6834 2001-03-16  Brad Lucier  <lucier@math.purdue.edu>
6835
6836         * Makefile.in (hash.o): Depend on CONFIG_H.
6837
6838 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
6839
6840         * dwarf2out.c (rtl_for_decl_location): Use DECL_RTL_IF_SET.
6841
6842 2001-03-15  Richard Henderson  <rth@redhat.com>
6843
6844         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): New.
6845         (ASM_OUTPUT_DWARF_PCREL): New.
6846         * config/ia64/hpux.h (ASM_OUTPUT_DWARF_OFFSET): Remove.
6847
6848 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
6849
6850         * cppfiles.c (stack_include_file): Use MAX of sysp.
6851
6852 2001-03-15  Steve Ellcey  <sje@cup.hp.com>
6853
6854         * config.gcc (ia64*-*-hpux*): New case.
6855         * config/ia64/hpux.h: New file for HP-UX support.
6856         * config/ia64/t-hpux: New file for HP-UX support.
6857
6858 2001-03-16  Bruce Korb  <bkorb@gnu.org>, Alexandre Oliva  <aoliva@redhat.com>
6859
6860         * fixinc/inclhack.def (irix_stdio_va_list): New.
6861         * fixinc/fixincl.x: Rebuilt.
6862
6863 2001-03-15  Richard Henderson  <rth@redhat.com>
6864
6865         * dwarf2asm.c (dw2_asm_output_offset): Use ASM_OUTPUT_DWARF_OFFSET
6866         if provided by the target.
6867         (dw2_asm_output_pcrel): Likewise with ASM_OUTPUT_DWARF_PCREL.
6868         (dw2_asm_output_addr): New.
6869         * dwarf2asm.h (dw2_asm_output_addr): Declare.
6870         * dwarf2out.c (output_cfi): Use it for program addresses.
6871         (output_call_frame_info, output_die): Likewise.
6872         (output_aranges, output_line_info): Likewise.
6873
6874 2001-03-15  Bruce Korb  <bkorb@gnu.org>
6875
6876         * gcc.c(main): make more rigorous
6877         * collect2.c(main): guard against ignoring SIGCHLD
6878         * protoize.c(main): ditto
6879         * gcc/fixinc/fixincl.c(initialize): ditto
6880
6881 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
6882
6883         * sdbout.c (sdbout_symbol): Use DECL_RTL_SET_P, SET_DECL_RTL.
6884         (sdbout_parms): Likewise.
6885
6886 Thu Mar 15 12:57:14 2001  Jeffrey A Law  (law@cygnus.com)
6887
6888         * reload1.c (reload_cse_simplify_set): For LOAD_EXTEND_OP, do not
6889         "widen" a destination that is already wider than a word.  Also do
6890         not widen if LOAD_EXTEND_OP is NIL for the given mode.
6891
6892 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
6893
6894         * config/ia64/ia64.c (ia64_sched_reorder): Remove debugging aids.
6895
6896 Thu Mar 15 11:30:31 EST 2001  John Wehle  (john@feith.com)
6897
6898         * i960.h (ROUND_TYPE_SIZE_UNIT): Fix typo.
6899
6900 Thu Mar 15 11:24:29 EST 2001  John Wehle  (john@feith.com)
6901
6902         * i960.h (i960_maxbitalignment,
6903         i960_last_maxbitalignment): Declare.
6904         * i960.c (i960_maxbitalignment,
6905         i960_last_maxbitalignment): Make global.
6906         (process_pragma): Delete.
6907         (i960_pr_align, i960_pr_noalign): Move from here ...
6908         * i960-c.c: ... to this new file.
6909         * t-960bare (i960-c.o): New rule.
6910         * t-vxworks960 (i960-c.o): Likewise.
6911         * config.gcc (i960-*-*): Define c_target_objs and
6912         cxx_target_objs.
6913
6914 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
6915
6916         * cselib.c (hash_rtx): For REG and MEM, just use value of expression
6917         without adding in rtx code and mode.
6918
6919         * alias.c (init_alias_analysis): Don't use any rtx whose value
6920         varies as a known value.
6921         Delete a superfluous test.
6922
6923         * config/ia64/ia64.c (maybe_rotate): New function, broken out of
6924         ia64_sched_reorder.
6925         (ia64_sched_reorder): Call maybe_rotate; also rotate after
6926         scheduling a stop bit.
6927         (ia64_emit_nops): Correctly handle ASMs.
6928
6929 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
6930
6931         * varasm.c (assemble_variable): Use DECL_RTL_SET_P.
6932
6933 2001-03-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6934
6935         * cpp.texi: Update documentation for -include and -imacros.
6936         * cppfiles.c (struct include_file): Remove "defined" memeber.
6937         (find_or_create_entry): Make a copy of the file name, and
6938         simplify it.
6939         (open_file): Update to ensure we use the simplified filename.
6940         (stack_include_file): Don't set search_from.
6941         (cpp_included): Don't simplify the path name here.
6942         (find_include_file): New prototype.  Call search_from to
6943         get the start of the "" include chain.  Don't simplify the
6944         filenames here.
6945         (_cpp_execute_include): New prototype.  Move diagnostics to
6946         do_include_common.  Update.
6947         (_cpp_pop_file_buffer): Don't set defined.
6948         (search_from): New prototype.  Use the preprocessor's cwd
6949         for files included from the command line.
6950         (read_name_map): Don't simplify the pathname here.
6951         * cpphash.h (enum include_type): New.
6952         (struct buffer): Delete search from.  New search_cached.
6953         (_cpp_execute_include): Update prototype.
6954         * cppinit.c (do_includes): Use _cpp_execute_include.
6955         * cpplib.c (do_include_common): New function.
6956         (do_include, do_include_next, do_import): Use it.
6957
6958 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
6959
6960         * varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME, not the
6961         contents of the RTL, to determine the name of the object.
6962
6963 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
6964
6965         * tree.h (DECL_RTL): Allocate RTL lazily.
6966         (SET_DECL_RTL): New macro.
6967         (DECL_RTL_SET_P): Likewise.
6968         (COPY_DECL_RTL): Likewise.
6969         (DECL_RTL_IF_SET): Likewise.
6970         * varasm.c (make_decl_rtl): Add assertions about the kind of
6971         declaration we are processing.
6972         * c-decl.c (duplicate_decls): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
6973         (start_decl): Likewise.
6974         (finish_decl): Likewise.
6975         * c-semantics.c (emit_local_var): Likewise.
6976         * calls.c (expand_call): Likewise.
6977         * dbxout.c (dbxout_symbol): Likewise.
6978         * emit-rtl.c (unshare_all_rtl): Likewise.
6979         (unshare_all_decls): Likewise.
6980         (reset_used_decls): Likewise.
6981         * expr.c (store_constructor): Likewise.
6982         (safe_from_p): Likewise.
6983         (expand_expr): Likewise.
6984         * function.c (put_var_into_stack): Likewise.
6985         (instantiate_decls_1): Likewise.
6986         (assign_parms): Likewise.
6987         (expand_function_start): Likewise.
6988         (expand_function_end): Likewise.
6989         * ggc-common.c (gcc_mark_trees): Likewise.
6990         * integrate.c (function_cannot_inline_p): Likewise.
6991         (copy_decl_for_inlining): Likewise.
6992         (expand_inline_function): Likewise.
6993         (integrate_parm_decls): Likewise.
6994         (integrate_decl_tree): Likewise.
6995         * print-tree.c (print_node): Likewise.
6996         * reg-stack.c (stack_result): Likewise.
6997         * stmt.c (label_rtx): Likewise.
6998         (expand_return): Likewise.
6999         (expand_decl): Likewise.
7000         (expand_decl_cleanup): Likewise.
7001         (expand_anon_union_decl): Likewise.
7002         * toplev.c (check_global_declarations): Likewise.
7003         (rest_of_decl_compilation): Likewise.
7004         * tree.c (simple_cst_equal): Likewise.
7005         * objc/objc-act.c (generate_static_references): Likewise.
7006
7007 2001-03-14  Zack Weinberg  <zackw@stanford.edu>
7008
7009         * aclocal.m4 (gcc_AC_C_CHARSET, gcc_AC_C_COMPILE_BIGENDIAN,
7010         gcc_AC_C_FLOAT_FORMAT): New macros.
7011         * configure.in: Add AC_PROG_CPP after CC tests;
7012         gcc_AC_C_CHARSET and gcc_AC_C_FLOAT_FORMAT after the sizeof
7013         tests; and gcc_AC_C_COMPILE_BIGENDIAN after gcc_AC_C_CHAR_BIT.
7014         * configure, config.in: Regenerate.
7015
7016         * config/a29k/xm-a29k.h, config/arc/xm-arc.h,
7017         config/arm/xm-arm.h, config/c4x/xm-c4x.h,
7018         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
7019         config/i370/xm-linux.h, config/i370/xm-oe.h,
7020         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
7021         config/m68k/xm-m68k.h, config/mips/xm-mips.h,
7022         config/pa/xm-linux.h, config/pa/xm-pa.h,
7023         config/rs6000/xm-lynx.h, config/rs6000/xm-mach.h,
7024         config/rs6000/xm-rs6000.h, config/rs6000/xm-sysv4.h,
7025         config/sparc/xm-sparc.h, config/vax/xm-vax.h,
7026         config/we32k/xm-we32k.h: Delete.
7027
7028         * config/i370/xm-mvs.h, config/m88k/m88k.h,
7029         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
7030         config/vax/xm-vms.h: Don't define any of:
7031         HOST_FLOAT_FORMAT, HOST_EBCDIC, HOST_WORDS_BIG_ENDIAN
7032
7033         * config/rs6000/aix.h: Define COLLECT_EXPORT_LIST here.
7034
7035         * config.gcc: Remove references to deleted files.
7036         (i370-*-opened*): Use i370/xm-mvs.h (which now defines only
7037         FATAL_EXIT_CODE, which is the same between oe and mvs).
7038
7039 2001-03-14  DJ Delorie  <dj@redhat.com>
7040             Vladimir Makarov  <vmakarov@redhat.com>
7041
7042         * config/i960/i960.c (i960_function_prologue): Compute size of
7043         frame according to number of registers actually saved there.
7044
7045 2001-03-14  Richard Henderson  <rth@redhat.com>
7046
7047         * expr.c (emit_move_insn_1): Fix else if around #endif.
7048
7049 Wed Mar 14 22:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
7050                               Vojtech Pavlik
7051
7052         * md.texi (machine constraints): Document 'Q', 'R', 'e' and 'Z'
7053         constraints.
7054
7055 Wed Mar 14 22:26:10 CET 2001  Jan Hubicka  <jh@suse.cz>
7056
7057         * i386.c (ix86_cmodel_string, ix86_cmodel): Define.
7058         (override_options): Parse cmodel string.
7059         (x86_64_sign_extended_value, x86_64_zero_extended_value): New.
7060         * i386.h (TARGET_OPTIONS): Add "cmodel".
7061         (EXTRA_CONSTRAINT): Recognize 'e' and 'Z'.
7062         (enum cmodel): New.
7063         (ix86_cmodel_string, ix86_cmodel): Declare.
7064
7065 Wed Mar 14 22:26:54 CET 2001  Jan Hubicka  <jh@suse.cz>
7066
7067         Spot by Matt Kraai:
7068         * i386.h (GENERAL_REG_P): Add missing REG_P.
7069
7070 2001-03-14  Laurynas Biveinis  <lauras@softhome.net>
7071
7072         * configure.in: Use $gcc_cv_as instead of $as.
7073         * configure: Regenerated.
7074
7075 2001-03-14  Neil Booth  <neil@daikokuya.demon.co.uk>
7076
7077         * cppfiles.c (stack_include_file): Only increase the include
7078         count if we actually process the file properly, as opposed
7079         to treating it as length zero.  Only call read_include_file
7080         if not DO_NOT_REREAD.  Handle the -H include file output
7081         here.
7082         (read_include_file): Remove now redundant DO_NOT_REREAD check.
7083         (cpp_included, find_include_file): Simplify pathnames after
7084         remapping them.  If remapping, don't use the remapped file
7085         name's buffer as our scratch buffer.
7086         (cpp_pop_file_buffer): Replace the multiple include macro
7087         only if it isn't yet set.
7088         (read_name_map): Simplify remapped names when reading in.
7089         (remap_filename): Move code to code path that uses it.
7090         (_cpp_simplify_pathname): Return the input pointer.
7091         * cpphash.h (_cpp_simplify_pathname): Update prototype.
7092
7093 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
7094
7095         * expr.c (expand_expr): Revove bogus conditional.
7096
7097 Wed Mar 14 19:29:50 CET 2001  Jan Hubicka  <jh@suse.cz>
7098
7099         * expr.c (emit_move_insn_1): Guard PUSH_ROUNDING use by ifdef.
7100
7101 2001-03-14  Jakub Jelinek  <jakub@redhat.com>
7102
7103         * reg-stack.c (stack_result): Unconditionally use
7104         FUNCTION_OUTGOING_VALUE resp. FUNCTION_VALUE.
7105
7106 Wed Mar 14 16:36:25 CET 2001  Jan Hubicka  <jh@suse.cz>
7107
7108         * expr.c (emit_move_insn_1):  Split push of complex value when
7109         no suitable push instruction exist.
7110
7111         * i386.md (QImode move/add/shift patterns): Use ANY_QI_REG_P
7112         instead of QI_REG_P.
7113
7114 Tue Mar 13 22:22:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7115
7116         * alias.c (handled_component_p, can_address_p): New functions.
7117         (get_alias_set): Use them.
7118
7119 2001-03-13  Jim Wilson  <wilson@redhat.com>
7120
7121         * config/ia64/ia64.c (find_gr_spill): Subtract frame_pointer_needed
7122         from 80 in try_locals code.
7123         (ia64_expand_prologue): Add comment pointing to find_gr_spill change.
7124
7125 2001-03-13  Zack Weinberg  <zackw@stanford.edu>
7126
7127         * aclocal.m4 (gcc_AC_COMPILE_CHECK_SIZEOF, gcc_AC_C_CHAR_BIT,
7128         gcc_AC_C_LONG_LONG): New.
7129         * configure.in: Use them.  Probe the size of short, int, long,
7130         and long long/__int64 if we have them.  Move all the AC_C_*
7131         checks together, except gcc_AC_C_CHAR_BIT which has to go
7132         after AC_CHECK_HEADERS(limits.h).
7133         Take hwint.h out of host_xm_file and build_xm_file.
7134
7135         * hwint.h: Unconditionally define HOST_BITS_PER_CHAR,
7136         HOST_BITS_PER_SHORT, HOST_BITS_PER_INT, HOST_BITS_PER_LONG,
7137         and HOST_BITS_PER_LONGLONG in terms of SIZEOF_* and CHAR_BIT.
7138         Move the HOST_WIDEST_INT setup logic here from system.h.
7139         Provide HOST_WIDEST_INT even if HOST_BITS_PER_LONGLONG is not
7140         defined.
7141         * system.h: Include hwint.h after limits.h.  HOST_WIDEST_INT
7142         is now handled by hwint.h.
7143
7144         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms.h,
7145         config/c4x/xm-c4x.h, config/i370/xm-oe.h,
7146         config/ia64/xm-ia64.h: Don't define any of:
7147         HOST_BITS_PER_LONG, HOST_BITS_PER_CHAR, HOST_BITS_PER_SHORT,
7148         HOST_BITS_PER_LONGLONG.
7149
7150         * config/alpha/xm-alpha.h, config/dsp16xx/xm-dsp16xx.h,
7151         config/h8300/xm-h8300.h, config/mips/iris6.h,
7152         config/mn10200/xm-mn10200.h, config/pa/xm-pa64hpux.h,
7153         config/sparc/xm-sp64.h: Delete.
7154         * config.gcc: Remove references to deleted files.
7155
7156         * config/arm/xm-arm.h, config/mips/xm-mips.h: Don't define
7157         HOST_FLOAT_FORMAT to IEEE_FLOAT_FORMAT.
7158         * config/i370/xm-linux.h: Clarify floating-point situation in
7159         a comment.
7160
7161 2001-03-13  Neil Booth  <neil@daikokuya.demon.co.uk>
7162
7163         * cppfiles.c (NO_INCLUDE_PATH): New macro.
7164         (find_include_file): Decide here which part of the include
7165         chain to start the search.  Complain about an empty include
7166         chain in all cases apart from an abolsute file name.
7167         (_cpp_execute_include): Don't choose the search chain here.
7168         Don't call handle_missing_include in the case of an empty
7169         include chain.
7170         (_cpp_compare_file_date): Don't choose the search chain here.
7171         * cpplib.c (do_include_next): Move the in-main-file diagnostic
7172         here from _cpp_execute_include.  Behave like #include if
7173         we're in the main file.
7174
7175 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7176
7177         * system.h (malloc, realloc, calloc, strdup): Only poison these
7178         tokens when IN_GCC is defined.
7179
7180 Tue Mar 13 14:38:44 CET 2001  Jan Hubicka  <jh@suse.cz>
7181
7182         * i386.md (abs?f expander): Support SSE case.
7183         (abd?f_if): Add new "USE"; add splitters.
7184
7185 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7186
7187         * cpp.texi (poison): Explain the macro expansion exception.
7188
7189 2001-03-13  Jakub Jelinek  <jakub@redhat.com>
7190
7191         * expr.c (store_expr): Add dont_store_target.  If temp is already in
7192         target before copying to reg, don't store it into target again.
7193
7194 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
7195
7196         * cppinternals.texi: Update for file handling.
7197
7198 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
7199
7200         * emit-rtl.c (remove_unnecessary_notes): Reverse Richard Kenner's
7201         2001-02-24 which broke building the Java library.
7202         * function.c (identify_blocks): Likewise.
7203         (all_blocks): Likewise.
7204         * integrate.c (integrate_decl_tree): Likewise.
7205         * print-tree.c (print_node): Likewise.
7206         * tree.h (BLOCK_NUMBER): Likewise.
7207         (struct tree_block): Likewise.
7208
7209 2001-03-12  David Edelsohn  <edelsohn@gnu.org>
7210
7211         * rs6000/aix51.h (CPP_SPEC, CPLUSPLUS_CPP_SPEC): Fix typo in
7212         __WCHAR_TYPE__ definition.
7213         (WCHAR_TYPE_SIZE): #undef before #define.
7214
7215 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
7216
7217         * cppfiles.c: Update comments.
7218         (destroy_include_file_node): Rename destroy_node.
7219         (find_or_create_entry): New function.
7220         (open_file, _cpp_fake_include): Use it.
7221         (handle_missing_header): New function, broken out of
7222         _cpp_execute include.  Don't segfault if there is no
7223         system or quoted path.
7224         (_cpp_execute_include): Use handle_missing_header.
7225
7226 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
7227
7228         * jump.c (reversed_comparison_code_parts): Reverse Jan Hubricka's
7229         2001-02-28 patch because it breaks arm-linux and mips-sgi-irix6.5.
7230
7231 Mon Mar 12 14:05:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7232
7233         * flow.c (insn_dead_p): Don't consider two memrefs equivalent
7234         unless anti_dependence says they are.
7235         * alias.c (objects_must_conflict): If neither has a type specified,
7236         they must conflict.
7237
7238 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
7239             David Billinghurst <David.Billinghurst@riotinto.com>
7240
7241         * config/mips/iris5.h:  Change WCHAR_TYPE to int.
7242
7243 Mon Mar 12 16:32:21 CET 2001  Jan Hubicka  <jh@suse.cz>
7244
7245         * i386.md (trunctfdf2_2): Rename missnamed pattern.
7246         (*_one_bit): Remove type on the match_operand in attributes.
7247
7248 Mon Mar 12 16:27:56 CET 2001  Jan Hubicka  <jh@suse.cz>
7249
7250         * i386.c: Commit forgotten hunk in previous patch.
7251         (regclass_map): Add extended registers.
7252         (dbx_register_map): Add missing frame register.
7253
7254 Mon Mar 12 15:41:08 CET 2001  Jan Hubicka  <jh@suse.cz>
7255
7256         * i386.md (all XFmode patterns except swapxf): Disable for 64bit.
7257
7258         * i386.md (x86_sahf_1): Disable for 64bit.
7259         (popsi*, pophi*): Likewise.
7260         (pushqi, pushhi): Likewise.
7261         (movdi, pushdi): Likewise.
7262         (zero extend DImode splitter): Likewise.
7263         (adddi, minusdi splitter): Likewise.
7264         (umulsidi): Likewise.
7265         (umulsi): New.
7266         (mulsidi): Disable for 64bit
7267         (lshift:DI/ashift:DI): Disable for 64bit.
7268         (loop patterns): Likewise.
7269         (call_pop, call_value_pop expanders and patterns): Likewise.
7270         (prologue_get_pc): Likewise.
7271         (leave): Likewise.
7272         (fcmovDI pattern and splitter): Likewise.
7273         (movdfcc_1_rex64): New.
7274
7275 Mon Mar 12 15:16:36 CET 2001  Jan Hubicka  <jh@suse.cz>
7276
7277         * i386.h (VALID_FP_MODE_P): XFmode is invalid on x86_64.
7278         (MODES_TIEABLE_P): QImodes and DImodes are tiable on x86_64.
7279         (HARD_REGNO_CALLER_SAVE_MODE): Save QImodes as QImodes for x86_64.
7280         (STATIC_CHAIN_REGNUM): Set to r10 for x86_64.
7281         (PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM for x86_64.
7282         (LIMIT_RELOAD_CLASS): Avoid limiting of QImodes on x86_64.
7283         (SECONDARY_OUTPUT_RELOAD_CLASS): No need to QImodes.
7284         (PUSH_ROUNDING): x86_64 rounds to 64bits.
7285         (CONSTANT_ADDRESS_P): Accept CONST_DOUBLE.
7286         (REGPARM_MAX): Set to 6 for x86_64.
7287         (SSE_REGPARM_MAX): Set to 16 for x86_64.
7288         * i386.c (hard_regno_mode_ok): QImodes can be in all general purpose
7289         registers.
7290
7291         * (patterns that does use upper halves): Update constraints
7292         'q' to 'Q' and 'r' to 'R'.
7293         (cmpqi_ext_1): Disable for 64bit.
7294         (cmpqi_ext_3_insn): Likewise.
7295         (movqi_extzv_1): Likewsie.
7296         (addqi_ext_1): Liekwsie
7297         (testqi_ext_1): Liekwsie
7298         (andqi_ext_1): Liekwsie
7299         (xorqi_ext_1): Liekwsie
7300         (cmpqi_ext_1_rex64): New.
7301         (cmpqi_ext_3_insn_rex64): Likewise.
7302         (movqi_extzv_1_rex64): Likewsie.
7303         (addqi_ext_1_rex64): Liekwsie
7304         (testqi_ext_1_rex64): Liekwsie
7305         (andqi_ext_1_rex64): Liekwsie
7306         (xorqi_ext_1_rex64): Liekwsie
7307
7308 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
7309
7310         * configure.in: Move check for unsigned enumerated bitfields
7311         to macro in aclocal.m4.  Disable it for now.
7312         * configure, config.in: Regenerate.
7313         * system.h: Don't do anything with ONLY_INT_FIELDS.  Use the
7314         unsigned-int form of ENUM_BITFIELD() unless being compiled by GCC.
7315         * varasm.c (struct rtx_const): Use ENUM_BITFIELD().  Move enum
7316         kind above its first use.
7317
7318         * config/xm-interix.h, config/alpha/xm-alpha.h,
7319         config/i370/xm-linux.h, config/i386/xm-beos.h,
7320         config/i386/xm-mingw32.h, config/mips/xm-mips.h,
7321         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
7322         config/rs6000/xm-beos.h, config/rs6000/xm-sysv4.h,
7323         Don't define ONLY_INT_FIELDS under any circumstances.
7324
7325         * config/pa/xm-pa.h: Don't define __BSD_NET2__.
7326
7327         * config/pa/xm-pahpux.h, config/pa/xm-papro.h,
7328         config/sparc/xm-sysv4.h: Delete - now identical with some
7329         other xm header.
7330         * config.gcc (hppa targets): Replace xm-pahpux.h and
7331         xm-papro.h with implicit xm-pa.h.
7332         (sparc targets): Replace xm-sysv4.h with implicit or explicit
7333         xm-sparc.h.
7334
7335 2001-03-12  Aldy Hernandez  <aldyh@redhat.com>
7336
7337         * reload1.c (reload_cse_simplify): Call reload_cse_simplify_set
7338         before reload_cse_noop_set_p.
7339
7340 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
7341
7342         * config.gcc: Where xm-host.h used to include another
7343         xm-host.h, list the nested header directly in xm_file.  Remove
7344         references to deleted files.  Can now use sparc/xm-sp64.h for
7345         sparcv9-*-solaris*.
7346
7347         * config/xm-linux.h, config/arm/xm-linux.h,
7348         config/i386/xm-dos.h, config/i386/xm-gnu.h,
7349         config/i386/xm-linux.h, config/i386/xm-openbsd.h,
7350         config/i860/xm-fx2800.h, config/m68k/xm-atari.h,
7351         config/m68k/xm-linux.h, config/m68k/xm-sun3.h,
7352         config/sparc/xm-linux.h, config/sparc/xm-sysv4-64.h:
7353         Delete.
7354
7355         * config/alpha/xm-alpha-interix.h: Don't include alpha/xm-alpha.h.
7356         * config/mips/xm-iris5.h: Don't include mips/xm-mips.h.  Don't
7357         bother to wrap #undef in #ifdef.
7358         * config/pa/xm-linux.h, config/rs6000/xm-sysv4.h:
7359         Don't include xm-linux.h.
7360         * config/sparc/xm-sp64.h: Don't include sparc/xm-sparc.h.
7361
7362         * configure.in: Wrap regexps using [] in changequote block.
7363         Use expr : not echo | grep.  Simplify regexps.
7364         * configure: Regenerate.
7365
7366         56 xm-files remain, 22 xm-arch.
7367
7368 2001-03-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7369
7370         * mips-tfile.c: Cast arg to PTR when specifier is HOST_PTR_PRINTF.
7371         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
7372         (local_index, local_rindex): Delete, use strchr/strrchr instead.
7373         (copy_object): Fix format specifier vs argument mismatch.
7374
7375         * mips-tdump.c: Make local functions static.
7376         (rindex): Don't #undef.
7377         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
7378         (fatal, fancy_abort): Delete.
7379         (read_seek): Avoid signed/unsigned compare.
7380
7381 Sun Mar 11 17:01:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7382
7383         * combine.c (try_combine): Fix error in change to try original
7384         register.
7385         (gen_rtx_combine): Do same as gen_rtx for now.
7386
7387 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
7388
7389         * configure.in: AC_SUBST xm_defines.
7390         * configure: Regenerate.
7391         * Makefile.in: Set DEFINES=$(xm_defines) when building
7392         tconfig.h.
7393
7394 2001-03-11  Neil Booth  <neil@daikokuya.demon.co.uk>
7395
7396         * cppfiles.c (INCLUDE_LEN_FUDGE, ENOMEM): Delete.
7397         (cpp_included, find_include_file): Update.
7398         (_cpp_compare_file_date): Make else unconditional.
7399
7400 2001-03-10  kaz Kojima <kkojima@rr.iij4u.or.jp>
7401
7402         * config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.
7403
7404 2001-03-10  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
7405
7406         * config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics.
7407         * config/sh/lib1funcs.asm (mulsi3): Convert mulu to mulu.w.
7408
7409 Sat Mar 10 22:42:05 2001  Alexandre Oliva  <aoliva@redhat.com>
7410
7411         * tree.c (build_common_tree_nodes_2): Don't copy va_list_type_node
7412         if it's a record type.
7413
7414 Sat Mar 10 17:52:54 2001  Christopher Faylor <cgf@cygnus.com>
7415
7416         * config/i386/cygwin.h: Make ../w32api a system directory.  Reorganize
7417         mingw includes slightly.
7418
7419 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7420
7421         * system.h (malloc, realloc, calloc, strdup, bzero, bcmp, rindex):
7422         #undef token before poisoning it.
7423
7424 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7425
7426         * alpha.c (check_float_value): Use memcpy, not bcopy.
7427
7428         * m32r.c (m32r_sched_reorder): Likewise.
7429
7430         * vax.c (check_float_value): Likewise.
7431
7432 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
7433
7434         * toplev.c (file_name_nondirectory): Remove.
7435         * toplev.h: Similarly.
7436         * dwarf2out.c (compute_section_prefix): Use lbasename instead
7437         of file_name_nondirectory.
7438
7439 Sat Mar 10 10:36:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7440
7441         * mips-tdump.c (read_seek): Call xmalloc, not malloc.
7442         * mips-tfile.c: Don't #undef rindex; not used.
7443
7444 Sat Mar 10 14:34:59 CET 2001  Jan Hubicka  <jh@suse.cz>
7445
7446         * i386.h (DBX_REGISTER_NUMBER): Return proper values for 64bits.
7447         (dbx64_register_map): Declare.
7448         (RETURN_ADDR_RTX): Fix for 64bit.
7449         (DWARF_FRAME_RETURN_COLUMN): Set to 16 for 64bit.
7450         (INCOMING_FRAME_SP_OFFSET): Set to 8.
7451         * i386.c (dbx64_register_map): New global array.
7452         * beos-elf.h, freebsd.h, i386-interix.h, i386elf.h,
7453         linux.h (DBX_REGISTER_REGNUMBER): Use dbx64_register_map
7454         for 64bits.
7455
7456 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
7457
7458         * cppfiles.c (search_from): Use lbasename.
7459         * mkdeps.c (deps_add_default_target): Use lbasename.
7460
7461 2001-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7462
7463         * fixinc/server.c (load_data, run_shell): Use xmalloc, xrealloc &
7464         xcalloc in lieu of malloc, realloc & calloc.
7465
7466         * gencheck.c (xmalloc): Use really_call_malloc, not malloc.
7467
7468         * gengenrtl.c (xmalloc): Likewise.
7469
7470         * gensupport.c (xcalloc, xrealloc, xmalloc): Use the
7471         really_call_* memory allocation routines.
7472
7473         * stmt.c (check_for_full_enumeration_handling): Use
7474         really_call_calloc, not calloc.
7475
7476         * system.h (really_call_malloc, really_call_calloc,
7477         really_call_realloc): Define.
7478         (malloc, realloc, calloc, strdup, bzero, bcmp, rindex): Poison.
7479
7480 Fri Mar  9 18:39:19 2001  Jeffrey A Law  (law@cygnus.com)
7481
7482         * pa.md (builtin_longjmp): Rework slightly to work for PA64 too.
7483
7484 2001-03-09  Nicola Pero <n.pero@mi.flashnet.it>
7485
7486         * configure: Rebuilt.
7487         * configure.in: Only use `lang_requires' for languages athat are
7488         actually enabled.
7489
7490 2001-03-09  Joseph S. Myers  <jsm28@cam.ac.uk>
7491
7492         * invoke.texi: Fix typo.
7493         * gcc.1: Regenerate.
7494
7495 2001-03-09  Zack Weinberg  <zackw@stanford.edu>
7496
7497         * configure.in: Prune nonexistent files from build_xm_file,
7498         xm_file, and host_xm_file lists.  Warn unless they're
7499         $cpu/xm-$cpu.h.
7500         Don't generate *config.h here.
7501         AC_SUBST all variables needed to generate *config.h.
7502         * configure: Regenerate.
7503         * mkconfig.sh: New helper script, from code removed from
7504         configure.in.
7505         * Makefile.in: Zap all MALLOC variables - no longer used
7506         anywhere, and malloc.c doesn't exist.
7507         Substitute in variables needed to generate *config.h.
7508         Stop lying about the dependencies contained in CONFIG_H and
7509         GCONFIG_H.
7510         (HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
7511         (config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
7512         cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
7513         (all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
7514         $(TM_P_H), etc. as appropriate.
7515
7516         * config.gcc: Zap references to deleted files.
7517         * ggc-none.c: Don't include rtl.h or tm_p.h.
7518
7519         * config/i386/xm-beos.h, config/i386/xm-dgux.h,
7520         config/i386/xm-djgpp.h, config/i386/xm-dos.h,
7521         config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
7522         config/i386/xm-linux.h, config/i386/xm-linux.h,
7523         config/i386/xm-next.h, config/i386/xm-openbsd.h,
7524         config/i386/xm-sun.h, config/i386/xm-sysv3.h:
7525         Don't include i386/xm-i386.h.
7526
7527         * config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
7528         config/i386/xm-i386.h, config/i860/xm-i860.h,
7529         config/i960/xm-i960.h, config/mcore/xm-mcore.h,
7530         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
7531         config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
7532         Delete (empty except comments, #includes of other deleted
7533         files, and macros used nowhere).
7534
7535 Fri Mar  9 20:05:27 CET 2001  Jan Hubicka  <jh@suse.cz>
7536
7537         * i386.h (MAX_WCHAR_TYPE_SIZE): New constant to keep tradcpp
7538         independent on TARGET_FLAGS.
7539
7540 Fri Mar  9 19:52:52 CET 2001  Jan Hubicka  <jh@suse.cz>
7541
7542         * i386.h (FIRST_PSEUDO_REGISTER): Set to 53.
7543
7544         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ONES): Add
7545         extended ones.
7546         (CONDITIONAL_REGISTER_USAGE): Set proper values according to
7547         TARGET_64BIT.
7548         (FIRST_REX_INT_REG, LAST_REX_INT_REG, FIRST_REX_SSE_REG,
7549         LAST_REX_SSE_REG): define.
7550         (enum reg_class): Add 'LEGACY_REGS'
7551         (REG_CLASS_CONTENTS): Likewise; add extended registers.
7552         (SSE_REGNO_P): Recognize extended registers.
7553         (ANY_QI_REG_P, REX_INT_REGNO_P, REX_INT_REG_P): New.
7554         (REG_CLASS_FROM_LETTER): Add 'R' and 'Q'.
7555         (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P,
7556         REG_OK_FOR_BASE_NONSTRICT_P): Recognize REX registers.
7557         (REG_OK_FOR_STRREG_NONSTRICT_P, REG_OK_FOR_STRREG_STRICT_P,
7558          REG_OK_FOR_STRREG_P): Remove.
7559         (HI_REGISTER_NAMES): Add extended registers.
7560         (ADDITIONAL_REGISTER_NAMES): Likewise.
7561         (QI_REGISTER_NAMES): Add 8bit extended registers.
7562         (DEBUG_REG): Support extended registers.
7563         * i386.c (regclass_map): Add extended registers.
7564         (dbx_register-map): Likewise.
7565         (svr4_dbx_register_map): Likewise.
7566         (print_reg): Support extended registers.
7567         (print_operand): Support 64bit operands.
7568
7569 Fri Mar  9 19:37:46 CET 2001  Jan Hubicka  <jh@suse.cz>
7570
7571         * i386.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 128bit for x86_64
7572         (BOOL_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
7573          FLOAT_TYPE_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE,
7574          DOUBLE_TYPE_SIZE, LONG_LONG_TYPE_SIZE): New constants.
7575         (BITS_PER_WORD, UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY,
7576          STACK_BOUNDARY): Set properly for 64bits.
7577         (MAX_BITS_PER_WORD, MIN_UNITS_PER_WORD): New constants.
7578         (EMPTY_FIELD_BOUNDARY): Define using BITS_PER_WORD.
7579         (BIGGEST_FIELD_ALIGNMENT): Set to 128 for 64bits.
7580         (MOVE_MAX): Set to 16.
7581         (MOVE_MAX_PIECES): 8 for 64bit.
7582         (Pmode): Set to SImode.
7583
7584 Fri Mar  9 09:00:36 2001  Mike Stump  <mrs@wrs.com>
7585
7586         * cselib.c (hash_rtx): Ensure that hash isn't zero upon return.
7587
7588 Fri Mar  9 17:38:08 CET 2001  Jan Hubicka  <jh@suse.cz>
7589
7590         * i386.h (mask_64bit): New constant.
7591         (target_64bit): New macro.
7592         (target_options): Add '64'/'32'
7593         (target_default): Define.
7594         * cygwin.h freebsd-aout.h i386-interix.h i386.h i386elf.h isc.h
7595         isccoff.h netbsd.h next.h openbsd.h p sco.h sco5.h scodbx.h sequent.h
7596         unix.h win32.h (TARGET_DEFAULT): Rename to TARGET_SUBTARGET_DEFAULT.
7597
7598 Thu Mar  8 23:36:56 2001  Jeffrey A Law  (law@cygnus.com)
7599
7600         * config/pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Disable.
7601
7602 Thu Mar  8 23:29:37 2001  John Wehle  (john@feith.com)
7603
7604         * rtlanal.c (rtx_varies_p): Check operand 0 of a
7605         LO_SUM unless for_alias is set.
7606
7607 2001-03-08  Stan Shebs  <shebs@apple.com>
7608
7609         * objc/objc-act.c: Fix old typos in comments, add comments for
7610         various functions.
7611         (hash_init): Fix file name in error message.
7612         (hash_enter): Ditto.
7613         (hash_add_attr): Ditto.
7614         (continue_class): Ditto.
7615
7616 2001-03-08  Bruce Korb  <bkorb@gnu.org>
7617
7618         gcc.c(main): ensure SIGCHLD handling is set to SIG_DFL so that
7619         wait4() can receive the signal.
7620
7621 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7622
7623         * fixinc/inclhack.def (AAB_dgux_int_varargs): Don't use HTML
7624         entities.
7625         * fixinc/fixincl.x: Regenerate.
7626
7627 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7628
7629         * fixinc/inclhack.def (AAA_standards): Undo <standards.h> breakage
7630         on Tru64 UNIX.
7631         * fixinc/fixincl.x: Regenerate.
7632
7633 2001-03-08  Richard Henderson  <rth@redhat.com>
7634
7635         * configure.in (HAVE_AS_LEB128): New assembler check.
7636         * configure, config.in: Rebuilt.
7637
7638 Thu Mar  8 19:54:04 CET 2001  Jan Hubicka  <jh@suse.cz>
7639
7640         * reg-stack.c (move_for_stack_reg): Avoid non-poping fst for
7641         TFmode too.
7642
7643 2001-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7644
7645         * config/ns32k/xm-pc532-min.h, config/we32k/xm-we32k.h: Delete
7646         references to the MAXPATHLEN macro.
7647
7648         * config/alpha/xm-alpha.h, config/arm/xm-arm.h,
7649         config/i386/xm-cygwin.h, config/xm-linux.h: Delete references to
7650         the POSIX macro.
7651
7652         * config/i386/xm-gnu.h, config/xm-gnu.h,
7653         config/alpha/xm-openbsd.h, config/i386/xm-openbsd.h,
7654         config/m68k/xm-openbsd.h, config/mips/xm-openbsd.h,
7655         config/sparc/xm-openbsd.h, config/xm-openbsd.h: Delete empty
7656         and/or unused files.
7657
7658         * config.gcc: Define POSIX in xm_defines as appropriate in lieu of
7659         doing so in various xm-*.h files.
7660
7661 Thu Mar  8 06:32:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7662
7663         * config/i386/i386.md (clrstrsi): Call ix86_set_move_mem_attrs.
7664
7665 2001-03-08  Alexandre Oliva  <aoliva@redhat.com>
7666
7667         * configure.in (enable_shared): Support per-package shared-library
7668         enabling.
7669         * configure: Rebuilt.
7670
7671 2001-03-07  David Edelsohn  <edelsohn@gnu.org>
7672
7673         * rs6000.md (cr logic): Add original POWER mnemonic alternative
7674         for crnot.  Set operands[5] in splitter.
7675
7676 2001-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7677
7678         * config/i370/xm-mvs.h, config/i370/xm-oe.h,
7679         config/i386/xm-beos.h, config/i386/xm-mingw32.h,
7680         config/m88k/xm-m88k.h, config/mips/xm-iris6.h,
7681         config/mips/xm-openbsd.h, config/pa/xm-pa64hpux.h,
7682         config/pa/xm-pahpux.h, config/rs6000/xm-beos.h,
7683         config/rs6000/xm-darwin.h, config/rs6000/xm-mach.h,
7684         config/rs6000/xm-rs6000.h, config/xm-interix.h: Delete references
7685         to the USG macro.
7686
7687         * config/vax/xm-vaxv.h, config/a29k/xm-unix.h,
7688         config/i370/xm-i370.h, config/i386/xm-dgux.h,
7689         config/i386/xm-sun.h, config/i386/xm-sysv3.h,
7690         config/m68k/xm-tower.h, config/m68k/xm-aux.h,
7691         config/m68k/xm-hp320.h, config/m68k/xm-amix.h,
7692         config/m68k/xm-altos3068.h, config/m68k/xm-mot3300.h,
7693         config/m68k/xm-m68kv.h, config/m88k/xm-openbsd.h,
7694         config/mips/xm-nws3250v4.h, config/mips/xm-sysv.h,
7695         config/mips/xm-iris3.h, config/mips/xm-iris4.h, config/xm-svr3.h,
7696         config/xm-svr4.h, config/sparc/xm-pbd.h, config/clipper/xm-clix.h:
7697         Delete unused and/or empty files.
7698
7699         * config.gcc: Define USG in xm_defines as appropriate.  Define
7700         POSIX in lieu of xm-svr4.h.  Delete all references to the SVR3
7701         macro.  Remove deleted xm-* files from $xm_files variable.
7702
7703 2001-03-07  Tom Tromey  <tromey@redhat.com>
7704
7705         * configure: Rebuilt.
7706         * configure.in: Allow config-lang.in to set `lang_requires' to list
7707         of other required languages.
7708
7709 2001-03-07  Andrew MacLeod  <amacleod@redhat.com>
7710
7711         * config/a29k/a29k.c (print_operand): Free a29k_last_prologue_insn
7712         after its emitted.
7713         (output_prologue): Use xmalloc not oballoc.
7714         (output_epilog): Free a29k_first_epilogue_insn when finished.
7715         * confif/a29k/a29k.h (PREDICATE_CODES): Remove shift_constant_operand.
7716
7717 2001-03-07  Brad Lucier  <lucier@math.purdue.edu>
7718
7719         * builtins.c (expand_builtin_mathfn): Check
7720         flag_unsafe_math_optimizations, not flag_fast_math.
7721         (expand_builtin): Likewise
7722         * combine.c (combine_simplify_rtx): Likewise.
7723         (simplify_if_then_else): Likewise.
7724         * cse.c (fold_rtx): Likewise.
7725         * flags.h: Remove flag_fast_math.  Add
7726         flag_unsafe_math_optimizations and flag_trapping_math.
7727         * fold-const.c (negate_expr): Check
7728         flag_unsafe_math_optimizations, not flag_fast_math.
7729         (invert_truthvalue): Likewise.
7730         (fold): Likewise.  Before associating operands, check that
7731         code == MULT_EXPR, not code != MULT_EXPR.
7732         * ifcvt.c (noce_try_minmax): Check
7733         flag_unsafe_math_optimizations, not flag_fast_math.
7734         (noce_operand_ok): Check flag_trapping_math, not flag_fast_math.
7735         * invoke.texi: Document -funsafe-math-optimizations and
7736         -fno-trapping-math.  Change documentation for -ffast-math.
7737         * jump.c (reversed_comparison_code_parts): Likewise.
7738         (rtx_equal_for_thread_p): Likewise.
7739         * optabs.c (emit_conditional_move): Likewise.
7740         * simplify-rtx.c (simplify_binary_operation): Likewise.
7741         (simplify_relational_operation): Likewise.
7742         (simplify_ternary_operation): Likewise.
7743         * toplev.c: Remove flag_fast_math.  Add flag_trapping_math and
7744         flag_unsafe_math_optimizations.  Remove fast-math entry from f_options.
7745         Add trapping-math and unsafe-math-optimizations entries to f_options.
7746         (set_fast_math_flags): New, sets flags for -ffast-math.
7747         (set_no_fast_math_flags): New, sets flags for -fno-fast-math.
7748         (decode_f_option): Add code to handle -ffast-math and -fno-fast-math.
7749         * toplev.h: Declare set_fast_math_flags and set_no_fast_math_flags.
7750
7751         * config/alpha/alpha.c (alpha_emit_conditional_branch): Likewise.
7752         (alpha_emit_conditional_move): Initialize local_fast_math to
7753         flag_unsafe_math_optimizations, not flat_fast_math.
7754         * config/c4x/c4x.c (c4x_override_options): Call set_fast_math_flags
7755         instead of setting flag_fast_math to 1.
7756         * config/convex/convex.md: Check flag_unsafe_math_optimizations,
7757         not flag_fast_math.
7758         * config/i386/i386.c (override_options): Likewise
7759         * config/i386/i386.md: Likewise.
7760         * config/m68k/m68k.md: Likewise.
7761         * config/mips/mips.md: Likewise.
7762         * config/rs6000/rs6000.c (validate_condition_mode): Likewise.
7763         (rs6000_generate_compare): Likewise.
7764
7765 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
7766
7767         * Makefile.in: Set RANLIB to @RANLIB@.
7768         Remove RANLIB_TEST.
7769
7770 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
7771
7772         * fixinc/inclhack.def (djgpp_wchar_h): New test.
7773         * fixinc/fixincl.x: Regenerated.
7774
7775 2001-03-07  Richard Henderson  <rth@redhat.com>
7776
7777         * config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
7778
7779 2001-03-07  Richard Henderson  <rth@redhat.com>
7780
7781         * emit-rtl.c (remove_unnecessary_notes): Verify proper nesting
7782         of block notes and exception handling notes.
7783
7784         * lists.c (init_EXPR_INSN_LIST_cache): Don't check initialized.
7785         * toplev.c (rest_of_compilation): Call init_EXPR_INSN_LIST_cache ...
7786         (compile_file): ... here.
7787
7788 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7789
7790         * fixinc/Makefile.in (FIXINC_DEFS): Add -DHAVE_CONFIG_H.
7791
7792         * fixinc/gnu-regex.c: Don't include auto-host.h since we get
7793         config.h now.  Include libiberty.h to handle alloca.
7794
7795 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
7796
7797         * c-parse.in (yylexname): New function, split out of _yylex.
7798         (objc_rid_sans_at): New table.
7799         (init_reswords): Initialize it.
7800         (_yylex): Give labels clearer names.  Handle CPP_ATSIGN by
7801         retrieving the next token and checking it for significance as
7802         an ObjC keyword or string constant.
7803
7804         * cpplex.c (_cpp_lex_token): Just return CPP_ATSIGN for '@'.
7805         * cpplib.h (TTYPE_TABLE): Add CPP_ATSIGN, drop CPP_OSTRING.
7806
7807         * c-lex.c, c-parse.in, cppmacro.c, cpplex.c: Remove references
7808         to CPP_OSTRING.
7809
7810 2001-03-06  Stephen L Moshier  <moshier@mediaone.net>
7811
7812         * config/m68k/m68k.c (const_uint32_operand): Accept any
7813         const_int on a 32-bit host.
7814
7815 2001-03-06  Nicola Pero  <n.pero@mi.flashnet.it>
7816
7817         * objc/objc-act.c (init_objc): Set save_lang_status,
7818         restore_lang_status, and mark_lang_status.
7819
7820 2001-03-06  Krister Walfridsson  <cato@df.lth.se>
7821
7822         * dwarf2asm.c (dw2_asm_output_delta): Fix smallest_mode_for_size call.
7823
7824 2001-03-06  Neil Booth  <neil@daikokuya.demon.co.uk>
7825
7826         * cppinternals.texi: Update.
7827
7828 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7829
7830         * config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
7831         config/alpha/xm-alpha.h, config/arc/xm-arc.h, config/arm/xm-arm.h,
7832         config/c4x/xm-c4x.h, config/clipper/xm-clix.h,
7833         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
7834         config/dsp16xx/xm-dsp16xx.h, config/elxsi/xm-elxsi.h,
7835         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
7836         config/i370/xm-linux.h, config/i370/xm-mvs.h, config/i370/xm-oe.h,
7837         config/i386/xm-i386.h, config/i860/xm-i860.h,
7838         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
7839         config/m32r/xm-m32r.h, config/m68k/xm-m68k.h,
7840         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
7841         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
7842         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
7843         config/pa/xm-linux.h, config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
7844         config/pa/xm-pahpux.h, config/pa/xm-papro.h, config/pj/xm-pj.h,
7845         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
7846         config/rs6000/xm-lynx.h, config/rs6000/xm-rs6000.h,
7847         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
7848         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
7849         config/v850/xm-v850.h, config/vax/xm-vax.h, config/vax/xm-vms.h,
7850         config/we32k/xm-we32k.h: Delete HOST_BITS_PER_* definitions which
7851         match the defaults provided in hwint.h.
7852
7853         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
7854         config/sparc/xm-lynx.h, config/xm-std32.h: Delete files.
7855
7856         * config.gcc (xm_file): Don't set to files which are deleted.
7857
7858         * hwint.h: Provide default values for HOST_BITS_PER_*.  No longer
7859         guard this file against these macros being undefined.
7860
7861 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
7862
7863         * objc/objc-act.c (objc_add_static_instance): Set DECL_INITIAL
7864         and DECL_DEFER_OUTPUT on the decl we create, before calling
7865         rest_of_decl_compilation.
7866
7867 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
7868
7869         * aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE
7870         AC_FUNC_ALLOCA.
7871         * configure, config.in: Regenerate.
7872         * config.gcc: Remove references to deleted files.
7873
7874         * genattr.c, genattrtab.c, genextract.c, genoutput.c,
7875         genrecog.c, rtl.c: Do not use alloca anywhere.
7876
7877         * Makefile.in, build-make, system.h, config/x-interix,
7878         config/x-svr4, config/xm-interix.h, config/xm-openbsd.h,
7879         config/alpha/xm-alpha.h, config/alpha/xm-vms.h,
7880         config/arc/xm-arc.h, config/arm/xm-arm.h,
7881         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
7882         config/h8300/xm-h8300.h, config/i370/x-oe,
7883         config/i370/xm-linux.h, config/i386/x-aix, config/i386/x-beos,
7884         config/i386/x-ncr3000, config/i386/x-sco5,
7885         config/i386/xm-dgux.h, config/i860/x-sysv4,
7886         config/i960/xm-i960.h, config/m32r/xm-m32r.h,
7887         config/m68k/x-crds, config/m68k/x-dpx2, config/m68k/x-hp320,
7888         config/m68k/x-hp320g, config/m69k/x-mot3300,
7889         config/m68k/x-mot3300-gas, config/m68k/xm-amix.h,
7890         config/m68k/xm-hp320.h, config/m68k/xm-m68kv.h,
7891         config/m68k/xm-mot3300.h, config/m88k/x-dolph,
7892         config/m88k/x-sysv4, config/m88k/x-tekXD88,
7893         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
7894         config/mips/x-iris, config/mips/x-iris3,
7895         config/mips/x-sni-svr4, config/mips/x-sysv,
7896         config/mips/xm-iris6.h, config/mips/xm-mips.h,
7897         config/mips/xm-nws3250v4.h, config/pa/x-hpux,
7898         config/pa/x-pa-mpeix, config/pa/xm-pa.h,
7899         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
7900         config/pa/xm-papro.h, config/romp/xm-romp.h,
7901         config/rs6000/x-aix31, config/rs6000/x-aix41,
7902         config/rs6000/x-beos, config/rs6000/x-lynx,
7903         config/rs6000/x-mach, config/rs6000/x-rs6000,
7904         config/rs6000/x-sysv4, config/rs6000/xm-rs6000.h,
7905         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
7906         config/sparc/x-sysv4, config/sparc/xm-linux.h,
7907         config/sparc/xm-pbd.h, config/sparc/xm-sparc.h,
7908         config/vax/xm-vms.h: Eradicate all references to alloca and
7909         related stuff.
7910
7911         * config/xm-alloca.h, config/clipper/x-clix,
7912         config/i386/xm-sysv4.h, config/i860/x-fx2800,
7913         config/i860/x-sysv3, config/m88k/x-sysv3,
7914         config/sparc/xm-sol2.h, config/we32k/x-we32k: Delete
7915         (contained only alloca related hacks).
7916
7917         * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Just define
7918         USE_C_ALLOCA.
7919
7920 2001-03-05  Brad Lucier  <lucier@math.purdue.edu>
7921
7922         * invoke.texi: Document __FAST_MATH__.
7923
7924 2001-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7925
7926         * crtstuff.c: Restore include of auto-host.h.
7927
7928 2001-03-05  Fergus Henderson  <fjh@cs.mu.oz.au>
7929
7930         Put main() in a separate file, so that the language
7931         front-end can use a different main().
7932
7933         * main.c: New.
7934         * toplev.c: (main): Rename as toplev_main.
7935         * toplev.h: Declare toplev_main.
7936         * Makefile.in (OBJS): add toplev.o.
7937           (BACKEND): remove toplev.o, add main.o.
7938
7939 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
7940
7941         * cppfiles.c (search_from): Special case the empty string.
7942
7943 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
7944
7945         * cppfiles.c (_cpp_execute_include): Don't make a null-terminated
7946         copy of the filename.  Don't use CPP_PREV_BUFFER.  Don't call
7947         strlen or strcpy; we already know the length.
7948         (_cpp_compare_file_date): Similarly.
7949         * cpphash.h (struct cpp_reader): Delete done_initialising.
7950         (CPP_PREV_BUFFER): Delete.
7951         * cppinit.c (cpp_start_read): Don't set done_initialising.
7952         * cpplex.c (parse_string): Guarantee null-termination.
7953         (_cpp_equiv_toklists): Remove.
7954         * cpplib.c (glue_header_name): Null-terminate.
7955         (do_line): Don't leak memory.
7956         * cpplib.h (BT_WEAK): Delete.
7957         * cppmain.c (cb_ident): Strings are now null-terminated.
7958
7959 2001-03-04  Laurynas Biveinis  <lauras@softhome.net>
7960
7961         * gcc.c (convert_filename): Append executable suffix
7962         if NO_AUTO_EXE_SUFFIX is not defined.
7963         * gcc.texi: Document NO_AUTO_EXE_SUFFIX.
7964         * config/i386/djgpp.h: Define NO_AUTO_EXE_SUFFIX.
7965
7966 2001-03-03  David O'Brien  <obrien@FreeBSD.org>
7967
7968         from 2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
7969         * c-parse.gperf, c-gperf.h: Delete.
7970         (c-gperf.h was accidently re-added to the CVS repo in the rev
7971         1.16 commit by tromey)
7972
7973 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7974
7975         * cpplex.c (_cpp_lex_token): Don't warn about directives in
7976         macro arguments when looking for the '('.
7977         * cppmacro.c (funlike_invocation_p): Set parsing_args to
7978         2 when really parsing arguments; 1 when looking for '('.
7979         Always restore the lexer position.
7980
7981 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7982
7983         * longlong.h (umul_ppmm): Don't use a multiline string.
7984
7985 2001-03-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7986
7987         * fixinc/fixlib.h (t_bool): Add identifier `t_bool' in typedef.
7988         * fixinc/server.c (read_pipe_timeout): Use enum t_bool instead of
7989         t_bool in declaration because pcc can't combine volatile with typedef
7990         types.
7991
7992 Sat Mar  3 19:47:13 CET 2001  Jan Hubicka  <jh@suse.cz>
7993
7994         * i386.c (ix86_expand_fp_compare): Delay creating of scratch register
7995         until when it is really needed.
7996         (ix86_expand_compare): Update call of ix86_expand_fp_compare.
7997         * i386.h (PREDICATE_CODES): Add all codes for sse_comparison_operator
7998         * i386.md (float?i?f splitter): Don't force source operand to memory
7999         for SSE.
8000         (sse_movdfcc): Fix constraint.
8001         (sse_movdfcc splitter): Handle properly the second alternative.
8002
8003 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
8004
8005         * cpplex.c (parse_string): Unconditionally pedwarn.
8006
8007 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
8008
8009         * cpp.texi: Update.
8010         * cppexp.c (parse_number): Update.
8011         * cpplex.c (parse_string): Pedwarn if multiline string does not
8012         result from a system header's macro.
8013         * cpplib.h (sys_objmacro_p): Rename sys_macro_p.
8014         * cppmacro.c (sys_objmacro_p): Rename sys_macro_p.  Return true
8015         for function-like macros too.
8016         * c-lex.c (lex_number): Update.
8017
8018 2001-03-03  Richard Henderson  <rth@redhat.com>
8019
8020         * dwarf2out.c (output_call_frame_info): Fix augmentation length.
8021
8022 Sat Mar  3 04:17:17 2001  J"orn Rennecke <amylaar@redhat.com>
8023
8024         * combine.c (try_combine): If split with mode-changed scratch
8025         register didn't work, try the original mode.
8026
8027 Sat Mar  3 03:46:47 2001  J"orn Rennecke <amylaar@redhat.com>
8028
8029         * tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
8030         * config/c4x/c4x.h: Likewise.
8031         * stor-layout.c (compute_record_mode): Likewise.
8032         (layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK.
8033
8034 2001-03-02  Zack Weinberg  <zackw@stanford.edu>
8035
8036         * configure.in: Kill tm.h.  Include the files in the $tm_file
8037         list in all three of config.h, hconfig.h, tconfig.h, after the
8038         relevant set of xm_files.  Put TARGET_CPU_DEFAULT in all
8039         three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
8040         * configure: Regenerate.
8041         * Makefile.in (clean): Don't delete tm.h.
8042
8043         * system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
8044         defined, set them from EXIT_SUCCESS and EXIT_FAILURE.  If
8045         those are not defined, set SEC and FEC to 0 and 1.
8046         * gcc.texi: Update to match.
8047
8048         * crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
8049         * config/fp-bit.c, config/m68k/aux-crt2.asm,
8050         config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
8051         Include tconfig.h, not tm.h.
8052
8053         * config/xm-lynx.h, config/xm-std32.h,
8054         config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
8055         config/alpha/xm-alpha.h, config/arc/xm-arc.h,
8056         config/avr/xm-avr.h, config/c4x/xm-c4x.h,
8057         config/clipper/xm-clix.h, config/convex/xm-convex.h,
8058         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
8059         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
8060         config/h8300/xm-h8300.h, config/i370/xm-linux.h,
8061         config/i386/xm-i386.h, config/i860/xm-i860.h,
8062         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
8063         config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h,
8064         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
8065         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
8066         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
8067         config/pa/xm-linux.h, config/pa/xm-pa.h,
8068         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
8069         config/pa/xm-papro.h, config/pdp11/xm-pdp11.h,
8070         config/pj/xm-pj.h, config/romp/xm-romp.h,
8071         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
8072         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
8073         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
8074         config/v850/xm-v850.h, config/vax/xm-vax.h,
8075         config/we32k/xm-we32k.h:
8076         Don't include tm.h.
8077         Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
8078
8079         * config/i370/xm-i370.h, config/i370/xm-mvs.h,
8080         config/i370/xm-oe.h: Don't include tm.h.  Don't define
8081         SUCCESS_EXIT_CODE.
8082         * config/vax/xm-vms.h: Don't include tm.h.
8083
8084         * config/xm-lynx.h, config/avr/xm-avr.h,
8085         config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h,
8086         Delete; made empty by above changes.
8087         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
8088         config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h:
8089         Don't include config/xm-lynx.h or tm.h.
8090
8091         * config/xm-gnu.h: Don't include fcntl.h.
8092         * config/sparc/xm-lynx.h: Don't include sys/types.h and
8093         sys/wait.h.
8094         * config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf.
8095
8096 2001-03-02  Richard Henderson  <rth@redhat.com>
8097
8098         * tm.texi (File Framework): Document UNALIGNED_SHORT_ASM_OP,
8099         UNALIGNED_INT_ASM_OP, and UNALIGNED_DOUBLE_INT_ASM_OP.
8100
8101 2001-03-02  Richard Henderson  <rth@redhat.com>
8102
8103         * Makefile.in (OBJS): Add dwarf2asm.o.
8104         * dwarf2asm.c, dwarf2asm.h: New files.
8105         * dwarf2out.c (*): Use them.
8106         (size_of_uleb128, size_of_sleb128): Remove.
8107         (output_uleb128, output_sleb128): Remove.
8108         (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Remove.
8109         (UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Remove.
8110         (UNALIGNED_OFFSET_ASM_OP, UNALIGNED_WORD_ASM_OP): Remove.
8111         (FDE_LABEL, LINE_NUMBER_BEGIN_LABEL, LINE_NUMBER_END_LABEL): New.
8112         (ASM_OUTPUT_DWARF_DATA1, ASM_OUTPUT_DWARF_DELTA1): Remove.
8113         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_DELTA2): Remove.
8114         (ASM_OUTPUT_DWARF_DATA4, ASM_OUTPUT_DWARF_DELTA4): Remove.
8115         (ASM_OUTPUT_DWARF_DATA, ASM_OUTPUT_DWARF_DELTA): Remove.
8116         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_ADDR_DATA): Remove.
8117         (ASM_OUTPUT_DWARF_ADDR_DELTA, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
8118         (ASM_OUTPUT_DWARF_OFFSET4, ASM_OUTPUT_DWARF_OFFSET): Remove.
8119         (ASM_OUTPUT_DWARF_CONST_DOUBLE): Remove.
8120         (ASM_OUTPUT_DWARF_NSTRING, ASM_OUTPUT_DWARF_STRING): Remove.
8121         (dwarf2out_frame_debug): Remove unused variables.
8122         (output_loc_operands): Don't abort on 8 byte constants if
8123         host integers are wide enough.
8124         (output_symbolic_ref): Remove.
8125         (size_of_die): Don't assume 4 byte host integers.
8126         (output_line_info): Use ASM_GENERATE_INTERNAL_LABEL for begin
8127         and end labels.
8128         (add_const_value_attribute) [CONST_INT]: Verify we're not doing
8129         something stupid with HOST_WIDE_INT to long truncation.
8130         [CONST_DOUBLE]: Likewise.
8131
8132         * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Remove.
8133         (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
8134         * config/arm/unknown-elf.h: Likewise.
8135         * config/rs6000/aix.h (UNALIGNED_SHORT_ASM_OP): New.
8136         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): New.
8137         (ASM_OUTPUT_DWARF_ADDR_VAR, ASM_OUTPUT_DWARF_DELTA_VAR): Remove.
8138         (ASM_OUTPUT_DWARF_DELTA2, ASM_OUTPUT_DWARF_DELTA4): Remove.
8139         (ASM_OUTPUT_DWARF_DELTA, ASM_OUTPUT_DWARF_ADDR_DELTA): Remove.
8140         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_DATA4): Remove.
8141         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_OFFSET4): Remove.
8142         (ASM_OUTPUT_DWARF_OFFSET): Remove.
8143         * config/rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Remove.
8144         * config/sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
8145         (UNALIGNED_LONGLONG_ASM_OP, ASM_OUTPUT_DWARF_ADDR): Remove.
8146         (ASM_OUTPUT_DWARF_ADDR_CONST, ASM_OUTPUT_DWARF_REF): Remove.
8147
8148 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8149
8150         * cselib.c (hash_rtx): Cast enums to unsigned int.
8151
8152 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8153
8154         * print-rtl.c (print_rtx): Cast enums to int for comparison.
8155         * c-decl.c (grokdeclarator): Cast enums to int for comparison and
8156         shifts.
8157         * c-format.c (C_STD_VER): Cast to int for comparisons.
8158         (check_function_format): Cast various enums to int for &.
8159         (maybe_read_dollar_number): Likewise.
8160         (check_format_info): Likewise.
8161         (check_format_info_main): Likewise.
8162         * expr.c (emit_move_insn_1): Cast enums to unsigned int for comparison.
8163         (safe_from_p): Likewise.
8164         * varasm.c (const_hash): Cast enum to int for %.
8165         * emit-rtl.c (init_emit_once): Use int loop variable to work around
8166         pcc enum problems with < and ++ operators.
8167         * regclass.c (init_reg_sets_1): Cast enums for comparison.
8168         (choose_hard_reg_mode): Use unsigned int to iterate over CCmodes.
8169         (regclass_init): Change enum class to int to iterate over reg_classes.
8170         * genrecog.c (merge_trees): Cast enums for comparison.
8171         * rtl.h (GET_CODE): Cast to enum rtx_code.
8172         (PUT_CODE): Cast to ENUM_BITFIELD(rtx_code).
8173         (GET_MODE): Cast to enum machine_mode.
8174         (PUT_MODE): Cast to ENUM_BITFIELD(machine_mode).
8175         (GET_NOTE_INSN_NAME): Cast enum to int.
8176         * tree.h (TREE_CODE): Cast to enum tree_code.
8177         (TREE_SET_CODE): Cast VALUE to ENUM_BITFIELD(tree_code).
8178         * timevar.c (timevar_print): Change loop variable id from enum to
8179         unsigned int.
8180         * fixinc/fixincl.c (VLEVEL): Cast enums in comparison to unsigned int.
8181         * config/i386/i386.md: Use PUT_MODE for mode assignment.
8182         * toplev.c (compile_file): Cast enum DFI to int.
8183         (decode_d_option): Likewise.
8184
8185 Fri Mar  2 12:18:13 2001  Christopher Faylor <cgf@cygnus.com>
8186
8187         * cppinit.c (append_include_chain): Mark "after" include file name list
8188         as a system directory.
8189         * cpp.texi: Document new behavior.
8190
8191 Fri Mar  2 11:59:43 CET 2001  Jan Hubicka  <jh@suse.cz>
8192
8193         * ifcvt.c (noce_operand_ok): Handle properly unarry operations.
8194
8195 2001-03-02  Neil Booth  <neil@daikokuya.demon.co.uk>
8196
8197         * cppfiles.c (struct include_file): Update.
8198         (stack_include_file): Use search_from.
8199         (cpp_included, find_include_file): Update.
8200         (cpp_execute_include): Update.  ptr->name may not be
8201         null terminated.  Use the new search_from member variable
8202         of cpp_buffer.
8203         (_cpp_compare_file_date): Similarly.
8204         (search_from): New function, similiar to actual_directory.
8205         (actual_directory): Delete.
8206         (remap_filename): Update.  loc->name may not be null terminated.
8207         (struct file_name_list): Rename search_path.  Update.
8208         * cpphash.h (struct cpp_buffer): Delete actual_dir.  New members
8209         search_from and dir.
8210         (struct cpp_reader): Remove actual_dirs.
8211         * cppinit.c (struct cpp_pending): Update for renamed objects.
8212         (append_include_chain, remove_dup_dir, remove_dup_dirs,
8213         merge_include_chains, cpp_destroy, cpp_start_read): Similarly.
8214         * cpplib.h (struct cpp_options): Similarly.
8215
8216 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
8217
8218         * config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
8219         config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
8220         config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
8221         config/clipper/xm-clix.h, config/convex/xm-convex.h,
8222         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
8223         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
8224         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
8225         config/i370/xm-linux.h, config/i370/xm-mvs.h,
8226         config/i370/xm-oe.h, config/i386/xm-aix.h,
8227         config/i386/xm-i386.h, config/i386/xm-osf.h,
8228         config/i860/xm-i860.h, config/i960/xm-i960.h,
8229         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
8230         config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
8231         config/mcore/xm-mcore.h, config/mips/xm-mips.h,
8232         config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
8233         config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
8234         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
8235         config/pa/xm-pahpux.h, config/pa/xm-papro.h,
8236         config/pj/xm-pj.h, config/romp/xm-romp.h,
8237         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
8238         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
8239         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
8240         config/v850/xm-v850.h, config/vax/xm-vax.h,
8241         config/vax/xm-vms.h, config/we32k/xm-we32k.h:
8242         Do not define TRUE or FALSE.
8243
8244         * config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
8245         empty by above change.
8246         * config.gcc: Remove references to these files.
8247
8248         * configure.in: Detect stdbool.h.
8249         * configure, config.in: Regenerate.
8250         * system.h: Include stddef.h here if available.
8251         Set HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.
8252         Then set up a sensible boolean type at the very end.
8253
8254         * combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
8255         config/mcore/mcore.c: Rename variables named 'true' and/or 'false'.
8256
8257         * hash.h: Delete 'boolean' typedef and related #undefs.
8258
8259         * function.c, ggc-common.c, hash.h, hash.c, tlink.c: Replace
8260         all uses of 'boolean' with 'bool'.
8261
8262 2001-03-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8263
8264         * cpplib.c (_cpp_init_stacks): Cast enum for comparison.
8265         * cppexp.c (lex): Cast enums for comparison.
8266         * cppinit.c (parse_option): Cast enum for comparison.
8267         * cpplex.c (cpp_spell_token): Cast enums to int for minus.
8268         (cpp_output_token): Likewise.
8269         (cpp_can_paste): Cast enums for comparsion and plus/minus.
8270         (cpp_avoid_paste): Cast enums for minus and comparison.
8271
8272 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
8273
8274         * gcc.c, objc/lang-specs.h: Add zero initializer for cpp_spec
8275         field to all array elements.
8276
8277 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
8278
8279         * cpphash.h (struct cpp_reader): Add print_version field.
8280         * cppinit.c (cpp_handle_option): For -v, -version, and --version,
8281         just set print_version and other flags as appropriate.
8282         (cpp_post_options): Print version here if print_version is set.
8283
8284         * toplev.c (exit_after_options): New flag.
8285         (independent_decode_option): Don't exit here; just set
8286         exit_after_options.
8287         (main): Exit after calling lang_hooks.post_options if
8288         exit_after_options is true.
8289
8290         * cppinit.c (append_include_chain): Drop never-used case QUOTE.
8291         (merge_include_chains): Adjust comment to match code.
8292
8293 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
8294
8295         * stringpool.c (set_identifier): New function.
8296         * tree.h: Prototype it.
8297
8298         * c-parse.in: Kill D_YES. If compiled for objc, call
8299         save_and_forget_protocol_qualifiers from init_reswords.
8300         * objc/objc-act.c (remember_protocol_qualifiers,
8301         forget_protocol_qualifiers): Don't diddle C_IS_RESERVED_WORD.
8302         Swap out the non-keyword IDENTIFIER_NODEs for keyword ones, or
8303         vice versa.
8304         (save_and_forget_protocol_qualifiers): New function.
8305         * c-lex.h: Prototype save_and_forget_protocol_qualifiers.
8306
8307 2001-03-01  Diego Novillo  <dnovillo@redhat.com>
8308
8309         * c-semantics.c (prune_unused_decls): Return error_mark_node
8310         instead of (tree) 1 to stop traversing the tree chain.
8311
8312 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
8313
8314         Fix a problem introduced by Kenner's Feb 18 change.
8315         * toplev.c (rest_of_compilation): Disable flag_cse_follow_jumps and
8316         flag_cse_skip_blocks only temporarily, not for ever.
8317
8318 Thu Mar  1 09:49:58 2001  Jeffrey A Law  (law@cygnus.com)
8319
8320         * config/pa/som.h  (ASM_IDENTIFY_GCC): Define.
8321         (ASM_IDENTIFY_GCC_AFTER_SOURCE): Likewise.
8322
8323         * pa.c (emit_move_sequence): Verify operand0 is a hard register
8324         before determining its register class.
8325
8326 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
8327
8328         * config/ia64/ia64.c (ia64_hard_regno_rename_ok): Disallow renaming
8329         from reg 4 if current_function_calls_setjmp.
8330         (gen_nop_type): New function.
8331         (ia64_emit_nops): New function.
8332         (ia64_reorg): Call it.
8333         (ia64_sched_reorder): Move code that rotates bundles up a bit.
8334
8335         * reload1.c (eliminate_regs_in_insn): Restrict the special case
8336         code not to try to optimize adds with anything but a REG destination.
8337
8338         * sched-int.h (struct haifa_insn_data): Add new member priority_known.
8339         (INSN_PRIORITY_KNOWN): New accessor macro.
8340         * haifa-sched.c (priority): Use it instead of testing priority against
8341         zero.
8342
8343 2001-02-28  DJ Delorie  <dj@redhat.com>
8344
8345         * config/m68k/m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes,
8346         since that doesn't work the way gcc wants on a generic m68k.
8347
8348 2001-02-28  Richard Henderson  <rth@redhat.com>
8349
8350         * caller-save.c (save_call_clobbered_regs): Fix typo in
8351         comparison last change.
8352
8353 Wed Feb 28 19:31:42 CET 2001  Jan Hubicka  <jh@suse.cz>
8354
8355         * i386.c (pentium4_cost): New.
8356         (m_PENT4): New macro.
8357         (x86_push_memory, x86_movx,x86_cmove, x86_deep_branch, x86_use_sahf
8358         x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8
8359         x86_integer_DFmode_moves, x86_partial_reg_dependency,
8360         x86_memory_mismatch_stall): Add Pentium4
8361         (x86_use_q_reg, x86_use_any_reg): Kill.
8362         (override_options): Add pentium4.
8363         (incdec_operand): Return 0 for pentium4.
8364         (ix86_issue_rate): Add PROCESSOR_PENTIUM4 and PROCESSOR_ATHLON.
8365         * i386.h (x86_use_q_reg, x86_use_any_reg): Kill.
8366         (TARGET_PENTIUM4): Define.
8367         (enum processor_type): Add PROCESSOR_PENTIUM4.
8368         (CPP_CPU_DEFAULT_SPEC): Add pentium4 support.
8369         * i386.md (attribute "cpu"): Add pentium4.
8370         * invoke.texi (march): Add pentium4.
8371
8372 Wed Feb 28 19:28:06 CET 2001  Jan Hubicka  <jh@suse.cz>
8373
8374         * i386.md (sse_mov?fcc*): New patterns and splitters.
8375         * i386.c (ix86_expand_movcc): Work post-reload; recognize
8376         the SSE based conditional moves.
8377
8378 Wed Feb 28 19:18:23 CET 2001  Jan Hubicka  <jh@suse.cz>
8379
8380         * i386.md (attribute mode): Add "TI".
8381         (movsf_1): Add pxor support; remove constant propagation splitter.
8382         (movdf_integer): Likewise.
8383         (movdf_nointeger): Likewise.
8384         (movxf constant prop splitter): Handle all modes; update for SSE.
8385         * i386.h (CONST_DOUBLE_OK_FOR_LETTER): Add 'H' for SSE constants.
8386         * i386.c (standard_80387_constant_p): Rewrite.
8387         (standard_sse_constant_p): New.
8388         * i386-protos.h (standard_sse_constant_p): New.
8389
8390 Wed Feb 28 19:05:37 CET 2001  Jan Hubicka  <jh@suse.cz>
8391
8392         * i386.md (sse_setccsf, sse_setccdf): New.
8393         (sse_cmp* patterns): Use '%D' instead of outputtting condition
8394         flag directly.
8395         * i386.c (sse_comparison_operator): Accept the supported unordered
8396         comparses; be ready for fast_math.
8397         (print_operand): Support 'D'.
8398
8399 Wed Feb 28 18:54:51 CET 2001  Jan Hubicka  <jh@suse.cz>
8400
8401         * jump.c (reversed_comparison_code): Kill.
8402
8403 Wed Feb 28 18:50:15 CET 2001  Jan Hubicka  <jh@suse.cz>
8404
8405         * toplev.c (rest_of_compilation): Do post-reload splitting unconditionally
8406         for STACK_REGS
8407
8408 Wed Feb 28 18:47:37 CET 2001  Jan Hubicka  <jh@suse.cz>
8409
8410         * i386.md (sse_andti3, sse_nandti_3, sse_xorti3): Add SSE2 versions;
8411         add missing '%' in constraints.
8412
8413 Wed Feb 28 17:24:24 CET 2001  Jan Hubicka  <jh@suse.cz>
8414
8415         * c-common.c (build_common_tree_nodes): Build intTI_type_nodes
8416         for HOST_BITS_PER_WIDE_INT == 32 too.
8417
8418 Wed Feb 28 17:22:35 CET 2001  Jan Hubicka  <jh@suse.cz>
8419
8420         * caller-save.c (reg_save_code, reg_restore_code):  Index by mode, not
8421         NREGS.
8422         (insert_save, insert_restore): New parameter save_mode.
8423         (init_caller_save): Update initialization of reg_save_code
8424         and reg_restore_code.
8425         (save_call_clobbered_regs):  Compute save_modes and update calls to
8426         reg_save_code and reg_restore_code.
8427         (insert_restore):  Unsignetize numbers; use save_modes to choose mode
8428         of spill; update use of reg_restore_code.
8429         (insert_save):  Likewise.
8430         * i386.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
8431         * c4x.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
8432         * regs.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
8433
8434 Wed Feb 28 17:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
8435
8436         * ifcvt.c (noce_emit_store_flag, noce_try_store_flag_constants,
8437         noce_try_store_flag_inc, noce_try_store_flag_mask,
8438         noce_try_cmove_arith):
8439         Use reversed_comparison_code instead of reverse_comparison and
8440         can_reverse_comparison_p.
8441
8442 Wed Feb 28 17:17:29 CET 2001  Jan Hubicka  <jh@suse.cz>
8443
8444         * jump.c (reversed_comparison_code_parts): Allow reversal of
8445         unordered compares in -ffast-math mode; reverse ordered compares
8446         for FP even w/o -ffast-math.
8447
8448 2001-02-27  Richard Henderson  <rth@redhat.com>
8449
8450         * print-rtl.c (print_rtx) [i]: Don't print field five on
8451         NOTEs other than NOTE_INSN_DELETED_LABEL.
8452
8453 2001-02-27  Zack Weinberg  <zackw@stanford.edu>
8454
8455         * mips/xm-iris4.h: Delete #if 0 block (there since before 1997).
8456         * pa/xm-linux.h, pa/xm-pa.h, pa/xm-papro.h: Don't declare errno.
8457
8458 2001-02-27  Diego Novillo  <dnovillo@redhat.com>
8459
8460         * c-common.c (walk_stmt_tree): Visit the chain of the current tree
8461         even if walk_subtrees is 0.
8462         * c-semantics.c (prune_unused_decls): Return a non-null value to
8463         stop traversing the tree chain.
8464
8465 2001-02-27  DJ Delorie  <dj@redhat.com>
8466
8467         * config/m68k/m68k.c (output_function_prologue): Save the new CFA
8468         register, *then* define it as the new CFA.
8469
8470 Tue Feb 27 16:49:13 2001  Jeffrey A Law  (law@cygnus.com)
8471
8472         * pa.c (override_options): Promote -fpic to -fPIC.
8473         (legitimize_pic_address): Simplify due to removal of
8474         small PIC as a code generation option.
8475         (secondary_reload_class): Similarly.
8476         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Similarly.
8477         (PRINT_OPERAND_ADDRESS): Similarly.
8478         * pa.md (various patterns): Similarly.
8479         (small pic lo_sum pattern): Remove.
8480
8481 Tue Feb 27 16:01:13 CET 2001  Jan Hubicka  <jh@suse.cz>
8482                               Fergus Henderson
8483
8484         * md.texi (min, max): Document
8485
8486 Tue Feb 27 15:51:35 CET 2001  Jan Hubicka  <jh@suse.cz>
8487
8488         * i386.md (movsf, movdf): Use movaps for reg-reg moves if
8489         TARGET_PARTIAL_REG_DEPENDENCY.
8490         (truncdfsf2_1_sse, truncdfsf2_2): Penalize the fpreg->mem case.
8491
8492 Tue Feb 27 15:36:48 CET 2001  Jan Hubicka  <jh@suse.cz>
8493
8494         * i386.md (mins*, maxs*): New patterns, expanders and splitters.
8495
8496 2001-02-26  Jeffrey Oldham  <oldham@codesourcery.com>
8497
8498         * mips.c (mips_make_temp_file): Fix thinko in last change.
8499
8500 2001-02-26  Jason Eckhardt  <jle@redhat.com>
8501
8502         * combine.c (known_cond): Do not reverse the condition when
8503         SMAX/UMAX is being considered and the condition is for equality
8504         or inequality.
8505
8506         * testsuite/gcc.c-torture/execute/20010221-1.c: New test.
8507
8508 2001-02-26  Philip Blundell  <philb@gnu.org>
8509
8510         * config.gcc: Remove obsolete targets "arm*-*-linuxoldld" and
8511         "armv2-*-linux".
8512         * config/arm/linux-elf.h: Remove historical relics related to
8513         above configurations.
8514         * config/arm/linux-oldld.h: Delete.
8515         * config/arm/linux-elf26.h: Delete.
8516
8517 2001-02-26  Jason Merrill  <jason@redhat.com>
8518
8519         * c-decl.c (finish_decl): Set DECL_DEFER_OUTPUT on tentative file-scope
8520         definitions.
8521         * toplev.c (rest_of_decl_compilation): Check DECL_DEFER_OUTPUT to
8522         recognize a tentative definition.  Lose obsolete code.
8523
8524         * toplev.c (wrapup_global_declarations): Don't emit DECL_COMDAT
8525         variables unless necessary, either.
8526
8527 2001-02-25  Richard Henderson  <rth@redhat.com>
8528
8529         * ifcvt.c (struct noce_if_info): Add test_bb.
8530         (noce_get_alt_condition): New.
8531         (noce_try_minmax, noce_try_abs): New.
8532         (noce_operand_ok): New.
8533         (noce_process_if_block): Use them.
8534         * rtlanal.c (may_trap_p): NEG and ABS can never trap.
8535
8536 Sun Feb 25 14:26:17 2001  Christopher Faylor <cgf@cygnus.com>
8537
8538         * config/i386/cygwin.h (CPP_SPEC): Add missing space before w32api
8539         include.
8540
8541 2001-02-25  Zack Weinberg  <zackw@stanford.edu>
8542
8543         * config.gcc: Put back pa/t-openbsd and rs6000/t-openbsd.
8544         * config/mips/mips.c (mips_make_temp_file): Set temp_filename
8545         properly.
8546         (mips_asm_file_end): Free temp_filename here.
8547
8548 Sun Feb 25 08:34:23 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8549
8550         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): Move decl.
8551         * config/i386/i386.c (ix86_set_move_mem_attrs_1): Fix typo.
8552
8553         * config/i386/i386.md (movstrsi): Handle FAIL case.
8554
8555 2001-02-25  Neil Booth  <neil@daikokuya.demon.co.uk>
8556
8557         * cppinit.c (builtin_array): Update.
8558         (init_builtins): Flag builtins to warn if redefined or
8559         undefined.  Define __GXX_WEAK as a normal macro.
8560         * cpplib.c (do_undef): Warn if flagged NODE_WARN.
8561         * cpplib.h (NODE_WARN): New flag.
8562         * cppmacro.c (builtin_macro): Remove handling of __GXX_WEAK__.
8563         Handle __STDC__ as a builtin only on Solaris.
8564         (warn_of_redefinition): Renamed from check_macro_definition.
8565         Reverse sense of test.  Always warn if NODE_WARN.
8566         (_cpp_create_definition): Use warn_of_redefinition.  Flag
8567         any macro beginning with "__STDC_" to require a mandatory
8568         warning if redefined or undefined.
8569
8570 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
8571
8572         * xm-interix.h, xm-lynx.h, alpha/xm-vms.h, convex/xm-convex.h,
8573         i370/xm-i370.h, i370/xm-linux.h, i370/xm-mvs.h, i370/xm-oe.h,
8574         i386/xm-beos.h, i386/xm-dos.h, i386/xm-mingw32.h,
8575         i860/xm-i860.h, m68k/xm-3b1.h, m68k/xm-amix.h, m68k/xm-aux.h,
8576         m68k/xm-crds.h, m68k/xm-mot3300.h, m88k/xm-sysv3.h,
8577         mips/xm-mips.h, rs6000/xm-beos.h, vax/xm-vms.h:
8578         Don't define any of:
8579         USE_PROTOTYPES, vfork, mktemp, SVR3, NO_SYS_PARAMS_H,
8580         P_tmpdir, MVS, NO_DBX_FORMAT, USE_STDARGS, STDC_HEADERS,
8581         NO_PRECOMPILES, i860, __PTR_TO_INT, __INT_TO_PTR, rindex,
8582         index, FULL_PROTOTYPES, AUX, R_OK, W_OK, X_OK, F_OK,
8583         STACK_DIRECTION, MIPS, MAX_READ_LEN, MAX_WRITE_LEN.
8584
8585         * alpha/xm-alpha.h, clipper/xm-clix.h, d30v/xm-d30v.h,
8586         fr30/xm-fr30.h, i370/xm-linux.h: Remove commented-out macro
8587         definitions.
8588
8589         * m68k/xm-3b1.h, m68k/xm-crds.h, m88k/xm-sysv3.h:
8590         Delete now-empty file.
8591
8592         * alpha/vms.h: Define NEED_ATEXIT here...
8593         * alpha/xm-vms.h: ...not here.
8594
8595         * i386/cygwin.h: Don't define PARAMS.
8596         * mips/mips.c: Don't prototype mktemp.  Don't define
8597         P_tmpdir.  Use make_temp_file to create temporary files.
8598         Don't be clever and delete temporary files early.
8599         * config.gcc: Drop references to deleted files.  Don't define
8600         FULL_PROTOTYPES.
8601         * gcc.texi: Don't mention USE_PROTOTYPES.
8602
8603 Sat Feb 24 20:25:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8604
8605         * config/i386/i386.c (ix86_set_move_mem_attrs): New function.
8606         (ix86_set_move_mem_attrs_1): Likewise.
8607         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): New declaration.
8608         * config/i386/i386.md (movstrsi): Call it.
8609
8610 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
8611
8612         * config.gcc: Expunge references to alpha/t-pe, pa/t-openbsd,
8613         x-linux-aout, i386/t-go32, t-osf, m68k/x-m68kv,
8614         ns32k/xm-netbsd.h, rs6000/t-openbsd, rs6000/t-xnewas,
8615         rs6000/x-aix41-gld.  These are nonexistent, empty, or obsolete.
8616
8617         (i750a-*-*): Error here if hosting on i750a.
8618         (alpha*-*-winnt*, ix86-*-winnt3*): Remove stanzas entirely.
8619
8620         * x-linux-aout, xm-freebsd.h, i386/beos-pe.h, ns32k/xm-netbsd.h:
8621         Remove (empty modulo comments).
8622
8623         * 1750a/xm-1750a.h, alpha/config-nt.sed, alpha/win-nt.h,
8624         alpha/xm-winnt.h, i386/config-nt.sed, i386/os2.h,
8625         i386/t-winnt, i386/win-nt.h, i386/xm-freebsd.h, i386/xm-os2.h,
8626         i386/xm-winnt.h, m68k/x-alloca-c, m88k/x-dguxbcs,
8627         mips/x-netbsd, mips/x-nws3250v4, rs6000/t-xnewas,
8628         rs6000/t-xrs6000, rs6000/xm-cygwin.h: Remove (obsolete)
8629
8630         * i386/crtdll.h, i386/cygwin.h, i386/mingw32.h:
8631         Remove reference to winnt.h in comment.
8632         * rs6000/t-newas, rs6000/t-rs6000: Override LIBGCC1_TEST to null.
8633
8634 2001-02-24  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8635
8636         * loop.c (check_dbra_loop): A biv has uses besides counting if it is
8637         used to set another biv.
8638
8639 Sat Feb 24 06:45:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8640
8641         * tree.h (BLOCK_DEAD): New macro.
8642         (struct tree_block): New flag, dead_flag.
8643         * print-tree.c (print_node, case 'b'): Print missing fields.
8644         * emit-rtl.c (remove_unnecessary_notes): Set BLOCK_DEAD.
8645         * function.c (identify_blocks): Enable test for misplaced notes.
8646         (all_blocks): Skip BLOCK_DEAD blocks.
8647         * integrate.c (integrate_decl_tree): Likewise.
8648
8649         * errors.c (internal_error, trim_filename): New functions.
8650         (fancy_abort): Call internal_error.
8651         * errors.h (internal_error, trim_filename): New declarations.
8652
8653 2001-02-24  Alexandre Oliva  <aoliva@redhat.com>
8654
8655         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Reverted
8656         2000-08-26's patch.
8657         (EXTRA_CONSTRAINT): Formatting changes.
8658
8659 2001-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8660
8661         * rtl.c (rtl_check_failed_code2): Fix typo in last change.
8662
8663 2001-02-23  Per Bothner  <per@bothner.com>
8664
8665         * gcc.c (record_temp_file, pfatal_with_name, error):  Make non-static,
8666         so they can be called from java/jvspec.c.
8667         * gcc.h (record_temp_file, pfatal_with_name, error):  Declare.
8668
8669 Sat Feb 24 03:32:50 CET 2001  Jan Hubicka  <jh@suse.cz>
8670
8671         * i386.c (ix86_frame): New structure.
8672         (ix86_compute_frame_size): Kill.
8673         (ix86_compute_frame_layout): New.
8674         (ix86_save_reg): New.
8675         (ix86_can_use_return_insn_p): Use frame layout stuff.
8676         (ix86_expand_prologue): Likewise.
8677         (ix86_expand_epilogue): Likewise.
8678         (ix86_initial_elimination_offset): Likewise.
8679         (ix86_nsaved_regs): Use ix86_save_reg.
8680         (ix86_emit_save_regs): Likewise.
8681
8682 Sat Feb 24 03:30:38 CET 2001  Jan Hubicka  <jh@suse.cz>
8683
8684         * flow.c (find_sub_basic_blocks): New function.
8685         (split_block): Be ready for basic block introduced by CODE_LABEL.
8686         (commit_one_edge_insertion): Call find_sub_basic_block.
8687
8688         * flow.c (make_edges): Add edge from entry for blocks starting with
8689         label having ALTERNATE_NAME
8690
8691 Sat Feb 24 03:19:42 CET 2001  Jan Hubicka  <jh@suse.cz>
8692
8693         * function.c (epilogue_done): Be ready for first basic block not
8694         containing PROLOGUE_END note.
8695         (reposition_prologue_and_epilogue_notes): Avoid placing
8696         PROLOGUE_END note between BASIC_BLOCK.
8697
8698 Sat Feb 24 03:17:09 CET 2001  Jan Hubicka  <jh@suse.cz>
8699
8700         * loop.c (canonicalize_condition): Move to reversed_comparison_code.
8701
8702 2001-02-21  DJ Delorie  <dj@redhat.com>
8703
8704         * config/i960/i960.h (FRAME_POINTER_REQUIRED): Revert removal of
8705         check for current_function_has_nonlocal_goto from 1999-11-12.
8706
8707 Fri Feb 23 15:28:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8708
8709         * diagnostic.c (trim_filename): No longer static.
8710         * toplev.h (trim_filename): Declare.
8711         * rtl.c (rtl_check_failed_bounds): Call internal_error.
8712         (rtl_check_failed_type1, rtl_check_failed_type2): Likewise.
8713         (rtl_check_failed_code1, rtl_check_failed_code2): Likewise.
8714         (rtvec_check_failed_bounds): Likewise.
8715         * tree.c (tree_check_failed, tree_class_check_failed): Likewise.
8716
8717         * convert.c (convert_to_integer): Don't do unsigned unless result or
8718         both inputs are unsigned.
8719
8720         * fold-const.c (fold_convert): Don't call size_int_type_wide if
8721         input overflows.
8722
8723         * c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
8724
8725         * varasm.c (output_constant): Recompute CODE after lang-specific fn.
8726
8727 2001-02-23  Jeffrey Oldham  <oldham@codesourcery.com>
8728
8729         * Makefile.in (resource.o): Add params.h dependence.
8730         * params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter.
8731         * params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise.
8732         * resource.c: Add dependence on params.h.
8733         (current_live_regs): Fix explanatory comment.
8734         (find_basic_block): Add new parameter to permit limiting search
8735         for a BARRIER.
8736         (mark_target_live_regs): Add new argument to find_basic_block call.
8737         (incr_ticks_for_insn): Likewise.
8738
8739 2001-02-23  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
8740
8741         * diagnostic.c (output_to_stream): Rename to
8742         output_buffer_to_stream. Loses the stream parameter.
8743         (init_output_buffer): Set diagnosic_buffer's stream.
8744         (flush_diagnostic_buffer): Adjust.
8745         (default_print_error_function): Likewise.
8746         (finish_diagnostic): Likewise.
8747         (verbatim): Likewise.
8748
8749         * diagnostic.h (struct output_buffer): Add `stream' field.
8750         (output_buffer_attached_stream): New macro.
8751
8752 2001-02-23  Jakub Jelinek  <jakub@redhat.com>
8753
8754         * fold-const.c (extract_muldiv) [case PLUS_EXPR]: If not MULT_EXPR,
8755         check if either operand is divisible by C.
8756         (multiple_of_p): Handle LSHIFT_EXPR with small constant shift.
8757         If type is signed, consider negative numbers as well.
8758
8759 2001-02-22  Richard Henderson  <rth@redhat.com>
8760
8761         * config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to
8762         reach .text instead of gp-relative relocs.
8763         * config/ia64/crtend.asm (.init): Likewise.
8764
8765 2001-02-22  Andreas Jaeger  <aj@suse.de>
8766
8767         * extend.texi (C++ Attributes): Fix typo.
8768
8769 2001-02-21  David Mosberger  <davidm@hpl.hp.com>
8770
8771         * config/ia64/ia64.c (ia64_epilogue_uses): For syscall_linkage
8772         functions, drop current_function_args_info.words test.
8773         (ia64_compute_frame_size): Mark syscall_linkage functions as
8774         using eight input registers.
8775
8776 2001-02-21  Loren J. Rittle  <ljrittle@acm.org>
8777         Bruce Korb  <bkorb@gnu.org>
8778
8779         * fixinc/inclhack.def (freebsd_gcc3_breakage): new fix
8780         * fixinc/README: Document how to convert sed substitutions
8781         to format style c_fix-es.
8782         * fixinc/fixincl.x: regen
8783
8784 2001-02-21  Jeffrey D. Oldham  <oldham@codesourcery.com>
8785
8786         * gcc.c: Add comment explaining how to add a command-line option.
8787         Add title to specs language comment.
8788
8789 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
8790
8791         * gcc.c (cc1_options): Add "-param".
8792         (DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
8793         (option_map): Likewise.
8794         * toplev.c (display_help): Add entry for "--param".
8795         (independent_decode_option): Fix typographical error.
8796
8797 Wed Feb 21 18:57:28 CET 2001  Catherine Moore  <clm@redhat.com>
8798                               Bernd Schmidt  <bernds@redhat.com>
8799                               Jan Hubicka  <jh@suse.cz>
8800
8801         * i386.c (function_arg_advance):  Pass SSE arguments in registers.
8802         (function_arg): Likewise.
8803
8804 Wed Feb 21 18:12:41 CET 2001  Jan Hubicka  <jh@suse.cz>
8805
8806         * i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.
8807
8808 2001-02-21  Kazu Hirata  <kazu@hxi.com>
8809
8810         * config/h8300/h8300.md (iorsi3): Do not output an extra newline
8811         character.
8812         (xorsi3): Likewise.
8813
8814 Wed Feb 21 17:35:24 CET 2001  Jan Hubicka  <jh@suse.cz>
8815
8816         * flow.c (init_propagate_block_info): Canon address and use single_set
8817         for killing dead memory stores.
8818
8819 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
8820
8821         * Makefile.in (reorg.o): Add params.h dependence.
8822         * params.def: Fix typographical error in comment.
8823         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
8824         * params.h: Modify introductory comment.
8825         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
8826         * reorg.c: Add dependence on params.h.
8827         (redundant_insn): Add parameterized throttle for search.
8828         (fill_simple_delay_slots): Add a comment explaining a variable.
8829         Move conditional out of loop, simplifying code.
8830         (fill_eager_delay_slots): Fix typographical error in comment.
8831
8832 2001-02-20  Aldy Hernandez  <aldyh@redhat.com>
8833
8834         * tm.texi (REVERSE_CONDEXEC_PREDICATES_P): New macro documentation.
8835
8836         * flow.c (ior_reg_cond): Use REVERSE_CONDEXEC_PREDICATES_P macro.
8837         (REVERSE_CONDEXEC_PREDICATES_P): Define macro.
8838
8839 2001-02-21  Jason Merrill  <jason@redhat.com>
8840
8841         * tree.h (DECL_UNINLINABLE): Move from C++ frontend.
8842         (struct tree_decl): Add uninlinable bitfield.
8843         * c-decl.c (duplicate_decls): Set it.
8844         * integrate.c (function_cannot_inline_p): Check it.
8845
8846         * dwarf2out.c (add_name_and_src_coords_attributes): Don't add
8847         DW_AT_MIPS_linkage_name to abstract methods.
8848         (dwarf2out_abstract_function): Emit class context before calling
8849         set_decl_abstract_flags.  Don't clear DECL_ABSTRACT.
8850         (gen_subprogram_die): Remove obsolete code.
8851         (gen_member_die): Don't include clones in the member list.
8852         (gen_decl_die): Emit abstract info for clone origin.
8853         * dwarfout.c (output_type): Don't include clones in the member list.
8854         * dbxout.c (dbxout_type_methods): Ignore abstract methods.
8855         * toplev.c (note_deferral_of_defined_inline_function): Don't clear
8856         DECL_ABSTRACT on a function that already has it set.
8857
8858         * dwarf2out.c (gen_formal_types_die): Also accept a FUNCTION_DECL.
8859         (get_subprogram_die): Pass it in.
8860
8861 2001-02-21  Richard Earnshaw  <rearnsha@arm.com>
8862
8863         * flow.c (mark_set_1): Make not_dead unsigned long.  For
8864         non-pseudos, use it as a bitmask of the hard regs that
8865         don't die.
8866
8867 2001-02-21  Neil Booth  <neil@daikokuya.demon.co.uk>
8868
8869         * cppfiles.c: Update comments.
8870         (_cpp_read_file): Don't check for NULL filenames any more.
8871         * cppinit.c (cpp_start_read): Don't do canonicalization of
8872         in_fname and out_fname.  Use the passed file name exclusively.
8873         (_cpp_handle_options): Don't treat "-" as a command line option,
8874         but as a normal filename.
8875         (_cpp_post_options): Canonicalize in_fname and out_fname.
8876         * cppmain.c (printer_init): Don't check out_fname for NULL.
8877         * c-lex.c (orig_filename): Rename cpp_filename for clarity.
8878         (init_c_lex): Update, and use "" to represent stdin to CPP.
8879         (yyparse): Update.
8880
8881 2001-02-20  Will Cohen  <wcohen@redhat.com>
8882
8883         * config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
8884         * config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
8885         (INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
8886         fixunstfsi_libfunc.
8887
8888 2001-02-20  Stan Shebs  <shebs@apple.com>
8889
8890         * config/rs6000/rs6000.c (output_cbranch): Output branches
8891         on separate lines instead of using ';' to separate.
8892
8893 2001-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
8894
8895         * cppinit.c (set_lang):  Move builtin handling to...
8896         (init_builtins): ...here.
8897         (_cpp_create_reader): Move call to set_lang.
8898
8899 2001-02-20  Mark Mitchell  <mark@codesourcery.com>
8900
8901         * stmt.c (expand_return): If an attempt is made to return the
8902         error_mar_node, treat the return like a return without a value.
8903
8904 2001-02-19  Zack Weinberg  <zackw@stanford.edu>
8905
8906         * sibcall.c (skip_copy_to_return_value): Call
8907         identify_call_return_value here, and return orig_insn if it
8908         returns zero.  Hardret and softret arguments now unnecessary.
8909         (call_ends_block_p): Don't call identify_call_return_value here.
8910
8911         * ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or
8912         's' slots in RTXen.
8913         * ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete function.
8914         * ggc.h (ggc_mark_if_gcable): Delete prototype.
8915
8916 Mon Feb 19 20:30:16 2001  Jeffrey A Law  (law@cygnus.com)
8917
8918         * pa.c (move_operand): Accept code to load the address of a
8919         symbol out of the DLT as a valid move operand.
8920         (print_operand, case 'A'): New to handle generating a DLT
8921         reference for a LO_SUM expression.
8922         * pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references.
8923         * pa.md (movsi, movdi patterns): Allow DLT LO_SUM references.
8924
8925 2001-02-19  Joseph S. Myers  <jsm28@cam.ac.uk>
8926
8927         * README, cpp.texi, gcc.texi, version.c: Update version number to
8928         3.1.
8929         * cpp.1, gcov.1, gcc.1: Regenerate.
8930
8931 2001-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
8932
8933         * cppfiles.c (stack_include_file): Generate dependencies
8934         here, and manage include_count here too.
8935         (PRINT_THIS_DEP): Delete.
8936         (_cpp_execute_include): Do not generate dependencies here,
8937         apart from the case of a missing header.  Do not manage
8938         include_count.
8939         (_cpp_read_file): Leave dependency generation to
8940         stack_include_file.
8941
8942 Mon Feb 19 10:17:47 2001  Jeffrey A Law  (law@cygnus.com)
8943
8944         * config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to
8945         target_cpu_default.  Remove dead assignment to
8946         target_cpu_default.
8947
8948 Mon Feb 19 16:47:39 CET 2001  Jan Hubicka  <jh@suse.cz>
8949
8950         * regclass.c (contains_reg_of_mode): Make global.
8951         (init_reg_sets): Remove contains_reg_of_mode; take into account
8952         CLASS_MAX_NREGS when looking for the proper mode.
8953         (dump_regclass): Dump only classes considered for the pseudo.
8954         (regclass): Use contains_reg_of_mode.
8955
8956 Mon Feb 19 16:45:42 CET 2001  Jan Hubicka  <jh@suse.cz>
8957
8958         * gcc.c (do_spec_1): 'n' for printing notices.
8959         * i386.h (CC1_CPU_SPEC): Notice deprecated options as deprecated.
8960
8961 Mon Feb 19 15:51:30 CET 2001  Jan Hubicka  <jh@suse.cz>
8962
8963         * reg-stack.c (next_flags_user): Use current_block->end
8964         (swap_rtx_condition): Look for next user if flags don't die;
8965         give up on CALL_INSNs; use current_block->end.
8966
8967 Mon Feb 19 08:27:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8968
8969         * sibcall.c (call_ends_block_p): New function.
8970         (optimize_sibling_and_tail_recursive_call): Use it.
8971
8972 2001-02-18  Kazu Hirata  <kazu@hxi.com>
8973
8974         * config/h8300/h8300.md: Update copyright.
8975         (andsi3): Do not output an extra newline character.
8976
8977 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8978
8979         * toplev.c (note_deferral_of_defined_inlined_function): Argument
8980         FNDECL may be unused.
8981
8982         * toplev.c (rest_of_compilation): Don't have CSE skip blocks or
8983         follow jumps after first run.
8984         If -fexpensive-optimizations rerun CSE after GCSE and iterate until
8985         it doesn't change any jumps.
8986
8987 Sun Feb 18 17:05:50 2001  Jeffrey A Law  (law@cygnus.com)
8988
8989         * Makefile.in (rtlanal.o): Depend on hard-reg-set.h.
8990         ($HOST_PREFIX_1)rtlanal.o: Remove rules for building
8991         (mostlyclean): Corresponding changes.
8992         * rtlanal.c (hard-reg-set.h): Include.
8993         (rtx_unstable_p): Do not treat the argument pointer specially
8994         if it is not a fixed register.
8995         (rtx_varies_p, rtx_addr_can_trap_p): Similarly.
8996
8997 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8998
8999         * sibcall.c (optimize_sibling_and_tail_recursive_call): Compare
9000         against last real insn in basic block.
9001         Rework to avoid gotos.
9002
9003         * Makefile.in (gcse.o): Now includes ggc.h.
9004         * gcse.c: Include ggc.h.
9005         (want_to_gcse_p): Verify expression can be in SET as valid insn.
9006         (try_replace_reg): Remove warning of uninitialize variable.
9007         (process_insert_insn): Call invalid_insn_p to validate insn.
9008         * recog.c (insn_invalid_p): Now global.
9009         See if can make valid by adding CLOBBERs of SCRATCH only and do if so.
9010         * recog.h (insn_invalid_p): New declaration.
9011
9012         * jump.c (jump_optimize_1): Only define reversed_code #ifdef HAVE_trap.
9013
9014         * config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put
9015         assignments from FP constants since 'Y' output code can't handle it.
9016         (eligible_for_sibcall_delay): Likewise.
9017
9018         * flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.
9019         Call fancy_abort directly, passing args.
9020         (print_rtl_and_abort): Now a macro, like fancy_abort.
9021
9022         * final.c (output_operand_lossage): Use internal_error, not error.
9023
9024 2001-02-18  Shane Nay  <shane@agendacomputing.com>
9025
9026         * mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to
9027         structure shift insns.
9028
9029 2001-02-18  Mark Mitchell  <mark@codesourcery.com>
9030
9031         * invoke.texi (-fsquangle): Remove documentation.
9032         (-fname-mangling-version): Likewise.
9033
9034 2001-02-18  Lars Brinkhoff  <lars@nocrew.org>
9035
9036         * optabs.c (expand_abs): Remove reference to
9037         HAVE_contitional_arithmetic.
9038         * combine.c (simplify_set): Likewise.
9039
9040 2001-02-18  Richard Henderson  <rth@redhat.com>
9041
9042         * ifcvt.c (dead_or_predicable): Don't move code if eh regions
9043         would be disrupted.
9044
9045 2001-02-18  Richard Henderson  <rth@redhat.com>
9046
9047         * config/ns32k/ns32k.h (ADJSP): Upcase arguments.
9048
9049         * config/alpha/alpha.md (movsi_fix): Fix typo in pattern name.
9050
9051         * reload1.c (reload_cse_simplify_set): Fix typo.
9052
9053 Sun Feb 18 09:30:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9054
9055         * diagnostic.c (_fatal_insn): Decrement errorcount.
9056
9057         * invoke.texi (-I): Add note avoiding use for system header files.
9058
9059         * rtl.h (add_clobbers): Remove duplicate declaration.
9060         * recog.h (added_clobbers_hard_reg_p): New declaration.
9061         * genemit.c (struct clobber_pat): New field has_hard_reg.
9062         (gen_insn): Record if added clobbers clobber hard reg.
9063         (gen_split): Avoid unused warning if number of operands is 0.
9064         (output_added_clobbers_hard_reg_p): New function.
9065         (main): Call it.
9066
9067 2001-02-18  Alan Modra <alan@linuxcare.com.au>
9068
9069         * pa.c (hppa_expand_prologue): Simplify code storing return
9070         pointer.  For large (>=8k) frames with a post_store, adjust stack
9071         pointer by 8k-64 first rather than by 64.  When testing with
9072         VAL_14_BITS_P, always use the actual value rather than the value
9073         negated.  Add blockage to prevent scheduling of spills before
9074         stack frame has been created.
9075         (hppa_expand_epilogue): Simplify code loading return pointer.
9076         Allow a slightly larger range for merge_sp_adjust_with_load case.
9077         When testing with VAL_14_BITS_P, always use the actual value.
9078
9079         * pa.c (pa_adjust_insn_length): Check that block move
9080         pattern is a set before looking at operands.
9081
9082 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
9083
9084         * fold-const.c (fold_binary_op_with_conditional_arg): New
9085         function, split out from ...
9086         (fold): ... here.
9087         * tree.def (COND_EXPR): Document the use of VOID_TYPE for
9088         conditional arms that throw exceptions.
9089
9090         * print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not
9091         looking at a BLOCK.
9092
9093 2001-02-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9094
9095         * aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test,
9096         define HAVE_DECL_* to 1 to mask potential backup declarations.
9097         * configure: Regenerated.
9098
9099 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
9100
9101         * invoke.texi (-Woverloaded-virtual): Clarify documentation.
9102
9103 2001-02-17  Richard Henderson  <rth@redhat.com>
9104
9105         * reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP
9106         when replacing a memory load with a register.
9107
9108 Sat Feb 17 14:48:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9109                           Jan Hubicka  <jh@suse.cz>
9110
9111         * recog.c (validate_replace_src_1): New.
9112         (validate_replace_src_data): Likewise.
9113         (validate_replace_src): Use note_uses.
9114         * rtl.h (note_uses): Declare.
9115         * rtlanal.c (note_uses): New.
9116
9117 Sat Feb 17 10:52:34 CET 2001  Jan Hubicka  <jh@suse.cz>
9118
9119         * reg-stack.c (stack_def): Make field reg unsigned.
9120         (remove_regno_note): Unsignetize parameter.
9121
9122 2001-02-16  Jes Sorensen  <jes@linuxcare.com>
9123
9124         * ia64.c (errata_emit_nops): Add VOIDmode as second argument to
9125         shladd_operand() call.
9126
9127 2001-02-16  Bruce Korb  <bkorb@gnu.org>
9128             Rodney Brown  <RodneyBrown@mynd.com>
9129
9130         * fixinc/mkfixinc.sh: Use C fixincludes for UnixWare 7.
9131         * fixinc/inclhack.def: Add fixinc.svr4 patterns with matching
9132         machine restrictions
9133         * fixinc/fixincl.x: regen
9134
9135 Fri Feb 16 12:41:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9136
9137         * gcse.c (hash_scan_set): If cprop, see if REG_EQUAL or REG_EQUIV.
9138         Don't CSE a nop.
9139         (hash_scan_insn): Clean up calls to hash_scan_set.
9140         (compute_kill_rd): REGNO now unsigned.
9141         (try_replace_reg): Rework to use simplify_replace_rtx.
9142         (cprop_jump, cprop_cc0_jump): Likewise.
9143         (cprop_insn): Call find_reg_equal_equiv_note.
9144         Reflect changes to cprop_jump and cprop_cc0_jump.
9145
9146         * recog.c (validate_replace_src): Replace in operands of
9147         ZERO_EXTRACT in SET_DEST.
9148
9149         * cse.c (new_label_ref): New variable.
9150         (insert): Set it instead of recorded_label_ref.
9151         (cse_basic_block): Set recorded_label_ref if new_label_ref use, has
9152         CODE_LABEL for this function, and not already in REG_LABEL note.
9153
9154 2001-02-16  Jeffrey Oldham  <oldham@codesourcery.com>
9155
9156         * resource.c (mark_referenced_resources): Fix typo in introductory
9157         comment.
9158         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Fix typo in
9159         string constant.
9160
9161 2001-02-16  Jason Merrill  <jason@redhat.com>
9162
9163         * dwarf2out.c (add_bound_info): Don't crash if SAVE_EXPR_RTL is
9164         NULL.
9165         (gen_subprogram_die): Don't abort on seeing a second definition if
9166         the previous one was abstract.  Don't replace an abstract instance
9167         in the lookup table.
9168
9169         * dwarf2out.c (dwarf2out_abstract_function): Rename from
9170         gen_abstract_function.
9171         * dwarf2out.h: Declare it.
9172         * toplev.c (note_outlining_of_inline_function): New fn.
9173         * toplev.h: Declare it.
9174         * integrate.c (output_inline_function): Call it.
9175         * c-decl.c (duplicate_decls): Call it when redefining an extern
9176         inline.  Don't inline the new defn.
9177
9178         * tree.h (BLOCK_CHAIN): Use BLOCK_CHECK.
9179
9180 2001-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9181
9182         * .gdbinit: Rename to gdbinit.in.
9183         * gdbinit.in: New file,
9184         * configure.in: Generate .gdbinit from gdbinit.in.
9185         * configure: Regenerated.
9186         * Makefile.in (distclean): Always remove .gdbinit.
9187
9188 2001-02-16  Jakub Jelinek  <jakub@redhat.com>
9189
9190         * objc/objc-act.c (start_class): Register implemented_classes with
9191         GC.
9192
9193 2001-02-16  Neil Booth  <neil@daikokuya.demon.co.uk>
9194
9195         * cppfiles.c (_cpp_make_system_header): Generate a file
9196         change callback.
9197
9198 2001-02-15  Jim Meyering  <meyering@lucent.com>
9199
9200         * Makefile.in (install-common): Don't depend on installdirs here.
9201         Instead, make each of the lang.install-common targets (e.g.,
9202         c++.install-common in cp/Make-lang.in) depend on it.
9203         (install-driver): Depend on installdirs.
9204
9205 Thu Feb 15 21:30:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9206
9207         * flow.c (tidy_fallthru_edge): Never end block on line number NOTE.
9208
9209         * function.c (assign_parms): Set RTX_UNCHANGING_P in pseudo when we
9210         do in memory.
9211
9212 2001-02-15  Mark Mitchell  <mark@codesourcery.com>
9213
9214         * invoke.texi (--param): Document.
9215
9216 Thu Feb 15 15:16:38 2001  Alexandre Oliva  <aoliva@redhat.com>
9217
9218         * config/sh/sh.h (BOOL_TYPE_SIZE): Don't define.
9219
9220 Thu Feb 15 10:52:31 CET 2001  Jan Hubicka  <jh@suse.cz>
9221
9222         * i386.md (extendsfdf2_2): Fix constraints.
9223
9224 Thu Feb 15 09:46:21 CET 2001  Jan Hubicka  <jh@suse.cz>
9225
9226         * i386.md (fop_df_3 splitter): Fix operand number.
9227
9228 Wed Feb 14 12:37:37 CET 2001  Jan Hubicka  <jh@suse.cz>
9229
9230         * invoke.texi (-mreg-alloc): Nuke.
9231         * i386.c (ix86_reg_alloc_order, regs_allocated,
9232         order_regs_for_local_alloc): Nuke.
9233         (override_options): Kill reg_alloc code.
9234         * i386.h (TARGET_OPTIONS): Kill reg-alloc.
9235         (REG_ALLOC_ORDER): SSE goes before I387.
9236         (ORDER_REGS_FOR_LOCAL_ALLOC): Kill.
9237         (ix86_reg_alloc_order): Likewise.
9238         * i386-protos.h (ix86_reg_alloc_order): Kill.
9239
9240 2001-02-14  Richard Henderson  <rth@redhat.com>
9241
9242         * toplev.c (f_options): Clarify -fschedule-insns2 documentation.
9243
9244 Wed Feb 14 11:59:58 CET 2001  Jan Hubicka  <jh@suse.cz>
9245
9246         * i386.h (RETURN_IN_MEMORY): Fix formating; reject TFmodes
9247
9248 Wed Feb 14 11:12:38 CET 2001  Jan Hubicka  <jh@suse.cz>
9249
9250         * i386-protos.h (ix86_memory_move_cost): Move offline.
9251         * i386.c (ix86_register_move_cost): Compute properly cost of
9252         SSE, MMX and i387 instructions.
9253         (*_cost): Add costs of SSE/MMX moves.
9254         (ix86_memory_move_cost): Move offline from ....; Likewise.
9255         * i386.h (MEMORY_MOVE_COST): .... here;
9256         (struct processor costs): Add new fields to represent costs
9257         of SSE/MMX moves.
9258
9259 Wed Feb 14 10:08:26 CET 2001  Jan Hubicka  <jh@suse.cz>
9260
9261         * regclass.c (init_reg_sets_1): Reinstall the optimization of
9262         move_cost together with Matt Kraai's fix.
9263
9264 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
9265
9266         * Makefile.in (OBJS): Add params.o.
9267
9268 2001-02-14  Richard Henderson  <rth@redhat.com>
9269             DJ Delorie  <dj@redhat.com>
9270
9271         * jump.c (jump_optimize_1): When we delete a conditional jump
9272         preceeding a non-conditional jump to effectively the same place,
9273         make sure that the combined jump skips any clobber insns between
9274         the two labels.
9275
9276 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
9277
9278         * gcc.c (do_spec_1): Fix off-by-one error for '%M' case.
9279
9280 2001-02-14  Mark Mitchell  <mark@codesourcery.com>
9281
9282         * Makefile.in (toplev.o): Depend on params.h.
9283         (intergate.o): Likewise.
9284         (params.o): New target.
9285         * flags.h (inline_max_insns): Remove.
9286         * integrate.c: Include params.h.
9287         Use MAX_INLINE_INSNS instead of inline_max_insns.
9288         * params.c: New file.
9289         * params.h: Likewise.
9290         * params.def: Likewise.
9291         * toplev.c: Include params.h.
9292         (lang_independent_params): New variable.
9293         (decode_f_option): Use the param machinery instead of setting
9294         max_inline_insns.
9295         (independent_decode_option): Handle "--param name=value".
9296         (main): Register language-independent parameters.
9297
9298 Wed Feb 14 11:13:45 CET 2001  Jan Hubicka  <jh@suse.cz>
9299
9300         * i386.md (pushsf, pushdf_nointeger): Fix constraint.
9301
9302 2001-02-14  Richard Henderson  <rth@redhat.com>
9303
9304         * regclass.c (init_reg_sets_1): Revert last two changes.
9305
9306 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
9307
9308         * stor-layout.c (is_pending_size, put_pending_size): New functions.
9309         (variable_size): Call put_pending_size.
9310         * tree.h (is_pending_size, put_pending_size): Add prototypes.
9311         * fold-const.c (extract_muldiv): If SAVE_EXPR is on the pending
9312         sizes list, put newly created SAVE_EXPR there as well.
9313
9314 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
9315
9316         * config/ia64/ia64.c (last_group): Only 2 entries are needed.
9317         (errata_find_address_regs): load_group has only 2 entries.
9318         (errata_emit_nops): Likewise.  shladd is not problematic.
9319         Clear last_group if nop was emitted.
9320         (fixup_errata): load_group has only 2 entries.
9321         Optimize.
9322
9323 2001-02-14  Neil Booth  <neil@daikokuya.demon.co.uk>
9324
9325         * c-lex.c (lex_number): Only warn traditionally for U suffix
9326         outside system macros.
9327         * cppexp.c (parse_number): Similarly.
9328         * cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
9329         * cppmacro.c (struct cpp_macro): New member node.
9330         (parse_args): Only warn about missing rest args if not
9331         a system macro.
9332         (funlike_invocation_p): Similarly for uninvoked funlike macros.
9333         (cpp_sys_objmacro_p): New.
9334         (_cpp_create_definition): Store the node with the macro defn.
9335         Remember if the macro is defined in a system header.
9336
9337 2001-02-13  DJ Delorie  <dj@redhat.com>
9338
9339         * configure.in (check_languages): determine languages to check
9340         * Makefile.in (check-c++): alias for check-g++
9341         (check-f77): alias for check-g77
9342         (CHECK_TARGETS): depend on configured languages
9343
9344 Wed Feb 14 01:13:59 CET 2001  Jan Hubicka  <jh@suse.cz>
9345
9346         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
9347         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
9348         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
9349         (sqrtextendsfdf2): Disable for SSE2.
9350
9351 Wed Feb 14 00:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
9352
9353         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
9354         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
9355         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
9356         (sqrtextendsfdf2): Disable for SSE2.
9357
9358 Wed Feb 14 00:11:20 CET 2001  Jan Hubicka  <jh@suse.cz>
9359
9360         * i386.md (movsfcc_1): Support integer cmove instruction.
9361         (movdfcc_1): Likewise; new splitter.
9362
9363 Tue Feb 13 23:19:27 CET 2001  Jan Hubicka  <jh@suse.cz>
9364
9365         * i386.c (output_fp_compare): Support SSE.
9366         (prepare_fp_compare_args): SSE comparisons always support memory.
9367         * i386.h (TARGET_CMOVE): SSE imply cmove.
9368         * i386.md (cmp?f2): Enable for SSE too.
9369         (cmpfp_i*): Support SSE.
9370         (cmpfp_i_sse): New.
9371         (cmpfp_i_sse_only): New.
9372         (s*, b* fp expanters): Enable for SSE too.
9373         (fp_jcc_1_sse, fp_jcc_1_sse_only, fp_jcc_2_sse, fp_jcc_2_sse_only):
9374         New patterns.
9375
9376 Tue Feb 13 23:05:42 CET 2001  Jan Hubicka  <jh@suse.cz>
9377
9378         * regclass.c (init_reg_sets_1): Silence warning.
9379
9380 Tue Feb 13 22:03:07 CET 2001  Jan Hubicka  <jh@suse.cz>
9381
9382         * i386.md (sqrt?f2): Change to expander.
9383         (sqrt?f2_1, sqrt?f2_sse_only, sqrt?f2_i387): New.
9384
9385 Tue Feb 13 15:42:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9386
9387         * rtlanal.c (find_reg_equal_equiv_note): New function.
9388         * simplify-rtx.c (simplify_gen_unary, simplify_gen_ternary): New fns.
9389         (simplify_gen_relational, simplify_replace_rtx): Likewise.
9390         * rtl.h: Add declarations for above functions.
9391
9392 Tue Feb 13 21:09:11 CET 2001  Jan Hubicka  <jh@suse.cz>
9393
9394         * cse.c (cse_main): Converts ifdefs on PIC_OFFSET_TABLE_REGNUM to
9395         conditionals.
9396         * defaults.h (PIC_OFFSET_TABLE_REGNUM): Default to INVALID_REGNUM.
9397         * emit-rtl.c (init_emit_once): Convert ifdefs to conditionals.
9398         * flow.c (mark_regs_live_at_end): Likewise.
9399         (calculate_global_regs_live): Likewise.
9400         * gcse.c (compute_hash_table): Likewise.
9401         (compute_kill_rd): Likewise.
9402         * resource.c (mark_target_live_regs): Likewise.
9403         * rtl.h (INVALID_REGNUM): New macro.
9404
9405 Tue Feb 13 20:59:22 CET 2001  Jan Hubicka  <jh@suse.cz>
9406
9407         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch.
9408
9409 Tue Feb 13 16:32:20 CET 2001  Jan Hubicka  <jh@suse.cz>
9410
9411         * i386.md (fixsfsi2, fixdfdi2): Force operand to register
9412         for SSE.
9413
9414 Tue Feb 13 14:53:16 CET 2001  Jan Hubicka  <jh@suse.cz>
9415
9416         * i386.md (add?f3, sub?f3, mul?f3, dif?f3): Enable for TARGET_SSE(2)
9417         too.
9418         (fop_sf_comm, fop_df_comm, fop_sf_1, fop_df_1): Support SSE.
9419         (fop_sf_comm_sse, fop_df_comm_sse): New patterns.
9420         (fop_sf_1_sse, fop_df_1_sse): New patterns
9421         (fop_*): Disable float_extend and float patterns for SSE compilation.
9422         * i386.c (output_387_binary_op): Support SSE.
9423
9424 Tue Feb 13 14:16:34 CET 2001  Jan Hubicka  <jh@suse.cz>
9425
9426         * i386.md (dummy_extendsfdf2): Support SSE2
9427         (extendsfdf2): Enable if 80387 or SSE2.
9428         (extendsfdf2_1): Support SSE2. Disable if SSE2 is avialble
9429         and no MIX_I387_SSE2
9430         (extendsfdf2_1_sse_only): New pattern.
9431         (truncdfsf2): Enable if SSE2 or 80387; Always use SSE only version
9432         of SSE.
9433         (truncdfsf2_1): Support SSE.
9434         (truncdfsf2_2): Support SSE.
9435         (truncdfsf2_2_1_sse): New pattern.
9436         (fixtruncsfsi2): Always use SSE if available.
9437         (fix_truncsfsi_sse): New pattern.
9438         (fix_truncdfsi_sse): New pattern.
9439         (floatsis?f2): Support SSE.
9440         (floatsidf2_i387): New pattern.
9441         (floatsidf2_sse): Likewise.
9442
9443 Tue Feb 13 07:52:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9444
9445         * configure.in: Use "have_gnat" variable, not "gnat".
9446         * configure: Regenerated.
9447
9448         * config/sparc/sparc.c (function_value): Treat all non-record
9449         aggregate types like used to treat UNION_TYPE.
9450
9451 Tue Feb 13 13:31:33 CET 2001  Jan Hubicka  <jh@suse.cz>
9452
9453         * i386.c (print_reg): Use ANY_FP_REG instead of FP_REG
9454         * i386.h (MASK_128BIT_LONG_DOUBLE): Renumber
9455         (MASK_SSE2): New.
9456         (MASK_MIX_SSE_I387): New.
9457         (TARGET_SSE): SSE2 imply SSE.
9458         (TARGET_SSE2, TARGET_MIX_SSE_I387): New.
9459         (TARGET_SWITCHES): Add "sse2", "mix-sse-i387".
9460         (enum reg_class): Add new classes.
9461         (REG_CLASS_NAMES): Likewise.
9462         (REG_CLASS_CONTENTS): Likewise.
9463         (ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros.
9464         (REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is
9465         supported. Add 'Y' to be SSE_REGS when SSE2 is supported.
9466         (CLASS_MAX_NREGS): Use new macros.
9467         (REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED.
9468         * i386.md (pushsf, movsf): Support SSE.
9469         (pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update
9470         splitters to use ANY_FP_REGNO_P.
9471         (movdf_nointeger, movdf_integer): Likewise.
9472
9473 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
9474
9475         * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro.
9476         (try_combine): Use it.
9477
9478 Tue Feb 13 11:37:06 CET 2001  Jan Hubicka  <jh@suse.cz>
9479
9480         * i386.h (SSE_CLASS_P, MMX_CLASS_P, MAYBE_FLOAT_CLASS_P,
9481         MAYBE_SSE_CLASS_P, MAYBE_MMX_CLASS_P): New macros.
9482         (PREFERRED_RELOAD_CLASS, SECONDARY_MEMORY_NEEDED): Move offline.
9483         (REGISTER_MOVE_COST): Likewise.
9484         * i386-protos.h (ix86_secondary_memory_needed,
9485         ix86_preferred_reload_class, ix86_register_move_cost): Declare.
9486         * i386.c (ix86_secondary_memory_needed,
9487         ix86_preferred_reload_class, ix86_register_move_cost): New function.
9488
9489 Die Feb 13 11:04:25 CET 2001  Jan Hubicka  <jh@suse.cz>
9490
9491         * i386.h (VALID_FP_MODE_P, VALID_INT_MODE_P): New.
9492         (HARD_REGNO_MODE_OK): Move offline to ....
9493         * i386.c (ix86_hard_regno_mode_ok) ... here;
9494         refuse all incorrect modes.
9495         * i386-protos.h (ix86_hard_regno_mode_ok): Declare.
9496
9497 2001-02-13  Richard Henderson  <rth@redhat.com>
9498
9499         * sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the
9500         entire operator; replicate that and match_dup the operands.
9501         (cmp_ccx_arith_op_set): Likewise.
9502         (cmp_cc_arith_op_not_set): Likewise.
9503         (cmp_ccx_arith_op_not_set): Likewise.
9504
9505 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
9506
9507         * explow.c (trunc_int_for_mode): Sign-extend value to mode.
9508
9509 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
9510
9511         * config/rs6000/sysv4.h (MASK_NO_BITFIELD_WORD): New macro.
9512         (TARGET_NO_BITFIELD_WORD): New macro.
9513         (SUBTARGET_SWITCHES): Add -mbit-word, -mno-bit-word options.
9514         (BITFIELD_NBYTES_LIMITED): Define based on TARGET_NO_BITFIELD_WORD.
9515
9516 Mon Feb 12 18:13:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9517
9518         * cselib.c: New file, from simplify-rtx.c.
9519         * simplify-rtx.c: Remove cselib parts.
9520         * Makefile.in: Add cselib.o.
9521
9522 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
9523
9524         * config/rs6000/rs6000.c (rs6000_float_const): Remove warning.
9525         (setup_incoming_varargs): Remove warning.
9526
9527         * config/rs6000/rs6000.c (validate_condition_mode): When
9528         flag_fast_math, allow floating-point conditionals to be reversed.
9529         (rs6000_generate_compare): When flag_fast_math, don't generate
9530         cror operations for FP conditionals.
9531
9532         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
9533         -mcall-i960.
9534         (ASM_SPEC): Likewise.
9535         (CC1_ENDIAN_LITTLE_SPEC): Likewise.
9536         (CC1_SPEC): Likewise.
9537         (LINK_TARGET_SPEC): Likewise.
9538         (CPP_ENDIAN_SPEC): Likewise.
9539         * Makefile.in (check-consistency): New target.
9540
9541 2001-02-12  Joseph S. Myers  <jsm28@cam.ac.uk>
9542
9543         * c-decl.c (grokdeclarator): In C99 mode, give the more specific
9544         "return type defaults" warning for functions with return type
9545         defaulting to int.
9546         * c-lang.c (c_init): In C99 mode, enable warnings for implicit
9547         function declarations by default rather than only when pedantic.
9548
9549 Mon Feb 12 17:28:48 CET 2001  Jan Hubicka  <jh@suse.cz>
9550
9551         * regclass.c (init_reg_sets_1): Optimize calculation of move_cost
9552         arrays.
9553
9554 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
9555
9556         * extend.texi (Deprecated): Deprecate new initializer lists.
9557
9558 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
9559
9560         * mkdeps.c (deps_add_default_target): Robustify. Add
9561         basename component only.
9562         * cpp.texi (-M): Describe how default target is generated.
9563         * invoke.texi (-M): Likewise.
9564
9565 2001-02-12  Kazu Hirata  <kazu@hxi.com>
9566
9567         * toplev.c (push_float_handler): Remove.
9568         (pop_float_handler): Remove.
9569         * toplev.h: Remove prototypes for the above functions.
9570
9571 2001-02-12  Jakub Jelinek  <jakub@redhat.com>
9572
9573         * c-common.c (constant_fits_type_p): New function.
9574         (convert_and_check): Use it.
9575
9576 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
9577
9578         * Makefile.in (GXX_ABI_FLAG): Don't define.
9579         * configure.in (--enable-new-gxx-abi): Remove option.
9580         * config.in: Regenerated.
9581         * configure: Likewise.
9582
9583 2001-02-12  Alexandre Oliva  <aoliva@redhat.com>
9584
9585         * lcm.c (compute_earliest): Let EXIT_BLOCK be handled as a regular
9586         basic block.
9587         (optimize_mode_switching) [NORMAL_MODE]: Set up EXIT_BLOCK as a
9588         regular basic block, and arrange for all edges into it to switch
9589         to normal mode.
9590
9591 2001-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9592
9593         * Makefile.in (distclean): Do not remove .gdbinit.
9594
9595 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
9596
9597         * Makefile.in (gcc.o): Fix typos.
9598         (protize.o): Likewise.
9599         (unprotoize.o): Likewise.
9600
9601 2001-02-11  Richard Henderson  <rth@redhat.com>
9602
9603         * tree.c (build1): Check for null operand in last change.
9604
9605 2001-02-11  Richard Henderson  <rth@redhat.com>
9606
9607         * fold-const.c (split_tree): Don't assume a constant isn't splittable.
9608         (fold): Don't assume a constant isn't foldable.
9609         * tree.c (build): Set TREE_CONSTANT for an expression with no
9610         side-effects and constant operands.
9611         (build1): Likewise.
9612
9613 2001-02-10  Richard Henderson  <rth@redhat.com>
9614
9615         * jump.c (squeeze_notes): Revert 2000-05-12 change.
9616
9617 2001-02-10  Anthony Green  <green@redhat.com>
9618
9619         * cpp.texi (Standard Predefined): Add documentation for
9620         __OPTIMIZE_SIZE__.
9621
9622         * c-common.c (combine_strings): Improve warning message.
9623
9624 2001-02-10  Geoffrey Keating  <geoffk@redhat.com>
9625
9626         * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Use two dashes for
9627         --oformat.
9628         * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Likewise.
9629
9630 Fri Feb  9 15:05:27 2001  Christopher Faylor <cgf@cygnus.com>
9631
9632         * config/i386/t-cygwin (T_CPPFLAGS): Use correct location for
9633         CYGWIN_CROSS_DIR.
9634
9635 2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
9636
9637         * config/sh/sh.md (sibcalli, sibcalli_pcrel, sibcalli): Set
9638         fp_mode attribute.
9639
9640 2001-02-09  Nick Clifton  <nickc@redhat.com>
9641
9642         * config/arm/arm.md: Change output contraint on post inc
9643         load/store multiple patterns to be a read/write contraint.
9644
9645 2001-02-09  Neil Booth  <neil@daikokuya.demon.co.uk>
9646
9647         * gcc.c (cpp_options): Delete .d files on error.  Don't delete
9648         .o files when using the -M options.
9649
9650 2001-02-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9651             David Edelsohn  <edelsohn@gnu.org>
9652
9653         * config/rs6000/rs6000.c (output_toc): Allow 32-bit targets to
9654         handle DImode constants.  Use one TOC entry for SImode and smaller
9655         constants, aligned properly.
9656
9657 2001-02-08  Jason Merrill  <jason@redhat.com>
9658
9659         * config/arm/arm.c (arm_expand_prologue): Do tell the dwarf2 backend
9660         about the SP adjustment for saving the static chain pointer.
9661         * dwarf2out.c (dwarf2out_frame_debug_expr): Use the specified
9662         offset when setting a temporary CFA register.
9663
9664 2001-02-08  Chandrakala Chavva  <cchavva@redhat.com>
9665
9666         * config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
9667         powerpc-*-chorusos* .
9668         * config/rs6000/chorus.h : New file.
9669         * config/i386/chorus.h : New file.
9670         * config/sparc/chorus.h : New file.
9671         * config/sparc/t-chorus-elf : New file.
9672
9673 2001-02-08  David Edelsohn  <edelsohn@gnu.org>
9674
9675         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ...
9676         * config/rs6000/aix.h (ASM_OUTPUT_SYMBOL_REF): ... to here.
9677         * config/rs6000/aix51.h (CPLUSCPLUS_CPP_SPEC): Define it.
9678         (__WCHAR_TYPE__): Correct macro name.
9679
9680 2001-02-08  Richard Henderson  <rth@redhat.com>
9681
9682         * config/i386/i386.c (ix86_frame_pointer_required): New.
9683         (ix86_setup_frame_addresses): New.
9684         (struct machine_funciton): Add accesses_prev_frame.
9685         * config/i386/i386.h (FRAME_POINTER_REQUIRED): Call
9686         ix86_frame_pointer_required.
9687         (SUBTARGET_FRAME_POINTER_REQUIRED): New.
9688         (SETUP_FRAME_ADDRESSES): New.
9689         * config/i386/i386-protos.h: Update.
9690         * config/i386/sco5.h (SUBTARGET_FRAME_POINTER_REQUIRED): Rename
9691         from FRAME_POINTER_REQUIRED.
9692         * config/i386/svr3gas.h: Likewise.
9693         * config/i386/sysv3.h: Likewise.
9694         * config/i386/v3gas.h: Likewise.
9695
9696 2001-02-08  Richard Henderson  <rth@redhat.com>
9697
9698         * config/sparc/sparc.c (function_arg_record_value_3): Fix
9699         calculation of the number of integer registers required.
9700         (function_arg_record_value): Likewise.
9701
9702 2001-02-08  Jason Merrill  <jason@redhat.com>
9703
9704         * diagnostic.c (internal_error): Say "confused" after 1 error, not
9705         two.  Print file and line with "confused" message.
9706
9707         * dwarf2out.c (dwarf2out_line): Include filename in -dA output.
9708
9709 Thu Feb  8 11:21:28 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9710
9711         * rtlanal.c (remove_node_from_expr_list): Correctly update PREV.
9712
9713 2001-02-08  Bernd Schmidt  <bernds@redhat.com>
9714
9715         * final.c (cleanup_subreg_operands): The address of a MEM can
9716         contain SUBREGs.
9717
9718         * config/ia64/ia64.c (ia64_variable_issue): Call group_barrier_needed_p
9719         for asms, too.
9720
9721 2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
9722
9723         * gcc.texi (Incompatibilities): Update documentation of
9724         preprocessing numbers.
9725
9726 2001-02-07  Jakub Jelinek  <jakub@redhat.com>
9727
9728         * c-decl.c (finish_enum): Revert part of 2000-01-05 change.
9729
9730 2001-02-07  Mark Mitchell  <mark@codesourcery.com>
9731
9732         * config/rs6000/aix43.h (CPLUSCPLUS_CPP_SPEC): Define it.
9733
9734         * defaults.h (CPLUSPLUS_CPP_SPEC): New macro.
9735         * gcc.c (struct compiler): Add cpp_spec field.
9736         (input_file_compiler): New variable.
9737         (do_spec_1): Allow a particular compiler to handle `%C'
9738         specially.
9739         (main): Store the current compiler in input_file_compiler.
9740         * tm.texi (CPLUSPLUS_CPP_SPEC): Document.
9741
9742 2001-02-07  Zack Weinberg  <zack@wolery.stanford.edu>
9743
9744         * cpphash.h (struct spec_nodes): Add n_true and n_false.
9745         * cppinit.c (cpp_create_reader): Initialize them.
9746         (append_include_chain): cxx_aware arg might be unused.
9747         * cppexp.c (lex): In C++ mode, recognize 'true' and 'false'
9748         keywords and give them their phase 7 meaning.  Pedwarn about
9749         this unless '__bool_true_false_are_defined' is defined.
9750
9751 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
9752
9753         * lcm.c (optimize_mode_switching): Emit mode_set before the
9754         JUMP_INSN of an abnormal edge.
9755
9756 2001-02-07  Bernd Schmidt  <bernds@redhat.com>
9757
9758         * builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
9759         a scheduling barrier at the end.
9760
9761         * tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document.
9762
9763 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
9764
9765         * config/sh/sh.md (reload_outsf): Removed.
9766         (movsf_ie): Introduce constraints for FPUL loads and stores.
9767         (reload_insf): Broaden the output constraint.
9768
9769         * config/elfos.h (INT_ASM_OP): Don't define it if it's already
9770         defined.
9771         * config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
9772         ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h.
9773
9774 2001-02-06  Chandrakala Chavva  <cchavva@redhat.com>
9775
9776         * final.c: Revert my previous changes.
9777         * output.h: Make profile_label_no extern.
9778         * config/rs6000/rs6000.c (output_profile_hook): Use standard functions
9779         for generating label.
9780
9781 2001-02-06  Laurynas Biveinis  <lauras@softhome.net>
9782
9783         * config/i386/djgpp.h: Add comments about standard paths.
9784         (MD_EXEC_PREFIX): Undefine before defining.
9785         (MD_STARTFILE_PREFIX): New.
9786
9787 2001-01-30  Bruce Korb  <bkorb@gnu.org>
9788
9789         fixinc/fixincl.c(process):  Emit error message only if appropriate :)
9790         (load_file): do not rely on load_file_data() to close file pointer
9791         fixinc/fixlib.c(load_file_data): do not close passed in file pointer
9792         fixinc/inclhack.def(irix_limits_const): add test_text
9793
9794 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
9795
9796         * cppexp.c (parse_defined): Improve diagnostics for invalid
9797         syntax.
9798
9799 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
9800
9801         * cppmacro.c (cpp_get_token): Avoid pasting after a builtin.
9802
9803 2001-02-06  Mark Mitchell  <mark@codesourcery.com>
9804
9805         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Define.
9806         * config/rs6000/rs6000-protos.h (rs6000_output_symbol_ref): Declare.
9807         * config/rs6000/rs6000.c (VTABLE_NAME_P): New macro.
9808         (rs6000_output_symbol_ref): New function.
9809         (output_toc): Use VTABLE_NAME_P.
9810
9811 Tue Feb  6 07:54:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9812
9813         * print-tree.c (print_node, case PARM_DECL):
9814         Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN.
9815
9816         * stor-layout.c (reference_types_internal): New variable.
9817         (internal_reference_types): New function.
9818         (layout_type, case REFERENCE_TYPE): Make Pmode if internal.
9819         * tree.h (internal_reference_types): New declaration.
9820
9821         * cse.c (find_best_addr): Fix typo in computing cost.
9822
9823 Mon Feb  5 21:56:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9824
9825         * combine.c (nonzero_bits, case PLUS): If pointers extend unsigned
9826         and this is the sum of a pointer and a constant, we know the result
9827         did not overflow.
9828         (num_sign_bit_copies, case PLUS): Likewise.
9829         * explow.c (convert_memory_address): Remove opposite SUBREG.
9830         * function.c (instantiate_new_reg): New function (from common code).
9831         (instantiate_virtual_regs_1): Call it.
9832         For PLUS, handle if (plus (subreg (virt-reg) (const_int))
9833         if pointers sign- or zero-extend.
9834         * simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND):
9835         If pointers extend unsigned, use inside of SUBREG.
9836         (simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend.
9837
9838 2001-02-05  Benjamin Kosnik  <bkoz@redhat.com>
9839
9840         * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target
9841         subdir of gcc_gxx_include_dir.
9842         (gcc_gxx_target_include_dir): Remove.
9843
9844 2001-02-05  Jeffrey Oldham  <oldham@codesourcery.com>
9845
9846         * dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments.
9847         (dwarf2out_frame_debug_expr): Revise introductory comments to add
9848         a high-level description.
9849
9850 2001-02-05  Chandrakala Chavva  <cchavva@redhat.com>
9851
9852         * final.c: Move the declaration of profile_label_no to ...
9853         * output.h: ... here.
9854         * function.c (expand_function_start): Call PROFILE_HOOK.
9855         * config/rs6000/aix.h: Define PROFILE_HOOK.
9856         * config/rs6000/rs6000-protos.h: output_profile_hook new.
9857         * config/rs6000/rs6000.c (output_profile_hook): Define.
9858         (output_prolog): Do nothing for ABI_AIX as it is taken care by
9859         output_profile_hook.
9860         tm.texi : Explain new macro PROFILE_HOOK.
9861
9862 2001-02-06  Hans-Peter Nilsson  <hp@axis.com>
9863
9864         * extend.texi (Extended Asm): Do not say that semicolon is always
9865         a valid line-breaking character for GNU assemblers.  Use
9866         newline-tab as the most commonly supported syntax.  Use
9867         newline-tab rather than semicolon in multi-insn examples.
9868
9869 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9870
9871         * Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).
9872
9873 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9874             David Edelsohn  <edelsohn@gnu.org>
9875
9876         * config/rs6000/rs6000.c (rs6000_return_addr): Use PIC
9877         code for AIX, even without flag_pic.
9878
9879 2001-02-05  Jakub Jelinek  <jakub@redhat.com>
9880
9881         * c-typeck.c (common_type): push and pop binding level around
9882         calling common_type on function parameters.
9883
9884 Mon Feb  5 14:30:37 2001  Christopher Faylor <cgf@cygnus.com>
9885
9886         * config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter.
9887
9888 Mon Feb  5 11:23:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9889
9890         * config/mips/mips.c (override_options): Fix typo in last change.
9891         (mips_make_temp_file): Call fatal_io_error, not pfatal_with_name.
9892         (mips_asm_file_end): Likewise; also pass more args to fatal_io_error.
9893
9894 2001-02-05  Nathan Sidwell  <nathan@codesourcery.com>
9895
9896         * invoke.texi (-fdump-class-layout): Document.
9897         (-fdump-translation-unit): Use `=' as filename separator.
9898
9899 2001-02-05  Mark Mitchell  <mark@codesourcery.com>
9900
9901         * Makefile.in (s-mlib): Don't build multilibs if
9902         --disable-multilib.
9903         (DRIVER_DEFINES): Adjust accordingly.
9904         (gcc.o): Likewise.
9905         (protoize.o): Likewise.
9906         (unprotoize.o): Likewise.
9907         * configure.in: Recognize --enable-multilib.
9908
9909 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
9910
9911         * Makefile.in (DRIVER_DEFINES): Fix quoting.
9912
9913         * Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3.
9914         * configure.in: Remove --enable-libstdcxx_v3 support.
9915         * configure: Regenerated.
9916
9917 Sun Feb  4 15:52:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9918
9919         * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
9920         Call abort instead of fatal.
9921         (TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal.
9922         * config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise.
9923         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise.
9924         (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise.
9925         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
9926         * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise.
9927
9928         * diagnostic.h (set_internal_error_function): Renamed.
9929         * toplev.h (internal_error): Renamed from fatal.
9930         (pfatal_with_name): Deleted.
9931         (fatal_io_error): Now has printf-style arguments.
9932         * diagnostic.c (pfatal_with_name): Deleted.
9933         (fatal_io_error): Rework to have args in printf-style.
9934         (set_internal_error_function): Renamed from set_fatal_function.
9935         (internal_error): Renamed from fatal.
9936         (error_recursion, fancy_abort): Call internal_error instead of fatal.
9937         * dwarf2out.c (get_cfa_from_loc_descr): Likewise.
9938         * emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
9939         * expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
9940         * flow.c (verify_flow_info): Likewise.
9941         * config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
9942         * config/mips/mips.c (save_restore_insns): Likewise.
9943
9944         * except.c (duplicate_eh_handlers): Call abort instead of fatal.
9945         * flow.c (verify_flow_info): Likewise.
9946         * config/arm/arm.c (thumb_load_double_from_address): Likewise.
9947         * config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
9948         (avr_normalize_condition): Likewise.
9949         * config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
9950         * config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
9951         (limit_reload_class, double_reg_to_memory): Likewise.
9952         (print_operand_address, emit_1600_code_shift): Likewise.
9953         (gen_tst_reg, gen_compare_reg): Likewise.
9954         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
9955         * config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
9956         Deleted.
9957         * config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.
9958
9959         * c-parse.in (methoddef): Call fatal_error instead of fatal.
9960         * objc/objc-act.c (build_ivar_chain): Likewise.
9961         * dwarfout.c (dwarfout_init): Call fatal_io_error instead of
9962         pfatal_with_name.
9963         * graph.c (clean_graph_dump_file): Likewise.
9964         * profile.c (init_branch_prob): Likewise.
9965         * objc/objc-act.c (objc_init): Likewise.
9966
9967         * config/arm/arm.c (arm_override_options): Make errors non-fatal.
9968         * config/avr/avr.c (avr_override_options): Likewise.
9969         * config/c4x/c4x.c (c4x_expand_prologue): Likewise.
9970         * config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
9971         * config/h8300/h8300.c (h8300_init_once): Likewise.
9972         * config/mips/mips.c (override_options): Likewise.
9973         * config/i386/i386.c (override_options): Likewise, rework.
9974         * config/m68k/m68k.c (override_options): Likewise.
9975
9976         * config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
9977         instead of fatal.
9978         * config/mips/mips.c (print_operand): Likewise.
9979         * hash.c (hash_allocate): Don't check for failure returns from
9980         obstack functions that can't fail.
9981         (hash_table_init_n, hash_table_init): Likewise; also now return void.
9982         * hash.h (hash_table_init_n, hash_table_init): Now return void.
9983         * objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
9984         (get_object_reference): Likewise.
9985
9986 2001-02-04  Nick Clifton  <nickc@redhat.com>
9987
9988         * config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e,
9989         StrongARM1110, 10TDMI, and 1020T.
9990
9991 2001-02-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9992
9993         * mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif.
9994
9995 2001-02-04  Alexandre Oliva  <aoliva@redhat.com>
9996
9997         * config/sh/sh.md (movdf load split): Pass register number to
9998         FP_OR_XD_REGISTER_P.
9999
10000 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
10001
10002         * cppinit.c (BC): New macro.
10003         (builtin_array): Add __GXX_WEAK__.
10004         * cpplib.h (builtin_type): Add BT_WEAK.
10005         * cppmacro.c (builtin_macro): Handle BT_WEAK.
10006         * defaults.h (SUPPORTS_ONE_ONLY): Define.
10007         * varasm.c (SUPPORTS_ONE_ONLY): Do not define.
10008
10009 2001-02-03  Jakub Jelinek  <jakub@redhat.com>
10010
10011         * cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C.
10012
10013 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
10014
10015         * cpphash.h: Rename _ALIGN POOL_ALIGN.
10016         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
10017
10018 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
10019
10020         * cpphash.h: Rename ALIGN _ALIGN.
10021         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
10022
10023 Fri Feb  2 23:15:29 2001  Christopher Faylor <cgf@cygnus.com>
10024
10025         * config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross
10026         compilation environment.
10027         * config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow
10028         control over location of cygwin includes and libs.
10029
10030 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
10031
10032         * c4x.h (HARD_REGNO_CALL_PART_CLOBBERED): Fix typo.
10033
10034 2001-02-02  lars brinkhoff  <lars@nocrew.org>
10035
10036         * md.texi (Standard Names): remove reference to spur.md.
10037
10038 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
10039
10040         * c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define.
10041         (HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG.
10042         (INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise.
10043         * c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG.
10044         (c4x_expand_prologue, c4x_expand_epilogue): Likewise.
10045
10046 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10047
10048         * c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand,
10049         c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register
10050         number before reload.
10051         (c4x_adjust_cost): Return zero before reload.
10052         * c4x.md (load_immed_address+1, load_immed_address+2): Do not
10053         split before reload.
10054
10055 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10056
10057         * c4x.c (c4x_hard_regno_rename_ok): New.
10058         * c4x-protos.h (c4x_hard_regno_rename_ok): New.
10059         * c4x.h (HARD_REGNO_RENAME_OK): Define.
10060
10061 Fri Feb  2 20:03:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10062
10063         * diagnostic.h: Add missing "extern" in all declarations.
10064
10065 2001-02-02  Alex Samuel  <samuel@codesourcery.com>
10066
10067         * Makefile.in (gcc_gxx_target_include_dir): Generate dynamically
10068         as for gcc_gxx_include_dir.
10069
10070 2001-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
10071
10072         * cpp.texi, invoke.texi: Update -Wtraditional documentation.
10073
10074 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
10075
10076         * config/sh/sh.c (output_far_jump): Don't use braf on SH1.  Emit
10077         label before alignment to be used as the braf base address.
10078         * config/sh/sh.md (length): Use longer lengths for SH1 PIC far
10079         branches.
10080         (casesi_jump_2): Require at least TARGET_SH2.
10081
10082         * config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent
10083         truncation to 32-bit doubles on -m3e and -m4-single-only.
10084
10085 2001-02-02  Mark Mitchell  <mark@codesourcery.com>
10086
10087         * gcc.c (init_gcc_specs): New function.  Make -shared-libgcc
10088         the default when building a shared object.
10089         (init_spec): Use it.
10090         * testsuite/lib/g++.exp: Include the directory where libgcc
10091         is located to the LD_LIBRARY_PATH list.
10092         * invoke.texi (-shared-libgcc): Document the cases in which
10093         GCC defaults to using the shared libgcc.
10094
10095 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
10096
10097         * config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume
10098         unsigned is wide enough.
10099         (BITS_PER_SI): New.
10100         * config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI.
10101         (si_to_float): Likewise.
10102         (float_to_si, float_to_usi): Use BITS_PER_SI.
10103
10104 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
10105
10106         * dwarf2out.c: Added explanation of abbreviations.
10107         (def_cfa_1): Added comments listing DWARF2 instructions.
10108         (cfa_temp_reg): Removed in favor of cfa_temp.
10109         (cfa_temp_value): Removed in favor of cfa_temp.
10110         (cfa_temp): New global variable.
10111         (dwarf2out_frame_debug_expr): Added extensive introductory
10112         comments explaining the function's transformations.  Revised to
10113         use cfa_temp.  Added some rtx checking.  Generalize IOR case.
10114         (dwarf2out_frame_debug): Revised to use cfa_temp.
10115         (output_aranges): Cast as "unsigned" to avoid warning.
10116         * rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better
10117         explain which instructions must be marked.
10118
10119 2001-02-01  Richard Henderson  <rth@redhat.com>
10120
10121         * local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
10122         new instruction.
10123
10124 2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
10125
10126         * config/sh/crt1.asm (main_k): Modified so that start calls
10127         ___setup_argv_and_call_main.
10128
10129 2001-02-01  Neil Booth  <neil@daikokuya.demon.co.uk>
10130
10131         * cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader.
10132         * cpplex.c (_cpp_lex_token): New token picks up the saved flags,
10133         and AVOID_LPASTE is cleared on meeting an unescaped newline.
10134         * cppmacro.c (builtin_macro): Set builtin flags here.
10135         (paste_all_tokens): Preserve AVOID_LPASTE on pasted token.
10136         (replace_args): Clarify intent.
10137         (cpp_get_token): Macro expansion tokens get the saved flags.
10138         Update.
10139         * cppmain.c (scan_buffer): Remove now-redundant print.printed
10140         check.
10141
10142 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
10143
10144         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of
10145         2001-Jan-29.
10146
10147 Thu Feb  1 07:22:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10148
10149         * builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space
10150         returns Pmode pseudo, but we need ptr_mode.
10151         * explow.c (allocate_dynamic_stack_space): Use plus_constant.
10152         Remove bogus conversions; use HOST_WIDE_INT for size.
10153         Don't use TARGET if wrong mode.
10154
10155         * config/i386/i386.c (ix86_compute_frame_size): Allow
10156         stack_alignment_needed to be non-default even if size is zero.
10157
10158 2001-01-31  Alan Modra <alan@linuxcare.com.au>
10159
10160         * pa.c (hppa_init_pic_save): New function.
10161         * pa.h (hppa_init_pic_save): Declare.
10162         * pa.md (call, call_value, sibcall, sibcall_value): Use
10163         the above instead of duplicated code.
10164
10165         * pa.c (hppa_encode_label): Correct size of alloca buffer
10166         so we don't overrun it.  Correct leading `*' case.
10167         * pa.h (STRIP_NAME_ENCODING): Simplify now that we don't
10168         need to handle `*@'.
10169         (FUNCTION_NAME_P): Likewise.
10170
10171 2001-01-31  Richard Henderson  <rth@redhat.com>
10172
10173         * config.gcc (alpha-osf5): Use float-i128.h.
10174
10175         * config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
10176         * config/float-i32.h: Likewise.
10177         * config/float-i64.h: Likewise.
10178         * config/float-sh.h: Likewise.
10179         * config/float-sparc.h: Likewise.
10180
10181 2001-01-31  DJ Delorie  <dj@redhat.com>
10182
10183         * expmed.c (extract_bit_field): allow non-integral modes if we
10184         want to extract a whole register from itself.
10185
10186 2001-01-31  Jakub Jelinek  <jakub@redhat.com>
10187
10188         * c-typeck.c (set_init_index): If first is equal to last, assume as
10189         if it was not a range at all.
10190
10191 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
10192
10193         * config/fp-bit.c: Include tm.h.
10194         (float_to_si): Don't assume SImode is 32-bits wide.
10195         (float_to_usi): Likewise.
10196
10197 2001-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
10198
10199         * c-parse.in (structsp): Pedwarn when "enum foo" refers to an
10200         incomplete type.
10201         (typename): Call pending_xref_error after parsing typed_typespecs.
10202         * c-decl.c (lookup_tag): Give error immediately rather than
10203         leaving it pending if the tag of the wrong type is in the same
10204         binding level.
10205         (xref_tag): Don't pedwarn for forward declarations of enum types
10206         here.
10207         * gcc.texi (Actual Bugs): Remove entry for misuse of struct, union
10208         and enum tags.
10209
10210 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
10211
10212         * config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo.
10213
10214 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
10215
10216         * cpplib.c (T_ELIF): Move to STDC89, not that it matters.
10217         (_cpp_handle_directive): Suggest not using #elif with -Wtraditional.
10218
10219 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
10220
10221         * cpphash.h (struct cpp_reader): New saved_flags.
10222         * cppmacro.c (cpp_get_token): Use saved_flags to remember
10223         to avoid a paste after a pasted token.
10224
10225 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
10226
10227         * libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
10228         * libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
10229         Wtype_MIN instead of LONG_MIN.
10230
10231 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
10232
10233         * fixinc/fixincl.tpl: Add 2001 to copyright.  Change name of
10234         README file.
10235         * fixinc/fixincl.x: Regenerated.
10236         * fixinc/inclhack.def (irix_limits_const): New definition to
10237         convert "const" to "__const" in limits.h.
10238
10239 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
10240
10241         * fixinc/genfixes (AG): Fix "autogen4" thinko.
10242
10243 2001-01-30  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
10244
10245         * regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED
10246         when register dies in the insn.
10247
10248 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
10249
10250         * diagnostic.c (fatal): Fix word wrap.
10251
10252 2001-01-30  Alexandre Oliva  <aoliva@redhat.com>
10253
10254         * combine.c (try_combine): Fix SUBREG setting for
10255         HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD.
10256
10257 2001-01-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10258
10259         * jump.c (comparison_dominates_p): Don't try to handle UNKNOWN
10260         comparison codes.
10261
10262 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
10263
10264         * c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
10265         is not NULL.
10266         * toplev.c (decode_W_option): Update warn_larger_than
10267         unconditionally for each processed switch.
10268
10269 2001-01-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10270
10271         * pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
10272         to NULL_RTX.
10273         (hppa_expand_prologue): Delete code to save pic offset table register
10274         in the function prologue.
10275         * pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
10276         * pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
10277         table register at the beginning of the function after the prologue.
10278
10279 2001-01-29  lars brinkhoff  <lars@nocrew.org>
10280
10281         * tm.texi (PUSH_ROUNDING): Remove duplicate lines.
10282
10283 2001-01-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10284             Jeff Law <law@redhat.com>
10285
10286         * pa.md (return): Revise comment for trivial return.
10287         (return_internal): Non-trivial return pattern for non-PIC code.
10288         (return_internal_pic): Non-trivial return pattern for PIC code.
10289         It uses the PIC register to ensure it is restored after
10290         function calls.
10291         (epilogue): Generate appropriate return for PIC and non-PIC code.
10292
10293 Mon Jan 29 23:53:14 2001  Christopher Faylor <cgf@cygnus.com>
10294
10295         * config/i386/cygwin.h: Fix -mno-cygwin search path for link.
10296
10297 2001-01-29  DJ Delorie  <dj@redhat.com>
10298
10299         * combine.c (if_then_else_cond): Pass the correct mode to
10300         operand_subword() for constants.
10301
10302 Mon Jan 29 20:38:19 2001  Christopher Faylor <cgf@cygnus.com>
10303
10304         * config/i386/cygwin.h: Add w32api to include search.  Search different
10305         directories in a cross-build environment.
10306
10307 2001-11-29  Tim Josling  <tej@melbpc.org.au>
10308
10309         * tree.h (TYPE_STUB_DECL): Add documentation.
10310
10311 2001-11-29  Laurynas Biveinis  <lauras@softhome.net>
10312
10313         * sdbout.c (sdbout_one_type): Skip types with indeterminate size.
10314         (sdbout_field_types): Likwise.  Fix use of host_integerp.
10315
10316 2001-01-29  Thomas Pfaff  <tpfaff@gmx.net>
10317
10318         * mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
10319         cygwin.h.
10320
10321 2001-01-29  Jeffrey Oldham  <oldham@codesourcery.com>
10322
10323         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
10324         to use flag_gnu_linker.
10325
10326 2001-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
10327
10328         * cpplib.c (T_BAD_DIRECTIVE): Remove.
10329         (_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
10330
10331 2001-01-29  Joseph S. Myers  <jsm28@cam.ac.uk>
10332
10333         * tree.c, tree.h (build_parse_node): Remove; was identical to
10334         build_nt.
10335         * c-lang.c (start_cdtor), objc/objc-act.c
10336         (build_module_descriptor): Use build_nt instead of
10337         build_parse_node.
10338
10339 2001-01-29  Jakub Jelinek  <jakub@redhat.com>
10340
10341         * config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
10342         (testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
10343         not have any upper bits set.
10344
10345 2001-01-29  Phil Edwards  <pme@sources.redhat.com>
10346
10347         * COPYING.LIB:  Update to LGPL 2.1 from the FSF.
10348
10349 2001-01-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10350
10351         * stmt.c (estimate_case_costs): Use integer_minus_one_node.
10352
10353         * tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.
10354
10355         * tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
10356         (integer_minus_one_node): Define.
10357
10358 2001-01-28  Alexandre Oliva  <aoliva@redhat.com>
10359
10360         * Makefile.in (bootstrap2-lean): Fix typo.
10361
10362 2001-01-28  Neil Booth  <neil@daikokuya.demon.co.uk>
10363
10364         * cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
10365         : Don't set fe_value.
10366         * cpplib.h (AVOID_LPASTE): New flag.
10367         (struct cpp_hashnode): Remove fe_value.
10368         * cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
10369         * cppmacro.c (builtin_macro): Don't set flags here.
10370         (replace_args): Set AVOID_LPASTE flag on first token of an
10371         argument, and the token following it.
10372         (cpp_get_token): Set AVOID_LPASTE flag on first token of a
10373         macro expansion, and on the token following it.  Do it for
10374         builtins too.
10375         * cppmain.c (scan_buffer): Avoid pasting only flagged tokens.
10376
10377 2001-01-27  Richard Henderson  <rth@redhat.com>
10378
10379         * config/alpha/t-ieee: Remove multilibbing.
10380         (TARGET_LIBGCC2_CFLAGS): Add -mieee.
10381
10382 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10383
10384         * configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
10385
10386         * Makefile.in: Remove all dependencies on defaults.h.
10387         * builtins.c: Don't include defaults.h.
10388         * c-common.c: Likewise.
10389         * c-decl.c: Likewise.
10390         * c-pragma.c: Likewise.
10391         * c-typeck.c: Likewise.
10392         * combine.c: Likewise.
10393         * i386.c: Likewise.
10394         * frame-ia64.c: Likewise.
10395         * cppexp.c: Likewise.
10396         * crtstuff.c: Likewise.
10397         * dbxout.c: Likewise.
10398         * dwarf2out.c: Likewise.
10399         * dwarfout.c: Likewise.
10400         * emit-rtl.c: Likewise.
10401         * except.c: Likewise.
10402         * expr.c: Likewise.
10403         * final.c: Likewise.
10404         * frame-dwarf2.c: Likewise.
10405         * libgcc2.c: Likewise.
10406         * optabs.c: Likewise.
10407         * profile.c: Likewise.
10408         * sdbout.c: Likewise.
10409         * toplev.c: Likewise.
10410         * tradcif.y: Likewise.
10411         * tree.c: Likewise.
10412         * varasm.c: Likewise.
10413
10414 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10415
10416         * builtins.c (expand_builtin_fputs): Use size_one_node when
10417         transforming into fwrite.
10418
10419 2001-01-27  Joseph S. Myers  <jsm28@cam.ac.uk>
10420
10421         * extend.texi (Attribute Syntax): New section.
10422
10423 2001-01-27  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
10424
10425         * fixproto: Correctly install synthesised unistd.h and stdlib.h when
10426         they didn't need fixing.
10427
10428 2001-01-27  Janis Johnson <janis@us.ibm.com>
10429
10430         * config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
10431         if appropriate.
10432         * config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
10433         to remove macro definitions that are duplicated from elfos.h.
10434
10435 2001-01-27  Richard Henderson  <rth@redhat.com>
10436
10437         * config/i386/sco5gas.h: Move ...
10438         * config/usegas.h: ... here.
10439         * config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.
10440
10441 2001-01-27  Jakub Jelinek  <jakub@redhat.com>
10442
10443         * c-typeck.c (struct constructor_stack): Add range_stack member.
10444         (really_start_incremental_init): Clear it.
10445         (push_init_level): Save constructor_range_stack and clear it if
10446         pushing explicit braces.
10447         (pop_init_level): abort if constructor_range_stack is non-zero at
10448         explicit closing brace.  Restore saved constructor_range_stack if
10449         not implicit.
10450
10451 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
10452
10453         * expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
10454         into register was forced into memory.
10455
10456 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
10457
10458         * Makefile.in: Remove uses of + before $(MAKE).
10459
10460 2001-01-26  Richard Henderson  <rth@redhat.com>
10461
10462         * stmt.c (cost_table): Remove.
10463         (COST_TABLE, cost_table_initialized): New.
10464         (estimate_case_costs): Use the later instead of the former.
10465         (balance_case_nodes): Likewise.
10466
10467 2001-01-26  Richard Henderson  <rth@redhat.com>
10468
10469         * alias.c (objects_must_conflict_p): Read-only slots may not
10470         conflict despite having the same type.
10471
10472 2001-01-27  Michael Hayes  <mhayes@redhat.com>
10473
10474         * loop.c (loop_giv_reduce_benefit): Copy mode size into
10475         int variable.
10476         (check_ext_dependant_givs): Initialise u_start_val and
10477         u_end_val.
10478         (load_mems): Make last_max_reg unsigned.
10479         (try_swap_copy_prop): Use INSN_P and initialise set.
10480
10481 Fri Jan 26 23:22:58 2001  Denis Chertykov  <denisc@overta.ru>
10482
10483         * README.AVR : Removed.
10484
10485 Fri Jan 26 11:37:26 2001  Jeffrey A Law  (law@cygnus.com)
10486
10487         * pa-64.h (text_section): Remove declaration.
10488
10489         * pa.md (return_internal): Remove mode on PIC register use.
10490
10491 2001-01-25  lars brinkhoff  <lars@nocrew.org>
10492
10493         * tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN,
10494         ASM_CLOSE_PAREN): fix typos.
10495
10496 2001-01-25  Mark Mitchell  <mark@codesourcery.com>
10497
10498         * acconfig.h: Define `const' to the empty string if neither
10499         __STDC__ nor __cplusplus is defined.
10500         * config.in: Regenerated.
10501
10502 2001-01-25  David Edelsohn  <edelsohn@gnu.org>
10503
10504         * config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
10505         * collect2.c (main): Delete importf.  Add ".obj" file extension.
10506         (GCC_CHECK_HDR): Handle AIX V5 new magic number.
10507         (aix_std_libs): Add additional AIX libraries to skip.
10508         * config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
10509         * config/rs6000/aix51.h: New file.
10510
10511 2001-01-25  Michael Hayes  <mhayes@redhat.com>
10512
10513         * loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
10514         (loop_insn_emit_before): No longer static.
10515         (move_movables): Replace emit_insn_after with loop_insn_emit_after.
10516         (loop_givs_rescan, load_mems): Likewise.
10517         (check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
10518         (maybe_eliminate_biv_1):
10519         (move_movables): Replace emit_call_insn_before with
10520         loop_call_insn_hoist.
10521         * loop.h (loop_insn_emit_before): Add.
10522         * unroll.c (copy_loop_body): Replace emit_insn_before with
10523         loop_insn_emit_before.
10524
10525 2001-01-25  Neil Booth  <neil@daikokuya.demon.co.uk>
10526
10527         * diagnostic.c (fatal): Request preprocessed source.
10528
10529 Thu Jan 25 02:01:16 2001  J"orn Rennecke <amylaar@redhat.com>
10530
10531         * c-decl.c (duplicate_decls): If different_binding_level is nonzero,
10532         olddecl has argument types and newdecl has none, use the argument
10533         types from olddecl.
10534
10535 2001-01-24  Ulrich Drepper  <drepper@redhat.com>
10536
10537         * dwarf2out.c (prefix_of): New function.  Determine longest common
10538         prefix of the two arguments.  The units are whole path components.
10539         (output_file_names): When adding a new directory find the one entry
10540         with the longest common prefix already in the list.  Artificially
10541         generate entry if there is none for this prefix.
10542         Fix test to check whether the zeroth directory entry is used.
10543
10544 Wed Jan 24 23:51:55 2001  J"orn Rennecke <amylaar@redhat.com>
10545
10546         * reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
10547         Changed all callers.  Take it into account when deciding if a
10548         previously loaded value matches.
10549
10550 2001-01-24  Richard Henderson  <rth@redhat.com>
10551
10552         * reload.c (find_reloads_subreg_address): Fail the substitution
10553         if the resulting address is insufficiently aligned.
10554
10555 2001-01-24  DJ Delorie  <dj@redhat.com>
10556
10557         * combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
10558         check the original operand's mode also.
10559         * simplify-rtx.c (simplify_ternary_operation): Ditto.
10560
10561 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
10562
10563         * c-parse.in (cast_expr): Move compound literals from here ...
10564         (primary): ... to here.  Use standard terminology "compound
10565         literal" instead of "constructor expression".
10566
10567 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
10568
10569         * gcc.1, cpp.1: Regenerate.
10570
10571 2001-01-24  Alexandre Oliva  <aoliva@redhat.com>
10572
10573         * calls.c (emit_library_call_value_1): Memory slot for
10574         pass-by-reference argument should have the mode of the argument,
10575         not of the pointer to it.
10576
10577 2001-01-24  Tom Tromey  <tromey@redhat.com>
10578
10579         * gcc.texi (G++ and GCC): Mention gcj manual.
10580         (Standards): Link to section of manual mentioning gcj/Java
10581         compatibility.
10582
10583 2001-01-24  Jakub Jelinek  <jakub@redhat.com>
10584
10585         * cppfiles.c (_cpp_read_file): Add to dependencies if requested.
10586         * cppinit.c (cpp_start_read): Remove deps_add_dep call.
10587         * tradcpp.c (main): Add -imacros or -include'd dependencies
10588         for -M*.
10589         * cpp.texi (-M, -MM): Document -M -include behaviour.
10590
10591 2001-01-24  Roger Collins <roger@ProProject.com>
10592
10593         * config/i386/xm-i386.h: Make __i386__ a boolean macro.
10594
10595 2001-01-24  Will Cohen  <wcohen@redhat.com>
10596
10597         * config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
10598         whether registers are 32 bits or 64 bits in size.
10599
10600 2001-01-24  Ben Elliston  <bje@redhat.com>
10601
10602         * config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
10603
10604 2001-01-24  Richard Henderson  <rth@redhat.com>
10605
10606         * config/alpha/alpha.md (builtin_longjmp_internal): New.
10607         (builtin_longjmp): Use it instead of emit_indirect_jump.
10608
10609 2001-01-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10610
10611         * bb-reorder.c (make_reorder_chain_1): Handle case where
10612         jump edge goes to the same block as the fallthru edge.
10613
10614 2001-01-23  Jim Wilson  <wilson@redhat.com>
10615
10616         * dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
10617         * frame.h (__ia64_personality_v1): Add prototype.
10618         * libgcc2.c (ia64_throw_helper): Change personality declaration to
10619         prototype form.  Add void * cast to first argument to personality
10620         call.
10621         * real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
10622         (asctoe113): Likewise.
10623         * config/ia64/frame-ia64.c: Include eh-common.h.
10624         * config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
10625         prototypes.
10626         * config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
10627         to dump parameter.
10628         (itanium_split_issue): Add prototype.
10629         (gen_nop_type): Ifdef out.
10630         (find_best_packet): Initialize best_packet.
10631         (ia64_encode_section_info): New local string.  Use for ggc_alloc_string
10632         result.
10633         * config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
10634         * config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
10635         (flushrs): Add explicit stop bit at end.
10636         * config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
10637         trailing \ to >.
10638
10639 2001-01-23  Chris Demetriou  <cgd@broadcom.com>
10640
10641         * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
10642         of EH symbols.
10643         * libgcc2.c (__terminate_func): Make variable static.
10644         (__terminate_set_func): New function to set __terminate_func.
10645         * libgcc2.h (__terminate_func_ptr): New typedef.
10646         (__terminate_set_func): New function.
10647
10648 2001-01-23  Richard Henderson  <rth@redhat.com>
10649
10650         * flow.c (init_propagate_block_info): Don't consider unchanging
10651         memories for dead frame store elimination.
10652
10653 2001-01-23  Richard Henderson  <rth@redhat.com>
10654
10655         * varasm.c (UNIQUE_SECTION): Move default implementation ...
10656         * defaults.h: ... here.
10657
10658 2001-01-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10659
10660         * c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
10661
10662 2001-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
10663
10664         * c-lex.c (lex_charconst): Fix typo: s/p/str.
10665
10666 2001-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10667
10668         * rs6000.h (rs6000_return_addr): Move prototype from here...
10669         * rs6000-protos.h (rs6000_return_addr): ...to here.
10670         (rs6000_init_expanders): Delete prototype.
10671
10672 2001-01-23  Nick Clifton  <nickc@redhat.com>
10673
10674         * invoke.texi: Replace , with \, inside @gccoptlist macros.
10675         (Spec Files): Document %B and %j and %. and %v3 and %M and
10676         %{S*&T} spec switches.
10677
10678 2001-01-24  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10679
10680         * c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
10681
10682 2001-01-23  Chris Demetriou  <cgd@sibyte.com>
10683             Neil Booth  <neil@daikokuya.demon.co.uk>
10684
10685         * cpperror.c: Merge handlers of PEDWARN and WARNING.
10686         Have -Werror make pedantic warnings errors, like the
10687         rest of GCC.
10688
10689 2001-01-23  Phil Edwards  <pme@sources.redhat.com>
10690
10691         * c-tree.texi (IDENTIFIER_LENGTH):  Fix typo.
10692
10693 2001-01-23  Jakub Jelinek  <jakub@redhat.com>
10694
10695         * integrate.h (struct inline_remap): Add compare_src, compare_mode.
10696         * integrate.c (expand_inline_function): Initialize them.
10697         (subst_constants): If changing COMPARE so that both its arguments
10698         will be VOIDmode and the comparison mode will be lost, note
10699         compare_mode.  Use the recorded compare_mode to optimize
10700         IF_THEN_ELSE.
10701
10702 2001-01-23  Jason Merrill  <jason@redhat.com>
10703
10704         * dwarf2out.c (new_die): Use xcalloc.
10705         (output_die): Abort rather than emit a local reference to offset 0.
10706
10707 2001-01-17  Andrew Haley  <aph@redhat.com>
10708
10709         * libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
10710         of a saved register; return NULL instead.
10711         (copy_reg): Take a pointer to a source register rather than a
10712         frame_state.
10713         (next_stack_level): Remember the address in the stack frame of all
10714         saved registers.
10715         Use the saved register pointer array as the source of the CFA.
10716         (throw_helper): Rewrite.  Unwind once rather than twice and keep
10717         track of saved registers as we go.
10718
10719 2001-01-23  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10720
10721         * c4x-protos.h (c4x_legitimize_reload_address): Remove.
10722         * c4x.c (c4x_legitimize_reload_address): Remove.
10723         * c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
10724         reload address for ldp(k) insn.
10725
10726 Mon Jan 22 20:53:47 2001  Jeffrey A Law  (law@cygnus.com)
10727
10728         * pa.md (return_internal): Add a USE of the PIC register to ensure
10729         it is restored after each call.
10730         (return expander): Corresponding changes.
10731
10732 2001-01-22  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10733
10734         * rs6000.h (INIT_EXPANDERS): Delete.
10735         (RETURN_ADDR_RTX): Call rs6000_return_addr().
10736         * rs6000.c (rs6000_override_options): Call *_machine_status from
10737         here...
10738         (rs6000_init_expanders): ...instead of here. Delete.
10739         (rs6000_mark_machine_status): New function.
10740         (rs6000_init_machine_status): Use xcalloc.
10741         (rs6000_return_addr): Generate RTX for the return address.
10742         (rs6000_ra_ever_killed): New, check if LR was ever destroyed.
10743         (rs6000_stack_info): Use it.
10744
10745 2001-01-22  Thomas Pfaff  <tpfaff@gmx.net>
10746
10747         * gthr-win32.h: Include errno.h to get a declaration for
10748         EINVAL and _mingw.h if the target is mingw32.
10749
10750 2001-01-22  Andres Felipe Vargas <avargas@teletulua.com.co>
10751
10752         * cpp.texi: Correct typos.
10753
10754 Mon Jan 22 13:59:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10755
10756         * explow.c (probe_stack_range): Ensure value passed to
10757         stack_check_libfunc is ptr_mode, not Pmode.
10758
10759 Mon Jan 22 16:53:06 2001  J"orn Rennecke <amylaar@redhat.com>
10760
10761         * recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
10762         case, don't use operand_subword to calculate a SUBREG that is
10763         wider than a word.
10764
10765         * rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
10766
10767 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10768
10769         * c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
10770         (c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
10771         valid.  If not replace it by equivalent insns.
10772
10773 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10774
10775         * c4x.c (c4x_check_legit_addr): Only check CONST.  Not if CONST
10776         contains SYMBOL_REF, LABEL_REF and CONST_INT.
10777         (c4x_U_constraint, symbolic_address_operand): Likewise.
10778         (c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
10779         memory.
10780         (c4x_r11_set_p, c4x_check_laj_p): New functions.
10781         * c4x-protos.h (c4x_check_laj_p): Add prototype.
10782         * c4x.md (in_annul_slot_3): Do not allow auto-increment in last
10783         anulling slot because of silicon bug.
10784         (laj, lajv): Call c4x_check_laj_p to check for silicon bug.
10785
10786 2001-01-22  Alan Modra <alan@linuxcare.com.au>
10787
10788         * cppexp.c (parse_charconst):  Change `mask' type to agree
10789         with parse_escape.
10790
10791 2001-01-21  Richard Henderson  <rth@redhat.com>
10792
10793         * config/i386/i386.c (ix86_asm_file_end): Disable putting
10794         pic_label_name in a linkonce section.
10795
10796 2001-01-17  Philipp Thomas  <pthomas@suse.de>
10797
10798         * aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
10799         found in libintl.
10800         * configure: Regenerate.
10801
10802 Sun Jan 21 02:38:56 2001  J"orn Rennecke <amylaar@redhat.com>
10803
10804         * expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
10805         uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
10806
10807 Sun Jan 21 09:44:17 2001  Denis Chertykov  <denisc@overta.ru>
10808
10809         * config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
10810         If REVERSE nonzero then condition code in X must be reversed.
10811         (encode_section_info): Optimise if/else.
10812         (avr_function_value): Fix formatting.
10813
10814         * config/avr/avr.md (branch): Call to ret_cond_branch changed.
10815         (difficult_branch): Likewise.
10816         (rvbranch): Likewise.
10817         (difficult_rvbranch): Likewise.
10818
10819         * config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
10820
10821         * config/avr/libgcc.S: Fix comment.
10822
10823 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
10824
10825         * sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
10826
10827 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
10828
10829         * cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
10830
10831 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
10832
10833         * aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
10834         * configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
10835         * configure, config.in: Regenerate.
10836         * Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
10837         (LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
10838         (strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
10839         (doprint.o): New rule.
10840
10841 2001-01-20  Joseph S. Myers  <jsm28@cam.ac.uk>
10842
10843         * c-typeck.c (digest_init): Handle boolean types as scalars.
10844
10845 Sat Jan 20 12:46:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10846
10847         * stmt.c (expand_return): Don't return anything if size is zero.
10848         Delete redundant assignment to BYTES.
10849         * expr.c (move_block_from_reg): Do nothing if NREGS is zero.
10850
10851 2001-01-20  Marek Michalkiewicz  <marekm@linux.org.pl>
10852
10853         * config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
10854         the same as the default library function names.
10855         * config/avr/avr.md: Document special characters after '%'.
10856         (mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
10857         knowing which of the call-used registers are really clobbered.
10858         (divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
10859         New.  Both quotient and remainder from one libgcc.S call.
10860         * config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
10861         clobber as few registers as possible.
10862         * config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
10863
10864 2001-01-20  Neil Booth  <neil@daikokuya.demon.co.uk>
10865
10866         * cppmacro.c (funlike_invocation_p): Don't move back up to the
10867         context of the top of the stack.
10868
10869 2001-01-20  Jakub Jelinek  <jakub@redhat.com>
10870
10871         * function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
10872         (fixup_var_refs_insns): ...here.
10873
10874 2001-01-20  Zack Weinberg  <zack@wolery.stanford.edu>
10875
10876         * function.c (fixup_var_refs_insns): Break up into
10877         fixup_var_refs_insn [body of loop], fixup_var_refs_insns
10878         [loop over entire insn list], and fixup_var_refs_insns_with_hash
10879         [loop over hash table entries].
10880         (fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
10881         fixup_var_refs_insns_with_hash, to match above changes.
10882
10883 2001-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10884
10885         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
10886         (libgcc.a): Likewise.
10887         (stmp-multilib): Likewise.
10888         (STAGE2_FLAGS_TO_PASS): Likewise.
10889
10890 2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
10891
10892         * config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
10893         temporary if no_new_pseudos.
10894
10895 2001-01-19  Neil Booth  <neil@daikokuya.demon.co.uk>
10896
10897         * cppinternals.texi: Update.
10898
10899 2001-01-19  Richard Earnshaw  <rearnsha@arm.com>
10900
10901         * arm.c (arm_init_builtins): Re-enable builtins.
10902
10903 Fri Jan 19 13:02:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10904
10905         * rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
10906         * flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
10907         element to be null, and always expect an EXPR_LIST.
10908         * rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
10909         * sched-deps.c (sched_analyze_1): Likewise.
10910         * sched-rgn.c (check_live_1, update_live_1): Likewise.
10911
10912         * regclass.c (max_set_parallel): New variable.
10913         (reg_scan): Take it into account in computation of max_parallel.
10914         (reg_scan_mark_refs, case SET): Compute it.
10915
10916         * alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
10917         args are REG.
10918         * expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
10919         * function.c (assign_parms): Use INTVAL for a CONST_INT.
10920
10921 2001-01-19  Jason Merrill  <jason@redhat.com>
10922
10923         * dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
10924         for the abstract instance of an inline function.
10925
10926 Fri Jan 19 14:31:35 2001  Alexandre Oliva  <aoliva@redhat.com>
10927                           J"orn Rennecke <amylaar@redhat.com>
10928
10929         * reload1.c (move2add_note_store): Treat all registers directly or
10930         indirectly derived from a base register as members of the same set
10931         of values.
10932         (reload_cse_move2add): Adjust accordingly.  Take mode and offset
10933         of base register into account.
10934
10935 Fri Jan 19 09:18:42 2001  J"orn Rennecke <amylaar@redhat.com>
10936
10937         * alias.c (find_base_value): Recognize TRUNCATE.
10938         (record_set): In PLUS case, invalidate if other summand is also a
10939         base value.
10940
10941 Thu Jan 18 06:43:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10942
10943         * flow.c (mark_set_1, case PARALLEL): New case; rework to allow
10944         entry to be EXPR_LIST.
10945         * rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
10946         be an EXPR_LIST (but not null, which other code doesn't allow).
10947         (note_stores): Properly handle PARALLEL in SET.
10948         Recursively call for top-level PARALLEL.
10949         * sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
10950         * sched-rgn.c (check_live_1, update_live_1): Likewise.
10951
10952         * config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
10953
10954 2001-01-18  Neil Booth  <neil@daikokuya.demon.co.uk>
10955
10956         * cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
10957         not pfile->skipping (== 0).
10958
10959 2001-01-17  Nick Clifton  <nickc@redhat.com>
10960
10961         * config/rs6000/rs6000.c: Add prototypes for {init|free}_
10962         machine_status.
10963
10964 2001-01-17  Jim Wilson  <wilson@redhat.com>
10965
10966         * invoke.texi (IA-64 options): Improve.
10967
10968 2001-01-17  Tom Tromey  <tromey@redhat.com>
10969
10970         * invoke.texi (Optimize Options): Use `{}' to around @samp
10971         argument.
10972
10973 2001-01-17  Aldy Hernandez  <aldyh@redhat.com>
10974
10975         * invoke.texi (-fno-guess-branch-probability): New option.
10976
10977 Wed Jan 17 13:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10978
10979         * combine.c (try_combine): Don't set i3_subst_into_i2 for
10980         case of making new double-word constant.
10981         Revert last change: instead just test i3_subst_into_i2.
10982
10983 2001-01-17  Jakub Jelinek  <jakub@redhat.com>
10984
10985         * config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
10986         Use q constraints instead of r.
10987
10988 Tue Jan 16 22:23:04 2001  Alan Modra (alan@linuxcare.com.au)
10989
10990         * config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
10991         (machine_function): Define.
10992         (PIC_OFFSET_TABLE_SAVE_RTX) : Define.
10993         * config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
10994         pa_free_machine_status): New functions.
10995         (override_options): Set {init,mark,free}_machine_status to above.
10996         (hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
10997         PIC_OFFSET_TABLE_REGNUM_SAVED.
10998         * config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
10999         PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
11000         * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
11001         references to PIC_OFFSET_TABLE_REGNUM_SAVED.
11002         * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
11003
11004 2001-01-15  DJ Delorie  <dj@redhat.com>
11005
11006         * Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
11007         (cpp.1): Ditto.
11008         (gcc.1): Ditto.
11009
11010 Tue Jan 16 17:20:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11011
11012         * flow.c (propagate_one_insn): Make trying to delete a prologue
11013         or epilogue insn an ICE, not a warning.  Allow doing this if
11014         the current function returns with stack pointer depressed.
11015
11016         * combine.c (try_combine): If i3_subst_into_i2, properly check for
11017         I3 having more than one SET.
11018
11019 2001-01-16  Jim Wilson  <wilson@redhat.com>
11020
11021         * invoke.texi: Document IA-64 options.
11022
11023         * config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
11024         (fixup_errata): Delete TARGET_A_STEP use.
11025         * config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
11026         (TARGET_SWITCHES): Delete -ma-step option.
11027         * config/ia64/ia64.md (all FP patterns): Delete %B0.
11028         (movqicc_astep, movqi_internal_astep, movhicc_astep,
11029         movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
11030         movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
11031         movdfcc_astep, movdf_internal_astep, movtfcc_astep,
11032         movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
11033         Delete.
11034         (movqi_internal, movhi_internal, movsi_internal, movdi_internal,
11035         movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
11036         cmovsi_internal): Delete ! TARGET_A_STEP check.
11037
11038 2001-01-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11039
11040         * gcc.texi (Bug Lists): Do not mention newsgroups nor the
11041         possibility to report bugs via postal mail. Change a URL and
11042         merge in a nearly duplicate statement...
11043         (Bug Reporting): ...from here.
11044         (Service): Refer to the Bug Reporting section instead of
11045         duplicating an URL.
11046         (Contributing): Remove trivial explanations concerning snapshots.
11047
11048 2001-01-16  Alan Modra <alan@linuxcare.com.au>
11049
11050         * cppmain.c (general_init): Don't use ANSI prototype.
11051
11052 2001-01-16  Tom Tromey  <tromey@redhat.com>
11053
11054         * gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
11055
11056 2001-01-16  Richard Henderson  <rth@redhat.com>
11057
11058         * config/i386/i386.h: Fix comment typo.
11059         * config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
11060         (ashr+compare patterns): Match CCGOCmode not CCNOmode.
11061
11062 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
11063
11064         * gcc.c:  Revert previous -fsyntax-only-related change; move
11065         to cp/g++spec.c.
11066
11067 2001-01-16  Jakub Jelinek  <jakub@redhat.com>
11068
11069         * config/i386/i386.c (fcmov_comparison_operator): Only initialize
11070         inmode after checking GET_CODE (op).
11071
11072 2001-01-16  Richard Henderson  <rth@redhat.com>
11073
11074         * flow.c (struct propagate_block_info): Add mem_set_list_len.
11075         (MAX_MEM_SET_LIST_LEN): New.
11076         (propagate_one_insn): Update mem_set_list_len.
11077         (invalidate_mems_from_autoinc): Likewise.
11078         (invalidate_mems_from_set): Likewise.
11079         (mark_used_regs): Likewise.
11080         (init_propagate_block_info): Likewise.  Stop collecting memories
11081         when we reach MAX_MEM_SET_LIST_LEN.
11082         (mark_set_1): Likewise.
11083
11084 2001-01-16  Richard Henderson  <rth@redhat.com>
11085
11086         * unroll.c (precondition_loop_p): Fail if no iteration
11087         variable found.
11088
11089 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
11090
11091         * gcc.c:  When -fsyntax-only is given, do not complain about
11092         unused libraries.
11093
11094 2001-01-15  Richard Henderson  <rth@redhat.com>
11095
11096         * config/i386/i386.c (asm_output_function_prefix): Remove.
11097         (ix86_asm_file_end): New.
11098         (load_pic_register): Generate pic_label_name into a
11099         staticly allocated buffer.
11100         * config/i386/i386-protos.h: Update.
11101         * config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
11102         (ASM_FILE_END): New.
11103         * config/i386/i386afe.h: New file.
11104         * config.gcc (i?86-*-elf) [tm_file]: Use it.
11105         (i?86-*-{freebsd,linux*,moss*}): Likewise.
11106         * config/elfos.h (ASM_FILE_END): Undef before redefinition.
11107         * config/i386/cygwin.h (ASM_FILE_END): Likewise.
11108         * config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
11109         * config/i386/sco5.h (ASM_FILE_END): Likewise.
11110         * config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
11111
11112 2001-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
11113
11114         * Makefile.in (install-man): Remove explicit dependency on
11115         $(srcdir)/gcc.1.
11116
11117         * configure.in, configure: Revert previous patch requiring perl
11118         5.6.0.
11119
11120 2001-01-12  Aldy Hernandez  <aldyh@redhat.com>
11121
11122         * toplev.c (flag_guess_branch_prob): New.
11123         (f_options): Add guess-branch-probability option.
11124         (rest_of_decl_compilation): Only estimate branch probability if
11125         flag set.
11126         (main): set flag_guess_branch_prob.
11127
11128         * flags.h (flag_guess_branch_prob): New.
11129
11130 2001-01-15  DJ Delorie  <dj@redhat.com>
11131
11132         * gcc.texi (Makefile): Add documentation for Makefile targets.
11133
11134 2001-01-15  Philip Blundell  <philb@gnu.org>
11135
11136         * config/arm/arm.c (arm_finalize_pic): New arg "prologue".
11137         (is_pic): Delete.
11138         * config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
11139         (is_pic): Delete declaration.
11140         * config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
11141         (OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
11142         * config/arm/arm.md (builtin_setjmp_receiver): New.
11143
11144 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
11145
11146         * arm.c (use_return_insn): Don't try to determine the function type
11147         until after reload has completed.
11148         (arm_output_epilogue): Don't adjust the sp value recovered from the
11149         stack.
11150         (emit_multi_reg_push): Don't record dwarf information for the pc.
11151         * arm.md (eh_epilogue): The function type may have changed, so it
11152         needs to be recalculated.
11153         * arm/netbsd.h (DWARF2_UNWIND_INFO): Delete.  Can now use dwarf2
11154         unwind tables on arm/netbsd.
11155
11156 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
11157
11158         * arm.md (cbranchsi4): Correct calculation of branch ranges.
11159         (negated_cbranchsi4): Likewise.
11160
11161 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
11162
11163         * config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
11164         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
11165         (ASM_SPEC): Call subtarget_extra_asm_spec.  Don't
11166         pass -mapcs-* options to assembler.
11167         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
11168         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
11169         (ASM_SPEC): Call subtarget_extra_asm_spec.
11170
11171 2001-01-15  Andreas Jaeger  <aj@suse.de>
11172
11173         * config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
11174         warnings.
11175         (ix86_expand_builtin): Likewise.
11176
11177         * gencodes.c (output_predicate_decls): Make i size_t to avoid
11178         warning about comparison between signed and unsigned.
11179
11180 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
11181
11182         * expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
11183
11184 2001-01-14  Ralf Baechle <ralf@gnu.org>
11185
11186         * config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
11187         SUBTARGET_CPP_SPEC apropriatly.
11188
11189 2001-01-12  Mark Mitchell  <mark@codesourcery.com>
11190
11191         * varasm.c (make_decl_rtl): Fix typo in last change.
11192
11193 2001-01-14  Jeffrey Oldham  <oldham@codesourcery.com>
11194
11195         * defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
11196         linker supports the init_priority C++ attribute.
11197         * tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
11198         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
11199         linker does not support init_priority C++ attribute.
11200
11201 Sun Jan 14 22:31:30 2001  J"orn Rennecke <amylaar@redhat.com>
11202
11203         * Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
11204
11205 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
11206
11207         * c-parse.in (finish_parse): Add comment about cpp_destroy.
11208         * cp/lex.c (finish_parse): Similarly.
11209         * cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
11210         Return the number of errors encountered.
11211         * cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
11212         * cppmain.c (main): Don't call cpp_destroy.
11213
11214 2001-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
11215
11216         * configure.in: Require at least perl 5.6.0 to regenerate
11217         manpages.
11218         * configure: Regenerate.
11219
11220 2001-01-14  Richard Henderson  <rth@redhat.com>
11221
11222         * genrecog.c (DT_veclen_ge): New.
11223         (add_to_sequence) [MATCH_PARALLEL]: Generate one.
11224         (maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
11225         (nodes_identical_1): Handle DT_veclen_ge.
11226         (write_cond, debug_decision_2): Likewise.
11227
11228 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
11229
11230         * arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete.  Replace
11231         with ...
11232         (ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
11233
11234 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
11235
11236         * cppmain.c (do_preprocessing): New function; most of the old
11237         main.
11238         (main): Call it to do most of the work.
11239         (cb): Move from global scope to set_callbacks ().
11240         (setup_callbacks): Get the callback pointer.
11241         (general_init, printer_init): Clean up code and comments.
11242
11243 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
11244
11245         * config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
11246         compiling PIC.
11247
11248 2001-01-14  Kazu Hirata  <kazu@hxi.com>
11249
11250         * config/h8300/h8300.c (get_shift_alg): Update comments.
11251
11252 Sun Jan 14 06:20:49 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11253
11254         * ggc-page.c (alloc_annon): Call perror and correctly call exit.
11255         (alloc_page, ggc_alloc): Add casts to remove warnings.
11256
11257 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
11258
11259         * combine.c (simplify_comparison): Don't change `code' when
11260         can't reverse comparison.
11261
11262 2001-01-14  Richard Henderson  <rth@redhat.com>
11263
11264         * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
11265         update all call sites.  Return true for all non-label constants.
11266
11267 Sun Jan 14 10:09:48 MET 2001  Jan hubicka  <jh@suse.cz>
11268
11269         * i386.c (ix86_expand_compare): Add bypass_test and second_test
11270         parameters.
11271         (ix86_expand_branch): Update.
11272         (ix86_expand_setcc): Update to handle multiple test conditions.
11273         (expand_int_movcc): Likewise.
11274         (expand_fp_movcc): Likewise.
11275         * i386-protos.h (ix86_expand_compare): New.
11276         * i386.md (andqi_?_slp, orqi_?_slp): New.
11277         (conditional trap expander): Update call to ix86_expand_compare.
11278
11279 2001-01-14  Richard Henderson  <rth@redhat.com>
11280
11281         * config/vax/vax.md: Use nonimmediate_operand instead of
11282         general_operand in destinations.
11283
11284         * config/vax/vax.md (indirect_jump): Use register_operand.
11285
11286         * config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
11287         * config/vax/vax.md (call_pop): Turn into an expander.
11288         (call_value_pop): Likewise.
11289         (call, call_value): New.
11290
11291 2001-01-14  Andreas Jaeger  <aj@suse.de>
11292
11293         * config/i386/i386.c (ix86_split_fp_branch): Remove unused
11294         variables.
11295         (ix86_fp_compare_mode): Add unused attribute.
11296         (ix86_expand_fp_movcc): Remove unused variable.
11297         (ix86_expand_builtin): Make fcode unsigned.
11298
11299         * expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
11300         (expand_expr): Add cast to avoid signed warning.
11301         (store_field): Likewise.
11302         (store_constructor_field): Likewise.
11303         (store_constructor): Likewise.
11304         (store_expr): Likewise.
11305         (clear_storage): Likewise.
11306         (emit_group_store): Likewise.
11307         (emit_group_load): Likewise.
11308
11309 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
11310
11311         * c-common.c: Move format checking code to ...
11312         * c-format.c: ... here.  New file.  Reorder some functions and
11313         declarations.
11314         (decl_handle_format_attribute, decl_handle_format_arg_attribute):
11315         New functions.
11316         * c-common.h (decl_handle_format_attribute,
11317         decl_handle_format_arg_attribute): Declare.
11318         * Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
11319         (c-common.o): Adjust dependencies.
11320         (c-format.o): New list of dependencies.
11321
11322 2001-01-13  Jakub Jelinek  <jakub@redhat.com>
11323
11324         * unroll.c (loop_iterations): If we cannot prove iteration variable
11325         is set once in each iteration, punt.
11326
11327 Sun Jan 14 00:23:15 2001  Denis Chertykov  <denisc@overta.ru>
11328
11329         * config/avr/avr.md ("strlenhi"): Remove clobber of input address.
11330         (*strlenhi): Remove clobber (which was buggy) of output address.
11331
11332 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
11333
11334         * Makefile.in (generated-manpages): Add gcc.1
11335         ($(srcdir)/gcc.1): New target.
11336         (maintainer-clean): Delete $(srcdir)/gcc.1.
11337         * gcc.texi: Add macros @gccoptlist and @gol.
11338         * invoke.texi: Include option summary in manpage.  Mark up option
11339         summary with @gccoptlist and @gol.  Use @r in one place where
11340         appropriate.
11341         * texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
11342         * gcc.1: Generate from invoke.texi.
11343
11344 2001-01-13  Richard Henderson  <rth@redhat.com>
11345
11346         * ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
11347         (struct page_entry): Add group member.
11348         (struct page_group): New.
11349         (struct globals): Add page_groups member.
11350         (alloc_anon): Only define for using mmap; remove valloc call.
11351         (page_group_index): New.
11352         (set_page_group_in_use): New.
11353         (clear_page_group_in_use): New.
11354         (alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
11355         (free_page, release_pages): Likewise.
11356         * configure.in (with-gc): Default to ggc-page always.
11357
11358 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
11359
11360         * reload1.c (replace_pseudos_in_call_usage): Use
11361         reg_equiv_constant and reg_equiv_address, and don't try
11362         regno_reg_rtx first.
11363
11364 2001-01-13  Richard Henderson  <rth@redhat.com>
11365
11366         * ggc-page.c (alloc_page): Round up allocation size to one page.
11367         Set e->order on extra pages.
11368
11369 2001-01-13  Richard Henderson  <rth@redhat.com>
11370
11371         * genrecog.c (nodes_identical): Expand commentary.
11372         (write_switch): Watch out for identical nodes.
11373
11374 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11375
11376         * cppfiles.c (_cpp_fake_include): New function.
11377         * cpphash.h (_cpp_fake_include): New.
11378         * cpplib.c (do_line): Call _cpp_fake_include when entering
11379         header files in preprocessed input.
11380         * cppmain.c (cb_pragma_implementation): Remove handling.
11381         (setup_callbacks): Don't register pragmas.
11382
11383 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11384
11385         * extend.texi: Udate for CPP.
11386
11387 2001-01-13  Andreas Jaeger  <aj@suse.de>
11388
11389         * reload1.c: Add prototype for replace_pseudos_in_call_usage.
11390
11391         * regmove.c: Add prototype for replace_in_call_usage.
11392
11393 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11394
11395         * cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
11396         struct cpp_chunk, struct htab, struct toklist,
11397         struct cpp_context, CPP_STACK_MAX, struct lexer_state,
11398         struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
11399         CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
11400         ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
11401         (struct macro_args): Delete.
11402         * cpphash.h: See above.
11403
11404 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11405
11406         * cppmain.c (struct printer): Remove no_line_dirs.
11407         (options, cb): New.
11408         (main, setup_callbacks, scan_buffer, printer_init, cb_define)
11409         : Use options rather than CPP_OPTION.
11410         (setup_callbacks): Use cb rather than pfile->cb.
11411         (main): No need to check for a buffer.  Use cpp_errors.
11412         (printer_init): Don't set no_line_dirs.
11413         (maybe_print_line): Use options not no_line_dirs.
11414         (cb_file_change): Don't call print_line if -P.
11415
11416 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11417
11418         * c-lex.c (init_c_lex): Use cpp_get_callbacks to set
11419         callbacks.
11420         * c-parse.in (finish_parse): Use cpp_errors.
11421         (__yylex): Use return value of cpp_pop_buffer.
11422         * cp/lex.c (finish_parse): Use cpp_errors.
11423         * cp/spew.c (read_token): Use return value of cpp_pop_buffer.
11424
11425 Sat Jan 13 16:57:40 2001  Denis Chertykov  <denisc@overta.ru>
11426
11427         * README.AVR: URLs corrected.
11428
11429 Sat Jan 13 07:30:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11430
11431         * c-decl.c (start_function): Don't warn if old prototype is builtin
11432         that's not in C's namespace.
11433         * libgcc2.c (_varargs): Update definition of __builtin_saveregs.
11434         (_bb): Add prototype for ctime.
11435         * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
11436
11437 Sat Jan 13 09:53:32 MET 2001  Jan Hubicka  <jh@suse.cz>
11438
11439         * i386.c (ix86_fp_comparison_arithmetics_cost,
11440         ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
11441         ix86_fp_comparison_cost): New functions.
11442         (ix86_expand_fp_compare): Use the costs to choose best bethod; add
11443         two new parameters SECOND_TEST and BYPASS_TEST; allow generating
11444         two-branch sequences; make static.
11445         (ix86_use_fcomi_compare): Do decision according to the costs.
11446         (split_fp_branch): New.
11447         * i386.md (compare-and-branch patterns): Use split_fp_branch.
11448         * i386-protos.h (ix86_expand_fp_compare): Remove
11449         (ix86_split_fp_branch): Declare.
11450
11451         * i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
11452         and ix86_comparison_operator.
11453
11454         * i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
11455         to make it cheaper.
11456
11457         * i386.c (put_condition_code): Output properly the unordered/ordered
11458         compares in fp case.
11459         (ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
11460
11461         * tm.texi (REVERSE_CONDITION): Document.
11462         * i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
11463         in -ffast-math mode.
11464         * i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
11465
11466 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
11467
11468         * config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
11469
11470         * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
11471         optimized away.
11472
11473         * config/sh/sh.c (mova_p): Fix test for mova_const.
11474
11475 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11476
11477         * fix-header.c (read_scan_file): Use cpp_get_callbacks and
11478         cpp_get_options rather than dereferencing pfile and using
11479         CPP_OPTION.
11480         * scan-decls.c (scan_decls): Use return value of
11481         cpp_pop_buffer rather than CPP_BUFFER.
11482
11483 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11484
11485         * cppinit.c (cpp_handle_option): help_only is now part of the
11486         cpp_options structure.
11487         * cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
11488         cpp_set_callbacks): New functions.
11489         * cpplib.h (cpp_callbacks): Break out as a named structure.
11490         (cpp_options): Move help_only here from cpp_reader.
11491         (CPP_FATAL_ERRORS): Update to use cpp_errors.
11492         (cpp_errors, cpp_get_options, cpp_get_callbacks,
11493         cpp_set_callbacks): New prototypes.
11494         * cppmain.c (main): Update for help_only.
11495
11496 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
11497
11498         * Makefile.in (info, maintainer-clean, install-info, uninstall):
11499         Also build and remove and install and uninstall c-tree.info and
11500         cppinternals.info.
11501         ($(srcdir)/gcc.info): Add dependency on contrib.texi.
11502         ($(srcdir)/cppinternals.info): New target.
11503         * c-tree.texi: Change file name used when makeinfo used without -o
11504         from ir.info to c-tree.info.  Add info directory entry.
11505         * cppinternals.texi: Add info directory entry.
11506         * .cvsignore: Update.
11507
11508 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
11509
11510         * c-typeck.c (store_init_value): Don't require constant initializer
11511         elements with -pedantic -std=c99.
11512         (digest_init): Change error about non-constant initializer elements
11513         into pedwarn.
11514         (constructor_range_end): Remove.
11515         (constructor_incremental, designator_depth,
11516         designator_errorneous): New variables.
11517         (struct constructor_stack): Remove range_end, add incremental.
11518         (struct constructor_range_stack, constructor_range_stack): New.
11519         (struct initializer_stack): Add constructor_range_stack.
11520         (finish_init): Set it.
11521         (start_init): Likewise.  require_constant_elements for non-static
11522         trees only if not flag_isoc99.
11523         (really_start_incremental_init): Remove constructor_range_end, add
11524         constructor_incremental.
11525         (pop_init_level): Likewise.
11526         (push_init_level): Likewise.  If implicit and the subobject had some
11527         value set already, preinitialize the level with it.
11528         Warn about missing braces only if not pushing due to designators.
11529         (set_designator, push_range_stack): New functions.
11530         (set_init_label): Use them.
11531         (set_init_index): Likewise.  Remove constructor_range_end.
11532         Error if designator index is outside of array bounds.
11533         (add_pending_init): Compare values of purpose index trees, not the
11534         trees themselves.  Allow overwriting of already initialized element.
11535         Issue a warning if it had side-effects.
11536         (set_nonincremental_init, set_nonincremental_init_from_string): New
11537         functions.
11538         (pending_init_member): Rename to...
11539         (find_init_member): ...this function.  Call set_nonincremental_init
11540         if necessary.  Compare values of purpose index trees, not the trees
11541         themselves.  Return the actual value, not just non-zero if something
11542         is found.
11543         (output_init_element): Remove checks for duplicates.
11544         If field has zero size, only check the initializer for correctness.
11545         Call set_nonincremental_init if necessary.  Push RECORD/ARRAY into AVL
11546         if constructor_incremental is zero.  Change error about initializers
11547         not computable at load time into pedwarn.
11548         (output_pending_init_elements): Compare bit positions, not
11549         FIELD_DECLs to take into account zero-sized fields.
11550         (process_init_element): Use constructor_range_stack to fill all
11551         ranges in the designator lists from current level up.
11552         * extend.texi: Update documentation for labeled elements.
11553
11554 2001-01-12  Alexandre Oliva  <aoliva@redhat.com>
11555
11556         * calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
11557         to function usage for arguments passed by reference.  Optimize
11558         callee-copied arguments.
11559         * regmove.c (replace_in_call_usage): New function.
11560         (fixup_match_1): Call it.
11561         * cse.c (cse_insn): Canonicalize registers in function usage.
11562         * reload1.c (replace_pseudos_in_call_usage): New function.
11563         (reload): Call it.
11564
11565         * Makefile.in: Reverted yesterday's wrong patch.  Installed the
11566         right version.
11567
11568 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
11569
11570         * config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
11571         not XEXP (tmp, 0).
11572
11573 2001-01-12  DJ Delorie  <dj@redhat.com>
11574
11575         * Makefile.in (bootstrap): rename stages to be mnemonic.  Add
11576         restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
11577         targets.
11578
11579 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
11580
11581         * cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
11582         tm.texi: Consistently refer to ISO C instead of ANSI C.  Refer to
11583         -std options alongside references to -ansi.  Update some
11584         documentation for C99.
11585         * cpp.1: Regenerate.
11586
11587 2001-01-12  Andreas Jaeger  <aj@suse.de>
11588
11589         * haifa-sched.c (restore_line_notes): Remove argument block B
11590         since it's unused.
11591         * sched-ebb.c (schedule_ebb): Change caller.
11592         * sched-rgn.c (schedule_region): Likewise.
11593         * sched-int.h (restore_line_notes): Adjust prototype.
11594
11595         * loop.h: Remove wrong declaration of doloop_condition_get.
11596
11597 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
11598
11599         * extend.texi:  Move C++-extension-related node from the C section
11600         into the C++ section.
11601
11602 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
11603
11604         * extend.texi: Refer to an array of pointers to functions instead
11605         of one of functions.
11606
11607 Fri Jan 12 12:08:12 MET 2001  Andreas Jaeger  <aj@suse.de>
11608                               Jan Hubicka  <jh@suse.cz>
11609
11610         * combine.c (reversed_comparison): Fix typo in last patch.
11611         Check X for NULL.
11612         (combine_reversed_comparison_code): Make static to follow
11613         prototype declaration.
11614
11615 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
11616
11617         * install.texi:  Remove misplaced duplicate entry.
11618
11619 2001-01-11  Ulrich Drepper  <drepper@redhat.com>
11620
11621         * config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
11622
11623 Thu Jan 11 17:06:30 EST 2001  John Wehle  (john@feith.com)
11624
11625         * final.c: (leaf_function_p): Fix typo.
11626
11627 2001-01-11  Zack Weinberg  <zack@wolery.stanford.edu>
11628
11629         * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
11630         Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
11631         which you have.
11632         (AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
11633         * configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
11634         mmap_anon, and valloc is available.
11635         * ggc-page.c: Restructure ifdef logic to match new autoconf
11636         spec.  Don't throw away the test page in init_ggc.
11637
11638         * configure, config.in: Regenerate.
11639
11640 2001-01-12  Michael Hayes  <mhayes@redhat.com>
11641
11642         * loop.h (total_biv_increment): Constify iv_class pointer.
11643         (struct induction): Replace `mem_mode' with `mem' rtx.
11644         * unroll.c (total_biv_increment): Constify iv_class pointer.
11645         * loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
11646         (find_mem_givs, combine_givs_p): Likewise.
11647         (debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
11648
11649 2001-01-10  Thomas Pfaff <tpfaff@gmx.net>
11650
11651         * gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
11652         LastError.
11653         (__gthread_getspecific): Ditto.
11654
11655 Fri Jan 12 00:04:00 MET 2001  Jan Hubicka  <jh@suse.cz>
11656
11657         * i386.c (ix86_comparison_operator, fcmov_comparison_operator,
11658         put_condition_code): Convert fp comparison codes to integer
11659         before handling.
11660         (ix86_expand_fp_compare): Postnote the fp comparison code converison
11661         to final.
11662
11663         * i386.c (unsigned_comparison, no_comparison_operator): Kill.
11664         * i386-protos.h (no_comparison_operator): Kill.
11665
11666         * i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
11667
11668         * combine.c (REVERSIBLE_CC_MODE): Remove.
11669         (reversible_comparison_p): Remove.
11670         (combine_reversed_comparison_code): New.
11671         (reversed_comparison): New.
11672         (combine_simplify_rtx): Use
11673         combine_reversed_comparison_code/reversed_comparison instead
11674         of reversible_comparison_p.
11675         (simplify_if_then_else): Likewise.
11676         (simplify_set): Likewise.
11677         (simplify_logical): Likewise.
11678         (if_then_else_cond): Likewise.
11679         (known_cond): Likewise.
11680         (simplify_comparison): Likewise.
11681
11682 2001-01-11  Alan Lehotsky  <lehotsky@tiac.net>
11683
11684         * builtins.c (std_expand_builtin_va_start): Handle varargs when
11685         sizeof (int) is larger than sizeof(__word__).
11686
11687 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11688
11689         * cppinit.c (do_includes): Fix typo.
11690
11691 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11692
11693         * config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
11694         in S_REGS does not occur because not all sources are possible
11695         when a S_REGS is a destination (sometimes needs a clobber).
11696         (movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
11697         (zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
11698         (anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
11699         (ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
11700         (ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
11701         (ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
11702         (lshrdi_const1, lshrsi3_const16): Likewise.
11703         (*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
11704         (*movhi_68hc12, *movqi_68hc12): Likewise.
11705         (movstrictqi): Make sure reloading in D_REGS as a destination
11706         does not happen.
11707
11708 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11709
11710         * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
11711
11712 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11713
11714         * cppinit.c (cpp_start_read): If -fpreprocessed, ignore
11715         -D, -U and -A, and don't initialize the builtins.
11716         (do_includes): Error if -include or -imacros with -fpreprocessed.
11717         * cppmain.c (cb_define, cb_undef): Unconditionally process
11718         the callback.
11719         * tradcpp.c (main): Fix typo.
11720
11721 2000-01-11  Mark Elbrecht  <snowball3@bigfoot.com>
11722
11723         * cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
11724         (read_name_map): Use IS_ABSOLUTE_PATH.
11725         * tradcpp.c (get_filename): Likewise.
11726
11727 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11728
11729         * config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
11730         (*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
11731         (*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
11732         (*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
11733         (*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
11734         (cmphi_z_used): Don't use '@' for the output.
11735         (tstqi_z_used): Likewise.
11736         (cmpqi_z_used): Likewise.
11737         (one_cmplsi2): Likewise.
11738
11739 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
11740
11741         * config/sh/sh.c (barrier_align): Recognize branch around far
11742         branch and redundant insn.
11743
11744 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11745
11746         * invoke.texi: Restore documentation of the drivers' switches -MD
11747         and -MMD.
11748
11749 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
11750
11751         * config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
11752
11753         * Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
11754         check-objc//%): Support parallel testing of multilibs.
11755         (TESTSUITEDIR): Set to testsuite by default, but override for
11756         parallel testing.
11757         (check-gcc, check-g++, check-g77, check-objc): Enter
11758         $(TESTSUITEDIR).
11759
11760 2001-01-11  Bernd Schmidt  <bernds@redhat.com>
11761
11762         * alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
11763         * sched-deps.c (deps_may_trap_p): Likewise.
11764         * basic-block.h: Remove a comment.
11765         * flow.c (PROP_POSTRELOAD): Remove.
11766         (update_life_info): Don't add it to prop_flags.
11767         (mark_set_1): Lose the code that was enabled by it.
11768
11769 2001-01-11  Michael Hayes  <mhayes@redhat.com>
11770
11771         * flow.c (flow_call_edges_add): New.
11772         * basic_block.h (flow_call_edges_add): New.
11773
11774 2001-01-11  J"orn Rennecke <amylaar@redhat.com>
11775
11776         * reload1.c (move2add_note_store): Update reg_set_luid even if
11777         base reg remains the same.
11778
11779 2001-01-10  Nick Clifton  <nickc@redhat.com>
11780
11781         * config/d30v/d30v.c (d30v_init_machine_status): Initialise
11782         machine_function structure to zero.
11783         Add prototypes for machine_status functions.
11784
11785 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
11786
11787         * c-common.h (CTI_VOID_LIST): Remove.
11788         (void_list_node): Likewise.
11789         * tree.h (TI_VOID_LIST_NODE): New enumeral.
11790         (void_list_node): New macro.
11791         * config/arm/arm.c (arm_init_builtins): Use void_list_node.
11792         * config/i386/i386.c (ix86_init_builtins): Likewise.
11793         * config/ia64a/ia64.c (ia64_init_builtins): Likewise.
11794
11795 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
11796
11797         * Makefile.in (tradcpp0): Depend on mkdeps.h.  Link mkdeps.o
11798         * cppinit.c (cpp_start_read): Update comment, remove unneeded
11799         if statement.
11800         * tradcpp.c: Include mkdeps.h.
11801         (deps, print_deps_phony_targets, deps_append, output_deps,
11802         init_dependency_output, output_deps): New.
11803         (deps_buffer, deps_allocated_size, deps_size, deps_column,
11804         deps_output): Delete.
11805         (print_deps_missing_files): Rename deps_missing_files.
11806         (inhibit_output): Make global.
11807         (main): Delete inhibit_output, deps_stream, deps_target.
11808         Use mkdeps functionality in the same way as cpplib.  Remove
11809         -g3 handling.  Handle -MF, -MP, -MQ, -MT.  Update handling of
11810         -M and -MM.  Remove old handling of deps via deps_out, and
11811         old reading of environment variables.
11812         (get_filename): Update to use deps_add_dep.
11813
11814 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
11815
11816         * output.h (make_function_rtl): Remove prototype.
11817         (make_decl_rtl): Likewise.
11818         * varasm.c (make_function_rtl): Remove.
11819         (make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
11820         than from a third parameter.
11821         * tree.h (make_decl_rtl): Remove last parameter.
11822         * c-decl.c (builtin_function): Remove last argument in call to
11823         make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
11824         (start_function): Likewise.
11825         * except.c (call_get_eh_context): Likewise.
11826         * expr.c (emit_block_move): Likewise.
11827         (clear_storage): Likewise.
11828         * profile.c (output_func_start_profiler): Likewise.
11829         * toplev.c (rest_of_decl_compilation): Likewise.
11830         * objc/objc-act.c (create_builtin_decl): Likewise.
11831         (synth_module_prologue): Likewise.
11832         (generate_static_reference): Likewise.
11833         (build_selector_reference_decl): Likewise.
11834         (build_class_reference_decl): Likewise.
11835         (build_objc_string_decl): Likewise.
11836         (build_protocol_reference): Likewise.
11837
11838 2001-01-10  Richard Henderson  <rth@redhat.com>
11839
11840         * hwint.h: Revert yesterday's change.
11841
11842 2001-01-10  Nick Clifton  <nickc@redhat.com>
11843
11844         * function.h (save_machine_status): Delete.
11845         (restore_machine_status): Delete.
11846         Amend comment describing {init|mark|free}_machine_status.
11847
11848         * function.c (save_machine_status): Delete.
11849         (restore_machine_status): Delete.
11850         Amend comment describing {init|mark|free}_machine_status.
11851         (push_function_context_to): Remove invocation of
11852         save_machine_status.
11853         (pop_function_context_from): Remove invocation of
11854         restore_machine_status.
11855
11856         * emit-rtl.c (init_emit_once): Amend comment describing
11857         {init|mark|free}_machine_status.
11858
11859         * tm.texi (Per-Function Data): New node.  Describe the
11860         INIT_EXPANDERS macro and the {init|mark|free}_machine_status
11861         function pointers.
11862
11863 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
11864
11865         * cppinit.c (OPT_g): Remove.
11866         (cpp_handle_option): Update for removed -g3.
11867         (print_help): Update.
11868         * cpplib.h (struct cpp_options): Remove debug_output.
11869         * cppmain.c (setup_callbacks, cb_define): Update.
11870         * gcc.c (cpp_options): Translate -g3 to -dD.
11871
11872 2001-01-10  Aldy Hernandez  <aldyh@redhat.com>
11873
11874         * config/i960/i960.md: Change modifier to + on the zero_extract
11875         pattern after the (rotate -2 reg) canonicalization pattern.
11876
11877 2001-01-10  Richard Henderson  <rth@redhat.com>
11878
11879         * config/alpha/alpha.c (alpha_free_machine_status): New.
11880         (override_options): Install it.
11881         (alpha_mark_machine_status): Verify machine non-null.
11882         * config/i386/i386.c (ix86_free_machine_status): New.
11883         (override_options): Install it.
11884         (ix86_init_machine_status): Use xcalloc.
11885         (ix86_mark_machine_status): Verify machine non-null.
11886         * config/ia64/ia64.c (ia64_free_machine_status): New.
11887         (ia64_override_options): Install it.
11888         (ia64_mark_machine_status): Verify machine non-null.
11889
11890 Wed Jan 10 11:34:39 2001  Jeffrey A Law  (law@cygnus.com)
11891
11892         * function.c (instantiate_virtual_regs): Instantiate virtual
11893         registers found in CALL_INSN_FUNCTION_USAGE.
11894
11895 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
11896
11897         * i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
11898         equivalent to -ansi in disabling -Di386.
11899
11900 Wed Jan 10 16:38:31 MET 2001  Jan Hubicka  <jh@suse.cz>
11901
11902         * i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
11903         new functions.
11904         (ix86_expand_fp_compare): Make trivial use of new infrastructure.
11905
11906 2001-01-10  Richard Earnshaw  <rearnsha@arm.com>
11907
11908         * arm.c (arm_init_builtins): Temporarily disable xscale builtins.
11909
11910 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
11911
11912         * invoke.texi: Document that -fcond-mismatch isn't supported for
11913         C++.
11914
11915 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
11916
11917         * gcc.texi: Define macro gcctabopt.
11918         * invoke.texi: Add manpage sections BUGS and AUTHOR.  Use
11919         @command, @env and @option in some places where appropriate.  Use
11920         @gcctabopt where appropriate.  Put URLs and email addresses inside
11921         @w.
11922
11923 2001-01-10  Nathan Sidwell  <nathan@codesourcery.com>
11924
11925         * gcc.c (cpp_options): Set MD file name from output
11926         filename, if specified.
11927         (suffix_subst): New static variable.
11928         (do_spec): Clear it.
11929         (do_spec_1, case '.'): Handle new `%.suffix' spec.
11930         Clear it.
11931         (give_switch): Handle suffix_subst.
11932
11933 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
11934
11935         * invoke.texi:  Fix another typo.
11936
11937 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
11938
11939         * invoke.texi:  Fix typo.
11940
11941 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
11942
11943         * c-lang.c (lang_hooks): Update.
11944         (lang_decode_option): Remove.
11945         (lang_init_options): Rename c_init_options.
11946         * toplev.c (main): Use lang_hooks for lang_init_options
11947         and lang_decode_option.
11948         * toplev.h (lang_hooks): Add 2 new hooks.
11949         * tree.h: Remove lang_init_options and lang_decode_option.
11950         * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
11951         * cp/decl2.c: Similarly.
11952         * cp/lex.c (lang_init_options): Rename cxx_init_options.
11953         (lang_hooks): Update.
11954         * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
11955         for consistency.
11956         (lang_init_options): Rename ffe_init_options.
11957         (lang_hooks): Update.
11958         (lang_decode_option): Remove.
11959         * java/lang.c (lang_init_options): Rename java_init_options.
11960         (lang_decode_option): Rename java_decode_option.
11961         (lang_hooks): Update.
11962         * objc/objc-act.c (lang_init_options): Rename objc_init_options.
11963         (lang_decode_option): Rename objc_decode_option.
11964         (lang_hooks): Update.
11965
11966 2001-01-09  Nick Clifton  <nickc@redhat.com>
11967
11968         * config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
11969         (d30v_return_addr_rtx): Delete.
11970         (d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
11971         cfun->machine structure.
11972         (struct machine_function): Move to d30v.h
11973         (d30v_save_machine_status): Delete.
11974         (d30v_restore_machine_status): Delete.
11975         (d30v_init_machine_status): New Function.
11976         (d30v_mark_machine_status): New Function.
11977         (d30v_free_machine_status): New Function.
11978         (d30v_init_expanders): Use new functions.
11979         (d30v_return_addr): Use ra_rtx field in cfun->machine.
11980         (d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
11981         d30v_return_addr_rtx.
11982
11983         * config/d30v/d30v.h (struct_machine): Move here.
11984         Add eh_epilogue_sp_ofs field.
11985
11986         *config/d30v/d30v.md (epilogue): Initialise eh_epilogue_sp_ofs
11987         field in cfun->machine structure.
11988
11989 Tue Jan  9 21:34:57 2001  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11990
11991         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
11992         PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
11993         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
11994
11995 Tue Jan  9 21:25:19 2001  Jeffrey A Law  (law@cygnus.com)
11996
11997         * objc/lang-options.h: Remove bogus reference to
11998         Java trademark.
11999
12000 2001-01-09  Kazu Hirata  <kazu@hxi.com>
12001
12002         * config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
12003         return the result.
12004
12005 2001-01-09  Alan Lehotsky  <lehotsky@tiac.net>
12006
12007         * reload.c (find_reloads_address): Check for eliminable registers
12008         when substituting a constant expression for a pseudo.
12009
12010 2001-01-09  Joseph S. Myers  <jsm28@cam.ac.uk>
12011
12012         * c-common.c (enum format_type): Add format_type_error.
12013         (decode_format_type): New function.
12014         (decl_attributes): Use it.
12015         (format_kind_info): Adjust comment.
12016
12017 2001-01-09  David O'Brien  <obrien@BSDi.com>
12018
12019         * config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
12020         i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
12021         files in tm_file.
12022         * config/i386/gnu.h: Don't include required platform specific .h files,
12023         tm.h will do it instead.
12024         * config/i386/i386elf.h: Likewise.
12025         * config/i386/linux.h: Likewise.
12026         * config/i386/moss.h: Likewise.
12027         * config/mips/gnu.h: Likewise.
12028
12029 2001-01-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
12030
12031         * config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
12032         (rs6000-ibm-aix3.[01]*): Likewise.
12033         (rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
12034         (rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
12035         (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
12036         (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
12037         (powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
12038         (powerpc-*-eabiaix*): Likewise.
12039         (powerpc-*-eabisim*): Likewise.
12040         (powerpc-*-elf*): Likewise.
12041         (powerpc-*-eabi*): Likewise.
12042         (powerpc-*-rtems*): Likewise.
12043         (powerpc-*-linux*libc1): Likewise.
12044         (powerpc-*-linux*): Likewise.
12045         (powerpc-wrs-vxworks*): Likewise.
12046         (powerpcle-wrs-vxworks*): Likewise.
12047         (powerpcle-*-sysv*): Likewise.
12048         (powerpcle-*-elf*): Likewise.
12049         (powerpcle-*-eabisim*): Likewise.
12050         (powerpcle-*-eabi*): Likewise.
12051         (powerpcle-*-solaris2*): Likewise.
12052         * config/rs6000/aix31.h: Delete includes.
12053         * config/rs6000/aix3newas.h: Likewise.
12054         * config/rs6000/aix41.h: Likewise.
12055         * config/rs6000/aix43.h: Likewise.
12056         * config/rs6000/beos.h: Likewise.
12057         * config/rs6000/rtems.h: Likewise.
12058         * config/rs6000/sysv4.h: Likewise.
12059
12060 2001-01-09  Kazu Hirata  <kazu@hxi.com>
12061
12062         * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
12063         Change an argument mode of machine_mode to shift_mode of
12064         shift_mode.  Remove an extra error check.
12065         (emit_a_shift): Adopt to the new calling prototype of
12066         get_shift_alg.
12067         (function_prologue): Fix code for a monitor
12068         function.  Support H8/S.
12069         (function_epilogue): Do not output pop for a monitor function.
12070
12071 2001-01-09  Nick Clifton  <nickc@redhat.com>
12072
12073         * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
12074         (setup_incoming_varargs): Use sysv_varargs_p field of the
12075         cfun->machine structure.
12076         (struct machine_function): Move to rs6000.h
12077         (rs6000_save_machine_status): Delete.
12078         (rs6000_restore_machine_status): Delete.
12079         (rs6000_init_machine_status): New Function.
12080         (rs6000_free_machine_status): New Function.
12081         (rs6000_init_expanders): Use new functions.
12082
12083         * config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
12084         export.
12085         (struct machine_function): Move here.
12086
12087         * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
12088         sysv_varargs_p field of the cfun->machine structure.
12089
12090         * config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
12091         Remove prototype.
12092         (rs6000_restore_machine_status): Remove prototype.
12093
12094 2001-01-09  Richard Henderson  <rth@redhat.com>
12095
12096         * sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
12097         reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
12098         * sched-deps.c (sched_analyze_1): Update uses of struct deps.
12099         (sched_analyze_2, sched_analyze_insn): Likewise.
12100         (sched_analyze, init_deps): Likewise.
12101         (free_deps): Likewise.  Iterate with EXECUTE_IF_SET_IN_REG_SET.
12102         * sched-rgn.c (propagate_deps): Likewise.  Remove max_reg argument.
12103         (compute_block_backward_dependences): Update propagate_deps call.
12104
12105 2001-01-09  Mark Elbrecht  <snowball3@bigfoot.com>
12106
12107         * gcc.c (process_command): Set switches[n_switches].ordering to 0.
12108
12109 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
12110
12111         * cppinit.c (OPT_MD, OPT_MMD): Restore.
12112         (cpp_handle_option): Handle them.
12113         (cpp_post_options): Ensure one of -M or -MM is specified with
12114         any other -M? option.
12115         (init_dependency_output): Suppress output with -MG.
12116
12117 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
12118
12119         * cpp.texi: Update.
12120         * invoke.texi: Update.
12121
12122 2001-01-09  Bernd Schmidt  <bernds@redhat.com>
12123
12124         * sh.md (reload_outsf): Generate recognizable patterns for
12125         TARGET_SH3E.
12126
12127 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
12128
12129         * c-lang.c (lang_hooks): Update.
12130         (lang_init): Rename c_init.
12131         (lang_finish): Remove.
12132         * toplev.c (compile_file): Use lang_hooks for lang_init ()
12133         and lang_finish ().
12134         * toplev.h (lang_hooks): Add init () and finish ().
12135         * tree.h (lang_init, lang_finish): Remove.
12136         * cp/tree.h (lang_init, lang_finish): Remove.
12137         * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
12138         * cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
12139         lang_hooks): New.
12140         (lang_init, lang_finish): Remove.
12141         * f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
12142         (lang_hooks): Update.
12143         * java/lang.c (lang_init): Rename java_init.
12144         (lang_finish): Remove.
12145         (lang_hooks): Update.
12146         * objc/objc-act.c (lang_init): Rename objc_init.
12147         (lang_finish): Remove.
12148         (lang_hoooks): Update.
12149
12150 20001-01-09  Graham Stott  <grahams@redhat.com>
12151
12152         * cppfiles.c (_cpp_execute_include): Move `len` initialisation
12153         after `ptr` is initialised.
12154
12155 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
12156
12157         * config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
12158         (INITIALIZE_TRAMPOLINE): Adjust accordingly.
12159         * config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
12160         stack adjusts, instead of r3.
12161
12162 2001-01-09  Michael Hayes  <mhayes@redhat.com>
12163
12164         * flow.c (flow_loop_scan): Break out of ...
12165         (flow_loops_find) ... here.
12166         * basic-block.h (flow_loop_scan): New.
12167         (LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
12168         (LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
12169
12170 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
12171
12172         * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
12173         macro_buffer_len.
12174         * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
12175         realloc()ing macro_buffer.
12176
12177         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
12178         if it's wider than long and the target's long is wider than the
12179         host's.
12180
12181 2001-01-09  Mark Mitchell  <mark@codesourcery.com>
12182
12183         Remove support for using UWIN as a host machine.
12184         * configure.in: Issue an error message.
12185         * configure: Regenerated.
12186         * config.gcc: Remove xm_* UWIN configury.
12187         * config/i386/xm-uwin.h: Remove.
12188
12189 2001-01-08  Nick Clifton  <nickc@redhat.com>
12190
12191         * config/v850/v850.c (ra_rtx): Delete.
12192         (v850_save_machine_status): Delete.
12193         (v850_restore_machine_status): Delete.
12194         (v850_init_machine_status): New function.
12195         (v850_mark_machine_status): New function.
12196         (v850_free_machine_status): New function.
12197         (v850_return_addr): Use ra_rtx field in machine structure.
12198         (v850_init_expanders): Use new functions.
12199
12200         * config/v850/v850-protos.h: Fix prototypes for v850_output_*
12201         * config/v850/v850.c: Change arguments to v850_output+* functions
12202         to take a const char *, to avoid compile time warning.
12203         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
12204         (USER_LABEL_PREFIX): Redefine.
12205
12206 2000-01-08  Jim Wilson  <wilson@redhat.com>
12207
12208         * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
12209         1 to unsigned HOST_WIDE_INT before left shift.
12210
12211 2001-01-08  Nick Clifton  <nickc@redhat.com>
12212
12213         * config/arm/arm.c (arm_mark_machine_status): Check to see if
12214         the machine structure has been allocated.
12215         (arm_free_machine_status): New function: Free the machine
12216         specific function structure.
12217
12218 2001-01-08  Richard Henderson  <rth@redhat.com>
12219
12220         * jump.c (simplejump_p): Revert last change.
12221
12222 2001-01-08  Neil Booth  <neil@daikokuya.demon.co.uk>
12223
12224         * cppinit.c (init): Rename init_library.
12225         (cpp_create_reader): Update.
12226         * gcc.c (cpp_options): If -o given, use it as the target of
12227         any -M options.
12228
12229 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
12230
12231         * arm.c (arm_arch5e): New variable.
12232         (all_cores): XScale is a 5TE device.
12233         (arm_override_options): Set arm_arch5e.
12234         (arm_init_builtins): __builtin_prefetch is in arch5e.
12235         * arm.h (arm_arch5e): Declare it.
12236
12237         * arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
12238
12239         * arm.md (define_constants): Add defines for UNSPEC and
12240         UNSPEC_VOLATILE insns.  Update all users.
12241         (define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
12242         * arm.c (multi_register_push, note_invalid_constants)
12243         (emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
12244         * arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
12245         (STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
12246
12247 Mon Jan  8 16:14:56 MET 2001  Jan Hubicka  <jh@suse.cz>
12248
12249         * jump.c (jump_optimize_1): Use reversed_comparison_code
12250         instead of can_reverse_comparison_p.
12251         (jump_back_p): Likewise.
12252         (invert_exp_1): Likewise.
12253         (thread_jumps): Likewise.
12254         * simplify-rtx.c (simplify_unary_operation): Likewise.
12255         (simplify_ternary_operation): Likewise.
12256         * cse.c (find_comparison_args): Convert to use
12257         can_reverse_comparison_p.
12258         (record_jump_equiv): Likewise.
12259
12260 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
12261
12262         * arm.h (HARD_REGNO_RENAME_OK): Delete.
12263         (EPILOGUE_USES): Define.
12264         (INITIAL_ELIMINATION_OFFSET): Current prologue code does not
12265         automatically stack the LR if it isn't live.
12266
12267 Mon Jan  8 13:46:02 MET 2001  Jan Hubicka  <jh@suse.cz>
12268
12269         * i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
12270         properly.
12271
12272 Sun Jan  7 18:37:43 2001  Mark P Mitchell  <mark@codesourcery.com>
12273
12274         * ggc-page.c (max_alignment): New structure.
12275         (MAX_ALIGNMENT): New macro.
12276         (init_ggc): Use it to round up the sizes in the
12277         extra_order_size_table.
12278
12279 2001-01-07  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
12280
12281         * config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
12282         after reload.
12283
12284 2001-01-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12285
12286         * builtins.def (BUILT_IN_FPRINTF): New entry.
12287
12288         * c-common.c (c_expand_builtin_fprintf): New function.
12289         (init_function_format_info): Handle __builtin_fprintf.
12290         (c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
12291         (c_expand_builtin): Handle BUILT_IN_FPRINTF.
12292
12293         * c-decl.c (duplicate_decls): Adjust comment.
12294
12295         * extend.texi (fprintf): Document new builtin.
12296
12297 2001-01-07  Richard Henderson  <rth@redhat.com>
12298
12299         * jump.c (simplejump_p): Recognize any single_set jump
12300         of the proper form.
12301
12302 2001-01-07  Richard Henderson  <rth@redhat.com>
12303
12304         * configure.in (slibdir): Accept an --with-slibdir option.
12305         Use "test" not "[" in configure.  Default to $(libdir).
12306
12307         * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
12308         fix typo in rm -f.
12309         * config/t-aix43 (SHLIB_INSTALL): Likewise.
12310         * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
12311         (SHLIB_LINK): Create links for the soname.
12312         * config/mips/t-iris6: Likewise.
12313         * config/sparc/t-slibgcc: Likewise.
12314         * config/sparc/t-slibgcc-sld: Likewise.
12315
12316 2001-01-07  Jakub Jelinek  <jakub@redhat.com>
12317
12318         * config/i386/i386.c (constant_call_address_operand): Accept
12319         (const (plus (symbol_ref) (const_int))).
12320         * config/i386/i386.h (PREDICATE_CODES): Add CONST for
12321         constant_call_address_operand.
12322
12323 2001-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
12324
12325         * libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
12326         and LONG_LONG_TYPE_SIZE > 32.
12327
12328 2001-01-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12329
12330         * jump.c (reversed_comparison_code_parts): Fix typo introduced by
12331         the previous change.
12332
12333 Sun Jan  7 19:37:48 MET 2001  Jan Hubicka  <jh@suse.cz>
12334
12335         * jump.c (reversed_comparison_code_parts, reversed_comparison_code):
12336         New.
12337         (can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
12338         (reverse_condition_maybe_unordered): Abort on unsigned comparisons.
12339         * rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
12340         Declare.
12341
12342 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12343
12344         * fix-header.c (read_scan_file): s/pfile/scan_in/.
12345
12346 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12347
12348         * c-lang.c (c_post_options): Call cpp_post_options.
12349         * objc/objc-act.c (objc_post_options): Similarly.
12350         * cppmain.c (main): Similarly.
12351         * fix-header.c (read_scan_file): Similarly.
12352         * cppinit.c (cpp_start_read): Move option consistency checks
12353         to cpp_post_options.  Don't call init_dependency_output.
12354         If needed, add default target and main file dependency.
12355         (OPT_MD, OPT_MMD): Remove.
12356         (OPT_MF): New.
12357         (cpp_handle_option): Update for OPT_* changes.
12358         (cpp_post_options): New.
12359         (init_dependency_output): Command line -MF overrides environment
12360         variables.  Don't set default target etc.  Suppress output
12361         if dependencies are going to stdout.
12362         (print_help): Update.
12363         * cpplib.h (cpp_post_options): New.
12364         * gcc.c (cpp_options): Update for -MD, -MMD, -MF.
12365
12366 Sun Jan  7 14:44:19 MET 2001  Jan Hubicka  <jh@suse.cz>
12367
12368         * jump.c (comparison_dominates_p): Support unordered compares.
12369
12370 Sun Jan  7 14:39:07 MET 2001  Jan Hubicka  <jh@suse.cz>
12371
12372         * simplify-rtx.c (simplify_relational_operation): Always simplify
12373         ORDERED and UNORDERED when FLAG_FAST_MATH.  Handle properly UNLE
12374         and UNGE.
12375
12376 Sun Jan  7 14:35:13 MET 2001  Jan Hubicka  <jh@suse.cz>
12377
12378         * combine.c (combine_simplify_rtx): Recognize the unordered compares.
12379         (nonzero_bits): Likewise.
12380         (simplify_comparison): Likewise.
12381         (num_sign_bit_copies): Likewise; return more sane value depending
12382         on STORE_FLAG_VALUE.
12383         (known_cond): Do not assume EQ to be always true for equivalent
12384         operands.
12385
12386 Sun Jan  7 14:31:57 MET 2001  Jan Hubicka  <jh@suse.cz>
12387
12388         * cse.c (fold_rtx): Handle unordered comparisons.
12389
12390 Sun Jan  7 13:49:19 MET 2001  Jan Hubicka  <jh@suse.cz>
12391
12392         * rtlanal.c (set_of_1): New static function.
12393         (reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
12394          reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
12395          reg_set_last_last_regno): Remove.
12396         (set_of): New global function.
12397         (set_of_data): New structure.
12398         (reg_set_p, reg_set_last): Revamp for set_of.
12399         * rtl.h (set_of): New.
12400
12401 2001-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
12402
12403         * c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
12404         * extend.texi: Document _Exit builtin.
12405
12406 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12407
12408         * (initialize, initialize_builtins,
12409         initialize_dependency_output, initialize_standard_includes):
12410         Rename s/initialize/init. Update.
12411         (init_dependency_output): Move to after
12412         cpp_handle_options, the correct location temporally at least.
12413         (opt_comp): Move next to init (), its caller.  Fix prototype.
12414         (init): Make "initialized" local scope.
12415         (cpp_create_reader): Always call init ().
12416         (cpp_start_read): Update.
12417         (output_deps): New function, broken out of cpp_finish.
12418         (cpp_finish): Break out output_deps.
12419
12420 2001-01-07  Richard Henderson  <rth@redhat.com>
12421
12422         * collect2.c (COFF specific stuff): Revert 12-06 patch
12423         to prototype system functions.
12424
12425 2001-01-07  Michael Hayes  <mhayes@redhat.com>
12426
12427         * hard-reg-set.h: Add multiple include guard.
12428         * basic-block.h (struct loop): Add `sink' field.
12429         * loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
12430         (emit_iv_add_mult): Delete.
12431         (loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
12432         (loop_iv_add_mult_emit_before, loop_insn_sink): Define.
12433         (unroll_loop): Remove end_insert_before argument.
12434         * loop.c (loop_givs_rescan): Remove end_insert_before argument.
12435         (maybe_eliminate_biv_1): Likewise.
12436         (emit_iv_add_mult): Delete.
12437         (gen_add_mult, loop_regs_update): New.
12438         (loop_insn_emit_after, loop_insn_emit_before): New.
12439         (loop_insn_sink, loop_insn_sink_or_swim): New.
12440         (emit_iv_add_mult): Delete.
12441         (scan_loop): Set loop->sink.
12442         (loop_givs_reduce): Use loop_insn_sink and its ilk.
12443         (loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
12444         (maybe_eliminate_biv_1): Likewise.
12445         (maybe_eliminate_biv_1): Add basic block argument.
12446         * unroll.c (unroll_loop): Remove end_insert_before argument.
12447         (find_splittable_regs): Likewise.
12448         (find_splittable_regs): Use loop_insn_sink and its ilk.
12449         (find_splittable_givs, final_biv_value, final_giv_value): Likewise.
12450
12451 2001-01-07  Michael Hayes  <mhayes@redhat.com>
12452
12453         * loop.h (loop_insn_hoist): New prototype.
12454         * loop.c (loop_insn_hoist, loop_insn_emit_before): New.
12455         (move_movables, loop_givs_rescan): Use loop_insn_hoist.
12456         (check_dbra_loop, load_mems): Likewise.
12457         * unroll.c (unroll_loop, find_splittable_regs): Likewise.
12458         (find_splittable_givs): Likewise.
12459
12460 2001-01-07  Michael Hayes  <mhayes@redhat.com>
12461
12462         * loop.c (emit_iv_add_mult): Use single_set to examine new insn.
12463
12464 2001-01-07  Richard Henderson  <rth@redhat.com>
12465
12466         * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
12467
12468 2001-01-07  Richard Henderson  <rth@redhat.com>
12469
12470         * Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
12471         NO_SHARED_LIBGCC_MULTILIB as required for the target.
12472         * gcc.c (init_spec): Massage the existing libgcc_spec into a
12473         variant that handles a shared libgcc.
12474         (process_command): Always validate -{static,shared}-libgcc.
12475         (do_spec_1): New 'M' case.
12476         * invoke.text (Link Options): Document -{static,shared}-libgcc.
12477
12478 2001-01-07  Richard Henderson  <rth@redhat.com>
12479
12480         * Makefile.in (slibdir): New variable.
12481         (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
12482         (installdirs): Create slibdir.
12483         (install-libgcc, install-multilib): Defer to libgcc.mk.
12484         * configure.in (slibdir): Substitute.
12485         * mklibgcc.in (install): New target.
12486
12487         * config/t-linux (SHLIB_LINK): Create links for the soname.
12488         (SHLIB_INSTALL): New.
12489         * config/alpha/t-osf4 (SHLIB_INSTALL): New.
12490         * config/mips/t-iris6 (SHLIB_INSTALL): New.
12491         * config/rs6000/t-aix43 (SHLIB_INSTALL): New.
12492         * config/sparc/t-slibgcc (SHLIB_INSTALL): New.
12493         * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
12494
12495 2001-01-07  Richard Henderson  <rth@redhat.com>
12496
12497         * config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
12498         * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
12499         * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
12500
12501 2001-01-07  Michael Hayes  <mhayes@redhat.com>
12502
12503         * loop.c (count_loop_regs_set): Delete.
12504         (load_mems_and_recount_loop_regs_set): Delete.
12505         (loop_regs_scan): Merge common code from count_loop_regs_set,
12506         scan_loop, and load_mems_and_recount_loop_regs_set.
12507         (scan_loop): Call load_mems directly and loop_regs_scan
12508         again if new registers created.
12509
12510 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12511
12512         * toplev.c (main): Call the front-end specific post_options
12513         hook if one is given.
12514         * toplev.h (struct_lang_hooks, lang_hooks): New.
12515         * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
12516         for the C front end.
12517         * cp/decl2.c (cxx_post_options, lang_hooks): Implement
12518         lang_hooks for the C++ front end.
12519         * objc/objc-act.c (objc_post_options, lang_hooks): Implement
12520         lang_hooks for the ObjC front end.
12521         * f/com.c (lang_hooks): Hooks for the Fortran front end.
12522         * java/lang.c (lang_hooks): Hooks for the Java front end.
12523
12524 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12525
12526         * c-lex.c (init_c_lex): Request #define / #undef callbacks
12527         for verbose DWARF[2] debugging.
12528         (cb_define, cb_undef): The new callbacks.
12529         * toplev.h (debug_define, debug_undef): Make const correct.
12530         * toplev.c (debug_define, debug_undef): Similarly.  Do not
12531         perform the verbosity tests here anymore.
12532
12533 2001-01-07  Alexandre Oliva  <aoliva@redhat.com>
12534
12535         * reload.c (subst_reloads): Take INSN argument.  When
12536         replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
12537         * reload.h (subst_reloads): Adjust prototype.
12538         * reload1.c (reload_as_needed): Pass INSN to subst_reloads.
12539         * jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
12540         present in JUMP_INSNs and copy them to JUMP_LABEL.
12541         * flow.c (find_label_refs, find_basic_blocks_1): Skip
12542         JUMP_INSNs and insns with REG_LABELs that are followed by
12543         JUMP_INSNs with the same REG_LABEL.
12544         * sched-rgn.c (is_cfg_nonregular): Likewise.
12545         * rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
12546         note is available.
12547         * unroll.c (unroll_loop): Look for REG_LABEL notes in
12548         JUMP_INSNs too.
12549         * rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
12550
12551 2001-01-06  Richard Henderson  <rth@redhat.com>
12552
12553         * loop.c (scan_loop): Use xcalloc for the regs array.
12554         (load_mems_and_recount_loop_regs_set): Zero the new memory
12555         received from xrealloc.
12556
12557 2001-01-06  Neil Booth  <neil@daikokuya.demon.co.uk>
12558
12559         * mkdeps.c (deps_add_dep): Fix vector re-allocation.
12560
12561 Sat Jan  6 00:09:34 2001  J"orn Rennecke <amylaar@redhat.com>
12562
12563         * integrate.c (copy_rtx_and_substitute): When copying
12564         an ignored return value, strip REG_FUNCTION_VALUE_P.
12565
12566 2001-01-06  Michael Hayes  <mhayes@redhat.com>
12567
12568         * loop.c (debug_biv, debug_giv): New.
12569         (loop_biv_dump): Break out from ...
12570         (record_biv): ... here.
12571         (loop_giv_dump): Break out from ...
12572         (record_giv): ... here.
12573         (loop_bivs_check): Use print_simple_rtl.
12574         * unroll.c (loop_iterations): Use print_simple_rtl.
12575
12576 2000-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12577
12578         * pa.md (return, return_internal): Modify patterns to prevent regrename
12579         mucking with the return pointer.
12580
12581 2001-01-05  Richard Henderson  <rth@redhat.com>
12582
12583         * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
12584
12585 Fri Jan  5 16:34:18 2001  Nick Clifton  <nickc@redhat.com>
12586
12587         * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
12588         version supplied by Matteo Frigo.
12589
12590 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
12591
12592         * cpp.texi: Update for -MQ.
12593         * cppinit.c (cpp_create_reader): Always create pfile->deps.
12594         (cpp_cleanup): Always free pfile->deps.
12595         (initialize_dependency_output): Don't create pfile->deps.
12596         (cpp_handle_option): Similarly.
12597         (OPT_MQ): New.
12598         * gcc.c (cpp_options): Handle -MQ.
12599         (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
12600         * mkdeps.c (base_name): Remove.
12601         (deps_init): Don't allocate vector space until it's needed.
12602         (deps_free): Only free vectors if allocated.
12603         (deps_add_target, deps_add_dep): Update for initial allocation.
12604         (deps_add_default_target): Don't strip to the base_name.
12605
12606 2001-01-05  DJ Delorie <dj@redhat.com>
12607
12608         * config/v850/v850.h (RETURN_ADDR_RTX): Define.
12609         (INIT_EXPANDERS): Define.
12610
12611         * config/v850/v850.c (struct machine_function): Define.
12612         (v850_save_machine_status): New function.
12613         (v850_restore_machine_status): New function.
12614         (v850_return_addr): New function.
12615         (v850_init_expanders): New function.
12616
12617         * config/v850/v850-protos.h: Add prototypes for v850_return_addr
12618         and v850_init_expanders.
12619
12620 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
12621
12622         * cpplib.h (struct cpp_reader): Add help_only field.
12623         * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
12624         (cpp_handle_option): Set pfile->help_only if we see -h,
12625         --help, -target-help, or --version.  Print version string but
12626         do not set help_only if we see -v or -version.  Make text
12627         printed by -v match that printed by (-)-version.
12628
12629         * cppmain.c (main): Exit after option parsing if
12630         pfile->help_only is true.
12631
12632         * toplev.c (independent_decode_option): Call print_version,
12633         then exit, if we see --version (but not -version).
12634         (print_version): Split lengthy message into two lines.
12635
12636 2001-01-05  Nick Clifton  <nickc@redhat.com>
12637
12638         * config/v850/v850.c (v850_encode_data_area): Use alloca to create
12639         temporary string for initialisation before calling ggc_alloc_string.
12640
12641 2001-01-06  Michael Hayes  <mhayes@redhat.com>
12642
12643         * rtl.h (print_simple_rtl): New.
12644         * print-rtl.c (print_simple_rtl): New.
12645         (flag_simple): New.
12646         (print_rtx): Disable printing of flags and modes, etc.,
12647         if `flag_simple` nonzero.
12648
12649 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
12650
12651         * function.c (fixup_var_refs): Use push_to_full_sequence where
12652         possible.
12653
12654 2001-01-05  Michael Meissner  <meissner@redhat.com>
12655
12656         * flags.h (flag_reorder_blocks): Add declaration.
12657         (flag_rename_block): Ditto.
12658
12659 2001-01-05  DJ Delorie  <dj@redhat.com>
12660
12661         * function.c (reorder_blocks): Make sure the flags are all reset
12662         before using them to mark blocks, else a second invocation will
12663         corrupt the block chain.
12664         (reorder_blocks_0): New, resets the flags.
12665
12666 Fri Jan  5 20:34:06 2001  J"orn Rennecke <amylaar@redhat.com>
12667
12668         * cse.c (find_comparison_args): Stop if the argument is known to
12669         be constant.
12670
12671 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
12672
12673         * config/sh/sh.md (movdf): When splitting load into pair of
12674         registers, don't clobber the register used in the address too
12675         early.
12676
12677 2001-01-05  Jeffrey Oldham  <oldham@codesourcery.com>
12678
12679         * varasm.c (mark_constant_pool): Improve initial comments.
12680         (mark_constants): Move marking of constants to mark_constant.
12681         (mark_constant): New function to recursively mark all constants
12682         referred to by a constant.
12683
12684 2001-01-05  Catherine Moore  <clm@redhat.com>
12685
12686         * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
12687
12688 2001-01-05  Phil Edwards  <pme@sources.redhat.com>
12689
12690         * cp/lang-options.h:  Bring comment in line with reality.
12691         * f/lang-options.h:  Likewise.
12692         * java/lang-options.h:  Likewise.
12693         * objc/lang-options.h:  Likewise.
12694         * ch/lang-options.h:  Likewise.
12695         * f/g77.texi:  And update the manual.
12696
12697 2001-01-05  Marek Michalkiewicz  <marekm@linux.org.pl>
12698             Denis Chertykov  <denisc@overta.ru>
12699
12700         * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
12701         * config/avr/avr.c (avr_peep2_scratch_safe): New function.
12702         * config/avr/avr.md (all peepholes that request a scratch register):
12703         Call it, FAIL the peephole if not safe (in interrupt functions).
12704
12705 2001-01-05  Mark Mitchell  <mark@codesourcery.com>
12706
12707         * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
12708
12709 2001-01-05  Joseph S. Myers  <jsm28@cam.ac.uk>
12710
12711         * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
12712         Define.
12713         * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
12714         BUILT_IN_CREAL and BUILT_IN_CIMAG.
12715         * c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
12716         conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
12717         (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
12718         BUILT_IN_CIMAG.
12719         * extend.texi: Document these builtins.
12720
12721 2001-01-05  Daniel Berlin  <dberlin@redhat.com>
12722
12723         * c-common.c (lang_get_alias_set): Say we know nothing of
12724         VECTOR_TYPE aliasing.
12725
12726         * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
12727
12728 2001-01-05  Bruce Korb  <bkorb@gnu.org>
12729
12730         * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
12731         their x* equivalent versions for atexit-less systems
12732         * fixinc/fixincl.c(main): do not return from main() on atexit-less
12733         systems (or any other system any more).
12734
12735 2001-01-05  Richard Earnshaw  <rearnsha@arm.com>
12736
12737         * arm.md (ldmsi_postinc): Avoid use of match_dup between input and
12738         output operands.  Use arm_hard_register_operand for operand 4.
12739         (stmsi_postinc): Similarly.
12740         (ldmsi): Use arm_hard_register_operand for opernand 2.
12741         (stmsi): Similarly.
12742         * arm.c (arm_hard_register_operand): New function.
12743         * arm-protos.h (arm_hard_register_operand): Prototype it.
12744
12745         * arm.h (HARD_REGNO_RENAME_OK): Define.
12746
12747 Fri Jan  5 16:29:49 MET 2001  Jan Hubicka  <jh@suse.cz>
12748
12749         * simplify-rtx.c (cfc_args): add "unordered" field.
12750         (check_fold_consts): Set unordered field.
12751         (simplify_relational_operation): Simplify the unordered
12752         comparisons.
12753
12754         * reg-stack.c (swap_rtx_condition): Ensure that the transformation
12755         is valid.
12756
12757         * emit-rtl.c (try_split): Fix code to mark labels.
12758         * jump.c (mark_jump_label): Make global.
12759         * rtl.h (mark_jump_label): Declare.
12760
12761         * predict.c (estimate_probability): Handle unordred comparisons.
12762
12763 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
12764
12765         * cpp.texi: Update for -MP.  Clarify behaviour of -MT.
12766         * cppinit.c (initialize_dependency_output):  Update.
12767         (cpp_finish): Output dummy targets for -MP.
12768         (OPT_MP): New.
12769         (cpp_handle_option): Handle -MP.  Don't quote -MT options.
12770         * cpplib.h (struct cpp_options): Add deps_phony_targets.
12771         * gcc.c (cpp_options): Update to handle -MP.
12772         * mkdeps.c (deps_add_target, deps_add_default_target): Update
12773         to quote only the default target.
12774         (deps_phony_targets): Insert a preceding newline.  Rename from
12775         deps_dummy_targets for consistency.
12776         * mkdeps.h: Update
12777
12778 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
12779
12780         * calls.c (emit_library_call_value_1): Support
12781         INIT_CUMULATIVE_LIBCALL_ARGS.
12782         * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
12783
12784 2001-01-04  Richard Henderson  <rth@redhat.com>
12785
12786         * c-decl.c (finish_struct): Detect flexible array members
12787         used in an inappropriate context.
12788         * c-typeck.c (really_start_incremental_init): Special case
12789         constructor_max_index for zero length arrays.
12790         (pop_init_level): Allow initialization of flexible array
12791         members.  Deprecate initialization of zero length arrays.
12792         Don't issue missing initializer warning for flexible array
12793         members or zero length arrays.
12794         (process_init_element): Don't dereference null DECL_SIZE.
12795         * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
12796         Don't abort for empty constructors.  Use size_binop
12797         (output_constructor): Add commentary regarding zero length
12798         array futures.  Abort if we try to initialize an array of
12799         unspecified length with a non-empty constructor in the middle
12800         of a structure.
12801
12802         * extend.texi (Zero Length): Update and clarify documentation
12803         on static initialization.
12804
12805 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
12806
12807         * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
12808         with more than 32767 words of local storage.
12809
12810 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
12811
12812         * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
12813         for 'abs', 'labs', and 'fabs'.
12814         (c4x_expand_builtin): Likewise.
12815         * config/c4x/c4x.h (enum c4x_builtins): Likewise.
12816
12817 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
12818
12819         * config/sh/sh.md (prget, prset): New insn types.
12820         (return delay slot): Dont' allow prset.
12821         (call, sfunc delay slot): Don't allow prget.
12822         (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
12823         for prset and prget.
12824
12825 2001-01-05  Michael Hayes  <mhayes@redhat.com>
12826
12827         * loop.h (struct loop_reg): New.
12828         (struct loop_regs): Change to use array of `struct loop_reg'.
12829         * loop.c: Replace assortment of varrays with single regs array.
12830         (count_one_set): Delete may_not_move array argument
12831         and use regs array instead.  All caller's changed.
12832         (count_loop_regs_set): Delete may_not_move and single_usage
12833         arguments and use regs array instead.  All caller's changed.
12834         (find_single_use_in_loop): Replace usage array argument with pointer
12835         to regs structure.  All caller's changed.
12836         (loop_optimize): Delete `moved_once' array.
12837
12838 2001-01-05  Michael Hayes  <mhayes@redhat.com>
12839
12840         * loop.c (prescan_loop): Set loop_info->has_nonconst_call.
12841         Use it instead of loop_info->has_call for scanning loop mems.
12842         (check_dbra_loop): Replace loop_info->has_call test with
12843         loop_info->has_nonconst_call.
12844
12845 2000-01-04  Matthew Hiller  <hiller@redhat.com>
12846
12847         * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
12848         for TARGET_SH3E.
12849
12850 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
12851
12852         * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
12853         use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
12854
12855 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
12856
12857         * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
12858         (flag_short_double, flag_short_wchar): Define.
12859         (c_common_nodes_and_builtins): Create many tree nodes shared
12860         between C and C++ here instead of in cp/decl.c and ...
12861         * c-decl.c (init_decl_processing): ... here.
12862         (SIZE_TYPE, WCHAR_TYPE): Don't define.
12863         (flag_short_double, flag_short_wchar): Don't define.
12864         (record_builtin_type): New function.
12865         (build_void_list_node): New function.
12866         * c-common.h (flag_short_double, flag_short_wchar,
12867         record_builtin_type, build_void_list_node): Declare.
12868
12869 Thu Jan  4 21:09:47 2001  J"orn Rennecke <amylaar@redhat.com>
12870
12871         * integrate.c (expand_inline_function): Don't put a virtual
12872         register into the reg map.
12873
12874         * function.c (fixup_var_refs_1): If force_operand didn't put
12875         the address into the target, move it there.
12876
12877 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
12878
12879         Special-case tree_decl/tree_list allocations.
12880         * ggc-page.c (OBJECT_PER_PAGE): Reimplement.
12881         (OBJECT_SIZE): New macro.
12882         (NUM_EXTRA_ORDER): Likewise.
12883         (extra_order_size_table): New variable.
12884         (NUM_ORDERS): New macro.
12885         (objects_per_page_table): New variable.
12886         (object_size_table): New variable.
12887         (G.pages): Use NUM_ORDERS to bound the array.
12888         (G.page_tails): Likewise.
12889         (DIV_ROUND_UP): Remove.
12890         (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
12891         (alloc_page): Use OBJECT_SIZE.
12892         (size_lookup): Don't make it const.
12893         (ggc_alloc): Use OBJECT_SIZE.
12894         (ggc_set_mark): Likewise.
12895         (ggc_get_size): Likewise.
12896         (init_ggc): Set up the object_size_table, objects_per_page_table,
12897         and adjust size_lookup.
12898         (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
12899         (ggc_pop_context): Use NUM_ORDERS.
12900         (clear_marks): Likewise.
12901         (sweep_pages): Likewise.
12902         (poison_pages): Likewise.
12903         (ggc_print_statistics): Use OBJECT_SIZE.
12904
12905 Thu Jan  4 15:54:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12906
12907         * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
12908         Only call array_size_for_constructor if last field and array type
12909         with no upper bound.
12910
12911 2001-01-04  Philip Blundell  <philb@gnu.org>
12912
12913         * config/arm/arm.c (arm_gen_constant): Prefer to emit constants
12914         from bit 31 downwards, if this requires no more insns.
12915         (count_insns_for_constant): New helper function for above.
12916
12917 2001-01-04  Alexandre Oliva  <aoliva@redhat.com>
12918
12919         * gencodes.c (output_predicate_decls): Remove empty initializer.
12920
12921 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
12922
12923         * tree.c (copy_node): Remove documentation about obstacks.
12924         (buidl1): Check that nobody tries to build 2-argument nodes this
12925         way.
12926
12927 2001-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12928
12929         * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
12930         fp_high_losum_p.
12931
12932         * gencodes.c (output_predicate_decls): Fill empty initializer
12933         braces.
12934
12935 2001-01-04  Jakub Jelinek  <jakub@redhat.com>
12936
12937         * tradcpp.c (deps_file, print_deps_missing_files): New variables.
12938         (main): Handle -MG, -MD, -MMD.  Bail out if -MG is given without -M
12939         or -MM.
12940         (do_include): Handle missing headers like cpp0.
12941         * cppfiles.c (_cpp_execute_include): Don't prefix absolute header
12942         paths with first include pathname.  Don't strcat to uninitialized
12943         string.
12944
12945 2001-01-04  Bernd Schmidt  <bernds@redhat.com>
12946
12947         * regrename.c (regrename_optimize): Don't rename from frame pointer
12948         if frame_pointer_needed.
12949         (do_replace): Don't set ORIGINAL_REGNO to a hard register number.
12950         * config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
12951         (ia64_reorg): Use it instead of scheduling if ! optimize.
12952         (errata_emit_nops): Properly call asm_noperands.
12953         (ia64_sched_reorder): Finish cycle if we see an asm.
12954         (ia64_variable_issue): Clear scheduling state after asms.
12955
12956 2001-01-04  Neil Booth  <neil@daikokuya.demon.co.uk>
12957
12958         * cpp.texi: Update for -MT.
12959         * cppinit.c (initialize_dependency_output): Add a default
12960         target if none has been given already.
12961         (no_tgt, OPT_MT): New.
12962         (cpp_handle_option): Handle -MT.  Update -M etc.
12963         * cpplib.h (struct cpp_options): Remove deps_target.
12964         * gcc.c (cpp_options): Handle -MT.
12965         * mkdeps.c (struct deps): Move from mkdeps.h.
12966         (deps_calc_target): Rename deps_add_default_target.  Add a
12967         default target if none has been specified already.
12968         * mkdeps.h (struct deps): Move to mkdeps.c.
12969         (deps_calc_target): Rename deps_add_default_target.
12970
12971 2000-01-03  Richard Henderson  <rth@redhat.com>
12972
12973         * c-decl.c (grokdeclarator): Give zero-length arrays size zero.
12974         Remove dead code.
12975         * c-typeck.c (push_init_level): Move checks for flexible array
12976         members and zero length arrays ...
12977         (pop_init_level): ... here.  Silently discard empty initializations.
12978         Remove dead code.
12979         * varasm.c (output_constructor): Update for sizeof change to
12980         zero-length arrays.
12981
12982         * extend.texi (Zero Length): Clarify semantics.
12983
12984 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
12985
12986         * configure.in (tm.h): Include isns-codes.h last.
12987         * configure: Rebuilt.
12988
12989 2001-01-03  Richard Henderson  <rth@redhat.com>
12990
12991         * config/alpha/alpha.md (addvsi3, addvdi3): New.
12992         (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
12993
12994 2001-01-03  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
12995
12996         * tradcpp.c (main): Make sure finclude() is called with a valid
12997         indepth value while handling -include.
12998
12999 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
13000
13001         * gencodes.c (output_predicate_decls): New function.
13002         (main): Call it.
13003         * machmode.h (GET_MODE_MASK): Arrange for it to be defined
13004         even if it is not the first time machmode.h is #included.
13005         * config/sh/sh.c (fpul_operand): Declare MODE argument.
13006         * tm.texi (PREDICATE_CODES): Document predicate declarations.
13007         * gcc.texi (Copyright): Added 2001.
13008
13009 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
13010
13011         * c-common.c (c_common_lang_init): New function.  Warn if format
13012         warning options which only have effects when used with -Wformat
13013         are used without -Wformat.
13014         * c-common.h (c_common_lang_init): Declare.
13015         * c-lang.c (lang_init): Call c_common_lang_init.
13016         * objc/objc-act.c (lang_init): Call c_common_lang_init.
13017
13018 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
13019
13020         * configure.in: Check for the mktemp command.
13021         * configure: Regenerate.
13022         * gccbug.in: Use a separate temporary file $TEMP0 for one use of
13023         $TEMP.  Create temporary files with mktemp, if available at
13024         configure time; otherwise use set -C.  Remove temporary files
13025         before exit.
13026
13027 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
13028
13029         * configure.in: Require at least texinfo 4.0.  Check for whether
13030         Pod::Man is sufficiently recent to regenerate GCC manpages.
13031         * configure:  Regenerate.
13032         * Makefile.in (TEXI2POD): Call perl explicitly rather than relying
13033         on #!.
13034         (GENERATED_MANPAGES): Define.
13035         (generated-manpages): New target.  Depend on cpp.1 as well as
13036         gcov.1.
13037         (install-man): Depend on $(GENERATED_MANPAGES) (defined by
13038         configure to generated-manpages or empty) rather than on the
13039         manpages directly.  Remove execute permission from installed
13040         gcov.1 as well as cpp.1.
13041         * cpp.1, gcov.1: Regenerate.
13042
13043 2001-01-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13044
13045         * builtins.c (expand_builtin_strncmp): Use host_integerp and
13046         tree_low_cst.  Allow using cmpstrsi in more cases.
13047
13048 Wed Jan  3 10:48:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13049
13050         * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
13051         sized types.
13052
13053 Wed Jan  3 12:22:32 2001  Alexandre Oliva  <aoliva@redhat.com>
13054
13055         * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
13056         * Makefile.in (HOST_CFLAGS): Mention build-make.
13057
13058 Wed Jan  3 08:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13059
13060         * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
13061         as JUMP_INSN.
13062
13063 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
13064
13065         * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
13066         a REG rtx.
13067
13068         * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg.  All
13069         callers changed.
13070
13071         * alias.c (throughout): Use ORIGINAL_REGNO when accessing
13072         reg_base_value and reg_known_value arrays.
13073         (init_alias_analysis): Add more cases to detect known values.
13074         * sched-deps.c (deps_may_trap_p): New function.
13075         (sched_analyze_2): Use it.
13076
13077 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
13078
13079         * combine.c (simplify_shift_const): Even if we're sign-extracting,
13080         don't discard an ASHIFTRT if we're shifting in a wider mode.
13081
13082 2000-01-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13083
13084         * toplev.c (rest_of_compilation): Don't print basic block information
13085         when CFG isn't up to date.
13086
13087 2001-01-02  Mark Elbrecht  <snowball3@bigfoot.com>
13088
13089         * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
13090         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
13091         (UNALIGNED_SHORT_ASM_OP): Define.
13092         (CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
13093
13094 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
13095
13096         * fold-const.c (fold_convert): Fix typo.
13097
13098 2001-01-02  Richard Henderson  <rth@redhat.com>
13099
13100         * c-common.h (ASM_INPUT_P): New.
13101         * c-parse.in (asm): Set it when needed.
13102         * c-semantics.c (genrtl_asm_stmt): Test it instead of the
13103         existance of an operand.
13104
13105 Tue Jan  2 20:27:07 MET 2001  Jan Hubicka  <jh@suse.cz>
13106
13107         * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
13108         (dwarf2out_frame_debug_expr): Likewise.
13109         (mem_loc_descriptor): Handle PRE and POST_MODIFY.
13110
13111 Tue Jan  2 20:21:31 MET 2001  Jan Hubicka  <jh@suse.cz>
13112
13113         * i386.c (ix86_split_to_parts): Return number of part required;
13114         handle TFmodes.
13115         (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
13116         TFmodes.
13117         (ix86_split_long_move): Use number of part returned
13118         by ix86_split_to_parts
13119         * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
13120         New macros.
13121         (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
13122         (LONG_DOUBLE_TYPE_SIZE): Change from constant.
13123         (MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
13124         (INTEL_EXTENDED_IEEE_FORMAT): Likewise.
13125         (ALIGN_MODE_128): Add TFmode.
13126         (IS_STACK_MODE): Likewise.
13127         (HARD_REGNO_NREGS): TFmode needs 3 registers.
13128         (HARD_REGNO_OK): Support TFmodes.
13129         (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
13130         * i386.md (scheduler definitions): Use memory operand to determine
13131         fst/fld instructions; use mode attribute to determine real mode of
13132         the instruction.
13133         (*tf): New patterns, expanders and splitters; based on XFmode patterns.
13134         * invoke.texi (128bit-long-double, 96bit-long-double): Document.
13135
13136 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
13137
13138         * tree.def (TRUTH_NOT_EXPR): Improve documentation.
13139
13140 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
13141
13142         * expr.c (store_constructor_field): Update ALIGN before calling
13143         store_constructor.
13144
13145 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
13146
13147         * config/mips/mips.c (function_arg): Don't pass NULL_TREE to
13148         host_integerp.
13149
13150 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
13151
13152         * tm.texi (FUNCTION_ARG): Document that @var{type} can be an
13153         incomplete type.
13154
13155 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
13156
13157         * c-decl.c (start_function): Don't warn on third parameter to main.
13158
13159 2001-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13160
13161         * tsystem.h: Define HAVE_DECL_GETOPT.
13162
13163 2001-01-02  Philip Blundell  <pb@futuretv.com>
13164
13165         * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
13166         of input operand.
13167
13168 2001-01-02  Richard Henderson  <rth@redhat.com>
13169
13170         * alpha.md (*ze_and_ne): Duplicate insn condition to split.
13171
13172 2001-01-02  Andreas Jaeger  <aj@suse.de>
13173
13174         * c-decl.c (c_decode_option): Remove support of
13175         -Wmissing-noreturn.
13176
13177         * toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
13178         (W_options): Add -Wmissing-noreturn here.
13179
13180         * flow.c: Define lang_missing_noreturn_ok_p.
13181         (check_function_return_warnings): Use it.
13182
13183         * c-common.h: Declare lang_missing_noreturn_ok_p.
13184
13185         * c-lang.c (c_missing_noreturn_ok_p): New function.
13186         (lang_init): Set lang_missing_noreturn_ok_p.
13187
13188         * invoke.texi (Warning Options): Document this.
13189
13190 2000-12-27  Phil Edwards  <pme@sources.redhat.com>
13191
13192         * extend.texi (C++ Extensions):  New node for C++ attributes;
13193         describe init_priority and com_interface.
13194         * invoke.texi:  Remove -finit-priority as it now has zero effect.
13195         * install.texi:  Fix xref syntax.
13196         * md.texi:  Likewise.
13197
13198 Mon Jan  1 21:28:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13199
13200         * config.gcc (sparc64-wrs-vxworks*): New case.
13201         * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
13202
13203         * config/sparc/sparc.c (sparc_override_options): Do support different
13204         pointer and architecture size.
13205         * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
13206         (POINTERS_EXTEND_UNSIGNED): Define.
13207         (Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
13208         (FUNCTION_MODE): Define to be Pmode.
13209         * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
13210
13211         * function.c (expand_function_end): Properly handle DECL_RESULT
13212         and copy when ptr_mode != Pmode.
13213         * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
13214
13215 2001-01-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13216
13217         * c-common.c (c_common_nodes_and_builtins): Set prototype
13218         parameters for __builtin_fputs, __builtin_fputc and
13219         __builtin_fwrite.  Don't declare plain fputc as a builtin.
13220
13221 2001-01-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13222
13223         * loop.c (add_label_notes): Increment the label usage count when
13224         a note is added to an insn which refers to a CODE_LABEL.
13225         * gcse.c (add_label_notes): Likewise.
13226
13227 2001-01-01  Andreas Jaeger  <aj@suse.de>
13228
13229         * loop.c (scan_loop): Use xmalloc to allocate movables.
13230
13231 2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
13232
13233         * tm.texi (REGISTER_MOVE_COST): Add a mode argument.
13234         * reload.c (REGISTER_MOVE_COST): Likewise.  Adjust all callers.
13235         * reload1.c (REGISTER_MOVE_COST): Likewise.
13236         * regclass.c (REGISTER_MOVE_COST): Likewise.
13237         (move_cost, may_move_in_cost, may_move_out_cost): Add mode
13238         dimension.  Adjust all users.
13239         (init_reg_sets_1): Iterate on all modes.
13240         * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
13241         * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
13242         * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
13243         * config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
13244         * config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
13245         * config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
13246         * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
13247         * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
13248         * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
13249         * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
13250         * config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
13251         * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
13252         * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
13253         * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
13254         * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
13255         * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
13256         * config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
13257         * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
13258         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
13259         * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
13260         * config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
13261         * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
13262         * config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
13263         * config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
13264         * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
13265         * config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
13266         * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
13267
13268 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
13269
13270         * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
13271         arg VARIES_P.  Call it with extra arg.
13272         (true_dependence): Likewise.
13273         * rtl.h (rtx_addr_can_trap_p): Declare.
13274         (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
13275         prototypes.
13276         * rtlanal.c (rtx_addr_can_trap_p): No longer static.
13277         (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
13278         pic offset table register if it's zero.  All callers changed.
13279         (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
13280
13281 Mon Jan  1 07:38:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13282
13283         * explow.c (convert_memory_address, case SYMBOL_REF): Copy
13284         STRING_POOL_ADDRESS_P.
13285
13286         * config/sparc/sparc.c (input_operand): Properly test for short op.
13287
13288         * config.gcc (sparc-*-elf): Include sparc/sol2.h.
13289         (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
13290         (sparclite-*-elf*, sparc86x-*-elf*): Likewise.
13291         * config/sparc/elf.h: No longer include sol2.h.
13292         * config/sparc/lifeelf.h: No longer include sparc/elf.h.
13293         * config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
13294
13295         * config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
13296
13297 2001-01-01  Michael Hayes  <mhayes@redhat.com>
13298
13299         * loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
13300         (find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
13301         (record_initial): Likewise.
13302         * unroll.c (copy_loop_body, loop_iterations): Likewise.
13303         (remap_split_bivs): Likewise.
13304
13305 2001-01-01  Michael Hayes  <mhayes@redhat.com>
13306
13307         * loop.c (loop_ivs_free): New function.
13308         (strength_reduce): Break out from...
13309
13310 2001-01-01  Michael Hayes  <mhayes@redhat.com>
13311
13312         * loop.h (struct iv): New.
13313         (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
13314         (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
13315         'reg_biv_class' fields with 'regs' and 'n_regs'.
13316         (struct ivs): Rename 'loop_iv_list' field to 'list'.
13317         * loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
13318         * unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
13319
13320 2000-12-31  Alexandre Oliva  <aoliva@redhat.com>
13321
13322         * resource.c (mark_referenced_resources): Abort() before
13323         attempting to mark a pseudo register.
13324         (mark_set_resources): Likewise.
13325
13326 2001-01-01  Michael Hayes  <mhayes@redhat.com>
13327
13328         * loop.h (REG_IV_CLASS): New accessor macro.
13329         * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
13330         * unroll.c (REG_IV_CLASS): Likewise.
13331
13332 See ChangeLog.4 for earlier changes.