OSDN Git Service

* README: Replace with a cut-down and updated version of gcc/README.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-06-13  Joseph S. Myers  <jsm28@cam.ac.uk>
2
3         * README: Remove.  Some of the contents moved to ../README.
4
5 2001-06-13  Alexandre Oliva  <aoliva@redhat.com>
6
7         * doc/install.texi (--enable-shared): List package names
8         recognized by GCC.
9
10 2001-06-13  Alexandre Oliva  <aoliva@redhat.com>
11
12         * doc/install.texi (ix86-*-solaris*): Removed, outdated.
13         (*-*-solaris*): Document problem in /bin/sh that affects
14         configuring libraries.
15         (sparc-*-solaris*): Recommend GNU binutils 2.11.1 or vendor tools.
16         (*-sun-solaris2.8): Document linker problem that explains why
17         libjava is disabled by default.
18
19 2001-06-09  Mark Mitchell  <mark@codesourcery.com>
20
21         Revert this patch:
22         * toplev.c (rest_of_compilation): Remove dead code before
23         purge_addressof.
24         
25 2001-06-12  Alexandre Oliva  <aoliva@redhat.com>
26
27         Reverted:
28         2001-06-07  Nathan Sidwell  <nathan@codesourcery.com>
29         * configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support.
30         * configure: Rebuilt.
31
32 2001-06-12  Jim Wilson  <wilson@redhat.com>
33
34         * loop.c (strength_reduce): Move bl->all_reduced set before
35         check_ext_dependant_givs call.
36         (check_ext_dependant_givs): Clear bl->all_reduced when ignoring givs.
37
38 2001-06-12  Alexandre Oliva  <aoliva@redhat.com>
39
40         * doc/extend.texi (Function Attributes): Document SH's sp_switch
41         and trap_exit.
42
43 2001-06-13  Joseph S. Myers  <jsm28@cam.ac.uk>
44
45         * doc/invoke.texi: Use more logical markup.  Use TeX quotes,
46         dashes and @dots{}.
47
48 2001-06-12  Richard Henderson  <rth@redhat.com>
49
50         * config/i386/i386.c (ix86_expand_prologue): Always use
51         gen_pro_epilogue_adjust_stack; update arguments.
52         (ix86_expand_epilogue): Likewise.
53         (ix86_emit_epilogue_esp_adjustment): Remove.
54         (ix86_adjust_cost): Remove pro_epilogue_adjust_stack hack.
55         * config/i386/i386.md (pro_epilogue_adjust_stack): Use a BLKmode
56         clobber of scratch memory instead of a modification of EBP as the
57         barrier.  Update all peepholes to match.
58
59 2001-06-12  Joseph S. Myers  <jsm28@cam.ac.uk>
60
61         * doc/gcc.texi: Change the font used for @def... commands to a
62         fixed width font.
63         * doc/extend.texi: Use more logical markup.  Use "built-in"
64         instead of "builtin".  Use @deftypefn to mark up built-in
65         functions; specify their types in the @deftypefn and not in the
66         descriptive text.  Use TeX quotes and dashes.  Add more index
67         entries.
68
69 2001-06-12  lars brinkhoff  <lars@nocrew.org>
70
71         * gcc.texi (HOST_BITS_PER_LONGLONG): Document.
72         (DIR_SEPARATOR_2): Likewise.
73
74 2001-06-12  Joseph S. Myers  <jsm28@cam.ac.uk>
75
76         * doc/install.texi (--exec-prefix, --bindir, --libdir,
77         --with-slibdir, --infodir, --mandir, --with-cpp-install-dir):
78         Document.
79         (--enable-cpp): Change to document --disable-cpp instead; update
80         to reflect current default.
81         (--without-fast-fixincludes): Remove documentation.
82         (Final install): Document installation directories in more
83         detail.  Document use of make dvi.
84
85 Tue Jun 12 19:01:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
86
87         * recog.c (validate_replace_rtx_1): Fix previous patch.
88
89 Tue Jun 12 17:25:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
90
91         * recog.c (validate_replace_rtx_1): Do plus_constant call always.
92
93 Tue Jun 12 17:24:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
94
95         * simplify-rtx.c (simplify_subreg): Allow volatile memory
96         to be subregged in case we don't have move instruction.
97
98 Tue Jun 12 12:20:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
99
100         * loop.c: Include predict.h
101         (strength_reduce): Drop branch prediction note in case
102         number of iterations is known.
103         * predict.def (PRED_LOOP_ITERATIONS): new.
104         * Makefile.in (loop.o): Add dependancy on predict.h
105
106 2001-06-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
107
108         * c-decl.c (grokdeclarator): Use INTEGRAL_TYPE_P.
109
110         * c-typeck.c (c_start_case): Likewise.
111
112 2001-06-12  Mark Mitchell  <mark@codesourcery.com>
113
114         * expr.c (store_field): Don't set MEM_ALIAS_SET for a field
115         in a structure at a variable address.
116
117 2001-06-12  Joseph S. Myers  <jsm28@cam.ac.uk>
118
119         * doc/gcov.texi: Use more logical markup.
120
121 2001-06-11  Mark Mitchell  <mark@codesourcery.com>
122
123         * unroll.c (initial_reg_note_copy): Use PUT_REG_NOTE_KIND and
124         REG_NOTE_KIND, not PUT_MODE and GET_MODE.
125         (final_reg_note_copy): Remove REG_WAS_0 notes that are no longer
126         valid.
127
128 2001-06-11  Stan Shebs  <shebs@apple.com>
129
130         * darwin.h (ASM_FILE_END): Remove decl of language_string.
131
132 2001-06-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
133
134         * config/m68hc11/m68hc11.md ("*lshrdi3_const32"): Mark the clobber 
135         as an early clobber to make sure it is not used by reload in 
136         one of the operands.
137
138 2001-06-11  Mark Mitchell  <mark@codesourcery.com>
139
140         * doc/c-tree.texi: Update information about flag_honor_std.
141         * doc/install.texi: Note that binutils is required on HPUX 11.
142         * doc/invoke.texi (-fhonor-std): Note that -fno-honor-std is
143         now the default.
144
145         * config/mips/abi64.h (RETURN_IN_MEMORY): Fix handling of
146         variable-sized types.
147
148 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
149
150         * doc/md.texi: Use TeX dashes and quotes.
151
152 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
153
154         * doc/rtl.texi: Reference manual chapter about trees.
155
156 2001-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
157
158         * config/mips/iris6.h (NO_BUILTIN_WINT_TYPE): Define.
159         (WINT_TYPE): Override.
160         (WINT_TYPE_SIZE): Likewise.
161         (SUBTARGET_CPP_SIZE_SPEC): Define __WINT_TYPE__ as appropriate.
162
163         * config/sparc/sol2.h (WINT_TYPE): Define.
164         (WINT_TYPE_SIZE): Likewise.
165
166         * config/sparc/sol2-sld-64.h (NO_BUILTIN_WINT_TYPE): Define.
167         (WINT_TYPE): Override.
168         (WINT_TYPE_SIZE): Likewise.
169         (CPP_ARCH32_SPEC): Add __WINT_TYPE__ definition.
170         (CPP_ARCH64_SPEC): Likewise.
171
172 2001-06-11  Richard Henderson  <rth@redhat.com>
173
174         * unwind-dw2-fde.c (__deregister_frame_info): Don't play games
175         with alias attribute.
176
177         * config/linux.h (CPLUSPLUS_CPP_SPEC): Use %(cpp) not $(cpp_cpu).
178         * config/alpha/linux.h (CPLUSPLUS_CPP_SPEC): Likewise.
179
180 2001-06-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
181
182         * config/rs6000/linux.h (CPLUSPLUS_CPP_SPEC): New.
183
184 2001-06-11  Stan Shebs  <shebs@apple.com>
185
186         * darwin.c (darwin_encode_section_info):  Rewrite to simplify
187         and fix coding mistakes.
188
189 2001-06-11  Nick Clifton  <nickc@cambridge.redhat.com>
190
191         * config/m32r/m32r.md (movstrsi_internal): Do not expect a
192         return string from m32r_output_block_move.
193         * config/m32r/m32r-protos.h: Make m32r_output_block_move a
194         void function.
195         * config/m32r/m32r.h (INT32_P): Rename to UNIT32_P and remove
196         integer overflow.
197         (ROUND_ADVANCE): Remove signed/unsigned conflict.
198         * config/m32r/m32r.c: Declare prototypes for static functions.
199         (move_src_operand): Replace INT32_P with UINT32_P.
200         (function_arg_partial_nregs): Fixed signed/unsigned conflict
201         in initialisation of 'size'.
202         (m32r_sched_reord): Remove redundant declarations of 'code'.
203         (m32r_output_block_move): Change to a void function.
204         (m32r_encode_section_info): Cast return of
205         TREE_STRING_POINTER to avoid compile time warning.
206
207 2001-06-11  Richard Henderson  <rth@redhat.com>
208
209         * config/alpha/osf5.h (TARGET_LD_BUGGY_LDGP): New.
210         * config/alpha/alpha.h (TARGET_LD_BUGGY_LDGP): Default.
211         (struct machine_function): Add gp_save_rtx.
212         * config/alpha/alpha.c (alpha_mark_machine_status): Mark it.
213         (alpha_gp_save_rtx): New.
214         * config/alpha/alpha-protos.h: Declare it.
215         * config/alpha/alpha.md (exception_receiver): Make an expander.
216         Use alpha_gp_save_rtx if TARGET_LD_BUGGY_LDGP.
217
218 2001-06-11  Richard Henderson  <rth@redhat.com>
219
220         * config/alpha/osf.h (LINK_SPEC): Hide _GLOBAL_* symbols.
221
222 2001-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
223
224         * configure.in: Align --help messages.
225         Remove trailing full stops.
226         Consistently use lower case.
227         Fix DWARF 2 spelling.   
228         * configure: Rebuilt.
229
230 2001-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
231
232         * config/alpha/alpha.h (CPP_SPEC): Don't define __LANGUAGE_C and
233         variants for .cpp/.cp/.c++ files. 
234         Move definition of __LANGUAGE_C_PLUS_PLUS ...
235         (CPLUSPLUS_CPP_SPEC): ... here.
236
237 Mon Jun 11 15:47:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
238
239         * jump.c (duplicate_loop_exit_test): Fix loop header heuristics.
240
241 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
242
243         * c-decl.c (store_parm_decls): When comparing types in an
244         old-style function declaration with those from a previous
245         prototype, compare the unqualified versions of parameter types.
246         Fixes PR c/3116.
247
248 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
249
250         * doc/objc.texi: Use more logical markup.  Use TeX dashes.
251
252 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
253
254         * doc/c-tree.texi: Use more logical markup.
255
256 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
257
258         * c-decl.c (xref_tag): Don't return previous tags of wrong type.
259
260 2001-06-11  Aldy Hernandez  <aldyh@redhat.com>
261
262         * loop.c (scan_loop): Do not combine asm statements.
263
264 2001-06-11  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
265
266         * simplify-rtx.c (simplify_subreg): Fix offset calculation
267         for complex values within a CONCAT.
268
269 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
270
271         * doc/install.texi: Update details of what components are included
272         in the GCC distribution.  Update default directory for g++
273         includes.  Update documentation relating to old libio.  Adjust
274         documentation on DejaGnu environment variables.  Remove
275         documentation of --enable-cpplib.
276
277 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
278
279         * doc/contrib.texi: Fix alphabetical order.  Fix typos.  Improve
280         markup.
281
282 2001-06-10  Richard Henderson  <rth@redhat.com>
283
284         * ifcvt.c (life_data_ok): New.
285         (merge_if_block): Use it to determine whether to update
286         global_live_at_end.
287         (if_convert): Set it.
288
289 2001-06-10  Richard Henderson  <rth@redhat.com>
290
291         * config/alpha/osf5.h (ASM_OLDAS_SPEC): Add -c.
292
293 2001-06-10  Alexandre Oliva  <aoliva@redhat.com>
294
295         * doc/invoke.texi (MN10300 Options): Document -mno-crt0.
296         (SH Options): Document -mieee.
297         * doc/install.texi (Final install): Remove obsolete information
298         about installing cross compilers.
299         * doc/gcc.1: Rebuilt.
300
301 2001-06-10  Richard Henderson  <rth@redhat.com>
302
303         * config/alpha/alpha.c (override_options): Set align_loops,
304         align_jumps, and align_functions.
305         * config/alpha/alpha.h (FUNCTION_BOUNDARY): Set to 32 bits.
306         (LOOP_ALIGN, LABEL_ALIGN_AFTER_BARRIER): Remove.  
307
308 2001-06-11  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
309
310         * emit-rtl.c (gen_lowpart_common): Do not assume that SFmode and DFmode
311         are one and two words in size.
312
313 2001-06-10  Richard Henderson  <rth@redhat.com>
314
315         * doc/invoke.texi (Optimization Options): Document -fpeephole2.
316         (Code Generation Options): Document -fnon-call-exceptions.
317
318 2001-06-10  Mark Kettenis  <kettenis@gnu.org>
319
320         * config/i386/gnu.h (MD_FALLBACK_FRAME_STATE_FOR): Undefine.
321
322 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
323
324         * m68hc11.md (peepholes): Remove unused and wrong peepholes.
325
326 2001-06-10  Mark Mitchell <mark@codesourcery.com>
327             Gabriel Dos Reis  <gdr@codesourcery.com>
328
329         * Makefile.in (c-parse.o): Depend on diagnostic.h
330         (dwarf2out.o): Likewise.
331
332         * dwarf2out.c: #include diagnostic.h
333
334         * toplev.h (warningcount, errorcount, sorrycount): Remove
335         declarations. 
336
337         * toplev.c (warningcount, errorcount, sorrycount): Remove
338         definitions. 
339
340         * diagnostic.h (struct output_buffer): Reorder fields.
341         (diagnostic_kind_count): New macro.     
342         (errorcount, warningcount, sorrycount): Define as macros.
343         (diagnostic_report_warnings_p): New macro.
344         (output_state): Add diagnostic_count field.
345
346         * diagnostic.c (warningcount, errorcount, inhibit_warnings):
347         Remove tentative declaration.
348         (count_error): Use diagnostic_report_warnings_p.
349
350         * c-parse.in: #include diagnostic.h
351
352 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
353
354         * config/m68hc11/m68hc11.md ("extendhisi2"): Fix constraints to
355         prefer a memory for operand 1.
356         ("*addsi3"): Fix constraints, the '!' was too strong.
357         ("*addsi3_split"): Accept soft register and split accordingly.
358
359 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
360
361         * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline): 
362         Move definition in the RTX_CODE section.
363
364 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
365
366         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Define the return 
367         address as relative to the argument pointer.
368
369 Sun Jun 10 10:58:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
370
371         * predict.def (PRED_OPCODE): Place before call and error_return.
372
373 Sun Jun 10 10:00:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
374
375         * predict.def (PRED_CALL, PRED_ERROR_RETURN): New.
376         * predict.c (estimate_probability): Calculate dominance
377         information; improve detection of NORETURN heuristics;
378         add call/error_return heuiristics; tweak comparison heuristics
379         to recognize -1.
380
381 2001-06-09  Alexandre Oliva  <aoliva@redhat.com>
382
383         * doc/invoke.texi (C Dialect Options): Document -aux-info.
384         (Debugging Options): Document -print-multi-directory and
385         -print-multi-lib.
386         * doc/gcc.1: Rebuilt.
387
388         * toplev.c (independent_decode_option): Require `=' between
389         `-aux-info' and filename in the same argument.
390         * gcc.c: Don't pass -aux-info=filename twice.
391
392 2001-06-09  Mark Mitchell  <mark@codesourcery.com>
393
394         * expr.c (expand_expr, case ARRAY_REF): Do not replace
395         an array element with the known initializing value if it has
396         side-effects.
397
398         * toplev.c (rest_of_compilation): Remove dead code before
399         purge_addressof.
400         
401 2001-06-09  Neil Booth  <neil@daikokuya.demon.co.uk>
402
403         * cppinit.c (print_help): Document -fpreprocessed.
404         * invoke.texi: Similarly.
405
406 Sun Jun 10 00:35:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
407
408         * predict.def: New file.
409         * predict.h: New file.
410         * predict.c: Include predict.h.
411         (predictor_info): New structure and array.
412         (predict_edge, predict_insn): Rewrite; make global.
413         (predict_edge_def, predict_insn_def): New global functions.
414         (dump_prediction, combine_predictions_for_insns): New
415         static functions.
416         (estimate_probability): Change calls to predict_edge
417         to predict_edge_def and calls to predict_insn to predict_insn_def;
418         combine probabilities.
419         (expected_value_to_br_prob): Behave as predictor.
420         * rtl.h (REG_BR_PRED): Update coment.
421         (invert_br_probabilities): New.
422         * jump.c: Include predict.h
423         (duplicate_loop_exit_test): Drop branch prediction notes.
424         (invert_jump): Use invert_br_probabilities.
425         * Makefile.in: Add dependancy on predict.h for jump and predict pass.
426         * ifcvt.c (dead_or_predicable): Use invert_br_probabilities.
427         * combine.c (distribute_notes): Handle BR_PRED.
428
429 Sat Jun  9 23:29:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
430
431         * predict.c (predict_insn, predict_edge): New static functions.
432         (estimate_probability): Revamp to use new functions;
433         fix loop header heruistics; add loop exist heruistics
434
435 2001-06-09  Alexandre Oliva  <aoliva@redhat.com>
436
437         * config.gcc: Re-enable bi-arch sparc on Solaris 7 and above.
438
439 2001-06-09  Peter Jakubek <pjak@snafu.de>
440
441         * config/m68k/m68k.md (ashrdi_const): Fix right shift by 16.
442
443 2001-06-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
444
445         * vax.h (NOTICE_UPDATE_CC): Set CC_NO_OVERFLOW in cc_status.flags
446         for integer operations that don't update C bit.
447
448 2001-06-09  Nicola Pero <nicola@brainstorm.co.uk>
449
450         * gthr-posix.h (__gthread_objc_init_thread_system): If
451         pthread_key_create fails, it's not clear what the return value is.
452         This obvious fix makes sure it always returns -1 if a problem
453         occurs.
454
455 2001-06-09  Joseph S. Myers  <jsm28@cam.ac.uk>
456
457         * doc/gcc.texi: Use @defcodeindex for the index of options.  Add
458         more index entries.  Use more logical markup where appropriate.
459         Use TeX quotes and dashes.
460
461 2001-06-09  Benjamin Kosnik  <bkoz@redhat.com>
462
463         * unwind-pe.h: Conditionally qualify references to abort with
464         std::.
465
466 2001-06-09  Julian Foad <julian_foad@hotmail.com>
467
468         * doc/invoke.texi: Remove superfluous text.
469
470 2001-06-08  Richard Henderson  <rth@redhat.com>
471
472         * config/alpha/linux.h (CPLUSPLUS_CPP_SPEC): New.
473         (LIB_SPEC): Mirror config/linux.h version.
474
475 2001-06-08  Richard Henderson  <rth@redhat.com>
476
477         * except.c (get_exception_pointer, get_exception_filter): Take a
478         struct function.  Update all callers.
479         * except.h (get_exception_pointer): Update declaration.
480         * expr.c (expand_expr): Update get_exception_pointer call.
481         * integrate.c (expand_inline_function): Remap the exception pointer
482         from callee to caller.
483
484 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
485
486         * c-decl.c (grokdeclarator): Make the TREE_TYPE for declarations
487         accurately reflect its cv-qualification.
488         * c-typeck.c (type_lists_compatible_p): Ignore the top-levl
489         cv-qualifiers on function types.
490
491 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
492
493         * basic-block.h: Improve comments.
494         * except.c (expand_eh_region_end_allowed): Remove redundant call
495         to do_pending_stack_adjust.
496         * flow.c (life_analysis): Fix typo in comment.
497         (calculate_global_regs_live): Add documentation.
498         (mark_set_1): Likewise.
499         (debug_regset): Likewise.
500         * doc/rtl.texi (cond_exec): Document it.
501
502 Fri Jun  8 21:52:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
503
504         * i386.h (CONST_COSTS): set cost of constants representable in
505         immediate fields to 0.
506
507 Fri Jun  8 21:34:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
508
509         * function.c (diddle_return_value): Kill code to determine
510         return value before expand_function_end.
511         (expand_function_end): Delay call to clobber_return_register
512         after fucntion return value is computed.
513
514         Re-install temporary reverted patch:
515         * toplev.c (rest_of_compilation): Call split_all_insns
516         before reg-stack and shorten-branches. Do shorten-branches
517         after reg-stack.
518         * final.c (shorten_branches): Remove insn splitting code.
519
520 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
521
522         * doc/gcc.texi, doc/invoke.texi: Add index of command line
523         options.  Use @opindex to index them rather than other indexing
524         commands.  Use @var{...} instead of <...>.  Avoid spaces in names
525         inside @var.  Don't use @kindex to index escape sequences in
526         source code.
527
528 2001-06-08  Jason Merrill  <jason_merrill@redhat.com>
529
530         * stmt.c (current_nesting_level): New fn.
531         * tree.h: Declare it.
532         * c-semantics.c (genrtl_compound_stmt): Use it.
533
534         * dbxout.c (dbxout_symbol): Use DECL_RTL_SET_P.
535
536 2001-06-08  Jakub Jelinek  <jakub@redhat.com>
537
538         * jump.c (mark_modified_reg): Allow jump threading if condition
539         codes are represented by a hard register.
540
541 2001-06-08  Jakub Jelinek  <jakub@redhat.com>
542
543         * config/ia64/ia64.c (ia64_function_arg): Use [SDT]Fmode as gr_mode
544         for complex floats passed to unprototyped functions.
545
546 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
547
548         * except.c (expand_eh_region_end_allowed): Call
549         do_pending_stack_adjust as necessary.
550
551 Fri Jun  8 14:16:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
552
553         * function.c (clobber_return_register): Clobber the pseudo return
554         register too.
555
556         * sibcall.c (skip_unreturned_value): New function.
557         (call_ends_block_p): Use it.
558
559         * recog.c (split_insn): Break out from ...
560         (split_all_insns): ... here; do not use basic block information
561         when it is broken.
562
563 Thu Jun  7 18:27:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
564
565         * simplify-rtx.c (simplify_subreg):  Fix verification of
566         combined subreg.
567
568 2001-06-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
569
570         * config/mips/mips.h (CPP_SPEC): Simplify .s/.S handling.
571         Don't define _LANGUAGE_C and variants for .cpp/.cp/.c++ files.
572         Move definition of _LANGUAGE_C_PLUS_PLUS ...
573         (CPLUSPLUS_CPP_SPEC): ... here.
574         Fixes PRs c++/3047, target/441.
575
576 2001-06-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
577
578         * doc/install.texi2html (MAKEINFO): Keep value if set already.
579
580 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
581
582         * doc/gcc.texi: Add trailing slash to URL.
583
584 2001-06-07  Stan Shebs  <shebs@apple.com>
585
586         * config/darwin.h (ENCODE_SECTION_INFO): Define.
587         (REDO_SECTION_INFO_P): Ditto.
588         (STRIP_NAME_ENCODING): Ditto.
589         (ASM_DECLARE_OBJECT_NAME): Use ENCODE_SECTION_INFO.
590         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Ditto.
591         (ASM_OUTPUT_LABELREF): Use STRIP_NAME_ENCODING.
592         (GEN_LAZY_PTR_NAME_FOR_SYMBOL): Ditto.
593         * config/darwin.c: No longer include c-tree.h.
594         (machopic_classify_ident): Rewrite to use symbol encoding.
595         (lookup_name_darwin): Remove.
596         (machopic_non_lazy_ptr_name): Handle encoded symbols.
597         (machopic_stub_name): Use STRIP_NAME_ENCODING.
598         (machopic_validate_stub_or_non_lazy_ptr): Ditto.
599         (machopic_finish): Ditto, remove test of decl.
600         (update_non_lazy_ptrs): New function.
601         (darwin_encode_section_info): New function.
602         * config/darwin-protos.h: Declare it.
603         * config/rs6000/rs6000.c (machopic_output_stub): Use
604         STRIP_NAME_ENCODING.
605         
606 2001-06-07  Mark Mitchell  <mark@codesourcery.com>
607
608         * tree.h (DECL_SOURCE_FILE): Improve documentation.
609         (DECL_SOURCE_LINE): Likewise.
610
611 2001-06-07  Loren J. Rittle  <ljrittle@acm.org>
612
613         * config/alpha/elf.h (MAKE_DECL_ONE_ONLY): Copy definition
614         from config/elfos.h.
615
616 2001-06-07  Phil Edwards  <pme@sources.redhat.com>
617
618         * linux.h (CPLUSPLUS_CPP_SPEC):  Move -D_GNU_SOURCE to here.
619         * pa/pa-linux.h:  Allow CPLUSPLUS_CPP_SPEC to remain.
620
621 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
622
623         * doc/contrib.texi: Add copyright notice.
624
625 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
626
627         * doc/md.texi: Use four digit years in copyright notice.
628
629 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
630
631         * config.gcc: For $target_alias of athlon-*, set
632         target_cpu_default2=5.
633
634 Thu Jun  7 16:17:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
635
636         * global.c (build_insn_chain): Allow ADDR_VEC or ADDR_DIF_VEC after
637         end of last block if last real insn is a JUMP_INSN.
638
639 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
640
641         * NEWS: Regenerate.
642
643 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
644
645         * gthr-posix.h (__gthread_objc_thread_detach): Simply cast
646         pthread_t to objc_thread_t.
647         (__gthread_objc_thread_id): Likewise.
648
649 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
650
651         * alpha/osf5.h (CPP_XFLOAT_SPEC): Override default definition.
652         (ASM_OLDAS_SPEC): Likewise.
653
654         * alpha/osf.h (CPP_XFLOAT_SPEC): Define.
655         (CPP_SUBTARGET_SPEC): Use it.
656         (ASM_OLDAS_SPEC): Define.
657         (ASM_SPEC): Use it.
658         (SUBTARGET_EXTRA_SPECS): Define, declare the new specs above.
659
660 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
661
662         * config/alpha/alpha.c (alpha_va_arg): Handle TFmode, TCmode args,
663         passed by reference.
664
665 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
666
667         * doc/tm.texi (TARGET_SWITCHES, TARGET_OPTIONS): Adjust markup.
668         Document use of N_(...), and show it in examples.  Note that
669         documentation should be added to invoke.texi.  Avoid an overfull
670         hbox.
671
672 Thu Jun  7 17:09:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
673
674         * toplev.c (rest_of_compilation): Revert previous patch.
675         * final.c (shorten_branches): Likewise.
676
677 2001-06-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
678
679         * pself.c, pself1.c, pself2.c, pself3.c, pself4.c, pself5.c:
680         Remove.
681
682 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
683
684         * doc/install-old.texi: Remove more obsolete documentation.
685
686 Thu Jun  7 13:20:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
687
688         * expr.c (copy_blkmode_from_reg): Fix operand_subword_force call.
689
690 Thu Jun  7 12:12:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
691
692         * toplev.c (rest_of_compilation): Call split_all_insns
693         before reg-stack and shorten-branches. Do shorten-branches
694         after reg-stack.
695         * final.c (shorten_branches): Remove insn splitting code.
696
697 2001-06-07  Nathan Sidwell  <nathan@codesourcery.com>
698
699         * configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support.
700         * configure: Rebuilt.
701
702 2001-06-07  Andreas Jaeger  <aj@suse.de>
703
704         * emit-rtl.c (operand_subword): Remove unused variable.
705
706 Wed Jun  6 14:51:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
707
708         * i386.md (floatdi?f): Avoid usinf of SSE instructions
709         if TARGET_64BIT is false.
710         (floatdi?f_i386_only): New insn.
711         (floatdi?f_i386): Disable for !TARGET_64BIT.
712
713         * (min?f, max?f splitters): Handle case where
714         operands are cross-matched.
715
716         * i386.h (HI_REGISTER_NAMES): Remove redundant definition
717         (MMX_REGISTER_NAMES): Kill.
718         (PRINT_OPERAND): Fix comment.
719         (PRINT_REG): Likewise.
720         * i386.c (print_reg): Kill support for 'm' CODE; simplify.
721         (print_operand): Update comment; kill 'm'.
722
723         * i386.c (x86_branch_hints): New global variable
724         (print_operand): Support outputting of branch prediction hints.
725         * i386.md (conditional jump patterns): Add branch prediction hints
726         to the template.
727         * i386.h (x86_branch_hints): Declare
728         (TARGET_BRANCH_PREDICTION_HINTS): New macro.
729         (PRINT_OPERAND_FUNCT_VALID_P): New.
730         * final.c (final_forward_branch_p): New function.
731
732 2001-06-06  Richard Henderson  <rth@redhat.com>
733
734         * flow.c (mark_used_reg): Clean up looping over multiple hard
735         registers.  Do conditional life bits across multiple hard regs.
736
737 2001-06-05  Jeffrey D. Oldham  <oldham@codesourcery.com>
738
739         * reload1.c (reload): Revert Schmidt's change so all USEs are not
740         deleted during reload.
741
742 2001-06-05  Mark Mitchell  <mark@codesourcery.com>
743
744         * c-semantics.c (genrtl_scope_stmt): Write out nested inline
745         functions here, instead of ...
746         * c-decl.c (c_expand_body): ... here.
747
748 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
749
750         * config.gcc, config/sparc/bsd.h:  Do not directly include
751         sparc/sparc.h.  Instead do it via tm_file.
752
753 2001-06-05  Richard Henderson  <rth@redhat.com>
754
755         * dwarf2.h (DW_EH_PE_aligned): New.
756         * dwarf2asm.c (eh_data_format_name): Name it.
757         (dw2_asm_output_encoded_addr_rtx): Align for it.
758         * dwarf2out.c (output_call_frame_info): Handle it for personality
759         routine and LSDA pointers.
760
761         * unwind-pe.h (DW_EH_PE_aligned): New.
762         (base_of_encoded_value): Handle it.
763         (read_encoded_value_with_base): Likewise.
764         * unwind-dw2-fde.c (base_from_object): Likewise.
765         (get_cie_encoding): Likewise.
766
767         * config/alpha/elf.h: Remove ecoff commentary.
768         * config/alpha/osf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
769
770 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
771
772         * config.gcc, config/i386/bsd386.h:  Do not directly include
773         i386/386bsd.h.  Instead do it via tm_file.
774
775 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
776
777         * elfos.h (USING_ELFOS_H):  Identify the use of elfos.h in the same
778         way svr4.h does.
779
780 2001-06-05  Pascal Obry  <obry@act-europe.fr>
781
782         * configure.in: Quote $enable_win32_registry in case the value has
783         spaces in it.
784         * configure: Ditto.
785
786 2001-06-05  Mark Mitchell  <mark@codesourcery.com>
787
788         * print-rtl.c (xspaces): Remove.
789         (print_rtx): Use printf field-width, rather than xpsaces, to
790         indent.
791         * toplev.c (main): Disable sibling-call optimization if we are
792         handling exceptions.
793         
794 2001-06-05  Bernd Schmidt  <bernds@redhat.com>
795
796         * reload1.c (reload): Delete all USEs generated during reload.
797
798 2001-06-05  scott snyder  <snyder@fnal.gov>
799
800         * gccbug.in:  Fix typo.
801
802 2001-06-05  Andreas Jaeger  <aj@suse.de>
803
804         * builtins.def: Fix definition of __builtin_cosf, it uses float as
805         parameter and return value.
806
807 2001-06-04  Anthony Green  <green@redhat.com>
808
809         * config/sparc/elf.h (CPP_PREDEFINES): Don't assert cpu or
810         machine.  This is now done in sparc.h.
811
812 2001-06-05  Nathan Sidwell  <nathan@codesourcery.com>
813
814         Correct CVS resurrection of invoke.texi.
815         * doc/invoke.texi: Document new tree dump flags.
816
817 2001-06-05  Joseph S. Myers  <jsm28@cam.ac.uk>
818
819         * c-typeck.c (build_c_cast): Use TYPE_MAIN_VARIANT when checking
820         for casting an aggregate to its own type.  Fixes PR c/2735.
821
822 2001-06-05  Joseph S. Myers  <jsm28@cam.ac.uk>
823
824         * doc/texinfo.tex: Update to version 2001-05-24.08.
825
826 2001-06-05  Nathan Sidwell  <nathan@codesourcery.com>
827
828         * c-common.h (flag_dump_translation_unit): Remove.
829         (enum tree_dump_index): Define.
830         (TDF_ADDRESS, TDF_SLIM): New #defines.
831         (dump_node_to_file): Remove.
832         (dump_node): Make extern. Add flags.
833         (dump_flag, dump_enabled_p, dump_begin, dump_end,
834         dump_switch_p): Prototype.
835         * c-common.c (flag_dump_translation_unit): Remove.
836         * c-decl.c (c_decode_option): Remove -fdump-translation-unit
837         logic. Use dump_switch_p.
838         * c-dump.h (struct dump_info): Add node and user fields.
839         (dump_pointer): Declare.
840         * c-dump.c (dump_node): Make extern. Add flags.
841         (SOL_COLUMN, EOL_COLUMN, COLUMN_ALIGNMENT): New #defines.
842         (dump_new_line, dump_maybe_newline): Use them.
843         (dump_pointer): New function.
844         (dequeue_and_dump): Check TDF_SLIM before dumping a _DECL's
845         chain or function's body. Dump address, if TDF_ADDRESS set.
846         (dump_flag): Define.
847         (dump_node_to_file): Remove.
848         (struct dump_file_info): New struct.
849         (dump_files): New array.
850         (dump_begin, dump_end, dump_enabled_p, dump_switch_p): Define.
851         * c-lang.c (finish_file): Adjust dumping.
852         * toplev.h (dump_base_name): Make extern.
853         * invoke.texi: Document new flags.
854
855 2001-06-04  Mark Mitchell  <mark@codesourcery.com>
856
857         * c-tree.h (lang_decl): Add pending_sizes fields.
858         * c-decl.c (store_parm_decls): Save pending_sizes away for nested
859         functions.
860         (c_expand_body): Expand them.
861         (lang_mark_tree): Mark lang_decl:pending_sizes.
862         * function.c (expand_pending_sizes): New function, broken out
863         from ...
864         (expand_function_start): ... here.
865         * tree.h (expand_pending_sizes): Declare it.
866
867 2001-06-04  Loren J. Rittle  <ljrittle@acm.org>
868
869         * doc/install.texi: Update FreeBSD information.  Generalize
870         and update information for alpha-based platforms using ELF.
871
872 2001-06-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
873
874         * c-decl.c (get_parm_info): Use INTEGRAL_TYPE_P.
875         (store_parm_decls): Likewise.
876         * c-typeck.c (convert_arguments): Likewise.
877
878 2001-06-04  Richard Henderson  <rth@redhat.com>
879
880         * sibcall.c (optimize_sibling_and_tail_recursive_call): Suppress
881         optimization if current_function_calls_setjmp.
882
883 2001-06-04  Joseph S. Myers  <jsm28@cam.ac.uk>
884
885         * doc/c-tree.texi: Fix documentation of TREE_STRING_LENGTH for
886         wide strings.
887
888 Mon Jun  4 20:44:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
889
890         * simplify-rtx.c (simplify_subreg): Fix combining of
891         paradoxical subregs.
892
893 Mon Jun  4 20:15:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
894
895         * rtlanal.c (rtx_unsable_p): ADDRESSOF is stable.
896         (no_labels_between_p): Short circuit case beg==end.
897
898 Mon Jun  4 20:03:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
899
900         * rtlanal.c (operand_preference): Fix preference for objects.
901
902 Mon Jun  4 20:00:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
903
904         * gcse.c (handle_avail_expr): Be prepared to handle single_set
905         parallels.
906
907 Mon Jun  4 19:59:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
908
909         * combine.c (if_then_else_cond): Use simplify_subreg instead
910         of operand_subword.
911         * integreate.c (sub_constants): Likewise.
912
913 Mon Jun  4 19:59:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
914
915         * emit-rtl.c (constant_subword): Deprecate; remove most of code
916         and use simplify_gen_subreg.
917
918 Mon Jun  4 19:55:23 CEST 2001  Lars Brinkhoff  <lars@nocrew.org>
919
920         * sibcall.c (skip_copy_to_return_value): recognize the situation
921         when the called function's return value is copied into an
922         intermediate pseudo, and then into the calling functions return
923         value register.
924
925 Mon Jun  4 16:50:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
926
927         * simplify_rtx.c (simplify_subreg): Keep subregs on return values,
928         check CLASS_CANNOT_CHANGE_MODE before avoiding subreg on hard reg,
929         in case register wasn't OK previously, accept it now; allow
930         subregs of frame pointer if reload completed and frame pointer
931         is not needed.
932
933         * combine.c (sombine_simplify_rtx): Fix comment;
934         use subreg_lowpart_offset instead of subreg_lowpart_p
935         (gen_lowpart_for_combine): Use subreg_lowpart_offset.
936         * rtl.h (subreg_lowpart_parts_p): Kill.
937         (subreg_lowpart_offset, subreg_highpart_offset): Declare.
938         * simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset.
939         * emit-rtl.c (gen_lowpart_SUBREG): Use subreg_lowpart_offset;
940         (gen_lowpart_common): Likewise.
941         (subreg_lowpart_p): Likewise.
942         (subreg_lowpart_parts_p): Kill.
943         (subreg_lowpart_offset, subreg_highpart_offset): New function.
944
945         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
946         to simplify SUBREG and REG.
947         (gen_highpart): Use simplify_gen_subreg for all simplifications.
948
949         * emit-rtl.c (gen_realpart, gen_imagpart): Do not handle
950         CONCAT specially.
951
952         * rtlanal.c (replace_regs):  Use simplify_gen_subreg
953
954 Mon Jun  4 09:21:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
955
956         * doc/c-tree.texi (ARRAY_REF): Say what type of expression must be.
957         (ARRAY_RANGE_REF): Added description.
958
959         * tree.def (ARRAY_RANGE_REF): New code.
960         * alias.c (handled_component_p, can_address_p): Handle it.
961         * dwarf2out.c (loc_descriptor_from_tree): Likewise.
962         * explow.c (set_mem_attributes): Likewise.
963         * expr.c (expand_assignment, get_inner_reference): Likewise.
964         (expand_expr, expand_expr_unaligned, do_jump): Likewise.
965         * fold-const.c (operand_equal_p): Likewise.
966         * tree.c (staticp, stabilize_reference): Likewise.
967         * varasm.c (decode_addr_const): Likewise.
968
969 Sun Jun  3 21:59:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
970
971         * reload.c (reload_inner_reg_of_subreg): Return 1 for PLUS.
972         (push_reload): Handle non-REG in reload_inner_reg_of_subreg case.
973
974 2001-06-03  kaz Kojima  <kkojima@rr.iij4u.or.jp>
975
976         * gcc/config/sh/sh.c (print_operand_address, print_operand): Call
977         mark_constant_pool_use before output_addr_const.
978         (struct pool_node): New field wend.
979         (add_constant): Note a sequence of constants that are referenced
980         by a given label.
981         (pool_window_label, pool_window_last): New variables.
982         (dump_table): Emit a unspec_volatile representing the end of a
983         sequence of constants.
984         (mark_constant_pool_use): New function.
985         * gcc/config/sh/sh.md (UNSPECV_WINDOW_END): New constant.
986         (consttable_2): Add the second operand which flags whether
987         this consttable entry was used or not.
988         (consttable_4, consttable_8, consttable_sf, consttable_df):
989         Likewise.
990         (consttable_window_end): New insn.
991
992 2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
993
994         * insn-addr.h (INSN_ADDRESSES_NEW): Make insn_uid__ unsigned.
995         Reformat according to coding standards.
996
997         Warning removal.
998         * config/sh/sh.c (print_operand_address): Cast INTVAL to int.
999         (shl_and_kind): Cast wide constant.
1000         (gen_far_branch): Define as static, as in declaration.
1001         (barrier_align): Compute cache-line length as unsigned.  Add
1002         parentheses in initial credit computation.
1003         (rounded_frame_size): Add parentheses.
1004         (permanent_obstack): Remove declaration.  Include ggc.h for
1005         declaration of ggc_add_root_rtx().
1006         (get_free_reg): Removed declaration of unused variable reg.
1007         (legitimize_pic_address): Mark mode argument as unused.
1008
1009 2001-06-03  Igor Shevlyakov  <igor@windriver.com>
1010
1011         * config/sh/sh.c (output_branch): Support for insn with lenght
1012         attr 12 & 16 which represents cond branches outside +-4096 range.
1013
1014 2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
1015
1016         * config/sh/lib1funcs.asm (ic_invalidate): Align the
1017         cache-mirroring sequence.  Add nops.
1018
1019 2001-06-03  Joseph S. Myers  <jsm28@cam.ac.uk>
1020
1021         * doc/install-old.texi: Remove more old installation
1022         documentation.
1023         * doc/install.texi: Add relevant parts here.
1024
1025 2001-06-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1026
1027         * doc/install.texi2html: New script.
1028
1029 2001-06-03  David Edelsohn  <edelsohn@gnu.org>
1030
1031         * doc/install.texi: Update AIX information again.
1032
1033 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
1034
1035         * doc/gcc.texi, doc/install-old.texi: Remove old system-specific
1036         installation documentation.
1037         * doc/install.texi: Move it to here.
1038
1039 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
1040
1041         * doc/install.texi: Clean up Texinfo markup.
1042
1043 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
1044
1045         * doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi: Move contents
1046         to just after title page.
1047
1048 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
1049
1050         * doc/install-old.texi: Remove documentation of some configuration
1051         options.
1052         * doc/install.texi: Add relevant parts of this documentation here.
1053
1054 2001-06-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1055
1056         * contrib.texi: Updated entries for Mark Mitchell, Joseph S. Myers,
1057         Gerald Pfeifer, Bernd Schmidt, and Dean Wakerley.
1058
1059 Sat Jun  2 12:23:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
1060
1061         * i386.md (all uses of ext_register_operand): Make sure they are
1062         VOIDmode; replace all uses outside zero_extend.
1063         (and?i splitters): Use ext_register_operands.
1064         (test?i peep2): Remove ignored constraints.
1065         * i386.c (ext_register_operand): Check that operand is
1066         eighter pseudo or hard or 'Q' register.
1067
1068 Sat Jun  2 06:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1069
1070         * tree.h (struct record_layout_info_s): New field unpadded_align.
1071         (set_lang_adjust_rli): New declaration.
1072         * stor-layout.c (layout_decl): If DECL is packed, but at alignment
1073         it would have if not packed, do not downgrade DECL_ALIGN.
1074         (lang_adjust_rli, set_lang_adjust_rli): New.
1075         (start_record_layout): Initialize new field unpadded_align.
1076         (debug_rli): Display it.
1077         (place_union_field, place_field): Set it.
1078         (layout_type, case RECORD_TYPE): Call via lang_adjust_rli if set.
1079
1080         * print-tree.c (print_node): Don't print "regdecl" when bit doesn't
1081         mean that; use proper names instead.
1082         Print DECL_NO_STATIC_CHAIN.
1083
1084         * except.c (expand_builtin_frob_return_addr): Add missing call
1085         to convert_memory_address #ifdef POINTERS_EXTEND_UNSIGNED.
1086         (expand_builtin_eh_return): Likewise.
1087         (expand_eh_return): Clean up ptr_mode != Pmode cases.
1088
1089 2001-06-01  Jan van Male  <jan.vanmale@fenk.wau.nl>
1090
1091         * doc/invoke.texi: Remove references to papers about sequence points
1092         to readings.html, refer to that page.
1093
1094 2001-06-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1095
1096         * README: Update references to installation instructions.
1097
1098 2001-06-01  Laurent Guerby  <guerby@acm.org>
1099             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1100
1101         * doc/install.texi: Define srcdir when sources come from CVS.
1102         Significantly improve markup.  Wrap overly long lines
1103
1104 2001-06-01  DJ Delorie  <dj@redhat.com>
1105
1106         * c-tree.texi, contrib.texi, cpp.texi, cppinternals.texi,
1107         extend.texi, fdl.texi, gcov.texi, invoke.texi, md.texi,
1108         objc.texi, rtl.texi, tm.texi, texinfo.tex, gcc.1, cpp.1,
1109         gcov.1: Move to doc subdirectory.
1110         * install.texi: Move to doc/install-old.texi.
1111         * gcc.texi: Move to doc, refer to install-old.texi.
1112         * Makefile.in: Reflect move of docs to doc/.
1113         * f/Make-lang.in: Ditto.
1114         * java/Make-lang.in: Ditto.
1115         * doc/.cvsignore: New.
1116
1117 2001-05-31  Jan van Male  <jan.vanmale@fenk.wau.nl>
1118
1119         * invoke.texi: use two spaces between command options, eliminate
1120         some 'overfull hboxes'
1121
1122 2001-06-01  Hans-Peter Nilsson  <hp@axis.com>
1123
1124         * Makefile.in (s-mlib): Make backtick-commands always succeed.
1125         (DRIVER_DEFINES): Ditto.
1126
1127 2001-05-31  Richard Henderson  <rth@redhat.com>
1128
1129         * gcc.c (init_gcc_specs): When linking against libgcc_s.so,
1130         also link against libgcc.a.
1131
1132 2001-05-31  Geoff Keating  <geoffk@cygnus.com>
1133
1134         * config/mips/mips.h (ASM_OUTPUT_ASCII): Convert to function.
1135         * config/mips/mips.c (mips_output_ascii): New function.
1136         * config/mips/mips-protos.h (mips_output_ascii): Prototype.
1137
1138         * config/mips/mips.h (DWARF_CIE_DATA_ALIGNMENT): Force to 4.
1139
1140 Thu May 31 19:09:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
1141
1142         * flow.c (set_block_for_new_insns): Remove bogus shortcut.
1143         * i386.c (ix86_expand_int_movcc): Force one of operands to be register.
1144
1145 2001-05-31  Rodney Brown  <rbrown64@csc.com.au>
1146
1147         * install.texi (Configuration): Add html links for --with-gnu-as &
1148         --with-gnu-ld and refer to them from hppa & SCO triplets.
1149         (Specific): Link back to with-gnu-ld for all ELF platfoms.
1150         (Specific): Reword AVR binutils recommendation.
1151
1152 2001-05-30  Zack Weinberg  <zackw@stanford.edu>
1153
1154         * ggc-page.c (size_lookup): Increase minimum allocation size
1155         to eight bytes.
1156         (ggc_print_statistics): Report size of each bin in bytes, not
1157         as its order; there is no longer a direct relationship.
1158
1159 2001-05-31  Jan van Male  <jan.vanmale@fenk.wau.nl>
1160
1161         * extend.texi: Fix formating of examples, eliminate some
1162         'overfull hboxes'.
1163         * gcc.texi: Eliminate some 'overfull hboxes'.
1164         * invoke.texi: Use two spaces between command options, eliminate
1165         some 'overfull hboxes'.
1166
1167 2001-05-30  Richard Henderson  <rth@redhat.com>
1168
1169         * dwarf2out.c (dwarf2out_finish): Don't emit DW_AT_stmt_list at -g1.
1170
1171 2001-05-30  Tom Tromey  <tromey@redhat.com>
1172
1173         * gcc.c (do_spec_1): In `%O' case, if we computed saved_suffix,
1174         use it in the new association.
1175
1176 2001-05-30  Loren J. Rittle  <ljrittle@acm.org>
1177             John David Anglin  <dave@hiauly1.hia.nrc.ca>
1178
1179         * gthr-posix.h (__gthread_active_ptr): Cast function pointer
1180         to target type to allow ISO C++ compiler to accept it.
1181         * gthr-dce.h (__gthread_active_ptr): Likewise.
1182         * gthr-solaris.h (__gthread_active_ptr): Likewise.
1183
1184 2001-05-30  Neil Booth  <neil@daikokuya.demon.co.uk>
1185
1186         * cpplex.c (_cpp_lex_token): Revert patch of 16 May 2001
1187         so that we do accept comments in preprocessed input.
1188
1189 2001-05-30  Neil Booth  <neil@daikokuya.demon.co.uk>
1190
1191         * cpphash.c (alloc_node): Cast allocated pointer.
1192
1193 2001-05-30  Gordon Sadler <gbsadler1@lcisp.com>
1194
1195         * invoke.texi (Option Summary): Remove -isystem-c++ from options.
1196
1197 2001-05-29  Stan Shebs  <shebs@apple.com>
1198
1199         * gcc.texi: Add links for information about Objective-C.
1200
1201 2001-05-29  Nathan Sidwell  <nathan@codesourcery.com>
1202
1203         * configure.in (gcc_version): Remove unrequired \ on ". (Solaris
1204         /bin/sed fails on [^\"]).
1205         (configargs.h): Likewise.
1206
1207 2001-05-29  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
1208
1209         * config/sh/sh.h (IDENT_ASM_OP): End with TAB, not LF.
1210
1211 2001-05-28  Stan Shebs  <shebs@apple.com>
1212
1213         * objc/objc.gperf: Remove, no longer used.
1214
1215 2001-05-28  Joseph S. Myers  <jsm28@cam.ac.uk>
1216
1217         * c-tree.texi, contrib.texi, cpp.texi, extend.texi, gcc.texi,
1218         gcov.texi, install.texi, md.texi, objc.texi, rtl.texi, tm.texi:
1219         Remove trailing whitespace.
1220
1221 2001-05-28  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1222
1223         * doc/install.texi (Specific): http://reality.sgi.com/ariel/freeware/
1224         became http://freeware.sgi.com/.
1225
1226 2001-05-27  Geoffrey Keating  <geoffk@redhat.com>
1227
1228         * local-alloc.c (update_equiv_regs): Don't eliminate constant
1229         expressions at -O0.
1230
1231 2001-05-27  Stan Shebs  <shebs@apple.com>
1232
1233         * objc/objc-act.c: Add/fix various comments.
1234         (init_selector): Remove, no longer used.
1235         (build_msg_pool_reference): Ditto.
1236         (objc_debug): Ditto.
1237
1238 2001-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
1239
1240         * c-decl.c (init_decl_processing):
1241          Don't call start_identifier_warnings.
1242         * flags.h (warn_id_clash, id_clash_len): Remove.
1243         * stringpool.c: Don't include flags.h.
1244         (scan_for_clashes, do_identifier_warnings,
1245         start_identifier_warnings): Remove.
1246         * toplev.c (warn_id_clash, id_clash_len): Remove.
1247         (display_help): Don't document -Wid-clash.
1248         (decode_W_option): Print warning on -Wid-clash.
1249         * tree.h (start_identifier_warnings): Remove.
1250         * invoke.texi: Remove documentation of -Wid-clash.
1251
1252 2001-05-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1253
1254         * fixinc/fixtests.c: Declare entries in ENV_TABLE.
1255
1256 2001-05-27  Bruce Korb  <bkorb@gnu.org>
1257
1258         * fixinc/check.tpl(HACK) add and use a Scheme variable
1259         (has no test text): error out if no "test_text" is defined
1260         * fixinc/fixincl.tpl: likewise
1261         (FIXIDX): make it an enumeration so we minimize diffs
1262         * fixinc/inclhack.def: re-alphabetize and add sort instructions
1263         * fixinc/fixincl.x: regenerate
1264         * fixinc/tests/base/stdio.h: test output got moved due to
1265         the alphabetizing
1266         * README-fixinc: rewrite (mostly)
1267
1268 2001-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
1269
1270         * cpplib.c (run_directive): Set pfile->directive.
1271
1272 2001-05-23  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
1273
1274         * c-tree.texi: Reformat the manual as a single chapter now
1275         included by gcc.texi.
1276         * gcc.texi: Include c-tree.texi. Merge all indexes.
1277         * Makefile.in (dvi): Add generation for the cppinternals
1278         documentation. Added dependencies on fdl.texi and c-tree.texi
1279         where appropriate.  Use TEXI2DVI instead of custom tex calls.
1280         (info): Added dependencies on fdl.texi and c-tree.texi where
1281         appropriate.  Remove the target c-tree.info.
1282
1283 2001-05-27  Lars Brinkhoff  <lars@nocrew.org>
1284
1285         * combine.c (try_combine): Fix typo in comment.
1286         * expr.c (expand_expr): Likewise.
1287         * config/i370/i370.md (untyped_call): Likewise.
1288
1289 2001-05-26  Bruce Korb  <bkorb@gnu.org>
1290
1291         * fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
1292         when fixincl is operating in test mode
1293         * fixinc/inclhack.def(AAB_dgux_int_varargs) : aesthetics
1294         (AAB_ultrix_limits): remove redundant text
1295         (AAB_ultrix_memory): ditto
1296         (AAB_ultrix_string): ditto
1297         (djgpp_wchar_h): fix the test text
1298         (irix_stdio_va_list): add test text
1299         (irix_limits_const): add a testing output file (limits.h is overwritten)
1300         (strict_ansi_not_ctd): put limits.h second in list for same reason
1301         (solaris27_mutex_init): test text needed selection text, too
1302
1303         * fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
1304         when fixincl is operating in test mode
1305
1306 2001-05-26  Philip Blundell  <philb@gnu.org>
1307
1308         * config/c4x/c4x-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
1309         * config/i960/i960-protos.h: Likewise.
1310         * config/i370/i370-protos.h: Likewise.
1311         * config/h8300/h8300-protos.h: Likewise,
1312         * config/sh/sh-protos.h: Likewise.
1313         * config/v850/v850-protos.h: Likewise.
1314
1315 2001-05-26  Philip Blundell  <philb@gnu.org>
1316
1317         * config/arm/arm-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
1318
1319 2001-05-25  Zack Weinberg  <zackw@stanford.edu>
1320
1321         * toplev.c (debug_args, f_options, W_options): Mark
1322         descriptions for translation.
1323         (display_help): Translate descriptions on output.
1324
1325         * cp/lang-options.h, f/lang-options.h, java/lang-options.h,
1326         objc/lang-options.h: Mark descriptions for translation.
1327
1328         * aclocal.m4: Quote final argument of patsubst.  Use
1329         3-argument form of AC_DEFINE.  Restore quotes to [] while
1330         using AC_FD_CC.
1331         * configure.in: Remove unnecessary changequote calls.
1332         * configure, config.in: Regenerate.
1333
1334 2001-05-25  Sam TH  <sam@uchicago.edu>
1335
1336         * basic-block.h: Fix header include guards.
1337         * bitmap.h c-dump.h c-lex.h c-pragma.h c-tree.h collect2.h
1338         cppdefault.h cpphash.h cpplib.h defaults.h diagnostic.h errors.h
1339         except.h flags.h gcc.h gcov-io.h graph.h gstab.h gthr-aix.h
1340         gthr-dce.h gthr-posix.h gthr-rtems.h gthr-single.h gthr-solaris.h
1341         gthr-vxworks.h gthr-win32.h gthr.h hard-reg-set.h hwint.h
1342         insn-addr.h libgcc2.h mbchar.h mkdeps.h params.h prefix.h real.h
1343         rtl.h sbitmap.h system.h timevar.h toplev.h tradcpp.h tsystem.h
1344         varray.h version.h: Likewise.
1345         * config/dbxelf.h config/fp-bit.h config/arm/arm-protos.h
1346         config/arm/arm.h config/c4x/c4x-protos.h
1347         config/h8300/h8300-protos.h config/h8300/h8300.h
1348         config/i370/i370-protos.h config/i370/i370.h
1349         config/i960/i960-protos.h config/mcore/mcore.h
1350         config/mips/mips-protos.h config/sh/sh-protos.h config/sh/sh.h
1351         config/v850/v850-protos.h config/v850/v850.h: Likewise.
1352         * fixinc/fixlib.h fixinc/server.h: Likewise.
1353
1354 2001-05-25  Stacey Sheldon  <ssheldon@Catena.com>
1355
1356         * config/arc/initfini.c (.init): Fix typo.
1357
1358 2001-05-25  Geoffrey Keating  <geoffk@redhat.com>
1359
1360         * config/rs6000/rs6000.md (fseldfsf4): Correct mode of operand 4.
1361
1362 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1363
1364         * i386/i386.h (CC1_CPU_SPEC): Clarify -m486 etc deprecation messages.
1365
1366 2001-05-25  Richard Henderson  <rth@redhat.com>
1367
1368         * libgcc-std.ver: Export XFmode and TFmode versions of symbols.
1369
1370 2001-05-25  Richard Henderson  <rth@redhat.com>
1371
1372         * config.gcc (all gnu and linux): Use t-slibgcc-elf-ver with t-linux.
1373         (i386-*-solaris2): Use t-slibgcc-elf-ver or t-slibgcc-sld.
1374         (sparc*-*-solaris2): Likewise.
1375         * config/t-linux: Remove shared libgcc macros.
1376         * config/t-slibgcc-elf-ver: Move from sparc/t-slibgcc.
1377         * config/t-slibgcc-sld: Move from sparc/t-slibgcc-sld.
1378
1379 2001-05-25  Loren J. Rittle  <ljrittle@acm.org>
1380
1381         * config.gcc (*-*-freebsd*): Report bad configuration.
1382
1383 2001-05-25  David Edelsohn  <edelsohn@gnu.org>
1384
1385         * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Do not emit any marker.
1386
1387         * config/rs6000/aix.h (USER_LABEL_PREFIX): AIX symbols do not have
1388         any prefix.
1389         (ASM_OUTPUT_LABELREF): Delete.
1390
1391 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1392
1393         * fixinc/inclhack.def (strict_ansi_not, strict_ansi_not_ctd,
1394         strict_ansi_only): Don't run if stdc_0_in_system_headers.
1395         * fixinc/fixincl.x: Regenerate.
1396         * fixinc/fixtests.c (stdc_0_in_system_headers_test): New function.
1397         (FIX_TEST_TABLE): Declare it.
1398         * fixinc/fixlib.h: Include config.h.
1399
1400 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1401
1402         * fixinc/inclhack.def (alpha___assert): Change char * args to
1403         const char * on Tru64 UNIX to avoid excessive warnings from
1404         assert.h.
1405         * fixinc/fixincl.x: Regenerate.
1406
1407 2001-05-25  Geoff Keating  <geoffk@redhat.com>
1408
1409         * dbxout.c (dbxout_symbol): Invert previous patch, which was
1410         outputting a tag only for variable-size records.
1411
1412 2001-05-25  Jeff Knaggs  <jknaggs@redhat.com>
1413
1414         * config/alpha/alpha.md (movtf_internal): Use reg_overlap_mentioned_p
1415         instead of rtx_equal_p for early clobber test.
1416
1417 2001-05-26  Mark Mitchell <mark@codesourcery.com>
1418
1419         * builtins.def: Encode additional information, such as names and
1420         types, here.
1421         * builtin-types.def: New file.
1422         * builtins.c (built_in_names): Adjust use of DEF_BUILTIN.
1423         (built_in_decls): Likewise.  Don't explicitly initialize global
1424         data to NULL.
1425         (expand_builtin_mathfn): Handle float and long double variants of
1426         math builtins.
1427         (expand_builtin): Likewise.
1428         * c-common.c (c_common_nodes_and_builtins): Make it table-driven.
1429         (expand_tree_builtin): Handle long, long long, float, and long
1430         double variants of math functions.
1431         * c-common.h (c_tree_index): Remove some unused nodes.
1432         (void_ftype): Remove.
1433         (void_type_ptr): Likewise.
1434         (int_ftype_int): Likewise.
1435         (ptr_ftype_sizetype): Likewise.
1436         * c-decl.c (init_decl_processing): Remove creation of DWARF
1437         builtins.
1438         * defaults.h (MD_INIT_BUILTINS): Provide default definition.
1439         * tree.h (built_in_function): Adjust definition of DEF_BUILTIN.
1440         * Makefile.in (c-common.o): Depend on builtin-types.def.
1441
1442 2001-05-25  Dale Johannesen  <dalej@apple.com>
1443
1444         * config/rs6000/t-darwin: Fix dependencies for darwin.o.
1445
1446 2001-05-25  Neil Booth  <neil@daikokuya.demon.co.uk>
1447
1448         * c-parse.in (notype_initdcl): Remove redundant line.
1449
1450 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1451
1452         * aclocal.m4: Fixed typo.
1453         (gcc_AC_HEADER_STDBOOL): Define.
1454         (gcc_AC_C__BOOL): Define.
1455         * configure.in: Use them.
1456         (AC_CHECK_HEADERS): Remove stdbool.h
1457         * configure, config.in: Regenerate.
1458
1459 2001-05-25  Richard Henderson  <rth@redhat.com>
1460
1461         * function.c (expand_function_start): Don't abort on PARALLEL
1462         returns from hard_function_value.
1463
1464 2001-05-25  Richard Henderson  <rth@redhat.com>
1465
1466         * config/i386/i386.md: Revert previous change.  Do not apply
1467         the peephole if the components do not die after the sequence.
1468
1469 2001-05-25  Joseph S. Myers  <jsm28@cam.ac.uk>
1470
1471         * c-parse.in (array_declarator): New.  Handle C99 constructs.
1472         Don't restrict [*] declarators to C only.
1473         (after_type_declarator, parm_declarator_starttypename,
1474         parm_declarator_nostarttypename, notype_declarator,
1475         direct_absdcl1): Use it.
1476         * c-decl.c (build_array_declarator, set_array_declarator_type):
1477         New functions.  Warn that [*] isn't properly implemented; pedwarn
1478         for [*] outside C99 mode if pedantic rather than giving a hard
1479         error.
1480         (grokdeclarator): Handle static and type qualifiers in parameter
1481         array declarators.
1482         * c-tree.h (build_array_declarator, set_array_declarator_type):
1483         Declare.
1484         * extend.texi (Attribute Syntax): Document attributes in parameter
1485         array declarators.
1486
1487 2001-05-25  Mark Mitchell  <mark@codesourcery.com>
1488
1489         * config/i386/i386.md: Make sure cmpstr peepholes do not
1490         affect liveness information.
1491
1492 2001-05-24  Mark Mitchell  <mark@codesourcery.com>
1493
1494         * c-typeck.c (digest_init): Issue error messages about
1495         invalid constants, not warnings.
1496
1497 2001-05-24  Mark Mitchell  <mark@codesourcery.com>
1498
1499         * invoke.texi (-fno-builtin): Document that this is always on
1500         in C++.
1501
1502 2001-05-24  Philip Blundell  <philb@gnu.org>
1503
1504         * doc/install.texi (arm*-*-linux-gnu): Say that binutils 2.10 is
1505         required.
1506
1507 2001-05-24  Philip Blundell  <philb@gnu.org>
1508
1509         * config/arm/arm.c (output_return_instruction): Correctly handle
1510         interworking and interrupt functions.
1511
1512 2001-05-24  Philip Blundell  <philb@gnu.org>
1513
1514         * config/arm/arm.h (TARGET_SWITCHES): Correct misleading help for
1515         -m{no-}sched-prolog.  Fix typos and improve formatting.
1516
1517 2001-05-24  Philip Blundell  <philb@gnu.org>
1518
1519         * invoke.texi (ARM Options): Improve wording slightly.  Add
1520         documentation for more options, including those for Thumb mode.
1521         Don't mention options that don't exist or are unimplemented.
1522         (Thumb Options): Delete; merged into above section.
1523
1524 2001-05-24  Geoff Keating  <geoffk@redhat.com>
1525
1526         * config/rs6000/linux.h (SIGNAL_FRAMESIZE): Define.
1527         (MD_FALLBACK_FRAME_STATE_FOR): Use it.
1528
1529 Thu May 24 19:47:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
1530
1531         * simplify-rtx.c (simplify_subreg): Fix CONCAT simplification;
1532         fix hard register simplification.
1533
1534 Thu May 24 00:15:17 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1535
1536         * sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Add all of CPP_SPEC instead
1537         of just copying CPP_CPU_SPEC.
1538
1539 Thu May 24 15:56:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
1540
1541         * i386.c (incdec_operand): Accept only 1 and -1.
1542
1543 2001-05-23  Kelley Cook  <kelley.cook@home.com>
1544
1545         * Makefile.in: Move many of the *_H definitions eariler in the
1546         file, so that rules in t-* files that use them for
1547         dependencies will work in a parallel build.
1548         * config/i386/t-cygwin (winnt.o): Depend on $(CONFIG_H).
1549
1550 2001-05-23  Richard Henderson <rth@redhat.com>
1551
1552         * integrate.c (expand_inline_function): Handle CONCAT DECL_RESULT.
1553
1554 2001-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
1555
1556         * cpp.texi: Update for handling of charconsts.
1557         * cpplex.c (maybe_read_ucs): Don't accept D800-DFFF.  Update
1558         diagnostics.  Skip to the end if the UCS is too short.
1559         (cpp_interpret_charconst): Long charconsts issue a warning
1560         not an error.
1561
1562 2001-05-23  Richard Henderson  <rth@redhat.com>
1563
1564         * doc/install.texi (alpha-linux): Require binutils 2.11.
1565
1566 2001-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
1567
1568         * c-lex.c (read_escape, read_ucs): Delete.
1569         (lex_string): Use cpp_parse_escape.
1570         * cpplex.c (read_ucs): Rename maybe_read_ucs.  Do nothing
1571         if not C++ or not C99.  Warn if traditional.
1572         (parse_escape): Rename cpp_parse_escape.  Make the bitmask
1573         unsigned.  Warn for out-of-range escape sequences here.
1574         Update to use maybe_read_ucs.
1575         (cpp_interpret_charconst):  Don't warn here.
1576         * cpplib.h (cpp_parse_escape): New exported function.
1577
1578 2001-05-23  Joseph S. Myers  <jsm28@cam.ac.uk>
1579
1580         * extend.texi (Attribute Syntax): Clarify application of
1581         attributes to parameters declared as functions or arrays.
1582
1583 2001-05-23  Jason Merrill  <jason_merrill@redhat.com>
1584
1585         * dbxout.c (dbxout_type_methods): Do still group methods by name.
1586
1587 2001-05-23  Zack Weinberg  <zackw@stanford.edu>
1588
1589         * diagnostic.c (vnotice): Kill.
1590         (fnotice): Call vfprintf directly.
1591         (diagnostic_for_decl, output_do_verbatim, output_verbatim,
1592         verbatim, set_diagnostic_context): Rename string argument to
1593         indicate that it is run through gettext.
1594         (vbuild_message_string, build_message_string, output_do_printf):
1595         Rename string argument to indicate that it is NOT run through
1596         gettext.
1597         (output_printf, diagnostic_for_decl, fatal_io_error, sorry,
1598         output_do_verbatim, set_diagnostic_context, fnotice, _fatal_insn):
1599         Run msgid argument through gettext.
1600         (default_print_error_function): Run constant strings through
1601         gettext when nothing else will.
1602         (fatal_error, internal_error, error_recursion): Use fnotice.
1603         Present complete sentences to gettext.
1604
1605 2001-05-23  Mark Mitchell  <mark@codesourcery.com>
1606
1607         * jump.c (mark_jump_label): Fix thinko in 2001-05-19 change.
1608
1609 2001-05-23  Richard Henderson  <rth@redhat.com>
1610
1611         * function.c (expand_function_start): Always use a pseudo
1612         for the function result value.
1613
1614 2001-05-22  Richard Henderson  <rth@redhat.com>
1615
1616         * config/mips/iris6.h (EH_FRAME_SECTION_ASM_OP): Give the
1617         section pointer alignment.
1618
1619         * doc/install.texi (alpha-linux): Require binutils >= 2.10.
1620
1621         * unwind-dw2-fde.c (__deregister_frame_info): Stringize use
1622         of __USER_LABEL_PREFIX__.
1623
1624 2001-05-22  Richard Henderson  <rth@redhat.com>
1625
1626         * unwind-dw2-fde.c (__deregister_frame_info): Stubbify in favour of...
1627         (__deregister_frame_info_bases): New.
1628         * unwind-dw2-fde.h: Declare it.
1629         * libgcc-std.ver: Export it.
1630         * crtstuff.c (__do_global_dtors_aux): Call it if we would have
1631         called __register_frame_info_bases.
1632
1633 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
1634
1635         * config/freebsd.h (FBSD_CPP_PREDEFINES): Use #endif/#if pair
1636         instead of #elif (which is OK for this case but not in general).
1637
1638 2001-05-22  Andrew MacLeod  <amacleod@redhat.com>
1639
1640         * builtins.c (expand_builtin_longjmp): A longjmp can be a call too.
1641         * config/ia64/ia64.md (nonlocal_goto): Reverse label and frame pointer
1642         parameters to __ia64_nonlocal_goto. Flag as NO_RETURN.
1643         * config/ia64/ia64.c (ia64_expand_epilogue): Make sure we are issuing
1644         "r2" to the assembly file. Only issue allocs with non-zero parameters.
1645
1646 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
1647             David O'Brien  <obrien@freebsd.org>
1648
1649         * config/freebsd.h (LIB_SPEC): Key the exact setting to
1650         configure-time options and target version of FreeBSD.  Set-up
1651         to match architectural change in threading support.  Correctly
1652         report when -pthread option is not supported by configure-time
1653         options.
1654         (FBSD_CPP_PREDEFINES): Move from architecture-specific files
1655         and extend to encode target version number in run-time setting
1656         of __FreeBSD__ macro to match the system compiler.
1657         (CPP_PREDEFINES): Likewise.
1658         (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
1659
1660         * config/alpha/freebsd.h (CPP_PREDEFINES): Moved to common freebsd.h.
1661         * config/i386/freebsd.h (CPP_PREDEFINES): Likewise.
1662
1663 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
1664             David O'Brien  <obrien@freebsd.org>
1665
1666         * config.gcc (the unlabeled system switch statement): Add
1667         generic configuration section to handle *-*-freebsd*.  Also,
1668         to match the system compiler, default to threading support (it
1669         may be disabled with the standard --disable-threads
1670         configuration-time switch).
1671         (i[34567]86-*-freebsd* in machine-specific section): Use it.
1672         (alpha*-*-freebsd* in machine-specific section): Likewise.
1673
1674         * config/freebsd3.h: New file to expose FBSD_MAJOR macro (3).
1675         * config/freebsd4.h: New file to expose FBSD_MAJOR macro (4).
1676         * config/freebsd5.h: New file to expose FBSD_MAJOR macro (5).
1677         * config/freebsd6.h: New file to expose FBSD_MAJOR macro (6).
1678         * config/freebsd-nthr.h: New file to expose FBSD_NO_THREADS macro.
1679
1680 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
1681             David O'Brien  <obrien@freebsd.org>
1682
1683         * config/t-freebsd (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
1684         * config/t-freebsd-thread (TARGET_LIBGCC2_CFLAGS): Add
1685         -pthread instead setting macro.
1686
1687 2001-05-22  Richard Henderson  <rth@redhat.com>
1688
1689         * crtstuff.c (__register_frame_info_bases): Declare.
1690         (frame_dummy): Use it, if CRT_GET_RFIB_TEXT or CRT_GET_RFIB_DATA.
1691         (__do_global_dtors_aux, __do_global_dtors): Streamline.
1692
1693         * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
1694         (CRT_GET_RFIB_DATA): New.
1695         * config/i386/sysv4.h: Likewise.
1696         * config/i386/sco5.h: Likewise.
1697         (ASM_PREFERRED_EH_DATA_FORMAT): New.
1698
1699 2001-05-22  Richard Henderson  <rth@redhat.com>
1700
1701         * rtl.c (read_string): Break out from ...
1702         (read_rtx): ... here.
1703
1704 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1705
1706         * doc/install.texi (Specific): Remove a bogus and duplicate part
1707         copied from the end of the document.
1708
1709 2001-05-22  Bernd Schmidt  <bernds@redhat.com>
1710
1711         * Makefile.in (LIBGCC_DEPS): Correct LIB1ASMSRC dependency.
1712
1713 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1714
1715         * install.texi: Remove obsolete information on SunOS as well as
1716         i386-sun-sunos4, i860-intel-osf1, and powerpcle-*-solaris2*.
1717         (Installing GNU CC on the Sun): Remove section.
1718
1719 2001-05-22  Alexandre Oliva  <aoliva@redhat.com>
1720
1721         * cppfiles.c (remove_component_p): Don't assume lstat/stat will
1722         keep errno unchanged on success.
1723
1724 2001-05-22  Joseph S. Myers  <jsm28@cam.ac.uk>
1725
1726         * c-lex.c (lex_number): If pedantic and not C99, pedwarn exactly
1727         once for hexadecimal floats, whether or not they contain a decimal
1728         point.  Don't let the setting of pedantic otherwise affect the
1729         parsing of hexadecimal floats.
1730
1731 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1732
1733         * README.ACORN: Remove obsolete file.
1734
1735 2001-05-22  Jan Hubicka  <jh@suse.cz>
1736
1737         * combine.c (gen_binary): Use swap_commutative_operands_p
1738         (simplify_comparison): Likewise.
1739         * expmed.c (emit_store_flag): Likewise.
1740         * expr.c (compare_from_rtx): Likewise.
1741         (do_compare_rtx_and_jump): Likewise.
1742         * optabs.c (emit_cmp_and_jump_insn): Revert last patch; abort
1743         if not emitting a branch and operands want swapping.
1744
1745 2001-05-22  Neil Booth  <neil@daikokuya.demon.co.uk>
1746
1747         * c-lex.c (c_lex): Just cast cpp's hashnode to gcc's one.
1748         * stringpool.c: (IS_FE_IDENT, make_identifier): Delete.
1749         (maybe_get_identifier): Update.
1750         * tree.h (make_identifier): Delete.
1751
1752 2001-05-21  Richard Henderson  <rth@redhat.com>
1753
1754         * combine.c (subst): Do not substitute for a register as
1755         a destination subreg/strict_low_part/zero_extract.
1756
1757         * combine.c (simplify_comparison): Update op1 after constant
1758         extension.
1759         * recog.c (const_int_operand): Accept only constants valid
1760         for the given mode.
1761         * genrecog.c: Update comments wrt const_int_operand.
1762
1763         * emit-rtl.c (init_emit_once): Zero unused memory in a
1764         CONST_DOUBLE.
1765
1766 2001-05-21  Mark Mitchell  <mark@codesourcery.com>
1767
1768         * tree.h (type_num_arguments): Declare it.
1769         * tree.c (type_num_arguments): New function.
1770
1771 2001-05-21  Richard Henderson  <rth@redhat.com>
1772
1773         * dwarf2out.c (current_funcdef_number): Move outside dwarf2
1774         conditional ifdef.
1775
1776 2001-05-21  Geoff Keating  <geoffk@redhat.com>
1777
1778         * config/rs6000/rs6000.md (maxsf3): Use rs6000_emit_minmax.
1779         (maxsf3+1): Delete.
1780         (minsf3): Use rs6000_emit_minmax.
1781         (minsf3+1): Generalize to handle both SMIN and SMAX.  Use
1782         rs6000_emit_minmax.
1783         (movsfcc): Use rs6000_emit_cmove.
1784         (fselsfsf4): Don't compare a CONST_INT with a floating-point value.
1785         Don't generate emit_fselsfsf4.
1786         (fseldfsf4): Likewise.
1787         (maxdf3): Use rs6000_emit_minmax.
1788         (maxdf3+1): Delete.
1789         (mindf3): Use rs6000_emit_minmax.
1790         (mindf3+1): Generalize to handle both SMIN and SMAX.  Use
1791         rs6000_emit_minmax.
1792         (movdfcc): Use rs6000_emit_cmove.
1793         (fseldfdf4): Don't compare a CONST_INT with a floating-point value.
1794         Don't generate emit_fselsfsf4.
1795         (fselsfdf4): Likewise.
1796         * config/rs6000/rs6000.c (zero_fp_constant): New predicate.
1797         (min_max_operator): New predicate.
1798         (rs6000_emit_cmove): New function.
1799         (rs6000_emit_minmax): New function.
1800         * config/rs6000/rs6000-protos.h: Prototype new functions.
1801         * config/rs6000/rs6000.h (PREDICATE_CODES): Add zero_fp_constant
1802         and min_max_operator.
1803
1804         * config/rs6000/rs6000.c (output_cbranch): Handle all
1805         conditional types in the switch statement.
1806
1807 2001-05-21  Mark Mitchell  <mark@codesourcery.com>
1808
1809         * c-decl.c (finish_decl): Don't set DECL_C_HARD_REGISTER for
1810         non-register variables.
1811         * extend.texi: Document that asm-specifications do not make sense
1812         for non-static local variables.
1813
1814 2001-05-21  Jason Merrill  <jason_merrill@redhat.com>
1815
1816         * dbxout.c (MINIMAL_DEBUG, flag_minimal_debug): Lose.
1817         (dbxout_type_fields): Lose minimal_debug support.
1818         (dbxout_type_methods, dbxout_type): Likewise.
1819
1820 2001-05-17  Andrew Haley  <aph@redhat.com>
1821
1822         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
1823
1824 2001-05-21  Richard Henderson  <rth@redhat.com>
1825
1826         * dwarf2out.c (DEBUG_FRAME_SECTION): Rename from FRAME_SECTION.
1827         Update all users.
1828
1829 2001-05-20  Richard Henderson  <rth@redhat.com>
1830
1831         * dwarf2out.c (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
1832         DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_PUBNAMES_SECTION,
1833         DEBUG_STR_SECTION): Rename from s/DEBUG_//.  Update all users.
1834         * dwarfout.c (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
1835         DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION):
1836         Likewise.
1837         * config/mips/iris6.h (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
1838         DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION,
1839         DEBUG_FRAME_SECTION, DEBUG_ABBREV_SECTION): Rename as above.
1840         (DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
1841         * config/ia64/ia64.h (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
1842         DEBUG_PUBNAMES_SECTION): Rename as above.
1843         (DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
1844
1845 2001-05-20  Richard Henderson  <rth@redhat.com>
1846
1847         * optabs.c (emit_cmp_and_jump_insns): Don't swap commutative
1848         operands unless the operation is commutative.
1849
1850 2001-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1851
1852         * fold-const.c (tree_expr_nonnegative_p): Detect more non-negative
1853         cases.
1854
1855 2001-05-21  Joseph S. Myers  <jsm28@cam.ac.uk>
1856
1857         * extend.texi: Clarify documentation of extensions included in ISO
1858         C99.  Prefer C99 terminology and syntax to old GNU terminology and
1859         syntax.  Add more index entries.  Document mixed declarations and
1860         code as an extension in C89 mode.  Warn about future changes to
1861         semantics of inline functions.  Fixes PR other/930.
1862
1863 Sun May 20 16:39:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1864
1865         * expr.c (expand_expr, case ARRAY_REF): Don't fold constant
1866         access if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
1867         (expand_expr, case COMPONENT_REF): Do copy if misaligned even
1868         if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
1869
1870         * stmt.c (expand_decl): Set mode, alignment, and sizes for CONST_DECL.
1871
1872 2001-05-20  Richard Henderson  <rth@redhat.com>
1873
1874         * sched-deps.c (sched_analyze_insn): Force volatile memory reads
1875         to be output before a branch.
1876
1877 2001-05-20  Richard Henderson  <rth@redhat.com>
1878
1879         * Makefile.in (dwarf2asm.o): Depend on $(TREE_H).
1880
1881 2001-05-20  Richard Henderson  <rth@redhat.com>
1882
1883         * config/i386/att.h (ASM_SHORT, ASM_LONG): Add trailing \t.
1884         (ASM_DOUBLE): Remove.
1885         * config/i386/bsd.h, config/i386/sco5.h: Likewise.
1886         * config/i386/sun386.h: Likewise.
1887
1888         * config/i386/i386.h (UNALIGNED_SHORT_ASM_OP): New.
1889         (UNALIGNED_INT_ASM_OP, INT_ASM_OP): New.
1890
1891         * config/i386/cygwin.h (INT_ASM_OP): Remove.
1892         * config/i386/freebsd-aout.h, config/i386/i386-aout.h: Likewise.
1893         * config/i386/i386-coff.h, config/i386/i386-interix.h: Likewise.
1894         * config/i386/netbsd.h, config/i386/openbsd.h: Likewise.
1895
1896         * config/i386/cygwin.h: Adjust uses of ASM_LONG for trailing \t.
1897         * config/i386/djgpp.h, config/i386/i386.h: Likewise.
1898         * config/i386/i386elf.h, config/i386/ptx4-i.h: Likewise.
1899         * config/i386/sco5.h, config/i386/svr3gas.h: Likewise.
1900         * config/i386/sysv4.h, config/i386/vsta.h: Likewise.
1901         * config/i386/win32.h: Likewise.
1902
1903 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
1904
1905         * invoke.texi: Add more options to summary list.
1906
1907 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
1908
1909         * invoke.texi: Document meaning of -pedantic when -std=gnu* is
1910         used.  Fixes PR c/2291.
1911         * gcc.1: Regenerate.
1912
1913 2001-05-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1914
1915         * config/m68hc11/m68hc11.c (m68hc11_override_options): Ignore
1916         the -fpic and -fPIC options, clear flag_pic.
1917
1918 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
1919
1920         * hashtable.c (calc_hash): Fix HASHSTEP definition.
1921         * stringpool.c (make_identifier): No statistics here anymore.
1922         * objc-act.c (steup_string_decl): Remove redundant check.
1923
1924 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
1925
1926         * Makefile.in (OBJS, LIBCPP_OBJS, LIBCPP_DEPS,
1927         cpplib.o, cpphash.o, fix-header): Update.
1928         (hashtable.o): New target.
1929         * c-common.h: Include cpplib.h.  Define C_RID_CODE and
1930         struct c_common_identifier here.
1931         * c-lang.c (c_init_options): Update.  Call set_identifier_size.
1932         * c-lex.c (c_lex): Update.
1933         * c-pragma.h: Update.
1934         * c-tree.h (struct lang_identifier): Contain c_common_identifier.
1935         Delete rid_code.
1936         (C_RID_CODE): Delete.
1937         * cpphash.c: Rewrite to use hashtable.c.
1938         * cpphash.h: Update include guards.
1939         (struct cpp_reader): Remove hashtab.
1940         hash_ob and buffer_ob are no longer pointers.  Add hash_table
1941         and our_hashtable.
1942         (HASHSTEP, _cpp_init_hashtable, _cpp_lookup_with_hash): Delete.
1943         (_cpp_cleanup_hashtable): Rename _cpp_destroy_hashtable.
1944         (_cpp_cleanup_stacks): Rename _cpp_init_directives.
1945         * cppinit.c (cpp_create_reader): Update.
1946         * cpplex.c (cpp_ideq, parse_identifier, cpp_output_token): Update.
1947         (cpp_interpret_charconst): Eliminate warning.
1948         * cpplib.c (do_pragma, do_endif, push_conditional,
1949         cpp_push_buffer, cpp_pop_buffer): Update.
1950         (_cpp_init_stacks): Rename cpp_init_directives.
1951         (_cpp_cleanup_stacks): Remove.
1952         * cpplib.h: Update include guards.  Include tree-core.h and c-rid.h.
1953         (cpp_hashnode, cpp_token, NODE_LEN, NODE_NAME,
1954          cpp_forall_identifiers, cpp_create_reader): Update.
1955         (C_RID_CODE, cpp_make_node): New.
1956         (c_common_identifier): New identifier node for C front ends.
1957         * cppmain.c (main): Update.
1958         * fix-header.c (read_scan_file): Update.
1959         * flags.h (id_clash_len): Make unsigned.
1960         * ggc.h (ggc_mark_nonnull_tree): New.
1961         * hashtable.c: New.
1962         * hashtable.h: New.
1963         * stringpool.c: Update comments and copyright.  Update to use
1964         hashtable.c.
1965         * toplev.c (approx_sqrt): Move to hashtable.c.
1966         (id_clash_len): Make unsigned.
1967         * toplev.h (ident_hash): New.
1968         * tree.c (gcc_obstack_init): Move to hashtable.c.
1969         * tree.h: Include hashtable.h.
1970         (IDENTIFIER_POINTER, IDENTIFIER_LENGTH): Update.
1971         (GCC_IDENT_TO_HT_IDENT, HT_IDENT_TO_GCC_IDENT): New.
1972         (struct tree_identifier): Update.
1973         (make_identifier): New.
1974 cp:
1975         * cp-tree.h (struct lang_identifier, C_RID_YYCODE): Update.
1976         (C_RID_CODE): Remove.
1977         * lex.c (cxx_init_options): Call set_identifier_size.  Update.
1978         (init_parse): Don't do it here.
1979 objc:
1980         * objc-act.c (objc_init_options): Call set_identifier_size. Update.
1981
1982 Sat May 19 18:23:04 2001  Richard Henderson <rth@redhat.com>
1983
1984         * except.c (dw2_build_landing_pads): Use word_mode, not Pmode,
1985         as ncessary.
1986         (expand_eh_return): Convert between word_mode and Pmode.
1987         * unwind-dw2.c (extract_cie_info): Do not assume words and pointers
1988         are the same size.
1989         (execute_stack_op): Likewise.
1990         (execute_cfa_program): Likewise.
1991         (uw_frame_state_for): Likewise.
1992         (uw_update_context_1): Likewise.
1993         * unwind.inc (_Unwind_Reason_Code): Likewise.
1994         * config/mips/mips.h (EH_RETURN_DATA_REGNO): Define.
1995         (EH_RETURN_STACKADJ_RTX): Likewise.
1996         * config/mips/mips.c (compute_frame_size): Make space for saving
1997         EH return registers.
1998         (mips_expand_epilogue): Handle EH stack adjustments.
1999         * config/mips/mips.md (eh_return): New pattern.
2000         (eh_set_lr_si): Likewise.
2001         (eh_set_lr_di): Likewise.
2002         Add splitter to perform EH return after reload.
2003
2004 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
2005
2006         * jump.c (mark_jump_label): Tidy previous change.
2007
2008 2001-05-19  Bruce Korb  <bkorb@gnu.org>
2009
2010         * fixinc/genfixes: no need for two warnings
2011         * fixinc/Makefile.in: open stdin for those building with a closed one.
2012
2013 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
2014
2015         * jump.c (jump_optimize_1): Tidy.
2016         (mark_jump_label): When changing the label in a LABEL_REF, change
2017         update any REG_EQUAL notes as well.
2018
2019 2001-05-19  Joseph S. Myers  <jsm28@cam.ac.uk>
2020
2021         * c-parse.in (parm_declarator): Split into
2022         parm_declarator_starttypename and parm_declarator_nostarttypename.
2023         (parm_declarator_starttypename, parm_declarator_nostarttypename):
2024         New.  Allow parenthesised sub-declarators which don't begin with a
2025         TYPENAME.  Fixes PR c/166.
2026
2027 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
2028
2029         * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): New
2030         macro.
2031         * tm.texi (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
2032         Document it.
2033         * toplev.c (main): If the target does not allow profiling without
2034         a frame pointer, issue an error message.
2035         * config/i386/linux.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
2036         Define it to false.
2037
2038 Sat May 19 07:53:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2039
2040         * recog.c (general_operand): Modify last change to allow it if reload
2041         has completed.
2042
2043 Sat May 19 10:23:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
2044
2045         * recog.c (general_operand): Prohibit nonzero subreg bytes on
2046         subregs containing mem.
2047
2048 Sat May 19 09:40:45 2001  Denis Chertykov  <denisc@overta.ru>
2049
2050         * regrename.c (regrename_optimize): frame pointer register can
2051         use a few hardregs.
2052
2053 2001-05-18  Jason Merrill  <jason_merrill@redhat.com>
2054
2055         * README.DWARF: Move into dwarfout.c.
2056
2057 2001-05-18  Dale Johannesen  <dalej@apple.com>
2058
2059         * config/rs6000/rs6000.c (secondary_reload_class): Fix Darwin
2060         specific misuse of r0 as a reload address.
2061
2062 Fri May 18 22:42:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
2063
2064         * combine.c (combine_simplify_rtx): Clear op0_mode if simplification
2065         suceeded.
2066
2067 Fri May 18 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2068
2069         * genrecog.c (enum decision_type): Add DT_elt_zero-wide_safe.
2070         (add_to_sequence): Make that decision type.
2071         (maybe_both_true_2, nodes_identical_1, factor_tests): Use it.
2072         (write_switch, write_cond, debug_decision_2): Likewise.
2073
2074         * dbxout.c (dbxout_type): Use host_integerp and fix typo in testing
2075         for INTEGER_TYPE.
2076         (dbxout_symbol, case TYPE_DECL): Don't generate tag for records of
2077         variable size.
2078
2079 2001-05-18  Stan Shebs  <shebs@apple.com>
2080
2081         * configure.in (gcc_cv_as_eh_frame): Cope with old assemblers.
2082         * configure: Regenerate.
2083
2084 2001-05-18  Per Bothner  <per@bothner.com>
2085
2086         Changes needed for java/jvspec.c
2087         * gcc.h (n_infiles, outfiles):  Add declarations.
2088         * gcc.c (n_infiles, outfiles):  Mske no longer static.
2089
2090 Fri May 18 10:14:42 2001  Jeffrey A Law  (law@cygnus.com)
2091
2092         * config/pa/som.h (EXCEPTION_SECTION): Define.
2093
2094 2001-05-18  Daniel Berlin  <dan@cgsoftware.com>
2095
2096         * dwarf2out.c: Add dw_loc_list_ref, a reference to a location
2097         list.
2098         Add have_location_lists, a variable to determine whether we need a
2099         .debug_loc section or not.
2100         (enum dw_val_class): Add dw_val_class_loc_list.
2101         (dw_val_struct): Add val_loc_list.
2102         (dw_loc_list_struct): New structure, represents location lists.
2103         (new_loc_list): New function, return a new location list, given
2104         the range and location expression.
2105         (add_loc_descr_to_loc_list): New function, add a location
2106         expression to a location list, given the expression and range.
2107         (output_loc_list): New function, output a location list.
2108         (gen_internal_sym): Modified to take symbol prefix, so we can
2109         reuse it for location list symbols.
2110         (add_AT_loc_list): New function, add a location list to a DIE at
2111         the named attribute.
2112         (AT_loc_list): New function, return the location list reference
2113         for a given attribute, if it's a location list.
2114         (print_die): Handle dw_val_class_loc_list.
2115         (size_of_die): Ditto.
2116         (value_format): Ditto.
2117         (output_die): Ditto.
2118         (output_location_lists): New function, output all of the location
2119         lists for a DIE and it's children.
2120         (dwarf2out_finish): Call output_location_lists if we have location
2121         lists.
2122
2123
2124 Fri May 18 15:39:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
2125
2126         * gcse.c (try_replace_reg): First try global replace, later try to
2127         simplify the expression.
2128
2129         * gcse.c (find_used_regs): Change calling convention; work via
2130         note_uses.
2131         (cprop_insn): Update call of find_used_regs; work for CALL_INSNs too.
2132
2133 2001-05-18  Bernd Schmidt  <bernds@redhat.com>
2134
2135         Revert
2136         2001-02-09  Nick Clifton  <nickc@redhat.com>
2137         * config/arm/arm.md: Change output constraint on post inc
2138         load/store multiple patterns to be a read/write constraint.
2139
2140 2001-05-18  Mark Mitchell  <mark@codesourcery.com>
2141
2142         * basic-block.h (struct basic_block_def): Add documentation about
2143         what a basic block is, and what the various fields are used for.
2144         * flow.c (calculate_globlal_regs_live): Add documentation about
2145         how the algorithm works, and how we know that it will terminate.
2146         Check that the the inductive assumption that guarantees
2147         termination actually holds.
2148         (mark_used_regs): Treat conditionally set registers as used.
2149         (debug_regset): Add comment.
2150         * rtl.texi (cond_exec): Add documentation.
2151
2152         * function.c (expand_function_start): Avoid creating BLKmode
2153         pseudos.
2154
2155 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
2156
2157         * dwarf2out.c (output_comp_unit): Always output a compilation-unit
2158         DIE, even if it has no children.
2159         (dwarf2out_finish): Always output the line-number table, even if
2160         it has no content.
2161
2162 2001-05-18  David Edelsohn  <edelsohn@gnu.org>
2163
2164         * rs6000.md (movsfcc,movdfcc): Remove NE case.
2165
2166 2001-05-17  Bruce Korb <bkorb@gnu.org>
2167
2168         * fixinc/fixincl.tpl: rewritten as an AutoGen version 5 template
2169         * fixinc/genfixes: emit a warning if AutoGen is out of date
2170
2171 2001-05-17  Brendan Conoboy <blc@cygnus.com>
2172             Bruce Korb <bkorb@gnu.org>
2173
2174         * fixinc/fixincl.sh(FIXINC): accept local directory if fixincl not
2175         found in fixinc directory.  Facilitates binary distributions.
2176
2177 2001-05-17  Jeffrey Oldham  <oldham@codesourcery.com>
2178
2179         * dbxout.c (dbxout_symbol_location): For CONCAT, skip types not
2180         COMPLEX_TYPE.
2181
2182 Thu May 17 19:42:39 2001  Mark Kettenis  <kettenis@wins.uva.nl>
2183
2184         * dwarf2out.c (modified_type_die): Equate qualified type to die.
2185
2186 Thu May 17 23:19:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
2187
2188         * integrate.c (copy_rtx_and_substitute): Use simplify_gen_subreg.
2189         (simplify_subreg): Handle complex types represented as CONCAT.
2190
2191         * recog.c (validate_replace_rtx_1): Properly canonicalize expression
2192         * rtl.h (swap_commutative_operands_p): Declare.
2193         * rtlanal.c (swap_commutative_operands_p): New.
2194         (operand_preference): New static function.
2195
2196         * combine.c (combine_simplify_rtx): Use swap_commutative_operands_p.
2197         (gen_binary): Likewise.
2198         * optabs.c (emit_cmp_and_jump_insns, emit_conditional_move): Likewise.
2199         * simplify-rtx.c (simplify_gen_binary,
2200         simplify_gen_relational): Likewise.
2201
2202 Thu May 17 20:43:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
2203
2204         * cse.c (fold_rtx): Use simplify_subreg.
2205
2206         * simplify-rtx.c (simplify_replace_rtx): Use simplify_gen_subreg.
2207         (simplify_gen_subreg): New.
2208         (simplify_rtx): Use simplify_subreg.
2209         * rtl.h (simplify_gen_subreg): Declare.
2210
2211 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
2212
2213         * doc/install.texi: Update Solaris information.
2214
2215         * except.h (protect_cleanup_actions): Remove it.
2216         (lang_protect_cleanup_actions): Declare it.
2217         * except.c (protect_cleanup_actions): Remove it.
2218         (lang_protect_cleanup_actions): New variable.
2219         (init_eh): Don't make protect_cleanup_actions a GC root.
2220         (expand_eh_region_and_cleanup): Call
2221         lang_protect_cleanup_actions.
2222         (output_function_exception_table): Remove unused `align'
2223         variable.
2224         * varasm.c (assemble_external): Abort if we have not yet
2225         opened the assembly output file.
2226
2227 Thu May 17 11:54:50 2001  Jeffrey A Law  (law@cygnus.com)
2228
2229         * except.c (sjlj_emit_function_enter): Call assemble_external_libcall
2230         for eh_personality_libfunc.
2231
2232 Thu May 17 19:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
2233
2234         * recog.c (validate_replace_rtx_1): Use "TO" mode if not VOIDmode
2235         when calling simplify_subreg.  This is needed to allow replacing
2236         of expression of one mode by expression of different mode.
2237
2238 Thu May 17 19:40:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
2239
2240         * simplify-rtx.c  (simplify_subreg): Avoid creating of incorrect subregs.
2241
2242 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
2243
2244         * expr.c (protect_from_queue): Protect against subsequent calls to
2245         emit_queue.
2246         (expand_expr, case ADDR_EXPR): Prevent protect_from_queue from being
2247         too clever.
2248
2249 Thu May 17 18:17:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
2250
2251         * simplify_rtx.c (simplify_subreg): Fix simplification of nested subregs.
2252
2253 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2254
2255         * gccbug.in (CATEGORIES): Add "bootstrap".
2256
2257 Thu May 17 16:59:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
2258
2259         * simplify-rtx.c (simplify_subreg): Break out from ...
2260         * combine.c (combine_splify_rtx) ... here and ...
2261         * recog.c (validate_replace_rtx_1): ... here;
2262         * rtl.h (subreg_lowpart_parts_p, simplify_subreg): Declare.
2263         * emit-rtl.c (subreg_lowpart_parts_p): Break out from ...
2264         (subreg_lowpart_p): ... here.
2265
2266 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
2267
2268         * stmt.c (expand_asm_operands): For inout operands, make sure
2269         the substitution of '=' for '+' makes it into the rtl.
2270
2271         * reload1.c (delete_output_reload): Call eliminate_regs on substed.
2272         (reload_as_needed): Call update_eliminable_offsets a bit later.
2273
2274 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2275
2276         * gcc.texi (gccbug): Refer to the web pages for detailed information
2277         on GNATS.
2278
2279 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
2280
2281         * libgcc1-test.c, libgcc1.c, config/i386/perform.h: Delete file.
2282
2283         * Makefile.in: Delete variables: OLDCC, CCLIBFLAGS, OLDAR,
2284         OLDAR_FLAGS, LIBGCC1, LIBGCC1_TEST, CROSS_LIBGCC1,
2285         LIB1FUNCS, and LIB1FUNCS_EXTRA.  Delete rules: libgcc1-test,
2286         libgcc1-test.o.  Clarify commentary now that libgcc1 no longer exists.
2287         * cross-make: Don't set LIBGCC1.
2288         * mklibgcc.in: Delete all code for building from libgcc1.c.
2289         Always honor LIB1ASMFUNCS if set.
2290
2291         * crtstuff.c, floatlib.c, longlong.h, config/fp-bit.c,
2292         config/arc/lib1funcs.asm, config/arm/lib1funcs.asm,
2293         config/d30v/libgcc1.asm, config/fr30/lib1funcs.asm,
2294         config/h8300/lib1funcs.asm, config/i386/cygwin.asm,
2295         config/i386/uwin.asm, config/m68hc11/larith.asm,
2296         config/m68k/lb1sf68.asm, config/mcore/lib1.asm,
2297         config/mn10200/lib1funcs.asm, config/sh/lib1funcs.asm,
2298         config/sparc/lb1spc.asm, config/sparc/lb1spl.asm,
2299         config/v850/lib1funcs.asm, config/c4x/libgcc.S:
2300         Delete or update references to libgcc1 in commentary.
2301
2302         * config/t-libc-ok, config/t-linux, config/t-linux-aout,
2303         config/t-netbsd, config/a29k/t-a29kbare, config/a29k/t-vx29k,
2304         config/alpha/t-interix, config/alpha/t-osf, config/alpha/t-vms,
2305         config/arc/t-arc, config/arm/t-arm-aout, config/arm/t-arm-coff,
2306         config/arm/t-arm-elf, config/arm/t-linux, config/arm/t-pe,
2307         config/arm/t-semi, config/arm/t-strongarm-coff,
2308         config/arm/t-strongarm-elf, config/arm/t-strongarm-pe,
2309         config/arm/t-xscale-coff, config/arm/t-xscale-elf, config/avr/t-avr,
2310         config/c4x/t-c4x, config/d30v/t-d30v, config/fr30/t-fr30,
2311         config/h8300/t-h8300, config/i386/t-beos, config/i386/t-cygwin,
2312         config/i386/t-i386elf, config/i386/t-interix, config/i386/t-netware,
2313         config/i386/t-next, config/i386/t-rtems-i386, config/i386/t-sol2,
2314         config/i960/t-960bare, config/i960/t-vxworks960, config/ia64/t-ia64,
2315         config/m32r/t-m32r, config/m68hc11/t-m68hc11-gas, config/m68k/t-lynx,
2316         config/m68k/t-m68kbare, config/m68k/t-m68kelf,
2317         config/m68k/t-mot3300-gald, config/m68k/t-mot3300-gas,
2318         config/m68k/t-next, config/m68k/t-vxworks68, config/m88k/t-bug,
2319         config/m88k/t-dgux, config/m88k/t-dgux-gas, config/m88k/t-dguxbcs,
2320         config/m88k/t-luna, config/m88k/t-luna-gas, config/m88k/t-m88k,
2321         config/m88k/t-m88k-gas, config/m88k/t-sysv4, config/mcore/t-mcore,
2322         config/mcore/t-mcore-pe, config/mips/t-bsd, config/mips/t-bsd-gas,
2323         config/mips/t-cross64, config/mips/t-ecoff, config/mips/t-elf,
2324         config/mips/t-iris6, config/mips/t-r3900, config/mips/t-svr3,
2325         config/mips/t-svr3-gas, config/mips/t-svr4, config/mips/t-svr4-gas,
2326         config/mips/t-ultrix, config/mn10200/t-mn10200,
2327         config/mn10300/t-mn10300, config/pa/t-linux, config/pa/t-linux64,
2328         config/pa/t-pa, config/pa/t-pa64, config/pa/t-pro,
2329         config/pdp11/t-pdp11, config/pj/t-pj, config/rs6000/t-aix43,
2330         config/rs6000/t-beos, config/rs6000/t-darwin, config/rs6000/t-newas,
2331         config/rs6000/t-ppccomm, config/rs6000/t-rs6000, config/sh/t-linux,
2332         config/sh/t-sh, config/sparc/t-chorus-elf, config/sparc/t-elf,
2333         config/sparc/t-sol2, config/sparc/t-sp86x, config/sparc/t-sparcbare,
2334         config/sparc/t-sparclite, config/sparc/t-splet,
2335         config/sparc/t-sunos41, config/sparc/t-vxsparc,
2336         config/sparc/t-vxsparc64, config/v850/t-v850:
2337         Don't set any of LIBGCC1, CROSS_LIBGCC1, or LIBGCC1_TEST.
2338
2339         * config/alpha/alpha.h, config/i386/i386.h, config/i860/i860.h:
2340         Don't set FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, INTIFY, or FLOATIFY.
2341         * config/d30v/d30v.h: Don't mention LIBGCC_NEEDS_DOUBLE,
2342         FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, FLOATIFY, INTIFY,
2343         nongcc_SI_type, nongcc_word_type, or perform_*
2344         * config/i860/fx2800: Don't define perform_umodsi3 or perform_modsi3.
2345
2346         * config/i386/386bsd.h, config/i386/beos-elf.h,
2347         config/i386/linux-aout.h, config/i386/linux-oldld.h,
2348         config/i386/linux.h, config/i386/mach.h, config/i386/netbsd.h,
2349         config/i386/openbsd.h, config/i386/osfrose.h, config/i386/rtemself.h:
2350         Don't include i386/perform.h.
2351
2352         * config/a29k/t-a29k, config/arm/t-semiaof, config/i370/t-i370,
2353         config/i370/t-linux, config/i370/t-mvs, config/i370/t-oe,
2354         config/i386/t-djgpp, config/i386/t-i386bare, config/i386/t-vsta,
2355         config/ia64/t-hpux, config/mips/t-mips, config/mips/t-mips-gas,
2356         config/mips/t-osfrose, config/sparc/t-sp64, config/sparc/t-sunos40,
2357         config/vax/t-openbsd, config/vax/t-vax: Delete.
2358
2359         * config.gcc: Remove references to deleted files.
2360         (arm-semi-aof): Use arm/t-semi for tmake_file.
2361
2362         * gcc.texi, install.texi, invoke.texi, tm.texi:
2363         Delete or rewrite text which is no longer relevant now that
2364         libgcc1 no longer exists.
2365
2366         * config/t-openbsd, config/alpha/t-interix, config/i386/t-interix:
2367         No need to set INSTALL_ASSERT_H.  (Missed in previous sweep.)
2368
2369 2001-05-16  Wolfgang Bangerth <wolfgang.bangerth@iwr.uni-heidelberg.de>
2370         Bruce Korb <bkorb@gnu.org>
2371
2372         * fixinc/inclhack.def(solaris27_mutex_init):  Fix broken mutex
2373         initializer
2374
2375 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
2376
2377         * i386.md: Add two peepholes to clean up code generated by
2378         cmpstr* expanders.
2379
2380 2001-05-16  Richard Henderson  <rth@redhat.com>
2381
2382         * dwarf2asm.c (eh_data_format_name): Add names for "pointer size"
2383         variants of non-absolute encodings.
2384
2385         * config/i386/i386.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
2386
2387         * libgcc-std.ver (_Unwind_Find_FDE, __register_frame_info_bases,
2388         __register_frame_info_table_bases): Export.
2389
2390 2001-05-16  Richard Henderson  <rth@redhat.com>
2391
2392         * except.c (eh_data_format_name): Move to ...
2393         * dwarf2asm.c: ... here.  Use designated initializers if available.
2394         (dw2_asm_output_encoded_addr_rtx): Accept varargs commentary.
2395         * dwarf2asm.h: Update declarations.
2396         * dwarf2out.c (output_cfi) [DW_CFA_set_loc]: If for_eh, mind
2397         ASM_PREFERRED_EH_DATA_FORMAT.
2398         (output_call_frame_info): Likewise.  Use 'L' augmentation for
2399         the LSDA encoding.
2400
2401         * unwind-dw2-fde.h (struct fde_vector): New.
2402         (struct old_object): Rename from struct object.
2403         (struct object): New.
2404         (__register_frame_info_bases): Declare.
2405         (__register_frame_info_table_bases): Declare.
2406         (struct dwarf_fde): Remove explicit pc_begin/pc_range members.
2407         * unwind-dw2-fde.c (objects): Remove.
2408         (unseen_objects, seen_objects): New.
2409         (__register_frame_info_bases): New.
2410         (__register_frame_info): Use it.
2411         (__register_frame_info_table_bases): New.
2412         (__register_frame_info_table): Use it.
2413         (__deregister_frame_info): Rewrite for changed object struct.
2414         (base_from_object, get_cie_encoding, get_fde_encoding): New.
2415         (fde_unencoded_compare): Rename from fde_compare; uninline.
2416         (fde_single_encoding_compare, fde_mixed_encoding_compare): New.
2417         (start_fde_sort): Adjust for new definition of fde_vector.
2418         (fde_insert): Likewise.
2419         (end_fde_sort): Likewise.  Select comparison function based
2420         on properties of the object.
2421         (fde_split): Take object and fde_compare_t arguments.
2422         (frame_heapsort, fde_merge): Likewise.
2423         (classify_object_over_fdes): Rename from count_fdes.  Handle
2424         encoded pointers.  Collect encoding, mixed_encoding, and pc_begin
2425         for the object.
2426         (add_fdes): Handle encoded pointers.
2427         (init_object): Rename from frame_init.  Update for new struct object.
2428         (linear_search_fdes): Rename from search_fdes.  Handle encoded
2429         pointers.
2430         (binary_search_unencoded_fdes): Broken out from _Unwind_Find_FDE.
2431         (binary_search_single_encoding_fdes): New.
2432         (binary_search_mixed_encoding_fdes): New.
2433         (search_object): New.
2434         (_Unwind_Find_FDE): Update for new struct object.  Fill in
2435         the dwarf_eh_bases.
2436         * unwind-dw2.c: Include unwind-pe.h.  Constify all pointers
2437         iterating over EH data.
2438         (_Unwind_FrameState): Remove saw_lsda, addr_encoding.  Add
2439         fde_encoding, lsda_encoding.
2440         (read_uleb128, read_sleb128): Remove.
2441         (read_encoded_pointer): Remove.  All callers use read_encoded_value.
2442         (extract_cie_info): Set lsda_encoding from 'L' augmentation.
2443         (uw_frame_state_for): Don't set bases.func.  Handle encoded fde
2444         pointers.
2445         * unwind-pe.h: Add "struct" to _Unwind_Context references.
2446
2447 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2448
2449         * cppexp.c (lex): Use NODE_NAME and NODE_LEN.
2450         * cpphash.c (_cpp_lookup_with_hash): Similarly.
2451         * cpplex.c (cpp_ideq, parse_identifier, cpp_token_len,
2452         cpp_spell_token, cpp_output_token): Similarly.
2453         * cpplib.c (lex_macro_node, do_undef, do_pragma,
2454         do_pragma_poison, parse_assertion, do_assert): Similarly.
2455         * cppmacro.c (builtin_macro, parse_args, funlike_invocation_p,
2456         save_parameter, _cpp_create_definition, check_trad_stringification,
2457         cpp_macro_definition): Similarly.
2458         * cppmain.c (cb_define, cb_undef, dump_macro): Similarly.
2459         * c-lex.c (cb_undef, c_lex): Similarly.
2460         * fix-header.c (recognized_function): Similarly.
2461         * cpplib.h (NODE_LEN, NODE_NAME): New.
2462         (cpp_hashnode): Rename length len.
2463
2464 Wed May 16 13:41:10 2001  Jeffrey A Law  (law@cygnus.com)
2465
2466         * pa32-regs.h (HARD_REGNO_MODE_OK): Allow TI/TFmode values in
2467         GPRs.
2468
2469 2001-05-16  Andreas Jaeger  <aj@suse.de>
2470
2471         * Makefile.in (toplev.o): Add dependency on dwarf2asm.h.
2472
2473         * toplev.c: Include dwarf2asm.h for prototype of
2474         dw2_output_indirect_constants.
2475
2476 Wed May 16 19:53:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
2477
2478         * stmt.c (expand_asm_operands): Be able to offload addressof
2479         expression to memory. (PR optimization/185)
2480
2481 Wed May 16 18:53:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
2482
2483         * combine.c (combine_simplify_rtx): Set op0_mode to VOIDmode after
2484         applying distributive law.
2485
2486 2001-05-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2487
2488         * pa-hpux10.h (THREAD_MODEL_SPEC): Define.
2489
2490         * gthr-dce.h (UNUSED): Attribute unused macro.
2491         (__gthread_key_dtor): Make arguments UNUSED.
2492         (__gthread_key_delete): Revise for compatibility with DRAFT4
2493         implementation.
2494
2495 2001-05-16  David Edelsohn  <edelsohn@gnu.org>
2496
2497         * doc/install.texi: Update AIX information.
2498         * README.RS6000: Remove obsolete file.
2499
2500 2001-05-16  Jakub Jelinek  <jakub@redhat.com>
2501             Nathan Sidwell  <nathan@codesourcery.com>
2502
2503         * gcc.c (give_switch): Don't write before start of string.
2504         Always append suffix.
2505
2506 2001-05-16  Nathan Sidwell  <nathan@codesourcery.com>
2507
2508         * cpplex.c (_cpp_lex_token, '/' case): Comments can't appear
2509         after stage3.
2510
2511 2001-05-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2512
2513         * README.ALTOS: Remove obsolete file.
2514
2515 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
2516
2517         * c-lex.h (save_and_forget_protocol_qualifiers,
2518         forget_protocol_qualifiers, remember_protocol_qualifiers):
2519         Remove deleted functions' prototypes.
2520
2521 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
2522
2523         * c-parse.in (methodtype): New production.
2524         (methoddef, methodproto): Collapse separate '-' and '+'
2525         handlers into 1.
2526
2527 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2528
2529         * c-common.h (RID_FIRST_PQ): New.
2530         * c-parse.in (objc_pq_context): New.
2531         (objc parser): Set objc_pq_context rather than calling
2532         remember_protocol_qualifiers and forget_protocol_qualifiers.
2533         Don't call save_and_forget_protocol_qualifiers.
2534         (yylexname): Handle objc protocol qualifiers here.
2535         * stringpool.c (struct str_header): Replace with sp_hashnode.
2536         (SP_EMPTY, SP_LEN, SP_TREE, SP_STR, SP_VALID): New.
2537         (alloc_string): Rename alloc_ident.  Use the SP_ accessors.
2538         Allocate an IDENTIFIER_NODE for each identifier.
2539         (FORALL_STRINGS, set_identifier): Delete.
2540         (FORALL_IDS, expand_string_table, stringpool_statistics): Update.
2541         (ggc_alloc_string): Use an obstack.
2542         (get_identifier, maybe_get_identifier, mark_string_hash): Update.
2543         * tree.h: Update comments.
2544         (set_identifier): Delete.
2545         * objc/objc-act.c (N_PQ, saved_pq, saved_not_pq,
2546         save_and_forget_protocol_qualifiers, forget_protocol_qualifiers,
2547         remember_protocol_qualifiers): Delete.
2548
2549 Tue May 15 22:14:09 2001  Jeffrey A Law  (law@cygnus.com)
2550
2551         * flow.c (life_analysis): After life analysis is complete, do
2552         an optional scan over insns looking for REG_LABEL notes that
2553         reference a deleted label.
2554         (propagate_block_delete_insn): Verify INOTE is a CODE_LABEL
2555         before peeking at LABEL_NUSES.
2556
2557 2001-05-15  Richard Henderson  <rth@redhat.com>
2558
2559         * unwind-sjlj.c (_Unwind_GetDataRelBase): New.
2560         (_Unwind_GetTextRelBase): New.
2561
2562 2001-05-15  Mark Mitchell  <mark@codesourcery.com>
2563
2564         * config/sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
2565
2566 2001-05-15  Geoffrey Keating  <geoffk@redhat.com>
2567
2568         * objc/objc-act.c (handle_class_ref): Use rest_of_decl_compilation
2569         so that CHOOSE_SECTION gets used.
2570
2571         * config/rs6000/sysv4.h (ASM_PREFERRED_EH_DATA_FORMAT): Treat
2572         TARGET_RELOCATABLE like flag_pic for now.
2573
2574 2001-05-15  David Edelsohn  <edelsohn@gnu.org>
2575
2576         * rs6000.md (movdi splitter): Sign extend more efficiently.
2577         * rs6000.c (reg_or_arith_cint_operand): Redefine 64-bit constant
2578         to "long long" valid on 32-bit and 64-bit hosts.
2579         (logical_operand): Cast trunc_int_for_mode return value.
2580         (rs6000_emit_move): Shift macro to encapsulate variable.
2581         (rs6000_va_start): Use HOST_WIDE_INT_PRINT_DEC.
2582         (rs6000_emit_{prologue,epilogue}): EH regno is unsigned but
2583         plus_constant requires signed argument.
2584
2585 2001-05-15  Loren J. Rittle  <ljrittle@acm.org>
2586
2587         * gthr-posix.h: Make additional pthread-* functions weak.
2588
2589 Tue May 15 13:51:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
2590
2591         * recog.c (apply_change_group): Avoid unneeded validating.
2592
2593 2001-05-14  David Edelsohn  <edelsohn@gnu.org>
2594
2595         * rs6000.c (num_insns_constant_wide): Constants are sign-extended.
2596         (num_insns_constant): CONST_INT can be 64-bits.
2597
2598 2001-05-14  Stan Shebs  <shebs@apple.com>
2599
2600         * config/darwin.h (LIB_SPEC): Just use -lSystem.
2601         (LIBGCC_SPEC): Don't define.
2602
2603 2001-05-14  Richard Henderson  <rth@redhat.com>
2604
2605         * configure.in (gcc_cv_as_eh_frame): New test.
2606         * config.in, configure: Rebuild.
2607         * gcc.c (init_spec): Honor USE_AS_TRADITIONAL_FORMAT.
2608
2609 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
2610
2611         * config/ia64/lib1funcs.asm (__divtf3): Fix incorrect bits in
2612         extended precision divide.
2613
2614 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
2615
2616         * config/ia64/ia64.c (rtx_needs_barrier): Call rtx_needs_barrier
2617         for RETURNS as well.
2618
2619 Mon May 14 17:34:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
2620
2621         * i386.h (TARGET_64BIT): Define to constant if !TARGET_BI_ARCH
2622         (CPP_CPU??_SIZE_TYPE): New.
2623         (CPP_CPU??_SPEC, CPP_CPUCOMMON_SPEC): Break out from...
2624         (CPP_CPU_SPEC): ... here; support choosing of CPU.
2625         (EXTRA_SPECS): Add cpp_cpu??, cpp_cpu??sizet, cpp_cpucommon.
2626         (MAX_LONG_TYPE_SIZE, MAX_BITS_PER_WORD): Define to 32 for 32bit-only
2627         compiler.
2628         * i386.c (override_options): Add sorry about not suported modes.
2629
2630 Mon May 14 08:56:47 2001  Jeffrey A Law  (law@cygnus.com)
2631
2632         * config/pa/som.h (NM_FLAGS): Remove.
2633         (ASM_OUTPUT_FUNCTION_PREFIX): No longer truncate subspace names.
2634         (ASM_OUTPUT_SECTION_NAME): Remove.
2635         (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Likewise.
2636
2637 2001-05-14  Mark Mitchell  <mark@codesourcery.com>
2638
2639         * regrename.c (regrename_optimize): Do not rename registers to
2640         leaf registers.
2641
2642 2001-05-14  Alexandre Oliva  <aoliva@redhat.com>
2643
2644         * rtl.texi (CALL_INSN_FUNCTION_USAGE): Note that (and when) it may
2645         contain MEMs.  Remove useless distinction about clobbering
2646         registers.
2647
2648 2001-05-13  Geoff Keating  <geoffk@redhat.com>
2649
2650         * config/rs6000/rs6000.h (EXCEPTION_SECTION): Move to...
2651         * config/rs6000/aix.h (EXCEPTION_SECTION): ... here.
2652         * config/rs6000/sysv4.h (CONST_SECTION_ASM_OP): Delete.
2653         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2654         (EXCEPTION_SECTION): Define.
2655
2656 2001-05-13  Zack Weinberg  <zackw@stanford.edu>
2657
2658         * libgcc2.c, libgcc2.h: Restore __eprintf.  Label as used for
2659         binary backward compat only.
2660         * Makefile.in (LIB2FUNCS_ST): New.  Put _eprintf here, not
2661         in LIB2FUNCS.  Pass it to mklibgcc.
2662         * mklibgcc.in: Handle LIB2FUNCS_ST.
2663
2664         * Makefile.in (installdirs): Don't create $(gcc_tooldir).
2665
2666 2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
2667
2668         * tm.texi (THREAD_MODEL_SPEC): Document it.
2669         * gcc.c (main): Use it.
2670         * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Define it.
2671         * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Likewise.
2672
2673 2001-05-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2674
2675         * rtl.h (SYMBOL_REF_WEAK): New macro.
2676         * rtlanal.h (rtx_addr_can_trap): Use it, a weak SYMBOL_REF can trap.
2677         * varasm.c (make_decl_rtl): Mark SYMBOL_REF weak if necessary.
2678         * rtl.texi (SYMBOL_REF_WEAK): Document it.
2679         * gcc.texi: Remove wrong description.
2680
2681 2001-05-13  Mark Mitchell  <mark@codesourcery.com>
2682
2683         * Makefile.in (STAMP): New macro.
2684         Replace all uses of `touch' with $(STAMP).
2685         * fixinc/Makefile.in: Likewise.
2686
2687 Sun May 13 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2688
2689         * configure.in: ldopen is never in -lexc, so don't test for it.
2690         Add test for exc_resume in -lexc for Ada.
2691         * configure: Regenerated.
2692
2693 2001-05-12  Richard Henderson  <rth@redhat.com>
2694
2695         * dwarf2asm.c (size_of_encoded_value): New function.
2696         * dwarf2asm.h: Declare it.
2697         * except.c (output_function_exception_table): Align the TType
2698         array only as wide as the encoding.
2699
2700 2001-05-12  Zack Weinberg  <zackw@stanford.edu>
2701
2702         * extend.texi: Document #pragma GCC java_exceptions.
2703
2704 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2705
2706         * c-parse.in (bison parser, init_reswords): Remove uses of
2707         doing_objc_thang.
2708         * c-tree.h (doing_objc_thang): Remove.
2709
2710 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
2711
2712         * cpplex.c (_cpp_lex_token): Ensure we warn at most once
2713         about files not ending in newlines.
2714
2715 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2716
2717         * dwarfout.c (dwarfout_init): Add cast.
2718         * sched-deps.c (sched_analyze_insn): Remove unused vars.
2719         * unwind-dw2-fde.c (_Unwind_Find_FDE): Flag unused parameter so.
2720 cp:
2721         * method.c (build_mangled_C99_name): Remove unused prototype.
2722
2723 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
2724
2725         * config/arm/arm.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Use delta.
2726
2727 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
2728
2729         * defaults.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
2730         * tm.texi (TARGET_PRTMEMFUNC_VBIT_LOCATION): Document.
2731
2732 2001-05-11  Richard Henderson  <rth@redhat.com>
2733
2734         * defaults.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
2735         * dwarf2asm.c (dw2_force_const_mem, dw2_output_indirect_constant_1,
2736         dw2_output_indirect_constants, dw2_asm_output_encoded_addr_rtx): New.
2737         * dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): Prototype.
2738         (dw2_output_indirect_constants): Prototype.
2739         * dwarf2out.c (dwarf2out_begin_prologue): Generate
2740         current_function_func_begin_label if we'll need it for EH.  Exit
2741         early for IA64_UNWIND_INFO.
2742         * except.c: Get DW_EH_PE_* defines from dwarf2.h.
2743         (eh_data_format_name): Update for indirect references.
2744         (output_function_exception_table): Care for IA64_UNWIND_INFO.
2745         Handle ASM_PREFERRED_EH_DATA_FORMAT.
2746         * except.h (MUST_USE_SJLJ_EXCEPTIONS): IA64_UNWIND_INFO needn't
2747         define HAVE_eh_return etc.
2748         * final.c (final_start_function): Always call dwarf2out_begin_prologue.
2749         (final_end_function): Don't call output_function_exception_table.
2750         * toplev.c (compile_file): Call dw2_output_indirect_constants.
2751         (rest_of_compilation): Invoke output_function_exception_table
2752         for ia64 before assemble_end_function.
2753         * tm.texi (ASM_PREFERRED_EH_DATA_FORMAT): Document.
2754         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Document.
2755
2756         * unwind-dw2.c (_Unwind_GetTextRelBase, _Unwind_GetDataRelBase): New.
2757         * unwind.h: Declare them.
2758         * libgcc-std.ver: Export them.
2759         * unwind-pe.h: New file.
2760
2761         * config/alpha/elf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
2762
2763         * config/ia64/fde-glibc.c: Use "struct unw_table_entry"
2764         instead of "fde".
2765         (find_fde_for_dso): Extract DT_PLTGOT.
2766         (_Unwind_FindTableEntry): Rename from __ia64_find_fde; return
2767         the segment and gp as well.
2768         * config/ia64/frame-ia64.c: Remove file.
2769         * config/ia64/frame-ia64.h: Remove file.
2770         * config/ia64/unwind-ia64.c: New file.
2771         * config/ia64/unwind-ia64.h: New file.
2772         * config/ia64/ia64.h (ASM_OUTPUT_EH_CHAR): Remove.
2773         (ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT): Remove.
2774         (ASM_OUTPUT_EH_DOUBLE_INT): Remove.
2775         (ASM_PREFERRED_EH_DATA_FORMAT): New.
2776         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
2777         (IA64_UNWIND_INFO): Re-enable.
2778         (HANDLER_SECTION): Remove.
2779         (EH_RETURN_DATA_REGNO): New.
2780         * config/ia64/ia64.md (exception_receiver): Remove.
2781         * config/ia64/t-glibc (LIB2ADDEH): Re-enable.
2782         * config/ia64/t-ia64 (LIB2ADDEH): Re-enable.
2783
2784 2001-05-11  Richard Henderson  <rth@redhat.com>
2785
2786         * config/ia64/ia64.c (group_barrier_needed_p): Don't allow
2787         calls and jumps to be bundled together.
2788         (ia64_reorg): Emit a break after a noreturn call that ends
2789         a function.
2790         * config/ia64/ia64.md (break_f): New.
2791
2792 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
2793
2794         * c-lex.c (lex_charconst): Convert into a simple wrapper
2795         around cpp_interpret_charconst, to which most of the code
2796         body is moved.
2797         * cppexp.c (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE,
2798         MAX_LONG_TYPE_SIZE, MAX_INT_TYPE_SIZE, MAX_CHAR_TYPE_MASK,
2799         MAX_WCHAR_TYPE_MASK, parse_escape, parse_charconst): Remove.
2800         (lex): Use cpp_interpret_charconst.
2801         * cpplex.c (parse_escape, read_ucs, cpp_interpret_charconst,
2802         hex_digit_value): New functions.
2803         (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): New macros.
2804         * cpplib.h (cpp_interpret_charconst): New prototype.
2805         * Makefile.in: Update.
2806
2807 2001-05-12  Dean Wakerley  <dean@wakerley.com>
2808
2809         * doc/install.texi: New file. Converted to texinfo from the HTML
2810         documentation in wwwdocs/htdocs/install.
2811
2812 Fri May 11 15:50:13 2001  Jeffrey A Law  (law@cygnus.com)
2813
2814         * gcse.c (insert_insn_end_bb): Do not search for assignments to
2815         non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
2816
2817         * toplev.c (compile_file): Move comment for opening output
2818         file to just before the code that opens the output file.
2819
2820 2001-05-11  Jakub Jelinek  <jakub@redhat.com>
2821
2822         * regmove.c (regmove_optimize): Suppress the optimization for
2823         unchanging destination register.  Add comment above function.
2824
2825 2001-05-11  Zack Weinberg  <zackw@stanford.edu>
2826
2827         * Makefile.in: Exterminate all references to assert.h.
2828         * cross-make: Likewise.
2829         * assert.h: Delete.
2830         * configure.in: Correct commentary.
2831         * configure: Regenerate.
2832
2833         * libgcc-std.ver, libgcc2.c, libgcc2.h, sys-protos.h:
2834         Remove __eprintf.
2835
2836         * config/t-freebsd, config/t-linux, config/t-linux-aout,
2837         config/t-netbsd, config/t-rtems, config/x-linux,
2838         config/i386/t-beos, config/mcore/t-mcore, config/mcore/t-mcore-pe:
2839         No need to override INSTALL_ASSERT_H.
2840
2841         * fixinc/fixinc.dgux, fixinc/fixinc.interix, fixinc/fixinc.ptx,
2842         fixinc/fixinc.svr4, fixinc/fixinc.winnt, fixinc/fixinc.wrap,
2843         fixinc/fixincl.sh: Don't install assert.h into objdir/include.
2844
2845 2001-05-11  Graham Stott  <grahams@redhat.com>
2846
2847         * combine.c (simplify_comparison): Fix typo.
2848
2849 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
2850
2851         * loop.h (struct movables): Remove `num'.
2852         * loop.c (scan_loop): Don't set it.  Use count_insns_in_loop.
2853         Adjust call to strength_reduce.
2854         (num_unmoved_movables): New function.
2855         (move_movables): Don't set movables->num.
2856         (strength_reduce): Compute the number of instructions in the loop
2857         here, rather than in the caller.
2858         (check_dbra_loop): Always clear reversible_mem_store if there
2859         are any memory sets.
2860         (loop_regs_scan): Don't count instructions here.
2861         (count_insn_in_loop): New function.
2862
2863 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
2864
2865         * optabs.c (emit_libcall_block): Don't mark calls as CONST_CALL_P.
2866
2867 2001-05-11  Neil Booth  <neil@daikokuya.demon.co.uk>
2868
2869         * c-common.c (finish_label_expr): New function, lifted from
2870         from cp/semantics.c.
2871         * c-common.h (finish_label_expr, lookup_label): New prototypes.
2872         * c-parse.in: Move 3 blocks of parser code into new functions.
2873         * c-typeck.c (simple_asm_stmt, c_cast_expr): New functions.
2874         * c-tree.h (simple_asm_stmt, c_cast_expr): New prototypes.
2875         (lookup_label): Remove.
2876
2877 2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
2878
2879         * config/mn10300/t-mn10300 (dp-bit.c, fp-bit.c): Don't define
2880         FLOAT_BIT_ORDER_MISMATCH.
2881
2882 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
2883
2884         * expr.c (emit_push_insn): Convert PUSH_ROUNDING argument to
2885         bytes.  Reported by Kazu Hirata <kazu@hxi.com>.
2886
2887 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
2888
2889         * expr.c (emit_group_load): extract_bit_field requires a REG or
2890         MEM as an argument.
2891
2892 Thu May 10 14:45:44 2001  Jeffrey A Law  (law@cygnus.com)
2893
2894         * cse.c (cse_insn): Mostly remove first hunk of code which collapsed
2895         a computed jump into an unconditional jump.
2896         In second hunk of code for collapsing computed and conditional jumps
2897         into unconditional jumps, reemit the jump in additional cases.
2898
2899         * jump.c (jump_optimize_1): Do not wrap the new jump target
2900         inside a LABEL_REF; gen_jump will do that automatically.
2901
2902 2001-05-10  Toon Moene  <toon@moene.indiv.nluug.nl>
2903
2904         * dwarf2out.c (mem_loc_descriptor): Do not pass constant pool
2905         contents for a SYMBOL_REF in case of floating point constants.
2906
2907 2001-05-10  DJ Delorie  <dj@redhat.com>
2908
2909         * c-common.c (combine_strings): Widen strings in a
2910         host-endian-independent way.
2911
2912 2001-05-10  Joseph S. Myers  <jsm28@cam.ac.uk>
2913
2914         * c-parse.in: Remove many shift/reduce conflicts.  Update
2915         %expect values.
2916         (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
2917         declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
2918         declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
2919         declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
2920         declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
2921         declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
2922         declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
2923         declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
2924         declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
2925         declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
2926         maybe_type_quals_setattrs, typespec_nonattr, typespec_attr,
2927         typespec_reserved_nonattr, typespec_reserved_attr,
2928         typespec_nonreserved_nonattr, maybe_setattrs, structsp_attr,
2929         structsp_nonattr, components_notype, component_notype_declarator,
2930         absdcl1_ea, absdcl1_noea, direct_absdcl1, absdcl_maybe_attribute,
2931         firstparm, setspecs_fp): New
2932         (typed_declspecs, reserved_declspecs, typed_typespecs,
2933         reserved_typespecquals, declmods, typespec, typespecqual_reserved,
2934         typed_declspecs_no_prefix_attr reserved_declspecs_no_prefix_attr
2935         declmods_no_prefix_attr, nonempty_type_quals, structsp,
2936         type_quals): Remove.  Users updated.
2937         (initdecls, notype_initdecls, after_type_declarator,
2938         parm_declarator, notype_declarator, absdcl1, components, ivars):
2939         Don't allow attributes at the start of a declarator; include them
2940         in the production containing the declarator instead.  Always
2941         require type specifiers before trying to redeclare a typedef name.
2942         (typename): Allow for attributes but warn that they are ignored.
2943         (parmlist, firstparm, setspecs_fp): Include attributes in
2944         parmlist; suck them off the parser stack in firstparm using
2945         setspecs_fp.
2946
2947 Thu May 10 09:17:42 2001  Jeffrey A Law  (law@cygnus.com)
2948
2949         * ifcvt.c (merge_if_block): Use any_uncondjump_p, not simplejump_p
2950         to determine if a block has an unconditional jump at its end.
2951
2952         * jump.c (jump_optimize_1): When converting a conditional jump
2953         to an unconditional jump, build the jump using gen_jump instead
2954         of just modify operands in-place.
2955
2956 2001-05-09  Zack Weinberg  <zackw@stanford.edu>
2957
2958         * cppinit.c (cpp_post_options): Shut off macro expansion if
2959         -fpreprocessed.
2960         * cpplib.c (_cpp_handle_directive): If -fpreprocessed, accept
2961         IN_I directives only if the # is in column 1 and the directive
2962         name begins in column 2.
2963         * cppmain.c (scan_buffer): Insert a space between # and an
2964         identifier, when that identifier is a directive name.
2965
2966         * tradcpp.c (struct file_buf): Add a pointer to the next entry
2967         in the header search path.
2968         (enum node_type): Add T_INCLUDE_NEXT.
2969         (directive_table): Add entry for include_next.
2970         (do_include_next): New function.
2971         (process_include): New routine, broken out of do_include.
2972         (finclude): Insert 'nhd' argument, to be copied into
2973         next_header_dir of the new buffer.
2974         (main): Adjust to match.
2975         * gsyslimits.h, limity.h: Un-indent #include_next.
2976
2977 2001-05-09  Joseph S. Myers  <jsm28@cam.ac.uk>
2978
2979         * objc.texi: Move from ../libobjc/objc-features.texi.  Adjust for
2980         inclusion as a chapter of the GCC manual.
2981         * gcc.texi: Include objc.texi.
2982         * fdl.texi: Use @unnumberedsec for the addendum.
2983         * Makefile.in ($(srcdir)/gcc.info, gcc.dvi): Update dependencies.
2984
2985 Wed May  9 16:01:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
2986
2987         * i386.md (DImode move splitters): Use !MMX and !SSE for the condition.
2988
2989 Wed May  9 10:40:25 2001  Alexandre Oliva  <aoliva@redhat.com>
2990
2991         * regclass.c (scan_one_insn): Update REG_N_REFS when optimizing
2992         handling of two-address insns.
2993
2994 Wed May  9 10:36:18 2001  Alexandre Oliva  <aoliva@redhat.com>
2995
2996         * Makefile.in (NM_FOR_TARGET): Look for ./nm, then
2997         ../binutils/nm-new instead of ../binutils/nm.
2998
2999 Wed May  9 12:15:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
3000
3001         * i386.md (movdi splitter): Fix the splitting condition
3002         (float_extenddftf splitter): Fix mode.
3003
3004 Wed May  9 12:05:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
3005
3006         * genrecog.c (write_switch): Avoid outputting of switch for
3007         types wider than int.
3008
3009 2001-05-03  Andrew Haley  <aph@cambridge.redhat.com>
3010
3011         * reload1.c (copy_eh_notes): New function.
3012         (emit_input_reload_insns): Call it.
3013         (emit_output_reload_insns): Call it.
3014
3015 2001-05-07  Zack Weinberg  <zackw@stanford.edu>
3016
3017         * config.gcc (i[34567]86-*-sco3.2v4*, i[34567]86-*-sco*):
3018         Delete stanzas.
3019         * config/i386/sco.h, config/i386/sco4.h, config/i386/scodbx.h,
3020         config/i386/sco4dbx.h, config/i386/x-sco4: Delete file.
3021
3022         * optabs.c: Delete #ifdef BROKEN_LDEXP block.
3023
3024 2001-05-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3025
3026         * pa.md (interspace_jump): Revise comment.
3027         (builtin_longjmp): Block initial setup insns from delay slot of
3028         interspace branch.
3029         (builtin_setjmp_receiver): New expander to save and restore PIC
3030         register.
3031
3032         * som.h (NM_FLAGS): Remove `-n' sort option.  Revise comment.
3033
3034 Mon May  7 09:30:14 2001  Jeffrey A Law  (law@cygnus.com)
3035
3036         * toplev.c (compile_file): Set up the output file before we call
3037         the various initializers for the compiler.
3038
3039         * except.c (sjlj_mark_call_sites): Do not search for assignments to
3040         non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
3041
3042         * pa.h (MAX_LONG_TYPE_SIZE): Should be 32, not 64.
3043         * pa-64.h (*_TYPE_SIZE): Undefine before redefining.
3044
3045 2001-05-06  Zack Weinberg  <zackw@stanford.edu>
3046
3047         * Makefile.in (tradcpp0): Correct typo in dependency list.
3048
3049 2001-05-06  Geoff Keating  <geoffk@redhat.com>
3050
3051         * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't save
3052         the link register if we're not going to use it.
3053
3054         * config/rs6000/rs6000.c (output_profile_hook): Fix a warning.
3055         (output_function_profiler): Likewise.
3056
3057 2001-05-07  Alan Modra  <amodra@one.net.au>
3058
3059         * pa.c (compute_frame_size): 64-bit frame marker is 16 bytes.
3060
3061 2001-05-06  Alexandre Oliva  <aoliva@redhat.com>
3062
3063         * unroll.c (loop_iterations): Don't sign-extend abs_diff;
3064         zero-extend it.  Make abs_inc unsigned.
3065
3066         * optabs.c (expand_binop): Sign-extend xop0 and xop1 from the
3067         widest mode in narrowing and widening operations.
3068
3069         * config/mips/mips.md: Sign extend CONST_INTs.
3070
3071 2001-05-06  Andreas Jaeger  <aj@suse.de>
3072
3073         * invoke.texi (Option Summary): Add -momit-leaf-frame-pointer
3074         (i386 Options): Document -momit-leaf-frame-pointer.
3075
3076 2001-05-06  Neil Booth  <neil@daikokuya.demon.co.uk>
3077
3078         * c-typeck.c (internal_build_compound_expr): Check for
3079         array to pointer conversion just once.
3080
3081 2001-05-05  Richard Henderson  <rth@redhat.com>
3082
3083         * integrate.c (copy_insn_list): Substitute NOTE_EXPECTED_VALUE.
3084
3085 2001-05-05  Richard Henderson  <rth@redhat.com>
3086
3087         * except.c (remove_fixup_regions): Adjust REG_EH_REGION notes
3088         to the parent of the fixup region.
3089
3090 2001-05-05  Jakub Jelinek  <jakub@redhat.com>
3091
3092         * gcc.c (cpp_options): Define __NO_INLINE__ unless we are honoring
3093         "inline" keyword.
3094         * cpp.texi (__NO_INLINE): Document it.
3095
3096 2001-05-05  Neil Booth  <neil@daikokuya.demon.co.uk>
3097
3098         * cppfiles.c (struct include_file): New member err_no.
3099         (find_or_create_entry): Set it.
3100         (open_file): Don't set fds to -2.  Instead, use err_no to
3101         remember previous errors, if any.
3102
3103 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3104
3105         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Optimize moves
3106         between X and Y by using sequences of xgdx and xgdy.
3107
3108 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3109
3110         * config/m68hc11/m68hc11.md ("*logicalsi3_silshr16"): Use '?' instead
3111         of '!' for the 'D' alternative ('!' is too strong).
3112         ("*logicalsi3_silshl16"): Likewise.
3113         ("movstricthi"): Accept 'A' when 'd' constraint, remove spurious '+'.
3114         ("movstrictsi"): Remove spurious '+'.
3115         ("movstrictqi"): Don't accept 'A' and remove spurious '+'.
3116         ("tstqi_1", "*lshrqi3_const1"): Put 'm' constraint before 'd'.
3117         ("subqi3"): Disparage with '!' the 'x' and 'y' registers to avoid
3118         a reload to them.
3119
3120 2001-05-04  David Edelsohn  <edelsohn@gnu.org>
3121
3122         * calls.c (store_one_arg): Don't divide align by BITS_PER_UNIT.
3123
3124 2001-05-04  Lars Brinkhoff  <lars@nocrew.org>
3125
3126         * simplify-rtx.c (simplify_binary_operation): Simplify ~a + 1
3127         into -a.
3128
3129 2001-05-04  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3130
3131         * config/rs6000/rs6000.md (ashldi3 splits): Guard with
3132         TARGET_POWERPC64.
3133
3134 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3135
3136         * config/m68hc11/m68hc11.md (lshrhi3_const1): Fix shift of
3137         soft register, use ror instead of rol.
3138
3139 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3140
3141         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Take
3142         into account pre/post increment decrement for 68HC12.
3143         Fix other problems in replacement and fix call to reg_mentioned_p.
3144
3145 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3146
3147         * config/m68hc11/larith.asm (L_regs_frame): New for _.frame.
3148         Put the soft registers in bss for 68HC12.
3149         (L_regs_d3_4): New for _.d3 and _.d4.
3150         (L_regs_d5_6): Likewise.
3151         (L_regs_d1_2): Likewise.
3152         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Compile new parts.
3153
3154 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3155
3156         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__HAVE_SHORT_DOUBLE__
3157         to the pre-processor when -fshort-double is specified.
3158         * config/m68hc11/m68hc11.2 (CPP_SPEC): Likewise.
3159
3160 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3161
3162         * config/m68hc11/larith.asm (divmodhi4): Empty for 68HC12.
3163         (__mulsi3): Rewrite for 68HC12.
3164         * config/m68hc11/m68hc11.md (divmodhi4): Use idivs for 68HC12.
3165         Mark 'x' constraint with earlyclobber to prevent a
3166         RELOAD_FOR_OTHER_ADDRESS to go in it.
3167         (mulhi3_m68hc12): New pattern.
3168         (mulhi3_m68hc11): Rename of mulhi3.
3169         (mulhi3): New expand for 68HC12 optimisation.
3170         (umulhisi3, mulhisi3): New patterns for 68HC12.
3171
3172 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3173
3174         * config/m68hc11/m68hc11.md (*tbne, *tbeq): New patterns for 68HC12.
3175         (extendqisi2, extendqihi2, extendhisi2): Use sex for 68HC12.
3176         (uminqi3, umaxqi3, uminhi3, umaxhi3): New pattern for 68HC12.
3177
3178 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3179
3180         * config/m68hc11/m68hc11.h (CONST_COSTS): Make the cost of
3181         constants cheap after reload.
3182         * config/m68hc11/m68hc11.c (m68hc11_shift_cost): Shift by 16 and 32
3183         are cheap.
3184         (m68hc11_rtx_costs): Cost of multiplication by 65536 is expensive
3185         so that gcc prefers a shift by 16.
3186         (m6811_cost, m6812_cost): Make the shift cheap compared to an add.
3187
3188 2001-05-04  Nick Clifton  <nickc@cambridge.redhat.com>
3189
3190         * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Define.
3191
3192 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3193
3194         * alpha.h: NULL_PTR -> NULL.
3195         * arm.c: Likewise.
3196         * arm.h: Likewise.
3197         * avr.h: Likewise.
3198         * c4x.c: Likewise.
3199         * c4x.h: Likewise.
3200         * i386.c: Likewise.
3201         * i386.md: Likewise.
3202         * i860.c: Likewise.
3203         * ia64.c: Likewise.
3204         * m68hc11.h: Likewise.
3205         * rs6000.h: Likewise.
3206         * sh.c: Likewise.
3207         * sh.h: Likewise.
3208         * sparc.h: Likewise.
3209         * v850.c: Likewise.
3210
3211         * expr.c: Likewise.
3212         * final.c: Likewise.
3213         * gcc.c: Likewise.
3214         * recog.c: Likewise.
3215
3216 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3217
3218         * i386.c (ix86_emit_restore_regs_using_mov, ix86_save_reg): Change
3219         `bool' parameter to `int'.
3220
3221         * hash.c (hash_lookup): Likewise.
3222
3223         * hash.h (hash_lookup): Likewise.
3224
3225         * tlink.c (symbol_hash_lookup, demangled_hash_lookup): Likewise.
3226
3227 Fri May  4 13:10:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
3228
3229         * i386.c (x86_initialize_trampoline): Fix mode of constant.
3230
3231 2001-05-03  Geoff Keating  <geoffk@redhat.com>
3232
3233         * invoke.texi (i386 Options): Delete references to -malign-jumps,
3234         -malign-loops, -malign-functions.
3235         * i386.c (ix86_align_funcs): Delete.
3236         (ix86_align_loops): Delete.
3237         (ix86_align_jumps): Delete.
3238         (override_options): Mark -malign-* as obsolete.  Emulate their
3239         behaviour with the -falign-* options.  Default -falign-* from
3240         the processor table.
3241         * i386.h (FUNCTION_BOUNDARY): Define to 16; revert Richard Kenner's
3242         patch of Wed May 2 13:09:36 2001.
3243         (LOOP_ALIGN): Delete.
3244         (LOOP_ALIGN_MAX_SKIP): Delete.
3245         (LABEL_ALIGN_AFTER_BARRIER): Delete.
3246         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Delete.
3247
3248 2001-05-04  Andreas Jaeger  <aj@suse.de>
3249
3250         * except.h: Add prototype declaration for
3251         expand_builtin_init_dwarf_reg_sizes.
3252
3253 2001-05-03  Geoffrey Keating  <geoffk@redhat.com>
3254
3255         * Makefile.in (site.exp): Set TESTING_IN_BUILD_TREE.
3256
3257 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3258
3259         * config/m68hc11/m68hc11.md ("bitcmpqi"): New pattern for bitb
3260         instruction.
3261         ("bitcmpqi2"): New pattern for bit-extract and test.
3262         ("bitcmphi"): New pattern for bitb/bita instructions.
3263
3264 2001-05-03  Joseph S. Myers  <jsm28@cam.ac.uk>
3265
3266         * gccbug.in: Use a temporary directory when the mktemp command is
3267         not available.
3268
3269 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3270
3271         * config/m68hc11/m68hc11.h (STATIC_CHAIN_REGNUM): Use soft z register
3272         instead of _.d1.
3273         (INITIALIZE_TRAMPOLINE): Call it.
3274         (TRAMPOLINE_SIZE): Define according to 68HC11/68HC12.
3275         (TRAMPOLINE_TEMPLATE): Remove.
3276         * config/m68hc11/m68hc11.c (m68hc11_initialize_trampoline): New.
3277         * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline):
3278         Declare.
3279
3280 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
3281
3282         * config/t-freebsd: Don't install "assert.h" in gcc.  Compile crtbeginS.o
3283         and crtendS.o with PIC.
3284
3285 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3286
3287         * config/m68hc11/larith.asm (__mulqi3): Fix multiplication of two
3288         negative numbers.
3289         (___subdi3, ___adddi3): Use x instead of y as index register.
3290         (__init_bss_section, __map_data_section): Optimize for 68HC12.
3291         (__memset, __memcpy): Likewise.
3292         (regs): Put the soft registers in bss for 68HC12.
3293         (abort): Use trap to abort for 68hc12.
3294         (__mulhi3, __mulhi32): Use emul for 68hc12.
3295         (__mulsi3): Avoid to use the tmp soft register for 68hc12.
3296
3297 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3298
3299         * config/m68hc11/m68hc11.h (LIMIT_RELOAD_CLASS): Don't define.
3300         * config/m68hc11/m68hc11-protos.h (limit_reload_class): Remove.
3301         * config/m68hc11/m68hc11.c (limit_reload_class): Remove.
3302         (m68hc11_override_options): Remove setting of flag_no_nonansi_builtin.
3303         Set 68HC12 min offset to -65536.
3304         (print_operand): Put parenthesis arround the operand if it refers
3305         to a symbol having the same name as a register.
3306         (m68hc11_z_replacement): When z register is replaced by its
3307         equivalent soft register, force the insn to be re-recognized.
3308         (m68hc11_check_z_replacement): Fix the test when destination is
3309         the index register and z dies in the insn.
3310         (m68hc11_reorg): Remove the REG_DEAD notes beforce recomputing them.
3311
3312 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3313
3314         * config/m68hc11/m68hc11.c (m68hc11_override_options): Initialize
3315         costs according to processor variant.
3316         (m68hc11_shift_cost): New function to compute shift costs.
3317         (m68hc11_rtx_costs): Define costs according to processor variant.
3318         (m6811_cost): Costs for 68HC11.
3319         (m6812_cost): Costs for 68HC12.
3320         (COSTS_N_INSNS): Remove.
3321
3322         * config/m68hc11/m68hc11.h (RTX_COSTS): New.
3323         (DEFAULT_RTX_COSTS): Remove.
3324         (CONST_COSTS): Define costs according to OUTER_CODE.
3325         (processor_costs): New struct to define costs.
3326         (m68hc11_cost): Pointer to current costs.
3327
3328 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3329
3330         * config/m68hc11/m68hc11.md (*addhi3_68hc12): Fix generation
3331         and use m68hc11_notice_keep_cc when using leax/leay.
3332         (addhi3 split): Reject split if the insn is handled by
3333         leax/leay above.
3334         * config/m68hc11/m68hc11.c (m68hc11_split_move): For 68HC12 the
3335         push must be handled in a special way if the source operand uses
3336         sp as index register.
3337         (m68hc11_notice_keep_cc): New function.
3338         (m68hc11_gen_movhi): Use it when an insn changes a register but
3339         not the flags.
3340         (m68hc11_gen_movqi): Fix move for 68HC12.
3341         * config/m68hc11/m68hc11-protos.h (m68hc11_notice_keep_cc): Declare.
3342
3343 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3344
3345         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use LCT_CONST
3346         and don't pass operands[0] to emit_library_call_value.
3347
3348 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3349
3350         * config/m68hc11/m68hc11.md (tsthi_1): Use cpd for 68HC12.
3351         (zero_extendsi split): Simplify and use (zero_extendhi).
3352         (*addhi3): Remove 'w' constraint since stack pointer is handled
3353         by (addhi3_sp).
3354         (*ashlhi3_2): Operand 2 is clobbered use '+' for its constraint.
3355         (*ashlhi3, *ashrhi3, *lshrhi3): Likewise.
3356         (*ashrhi3_const): Fix shift by 7.
3357         (*lshrsi3_const16): Fix template.
3358         (call, call_value): Fix constraint and predicate.
3359
3360 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3361
3362         * config/m68hc11/m68hc11.md (X_REGNUM, D_REGNUM): New constant.
3363         (Y_REGNUM, SP_REGNUM, PC_REGNUM, A_REGNUM, B_REGNUM): Likewise.
3364         (CC_REGNUM): Likewise.
3365         (*unnamed splits): Use above constants instead of hard coded numbers.
3366         (*adcq, *subcq, *addsi_carry, *rotlqi3_with_carry): Likewise.
3367         (*rotlhi3_with_carry, *rotrhi3_with_carry): Likewise.
3368         (*return_16bit, *unnamed peepholes): Likewise.
3369
3370 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
3371
3372         * config.gcc(rs6000-ibm-aix|powerpc-ibm-aix):  Do not include
3373         rs6000/rs6000.h twice.
3374
3375 2001-05-03  Mark Elbrecht  <snowball3@bigfoot.com>
3376
3377         * config/i386/djgpp.h (CPP_PREDEFINES): Define __GO32__.
3378         (CPP_SPEC): Conditionally define MSDOS and GO32.
3379         (SUBTARGET_SWITCHES): Ignore -mbnu210 and -mno-bnu210.
3380         (SUBTARGET_OVERRIDE_OPTIONS): Warn that -mbnu210 and -mno-bnu210 are
3381         ignored.
3382         (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Remove.
3383
3384 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
3385
3386         * config/mn10300/mn10300.md: Sign-extend GEN_INT operands.
3387
3388 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
3389
3390         * integrate.h (struct inline_remap): Add leaf_reg_map table.
3391         * integrate.c (expand_inline_function): Use xcalloc to allocate
3392         memory.
3393         (copy_rtx_and_substitute): Use the leaf_reg_map for leaf
3394         registers.
3395
3396 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
3397
3398         * c-dump.c (dequeue_and_dump): Don't look at DECL_ASSEMBLER_NAME
3399         if it is not set.
3400
3401 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
3402
3403         * config/mn10300/mn10300.h (LINK_SPEC): Pass --relax to the
3404         linker if -mrelax is given.
3405         (TARGET_SWITCHES): Document -mrelax.
3406
3407         Re-installed 2001-01-09's patch:
3408         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
3409         if it's wider than long and the target's long is wider than the
3410         host's.
3411
3412 2001-05-02  David O'Brien  <obrien@FreeBSD.org>
3413
3414         * config.gcc, config/rs6000/aix51.h, config/rs6000/mach.h:  Do not
3415         directly include rs6000/rs6000.h.  Instead do it in tm.h.
3416
3417 2001-05-02  Stan Shebs  <shebs@apple.com>
3418
3419         * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Default to
3420         NSConstantString for NeXT-style runtimes.
3421         (STRING_OBJECT_GLOBAL_NAME): New macro.
3422         (enum objc_tree_index): Add values OCTI_CNST_STR_GLOB_ID and
3423         OCTI_STRING_CLASS_DECL.
3424         (constant_string_global_id): New macro.
3425         (string_class_decl): Ditto.
3426         (setup_string_decl): New function.
3427         (build_objc_string_object): Use it to build a NeXT runtime
3428         compatible string initializer.
3429
3430 2001-05-02  Jakub Jelinek  <jakub@redhat.com>
3431
3432         * tradcpp.c (do_define): Make sure we don't walk past limit.
3433
3434 2000-05-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3435
3436         * config/rs6000/rs6000.c (rs6000_legitimate_address): Allow any stack
3437         offsets if not REG_OK_STRICT.
3438
3439         * config/rs6000/rs6000.h (REG_OK_STRICT_FLAG): New macro.
3440         (INT_REG_OK_FOR_INDEX_P): Likewise.
3441         (INT_REG_OK_FOR_BASE_P): Likewise.
3442         (REG_OK_FOR_INDEX_P): Use INT_REG_OK_FOR_INDEX_P.
3443         (REG_OK_FOR_BASE_P): Use INT_REG_OK_FOR_BASE_P.
3444         (LEGITIMATE_OFFSET_ADDRESS_P): Use INT_REG_OK_FOR_INDEX_P and
3445         INT_REG_OK_FOR_BASE_P instead of REG_OK_FOR_INDEX_P and
3446         REG_OK_FOR_BASE_P. Take an additional parameter.
3447         (LEGITIMATE_INDEXED_ADDRESS_P): Likeewise.
3448         (LEGITIMATE_INDIRECT_ADDRESS_P): Likewise.
3449         (LEGITIMATE_LO_SUM_ADDRESS_P): Likewise.
3450         (GO_IF_LEGITIMATE_ADDRESS): Move code into new function
3451         rs6000_legitimate_address() and use it.
3452         * config/rs6000/rs6000.c: Update all callers.
3453         (rs6000_legitimate_address): New function.
3454
3455 2001-05-02  David Edelsohn  <edelsohn@gnu.org>
3456
3457         * config/rs6000/rs6000.c (rs6000_emit_move): Merge
3458         special_constant conditional blocks together.
3459
3460 2001-05-02  Dale Johannesen  <dalej@apple.com>
3461
3462         * config/rs6000/rs6000.h (RS6000_ARG_SIZE): Remove unused NAMED
3463         parameter.
3464         (STRICT_ARGUMENT_NAMING): Define.
3465         * config/rs6000/rs6000.c (function_arg_advance, function_arg,
3466         function_arg_partial_nregs, setup_incoming_varargs): Remove
3467         args logic which depends on "named" now that STRICT_ARGUMENT_NAMING
3468         is defined.
3469
3470 Wed May  2 13:09:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3471
3472         * config/i386/i386.h (FUNCTION_BOUNDARY): Result is unsigned.
3473
3474         * function.c (fixup_var_regs_1, case SUBREG): Use promoted mode
3475         for replacement.
3476
3477         * expr.c (store_field): Do nothing except elaborate side-effects if
3478         zero-bit field.
3479
3480 2001-05-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3481
3482         * c-lex.c: NULL_PTR -> NULL.
3483         * cse.c: Likewise.
3484         * emit-rtl.c: Likewise.
3485         * gcse.c: Likewise.
3486         * genpeep.c: Likewise.
3487         * jump.c: Likewise.
3488         * mips-tdump.c: Likewise.
3489         * reload1.c: Likewise.
3490         * rtlanal.c: Likewise.
3491         * stmt.c: Likewise.
3492         * stor-layout.c: Likewise.
3493         * toplev.c: Likewise.
3494
3495 2001-05-01  Per Bothner  <per@bothner.com>
3496
3497         * expr.c (expand_expr):  When compiling LABELED_BLOCK_EXPR,
3498         call do_pending_stack_adjust before emiting label.
3499
3500 2001-05-01  Mark Mitchell  <mark@codesourcery.com>
3501
3502         * extend.texi: Fix typo.
3503
3504 2001-05-01  Stan Shebs  <shebs@apple.com>
3505
3506         * objc/objc-act.c (build_module_descriptor): Clear DECL_CONTEXT
3507         of UOBJC_MODULES_decl.
3508         (generate_strings): Clear DECL_CONTEXT of new decl nodes.
3509         (generate_descriptor_table): Ditto.
3510         (generate_protocols): Ditto.
3511         (generate_protocol_list): Ditto.
3512         (generate_classref_translation_entry): Ditto.
3513
3514 2001-05-01  Jeffrey Oldham  <oldham@codesourcery.com>
3515
3516         * invoke.texi (Optimize Options): Add documentation for `--param
3517         max-delay-slot-insn-search' and `--param
3518         max-delay-slot-live-search' and reorder --param section.
3519         * params.def: Modify initial comment.
3520         * params.h (param_info): Add `help' member.
3521         * toplev.c (lang_independent_params): Include `help' description.
3522         (display_help): Print --param parameters.
3523
3524 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
3525
3526         * config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}.
3527         Remove references to deleted files.
3528         (*-*-openbsd): No need to override xmake_file.
3529         (*-*-sysv4): Treat like *-*-sysv.
3530
3531         * configure.in: Probe for ldopen in various places, and set up
3532         collect2 to be linked with them if found.
3533         Don't dink with Windows registry stuff unless $host_os is a
3534         Win32 os name.  Check to see if we need -ladvapi32.
3535         * configure: Regenerate.
3536
3537         * Makefile: Get rid of CLIB and HOST_CLIB.
3538         Substitute in COLLECT2_LIBS and link collect2 against its contents.
3539         * build-make: Get rid of HOST_CLIB.
3540
3541         * config/a29k/x-unix, config/alpha/x-osf, config/i386/x-aix,
3542         config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
3543         config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
3544         config/mips/x-sysv, config/rs6000/x-aix31, config/rs6000/x-aix41,
3545         config/rs6000/x-rs6000: Delete.
3546
3547         * config/i386/x-cygwin, config/m68k/t-aux, config/mips/x-iris:
3548         Don't set CLIB.
3549
3550         24 x-host fragments remain, 0 x-cpu, 3 top level.
3551
3552 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
3553
3554         * aclocal.m4 (gcc_AC_C_CHAR_BIT): Correct test program.
3555         * configure: Regenerate.
3556
3557 2001-05-01  Angela Marie Thomas <angela@cygnus.com>
3558
3559         * Makefile.in (install-headers): Remove redundant dependency.
3560
3561 2001-05-01  Nathan Sidwell  <nathan@codesourcery.com>
3562
3563         * c-tree.texi (USING_STMT): Document.
3564
3565 2001-05-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3566
3567         * bitmap.c: Change NULL_PTR to NULL or "(rtx*)0".
3568         * c-common.c: Likewise.
3569         * c-decl.c: Likewise.
3570         * combine.c: Likewise.
3571         * rs6000.c: Likewise.
3572         * except.c: Likewise.
3573         * explow.c: Likewise.
3574         * expr.c: Likewise.
3575         * fold-const.c: Likewise.
3576         * function.c: Likewise.
3577         * gcc.c: Likewise.
3578         * gcse.c: Likewise.
3579         * integrate.c: Likewise.
3580         * loop.c: Likewise.
3581         * objc/objc-act.c: Likewise.
3582         * recog.c: Likewise.
3583         * reg-stack.c: Likewise.
3584         * reload.c: Likewise.
3585         * reload1.c: Likewise.
3586         * simplify-rtx.c: Likewise.
3587         * stmt.c: Likewise.
3588         * varasm.c: Likewise.
3589
3590 2001-05-01  Gabriel Dos Reis  <gdr@codesourcery.com>
3591
3592         * diagnostic.def: New file.
3593         * diagnostic.h (diagnostic_t): New enum.
3594         * Makefile.in (diagnostic.o): Depend on diagnostic.def
3595
3596 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
3597
3598         * tsystem.h: Test only POSIX for availability of string.h
3599         and time.h.
3600         * config.gcc (all systems): If USG appeared in xm_defines,
3601         change it to POSIX.  If both USG and POSIX appeared, just
3602         delete USG. Remove unnecessary quotes around xm_defines
3603         settings.
3604         (m68k-crds-unos*): Don't #define unos - tested nowhere.
3605         (m68k-apple-aux*): Don't #define AUX - tested nowhere.
3606         (alpha*-*-linux*ecoff*, powerpc-*-linux*libc1,
3607         powerpc-*-linux*): No need to set xm_defines - handled by
3608         global settings for *-*-linux*.
3609
3610 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
3611
3612         * dbxout.c, mips-tfile.c, config/mips/mips.c, xcoffout.c:
3613         Always include gstab.h, not system stab.h.  Don't provide
3614         default definitions of N_CATCH or N_OPT.  Always use the
3615         gstab.h variant of STAB_CODE_TYPE.
3616         * final.c: Don't include stab.h/gstab.h at all, or provide
3617         defaults for N_SLINE and N_SOL.
3618
3619         * xcoffout.c: Can assume N_MAIN, N_DSLINE, N_BSLINE, N_BINCL,
3620         N_EINCL, N_EXCL, N_M2C, N_SCOPE, N_CATCH, and N_OPT are
3621         available.
3622         * sdbout.c: Always include gsyms.h instead of system syms.h.
3623
3624         * configure.in: No need to check for stab.h.
3625         * configure, config.in: Regenerate.
3626         * Makefile.in (final.o): Don't depend on gstab.h.
3627
3628 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
3629             Richard Henderson  <rth@redhat.com>
3630
3631         * extend.texi: Improve documentation of volatile asms.
3632
3633 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
3634
3635         * c-tree.texi: Fix thinko.
3636         * gcc.texi: Likewise.
3637
3638 2001-04-30  Richard Henderson  <rth@redhat.com>
3639
3640         * c-common.c (c_promoting_integer_type_p): New function, from the
3641         corpse of old macro.  Properly promote too-small enumerations and
3642         booleans.  Adjust all callers.
3643         * c-common.h (C_PROMOTING_INTEGER_TYPE_P): Remove.
3644         (c_promoting_integer_type_p): Declare.
3645         * c-decl.c: Adjust C_PROMOTING_INTEGER_TYPE_P invocations.
3646         * c-typeck.c: Likewise.
3647         (default_conversion): Remove now redundant boolean check.
3648
3649 2001-04-30  Jan Hubicka  <jh@suse.cz>
3650             Richard Henderson  <rth@redhat.com>
3651
3652         * regmove.c (try_apply_stack_adjustment): Remove now redundant
3653         sanity checks.
3654         (combine_stack_adjustments_for_block): Don't combine stack
3655         allocation followed by deallocations.  Handle grow-up stacks.
3656
3657 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
3658
3659         * fdl.texi: New file.
3660         * c-tree.texi: Use the GFDL.
3661         * gcc.texi: Likewise.
3662
3663 2001-04-30  Stan Shebs  <shebs@apple.com>
3664
3665         * invoke.texi: Add a section documenting Objective-C options.
3666
3667 2001-04-27  Andrew Haley  <aph@cambridge.redhat.com>
3668
3669         * emit-rtl.c (try_split):  Copy EH notes to sequence.
3670
3671 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
3672
3673         * regmove.c (record_stack_memrefs): Catch all references to the
3674         stack pointer.
3675
3676 2001-04-29  Toomas Rosin <toomas at ns dot tklabor dot ee>
3677
3678         * Makefile.in (stmp-fixinc): quote shell assignment values
3679
3680 2001-04-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3681
3682         * c-aux-info.c: NULL_PTR->NULL in calls to `concat'.
3683
3684         * gcc.c: Likewise.
3685
3686         * prefix.c: Likewise.
3687
3688 2001-04-28  Stan Shebs  <shebs@apple.com>
3689
3690         * objc/objc-act.c (handle_class_ref): Rewrite to flush target
3691         specific code and use new macro ASM_DECLARE_UNRESOLVED_REFERENCE.
3692         * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Define.
3693         * tm.texi (ASM_DECLARE_UNRESOLVED_REFERENCE): Document.
3694
3695         * config/darwin.h (STANDARD_EXEC_PREFIX): Don't define.
3696         (NEXT_OBJC_RUNTIME): Define.
3697
3698 Sat Apr 28 21:02:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
3699
3700         * rtl.h (simplify_gen_relational): Add cmp_mode parameter.
3701         * simplify-rtx.c (simplify_gen_relational): Likewise.
3702
3703         * simplify-rtx.c (simplify_replace_rtx): Handle relationals and MEMs.
3704
3705         * i386.h (VALID_SSE_REG_MODE): Accept MMX modes if SSE2
3706         * i386.md (movsi_1, movdi2, movdi_1_rex64): Handle SSE2 moves.
3707
3708         * i386.md (negsf2, negdf2, abssf2, absdf2): Force operands to
3709         registers in SSE case; fix handling of the immediates.
3710         (negsf2_ifs, abssf2_ifs): Tweak constraints; require
3711         operands to be in regsiters before reload.
3712         (negdf2_ifs, absdf2_ifs): Likewise; disable for 64bit
3713         (negdf2_ifs_rex64, absdf2_ifs_rtx64): New.
3714         (abstf,absxf,negtf,negxf splitters): Compute
3715         properly the regnum for x86_64.
3716         (avsdf2_if_rex64): New.
3717
3718 Sat Apr 28 10:36:23 2001  Jeffrey A Law  (law@cygnus.com)
3719
3720         * flow.c (propagate_block_delete_insn): Handle deletion of ADDR_VEC
3721         and ADDR_DIFF_VEC insns when the proceeding CODE_LABEL was put
3722         into the constant pool.
3723         * jump.c (jump_optimize_1): Remove barrier successors after all
3724         the LABEL_NUSES counds have been computed.
3725         (delete_barrier_successors): When deleting a tablejump insn, also
3726         delete the jump table it uses.
3727         * varasm.c (force_const_mem): Set LABEL_PRESERVE_P when forcing a
3728         label into memory.
3729
3730 2001-04-28  Martin Kalen  <martin.kalen@todaysystems.com.au>
3731
3732         * pa.c (FRP): Remove erroneous white space in macro definition.
3733
3734 2001-04-28  Andreas Jaeger  <aj@suse.de>
3735
3736         * invoke.texi: Use XX-bit instead of XXbit or XX bit where
3737         appropriate.
3738         * extend.texi: Likewise.
3739         * tm.texi: Likewise.
3740
3741 2001-04-28  Andreas Jaeger  <aj@suse.de>
3742
3743         * md.texi: Use XX-bit instead of XXbit or XX bit where
3744         appropriate.
3745
3746 2001-04-28  Jens Schweikhardt <schweikh@schweikhardt.net>
3747
3748         * gcc.c (process_command): Allow -l lib in addition to -llib
3749         for POSIX compliance. This fixes PR c/2347.
3750
3751         * invoke.texi: Update section on Link Options accordingly.
3752
3753 2001-04-27  Zack Weinberg  <zackw@stanford.edu>
3754
3755         * function.c (purge_addressof_1): Remove the duplicate
3756         if (code == SET) block.  Fold the two if (code == ADDRESSOF)
3757         blocks together.
3758
3759 2001-04-28  Jason Merrill  <jason_merrill@redhat.com>
3760
3761         * except.c (expand_eh_region_start): Don't start a new block.
3762         (expand_eh_region_end): Don't end a block.
3763         * stmt.c (expand_end_bindings): Don't end EH blocks.
3764         (expand_decl_cleanup): Starting an EH region won't change the block.
3765         (mark_block_as_eh_region, mark_block_as_not_eh_region): Lose.
3766         (is_eh_region): Lose.
3767         * tree.h: Adjust.
3768
3769 2001-04-27  Jeffrey Oldham  <oldham@codesourcery.com>
3770
3771         * except.c (expand_eh_region_end_cleanup): word_mode, not Pmode.
3772
3773         * collect2.c (main): Add `-L' case to remove duplicate entries.
3774         (is_in_args): New function to check for a duplicate argument.
3775         * defaults.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New macro.
3776         * tm.texi (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New documentation.
3777         * config/mips/iris6.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES):
3778         Define to be nonzero.
3779
3780 2001-04-27  Andreas Jaeger  <aj@suse.de>
3781             Richard Henderson  <rth@redhat.com>
3782
3783         * md.texi (Machine Constraints): Document additional i386
3784         constraints and fix description of "A".
3785
3786 Fri Apr 27 10:43:49 2001  Jeffrey A Law  (law@cygnus.com)
3787
3788         * tm.texi (TARGET_MEM_FUNCTIONS): Update text.
3789
3790 2001-04-27  Jason Merrill  <jason_merrill@redhat.com>
3791
3792         * except.c (get_exception_filter): word_mode, not Pmode.
3793
3794 2001-04-26  Geoffrey Keating  <geoffk@redhat.com>
3795
3796         * config/sparc/sparc.md (movsf_no_f_insn): Add more alternatives
3797         common to other movsf patterns.  Move up so that in future
3798         people who change the other patterns will change it too.
3799         (movsf_lo_sum): Allow even for soft-float; add appropriate
3800         constraints.
3801         (movsf_high): Likewise.
3802         (movsf_high+1): Allow even for soft-float.
3803
3804         * function.c (expand_function_end): Always clobber the
3805         return registers, even if there is no return label.
3806
3807 Thu Apr 26 20:28:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
3808
3809         * (ix86_expand_fp_movcc): Re-enable SSE conditional move generation.
3810
3811 Thu Apr 26 19:20:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
3812
3813         * i386.md (abs/neg splitter): Fix calculation of sign bit for TFmodes
3814         (pushqi2_rex64, pushhi2_rex64): Add.
3815
3816 2001-04-26  Andrew Haley  <aph@cambridge.redhat.com>
3817
3818         * except.c (expand_eh_region_end_cleanup): Force pending stack
3819         adjust before emitting label that branches around cleanup code.
3820
3821 2001-04-26  H.J. Lu  (hjl@gnu.org)
3822
3823         * config.gcc (mips*-*-linux*): Add elfos.h to tm_file.
3824
3825         * config/mips/ecoff.h (STARTFILE_SPEC): Undefine before
3826         define.
3827         * config/mips/elf64.h (MAX_OFILE_ALIGNMENT): Likewise.
3828         (ASM_OUTPUT_SECTION_NAME): Likewise.
3829         (ASM_WEAKEN_LABEL): Likewise.
3830         (UNIQUE_SECTION): Likewise.
3831         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
3832         (ASM_OUTPUT_DESTRUCTOR): Likewise.
3833         * config/mips/elf.h (MAX_OFILE_ALIGNMENT): Likewise.
3834         (ASM_OUTPUT_SECTION_NAME): Likewise.
3835         (ASM_WEAKEN_LABEL): Likewise.
3836         (UNIQUE_SECTION): Likewise.
3837         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
3838         (ASM_OUTPUT_DESTRUCTOR): Likewise.
3839         * config/mips/linux.h (HANDLE_SYSV_PRAGMA): Likewise.
3840         * config/mips/mips.h (DBX_CONTIN_LENGTH): Likewise.
3841         (ASM_FILE_START): Likewise.
3842         (ASM_OUTPUT_SOURCE_LINE): Likewise.
3843         (ASM_DECLARE_OBJECT_NAME): Likewise.
3844         (ASM_FILE_END): Likewise.
3845         (ASM_DECLARE_FUNCTION_NAME): Likewise.
3846         (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
3847         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3848         (ASM_OUTPUT_CASE_LABEL): Likewise.
3849         (ASM_OUTPUT_SKIP): Likewise.
3850         (ASM_OUTPUT_ASCII): Likewise.
3851         (ASM_OUTPUT_IDENT): Likewise.
3852         (READONLY_DATA_SECTION): Likewise.
3853         (EXTRA_SECTIONS): Likewise.
3854         (EXTRA_SECTION_FUNCTIONS): Likewise.
3855         (SELECT_RTX_SECTION): Likewise.
3856         (SELECT_SECTION): Likewise.
3857
3858         * config/mips/linux.h (INVOKE__main): Undefine.
3859         (CTOR_LIST_BEGIN): Likewise.
3860         (CTOR_LIST_END): Likewise.
3861         (DTOR_LIST_BEGIN): Likewise.
3862         (DTOR_LIST_END): Likewise.
3863         (SET_ASM_OP): Defined it to ".dummy".
3864         (ASM_OUTPUT_DEF): Defined.
3865         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Defined.
3866
3867 2001-04-26  Nick Clifton  <nickc@cambridge.redhat.com>
3868
3869         * config/arm/arm.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define, if the
3870         assembler supports .p2align.
3871
3872 2001-04-26  Nathan Sidwell <nathan@codesourcery.com>
3873
3874         * c-lex.c (c_lex): Remove # from %o diagnostic formatting.
3875
3876 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
3877
3878         * integrate.c (expand_inline_function): Check for error_mark_node
3879         in actual argument.
3880
3881 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
3882
3883         * config/i386/i386.h (CC1_CPU_SPEC): Fix deprecation warnings for
3884         -m386 and -m486.
3885
3886 2001-04-26  Alexandre Oliva  <aoliva@redhat.com>
3887
3888         * configure.in (configargs.h): Define thread_model.
3889         * configure: Rebuilt.
3890         * gcc.c (main): Print it with -v.
3891
3892 2001-04-25  Joseph S. Myers  <jsm28@cam.ac.uk>
3893
3894         * invoke.texi: Document -Wmissing-braces, -dumpspecs,
3895         -dumpmachine, -dumpversion, -fmem-report and -ftime-report.
3896         * gcc.1: Regenerate.
3897
3898 2001-04-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3899
3900         * dwarfout.c (is_pseudo_reg, type_main_variant, is_tagged_type,
3901         is_redundant_typedef): Use static inline instead of inline static.
3902
3903 Wed Apr 25 18:21:01 2001  Christopher Faylor <cgf@cygnus.com>
3904
3905         * config/i386/cygwin.h: Move W32API search to LINK_SPEC to ensure that
3906         this directory is always searched.
3907
3908 2001-04-25  Richard Henderson  <rth@redhat.com>
3909
3910         * config/i386/i386.c (ix86_expand_epilogue): Properly compute size
3911         of registers to restore along non eh_return path.
3912
3913 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
3914
3915         * c-format.c (check_format_info_recurse): Handle
3916         PLUS_EXPR for format string.
3917
3918 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
3919
3920         * config/ia64/ia64.h (CC1_SPEC): Define.
3921         * config/ia64/linux.h (CC1_SPEC): Define.
3922
3923 Wed Apr 25 17:09:50 2001  J"orn Rennecke <amylaar@redhat.com>
3924
3925         * emit-rtl.c (constant_subword): Also do sign extension in
3926         BITS_PER_WORD == 16 case.
3927
3928 2001-04-25  Jason Merrill  <jason_merrill@redhat.com>
3929
3930         * loop.c (try_swap_copy_prop): Go back to checking insn.
3931
3932 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
3933
3934         * emit-rtl.c (subreg_hard_regno): Only do HARD_REGNO_MODE_OK check
3935         if check_mode is non-zero.
3936
3937 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
3938
3939         * config/i386/i386.c (ix86_expand_int_movcc): If overlap between
3940         out and comparison sequence has been detected, put result into
3941         proper temporary pseudo.
3942
3943 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
3944
3945         * Makefile.in (LIB2FUNCS): Remove _varargs and __dummy.
3946         * libgcc-std.ver: Remove __builtin_saveregs, __dummy, and __empty.
3947         * libgcc2.c: Remove __dummy and __builtin_saveregs.
3948         * libgcc2.h: Don't prototype __builtin_saveregs or __dummy.
3949         * config/i860/varargs.asm: New file - preserve i860 __builtin_saveregs
3950         for future reference.
3951
3952 2001-04-24  Jason Merrill  <jason_merrill@redhat.com>
3953
3954         * except.c (reachable_handlers): Step out one level from a RESX.
3955
3956         * except.c (struct eh_region): Rename 'last' to 'resume'.
3957         (mark_eh_region, duplicate_eh_region_1): Adjust.
3958         (expand_eh_region_end_cleanup): Remember the jump, not the barrier.
3959         (build_post_landing_pads): Likewise.
3960         (expand_end_catch, expand_eh_region_end_allowed): Don't set it.
3961         (expand_eh_region_end_must_not_throw): Likewise.
3962         (connect_post_landing_pads): Thread (only) regions with non-deleted
3963         resume insns.
3964
3965         * except.c (expand_eh_region_end_cleanup): Save the EH return data
3966         registers around the cleanup.
3967         (get_exception_filter): New fn.
3968         (finish_eh_generation): Use it.
3969
3970 2001-04-24  Nathan Sidwell <nathan@codesourcery.com>
3971
3972         * c-semantics.c (add_scope_stmt): Don't call
3973         current_scope_stmt_stack multiple times.
3974
3975 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
3976             Nathan Sidwell <nathan@codesourcery.com>
3977
3978         Lazy __FUNCTION__ generation.
3979         * c-common.h (RID_FUNCTION_NAME, RID_PRETTY_FUNCTION_NAME,
3980         RID_C99_FUNCTION_NAME): New _RIDs.
3981         (CTI_FUNCTION_ID, CTI_PRETTY_FUNCTION_ID, CTI_FUNC_ID): Remove.
3982         (CTI_FUNCTION_NAME_DECL, CTI_PRETTY_FUNCTION_NAME_DECL,
3983         CTI_C99_FUNCTION_NAME_DECL, CTI_SAVED_FUNCTION_NAME_DECLS): New
3984         global tree slots.
3985         (function_id_node, pretty_function_id_node, func_id_node): Remove.
3986         (c99_function_name_decl_node, function_name_decl_node,
3987         pretty_function_name_decl_node, saved_function_name_decls):
3988         Declare.
3989         (struct language_function): Remove x_function_name_declared_p.
3990         (make_fname_decl): Remove a parameter.
3991         (declare_function_names): Remove prototype.
3992         (start_fname_decls, finish_fname_decls): Prototype.
3993         (fname_as_string): Likewise.
3994         (fname_string, fname_decl): Likewise.
3995         * c-common.c (make_fname_decl): Adjust.
3996         (struct fname_var_t): New struct.
3997         (fname_vars): New static array.
3998         (declare_function_name): Remove.
3999         (start_fname_decls, finish_fname_decls): New functions.
4000         (fname_as_string): New function from remnants of
4001         declare_function_name.
4002         (fname_string, fname_decl): New functions.
4003
4004         * c-decl.c (c_function_name_declared_p): Remove.
4005         (init_decl_processing): Don't generate __FUNCTION__ et al ids,
4006         don't call declare_function_name. Call start_fname_decls.
4007         (c_make_fname_decl): Adjust parameters. Generate the name. Don't
4008         clobber the line number. Call finish_decl.
4009         (start_function): Call start_fname_decls.
4010         (finish_function): Call finish_fname_decls.
4011         Remove c_function_name_declared_p.
4012         (push_c_function_context): Don't push c_function_name_declared_p.
4013         (pop_c_function_context): Don't pop c_function_name_declared_p.
4014         (c_begin_compound_stmt): Don't check c_function_name_declared_p.
4015         * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): New tokens.
4016         (program): Call finish_fname_decls for C.
4017         (primary): Add VAR_FUNC_NAME.
4018         (reswords): Add slots for __FUNCTION__ et al.
4019         (rid_to_yy): Add mappings for __FUNCTION__ et al.
4020         (yylexname): If it's a STRING_FUNC_NAME generate the function name
4021         now. Don't look for VAR_DECLs containing __FUNCTION__ et al.
4022         * c-semantics.c (prune_unused_decls): Remove.
4023         (finish_stmt_tree): Don't call prune_unused_decls.
4024         (genrtl_decl_stmt): Don't prune unused decls here.
4025
4026 2001-04-24  Nick Clifton  <nickc@cambridge.redhat.com>
4027
4028         * dwarf2out.c (mem_loc_descriptor): If a SYMBOL_REF is in the
4029         constant pool, use the pool's SYMBOL_REF instead.
4030
4031         * config/v850/v850.h (STRICT_ALIGNMENT): Always set, even for the
4032         v850e.
4033
4034 2001-04-23  Joseph S. Myers  <jsm28@cam.ac.uk>
4035
4036         * c-convert.c (convert): When converting to a BOOLEAN_TYPE, avoid
4037         passing nested NOP_EXPRs to fold.
4038
4039 Mon Apr 23 14:32:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
4040
4041         * reg-stack.c (emit_swap_insn): Do not get pass CALL_INSNs.
4042
4043 2001-04-22  Mark Mitchell  <mark@codesourcery.com>
4044
4045         * loop.c (loop_delete_insns): Add prototype.
4046
4047 2001-04-23  Phil Edwards  <pme@sources.redhat.com>
4048
4049         * configure.in:  Remove ENABLE_STD_NAMESPACE.
4050         * config.in:  Regenerated.
4051         * configure:  Regenerated.
4052
4053 2001-04-22  Stan Shebs  <shebs@apple.com>
4054
4055         * config.gcc (powerpc-*-darwin*): Move the flag in xm-darwin.h
4056         into xm_defines.
4057         * config/rs6000/xm-darwin.h: Remove file.
4058
4059 2001-04-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4060
4061         * collect2.c (main): Use concat in lieu of xmalloc/sprintf.
4062         (write_c_file_stat): Likewise.
4063
4064         * dbxout.c (dbxout_init): Likewise.
4065
4066         * profile.c (output_func_start_profiler): Likewise.
4067
4068 2001-04-22  Philipp Thomas  <pthomas@suse.de>
4069
4070         * ABOUT-GCC-NLS: Now that gettext 0.10.37 is out,
4071         require it instead of the CVS version.
4072         * cpperror.c (v_message): Put a blank before the macro
4073         body to not confuse exgettext.
4074
4075 2001-04-21  Mark Mitchell  <mark@codesourcery.com>
4076
4077         * flow.c (proagate_one_insn): Remove useless assignment.
4078         * jump.c (delete_insn): Tidy.
4079         * loop.c (try_copy_prop): When deleting an instruction with a
4080         REG_RETVAL note, delete the entire libcall sequence.
4081         (loop_delete_insns): New function.
4082         * unroll.c (initial_reg_note_copy): Copy INSN_LIST notes, even if
4083         we're not substituting into them yet.
4084
4085 2001-04-21  Kazu Hirata  <kazu@hxi.com>
4086
4087         * config/h8300/h8300.c (general_operand_src): Fix a comment typo.
4088
4089         * config/sparc/sparc.c (sparc_flat_eligible_for_epilogue_delay):
4090         Fix a comment typo.
4091         * config/i960/i960.c (signed_arith_operand): Likewise.
4092
4093         * calls.c (expand_call): Fix a comment typo.
4094
4095 2001-04-20  Zack Weinberg  <zackw@stanford.edu>
4096
4097         * configure.in: Probe for times, clock, struct tms, and clock_t.
4098         * configure, config.in: Regenerate.
4099         * timevar.c: Replace ifdef forest in get_time with (relatively)
4100         straightforward series of checks based on autoconf's probes.
4101
4102 Fri Apr 20 12:24:50 2001  Jeffrey A Law  (law@cygnus.com)
4103
4104         * config/pa/som.h (NM_FLAGS): Define.
4105
4106 2001-04-20  Bernd Schmidt  <bernds@redhat.com>
4107
4108         * ia64.h (MD_SCHED_REORDER, MD_SCHED_REORDER2): Pass CLOCK to called
4109         function.
4110         * ia64-protos.h (ia64_sched_reorder): Additional arg for clock.
4111         * ia64.c (nop_cycles_until): New function.
4112         (prev_cycle, prev_first, last_issued): New static variables.
4113         (ia64_sched_reorder): Additional arg for clock.
4114         On final scheduling pass, emit extra NOPs as needed.
4115         Set prev_first and prev_cycle.
4116         (ia64_sched_reorder2): Pass clock arg down to ia64_sched_reorder.
4117         (ia64_variable_issue): Set last_issued.
4118
4119 2001-04-20  Alexandre Oliva  <aoliva@redhat.com>
4120
4121         * config/i386/i386.c (ix86_expand_int_movcc,
4122         ix86_expand_strlensi_unroll_1): Sign-extend CONST_INTs.
4123
4124 2001-04-20  Geoff Keating  <geoffk@redhat.com>
4125
4126         * config/rs6000/rs6000.md (ctrsi_internal1, ctrsi_internal2,
4127         ctrsi_internal3, ctrsi_internal4, ctrsi_internal5,
4128         ctrsi_internal6, ctrdi_internal1, ctrdi_internal2,
4129         ctrdi_internal3, ctrdi_internal4, ctrdi_internal5,
4130         ctrdi_internal6): In the short-branch case, this insn is only 4
4131         bytes long.  Reported by Reza Yazdani <reza@apple.com>.
4132
4133 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
4134
4135         * reg-stack.c (check_asm_stack_operands): Issue error if "=t" resp.
4136         "=u" is used together with "st" resp. "st(1)" clobber.
4137
4138 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
4139
4140         * gcse.c (gcse_main): Fix comment typo.
4141         (delete_null_pointer_check): Likewise.
4142         (hash_scan_set): Don't consider sets with REG_EQUIV MEM notes.
4143         * cse.c (cse_insn): Likewise.
4144         * function.c (fixup_var_refs_insns_with_hash): The sequence is
4145         toplevel.
4146
4147 2001-04-19  Zack Weinberg  <zackw@stanford.edu>
4148
4149         * toplev.c: Excise all code for the undocumented -dm option.
4150         (float_signal): Call signal just once, unconditionally.
4151
4152 2001-04-19  Geoff Keating  <geoffk@redhat.com>
4153
4154         * fold-const.c (fold): Use first_rtl_op rather than
4155         TREE_CODE_LENGTH when looping over parameters of a tree.
4156         Correct strange grouping in test for evaluated SAVE_EXPR.
4157
4158 Thu Apr 19 19:15:26 2001  Jeffrey A Law  (law@cygnus.com)
4159
4160         * config/pa/pa-linux.h (CPLUSPLUS_CPP_SPEC): Undefine.
4161         * config/pa/pa.h (CPLUSPLuS_CPP_SPEC): Define.
4162
4163         * config/pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Truncate subspace
4164         name at 32 total characters.
4165         (ASM_OUTPUT_SECTION_NAME): Similarly.  Also, only support placing
4166         functions in named sections -- data items can still go into unique
4167         sections, but they have normal names (ie $LIT$ and $DATA$).
4168
4169         * config/pa/som.h (SUPPORTS_INIT_PRIORITY): SOM does not support
4170         INIT_PRIORITY.
4171
4172 2001-04-19 DJ Delorie  <dj@redhat.com>
4173
4174         * config/alpha/vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
4175         to TARGET_OBJECT_SUFFIX and TARGET_EXECUTABLE_SUFFIX.
4176         * config/i386/cygwin.h: Likewise.
4177         * config/i386/mingw32.h: Likewise.
4178         * config/vax/vms.h: Likewise.
4179         * config/i386/djgpp.h: Remove NO_AUTO_EXE_SUFFIX.
4180
4181         * config/alpha/xm-vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
4182         to HOST_OBJECT_SUFFIX and HOST_EXECUTABLE_SUFFIX.
4183         * config/i386/xm-cygwin.h: Likewise.
4184         * config/i386/xm-djgpp.h: Likewise.
4185         * config/i386/xm-mingw32.h: Likewise.
4186         * config/vax/xm-vms.h: Likewise.
4187
4188         * mkdeps.c (deps_add_default_target): Use TARGET_OBJECT_SUFFIX
4189         instead of OBJECT_SUFFIX.
4190         * collect2.c (find_a_file): Look for files matching the extension
4191         HOST_EXECUTABLE_SUFFIX instead of EXECUTABLE_SUFFIX.
4192         * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION): Depend on
4193         TARGET_EXECUTABLE_SUFFIX.
4194         (find_a_file): Use HOST_EXECUTABLE_SUFFIX.
4195         (make_relative_prefix): Likewise.
4196         (convert_filename): Use TARGET_ suffixes throughout.  Remove
4197         NO_AUTO_EXE_SUFFIX.
4198         (process_command): Likewise.
4199         (do_spec_1): Likewise.
4200         * java/lang.c (init_parse): Likewise.
4201
4202         * gcc.texi : Document four new options matching the pattern
4203         (HOST|TARGET)_(OBJECT|EXECUTABLE)_SUFFIX.  Remove documentation
4204         for deleted macros OBJECT_SUFFIX and EXECUTABLE_SUFFIX.  Remove
4205         documentation for NO_AUTO_EXE_SUFFIX.
4206
4207 2001-04-19  Mark Mitchell  <mark@codesourcery.com>
4208
4209         * toplev.h (struct lang_hooks): Allow decode_option to indicate
4210         that language-independent processing should not be done.
4211         * toplev.c (main): Adjust accordingly.
4212
4213         * rtl.texi (jump_insn): Expand on JUMP_LABEL documentation.
4214         * loop.c (load_mems): Handle a NULL JUMP_LABEL for a JUMP_INSN.
4215
4216         * mips.md (reload_outputdi): Require that operand0 be a
4217         general_operand.
4218
4219 2001-04-19  Jakub Jelinek  <jakub@redhat.com>
4220
4221         * invoke.texi (-Wshadow): Clarify.
4222
4223 2001-04-18  Mark Mitchell  <mark@codesourcery.com>
4224
4225         * loop.c (load_mems): Examine all the instructions in the loop
4226         before concluding that all jumps branch to the first instruction
4227         after the loop.
4228
4229 Wed Apr 18 20:32:03 2001  Christopher Faylor <cgf@cygnus.com>
4230
4231         * config/i386/xm-cygwin.h (CPP_SPEC): Fix typo.
4232
4233 2001-04-18  Jakub Jelinek  <jakub@redhat.com>
4234
4235         * cpp.texi (-Wwhite-space): Remove.
4236         (-Wall): -Wall does not imply -Wwhite-space.
4237
4238 2001-04-17  Zack Weinberg  <zackw@stanford.edu>
4239
4240         * dbxout.c (dbxout_init): If DBX_OUTPUT_GCC_MARKER is defined,
4241         use it instead of blindly generating a .stabs.
4242         * xcoffout.h: Define DBX_OUTPUT_GCC_MARKER so we put the type
4243         in the right place.
4244         * xcoffout.c: Don't bother defining default for N_CATCH.
4245         (UNKNOWN_STAB): Use internal_error.
4246         (stab_to_sclass): Remove now-unnecessary aborts.
4247         Remove #if 0'ed case N_BROWS.  Add #ifdef N_OPT block.
4248
4249 Tue Apr 17 21:41:11 2001  Jeffrey A Law  (law@cygnus.com)
4250
4251         * jump.c (mark_all_labels): Canonicalize the tail recursion
4252         label attached to CALL_PLACEHOLDER insns.
4253
4254 2001-04-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4255
4256         * output.h (dump_flow_info, free_basic_block_vars,
4257         which_alternative): Delete redundant prototypes.
4258
4259         * rtl.h (bss_section): Likewise.
4260
4261 2001-04-17  Loren J. Rittle  <ljrittle@acm.org>
4262
4263         * dbxout.c (N_OPT): Define if not available from <stab.h>
4264
4265 2001-04-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4266
4267         * vax.h (PROMOTE_PROTOTYPES): Define for compatibility with system
4268         libraries and native K&R compilers.
4269
4270 2001-04-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4271
4272         * c-typeck.c (convert_arguments): Don't check for width changes
4273         with -Wtraditional.
4274
4275         * invoke.texi (-Wtraditional): Update documentation.
4276
4277 2001-04-16  Zack Weinberg  <zackw@stanford.edu>
4278
4279         * toplev.c (output_lang_identify): Delete.
4280         (compile_file): Don't call ASM_IDENTIFY_GCC or ASM_IDENTIFY_LANGUAGE.
4281         Don't generate gcc2_compiled. label.  Don't emit a nop if profiling.
4282         If IDENT_ASM_OP is defined, emit an .ident "GCC (GNU) <version>"
4283         after calling ASM_FILE_END.
4284
4285         * dbxout.c (dbxout_init): Don't call ASM_IDENTIFY_GCC_AFTER_SOURCE.
4286         Instead, unconditionally emit an N_OPT stab with string equal
4287         to STABS_GCC_MARKER, which defaults to "gcc2_compiled."
4288
4289         * defaults.h: Don't provide default for ASM_IDENTIFY_LANGUAGE.
4290
4291         * config/dbxelf.h, config/freebsd.h, config/nextstep.h,
4292         config/psos.h, config/ptx4.h, config/1750a/1750a.h,
4293         config/alpha/alpha.h, config/alpha/elf.h, config/arc/arc.h,
4294         config/arm/aof.h, config/arm/coff.h, config/arm/elf.h,
4295         config/arm/linux-elf.h, config/avr/avr.h, config/d30v/d30v.h,
4296         config/dsp16xx/dsp16xx.h, config/h8300/h8300.h,
4297         config/i370/i370.h, config/i386/beos-elf.h,
4298         config/i386/osf1elf.h, config/i386/osfrose.h,
4299         config/ia64/sysv4.h, config/m68k/3b1.h, config/m68k/auxgas.h,
4300         config/m68k/crds.h, config/m68k/hp320.h, config/m68k/m68kv4.h,
4301         config/m68k/mot3300.h, config/m68k/news.h, config/m68k/sgs.h,
4302         config/m68k/tower-as.h, config/mcore/mcore-elf.h,
4303         config/mips/iris6.h, config/mips/osfrose.h,
4304         config/mips/sni-svr4.h, config/pa/som.h, config/pdp11/pdp11.h,
4305         config/sparc/sp64-elf.h:
4306         Delete definitions of any or all of: ASM_IDENTIFY_GCC,
4307         ASM_IDENTIFY_GCC_AFTER_SOURCE, and ASM_IDENTIFY_LANGUAGE.
4308
4309         * config/elfos.h, config/freebsd.h, config/linux.h,
4310         config/alpha/elf.h, config/arm/linux-elf.h, config/i386/i386elf.h,
4311         config/i386/ptx4-i.h, config/mips/gnu.h, config/mips/linux.h,
4312         config/sparc/linux.h, config/sparc/linux64.h: Delete definitions
4313         of ASM_FILE_START which merely emit a .version directive.  Delete
4314         definitions of ASM_FILE_END which merely emit an .ident directive.
4315
4316         * config/avr/avr.h, config/vax/vax.h: Delete definition of
4317         ASM_IDENTIFY_GCC and move part of its logic into
4318         ASM_FILE_START.
4319
4320         * config/i386/att.h, config/i386/gas.h, config/i386/linux.h,
4321         config/sparc/linux-aout.h: Don't emit .version directive in
4322         ASM_FILE_START.
4323
4324         * config/i386/dgux.c, config/m88k/m88k.c, config/sh/sh.c
4325         (output_file_start): Correct comment.
4326
4327         * config/i386/osfrose.h: Don't emit trailing .ident directive.
4328         * config/m68k/mot3300.h: Override STABS_GCC_MARKER to "gcc2_compiled%"
4329         to match gdb.
4330         * config/pa/lib2funcs.asm: Delete gcc_compiled. label.
4331         * config/rs6000/aix.h: Correct comment.
4332
4333         * config/i386/i386afe.h: Delete.
4334         * config.gcc: Remove references to i386afe.h.
4335
4336         * tm.texi: Delete documentation of ASM_IDENTIFY_GCC.  The
4337         other macros deleted by this patch were undocumented.
4338
4339 Mon Apr 16 08:03:48 2001  Jeffrey A Law  (law@cygnus.com)
4340
4341         * pa.md (reload_outdi): Operand 0 must be a non hard register.
4342
4343         * pa.c (secondary_reload_class): SAR<->FP copies require a
4344         secondary register.
4345
4346         * install.texi (mips-mips-bsd): Update list of functions
4347         required to include memmove.
4348         * tm.texi (TARGET_MEM_FUNCTIONS): Update list of implicitly
4349         used functions to include memmove.
4350
4351 2001-04-15  Toon Moene  <toon@moene.indiv.nluug.nl>
4352
4353         * i386.md (sqrtdf2): SFmode should be DFmode.
4354
4355 2001-04-15  Alexandre Oliva  <aoliva@redhat.com>
4356
4357         * gcse.c (compute_ld_motion_mems): ASM outputs aren't moveable.
4358         (find_moveable_store): Likewise.
4359
4360 2001-04-15  Jim Wilson  <wilson@redhat.com>
4361
4362         * function.c (expand_function_end): Handle PARALLEL real_decl_rtl.
4363
4364 Sat Apr 14 16:24:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
4365
4366         * i386.md (ashldi3_1_rex64): Add 'J' to the constraints
4367         (ashrdi3_1_rex64): Change 'n' constraint to 'J'.
4368
4369 2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
4370
4371         * config/mn10300/mn10300.md (cmpsi): Tell reload to disregard the
4372         first alternative.
4373
4374 2001-04-14  Alan Modra  <amodra@one.net.au>
4375
4376         * pa.c (force_mode): New function.
4377         (emit_move_sequence): Use it instead of generating new rtx_REGs.
4378
4379 2001-04-13  Jim Wilson  <wilson@redhat.com>
4380
4381         * config/ia64/ia64.c (ia64_expand_epilogue): Emit alloc if sibcall_p.
4382         (first_instruction): New static variable.
4383         (rtx_needs_barrier): Return 1 for alloc.
4384         (init_insn_group_barriers): Set first_instruction.
4385         (rws_sum): Delete duplicate definition.
4386         (group_barrier_needed_p): Return 0 when first_instruction true.
4387         (safe_group_barrier_needed_p): Save and restore first_instruction
4388         around group_barrier_needed_p call.
4389
4390 Fri Apr 13 21:40:28 2001  Loren J. Rittle  <ljrittle@acm.org>
4391
4392         * expr.h (enum libfunc_index): Add LTI_memmove.
4393         (memmove_libfunc): Define macro.
4394         * optabs.c (init_optabs): Initialize memmove_libfunc.
4395         * expr.c (expand_assignment): Use memmove_libfunc instead of
4396         memcpy_libfunc.
4397
4398 2001-04-13  Alan Modra  <alan@linuxcare.com.au>
4399
4400         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Disallow PIC LO_SUM
4401         fp mode addresses.
4402
4403 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4404
4405         * Makefile.in (reg-stack.o): Depend on reload.h.
4406         (insn-attrtab.o): Depend on flags.h.
4407
4408         * genattrtab (main): Include flags.h in insn-attrtab.c.
4409
4410         * reg-stack.c: Include reload.h.
4411
4412         * sparc.h (flag_pic): Delete redundant declaration.
4413
4414         * output.h (flag_pic): Likewise.
4415
4416         * tree.h (pedantic): Likewise.
4417
4418 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4419
4420         * Makefile.in (toplev.o, jump.o, regmove.o): Depend on reload.h
4421
4422         * jump.c, regmove.c, toplev.c: Include reload.h.
4423
4424         * reload.h (reload_cse_regs): Declare.
4425
4426         * rtl.h (find_equiv_reg, operands_match_p, safe_from_earlyclobber,
4427         reload_cse_regs, init_reload, mark_home_live, reload,
4428         init_caller_save): Delete redundant prototypes.
4429
4430 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4431
4432         * Makefile.in (ssa.o, regclass.o): Depend on $(EXPR_H).
4433
4434         * regclass.c, ssa.c: Include expr.h.
4435
4436         * rtl.h (memory_address, force_reg, emit_queue, emit_move_insn,
4437         gen_move_insn): Delete redundant declarations.
4438
4439 2001-04-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4440
4441         * Makefile.in (CFLAGS, BOOT_CFLAGS): Partly revert 2000-10-27 patch.
4442         (stage1_build): Instead pass down STAGE1_CFLAGS here. Pass down
4443         MAKEINFO and MAKEINFOFLAGS too.
4444         (stage4_build): Correctly order -B flags.
4445
4446 2001-04-13  Alan Modra  <amodra@one.net.au>
4447
4448         * pa.c (hppa_init_pic_save): Set rtx_unchanging for
4449         PIC_OFFSET_TABLE_SAVE_RTX.
4450         (zdepi_cint_p): Describe zdepi insn.
4451         Formatting and white space fixes throughout file.
4452
4453         * pa.c (uint32_operand): Don't use long constant >= 2^32.
4454         (emit_move_sequence): Use HOST_WIDE_INT constants.  Don't worry
4455         about 32->64 bit sign extension if 32 bit HOST_WIDE_INTs.
4456         (compute_movstrsi_length): Make `align' unsigned to avoid warning.
4457         (output_64bit_and): Use plain `int's for shift counts.
4458         (output_64bit_ior): Likewise.
4459         (function_arg_partial_nregs): Use unsigned vars to avoid warnings.
4460         * pa.h (CONST_OK_FOR_LETTER_P): Use HOST_WIDE_INT constants for case
4461         `N', and simplify.
4462
4463         * pa-hpux10.h (NEW_HP_ASSEMBLER): Define to 1.
4464         * pa-hpux11.h (NEW_HP_ASSEMBLER): Likewise.
4465         * pa.h (LEGITIMATE_CONSTANT_P) Collapse two defines depending on
4466         NEW_HP_ASSEMBLER into one.  Kill warnings.
4467
4468         * pa-gas.h: Delete file.
4469         * config.gcc: Match `parisc' as well as `hppa' for cpu_type=pa.
4470         Add new targets hppa*64*-*-linux* and parisc*64*-*-linux*.  Update
4471         hppa*-*-linux*.  For all pa targets, remove pa/gas.h from tm_file,
4472         instead setting MASK_GAS | MASK_JUMP_IN_DELAY in target_cpu_default2.
4473
4474         * config/pa/mill32.S: New file.
4475         * config/pa/mill64.S: New file.
4476         * config/pa/t-linux (LIBGCC1, CROSS_LIBGCC1, LIB1ASMFUNCS,
4477         LIB1ASMSRC, CRTSTUFF_T_CFLAGS_S, TARGET_LIBGCC2_CFLAGS): Define.
4478         * config/pa/t-linux64: New file.
4479         * config/pa/t-pa64 (CROSS_LIBGCC1): Change to libgcc1-asm.a
4480         (LIB1ASMFUNCS, LIB1ASMSRC): Define.
4481         (TARGET_LIBGCC2_CFLAGS): Add -Dpa64=1 -DELF=1.
4482
4483         * elfos.h (SELECT_SECTION): Undef before defining.
4484         * pa-linux.h (LINUX_DEFAULT_ELF, PTRDIFF_TYPE, CPP_SPEC): Remove.
4485         (LIB_SPEC): Remove -lmilli.
4486         (DBX_REGISTER_NUMBER): Remove.
4487         (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
4488         (DWARF2_UNWIND_INFO, ASM_SPEC, LINK_SPEC, FUNCTION_OK_FOR_SIBCALL,
4489         NO_PROFILE_COUNTERS, SELECT_RTX_SECTION, INCOMING_RETURN_ADDR_RTX,
4490         DWARF_FRAME_RETURN_COLUMN, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
4491         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_FILE_START,
4492         ASM_OUTPUT_DEF, ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
4493         ASM_OUTPUT_LABEL, ASM_GLOBALIZE_LABEL, ASM_DECLARE_FUNCTION_NAME,
4494         TARGET_GAS): Define.
4495         * pa.c (output_arg_descriptor): Disable for TARGET_ELF32.
4496         (function_arg): If TARGET_ELF32, pass fp args in both general and fp
4497         regs if we don't have a prototype.
4498         * pa.md (canonicalize_funcptr_for_compare): Not for TARGET_ELF32.
4499         * pa.h (TARGET_ELF32): Default to 0 if undefined.
4500         (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX,
4501         EH_RETURN_HANDLER_RTX): Define.
4502         * pa32-regs.h (DBX_REGISTER_NUMBER): Remove unnecessary test.
4503         (DWARF_FRAME_REGNUM): Define.
4504         * pa64-regs.h (DWARF_FRAME_REGNUM): Define.
4505         * pa32-linux.h: New file.
4506         * pa64-linux.h: New file.
4507
4508         * pa-64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
4509         (ASM_OUTPUT_DOUBLE_INT): Format, protect macro with do..while.
4510         (LINK_SPEC, LIB_SPEC, MD_EXEC_PREFIX, MD_STARTFILE_PREFIX,
4511         NEW_HP_ASSEMBLER, ASM_FILE_START, OBJECT_FORMAT_ELF,
4512         DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_FORMAT,
4513         DWARF2_ASM_LINE_DEBUG_INFO, USE_CONST_SECTION, CONST_SECTION_ASM_OP,
4514         CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
4515         FINI_SECTION_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
4516         READONLY_DATA_SECTION, CONST_SECTION_FUNCTION, CTORS_SECTION_FUNCTION,
4517         DTORS_SECTION_FUNCTION, ASM_OUTPUT_SECTION_NAME, MAKE_DECL_ONE_ONLY,
4518         UNIQUE_SECTION_P, UNIQUE_SECTION, INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
4519         ASM_OUTPUT_DESTRUCTOR, TYPE_ASM_OP, SIZE_ASM_OP, ASM_WEAKEN_LABEL,
4520         TYPE_OPERAND_FMT, ASM_DECLARE_RESULT): Move to..
4521         * pa64-hpux.h: New file.
4522         (ASM_FILE_START): Correct typo.
4523         (PREFERRED_DEBUGGING_FORMAT): Rename to PREFERRED_DEBUGGING_TYPE.
4524         * config.gcc: Modify for above.
4525
4526 Fri Apr 13 00:09:22 EDT 2001  John Wehle  (john@feith.com)
4527
4528         * jump.c (jump_optimize_1): Don't delete dead stores here.
4529         * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns
4530         prior to running jump optimize before cse2.
4531
4532 2001-04-12  Richard Henderson  <rth@redhat.com>
4533
4534         * Makefile.in (regmove.o): Depend on except.h.
4535         * regmove.c: Include it.
4536
4537 2001-04-12  Stan Shebs  <shebs@apple.com>
4538
4539         * objc/objc-act.c: Remove all code ifdefed with the never-used
4540         macro OBJC_INT_SELECTORS.
4541         * config/d30v/d30v.h: Remove commented-out ref to OBJC_INT_SELECTORS.
4542         * tm.texi: Remove doc for OBJC_INT_SELECTORS.
4543
4544 Thu Apr 12 18:13:37 2001  Rodney Brown  <RodneyBrown@mynd.com>
4545
4546         * config/pa/quadlib.c: Add prototypes.
4547
4548 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4549
4550         * bitmap.h (debug_bitmap): Delete redundant prototype.
4551
4552         * rtl.h (get_frame_size): Likewise.
4553
4554 2001-04-12  Jim Wilson  <wilson@redhat.com>
4555
4556         * config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Simplify
4557         to just emit an fnorm.
4558
4559 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4560
4561         * c-common.h (truthvalue_conversion, type_for_mode,
4562         type_for_size): Delete redundant declarations.
4563
4564         * c-lex.h (is_class_name): Likewise.
4565
4566         * c-tree.h (pedantic, convert, getdecls, gettags,
4567         global_bindings_p, init_decl_processing, insert_block,
4568         maybe_build_cleanup, poplevel, print_lang_decl,
4569         print_lang_identifier, print_lang_type, pushdecl, pushlevel,
4570         set_block, incomplete_type_error, build_function_call,
4571         lvalue_or_else, mark_addressable): Likewise.
4572
4573         * expr.h (expand_tree_builtin): Likewise.
4574
4575 2001-04-12  Mark Mitchell  <mark@codesourcery.com>
4576
4577         * invoke.texi: Document --param max-gcse-memory.
4578
4579 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4580
4581         * configure.in (errno): Check for declaration.
4582         * configure, config.in: Regenerated.
4583
4584         * system.h (errno): Only declare if not already done.
4585
4586 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
4587
4588         * recog.c (general_operand, immediate_operand,
4589         nonmemory_operand): Require CONST_INTs to be sign-extended
4590         values for their modes.
4591
4592 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
4593
4594         * expmed.c (store_bit_field): Truncate CONST_INTs.
4595         (expand_mult_highpart, expand_divmod): Likewise.
4596         * expr.c (convert_modes, store_field): Likewise.
4597         * integrate.c (expand_inline_function): Use promote_mode() to
4598         determine whether to convert_modes() an argument as signed
4599         or unsigned.
4600         * optabs.c (expand_binop): Get CONST_INT operands
4601         sign-extended for their appropriate modes.
4602         * stmt.c (emit_case_nodes): Convert node values to the
4603         appropriate mode.
4604         (expand_end_case): Convert minval and range to the appropriate
4605         mode.
4606         * unroll.c (loop_iterations): Truncate abs_diff to the mode of
4607         the iteration variable.
4608         * varasm.c (immed_double_const): Don't require words to be
4609         narrower than host wide ints to properly sign-extend
4610         CONST_INTs.
4611
4612 2001-04-12  kaz Kojima  <kkojima@rr.iij4u.or.jp>
4613
4614         * sh.md (builtin_setjmp_receiver): New expander.
4615
4616 2001-04-12  David Edelsohn  <dje@watson.ibm.com>
4617
4618         * config/rs6000/rs6000.c (rs6000_emit_move): Do not
4619         special-case HOST_BITS_PER_WIDE_INT != 32.  Use same criteria
4620         for generating CONST_INT and CONST_DOUBLE.
4621
4622 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
4623
4624         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
4625         already sign-extended.
4626         (rs6000_emit_prologue): Make register iterator signed.
4627         (rs6000_emit_epilogue): Likewise.
4628         * config/rs6000/rs6000.md (addsi3, adddi3): Sign-extend high
4629         and low.
4630         (movsf split, movdf split): Sign-extend CONST_INTs.
4631         (movdi splits): Likewise.
4632
4633 2001-04-12  Kelley Cook <kelley.cook@home.com>
4634
4635         * config-lang.in (lang_dirs): Add in zlib.
4636
4637 2001-04-11  Alexandre Oliva  <aoliva@redhat.com>
4638
4639         * config/i386/i386.md: Apply trunc_int_for_mode() to GEN_INT
4640         operands that make it to RTL.
4641
4642 2001-04-11  Stan Shebs  <shebs@apple.com>
4643
4644         Add Darwin (Mac OS X kernel) native support.
4645         * config.gcc (powerpc-*-darwin*): Add native bits.
4646         * config/darwin.c: New file, generic Darwin support functions.
4647         * config/darwin.h: New file, generic Darwin definitions.
4648         * config/darwin-protos.h: New file, generic Darwin prototypes.
4649         * rs6000/darwin.h: New file, Darwin for PowerPC.
4650         * rs6000/t-darwin: New file, Darwin makefile fragment.
4651         * rs6000/rs6000.h (OBJECT_MACHO): New macro.
4652         (TARGET_MACHO): Ditto.
4653         (rs6000_abi): Add ABI_DARWIN.
4654         (RS6000_REG_SAVE): Add ABI_DARWIN case.
4655         (RS6000_SAVE_AREA): Ditto.
4656         (FP_ARG_MAX_REG): Ditto.
4657         (RETURN_ADDRESS_OFFSET): Ditto.
4658         * rs6000/rs6000.c (rs6000_legitimize_address): Add TARGET_MACHO
4659         cases.
4660         (rs6000_emit_move): Add ABI_DARWIN cases.
4661         (print_operand): Ditto.
4662         (first_reg_to_save): Ditto.
4663         (rs6000_stack_info): Ditto, also align stack by 16 instead of 8.
4664         (debug_stack_info): Ditto.
4665         (rs6000_emit_prologue): Ditto.
4666         (rs6000_emit_epilogue): Ditto.
4667         (output_profiler_hook): Ditto.
4668         (output_function_profiler): Ditto.
4669         (rs6000_add_gc_roots): Call machopic_add_gc_roots if TARGET_MACHO.
4670         (output_mi_thunk): Add TARGET_MACHO case.
4671         (add_compiler_stub): Ditto.
4672         (output_compiler_stub): Ditto.
4673         (no_previous_def): Ditto.
4674         (output_call): Ditto.
4675         (machopic_output_stub): Ditto.
4676         (rs6000_machopic_legitimize_pic_address): Ditto.
4677         (toc_section): Ditto.
4678         * rs6000/rs6000.md (addsi3_high): New TARGET_MACHO pattern.
4679         (macho_high): Ditto.
4680         (macho_low): Ditto.
4681         (movsi_low): Ditto.
4682         (load_macho_picbase): Ditto.
4683         (call): Add TARGET_MACHO case to modify function.
4684         (call_value): Ditto.
4685         (call_nonlocal_sysv): Add ABI_DARWIN case.
4686         (call_value_nonlocal_sysv): Ditto.
4687         * rs6000/rs6000-protos.h (rs6000_machopic_legitimize_pic_address):
4688         Add prototype.
4689         (machopic_output_stub): Ditto.
4690         * ginclude/stddef.h: Test _BSD_WCHAR_T_DEFINED_.
4691
4692 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
4693
4694         * dwarf2out.c (modified_type_die): Don't create new types here.
4695         * tree.h (get_qualified_type): New function.
4696         (build_qualified_type): Adjust comment.
4697         * tree.c (get_qualified_type): New function.
4698         (build_qualified_type): Use it.
4699
4700 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4701
4702         * cpp.texi (-Wtraditional): Update description.
4703
4704         * invoke.texi (-Wtraditional): Likewise.
4705
4706 2001-04-11  Jim Wilson  <wilson@redhat.com>
4707
4708         * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Return 128 if argument
4709         requires more than 64 bits of alignment.
4710
4711 2001-04-11  Neil Booth  <neil@daikokuya.demon.co.uk>
4712
4713         * cpplib.c (do_line): Sanity check iff enable checking.
4714
4715 2001-04-11  Richard Henderson  <rth@redhat.com>
4716
4717         * Makefile.in (insn-recog.o): Depend on toplev.h.
4718         (insn-emit.o, doloop.o): Likewise.
4719         * genrecog.c, genemit.c: Include toplev.h in generated file.
4720         * doloop.c: Include toplev.h.
4721
4722 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
4723
4724         * Makefile.in (gcse.o): Depend on params.h.
4725         * gcse.c: Include params.h.
4726         (gcse_main): Don't do GCSE if doing so will take inordinate
4727         amounts of memory.
4728         * params.def (PARAM_MAX_GCSE_MEMORY): New  parameter.
4729         * params.h (MAX_GCSE_MEMORY): New macro.
4730
4731 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4732
4733         * Makefile.in (insn-output.o): Depend on $(EXPR_H).
4734
4735         * genoutput.c (output_prologue): Include expr.h in insn-output.c.
4736
4737 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4738
4739         * output.h (assemble_real): Declare if REAL_VALUE_TYPE is defined.
4740
4741         * real.h (ereal_atof, real_value_truncate, target_isnan,
4742         target_isinf, target_negative, assemble_real, debug_real): Delete
4743         redundant prototypes.
4744
4745         * Makefile.in (ifcvt.o): Depend on toplev.h.
4746
4747         * c-semantics.c: Include expr.h.
4748
4749         * ifcvt.c: Include toplev.h.
4750
4751         * expr.h (rtx_equal_p): Delete prototype.
4752
4753         * rtl.h (exact_log2_wide, floor_log2_wide, permalloc,
4754         protect_from_queue, gen_jump, gen_beq, gen_bge, gen_ble,
4755         eliminate_constant_term, expand_complex_abs, find_single_use,
4756         make_tree, init_expr_once, init_optabs, supports_one_only):
4757         Likewise.
4758
4759         * tree.h (exact_log2_wide, floor_log2_wide, expand_null_return,
4760         rest_of_type_compilation, emit_queue, do_pending_stack_adjust,
4761         expand_assignment, store_expr, emit_line_note_after,
4762         emit_line_note_force, split_specs_attrs, label_rtx): Likewise.
4763
4764         * toplev.h (exact_log2_wide, floor_log2_wide): Add prototype.
4765
4766         * sparc-protos.h: Delete redundant prototypes.
4767
4768 2001-04-11  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
4769
4770         * reload.c (push_reload): Add condition missed in SUBREG byte
4771         offset patch.
4772
4773 Wed Apr  4 00:28:23 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4774
4775         * sparc/sol2-sld-64.h (STARTFILE_SPEC): Added missing blank.
4776
4777 Wed Apr 11 14:06:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
4778
4779         * i386.md (floatsisf_sse): Fix output template
4780         * i386.c (ix86_expand_fp_movcc)
4781
4782         * reg-stack.c (emit_pop_insn): Handle complex modes.
4783         (move_for_stack_reg): Emit proper move mode.
4784         (subst_stack_regs_pat): Handle complex modes.
4785
4786 2001-04-11  Jakub Jelinek  <jakub@redhat.com>
4787
4788         * cpplex.c (_cpp_lex_token): Only warn if -Wcomment.
4789
4790 2001-04-10  Richard Henderson  <rth@redhat.com>
4791
4792         * libgcc2.h (__terminate_func_ptr): Remove typedef.
4793         (__pure_virtual, __terminate, __terminate_set_func,
4794         __default_terminate, __throw_type_match, __empty,
4795         __get_eh_context, __get_eh_info, __get_dynamic_handler_chain,
4796         __eh_rtime_match, __unwinding_cleanup, __rethrow,
4797         __sjthrow, __sjpopnthrow, __eh_alloc, __eh_free):
4798         Remove prototypes of deleted functions.
4799
4800 2001-04-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4801
4802         * c-typeck.c (convert_arguments): -Wtraditional now activates
4803         -Wconversion warnings, except for changes in signed-ness.
4804         Detect complex<->int & int<->complex conversions as well.
4805
4806         * invoke.texi (-Wtraditional): Document it.
4807
4808 Tue Apr 10 17:45:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4809
4810         * gcse.c (update_ld_motion_stores): Don't use variable I for an insn.
4811         * flow.c (set_block_for_new_insns): Remove needless cast and
4812         properly check for unset block number.
4813
4814 2001-04-10  Andrew MacLeod  <amacleod@redhat.com>
4815
4816         * function.c (purge_single_hard_subreg_set): Only check REGNO if
4817         the subreg was a hard register. Pseudos are left as subregs.
4818
4819 2001-04-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4820
4821         * Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro.
4822         (LIB2ADD_ST): New macro, pass it to mklibgcc.
4823         * mklibgcc.in (libgcc2_st_objs): New variable, set it from LIB2ADD_ST.
4824         (libgcc_st_objs): New, set from libgcc2_st_objs. Use it for libgcc.a.
4825         * config/rs6000/t-ppccomm (LIB2FUNCS_STATIC_EXTRA): New macro.
4826
4827 2001-04-09  Bo Thorsen  <bo@suse.co.uk>
4828
4829         * config/i386/i386.md: "TARGET_64BIT && TARGET_64BIT": Removed one.
4830
4831 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
4832
4833         * output.h (set_block_num): Missed it earlier, remove deprecated
4834         prototype.
4835
4836 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
4837
4838         * gcse.c (oprs_unchanged_p): Pass basic_block to load_killed_in_block_p.
4839         (load_killed_in_block_p): Change bb parameter from int to basic_block.
4840         (oprs_not_set_p): Pass basic_blocks instead of ints as parameters.
4841         (handle_rd_kill_set): Change bb parameter from int to basic_block.
4842         (compute_kill_rd): Pass basic_blocks instead of ints as parameters.
4843         (expr_killed_p): Change bb parameter from int to basic_block, pass
4844         basic_blocks instead of ints as parameters.
4845         (compute_ae_kill): Pass basic_blocks instead of ints as parameters.
4846         (expr_reaches_here_p_work, expr_reaches_here_p): Change bb parameter
4847         from int to basic_block, pass basic_blocks instead of ints as parms.
4848         (pre_expr_reaches_here_p_work, pre_expr_reaches_here_p): Change bb
4849         parameter from int to basic_block, pass basic_blocks instead of ints.
4850         (process_insert_insn): Pass basic_blocks instead of ints as parameters.
4851         (insert_insn_end_bb): Change bb parameter from int to basic_block,
4852         pass basic_blocks instead of ints.
4853         (pre_edge_insert, pre_insert_copy_insn, pre_insert_copies): Pass
4854         basic_blocks instead of ints as parameters.
4855         (pre_delete): Pass basic_blocks instead of ints as parameters.
4856         (hoist_expr_reaches_here_p): Change bb parameter from int to
4857         basic_block, pass basic_blocks instead of ints.
4858         (hoist_code): Pass basic_blocks instead of ints as parameters.
4859         (reg_set_info, store_ops_ok, store_killed_after, store_killed_before):
4860         Change bb parameter from int to basic_block.
4861         (build_store_vectors): Pass basic_blocks instead of ints as parameters.
4862         (insert_insn_start_bb): Change bb parameter from int to basic_block,
4863         pass basic_blocks instead of ints.
4864         (insert_store): Pass basic_blocks instead of ints as parameters.
4865         (replace_store_insn, delete_store): Change bb parameter from int to
4866         basic_block, pass basic_blocks instead of ints.
4867         (store_motion): Pass basic_blocks instead of ints as parameters.
4868
4869 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
4870
4871         * basic-block.h (set_new_block_for_insns): New Prototype.
4872         (set_block_num): Delete prototype.
4873         * flow.c (set_block_num): Remove obsolete function.
4874         (set_block_for_new_insns): Set BB for single or multiple insns.
4875         * gcse.c (handle_avail_expr): Use set_block_for_new_insns.
4876         (process_insn_end_bb): Use set_block_for_new_insns or
4877         set_block_for_insn instead of set_block_num.
4878         (pre_insert_copy_insn): Use set_block_for_new_insns.
4879         (update_ld_motion_stores): Use set_block_for_new_insns.
4880         (insert_insn_start_bb): Use set_block_for_new_insns.
4881         (replace_store_insn): Use set_block_for_new_insns.
4882
4883 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
4884             Jeff Law  <law@redhat.com>
4885
4886         * alias.c (get_addr): Externalize.
4887         (canon_true_dependence): New function. Behaves like true_dependance
4888         except it already assumes a MEM has been canonicalized.
4889         * flags.h (flag_gcse_lm, flag_gcse_sm): New optimization flags.
4890         * gcse.c (struct ls_expr): Add load/store expressions structure.
4891         (modify_mem_list, canon_modify_mem_list): New variable.
4892         (gcse_main): Initialize & finalize alias analysis. Use enhanced
4893         load motion and store motion if requested.
4894         (alloc_gcse_mem): Allocate space for modify_mem_list array.
4895         (free_gcse_mem): Free the modify_mem_list array.
4896         (oprs_unchanged_p): Use load_killed_in_block_p.
4897         (gcse_mems_conflict_p, gcse_mem_operand): New variables.
4898         (mems_conflict_for_gcse_p): New function.  Don't kill loads
4899         with stores to themselves if its in the load/store expression list.
4900         (load_killed_in_block_p): New function.
4901         (canon_list_insert): New Function.
4902         (record_last_mem_set_info): Keep a list of all instructions which
4903         can modify memory for each basic block.
4904         (compute_hash_table, reset_opr_set_tables): Clear modify_mem_list.
4905         (oprs_not_set_p): Use load_killed_in_block_p.
4906         (mark_call, mark_set, mark_clobber): Use record_last_mem_set_info.
4907         (expr_killed_p): Use load_killed_in_block_p.
4908         (compute_transp): Do not pessimize memory references.
4909         (pre_edge_insert): Update stores for a load motion expression.
4910         (one_pre_gcse_pass): Check loads/stores for extra load motion.
4911         (ldst_entry): Find or create a ldst_expr structure.
4912         (free_ldst_entry): Free memory for an individual item.
4913         (free_ldst_mems): Free entire load/store expression list.
4914         (print_ldst_list): Print debug info.
4915         (find_rtx_in_ldst): Try to find an rtx expression in the ldst list.
4916         (enumerate_ldsts): Assign integer values to each entry in list.
4917         (first_ls_expr): First expression in the list.
4918         (next_ls_expr): Next expression in the list.
4919         (simple_mem): Check if expression qualifies for ld/st expression list.
4920         (invalidate_any_buried_refs): Remove from expression list if its
4921         used in some other way we dont understand.
4922         (compute_ld_motion_mems): Find all potential enhanced load motion
4923         expression.
4924         (trim_ld_motion_mems): Remove any expressions which are invalid.
4925         (update_ld_motion_stores): Copy store values to registers for loads
4926         which have been moved.
4927         (regvec, st_antloc, num_store): New global statics.
4928         (reg_set_info): Marks registers as set.
4929         (store_ops_ok): Verfies registers expressions are valid in a block.
4930         (find_moveable_store): Look for moveable stores in a pattern.
4931         (compute_store_table): Find stores in a function worth moving, maybe.
4932         (load_kills_store): Check dependance of a load and store.
4933         (find_loads): Find any loads in a pattern.
4934         (store_killed_in_insn): Check if a store is killed in an insn.
4935         (store_killed_after): Check is store killed after an insn in a block.
4936         (store_killed_before): Check is store killed before an insn in a block.
4937         (build_store_vectors): Generate the antic and avail vectors.
4938         (insert_insn_start_bb): Insert at the start of a BB, update BLOCK_HEAD.
4939         (insert_store): Add a store to an edge.
4940         (replace_store_insn): Replace a store with a SET insn.
4941         (delete_store): Delete a store insn.
4942         (free_store_memory): Free memory.
4943         (store_motion): Perform store motion.
4944         * invoke.texi: Add documentation for -fcse-lm and -fgcse-sm.
4945         * rtl.h (get_addr, canon_true_dependence): Add prototypes.
4946         * toplev.c (flag_gcse_lm, flag_gcse_sm): New Variables.
4947         (f_options): Add gcse-lm and gcse-sm.
4948
4949 Mon Apr  9 16:18:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
4950
4951         * i386.c (expand_fp_movcc): Fix condition reversal code.
4952
4953         * i386.c (ix86_register_move_cost): Fix handling of reformating penalty
4954         * i386.h (INTEGER_CLASS_P, MAYBE_INTEGER_CLASS_P): New.
4955         (CLASS_MAX_NREGS): Use it.
4956
4957         * i386.h (HARD_REGNO_NREGS): Handle properly TF and TCmodes on 64bit;
4958         handle properly complex values.
4959         (CLASS_MAX_NREGS): Likewise; update comment.
4960
4961 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
4962
4963         * ia64.c (ia64_flag_schedule_insns2): New variable.
4964         (ia64_override_options): Initialize it.  Clear
4965         flag_schedule_insns_after_reload.
4966         (ia64_reorg): Only do scheduling if ia64_flag_schedule_insns2.
4967
4968 Mon Apr  9 15:09:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
4969
4970         * i386.md (truncdfsf2_*): Add i387->int/sse reg alternatives;
4971         Do not require source to match destination anymore;
4972         Add abort to the nontrivial cases that should be handled by split.
4973         (fix_trunc?fdi): Add SSE case for x86_64.
4974         (floatdi?f): Likewise.
4975         (floatdi?f_sse): New.
4976         (fix_trunc?fdi_sse): New.
4977
4978 2001-04-09  Richard Sandiford   <rsandifo@redhat.com>
4979
4980         * dwarfout.c (DEBUG_ARANGES_BEGIN_LABEL): New label.
4981         (DEBUG_ARANGES_END_LABEL): Ditto.
4982         (dwarfout_init): Generate length and version fields at the start
4983         of the .debug_aranges info.  Insert DEBUG_ARANGES_BEGIN_LABEL
4984         after the length field.
4985         (dwarfout_finish): Insert DEBUG_ARANGED_END_LABEL at the end of
4986         the .debug_aranges info.
4987
4988 Sun Apr  8 00:43:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
4989
4990         * i386.c (call, call_value): Make sure that resulting call_insn
4991         does have proper second operand.
4992
4993 Sun Apr  8 22:50:49 2001  Christopher Faylor <cgf@cygnus.com>
4994
4995         * config/i386/xm-cygwin.h (GET_ENV_PATH_LIST): Eliminate obsolete
4996         function.  Remove include of sys/cygwin.h.
4997
4998 Sun Apr  8 22:20:27 2001  Christopher Faylor <cgf@cygnus.com>
4999
5000         * config/i386/cygwin.h (STARTFILE_SPEC): search */lib/w32api by default.
5001         (CPP_SPEC): Always search */include/w32api for header files.
5002         (ASM_OUTPUT_SECTION_NAME): Avoid testing NULL DECL.
5003         (LINK_SPEC): Add "cyg" to the library search prefixes.
5004
5005 2001-04-08  Philip Blundell  <philb@gnu.org>
5006
5007         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Use asm_fprintf.
5008
5009 2001-04-08  Neil Booth  <neil@daikokuya.demon.co.uk>
5010
5011         * cpperror.c (print_location): Don't special case <stdin>.
5012         (_cpp_begin_message): Handle WARNING_SYSHDR the same as
5013         WARNING, but we don't check if we're in system headers.
5014         * cpplib.h (enum error_type): WARNING_SYSHDR: New.
5015         * cpplib.c (do_warning): Warn in system headers.
5016
5017 2001-04-07  Mumit Khan <khan@NanoTech.Wisc.EDU>
5018
5019         * mbchar.c: Include config.h first.
5020
5021 2001-04-07  Zack Weinberg  <zackw@stanford.edu>
5022
5023         * config.gcc: Set default for xmake_file at top, not bottom.
5024         Change places that set xmake_file to "none" to set to the
5025         empty string instead, or remove them entirely if there is no
5026         default xmake_file for this cpu_type.  Remove references to
5027         deleted files.
5028
5029         * config/x-lynx, config/convex/x-convex, config/elxsi/x-elxsi,
5030         config/i386/x-isc, config/i386/x-isc3, config/i386/x-ncr3000,
5031         config/i386/x-next, config/i386/x-sco, config/i386/x-sysv3,
5032         config/i386/x-vsta, config/i860/x-sysv4, config/m68k/x-amix,
5033         config/m68k/x-apollo68, config/m68k/x-ccur, config/m68k/x-crds,
5034         config/m68k/x-hp2bsd, config/m68k/x-mot3300, config/m68k/x-mot3300-gas,
5035         config/m68k/x-tower, config/m88k/x-sysv4, config/mips/x-dec-osf1,
5036         config/mips/x-sni-svr4, config/mips/x-ultrix, config/romp/x-mach,
5037         config/romp/x-romp, config/rs6000/x-beos, config/rs6000/x-lynx,
5038         config/rs6000/x-mach, config/rs6000/x-sysv4, config/sparc/x-sysv4:
5039         Delete.
5040
5041         * config/a29k/x-unix, config/i386/x-aix, config/i386/x-osf1elf,
5042         config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
5043         config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
5044         config/mips/x-sysv, config/rs6000/x-aix31:
5045         Just set CLIB to -lld or -lmld, as appropriate.
5046
5047         * config/arm/x-riscix, config/i370/x-oe, config/i386/x-dgux,
5048         config/i386/x-sco4, config/i386/x-sco5, config/m68k/x-hp320,
5049         config/m68k/x-hp320g, config/m68k/x-next, config/m88k/x-dgux,
5050         config/mips/x-iris, config/pa/x-pa:
5051         Just set (some of) FIXPROTO_DEFINES, STMP_FIXPROTO,
5052         OTHER_FIXINCLUDES_DIRS.
5053
5054         * config/i386/x-djgpp: Don't set LN or LN_S.
5055         * config/m88k/x-dolph: Don't define __m88k__.
5056         * config/m88k/x-tekXD88: Don't set AR_FLAGS.
5057         * config/pa/x-pa-mpeix: Just set up quadlib.asm.
5058         * config/i860/fx2800.h: No need to #undef SVR4.
5059
5060         38 x-host fragments remain, 2 x-cpu.
5061
5062 2001-04-07  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5063
5064         * c4x.h (HARD_REGNO_NREGS): HCmode mode uses 2 regs not 4.
5065
5066 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
5067
5068         * cpplib.c (cpp_push_buffer): Give stdin buffers the name <stdin>.
5069
5070 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
5071
5072         * configure.in: Add check for lstat.
5073         * configure, config.in: Regenerate.
5074         * cppinit.c (append_include_chain): Make empty path ".".
5075         * cpplib.c (do_line): Don't simplify #line paths.
5076         * cppfiles.c (remove_component_p): New function.
5077         (find_or_create_entry): Acknowledge stat () errors during
5078         path simplification.
5079         (handle_missing_header): Don't simplify paths.
5080         (_cpp_simplify_pathname): Don't simplify VMS paths.  Return
5081         the empty path untouched.  Don't leave a trailing '/'.
5082
5083 2001-04-06  Benjamin Kosnik  <bkoz@redhat.com>
5084
5085         * cppdefault.c (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
5086         * Makefile.in (-DGPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
5087
5088 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
5089
5090         * cppfiles.c (open_file): Fail directories silently, but
5091         with an errno of NOENT set.
5092         (read_include_file): Move the common exit code to the sole
5093         caller.  Return an int indicating success or failure.  Let
5094         open_file handle directories.
5095         (stack_include_file): If read_include_file fails,
5096         push a "null" buffer.
5097
5098 2001-04-05  DJ Delorie  <dj@redhat.com>
5099
5100         * function.h (virtuals_instantiated): Declare.
5101         * function.c: (virtuals_instantiated): Make global.
5102         * calls.c (emit_library_call_value_1): Use
5103         virtual_outgoing_args_rtx only if it hasn't been instantiated.
5104         Otherwise, use the stack pointer directly.
5105
5106 Thu Apr  5 19:13:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
5107
5108         * i386.c (x86_initialize_trampoline): New global function.
5109         * i386.h (TRAMPOLINE_SIZE): Size is 23 for x86_64.
5110         (INITIALIZE_TRAMPOLINE): Move offline.
5111         * i386-protos.h (x86_initialize_trampoline): Declare.
5112
5113 Thu Apr  5 19:02:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
5114
5115         * i386.md (movdi_1_rex64): Allow SSE->SSE reg move.
5116         (lea_0): Rename to lea_1.
5117         (lea_1_zext, lea_1_rex64, lea_2_rex64): New patterns.
5118         (lea_general_?): Allow SImodes on TARGET_64BIT
5119         (lea_general_?_zext): New patterns.
5120         (call_1, call_1_rex64): Fix.
5121
5122 Thu Apr  5 19:00:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
5123
5124         * i386.c (ix86_split_long_move): Use PUT_MODE instead of change_address.
5125
5126 Thu Apr  5 18:25:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
5127
5128         * i386.c (function_arg): Return constm1_rtx for last argument.
5129         (ix86_expand_prologue): Update gen_call calls.
5130         * i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
5131         * i386.md (call_pop): Likewise.
5132         (call): Second operand is VOIDmode.
5133         (call_0): Likewise; Support 64bits.
5134         (call_exp): New expander.
5135         (call_1): Get to the sync.
5136         (call_1_exp): New pattern.
5137         (call_value): Support 64bit.
5138         (call_value_exp): New pattern.
5139         (untyped_call): Update gen_call call.
5140         (call_value_pop): Disable for 64bit.
5141         (call_value_0_rex64): New pattern.
5142         (call_value_1_rex64): Likewise.
5143
5144 2001-04-05  Bo Thorsen  <bo@suse.de>
5145
5146         * i386.md: Don't allow "builtin_setjmp_receiver" for TARGET_64BIT.
5147
5148 Thu Apr  5 13:44:17 2001  J"orn Rennecke <amylaar@redhat.com>
5149
5150         * i386.md (*andsi_1+3): If used after reload, make sure the operand
5151         satisfies ANY_QI_REG_P.
5152
5153 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
5154
5155         * config/ia64/ia64.c (rtx_needs_barrier): A PARALLEL can contain
5156         ASM_OPERAND.
5157
5158         * sched-deps.c (sched_analyze_insn): Revert more of the March 27
5159         change.
5160
5161 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
5162
5163         * config.gcc: Remove default for xm_file.  Clean up local
5164         machine type handling.  Remove settings of xm_file to
5165         something that doesn't exist.  In the big switch, set xm_file,
5166         don't append to it (the value before the big switch is always
5167         null).  Don't force build_xm_file or host_xm_file to have a value.
5168         * configure.in: Remove default for xm_file.  Do not special
5169         case $cpu/xm-$cpu.h not existing.
5170         * configure: Regenerate.
5171
5172 2001-04-04  Diego Novillo  <dnovillo@redhat.com>
5173
5174         * simplify-rtx.c (simplify_binary_operation): Check for overflow
5175         when folding integer division and modulo operations.
5176
5177 2001-04-04  Andrew MacLeod  <amacleod@redhat.com>
5178
5179         * dwarf2out.c (output_cfi): Add 'for_eh' parameter, use PTR_SIZE
5180         instead of DWARF2_ADDR_SIZE for EH addresses.
5181         (output_call_frame_info): Use PTR_SIZE instead of DWARF2_ADDR_SIZE for
5182         EH addresses.
5183
5184 2001-04-04  Richard Henderson  <rth@redhat.com>
5185
5186         * config/ia64/ia64.h (IA64_UNWIND_INFO): Disable.
5187         * config/ia64/t-glibc (LIB2ADDEH): Disable.
5188         * config/ia64/t-ia64 (LIB2ADDEH): Disable.
5189
5190 2001-04-04  Richard Henderson  <rth@redhat.com>
5191
5192         * configure.in (gcc_cv_as_leb128): Escape "." in regexp.
5193         * configure: Rebuilt.
5194
5195 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
5196
5197         * gcse.c (delete_null_pointer_checks_1): Add delete_list argument,
5198         push insns to delete to it instead of deleting them.
5199         (delete_null_pointer_checks): Delete insns from delete_list after
5200         all delete_null_pointer_checks_1 passes are done.
5201
5202 2001-04-04  Richard Henderson  <rth@redhat.com>
5203
5204         * configure.in (gcc_cv_as_leb128): Tweek minor number extraction.
5205         * configure: Rebuilt.
5206
5207 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
5208
5209         * expr.h: Remove #ifdef FUNCTION_CONVERSION_BUG logic.
5210         * config/romp/xm-romp.h: Delete.
5211
5212 2001-04-04  Bernd Schmidt  <bernds@redhat.com>
5213
5214         * sched-deps.c (sched_analyze_insn): Partially revert March 27
5215         change.
5216
5217 2001-04-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5218
5219         * emit-rtl.c (mark_label_nuses) Increment the label uses for
5220         all labels present in rtx.
5221         (try_split) Call new function for all split insns.
5222
5223 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
5224
5225         * recog.c (validate_replace_rtx_1): Instead of aborting just make
5226         sure the change won't be validated.
5227
5228 Wed Apr  4 00:45:38 EDT 2001  John Wehle  (john@feith.com)
5229
5230         * rtl.h (set_noop_p): Declare.
5231         * flow.c (set_noop_p): Move from here ...
5232         * rtlanal.c (set_noop_p): ... to here and enhance.
5233         * cse.c (delete_trivially_dead_insns): Use it.
5234         * gcse.c (hash_scan_set): Likewise.
5235         * jump.c (delete_noop_moves): Likewise.
5236         * recog.c (split_all_insns): Likewise.
5237
5238 2001-04-04  Alan Modra  <alan@linuxcare.com.au>
5239
5240         * dwarf2out.c (dwarf2out_frame_debug_expr): Support adjusting
5241         stack pointer via a LO_SUM.  Ditto for setting a temp register
5242         used to save to the stack.  Set cfa_temp when setting fp, and
5243         allow matches to cfa_temp in addition to cfa_store when saving
5244         regs.  Handle POST_INC and LO_SUM register stores.  Document the
5245         changes and errors in rule 12 doco.
5246
5247         * pa.c (set_reg_plus_d, store_reg, load_reg): Return last insn.
5248         (actual_fsize, local_fsize, save_fregs): Move for store_reg to see.
5249         (load_reg): Move closer to epilogue code.
5250         (DO_FRAME_NOTES): Define to control the following..
5251         (FRP): Define to set RTX_FRAME_RELATED_P on insns.
5252         (hppa_expand_prologue): Use FRP and REG_FRAME_RELATED_EXPR
5253         notes as necessary.
5254         (hppa_expand_epilogue): Likewise.
5255
5256 2001-04-03  Richard Henderson  <rth@redhat.com>
5257
5258         * configure.in (gcc_cv_as_leb128): Reject gas before 2.11.
5259         * configure: Rebuild.
5260
5261 2001-04-03  Richard Henderson  <rth@redhat.com>
5262
5263         * rtl.h (LCT_THROW): New.
5264         * calls.c (emit_library_call_value_1): Handle it.
5265         * except.c (connect_post_landing_pads): Use it.
5266
5267 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
5268
5269         * gansidecl.h: Delete file.
5270         * configure.in: Change all refs to gansidecl.h to use
5271         ansidecl.h.  Adjust *_file_list so they know where ansidecl.h
5272         lives.
5273         * configure: Regenerate.
5274
5275         * Makefile.in (intl.o): Don't depend on gansidecl.h.
5276         * defaults.h: s/gansidecl.h/ansidecl.h/ in comment.
5277         * ggc.h, config/fr30/fr30.h, config/mcore/mcore.c:
5278         Don't include gansidecl.h.
5279         * intl.c, main.c, version.c, fixinc/fixlib.h,
5280         fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not
5281         gansidecl.h.
5282
5283 Tue Apr  3 19:41:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
5284
5285         * i386.c (ix86_force_to_memory, ix86_free_from_memory):
5286         Update for 64bit.
5287
5288 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
5289
5290         * config/i386/xm-beos.h, config/i386/xm-isc.h,
5291         config/i386/xm-next.h, config/i386/xm-sco.h,
5292         config/i386/xm-sco5.h, config/m68k/xm-plexus.h,
5293         config/m88k/xm-m88k.h: Delete.
5294
5295         * config/i386/xm-djgpp.h: Don't define __MSDOS__.
5296         * config/romp/xm-romp.h: Don't define bcopy.
5297         * config/rs6000/xm-beos.h: Don't define bcopy, HAVE_VPRINTF,
5298         HAVE_PUTENV, HAVE_RENAME, or USE_C_ALLOCA.
5299
5300         * config.gcc: Remove references to deleted files.
5301
5302         14 xm-host.h remain, 1 xm-cpu.h.
5303
5304 2001-04-03  Jakub Jelinek  <jakub@redhat.com>
5305             David S. Miller  <davem@pierdol.cobaltmicro.com>
5306             Andrew MacLeod  <amacleod@redhat.com>
5307
5308         Use byte offsets in SUBREGs instead of words.
5309
5310         * alias.c (nonlocal_mentioned_p): Use subreg_regno function.
5311         * caller-save.c (mark_set_regs): Change callers of subreg_hard_regno
5312         to pass new argument.
5313         (add_stored_regs): Use subreg_regno_offset function.
5314         * calls.c (expand_call): For non-paradoxical SUBREG take endianess
5315         into account.
5316         (precompute_arguments): Use gen_lowpart_SUBREG.
5317         * combine.c (try_combine): Replace explicit XEXP with SUBREG_REG.
5318         (combine_simplify_rtx): Rework to use SUBREG_BYTE.
5319         (simplify_set): Rework to use SUBREG_BYTE.
5320         (expand_field_assignment): Use SUBREG_BYTE.
5321         (make_extraction): Use SUBREG_BYTE.
5322         (if_then_else_cond): Use SUBREG_BYTE.
5323         (apply_distributive_law): Use SUBREG_BYTE and fixup subreg comments.
5324         (gen_lowpart_for_combine): Compute full byte offset.
5325         * cse.c (mention_regs): Use SUBREG_BYTE.
5326         (remove_invalid_subreg_refs): Rework to use SUBREG_BYTE.
5327         (canon_hash): Use SUBREG_BYTE.
5328         (fold_rtx): Pass SUBREG_BYTE div UNITS_PER_WORD to operand_subword.
5329         (gen_lowpart_if_possible): Formatting.
5330         * dbxout.c (dbxout_symbol_location): Compute SUBREG hard regnos
5331         correctly.
5332         * dwarf2out.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
5333         (mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
5334         (loc_descriptor): Fixup explicit XEXP into SUBREG_REG
5335         * dwarfout.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
5336         (output_mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
5337         (output_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
5338         * emit-rtl.c (gen_rtx_SUBREG): New function, used to verify
5339         certain invariants about SUBREGs the compiler creates.
5340         (gen_lowpart_SUBREG): New function.
5341         (subreg_hard_regno): New function to get the final register number.
5342         (gen_lowpart_common): Use SUBREG_BYTE.
5343         (gen_imagpart): Spacing nits.
5344         (subreg_realpart_p): Use SUBREG_BYTE.
5345         (gen_highpart): Use SUBREG_BYTE.
5346         (subreg_lowpart_p): Always compute endian corrected goal offset,
5347         even at the byte level, then compare against that.
5348         (constant_subword): New function, pulled out all constant cases
5349         from operand_subword and changed second argument name to offset.
5350         (operand_subword): Detect non REG/SUBREG/CONCAT/MEM cases early
5351         and call constant_subword to do the work.  Return const0_rtx if
5352         looking for a word outside of OP.
5353         (operand_subword_force): Change second arg name to offset.
5354         * expmed.c (store_bit_field): Use SUBREG_BYTE.
5355         (store_split_bit_field): Use SUBREG_BYTE.
5356         (extract_bit_field): Use SUBREG_BYTE.
5357         (extract_split_bit_field): Use SUBREG_BYTE.
5358         (expand_shift): Use SUBREG_BYTE.
5359         * expr.c (store_expr, expand_expr): Use gen_lowpart_SUBREG.
5360         * final.c (alter_subreg) Use subreg_hard_regno and SUBREG_BYTE.
5361         * flow.c (set_noop_p): Use SUBREG_BYTE.
5362         (mark_set_1): Remove ALTER_HARD_SUBREG. Use subreg_regno_offset instead.
5363         * function.c (fixup_var_refs_1): Fixup explicit XEXP into a SUBREG_REG.
5364         (fixup_memory_subreg): Use SUBREG_BYTE and remove byte endian
5365         correction code.
5366         (optimize_bit_field): Use SUBREG_BYTE.
5367         (purge_addressof_1): Use SUBREG_BYTE.
5368         (purge_single_hard_subreg_set): Use subreg_regno_offset function.
5369         (assign_params): Mark arguments SUBREG_PROMOTED_VAR_P if they are
5370         actually promoted by the caller and PROMOTE_FOR_CALLS_ONLY is true.
5371         * gengenrtl.c (special_rtx): Add SUBREG.
5372         * global.c (mark_reg_store): Use SUBREG_BYTE.
5373         (set_preference): Rework to use subreg_regno_offset and SUBREG_BYTE.
5374         * ifcvt (noce_emit_move_insn): Use SUBREG_BYTE.
5375         * integrate.c (copy_rtx_and_substitute): Use SUBREG_BYTE and make sure
5376         final byte offset is congruent to subreg's mode size.
5377         (subst_constants): Use SUBREG_BYTE.
5378         (mark_stores): Use subreg_regno_offset function.
5379         * jump.c (rtx_renumbered_equal_p, true_regnum): Use subreg_regno_offset
5380         function and SUBREG_BYTE.
5381         * local-alloc.c (combine_regs): Use subreg_regno_offset function.
5382         (reg_is_born): Use subreg_hard_regno.
5383         * recog.c (valid_replace_rtx_1): Use SUBREG_BYTE and remove byte
5384         endian correction code.  Don't combine subregs unless resulting
5385         offset aligns with type.  Fix subreg constant extraction for DImode.
5386         Simplify SUBREG of VOIDmode CONST_DOUBLE.
5387         (general_operand): Remove dead mode_altering_drug code.
5388         (indirect_operand): Use SUBREG_BYTE.
5389         (constrain_operands): Use subreg_regno_offset function.
5390         * reg-stack.c (get_true_reg): Use subreg_regno_offset function.
5391         * regmove.c (regmove_optimize): Use SUBREG_BYTE.
5392         (optimize_reg_copy_3): Use gen_lowpart_SUBREG.
5393         * regs.h (REG_SIZE): Allow target to override.
5394         (REGMODE_NATURAL_SIZE): New macro which target can override.
5395         * reload.c (reload_inner_reg_of_subreg): subreg_regno should be used
5396         on the entire subreg rtx.
5397         (push_reload): Use SUBREG_BYTE in comments and code.
5398         (find_dummy_reload): Use subreg_regno_offset.  Only adjust offsets
5399         for hard registers inside subregs.
5400         (operands_match_p): Use subreg_regno_offset.
5401         (find_reloads): Use SUBREG_BYTE and only advance offset for subregs
5402         containing hard regs.
5403         (find_reload_toplev): Use SUBREG_BYTE.  Remove byte endian
5404         corrections when fixing up MEM subregs.
5405         (find_reloads_address_1): Use SUBREG_BYTE, subreg_regno, and
5406         subreg_regno_offset where appropriate.
5407         (find_reloads_subreg_address): Use SUBREG_BYTE.  Remove
5408         byte endian corrections when fixing up MEM subregs.
5409         (subst_reloads): When combining two subregs, make sure final
5410         offset is congruent to subreg's mode size.
5411         (find_replacement): Use SUBREG_BYTE and subreg_regno_offset.
5412         (refers_to_regno_for_reload_p): Use subreg_regno.
5413         (reg_overlap_mentioned_for_reload_p): Use subreg_regno_offset.
5414         * reload1.c (eliminate_regs) Use SUBREG_BYTE. Remove byte endian
5415         correction code for memory subreg fixups.
5416         (forget_old_reload_1): Use subreg_regno_offset.
5417         (choose_reload_regs): Use subreg_regno.
5418         (emit_input_reload_insns): Use SUBREG_BYTE.
5419         (reload_combine_note_store): Use subreg_regno_offset.
5420         (move2add_note_store): Use subreg_regno_offset.
5421         * resource.c (update_live_status, mark_referenced_resources): Use
5422         subreg_regno function.
5423         (mark_set_resources): Use subreg_regno function.
5424         * rtl.h (SUBREG_WORD): Rename to SUBREG_BYTE.
5425         (subreg_regno_offset, subreg_regno): Define prototypes.
5426         (subreg_hard_regno, constant_subword, gen_rtx_SUBREG): Newi functions.
5427         (gen_lowpart_SUBREG): Add prototype.
5428         * rtl.texi (subreg): Update to reflect new byte offset representation.
5429         Add mentioning of the effect that BYTES_BIG_ENDIAN has on subregs now.
5430         * rtlanal.c (refers_to_regno_p): Use subreg_regno.
5431         (reg_overlap_mentioned_p): Use subreg_regno.
5432         (replace_regs); Make sure final offset of combined subreg is
5433         congruent to size of subreg's mode.
5434         (subreg_regno_offset): New function.
5435         (subreg_regno): New function.
5436         * sched-vis.c (print_value): Change SUBREG_WORD to SUBREG_BYTE.
5437         * sdbout.c (sdbout_symbol): Compute offset using alter_subreg.
5438         * stmt.c (expand_anon_union_decl): Use gen_lowpart_SUBREG.
5439         * tm.texi (ALTER_HARD_SUBREG): Remove, it is now dead.
5440         (SUBREG_REGNO_OFFSET): Describe SUBREG_REGNO_OFFSET overrides.
5441         * config/a29k/a29k.c (gpc_reg_operand): Use subreg_regno.
5442         (a29k_get_reloaded_address): Use SUBREG_BYTE.
5443         (print_operand): Use SUBREG_BYTE.
5444         * config/alpha/alpha.c (print_operand_address): Use SUBREG_BYTE.
5445         * config/arm/arm.c (arm_reload_in_hi): Use SUBREG_BYTE.
5446         (arm_reload_out_hi): Use SUBREG_BYTE.
5447         * config/d30v/d30v.c (d30v_split_double): Use subreg_regno_offset
5448         instead of SUBREG_WORD.
5449         (d30v_print_operand_memory_reference): Use subreg_regno_offset.
5450         * config/dsp16xx/dsp16xx.md (extendqihi2, zero_extendqihi2): Fix
5451         SUBREG creation to use byte offset.
5452         * config/h8300/h8300.md (Unnamed HImode zero extraction and 16bit
5453         inverted load insns): Fix explicit rtl subregs to use byte
5454         offsets.
5455         * config/i370/i370.md (cmpstrsi, movstrsi, mulsi3, divsi3,
5456         udivsi3, umodsi3): Generate SUBREGs with byte offsets.
5457         * config/i860/i860.c (single_insn_src_p): Use SUBREG_BYTE.
5458         * config/i860/i860.md (mulsi3_big): Fixup explicit SUBREGs in rtl
5459         to use byte offsets.
5460         (unnamed fmlow.dd insn): Fixup SUBREGS to use byte offsets.
5461         * config/i960/i960.md (extendhisi2): Generate SUBREGs with byte
5462         offsets, also make sure it is congruent to SUBREG's mode size.
5463         (extendqisi2, extendqihi2, zero_extendhisi2, zero_extendqisi2,
5464         unnamed ldob insn): Generate SUBREGs with byte offset.
5465         (zero_extendqihi2): SUBREG's are byte offsets.
5466         * config/m68hc11/m68hc11.c (m68hc11_gen_lowpart): Use SUBREG_BYTE.
5467         (m68hc11_gen_highpart): Use SUBREG_BYTE.
5468         * config/m68k/m68k.md (zero_extendhisi2, zero_extendqihi2,
5469         zero-extendqisi2): Generate SUBREGs with byte offset.
5470         (umulsidi3, mulsidi3, subreghi1ashrdi_const32,
5471         subregsi1ashrdi_const32, subreg1lshrdi_const32): Fixup explicit
5472         subregs in rtl to use byte offsets.
5473         * config/m88k/m88k.md (extendsidi2): fixup subregs to use byte offset.
5474         * config/mips/mips.c (mips_move_1word): Use subreg_regno_offset.
5475         (mips_move_2words): Use subreg_regno_offset.
5476         (mips_secondary_reload_class): Use subreg_regno_offset.
5477         * config/mips/mips.md (DImode plus, minus, move, and logical op
5478         splits): Fixup explicit subregs in rtl to use byte offsets.
5479         * config/mn10200/mn10200.c (print_operand): Use subreg_regno function.
5480         * config/mn10300/mn10300.c (print_operand): Use subreg_regno function.
5481         * config/ns32k/ns32k.md (udivmoddisi4): Fix explicit subregs in
5482         rtl to use byte offsets.
5483         * config/pa/pa.c (emit_move_sequence): Use SUBREG_BYTE.
5484         * config/pa/pa.md (floatunssisf2, floatunssidf2, mulsi3): fix explicit
5485         subregs to use byte offsets.
5486         * config/pdp11/pdp11.md (zero_extendhisi2, modhi3, modhi3+1):
5487         Fixup explicit subregs in rtl to use byte offsets.
5488         * config/romp/romp.c (memory_offset_in_range_p): Use SUBREG_BYTE
5489         and remove byte endian correction code.
5490         * config/sh/sh.c (output_movedouble): Use subreg_regno.
5491         (gen_ashift_hi): Use SUBREG_BYTE.
5492         (regs_used): Use subreg_regno_offset.
5493         (machine_dependent_reorg): Use subreg_regno_offset.
5494         * config/sh/sh.h (INDEX_REGISTER_RTX_P): Use SUBREG_BYTE.
5495         * config/sh/sh.md (DImode and DFmode move splits): Use subreg_regno.
5496         (movdf_i4): Subregs are byte offsets now.
5497         * config/sparc/sparc.c (ultra_find_type): Use SUBREG_BYTE.
5498         * config/sparc/sparc.h (ALTER_HARD_SUBREG): Removed.
5499         (REGMODE_NATURAL_SIZE): Override.
5500         (REG_SIZE): For SUBREG check float mode on SUBREG_REG's mode.
5501         * config/sparc/sparc.md (TFmode move splits): Generate SUBREGs
5502         with byte offsets.
5503         (zero_extendhisi2, zero_extendqidi2_insn, extendhisi2,
5504         extendqihi2, sign_extendqihi2_insn, sign_extendqisi2_insn,
5505         extendqidi2): Generate SUBREGs with byte offsets, also make sure
5506         it is congruent to SUBREG's mode size.
5507         (smulsi3_highpart_v8plus): Fix explicit subregs in rtl to use byte
5508         offsets.
5509         (cmp_siqi_trunc, cmp_siqi_trunc_set, cmp_diqi_trunc,
5510         cmp_diqi_trunc_set, lshrdi3_v8plus+1, lshrdi3_v8plus+2,
5511         lshrdi3_v8plus+3, lshrdi3_v8plus+4): Use proper
5512         SUBREG_BYTE offset for non-paradoxical subregs in patterns.
5513         * config/v850/v850.c (print_operand, output_move_double): Use
5514         subreg_regno function.
5515
5516 2001-04-03  Alexandre Oliva  <aoliva@redhat.com>
5517
5518         * configure.in (target_subdir): Use target_alias, not target.
5519         * configure: Rebuilt.
5520
5521         * config/sh/crtn.asm (init, fini): Restore r15 from r14, not the
5522         other way round.
5523         * config/sh/crti.asm: Fix typos in comments.
5524
5525 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
5526
5527         * pa.h: Revise comments for TARGET_NO_SPACE_REGS and
5528         TARGET_FAST_INDIRECT_CALLS.
5529         * pa.c (override_options): TARGET_NO_SPACE_REGS is now OK with
5530         -fPIC.  Don't warn.
5531         (return_addr_rtx): Short circuit export stub matching when
5532         TARGET_NO_SPACE_REGS.
5533         (output_millicode_call): For out of range calls, make -fPIC
5534         take precedence, then TARGET_PORTABLE_RUNTIME, then ble.  Don't
5535         return before delay slot checks when TARGET_PORTABLE_RUNTIME.
5536         * pa.md: Modify length attr calculation of all millicode insns to
5537         match above.
5538
5539 2001-04-02  Geoffrey Keating  <geoffk@redhat.com>
5540
5541         * configure.in (gcc_cv_as_leb128): Correct name of cache variable.
5542         Require at least 2.11 in the version test.  Specifically check
5543         for and reject GAS version 2.10.90.
5544         * configure: regenerate.
5545
5546 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
5547
5548         * pa.c (override_options): Remove PIC profiling warning.
5549         (hp_profile_labelno): Delete.
5550         (hp_profile_label_rtx): Delete.
5551         (hp_profile_label_name): Delete.
5552         (pa_add_gc_roots): Remove reference to hp_profile_label_rtx.
5553         (output_function_prologue): Remove profiling code and all tests on
5554         profile_flag.  Move store of PIC_OFFSET_TABLE_REGNUM now that
5555         merge_sp_adjust_with_store can work for PIC and profiling.
5556         (hppa_expand_epilogue): Remove profile_flag test.
5557         (hppa_can_use_return_insn_p): Likewise.
5558         (hppa_init_pic_save): Emit before tail_recursion_reentry, and
5559         cater for PROFILE_HOOK.
5560         (hppa_profile_hook): New function.
5561         * pa.h (FUNCTION_PROFILER): Now does nothing.
5562         (PROFILE_HOOK): Define.
5563         (hppa_profile_hook): Declare.
5564         (PROFILE_BEFORE_PROLOGUE): Delete.
5565         (ASM_OUTPUT_REG_PUSH): Delete.
5566         (ASM_OUTPUT_REG_POP): Delete.
5567         * pa.md (call_profiler): Turn it into a call insn, and don't `use'
5568         r24.  Accept function name operand, and use this and a locally
5569         generated label to calculate pc-rel offset to func start.
5570
5571 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5572
5573         * $(HOST_PREFIX_1)errors.o, $(HOST_PREFIX_1)ggc-none.o,
5574         ggc-common.o, ggc-simple.o, ggc-page.o, ggc-none.o: Depend on
5575         $(SYSTEM_H).
5576
5577 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
5578
5579         * dwarf2out.c (dwarf2out_frame_debug_expr): Move errant HIGH and
5580         LO_SUM cases to where they belong.
5581
5582 2001-04-02  Richard Henderson  <rth@redhat.com>
5583
5584         * except.h (lang_eh_type_covers): Mark extern.
5585         (lang_eh_runtime_type): Likewise.
5586
5587 2001-04-02  Zack Weinberg  <zackw@stanford.edu>
5588
5589         * genattr.c, gencheck.c, gencodes.c, genconfig.c, genflags.c,
5590         gengenrtl.c:  Wrap generated header in multiple-include guard.
5591         Improve error checking.
5592
5593 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5594
5595         * configure.in: Don't check for putenv.
5596         * configure: Regenerate.
5597         * gcc.c (putenv): Don't define.
5598         * vax/xm-vms.h: Handle putenv.
5599
5600 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
5601
5602         * ifcvt.c (noce_emit_move_insn): New.
5603         (noce_try_store_flag, noce_try_store_flag_constants,
5604         noce_try_store_flag_inc, noce_try_store_flag_mask,
5605         noce_try_cmove, noce_try_cmove_arith, noce_try_minmax,
5606         noce_try_abs): Use it.
5607         (noce_process_if_block): Likewise.
5608         For STRICT_LOW_PART, take mode from its SUBREG.
5609
5610 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
5611
5612         * fold-const.c (fold): Before optimizing unsigned comparison with
5613         0x7fffffffU, make sure arg0 is integral type.
5614
5615 2001-04-02  Joseph S. Myers  <jsm28@cam.ac.uk>
5616
5617         * c-tree.texi: Document representation of wide strings.
5618
5619 2001-04-01  Richard Henderson  <rth@redhat.com>
5620
5621         * except.h (expand_builtin_dwarf_fp_regnum): Declare.
5622
5623 Sun Apr  1 11:49:05 CEST 2001  Jan Hubicka  <jH@suse.cz>
5624
5625         * i386.md: remove obsoleted comments.
5626         (adddi_?): Rename to adddi_?_rex64; disable for 32bit.
5627         (x86_movsicc_0_m1_rex64): Rename to x86_movdicc_0_m1_rex64;
5628         fix output template.
5629
5630 2001-03-31  Marek Michalkiewicz  <marekm@linux.org.pl>
5631
5632         * config/avr/libgcc.S (__mulhi3): Optimize previous change.
5633
5634 2001-03-30  Bernd Schmidt  <bernds@redhat.com>
5635
5636         * loop.c (load_mems): When generating a load from a pseudo, update
5637         REGNO_LAST_UID.
5638
5639 Fri Mar 30 17:36:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
5640
5641         * i386.c (ix86_split_long_move): Use change address to compensate
5642         stack pointer change in push instruction.
5643
5644 Fri Mar 30 00:31:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
5645
5646         * i386.md (sse_movdfcc_eq): Fix constraint (sse_mov?fcc splitter): Use operands_match_p
5647         instead of rtx_equal_p; fix the output template.
5648
5649 Fri Mar 30 00:21:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
5650
5651         * i386.c (ix86_expand_setcc): Support 64bit.
5652         (ix86_expand_int_movcc): Likewise.
5653         * i386.md (movdicc_rex64, x86_movsicc_0_m1_rex64, movdicc_c_rex64):
5654         New patterns.
5655
5656         * i386.md (allocate_stack_worker): Turn to expander.
5657         (allocate_stack_worker_1, allocate_stack_worker_rex64): New insns.
5658
5659         * i386.c (print_reg): Do not print x86_64 style regs on IA-32
5660
5661 2001-03-29  Richard Henderson  <rth@redhat.com>
5662
5663         * libgcc2.c [L__main]: Include unwind-dw2-fde.h instead of frame.h.
5664
5665 2001-03-28  Matthew Hiller  <hiller@redhat.com>
5666
5667         * config/mn10300/mn10300.md (cmpsi): Fix first alternative's
5668         output template.
5669
5670         * MAINTAINERS: Added self.
5671
5672 2001-03-28  Richard Henderson  <rth@redhat.com>
5673
5674         * Makefile.in (cs-tconfig.h): Depend on CONFIG_H, not GCONFIG_H.
5675         Use ALL_CFLAGS not HOST_CFLAGS for sjlj detection.
5676
5677 2001-03-28  Jim Wilson  <wilson@redhat.com>
5678
5679         * config/ia64/ia64.md (movtf): Change DImode to TFmode in calls to
5680         operand_subword.
5681
5682 2001-03-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5683
5684         * toplev.h (fatal_error): Add ATTRIBUTE_NORETURN.
5685
5686         * tradcif.y (yyerror): Likewise.  Add format specifier in call to
5687         `error'.
5688
5689         * tradcpp.c (macroexpand): Likewise for call to `error_with_line'.
5690
5691 2001-03-28  DJ Delorie  <dj@redhat.com>
5692
5693         * Makefile.in (stage1_build): Revert CFLAGS patch.
5694
5695 2001-03-28  Marek Michalkiewicz  <marekm@linux.org.pl>
5696
5697         * config/avr/libgcc.S (__mulhi3): Correct tests to exit the loop
5698         when multiplier or multiplicand is zero.
5699
5700 2001-03-28  Bernd Schmidt  <bernds@redhat.com>
5701
5702         * cselib.c (hash_rtx): Don't do tail recursion elimination by hand.
5703
5704         * config/ia64/ia64.c (update_set_flags): New function, broken out of
5705         rtx_needs_barrier.
5706         (set_src_needs_barrier): Likewise.
5707         (rtx_needs_barrier): For SET case, use these two functions.  Rework
5708         PARALLEL case to handle all inputs before all outputs.
5709         (emit_insn_group_barriers): Call init_insn_group_barriers only if we
5710         saw a label and no stop bit since then.
5711         (maybe_rotate, process_epilogue): Add prototypes.
5712
5713 2001-03-28  Richard Henderson  <rth@redhat.com>
5714
5715         * config/rs6000/rs6000.h (EPILOGUE_USES): Use TARGET_AIX,
5716         not TARGET_TOC for special toc restore handling.
5717         * config/rs6000/rs6000.md (eh_return): Likewise.
5718
5719 2001-03-28  Richard Henderson  <rth@redhat.com>
5720
5721         * config/sparc/sparc.c (eligible_for_epilogue_delay): False if
5722         current_function_calls_eh_return.
5723         (output_function_epilogue): Handle eh_return.
5724         * config/sparc/sparc.h (DOESNT_NEED_UNWINDER): Remove.
5725         (EH_RETURN_DATA_REGNO): New.
5726         (EH_RETURN_STACKADJ_RTX): New.
5727         (EH_RETURN_HANDLER_RTX): New.
5728         * config/sparc/sparc.md (call/short branch peepholes): Check
5729         can_throw_internal instead of in_same_eh_region.
5730
5731         * config/rs6000/rs6000.c (rs6000_stack_info): Allocate space
5732         for eh_return data registers.
5733         (rs6000_emit_prologue): Save eh_return data registers.
5734         (rs6000_emit_epilogue): Force inline restores if eh_return.
5735         Restore eh_return data registers.  Mind EH_RETURN_STACKADJ_RTX.
5736         * config/rs6000/rs6000.h (rs6000_stack_t): Add ehrd_offset.
5737         (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX): New.
5738         (EPILOGUE_USES): True for TOC_REGISTER if calls_eh_return and
5739         the target uses one.
5740         * config/rs6000/rs6000.md (eh_epilogue, eh_reg_restore): Remove.
5741         (return_eh_si, return_eh_di): Remove.
5742         (eh_return): New, from corpse of eh_epilogue.
5743         (eh_set_lr_si, eh_set_lr_di): New.
5744
5745         * config/i386/i386.c (general_no_elim_operand): Disallow virtual regs.
5746         (ix86_save_reg): If maybe_eh_return, true for EH_RETURN_DATA_REGNOs.
5747         True for pic register if current_function_calls_eh_return.
5748         (ix86_expand_epilogue): Change "emit_return" argument into "style".
5749         Handle eh_return requirements.
5750         * config/i386/i386.h (EH_RETURN_DATA_REGNO): New.
5751         (EH_RETURN_STACKADJ_RTX): New.
5752         * config/i386/i386.md (exception_receiver): Remove.
5753         (eh_return, eh_return_1): New.
5754         * config/i386/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
5755
5756         * config/alpha/alpha.c (alpha_sa_mask): Add EH_RETURN_DATA_REGNOs.
5757         (alpha_mark_machine_status): No eh_epilogue_sp_ofs ...
5758         (alpha_expand_epilogue): ... use EH_RETURN_STACKADJ_RTX instead.
5759         * config/alpha/alpha.h (machine_function): Remove eh_epilogue_sp_ofs.
5760         (EH_RETURN_DATA_REGNO): New.
5761         (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): New.
5762         * config/alpha/alpha.md (eh_epilogue): Remove.
5763         (exception_receiver): Use $26 for ldgp input.
5764         * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
5765
5766 2001-03-28  Richard Henderson  <rth@redhat.com>
5767
5768         * except.c: Rewrite entirely for IA-64 ABI exception handling.
5769         * except.h: Likewise.
5770
5771         * Makefile.in (LIB2ADDEH): Mention unwind-dw2*.c
5772         (LIB2ADDEHDEP): New.
5773         (LIB2FUNCS_EH): Remove.
5774         (LIB2ADD): Remove LIB2ADDEH.
5775         (libgcc.mk): Pass LIB2ADDEHDEP, don't pass LIB2FUNCS_EH.
5776         (LIBGCC_DEPS): Use LIB2ADDEHDEP.
5777         (crt{begin,end}[S].o): Likewise.
5778         (except.o): Update includes.
5779         * mklibgcc.in: Remove LIB2FUNCS_EH, add LIB2ADDEH, LIB2ADDEHDEP.
5780         (libgcc2_c_dep): Use LIB2ADDEHDEP.
5781
5782         * basic-block.h (struct basic_block_def): Remove eh_beg, eh_end.
5783         * bb-reorder.c (reorder_basic_blocks): Don't disable for EH.
5784         * builtins.def (BUILT_IN_EH_RETURN_DATA_REGNO): New.
5785         * builtins.c (expand_builtin): Implement it.
5786         [BUILT_IN_EH_RETURN]: Update for nr arguments change.
5787         * c-common.c (c_common_nodes_and_builtins): Declare it.
5788         * c-decl.c (init_decl_processing): Update __builtin_eh_return.
5789         * calls.c (libfunc_nothrow): Remove.
5790         (emit_library_call_value_1): Don't call it.
5791         * crtstuff.c: Include unwind-dw2-fde.h instead of frame.h.
5792         * dwarf2.h (dwarf_call_frame_info): Add dwarf2.1 elements.
5793         (DW_EH_PE_*): New defines for pointer encoding in .eh_frame.
5794         * dwarf2out.c (struct dw_fde_struct): Add uses_eh_lsda, funcdef_number.
5795         (current_funcdef_number): Globalize.
5796         (output_call_frame_info): Emit frame data if an lsda is needed.
5797         Generate augmentation for personality routine.  Don't play with
5798         difference symbols.
5799         (dwarf2out_begin_prologue): Record funcdef_number.
5800         * dwarf2out.h (current_funcdef_number): Declare.
5801         * expr.c (expand_expr): Update for except.h name changes.
5802         Remove POPDCC_EXPR, POPDHC_EXPR.  Add EXC_PTR_EXPR.
5803         * expr.h (LTI_throw, LTI_rethrow): Remove.
5804         (LTI_sjthrow, LTI_sjpopnthrow, LTI_terminate): Remove.
5805         (LTI_eh_rtime_match): Remove.
5806         (LTI_unwind_resume, LTI_eh_personality): Add.
5807         (LTI_unwind_sjlj_register, LTI_unwind_sjlj_unregister): Add.
5808         * final.c (final): Don't call check_exception_handler_labels,
5809         init_insn_eh_region, or free_insn_eh_region.
5810         (final_scan_insn): Always emit debug labels for
5811         NOTE_INSN_EH_REGION notes.
5812         * flags.h (flag_new_exceptions): Remove.
5813         * flow.c (entry_exit_blocks): Remove eh_beg, eh_end.
5814         (record_active_eh_regions): Remove.
5815         (count_basic_blocks): Check all instructions for REG_EH_REGION.
5816         Use can_throw_internal.
5817         (find_basic_blocks_1): Likewise.
5818         (move_stray_eh_region_notes): Remove.
5819         (find_label_refs): No eh_return_stub_label.
5820         (make_edges): Likewise.  No init/free_eh_nesting_info.  Handle RESX.
5821         (make_eh_edge): No eh_nest_info.  Update for reachable_handlers
5822         changes.
5823         (delete_unreachable_blocks): Don't track deleted handlers.
5824         (flow_delete_block): Use maybe_remove_eh_handler.
5825         (delete_eh_regions): Remove.
5826         (merge_blocks): Don't check for eh region match.
5827         (mark_regs_live_at_end): Handle EH_RETURN_DATA_REGNO,
5828         EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX.
5829         (init_propagate_block_info): Disable dead frame store optimization
5830         when current_function_calls_eh_return.
5831         (dump_bb): Don't print eh_beg, eh_end.
5832         * function.c (fixup_var_refs): No catch_clauses.
5833         (expand_function_end): Likewise.  Call expand_eh_return before
5834         the return register use.  Call sjlj_emit_function_exit_after.
5835         (expand_function_start): Force pseudo DECL_RESULT if sjlj exceptions.
5836         * function.h (struct function): Add calls_eh_return, uses_eh_lsda.
5837         * ifcvt.c (dead_or_predicable): Remove eh region check.
5838         * integrate.c (function_cannot_inline_p): Disallow __builtin_eh_return.
5839         Don't check for EH vs parameters.
5840         (expand_inline_function_eh_labelmap, eif_eh_map): Remove.
5841         (expand_inline_function): Call duplicate_eh_regions.
5842         (copy_insn_list): Don't handle NOTE_INSN_EH_REGION_BEG/END.
5843         (copy_insn_notes): Remap REG_EH_REGION notes.
5844         (copy_rtx_and_substitute): Remove SYMBOL_REF_NEED_ADJUST check.
5845         * integrate.h (struct inline_remap): Add local_return_label.
5846         * jump.c (jump_optimize_1): Don't init/free_insn_eh_region, nor
5847         check_exception_handler_labels, nor exception_optimize.
5848         (find_cross_jump): No EH region check.
5849         * optabs.c (init_optabs): Update for changed eh libfuncs.
5850         * rtl.def (RESX): New.
5851         * rtl.h (SYMBOL_REF_NEED_ADJUST): Remove.
5852         * stmt.c (expand_decl_cleanup): Simplify using_eh_for_cleanups_p
5853         checks.  Update for except.h name changes.
5854         (expand_cleanups): Likewise.
5855         (expand_dcc_cleanup, expand_dhc_cleanup): Remove.
5856         * toplev.c (dump_file_index, dump_file): Add .02.eh dump.
5857         (compile_file): Call init_eh before init_optabs.  Don't
5858         output_exception_table here.
5859         (rest_of_compilation): Call convert_from_eh_region_ranges,
5860         convert_to_eh_region_ranges, output_function_exception_table.
5861         Don't emit_eh_context.
5862         * tree.def (POPDHC_EXPR, POPDCC_EXPR): Remove.
5863         (EXC_PTR_EXPR): New.
5864
5865         * md.texi (eh_epilogue): Remove.
5866         (eh_return): Document.
5867         * tm.texi (EH_RETURN_DATA_REGNO): Document.
5868         (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): Document.
5869
5870         * eh-common.h: Remove file.
5871         * frame-dwarf2.c, frame.c, frame.h: Remove files.
5872         * libgcc2.c (L_eh): Remove.
5873
5874         * unwind-dw2-fde.c: New file, largely copied from frame.c.
5875         * unwind-dw2-fde.h: New file.
5876         * unwind-dw2.c: New file, largely cribbed from frame-dwarf2.c.
5877         * unwind-sjlj.c, unwind.h, unwind.inc: New files.
5878         * libgcc-std.ver: Update for eh symbols.
5879
5880 2001-03-27  Richard Henderson  <rth@redhat.com>
5881
5882         * regmove.c (perhaps_ends_bb_p): Use can_throw_internal to
5883         reduce false positives.
5884         (regmove_optimize): Disable if flag_non_call_exceptions.
5885
5886         * stmt.c (expand_return): Remove always true predicate.
5887         (expand_decl_cleanup_no_eh): Remove dead code.
5888
5889         * sched-deps.c (sched_analyze_insn): Consolidate scheduling
5890         barrier code.  Add a scheduling barrier if a non-call insn
5891         can throw internally.
5892
5893         * rtlanal.c (rtx_addr_can_trap_p): Virtual registers cannot trap.
5894         Auto-inc addresses trap only if their base register does.
5895
5896         * except.c (can_throw_internal): Rename from can_throw.
5897         * except.h, resource.c: Update references.
5898
5899         * integrate.c (copy_insn_list): Use returnjump_p.
5900         (copy_insn_notes): Recurse for CALL_PLACEHOLDER.
5901
5902         * function.h (struct function): Move all boolean valued fields
5903         to single bit fields at the end of the struct.
5904
5905         * bb-reorder.c, dwarf2out.c, except.c, except.h, flow.c,
5906         jump.c, toplev.c:
5907         Rename asynchronous_exceptions to flag_non_call_exceptions.
5908
5909         * gthr-single.h (UNUSED): New.  Distinguish between how C
5910         and C++ mark unused function arguments.  Use throughout.
5911
5912         * Makefile.in (cs-tconfig.h): Copy USING_SJLJ_EXCEPTIONS
5913         value to target configuration header.
5914         * configure.in (CONFIG_SJLJ_EXCEPTIONS): New.
5915         * config.in, configure: Rebuild.
5916         * except.h (USING_SJLJ_EXCEPTIONS): New.  Define based on
5917         configuration and target defines.
5918         (exceptions_via_longjmp): Remove.
5919         * dwarf2out.c, except.c, final.c, toplev.c, config/ia64/ia64.c:
5920         Use USING_SJLJ_EXCEPTIONS instead of exceptions_via_longjmp.
5921
5922         * except.h (flag_non_call_exceptions): Move ...
5923         * flags.h: ... here.
5924
5925         * combine.c (distribute_notes) [REG_EH_REGION]: If non-call
5926         exceptions, put the note on the trapping instruction.
5927
5928         * flags.h (flag_new_exceptions): Remove.
5929         * toplev.c: Don't set it.
5930         * final.c: Don't check it.
5931         * except.c: Provide stub definition.
5932
5933         * flow.c (tidy_fallthru_edges): Don't combine complex edges.
5934         (calculate_global_regs_live): Kill call-clobbered registers
5935         across exception edges.
5936         * reg-stack.c (convert_regs_1): Kill the entire target stack
5937         across non-call exception edges.
5938
5939         * flow.c (cleanup_cfg): Take no argument.
5940         * output.h, sibcall.c, toplev.c: Update all calls.
5941
5942 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5943
5944         * configure.in: Don't check for bcopy.
5945         * configure, config.in: Regenerate.
5946
5947         * system.h: Don't define or prototype bcopy, instead poison it.
5948
5949 2001-03-27  Richard Henderson  <rth@redhat.com>
5950
5951         * function.c (expand_function_start): Set DECL_REGISTER on
5952         a pseudo used for DECL_RESULT.
5953
5954         * rtl.h (LCT_NORETURN): New.
5955         * calls.c (emit_library_call_value_1): Handle it.
5956
5957 2001-03-27  Stan Shebs  <shebs@apple.com>
5958
5959         * objc/objc-act.c (objc_init): Use dump_base_name.
5960         (gen_declaration): Clear the buffer arg.
5961         (gen_declaration_1): New function, body of gen_declaration.
5962         (adorn_decl): Call gen_declaration_1 instead of gen_declaration.
5963         (gen_method_decl): Ditto, plus always clear buffer arg.
5964         (error_with_ivar): Simplify.
5965         (warn_with_method): Ditto.
5966         (build_message_expr): Don't clear buffers.
5967         (dump_interface): Ditto.
5968         (objc_debug): Ditto.
5969         (build_keyword_selector): Clear the buffer by only zeroing
5970         the first element.
5971         (objc_implementation_context): Declare.
5972         (start_class): Warn about missing @end.
5973         (finish_objc): Ditto.
5974
5975 2001-03-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5976
5977         * reload1.c (eliminate_regs): Don't abort on MEM USEs.
5978
5979 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5980
5981         * Makefile.in (SYSTEM_H): Define.
5982         Depend on $(SYSTEM_H), not system.h.
5983
5984         * objc/Make-lang.in: Depend on $(SYSTEM_H), not system.h.
5985
5986 2001-03-27  Jim Wilson  <wilson@redhat.com>
5987
5988         * final.c (final_scan_insn, case NOTE_INSN_BASIC_BLOCK): Call
5989         IA64_UNWIND_EMIT.
5990         * config/ia64/ia64.c (block_num, need_copy_state): New static vars.
5991         (process_epilogue): New static function.
5992         (process_set): Call process_epilogue instead of emitting .restore
5993         directly.
5994         (process_for_unwind_directive): Handle NOTE_INSN_BASIC_BLOCK.
5995
5996         * flow.c (struct reg_cond_life_info): New fields orig_condition
5997         and stores.
5998         (init_propagate_block_info): Set new fields.
5999         (mark_regno_cond_dead): Set and use new fields.
6000         (flush_reg_cond_reg_1): Likewise.
6001         (and_reg_cond, case AND): Check for redundant AND conditions.
6002         (mark_used_reg): Delete unnecessary clears before freeing splay trees.
6003         Set new fields.
6004
6005 2001-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
6006
6007         * cppmacro.c (stringify_arg): Null terminate strings.
6008
6009 2001-03-27  Zack Weinberg  <zackw@stanford.edu>
6010
6011         * config.gcc (m68hc11-*-*, m68hc12-*-*): Convert to new tm.h
6012         inclusion style.  xm-m68hc11.h no longer exists.
6013         * config/m68hc11/xm-m68hc11.h: Delete file.
6014         * config/m68hc11/m68hc12.h: Convert to new tm.h inclusion style.
6015
6016         * config/m68hc11/m68hc11.h: Convert to new tm.h inclusion style.
6017         Don't define GCC_VERSION, N_, or PARAMS; don't include
6018         gansidecl.h or stdio.h.  Define inhibit_libc here.
6019         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
6020         Delete code conditioned on #if GCC_VERSION == 2095.
6021
6022         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
6023         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
6024         Delete code conditioned on #if GCC_VERSION == 2095.
6025
6026 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6027
6028         * system.h: Include symcat.h.
6029         (STRINGIFY): Don't define.
6030
6031         * configure.in: Adjust comment.
6032
6033         * builtins.c: Use STRINGX, not STRINGIFY.
6034         * gencheck.c: Likewise.
6035         * gengenrtl.c: Likewise.
6036         * protoize.c: Likewise.
6037
6038         * cpplex.c: Don't include symcat.h.
6039         * cpplib.c: Likewise.
6040
6041         * gansidecl.h (HAVE_STRINGIZE): Don't define.
6042
6043 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
6044
6045         * c-typeck.c (digest_init): Fold init expression.
6046
6047 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6048
6049         * sbitmap.c (sbitmap_copy): Call memcpy, not bcopy.
6050
6051 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
6052
6053         * except.c (eh_regs): Save results of build_pointer_type to a temp
6054         as FUNCTION_VALUE macro may evaluate its args multiple times.
6055
6056 2001-03-26  Mark Mitchell  <mark@codesourcery.com>
6057
6058         * c-common.h (DECL_NUM_STMTS): New macro.
6059         * c-decl.c (duplicate_decls): Copy DECL_NUM_STMTS, not
6060         DECL_FRAME_SIZE.
6061         (pushdecl): Likewise.
6062         * c-semantics.c (add_stmt): Update DECL_NUM_STMTS.
6063         * integrate.c (expand_inline_function): Don't check
6064         DECL_FRAME_SIZE.
6065         * print-tree.c (print_node): Don't print it.
6066         * toplev.c (rest_of_compilation): Don't try to inline when
6067         flag_no_inline is on.
6068         * tree.h (DECL_FRAME_SIZE): Remove.
6069         (tree_decl): Adjust accordingly.
6070
6071 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6072
6073         * combine.c (try_combine): Use memcpy, not bcopy.
6074
6075         * genattrtab.c (expand_units): Likewise.
6076
6077 Mon Mar 26 15:55:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
6078
6079         * i386.md (push mem DI peep2): New.
6080         (mov 0, mov -1 peep2): Handle 64bit.
6081         (lea to arithmetics peep2): Handle 64bit leas.
6082         (rsp arithmetics to push/pop peep2s): New.
6083
6084         * i386.md (truncdfsf2_3, trunctfsf2_2): Change predicate to memory_operand.
6085
6086 Mon Mar 26 14:35:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
6087
6088         * i386.c (struct machine_function): Add save_varrargs_registers.
6089         (ix86_save_varrargs_registers): New macro.
6090         (ix86_frame_layout): Support 64bit; support red zones and varrargs area.
6091         (ix86_expand_prologue): Likewise.
6092         (ix86_emit_epilogue_esp_adjustement): Likewise.
6093         (ix86_expand_epilogue): Likewise.
6094         * i386.md (pro_epilogue_adjust_stack): Turn to expander; support 64bit.
6095         (pro_epilogue_adjust_stack_1): New insn.
6096         (pro_epilogue_adjust_stack_rex64): Likewise.
6097         * i386.h (MASK_NO_RED_ZONE): New constant.
6098         (TARGET_RED_ZONE): New macro.
6099         (TARGET_OPTIONS): Add "red-zone" and "no-red-zone"
6100         (RED_ZONE_SIZE): New constant.
6101         (RED_ZONE_RESERVE): New constant.
6102
6103 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6104
6105         * toplev.c (set_float_handler): Use memcpy, not bcopy.
6106
6107 2001-03-25  Kazu Hirata  <kazu@hxi.com>
6108
6109         * config/h8300/h8300.md (umodqi3): Output a tab instead of a
6110         space.
6111         (modqi3): Likewise.
6112         (umodhi3): Likewise.
6113         (modhi3): Likewise.
6114
6115 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6116
6117         * mkconfig.sh (DEFINES): Handle entries with '='.
6118
6119         * config.gcc: Don't use i370/xm-mvs.h or ns32k/xm-pc532-min.h.
6120         Set xm_defines to MACRO=value instead.
6121
6122         * i370/xm-mvs.h: Delete.
6123
6124         * ns32k/xm-pc532-min.h: Likewise.
6125
6126 Sun Mar 25 15:01:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
6127
6128         * i386.md (ashldi3, ashrdi3, lshrdi3): Change predicates to
6129         shiftdi_operand;
6130         use ix86_expand_binary_operator
6131         (?sh??i_?): Disable for 64bit.
6132         * i386.h (PREDICATE_CODES): Add shiftdi_operand.
6133         * i386.c (shiftdi_operand): New predicate.
6134
6135         * (ashldi3_1_rex64, ashldi3_cmp_rex64, ashlsi3_1_zext, ashlsi3_cmp_zext,
6136         ashrdi3_63_rex64, ashrdi3_1_one_bit_rex64, ashrdi3_1_rex64,
6137         ashrdi3_one_bit_cmp_rex64, ashrdi3_cmp_rex64, ashrsi3_31_zext,
6138         ashrsi3_1_one_bit_zext, ashrsi3_1_zext, ashrsi3_one_bit_cmp_zext,
6139         ashrsi3_cmp_zext, lshrdi3_1_one_bit_rex64, lshrdi3_1_rex64,
6140         lshrdi3_cmp_one_bit_rex64, lshrdi3_cmp_rex64, lshrsi3_1_one_bit_zext,
6141         lshrsi3_1_zext, lshrsi3_cmp_one_bit_zext, lshrsi3_cmp_zext,
6142         rotlsi3_1_one_bit_rex64, rotldi3_1_rex64,
6143         rotlsi3_1_one_bit_zext, rotlsi3_1_zext, rotrdi3_1_one_bit_rex64,
6144         rotrdi3_1_rex64, rotrsi3_1_one_bit_zext, rotrsi3_1_zext): New patterns.
6145         (rotldi3, rotrdi3): New expanders.
6146
6147 Sun Mar 25 14:25:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
6148
6149         * i386.md (movstrsi): Move offline.
6150         (movstrdi): New.
6151         (strmovdi_rex64): New.
6152         (strmov?i): Accept 64bit.
6153         (strmov?i_rex64): New.
6154         (strmov?i_rex_1): New.
6155         (strmov?i_1): Disable for 64bit.
6156         (rep_mov?i_rex64): New.
6157         (rep_mov?i): Disable for 64bit.
6158         (clrstrsi): Move offline.
6159         (strset?i_rex64): New.
6160         (strset?i: Accept 64bit.
6161         (rep_stos?i): Disable for 64bit.
6162         (rep_stos?i_rex64): New.
6163         (strset?i_rex_1): New.
6164         (strset?i_1): Disable for 64bit.
6165         (cmpstrsi): Accept 64bit.
6166         (cmpstrsi_nz_1): Rename to cmpstrqi_nz_1; Disable for 64bit.
6167         (cmpstrqi_nz_rex_1): New.
6168         (cmpstrsi_1): Rename to cmpstrqi_1; Disable for 64bit.
6169         (strlensi): Move offline.
6170         (strlendi): New.
6171         (strlenqi_1): Disable for 64bit; fix constraints.
6172         (strlenqi_rex_1): New.
6173         * i386.c (ix86_adjust_counter): New static function.
6174         (ix86_zero_extend_to_Pmode): Likewise.
6175         (ix86_expand_aligntest): Likweise.
6176         (ix86_expand_strlensi_unroll_1): Make static; update for 64bit.
6177         (ix86_expand_movstr): New global function.
6178         (ix86_expand_clrstr): New global function.
6179         (ix86_expand_strlen): New global function.
6180         * i386-protos.h (ix86_expand_movstr, ix86_expand_clrstr,
6181         ix86_expand_strlen): Declare.
6182         (ix86_expand_strlensi_unroll_1): Delete.
6183
6184 Sat Mar 24 23:15:19 CET 2001  Jan Hubicka  <jh@suse.cz>
6185
6186         * i386.md (cmpdi): Fix operand predicates.
6187         (cmpdi_ccno_1_rex64, cmpdi_minus_1_rex64, cmpdi_1_rex64,
6188          cmpdi_1_insn_rex64): New patterns.
6189         (adddi3): Turn to expander.
6190         (adddi3_1, adddi3_carry_rex64, adddi3_cc_rex64): New patterns.
6191         (addsi3_carry_zext): New pattern.
6192         (adddi_?_rex64): New patterns and splitters.
6193         (addsi_?_zext): New patterns.
6194         (subsi3_carry_zext): New pattern.
6195         (subdi_?_rex64): New patterns and splitters.
6196         (iorsi_?_zext): New patterns.
6197         (iordi_?_rex64): New patterns and splitters.
6198         (iorsi_?_zext): New patterns.
6199         (iorsi_?_zext_imm): New patterns.
6200         (xorsi_?_zext): New patterns.
6201         (xordi_?_rex64): New patterns and splitters.
6202         (xorsi_?_zext): New patterns.
6203         (negdi*): New patterns.
6204         (one_cmpldi*): Likewise.
6205         (one_cmplsi*_zext, negsi*_zext): Likewise.
6206         (testqi_ext_3_rex64): New pattern.
6207
6208 Sat Mar 24 21:13:28 CET 2001  Jan Hubicka  <jh@suse.cz>
6209
6210         * i386-protos.h (ix86_split_long_move): Return void.
6211         * i386.c (ix86_split_to_parts): Handle 64bit target.
6212         (ix86_split_long_move): Likewise.
6213         * i386.md (all calls to ix86_split_long_move): Update.
6214
6215 2001-03-23  Richard Henderson  <rth@redhat.com>
6216
6217         * config/mips/iris4.h (ASM_OUTPUT_ASCII): Rename local variables
6218         to avoid shadowing arguments.
6219
6220 2001-03-23  Jakub Jelinek  <jakub@redhat.com>
6221
6222         * varasm.c (make_decl_rtl): Don't append var_labelno discriminator
6223         to variable names where DECL_NAME is different from
6224         DECL_ASSEMBLER_NAME.
6225
6226 2001-03-23  Jim Wilson  <wilson@redhat.com>
6227
6228         * varasm.c (make_decl_rtl): Add TREE_PUBLIC check to abort test.
6229         (assemble_alias): Call make_decl_rtl.
6230
6231 Fri Mar 23 16:59:08 2001  J"orn Rennecke <amylaar@redhat.com>
6232
6233         * stor-layout.c (layout_type): Give OFFSET_TYPE a MODE_INT type.
6234
6235 2001-03-23  Bryce McKinlay  <bryce@albatross.co.nz>
6236
6237         * extend.texi: Document the "java_interface" attribute.
6238
6239 2001-03-22  Zack Weinberg  <zackw@stanford.edu>
6240
6241         * mkconfig.sh: Use a subshell with redirected stdout,
6242         instead of closing stdout and confusing commands that run
6243         afterward.  Throw away output of cmp.
6244
6245 2001-03-22  Gordon Sadler  <gbsadler1@lcisp.com>
6246
6247         * Makefile.in (stage1_build): Pass CFLAGS to stage1_build.
6248
6249 Thu Mar 22 22:15:59 CET 2001  Jan Hubicka  <jh@suse.cz>
6250
6251         * i386.md (zero_extendsidi2_32): Break out from ...
6252         (zero_extendsidi2): ... here ; turn to expander.
6253         (zero_extendsidi2_rex64): New.
6254         (extendsidi2_32): Break out from ...
6255         (extendsidi2): ... here ; turn to expander.
6256         (extendsidi2_rex64): New.
6257         (zero_extendhidi2, zero_extendqidi2, extendhidi2, extendqidi2): New.
6258         (trunc?f?f splitters): Add 64bit versions.
6259
6260 Thu Mar 22 21:41:16 CET 2001  Jan Hubicka  <jh@suse.cz>
6261
6262         * i386.md (pushsi, pushsi2_prologue): Disable.
6263         (pushsi2_rex64): New.
6264         (movabs?i_1_rex64, movabs?i_2_rex64): New.
6265         (movqi_ext_1): Disable for 64bit.
6266         (movqi_ext_1_rex64): New.
6267         (pushdi2_rex64): New pattern, peep2s and splitter.
6268         (pushdi2_prologue_rex64): New pattern.
6269         (popdi1_epilogue_rex64, popdi1, movdi_xor_rex64, movdi_or_rex64):
6270         Likewise.
6271         (movdi splitters): Disable for 64bit.
6272         (movdi_1_rex64): New pattern, peep2s and splitters.
6273         (swapdi): New pattern.
6274         (pushsf): Disable for 64bit.
6275         (pushsf_rex64): New pattern and splitter.
6276         (pushdf_nointeger): Disable for 64bit.
6277         (pushdf_integer): Handle the 64bit case.
6278         (pushtf): Likewise; update splitters.
6279
6280 2001-03-22  Richard Henderson  <rth@redhat.com>
6281
6282         * mkconfig.sh: Include insn-flags.h.
6283         * Makefile.in (CONFIG_H): Include insn-flags.h.
6284         (lots of objects): Remove insn-codes.h and insn-flags.h.
6285
6286         * alias.c, bb-reorder.c, calls.c, do-loop.c, flow.c, haifa-sched.c,
6287         integrate.c, jump.c, loop.c, predict.c, profile.c, reg-stack.c,
6288         regmove.c, reorg.c, a29k/a29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
6289         avr/avr.c, clipper/clipper.c, convex/convex.c, d30v/d30v.c,
6290         dsp16xx/dsp16xx.c, fr30/fr30.c, h8300/h8300.c, i370/i370.c,
6291         i386/i386.c, i860/i860.c, ia64/ia64.c, m32r/m32r.c, m68hc11/m68hc11.c,
6292         m68k/m68k.c, m88k/m88k.c, mcore/mcore.c, mn10200/mn10200.c,
6293         mn10300/mn10300.c, ns32k/ns32k.c, pa/pa.c, pdp11/pdp11.c,
6294         pj/pj.c, romp/romp.c, rs6000/rs6000.c, sh/sh.c, sparc/sparc.c,
6295         v850/v850.c, vax/vax.c:
6296         Don't include insn-flags.h.
6297
6298         * diagnostic.c, expr.h, reload.c, toplev.c:
6299         Don't include insn-codes.h.
6300
6301         * builtins.c, combine.c, except.c, explow.c, expmed.c, expr.c,
6302         final.c, function.c, optabs.c, recog.c, reload1.c, stmt.c,
6303         c4x/c4x.c, i960/i960.c, mips/mips.c:
6304         Don't include insn-codes.h or insn-flags.h.
6305
6306         * genemit.c, genopinit.c, genoutput.c: Don't include insn-codes.h
6307         or insn-flags.h in the generated code.
6308         * genflags.c (gen_proto): Use "struct rtx_def *" instead of "rtx".
6309         (main): Forward declare struct rtx_def.
6310
6311 2001-03-22  Joseph S. Myers  <jsm28@cam.ac.uk>
6312
6313         * invoke.texi (-ffast-math): Remove duplicate line about
6314         __FAST_MATH__.
6315
6316         * gcc.texi: Remove more obsolete documentation of bugs and
6317         installation problems.
6318
6319 2001-03-21  Kazu Hirata  <kazu@hxi.com>
6320
6321         * config/h8300/h8300.md (movsi_h8300hs): Split the 2nd alternative
6322         into two parts.
6323
6324 2001-03-20  Jason Merrill  <jason@redhat.com>
6325
6326         * collect2.c (is_ctor_dtor): Always use '_' in the file fn names,
6327         not '.' or '$'.
6328         * tree.c (FILE_FUNCTION_FORMAT): Likewise.
6329         * varasm.c (CHKR_PREFIX): Likewise.
6330
6331 Wed Mar 21 14:27:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6332
6333         * gcse.c (hash_scan_set): An expression is not anticipatible if it
6334         is part of a multi-SET insn.
6335
6336         * cse.c (find_comparison_args): Remove previous change.
6337         * ifcvt.c (noce_process_if_block): When moving an insn, remove any
6338         REG_EQUAL notes.
6339
6340         * config/i386/i386.md (conditional_trap): Remove warning.
6341
6342         * recog.c (push_operand): Fix error in last change that caused
6343         undefined symbol on many targets.
6344
6345         * sdbout.c: #include ggc.h.
6346         (sdbout_init): Move to end of file.
6347         Call ggc_add_tree_root for anonymous_types.
6348         (sdbout_symbol): Use DECL_NAME for local, not DECL_ASSEMBLER_NAME.
6349         (sdbout_one_type): Use DECL_NAME for field name.
6350         * Makefile.in (sdbout.o): Show includes ggc.h.
6351
6352 Wed Mar 21 20:33:26 CET 2001  Jan Hubicka  <jh@suse.cz>
6353
6354         * i386.c (override_options): Default ix86_regparm to REGPARM_MAX.
6355         (override_options): Use properlimits for preferred_stack_boundary.
6356         (ix86_valid_type_attribute_p): Disable stdcall and cdecl attributes
6357         on x86_64.
6358         (ext_register_operand): Accept DImode.
6359         (load_pic_register): Abort on 64bit.
6360         (gen_push): Use Pmode instead of SImode.
6361         (ix86_save_reg): Pic reg is never used on 64bit.
6362         (ix86_expand_prologue): Likewise.
6363         (ix86_emit_save_regs): Use Pmode instead of SImode.
6364         (legitimate_address_p): Check displacement for 64bit.
6365         (print_operand): Avoid outputting of (%rip) on 64bit.
6366         (print_operand_address): Output (%rip) where possible.
6367         (split_di): Abort on 64bit registers.
6368         (ix86_expand_branch): DImode comparison is simple for x86_64.
6369         (memory_address_length): Recognize memory addresses formed using
6370         PRE/POST modify.
6371         (ix86_data_alignment, ix86_local_alignment): Align arrays to 16 bytes
6372         for x86_64.
6373         * i386.h (TARGET_USE_SAHF): Disable for 64bit.
6374
6375 Wed Mar 21 18:51:19 CET 2001  Jan Hubicka  <jh@suse.cz>
6376
6377         * recog.c (push_operand): Recognize new format of push instructions.
6378
6379 Wed Mar 21 10:53:57 CET 2001  Jan Hubicka  <jh@suse.cz>
6380
6381         * i386.md (pushqi1): New.
6382         * i386-protos.h (x86_64_general_operand, x86_64_szext_general_operand,
6383         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
6384         x86_64_immediate_operand, x86_64_immediate_operand,
6385         x86_64_zext_immediate_operand): Declare.
6386         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
6387         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
6388         x86_64_immediate_operand, x86_64_immediate_operand,
6389         x86_64_zext_immediate_operand): define.
6390         * i386.h (PREDICATE_CODES): Add new predicates.
6391
6392 Wed Mar 21 10:25:13 CET 2001  Jan Hubicka  <jh@suse.cz>
6393
6394         * i386.md (pophi1, popqi1, pushqi1): Remove.
6395
6396         * expr.c (emit_single_push_insn): New function.
6397         (move_by_pieces): Accept NULL as destination for push instructions.
6398         (gen_push_operand): Kill.
6399         (emit_push_insn): Pass NULL when pushing; avoid updating of
6400         stack_pointer_delta.
6401         * expr.h (gen_push_operand): Kill.
6402
6403 Tue Mar 20 20:15:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6404
6405         * rtl.texi (COMPARE): Clarify documentation and reference section
6406         on comparisons.
6407
6408 2001-03-20  Stan Shebs  <shebs@apple.com>
6409
6410         * objc/objc-act.c (get_static_reference): Use NULL_TREE.
6411         (get_object_reference): Ditto.
6412         (error_with_ivar): Use error_with_file_and_line.
6413         (warn_with_method): Use warning_with_file_and_line.
6414
6415 2001-03-20  Tom Tromey  <tromey@redhat.com>
6416
6417         * libgcc-std.ver: Added __fixunssfsi and __fixunsdfsi.
6418
6419 2001-03-20  Mark Mitchell  <mark@codesourcery.com>
6420
6421         * tree.c (set_decl_assembler_name): Set DECL_ASSEMBLER_NAME for
6422         variables that are TREE_PUBLIC, even if not TREE_STATIC.
6423
6424 2001-03-20  DJ Delorie  <dj@redhat.com>
6425
6426         * Makefile.in (install-libgcc): Pass complete list of variables.
6427         (install-multilib): Ditto.
6428
6429 2001-03-20  David Billinghurst  <David.Billinghurst@riotinto.com>
6430
6431         * config/i386/cygwin.h: Declare ctor_section, dtor_section
6432         drectve_section, switch_to_section.
6433
6434         * winnt.c: Declare functions associated_type, gen_stdcall_suffix,
6435         i386_pe_dllexport_p, i386_pe_dllimport_p, i386_pe_mark_dllexport,
6436         i386_pe_mark_dllimport.
6437
6438 2001-03-20  David Billinghurst <David.Billinghurst@riotinto.com>
6439
6440         * config/i386/cygwin.h: Include <stdio.h> Declare and constify
6441         functions i386_pe_*.
6442
6443         * config/i386/winnt.c: Include "tm_p.h" and "toplev.h" Constify
6444         i386_pe_* functions with char * arguments.
6445
6446 2001-03-20  Alexandre Oliva  <aoliva@redhat.com>
6447
6448         * config/sh/sh.md (movsf_ie): Fix output patterns for fpul load
6449         and store.
6450         (movsi_ie): Introduce fpul store.
6451
6452 2001-03-20  Alan Modra  <alan@linuxcare.com.au>
6453
6454         * Makefile.in (OBJS): Remove hashtab.o.
6455
6456 2001-03-19  Stan Shebs  <shebs@apple.com>
6457
6458         * objc/objc-act.c (maybe_objc_method_name): Remove, never called.
6459         * c-lang.c (maybe_objc_method_name): Ditto.
6460         * c-tree.h (maybe_objc_method_name): Remove decl.
6461
6462 2001-03-19  Tom Tromey  <tromey@redhat.com>
6463
6464         * gcc.c (init_gcc_specs): Fix comment.
6465
6466 2001-03-19  Mark Mitchell  <mark@codesourcery.com>
6467
6468         Compute DECL_ASSEMBLER_NAME lazily.
6469         * tree.h (DECL_ASSEMBLER_NAME): Compute it lazily.
6470         (DECL_ASSEMBLER_NAME_SET_P): New macro.
6471         (SET_DECL_ASSEMBLER_NAME): Likewise.
6472         (COPY_DECL_ASSEMBLER_NAME): Likewise.
6473         (set_decl_assembler_name): Declare.
6474         (lang_set_decl_assembler_name): Likewise.
6475         * tree.c (lang_set_decl_assembler_name): New variab.e
6476         (set_decl_assembler_name): New function.
6477         (init_obstacks): Set lang_set_decl_assembler_name.
6478         (build_decl): Don't set DECL_ASSEMBLER_NAME.
6479         * c-decl.c (duplicate_decls): Use SET_DECL_ASSEMBLER_NAME,
6480         COPY_DECL_ASSEMBLER_NAME, etc.  Don't set DECL_ASSEMBLER_NAME
6481         where it's not necessary.
6482         (builtin_function): Likewise.
6483         (finish_decl): Likewise.
6484         * dbxout.c (dbxout_type_methods): Likewise.
6485         * ggc-common.c (ggc_mark_trees): Likewise.
6486         * profile.c (output_func_start_profiler): Likewise.
6487         * varasm.c (make_decl_rtl): Likewise.
6488
6489         * cse.c (find_comparison_args): Update documentation.  Fix
6490         mishandling of COMPARE operations.
6491
6492         * tree.def (ABS_EXPR): Add documentation.
6493         * fold-const.c (fold): Improve folding of ABS_EXPRs.
6494
6495 2001-03-19  Zack Weinberg  <zackw@stanford.edu>
6496
6497         * Makefile.in (hash.o): Depend on $(GCONFIG_H), not $(CONFIG_H).
6498
6499 2001-03-19  Jakub Jelinek  <jakub@redhat.com>
6500
6501         * crtstuff.c (init_dummy): Use CRT_END_INIT_DUMMY if defined.
6502         Remove ia32 linux PIC kludge and move it...
6503         * config/i386/linux.h (CRT_END_INIT_DUMMY): ...here.
6504
6505 Mon Mar 19 18:53:54 CET 2001  Jan Hubicka  <jh@suse.cz>
6506
6507         * i386.md (absdf2 expander): Fix 64bit case.
6508
6509 2001-03-19  Brad Lucier  <lucier@math.purdue.edu>
6510
6511         * Makefile.in: Have splay-tree.o depend on $(GCONFIG_H).
6512
6513 2001-03-16  Andrew Haley  <aph@cambridge.redhat.com>
6514
6515         * config/ia64/libgcc-ia64.ver: Add __ia64_backtrace.
6516
6517 2001-03-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6518
6519         * README.X11: Remove obsolete file.
6520
6521 2001-03-18  Anthony Green  <green@redhat.com>
6522
6523         * config/pj/pj.h: Remove some trailing commas.
6524         (ASM_SPEC): Use -EB and -EL, not -mb and -ml.
6525
6526 2001-03-18  Richard Henderson  <rth@redhat.com>
6527
6528         * defaults.h (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Move from ...
6529         * calls.c: ... here.
6530         * combine.c, expr.c, final.c, function.c toplev.c: Don't provide
6531         defaults for them here.
6532
6533 2001-03-17  Anthony Green  <green@redhat.com>
6534
6535         * config/pj/lib1funcs.S: Fix broken comment.
6536         * config/pj/pj.h (LOCAL_LABEL_PREFIX): Prefix internal
6537         labels with '.'.
6538
6539 2001-03-18  Joseph S. Myers  <jsm28@cam.ac.uk>
6540
6541         * gcc.texi: Remove obsolete information relating to build and
6542         installation problems with enquire or the Pyramid C compiler.
6543
6544 2001-03-17  Richard Henderson  <rth@redhat.com>
6545
6546         * dwarf2out.c (queue_reg_save): New.
6547         (flush_queued_reg_saves, clobbers_queued_reg_save): New.
6548         (dwarf2out_frame_debug_expr): Call queue_reg_save instead of
6549         dwarf2out_reg_save.
6550         (dwarf2out_frame_debug): Call flush_queued_reg_saves when needed.
6551         (cfa, cfa_store, cfa_temp): Make static.
6552         * final.c (final_scan_insn): Always call dwarf2out_frame_debug.
6553
6554 2001-03-17  Richard Henderson  <rth@redhat.com>
6555
6556         * integrate.h (struct inline_remap): Add local_return_label.
6557         * integrate.c (expand_inline_function): Initialize it and emit
6558         it after copy_insn_notes.
6559         (copy_insn_list): Don't store local_return_label here.
6560         (copy_insn_notes): New function split out from copy_insn_list.
6561
6562 2001-03-17  Richard Henderson  <rth@redhat.com>
6563
6564         * dwarf2out.c (lookup_filename): Emit .file if the assembler
6565         is generating .debug_line.
6566         (dwarf2out_init): Add main_input_filename to the file table first.
6567         * configure.in (as_dwarf2_debug_line): Test with file number 1
6568         instead of file number 0.
6569
6570 Sat Mar 17 11:52:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6571
6572         * combine.c (undobuf): Remove field previous_undos; all refs deleted.
6573         (gen_rtx_combine): Deleted; all references changed as appropriate.
6574         (gen_unary): Deleted; all refs changed to call simplify_gen_unary.
6575
6576         * print-tree.c (print_node): Print DECL_NONADDRESSABLE_P.
6577
6578 2001-03-17  David Billinghurst  <David.Billinghurst@riotinto.com>
6579
6580         * config/i386/xm-cygwin.h: Include <sys/cygwin.h.  Remove unused
6581         variable.
6582
6583 2001-03-16  Jim Wilson  <wilson@redhat.com>
6584
6585         * config/ia64/ia64.c (ia64_compute_frame_size): If reg_fp is zero,
6586         then set it to LOC_REG (79) instead of aborting.
6587
6588 2001-03-16  Phil Edwards  <pme@sources.redhat.com>
6589
6590         * gccbug.in:  Remove high priority.
6591
6592 2001-03-16  Richard Henerson  <rth@redhat.com>
6593
6594         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): Substitute leading od
6595         output with a space instead of deleting it.
6596         * configure: Regenerate.
6597
6598 2001-03-16  Zack Weinberg  <zackw@stanford.edu>
6599
6600         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): New utility macro which
6601         handles the gory details of converting an object file into
6602         something that's safe to grep.
6603         (gcc_AC_C_COMPILE_BIGENDIAN): Rename to
6604         gcc_AC_C_COMPILE_ENDIAN.  Use gcc_AC_EXAMINE_OBJECT.  Put
6605         newlines at either end of the string we're looking for.
6606         Make 'checking ...' message less stilted.
6607         (gcc_AC_C_FLOAT_FORMAT): Use gcc_AC_EXAMINE_OBJECT.  Handle
6608         ARM in-memory layout and its hypothetical converse.  Don't
6609         define HOST_FLOAT_WORDS_BIG_ENDIAN unless it's different from
6610         HOST_WORDS_BIG_ENDIAN.
6611
6612         * configure.in: Adjust for renamed macro.  Move
6613         gcc_AC_C_FLOAT_FORMAT below gcc_AC_C_COMPILE_ENDIAN.
6614         * configure, config.in: Regenerate.
6615
6616 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
6617
6618         * fixinc/Makefile.in: Set SHELL.
6619
6620 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
6621
6622         * fixinc/fixincl.c (fix_with_system): Quote file names before
6623         passing them to shell.
6624
6625 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
6626
6627         * Makefile.in: Use fix-header$(build_exeext) instead
6628         of fix-header.
6629
6630 2001-03-16  Richard Henderson  <rth@redhat.com>
6631
6632         * dwarf2out.c: Revert most of 2000-11-25 and 2001-01-24 changes.
6633         (LN_PROLOG_AS_LABEL, LN_PROLOG_END_LABEL): New.
6634         (size_of_line_prolog): Remove.
6635         (output_line_info): Compute prologue size via label difference.
6636         (lookup_filename): Return "unspecified" for <internal> and <built-in>.
6637
6638         * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Require that the
6639         assembler error when redefining file numbers.
6640         * config.in, configure: Rebuild.
6641
6642         * dwarf2asm.c (dw2_asm_output_data): Mask data to the output size.
6643         (dw2_asm_output_data_uleb128): Use space not tab after .uleb128.
6644         (dw2_asm_output_delta_uleb128): Likewise.
6645         (dw2_asm_output_delta_sleb128): Similarly.
6646         (dw2_asm_output_data_sleb128): Similarly.  Print number in decimal.
6647
6648 2001-03-16  Michael Meissner  <meissner@redhat.com>
6649
6650         * mips.h (BITMASK_HIGH): Replacement for 0x80000000 that avoids
6651         warnings.
6652         (BITMASK_UPPER16): Replacement for 0xffff0000 that avoids
6653         warnings.
6654         (BITMASK_LOWER16): Replacement for 0x0000ffff.
6655
6656         * mips.c (save_restore_insns): Use BITMASK_UPPER16/BITMASK_LOWER16
6657         instead of 0xffff0000/0x0000ffff to avoid warnings about constants
6658         being unsigned in ISO C and signed in traditional.
6659         (expand_prologue): Ditto.
6660         (RA_MASK): Use BITMASK_HIGH to avoid warnings.
6661
6662         * mips.md (divmodsi4,divmodsi4): Use BITMASK_HIGH to avoid
6663         warnings.
6664         (divsi3,divdi3): Ditto.
6665         (modsi3,moddi3): Ditto.
6666         (fix_truncdfsi2,fix_truncdfdi2): Ditto.
6667         (fix_truncsfsi2,fix_truncsfdi2): Ditto.
6668         (movsi split): Use BITMASK_UPPER16/BITMASK_LOWER16 to avoid
6669         warnings.
6670
6671 Fri Mar 16 14:47:57 CET 2001  Jan Hubicka  <jh@suse.cz>
6672
6673         * i386.c (ix86_expand_fp_movcc): Do not attempt to construct
6674         SSE based conditional moves on LTGT/UNEQ conditions;
6675         Canonicalize EQ to NE.
6676         * i386.md (sse_mov?fcc): Disallow EQ and NE in IEEE mode.
6677         (sse_mov?fcc_ne): New.
6678
6679         * i386-protos.h (sign_extended_value, zero_extended_value): Declare.
6680
6681 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
6682
6683         * config/sh/sh.c (sh_expand_prologue): Insns that set up the PIC
6684         register may be dead.
6685
6686 2001-03-16  Brad Lucier  <lucier@math.purdue.edu>
6687
6688         * Makefile.in (hash.o): Depend on CONFIG_H.
6689
6690 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
6691
6692         * dwarf2out.c (rtl_for_decl_location): Use DECL_RTL_IF_SET.
6693
6694 2001-03-15  Richard Henderson  <rth@redhat.com>
6695
6696         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): New.
6697         (ASM_OUTPUT_DWARF_PCREL): New.
6698         * config/ia64/hpux.h (ASM_OUTPUT_DWARF_OFFSET): Remove.
6699
6700 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
6701
6702         * cppfiles.c (stack_include_file): Use MAX of sysp.
6703
6704 2001-03-15  Steve Ellcey  <sje@cup.hp.com>
6705
6706         * config.gcc (ia64*-*-hpux*): New case.
6707         * config/ia64/hpux.h: New file for HP-UX support.
6708         * config/ia64/t-hpux: New file for HP-UX support.
6709
6710 2001-03-16  Bruce Korb  <bkorb@gnu.org>, Alexandre Oliva  <aoliva@redhat.com>
6711
6712         * fixinc/inclhack.def (irix_stdio_va_list): New.
6713         * fixinc/fixincl.x: Rebuilt.
6714
6715 2001-03-15  Richard Henderson  <rth@redhat.com>
6716
6717         * dwarf2asm.c (dw2_asm_output_offset): Use ASM_OUTPUT_DWARF_OFFSET
6718         if provided by the target.
6719         (dw2_asm_output_pcrel): Likewise with ASM_OUTPUT_DWARF_PCREL.
6720         (dw2_asm_output_addr): New.
6721         * dwarf2asm.h (dw2_asm_output_addr): Declare.
6722         * dwarf2out.c (output_cfi): Use it for program addresses.
6723         (output_call_frame_info, output_die): Likewise.
6724         (output_aranges, output_line_info): Likewise.
6725
6726 2001-03-15  Bruce Korb  <bkorb@gnu.org>
6727
6728         * gcc.c(main): make more rigorous
6729         * collect2.c(main): guard against ignoring SIGCHLD
6730         * protoize.c(main): ditto
6731         * gcc/fixinc/fixincl.c(initialize): ditto
6732
6733 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
6734
6735         * sdbout.c (sdbout_symbol): Use DECL_RTL_SET_P, SET_DECL_RTL.
6736         (sdbout_parms): Likewise.
6737
6738 Thu Mar 15 12:57:14 2001  Jeffrey A Law  (law@cygnus.com)
6739
6740         * reload1.c (reload_cse_simplify_set): For LOAD_EXTEND_OP, do not
6741         "widen" a destination that is already wider than a word.  Also do
6742         not widen if LOAD_EXTEND_OP is NIL for the given mode.
6743
6744 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
6745
6746         * config/ia64/ia64.c (ia64_sched_reorder): Remove debugging aids.
6747
6748 Thu Mar 15 11:30:31 EST 2001  John Wehle  (john@feith.com)
6749
6750         * i960.h (ROUND_TYPE_SIZE_UNIT): Fix typo.
6751
6752 Thu Mar 15 11:24:29 EST 2001  John Wehle  (john@feith.com)
6753
6754         * i960.h (i960_maxbitalignment,
6755         i960_last_maxbitalignment): Declare.
6756         * i960.c (i960_maxbitalignment,
6757         i960_last_maxbitalignment): Make global.
6758         (process_pragma): Delete.
6759         (i960_pr_align, i960_pr_noalign): Move from here ...
6760         * i960-c.c: ... to this new file.
6761         * t-960bare (i960-c.o): New rule.
6762         * t-vxworks960 (i960-c.o): Likewise.
6763         * config.gcc (i960-*-*): Define c_target_objs and
6764         cxx_target_objs.
6765
6766 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
6767
6768         * cselib.c (hash_rtx): For REG and MEM, just use value of expression
6769         without adding in rtx code and mode.
6770
6771         * alias.c (init_alias_analysis): Don't use any rtx whose value
6772         varies as a known value.
6773         Delete a superfluous test.
6774
6775         * config/ia64/ia64.c (maybe_rotate): New function, broken out of
6776         ia64_sched_reorder.
6777         (ia64_sched_reorder): Call maybe_rotate; also rotate after
6778         scheduling a stop bit.
6779         (ia64_emit_nops): Correctly handle ASMs.
6780
6781 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
6782
6783         * varasm.c (assemble_variable): Use DECL_RTL_SET_P.
6784
6785 2001-03-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6786
6787         * cpp.texi: Update documentation for -include and -imacros.
6788         * cppfiles.c (struct include_file): Remove "defined" memeber.
6789         (find_or_create_entry): Make a copy of the file name, and
6790         simplify it.
6791         (open_file): Update to ensure we use the simplified filename.
6792         (stack_include_file): Don't set search_from.
6793         (cpp_included): Don't simplify the path name here.
6794         (find_include_file): New prototype.  Call search_from to
6795         get the start of the "" include chain.  Don't simplify the
6796         filenames here.
6797         (_cpp_execute_include): New prototype.  Move diagnostics to
6798         do_include_common.  Update.
6799         (_cpp_pop_file_buffer): Don't set defined.
6800         (search_from): New prototype.  Use the preprocessor's cwd
6801         for files included from the command line.
6802         (read_name_map): Don't simplify the pathname here.
6803         * cpphash.h (enum include_type): New.
6804         (struct buffer): Delete search from.  New search_cached.
6805         (_cpp_execute_include): Update prototype.
6806         * cppinit.c (do_includes): Use _cpp_execute_include.
6807         * cpplib.c (do_include_common): New function.
6808         (do_include, do_include_next, do_import): Use it.
6809
6810 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
6811
6812         * varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME, not the
6813         contents of the RTL, to determine the name of the object.
6814
6815 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
6816
6817         * tree.h (DECL_RTL): Allocate RTL lazily.
6818         (SET_DECL_RTL): New macro.
6819         (DECL_RTL_SET_P): Likewise.
6820         (COPY_DECL_RTL): Likewise.
6821         (DECL_RTL_IF_SET): Likewise.
6822         * varasm.c (make_decl_rtl): Add assertions about the kind of
6823         declaration we are processing.
6824         * c-decl.c (duplicate_decls): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
6825         (start_decl): Likewise.
6826         (finish_decl): Likewise.
6827         * c-semantics.c (emit_local_var): Likewise.
6828         * calls.c (expand_call): Likewise.
6829         * dbxout.c (dbxout_symbol): Likewise.
6830         * emit-rtl.c (unshare_all_rtl): Likewise.
6831         (unshare_all_decls): Likewise.
6832         (reset_used_decls): Likewise.
6833         * expr.c (store_constructor): Likewise.
6834         (safe_from_p): Likewise.
6835         (expand_expr): Likewise.
6836         * function.c (put_var_into_stack): Likewise.
6837         (instantiate_decls_1): Likewise.
6838         (assign_parms): Likewise.
6839         (expand_function_start): Likewise.
6840         (expand_function_end): Likewise.
6841         * ggc-common.c (gcc_mark_trees): Likewise.
6842         * integrate.c (function_cannot_inline_p): Likewise.
6843         (copy_decl_for_inlining): Likewise.
6844         (expand_inline_function): Likewise.
6845         (integrate_parm_decls): Likewise.
6846         (integrate_decl_tree): Likewise.
6847         * print-tree.c (print_node): Likewise.
6848         * reg-stack.c (stack_result): Likewise.
6849         * stmt.c (label_rtx): Likewise.
6850         (expand_return): Likewise.
6851         (expand_decl): Likewise.
6852         (expand_decl_cleanup): Likewise.
6853         (expand_anon_union_decl): Likewise.
6854         * toplev.c (check_global_declarations): Likewise.
6855         (rest_of_decl_compilation): Likewise.
6856         * tree.c (simple_cst_equal): Likewise.
6857         * objc/objc-act.c (generate_static_references): Likewise.
6858
6859 2001-03-14  Zack Weinberg  <zackw@stanford.edu>
6860
6861         * aclocal.m4 (gcc_AC_C_CHARSET, gcc_AC_C_COMPILE_BIGENDIAN,
6862         gcc_AC_C_FLOAT_FORMAT): New macros.
6863         * configure.in: Add AC_PROG_CPP after CC tests;
6864         gcc_AC_C_CHARSET and gcc_AC_C_FLOAT_FORMAT after the sizeof
6865         tests; and gcc_AC_C_COMPILE_BIGENDIAN after gcc_AC_C_CHAR_BIT.
6866         * configure, config.in: Regenerate.
6867
6868         * config/a29k/xm-a29k.h, config/arc/xm-arc.h,
6869         config/arm/xm-arm.h, config/c4x/xm-c4x.h,
6870         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
6871         config/i370/xm-linux.h, config/i370/xm-oe.h,
6872         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
6873         config/m68k/xm-m68k.h, config/mips/xm-mips.h,
6874         config/pa/xm-linux.h, config/pa/xm-pa.h,
6875         config/rs6000/xm-lynx.h, config/rs6000/xm-mach.h,
6876         config/rs6000/xm-rs6000.h, config/rs6000/xm-sysv4.h,
6877         config/sparc/xm-sparc.h, config/vax/xm-vax.h,
6878         config/we32k/xm-we32k.h: Delete.
6879
6880         * config/i370/xm-mvs.h, config/m88k/m88k.h,
6881         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
6882         config/vax/xm-vms.h: Don't define any of:
6883         HOST_FLOAT_FORMAT, HOST_EBCDIC, HOST_WORDS_BIG_ENDIAN
6884
6885         * config/rs6000/aix.h: Define COLLECT_EXPORT_LIST here.
6886
6887         * config.gcc: Remove references to deleted files.
6888         (i370-*-opened*): Use i370/xm-mvs.h (which now defines only
6889         FATAL_EXIT_CODE, which is the same between oe and mvs).
6890
6891 2001-03-14  DJ Delorie  <dj@redhat.com>
6892             Vladimir Makarov  <vmakarov@redhat.com>
6893
6894         * config/i960/i960.c (i960_function_prologue): Compute size of
6895         frame according to number of registers actually saved there.
6896
6897 2001-03-14  Richard Henderson  <rth@redhat.com>
6898
6899         * expr.c (emit_move_insn_1): Fix else if around #endif.
6900
6901 Wed Mar 14 22:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
6902                               Vojtech Pavlik
6903
6904         * md.texi (machine constraints): Document 'Q', 'R', 'e' and 'Z'
6905         constraints.
6906
6907 Wed Mar 14 22:26:10 CET 2001  Jan Hubicka  <jh@suse.cz>
6908
6909         * i386.c (ix86_cmodel_string, ix86_cmodel): Define.
6910         (override_options): Parse cmodel string.
6911         (x86_64_sign_extended_value, x86_64_zero_extended_value): New.
6912         * i386.h (TARGET_OPTIONS): Add "cmodel".
6913         (EXTRA_CONSTRAINT): Recognize 'e' and 'Z'.
6914         (enum cmodel): New.
6915         (ix86_cmodel_string, ix86_cmodel): Declare.
6916
6917 Wed Mar 14 22:26:54 CET 2001  Jan Hubicka  <jh@suse.cz>
6918
6919         Spot by Matt Kraai:
6920         * i386.h (GENERAL_REG_P): Add missing REG_P.
6921
6922 2001-03-14  Laurynas Biveinis  <lauras@softhome.net>
6923
6924         * configure.in: Use $gcc_cv_as instead of $as.
6925         * configure: Regenerated.
6926
6927 2001-03-14  Neil Booth  <neil@daikokuya.demon.co.uk>
6928
6929         * cppfiles.c (stack_include_file): Only increase the include
6930         count if we actually process the file properly, as opposed
6931         to treating it as length zero.  Only call read_include_file
6932         if not DO_NOT_REREAD.  Handle the -H include file output
6933         here.
6934         (read_include_file): Remove now redundant DO_NOT_REREAD check.
6935         (cpp_included, find_include_file): Simplify pathnames after
6936         remapping them.  If remapping, don't use the remapped file
6937         name's buffer as our scratch buffer.
6938         (cpp_pop_file_buffer): Replace the multiple include macro
6939         only if it isn't yet set.
6940         (read_name_map): Simplify remapped names when reading in.
6941         (remap_filename): Move code to code path that uses it.
6942         (_cpp_simplify_pathname): Return the input pointer.
6943         * cpphash.h (_cpp_simplify_pathname): Update prototype.
6944
6945 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
6946
6947         * expr.c (expand_expr): Revove bogus conditional.
6948
6949 Wed Mar 14 19:29:50 CET 2001  Jan Hubicka  <jh@suse.cz>
6950
6951         * expr.c (emit_move_insn_1): Guard PUSH_ROUNDING use by ifdef.
6952
6953 2001-03-14  Jakub Jelinek  <jakub@redhat.com>
6954
6955         * reg-stack.c (stack_result): Unconditionally use
6956         FUNCTION_OUTGOING_VALUE resp. FUNCTION_VALUE.
6957
6958 Wed Mar 14 16:36:25 CET 2001  Jan Hubicka  <jh@suse.cz>
6959
6960         * expr.c (emit_move_insn_1):  Split push of complex value when
6961         no suitable push instruction exist.
6962
6963         * i386.md (QImode move/add/shift patterns): Use ANY_QI_REG_P
6964         instead of QI_REG_P.
6965
6966 Tue Mar 13 22:22:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6967
6968         * alias.c (handled_component_p, can_address_p): New functions.
6969         (get_alias_set): Use them.
6970
6971 2001-03-13  Jim Wilson  <wilson@redhat.com>
6972
6973         * config/ia64/ia64.c (find_gr_spill): Subtract frame_pointer_needed
6974         from 80 in try_locals code.
6975         (ia64_expand_prologue): Add comment pointing to find_gr_spill change.
6976
6977 2001-03-13  Zack Weinberg  <zackw@stanford.edu>
6978
6979         * aclocal.m4 (gcc_AC_COMPILE_CHECK_SIZEOF, gcc_AC_C_CHAR_BIT,
6980         gcc_AC_C_LONG_LONG): New.
6981         * configure.in: Use them.  Probe the size of short, int, long,
6982         and long long/__int64 if we have them.  Move all the AC_C_*
6983         checks together, except gcc_AC_C_CHAR_BIT which has to go
6984         after AC_CHECK_HEADERS(limits.h).
6985         Take hwint.h out of host_xm_file and build_xm_file.
6986
6987         * hwint.h: Unconditionally define HOST_BITS_PER_CHAR,
6988         HOST_BITS_PER_SHORT, HOST_BITS_PER_INT, HOST_BITS_PER_LONG,
6989         and HOST_BITS_PER_LONGLONG in terms of SIZEOF_* and CHAR_BIT.
6990         Move the HOST_WIDEST_INT setup logic here from system.h.
6991         Provide HOST_WIDEST_INT even if HOST_BITS_PER_LONGLONG is not
6992         defined.
6993         * system.h: Include hwint.h after limits.h.  HOST_WIDEST_INT
6994         is now handled by hwint.h.
6995
6996         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms.h,
6997         config/c4x/xm-c4x.h, config/i370/xm-oe.h,
6998         config/ia64/xm-ia64.h: Don't define any of:
6999         HOST_BITS_PER_LONG, HOST_BITS_PER_CHAR, HOST_BITS_PER_SHORT,
7000         HOST_BITS_PER_LONGLONG.
7001
7002         * config/alpha/xm-alpha.h, config/dsp16xx/xm-dsp16xx.h,
7003         config/h8300/xm-h8300.h, config/mips/iris6.h,
7004         config/mn10200/xm-mn10200.h, config/pa/xm-pa64hpux.h,
7005         config/sparc/xm-sp64.h: Delete.
7006         * config.gcc: Remove references to deleted files.
7007
7008         * config/arm/xm-arm.h, config/mips/xm-mips.h: Don't define
7009         HOST_FLOAT_FORMAT to IEEE_FLOAT_FORMAT.
7010         * config/i370/xm-linux.h: Clarify floating-point situation in
7011         a comment.
7012
7013 2001-03-13  Neil Booth  <neil@daikokuya.demon.co.uk>
7014
7015         * cppfiles.c (NO_INCLUDE_PATH): New macro.
7016         (find_include_file): Decide here which part of the include
7017         chain to start the search.  Complain about an empty include
7018         chain in all cases apart from an abolsute file name.
7019         (_cpp_execute_include): Don't choose the search chain here.
7020         Don't call handle_missing_include in the case of an empty
7021         include chain.
7022         (_cpp_compare_file_date): Don't choose the search chain here.
7023         * cpplib.c (do_include_next): Move the in-main-file diagnostic
7024         here from _cpp_execute_include.  Behave like #include if
7025         we're in the main file.
7026
7027 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7028
7029         * system.h (malloc, realloc, calloc, strdup): Only poison these
7030         tokens when IN_GCC is defined.
7031
7032 Tue Mar 13 14:38:44 CET 2001  Jan Hubicka  <jh@suse.cz>
7033
7034         * i386.md (abs?f expander): Support SSE case.
7035         (abd?f_if): Add new "USE"; add splitters.
7036
7037 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7038
7039         * cpp.texi (poison): Explain the macro expansion exception.
7040
7041 2001-03-13  Jakub Jelinek  <jakub@redhat.com>
7042
7043         * expr.c (store_expr): Add dont_store_target.  If temp is already in
7044         target before copying to reg, don't store it into target again.
7045
7046 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
7047
7048         * cppinternals.texi: Update for file handling.
7049
7050 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
7051
7052         * emit-rtl.c (remove_unnecessary_notes): Reverse Richard Kenner's
7053         2001-02-24 which broke building the Java library.
7054         * function.c (identify_blocks): Likewise.
7055         (all_blocks): Likewise.
7056         * integrate.c (integrate_decl_tree): Likewise.
7057         * print-tree.c (print_node): Likewise.
7058         * tree.h (BLOCK_NUMBER): Likewise.
7059         (struct tree_block): Likewise.
7060
7061 2001-03-12  David Edelsohn  <edelsohn@gnu.org>
7062
7063         * rs6000/aix51.h (CPP_SPEC, CPLUSPLUS_CPP_SPEC): Fix typo in
7064         __WCHAR_TYPE__ definition.
7065         (WCHAR_TYPE_SIZE): #undef before #define.
7066
7067 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
7068
7069         * cppfiles.c: Update comments.
7070         (destroy_include_file_node): Rename destroy_node.
7071         (find_or_create_entry): New function.
7072         (open_file, _cpp_fake_include): Use it.
7073         (handle_missing_header): New function, broken out of
7074         _cpp_execute include.  Don't segfault if there is no
7075         system or quoted path.
7076         (_cpp_execute_include): Use handle_missing_header.
7077
7078 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
7079
7080         * jump.c (reversed_comparison_code_parts): Reverse Jan Hubricka's
7081         2001-02-28 patch because it breaks arm-linux and mips-sgi-irix6.5.
7082
7083 Mon Mar 12 14:05:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7084
7085         * flow.c (insn_dead_p): Don't consider two memrefs equivalent
7086         unless anti_dependence says they are.
7087         * alias.c (objects_must_conflict): If neither has a type specified,
7088         they must conflict.
7089
7090 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
7091             David Billinghurst <David.Billinghurst@riotinto.com>
7092
7093         * config/mips/iris5.h:  Change WCHAR_TYPE to int.
7094
7095 Mon Mar 12 16:32:21 CET 2001  Jan Hubicka  <jh@suse.cz>
7096
7097         * i386.md (trunctfdf2_2): Rename missnamed pattern.
7098         (*_one_bit): Remove type on the match_operand in attributes.
7099
7100 Mon Mar 12 16:27:56 CET 2001  Jan Hubicka  <jh@suse.cz>
7101
7102         * i386.c: Commit forgotten hunk in previous patch.
7103         (regclass_map): Add extended registers.
7104         (dbx_register_map): Add missing frame register.
7105
7106 Mon Mar 12 15:41:08 CET 2001  Jan Hubicka  <jh@suse.cz>
7107
7108         * i386.md (all XFmode patterns except swapxf): Disable for 64bit.
7109
7110         * i386.md (x86_sahf_1): Disable for 64bit.
7111         (popsi*, pophi*): Likewise.
7112         (pushqi, pushhi): Likewise.
7113         (movdi, pushdi): Likewise.
7114         (zero extend DImode splitter): Likewise.
7115         (adddi, minusdi splitter): Likewise.
7116         (umulsidi): Likewise.
7117         (umulsi): New.
7118         (mulsidi): Disable for 64bit
7119         (lshift:DI/ashift:DI): Disable for 64bit.
7120         (loop patterns): Likewise.
7121         (call_pop, call_value_pop expanders and patterns): Likewise.
7122         (prologue_get_pc): Likewise.
7123         (leave): Likewise.
7124         (fcmovDI pattern and splitter): Likewise.
7125         (movdfcc_1_rex64): New.
7126
7127 Mon Mar 12 15:16:36 CET 2001  Jan Hubicka  <jh@suse.cz>
7128
7129         * i386.h (VALID_FP_MODE_P): XFmode is invalid on x86_64.
7130         (MODES_TIEABLE_P): QImodes and DImodes are tiable on x86_64.
7131         (HARD_REGNO_CALLER_SAVE_MODE): Save QImodes as QImodes for x86_64.
7132         (STATIC_CHAIN_REGNUM): Set to r10 for x86_64.
7133         (PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM for x86_64.
7134         (LIMIT_RELOAD_CLASS): Avoid limiting of QImodes on x86_64.
7135         (SECONDARY_OUTPUT_RELOAD_CLASS): No need to QImodes.
7136         (PUSH_ROUNDING): x86_64 rounds to 64bits.
7137         (CONSTANT_ADDRESS_P): Accept CONST_DOUBLE.
7138         (REGPARM_MAX): Set to 6 for x86_64.
7139         (SSE_REGPARM_MAX): Set to 16 for x86_64.
7140         * i386.c (hard_regno_mode_ok): QImodes can be in all general purpose
7141         registers.
7142
7143         * (patterns that does use upper halves): Update constraints
7144         'q' to 'Q' and 'r' to 'R'.
7145         (cmpqi_ext_1): Disable for 64bit.
7146         (cmpqi_ext_3_insn): Likewise.
7147         (movqi_extzv_1): Likewsie.
7148         (addqi_ext_1): Liekwsie
7149         (testqi_ext_1): Liekwsie
7150         (andqi_ext_1): Liekwsie
7151         (xorqi_ext_1): Liekwsie
7152         (cmpqi_ext_1_rex64): New.
7153         (cmpqi_ext_3_insn_rex64): Likewise.
7154         (movqi_extzv_1_rex64): Likewsie.
7155         (addqi_ext_1_rex64): Liekwsie
7156         (testqi_ext_1_rex64): Liekwsie
7157         (andqi_ext_1_rex64): Liekwsie
7158         (xorqi_ext_1_rex64): Liekwsie
7159
7160 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
7161
7162         * configure.in: Move check for unsigned enumerated bitfields
7163         to macro in aclocal.m4.  Disable it for now.
7164         * configure, config.in: Regenerate.
7165         * system.h: Don't do anything with ONLY_INT_FIELDS.  Use the
7166         unsigned-int form of ENUM_BITFIELD() unless being compiled by GCC.
7167         * varasm.c (struct rtx_const): Use ENUM_BITFIELD().  Move enum
7168         kind above its first use.
7169
7170         * config/xm-interix.h, config/alpha/xm-alpha.h,
7171         config/i370/xm-linux.h, config/i386/xm-beos.h,
7172         config/i386/xm-mingw32.h, config/mips/xm-mips.h,
7173         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
7174         config/rs6000/xm-beos.h, config/rs6000/xm-sysv4.h,
7175         Don't define ONLY_INT_FIELDS under any circumstances.
7176
7177         * config/pa/xm-pa.h: Don't define __BSD_NET2__.
7178
7179         * config/pa/xm-pahpux.h, config/pa/xm-papro.h,
7180         config/sparc/xm-sysv4.h: Delete - now identical with some
7181         other xm header.
7182         * config.gcc (hppa targets): Replace xm-pahpux.h and
7183         xm-papro.h with implicit xm-pa.h.
7184         (sparc targets): Replace xm-sysv4.h with implicit or explicit
7185         xm-sparc.h.
7186
7187 2001-03-12  Aldy Hernandez  <aldyh@redhat.com>
7188
7189         * reload1.c (reload_cse_simplify): Call reload_cse_simplify_set
7190         before reload_cse_noop_set_p.
7191
7192 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
7193
7194         * config.gcc: Where xm-host.h used to include another
7195         xm-host.h, list the nested header directly in xm_file.  Remove
7196         references to deleted files.  Can now use sparc/xm-sp64.h for
7197         sparcv9-*-solaris*.
7198
7199         * config/xm-linux.h, config/arm/xm-linux.h,
7200         config/i386/xm-dos.h, config/i386/xm-gnu.h,
7201         config/i386/xm-linux.h, config/i386/xm-openbsd.h,
7202         config/i860/xm-fx2800.h, config/m68k/xm-atari.h,
7203         config/m68k/xm-linux.h, config/m68k/xm-sun3.h,
7204         config/sparc/xm-linux.h, config/sparc/xm-sysv4-64.h:
7205         Delete.
7206
7207         * config/alpha/xm-alpha-interix.h: Don't include alpha/xm-alpha.h.
7208         * config/mips/xm-iris5.h: Don't include mips/xm-mips.h.  Don't
7209         bother to wrap #undef in #ifdef.
7210         * config/pa/xm-linux.h, config/rs6000/xm-sysv4.h:
7211         Don't include xm-linux.h.
7212         * config/sparc/xm-sp64.h: Don't include sparc/xm-sparc.h.
7213
7214         * configure.in: Wrap regexps using [] in changequote block.
7215         Use expr : not echo | grep.  Simplify regexps.
7216         * configure: Regenerate.
7217
7218         56 xm-files remain, 22 xm-arch.
7219
7220 2001-03-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7221
7222         * mips-tfile.c: Cast arg to PTR when specifier is HOST_PTR_PRINTF.
7223         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
7224         (local_index, local_rindex): Delete, use strchr/strrchr instead.
7225         (copy_object): Fix format specifier vs argument mismatch.
7226
7227         * mips-tdump.c: Make local functions static.
7228         (rindex): Don't #undef.
7229         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
7230         (fatal, fancy_abort): Delete.
7231         (read_seek): Avoid signed/unsigned compare.
7232
7233 Sun Mar 11 17:01:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7234
7235         * combine.c (try_combine): Fix error in change to try original
7236         register.
7237         (gen_rtx_combine): Do same as gen_rtx for now.
7238
7239 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
7240
7241         * configure.in: AC_SUBST xm_defines.
7242         * configure: Regenerate.
7243         * Makefile.in: Set DEFINES=$(xm_defines) when building
7244         tconfig.h.
7245
7246 2001-03-11  Neil Booth  <neil@daikokuya.demon.co.uk>
7247
7248         * cppfiles.c (INCLUDE_LEN_FUDGE, ENOMEM): Delete.
7249         (cpp_included, find_include_file): Update.
7250         (_cpp_compare_file_date): Make else unconditional.
7251
7252 2001-03-10  kaz Kojima <kkojima@rr.iij4u.or.jp>
7253
7254         * config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.
7255
7256 2001-03-10  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
7257
7258         * config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics.
7259         * config/sh/lib1funcs.asm (mulsi3): Convert mulu to mulu.w.
7260
7261 Sat Mar 10 22:42:05 2001  Alexandre Oliva  <aoliva@redhat.com>
7262
7263         * tree.c (build_common_tree_nodes_2): Don't copy va_list_type_node
7264         if it's a record type.
7265
7266 Sat Mar 10 17:52:54 2001  Christopher Faylor <cgf@cygnus.com>
7267
7268         * config/i386/cygwin.h: Make ../w32api a system directory.  Reorganize
7269         mingw includes slightly.
7270
7271 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7272
7273         * system.h (malloc, realloc, calloc, strdup, bzero, bcmp, rindex):
7274         #undef token before poisoning it.
7275
7276 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7277
7278         * alpha.c (check_float_value): Use memcpy, not bcopy.
7279
7280         * m32r.c (m32r_sched_reorder): Likewise.
7281
7282         * vax.c (check_float_value): Likewise.
7283
7284 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
7285
7286         * toplev.c (file_name_nondirectory): Remove.
7287         * toplev.h: Similarly.
7288         * dwarf2out.c (compute_section_prefix): Use lbasename instead
7289         of file_name_nondirectory.
7290
7291 Sat Mar 10 10:36:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7292
7293         * mips-tdump.c (read_seek): Call xmalloc, not malloc.
7294         * mips-tfile.c: Don't #undef rindex; not used.
7295
7296 Sat Mar 10 14:34:59 CET 2001  Jan Hubicka  <jh@suse.cz>
7297
7298         * i386.h (DBX_REGISTER_NUMBER): Return proper values for 64bits.
7299         (dbx64_register_map): Declare.
7300         (RETURN_ADDR_RTX): Fix for 64bit.
7301         (DWARF_FRAME_RETURN_COLUMN): Set to 16 for 64bit.
7302         (INCOMING_FRAME_SP_OFFSET): Set to 8.
7303         * i386.c (dbx64_register_map): New global array.
7304         * beos-elf.h, freebsd.h, i386-interix.h, i386elf.h,
7305         linux.h (DBX_REGISTER_REGNUMBER): Use dbx64_register_map
7306         for 64bits.
7307
7308 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
7309
7310         * cppfiles.c (search_from): Use lbasename.
7311         * mkdeps.c (deps_add_default_target): Use lbasename.
7312
7313 2001-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7314
7315         * fixinc/server.c (load_data, run_shell): Use xmalloc, xrealloc &
7316         xcalloc in lieu of malloc, realloc & calloc.
7317
7318         * gencheck.c (xmalloc): Use really_call_malloc, not malloc.
7319
7320         * gengenrtl.c (xmalloc): Likewise.
7321
7322         * gensupport.c (xcalloc, xrealloc, xmalloc): Use the
7323         really_call_* memory allocation routines.
7324
7325         * stmt.c (check_for_full_enumeration_handling): Use
7326         really_call_calloc, not calloc.
7327
7328         * system.h (really_call_malloc, really_call_calloc,
7329         really_call_realloc): Define.
7330         (malloc, realloc, calloc, strdup, bzero, bcmp, rindex): Poison.
7331
7332 Fri Mar  9 18:39:19 2001  Jeffrey A Law  (law@cygnus.com)
7333
7334         * pa.md (builtin_longjmp): Rework slightly to work for PA64 too.
7335
7336 2001-03-09  Nicola Pero <n.pero@mi.flashnet.it>
7337
7338         * configure: Rebuilt.
7339         * configure.in: Only use `lang_requires' for languages athat are
7340         actually enabled.
7341
7342 2001-03-09  Joseph S. Myers  <jsm28@cam.ac.uk>
7343
7344         * invoke.texi: Fix typo.
7345         * gcc.1: Regenerate.
7346
7347 2001-03-09  Zack Weinberg  <zackw@stanford.edu>
7348
7349         * configure.in: Prune nonexistent files from build_xm_file,
7350         xm_file, and host_xm_file lists.  Warn unless they're
7351         $cpu/xm-$cpu.h.
7352         Don't generate *config.h here.
7353         AC_SUBST all variables needed to generate *config.h.
7354         * configure: Regenerate.
7355         * mkconfig.sh: New helper script, from code removed from
7356         configure.in.
7357         * Makefile.in: Zap all MALLOC variables - no longer used
7358         anywhere, and malloc.c doesn't exist.
7359         Substitute in variables needed to generate *config.h.
7360         Stop lying about the dependencies contained in CONFIG_H and
7361         GCONFIG_H.
7362         (HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
7363         (config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
7364         cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
7365         (all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
7366         $(TM_P_H), etc. as appropriate.
7367
7368         * config.gcc: Zap references to deleted files.
7369         * ggc-none.c: Don't include rtl.h or tm_p.h.
7370
7371         * config/i386/xm-beos.h, config/i386/xm-dgux.h,
7372         config/i386/xm-djgpp.h, config/i386/xm-dos.h,
7373         config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
7374         config/i386/xm-linux.h, config/i386/xm-linux.h,
7375         config/i386/xm-next.h, config/i386/xm-openbsd.h,
7376         config/i386/xm-sun.h, config/i386/xm-sysv3.h:
7377         Don't include i386/xm-i386.h.
7378
7379         * config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
7380         config/i386/xm-i386.h, config/i860/xm-i860.h,
7381         config/i960/xm-i960.h, config/mcore/xm-mcore.h,
7382         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
7383         config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
7384         Delete (empty except comments, #includes of other deleted
7385         files, and macros used nowhere).
7386
7387 Fri Mar  9 20:05:27 CET 2001  Jan Hubicka  <jh@suse.cz>
7388
7389         * i386.h (MAX_WCHAR_TYPE_SIZE): New constant to keep tradcpp
7390         independent on TARGET_FLAGS.
7391
7392 Fri Mar  9 19:52:52 CET 2001  Jan Hubicka  <jh@suse.cz>
7393
7394         * i386.h (FIRST_PSEUDO_REGISTER): Set to 53.
7395
7396         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ONES): Add
7397         extended ones.
7398         (CONDITIONAL_REGISTER_USAGE): Set proper values according to
7399         TARGET_64BIT.
7400         (FIRST_REX_INT_REG, LAST_REX_INT_REG, FIRST_REX_SSE_REG,
7401         LAST_REX_SSE_REG): define.
7402         (enum reg_class): Add 'LEGACY_REGS'
7403         (REG_CLASS_CONTENTS): Likewise; add extended registers.
7404         (SSE_REGNO_P): Recognize extended registers.
7405         (ANY_QI_REG_P, REX_INT_REGNO_P, REX_INT_REG_P): New.
7406         (REG_CLASS_FROM_LETTER): Add 'R' and 'Q'.
7407         (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P,
7408         REG_OK_FOR_BASE_NONSTRICT_P): Recognize REX registers.
7409         (REG_OK_FOR_STRREG_NONSTRICT_P, REG_OK_FOR_STRREG_STRICT_P,
7410          REG_OK_FOR_STRREG_P): Remove.
7411         (HI_REGISTER_NAMES): Add extended registers.
7412         (ADDITIONAL_REGISTER_NAMES): Likewise.
7413         (QI_REGISTER_NAMES): Add 8bit extended registers.
7414         (DEBUG_REG): Support extended registers.
7415         * i386.c (regclass_map): Add extended registers.
7416         (dbx_register-map): Likewise.
7417         (svr4_dbx_register_map): Likewise.
7418         (print_reg): Support extended registers.
7419         (print_operand): Support 64bit operands.
7420
7421 Fri Mar  9 19:37:46 CET 2001  Jan Hubicka  <jh@suse.cz>
7422
7423         * i386.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 128bit for x86_64
7424         (BOOL_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
7425          FLOAT_TYPE_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE,
7426          DOUBLE_TYPE_SIZE, LONG_LONG_TYPE_SIZE): New constants.
7427         (BITS_PER_WORD, UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY,
7428          STACK_BOUNDARY): Set properly for 64bits.
7429         (MAX_BITS_PER_WORD, MIN_UNITS_PER_WORD): New constants.
7430         (EMPTY_FIELD_BOUNDARY): Define using BITS_PER_WORD.
7431         (BIGGEST_FIELD_ALIGNMENT): Set to 128 for 64bits.
7432         (MOVE_MAX): Set to 16.
7433         (MOVE_MAX_PIECES): 8 for 64bit.
7434         (Pmode): Set to SImode.
7435
7436 Fri Mar  9 09:00:36 2001  Mike Stump  <mrs@wrs.com>
7437
7438         * cselib.c (hash_rtx): Ensure that hash isn't zero upon return.
7439
7440 Fri Mar  9 17:38:08 CET 2001  Jan Hubicka  <jh@suse.cz>
7441
7442         * i386.h (mask_64bit): New constant.
7443         (target_64bit): New macro.
7444         (target_options): Add '64'/'32'
7445         (target_default): Define.
7446         * cygwin.h freebsd-aout.h i386-interix.h i386.h i386elf.h isc.h
7447         isccoff.h netbsd.h next.h openbsd.h p sco.h sco5.h scodbx.h sequent.h
7448         unix.h win32.h (TARGET_DEFAULT): Rename to TARGET_SUBTARGET_DEFAULT.
7449
7450 Thu Mar  8 23:36:56 2001  Jeffrey A Law  (law@cygnus.com)
7451
7452         * config/pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Disable.
7453
7454 Thu Mar  8 23:29:37 2001  John Wehle  (john@feith.com)
7455
7456         * rtlanal.c (rtx_varies_p): Check operand 0 of a
7457         LO_SUM unless for_alias is set.
7458
7459 2001-03-08  Stan Shebs  <shebs@apple.com>
7460
7461         * objc/objc-act.c: Fix old typos in comments, add comments for
7462         various functions.
7463         (hash_init): Fix file name in error message.
7464         (hash_enter): Ditto.
7465         (hash_add_attr): Ditto.
7466         (continue_class): Ditto.
7467
7468 2001-03-08  Bruce Korb  <bkorb@gnu.org>
7469
7470         gcc.c(main): ensure SIGCHLD handling is set to SIG_DFL so that
7471         wait4() can receive the signal.
7472
7473 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7474
7475         * fixinc/inclhack.def (AAB_dgux_int_varargs): Don't use HTML
7476         entities.
7477         * fixinc/fixincl.x: Regenerate.
7478
7479 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7480
7481         * fixinc/inclhack.def (AAA_standards): Undo <standards.h> breakage
7482         on Tru64 UNIX.
7483         * fixinc/fixincl.x: Regenerate.
7484
7485 2001-03-08  Richard Henderson  <rth@redhat.com>
7486
7487         * configure.in (HAVE_AS_LEB128): New assembler check.
7488         * configure, config.in: Rebuilt.
7489
7490 Thu Mar  8 19:54:04 CET 2001  Jan Hubicka  <jh@suse.cz>
7491
7492         * reg-stack.c (move_for_stack_reg): Avoid non-poping fst for
7493         TFmode too.
7494
7495 2001-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7496
7497         * config/ns32k/xm-pc532-min.h, config/we32k/xm-we32k.h: Delete
7498         references to the MAXPATHLEN macro.
7499
7500         * config/alpha/xm-alpha.h, config/arm/xm-arm.h,
7501         config/i386/xm-cygwin.h, config/xm-linux.h: Delete references to
7502         the POSIX macro.
7503
7504         * config/i386/xm-gnu.h, config/xm-gnu.h,
7505         config/alpha/xm-openbsd.h, config/i386/xm-openbsd.h,
7506         config/m68k/xm-openbsd.h, config/mips/xm-openbsd.h,
7507         config/sparc/xm-openbsd.h, config/xm-openbsd.h: Delete empty
7508         and/or unused files.
7509
7510         * config.gcc: Define POSIX in xm_defines as appropriate in lieu of
7511         doing so in various xm-*.h files.
7512
7513 Thu Mar  8 06:32:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7514
7515         * config/i386/i386.md (clrstrsi): Call ix86_set_move_mem_attrs.
7516
7517 2001-03-08  Alexandre Oliva  <aoliva@redhat.com>
7518
7519         * configure.in (enable_shared): Support per-package shared-library
7520         enabling.
7521         * configure: Rebuilt.
7522
7523 2001-03-07  David Edelsohn  <edelsohn@gnu.org>
7524
7525         * rs6000.md (cr logic): Add original POWER mnemonic alternative
7526         for crnot.  Set operands[5] in splitter.
7527
7528 2001-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7529
7530         * config/i370/xm-mvs.h, config/i370/xm-oe.h,
7531         config/i386/xm-beos.h, config/i386/xm-mingw32.h,
7532         config/m88k/xm-m88k.h, config/mips/xm-iris6.h,
7533         config/mips/xm-openbsd.h, config/pa/xm-pa64hpux.h,
7534         config/pa/xm-pahpux.h, config/rs6000/xm-beos.h,
7535         config/rs6000/xm-darwin.h, config/rs6000/xm-mach.h,
7536         config/rs6000/xm-rs6000.h, config/xm-interix.h: Delete references
7537         to the USG macro.
7538
7539         * config/vax/xm-vaxv.h, config/a29k/xm-unix.h,
7540         config/i370/xm-i370.h, config/i386/xm-dgux.h,
7541         config/i386/xm-sun.h, config/i386/xm-sysv3.h,
7542         config/m68k/xm-tower.h, config/m68k/xm-aux.h,
7543         config/m68k/xm-hp320.h, config/m68k/xm-amix.h,
7544         config/m68k/xm-altos3068.h, config/m68k/xm-mot3300.h,
7545         config/m68k/xm-m68kv.h, config/m88k/xm-openbsd.h,
7546         config/mips/xm-nws3250v4.h, config/mips/xm-sysv.h,
7547         config/mips/xm-iris3.h, config/mips/xm-iris4.h, config/xm-svr3.h,
7548         config/xm-svr4.h, config/sparc/xm-pbd.h, config/clipper/xm-clix.h:
7549         Delete unused and/or empty files.
7550
7551         * config.gcc: Define USG in xm_defines as appropriate.  Define
7552         POSIX in lieu of xm-svr4.h.  Delete all references to the SVR3
7553         macro.  Remove deleted xm-* files from $xm_files variable.
7554
7555 2001-03-07  Tom Tromey  <tromey@redhat.com>
7556
7557         * configure: Rebuilt.
7558         * configure.in: Allow config-lang.in to set `lang_requires' to list
7559         of other required languages.
7560
7561 2001-03-07  Andrew MacLeod  <amacleod@redhat.com>
7562
7563         * config/a29k/a29k.c (print_operand): Free a29k_last_prologue_insn
7564         after its emitted.
7565         (output_prologue): Use xmalloc not oballoc.
7566         (output_epilog): Free a29k_first_epilogue_insn when finished.
7567         * confif/a29k/a29k.h (PREDICATE_CODES): Remove shift_constant_operand.
7568
7569 2001-03-07  Brad Lucier  <lucier@math.purdue.edu>
7570
7571         * builtins.c (expand_builtin_mathfn): Check
7572         flag_unsafe_math_optimizations, not flag_fast_math.
7573         (expand_builtin): Likewise
7574         * combine.c (combine_simplify_rtx): Likewise.
7575         (simplify_if_then_else): Likewise.
7576         * cse.c (fold_rtx): Likewise.
7577         * flags.h: Remove flag_fast_math.  Add
7578         flag_unsafe_math_optimizations and flag_trapping_math.
7579         * fold-const.c (negate_expr): Check
7580         flag_unsafe_math_optimizations, not flag_fast_math.
7581         (invert_truthvalue): Likewise.
7582         (fold): Likewise.  Before associating operands, check that
7583         code == MULT_EXPR, not code != MULT_EXPR.
7584         * ifcvt.c (noce_try_minmax): Check
7585         flag_unsafe_math_optimizations, not flag_fast_math.
7586         (noce_operand_ok): Check flag_trapping_math, not flag_fast_math.
7587         * invoke.texi: Document -funsafe-math-optimizations and
7588         -fno-trapping-math.  Change documentation for -ffast-math.
7589         * jump.c (reversed_comparison_code_parts): Likewise.
7590         (rtx_equal_for_thread_p): Likewise.
7591         * optabs.c (emit_conditional_move): Likewise.
7592         * simplify-rtx.c (simplify_binary_operation): Likewise.
7593         (simplify_relational_operation): Likewise.
7594         (simplify_ternary_operation): Likewise.
7595         * toplev.c: Remove flag_fast_math.  Add flag_trapping_math and
7596         flag_unsafe_math_optimizations.  Remove fast-math entry from f_options.
7597         Add trapping-math and unsafe-math-optimizations entries to f_options.
7598         (set_fast_math_flags): New, sets flags for -ffast-math.
7599         (set_no_fast_math_flags): New, sets flags for -fno-fast-math.
7600         (decode_f_option): Add code to handle -ffast-math and -fno-fast-math.
7601         * toplev.h: Declare set_fast_math_flags and set_no_fast_math_flags.
7602
7603         * config/alpha/alpha.c (alpha_emit_conditional_branch): Likewise.
7604         (alpha_emit_conditional_move): Initialize local_fast_math to
7605         flag_unsafe_math_optimizations, not flat_fast_math.
7606         * config/c4x/c4x.c (c4x_override_options): Call set_fast_math_flags
7607         instead of setting flag_fast_math to 1.
7608         * config/convex/convex.md: Check flag_unsafe_math_optimizations,
7609         not flag_fast_math.
7610         * config/i386/i386.c (override_options): Likewise
7611         * config/i386/i386.md: Likewise.
7612         * config/m68k/m68k.md: Likewise.
7613         * config/mips/mips.md: Likewise.
7614         * config/rs6000/rs6000.c (validate_condition_mode): Likewise.
7615         (rs6000_generate_compare): Likewise.
7616
7617 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
7618
7619         * Makefile.in: Set RANLIB to @RANLIB@.
7620         Remove RANLIB_TEST.
7621
7622 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
7623
7624         * fixinc/inclhack.def (djgpp_wchar_h): New test.
7625         * fixinc/fixincl.x: Regenerated.
7626
7627 2001-03-07  Richard Henderson  <rth@redhat.com>
7628
7629         * config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
7630
7631 2001-03-07  Richard Henderson  <rth@redhat.com>
7632
7633         * emit-rtl.c (remove_unnecessary_notes): Verify proper nesting
7634         of block notes and exception handling notes.
7635
7636         * lists.c (init_EXPR_INSN_LIST_cache): Don't check initialized.
7637         * toplev.c (rest_of_compilation): Call init_EXPR_INSN_LIST_cache ...
7638         (compile_file): ... here.
7639
7640 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7641
7642         * fixinc/Makefile.in (FIXINC_DEFS): Add -DHAVE_CONFIG_H.
7643
7644         * fixinc/gnu-regex.c: Don't include auto-host.h since we get
7645         config.h now.  Include libiberty.h to handle alloca.
7646
7647 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
7648
7649         * c-parse.in (yylexname): New function, split out of _yylex.
7650         (objc_rid_sans_at): New table.
7651         (init_reswords): Initialize it.
7652         (_yylex): Give labels clearer names.  Handle CPP_ATSIGN by
7653         retrieving the next token and checking it for significance as
7654         an ObjC keyword or string constant.
7655
7656         * cpplex.c (_cpp_lex_token): Just return CPP_ATSIGN for '@'.
7657         * cpplib.h (TTYPE_TABLE): Add CPP_ATSIGN, drop CPP_OSTRING.
7658
7659         * c-lex.c, c-parse.in, cppmacro.c, cpplex.c: Remove references
7660         to CPP_OSTRING.
7661
7662 2001-03-06  Stephen L Moshier  <moshier@mediaone.net>
7663
7664         * config/m68k/m68k.c (const_uint32_operand): Accept any
7665         const_int on a 32-bit host.
7666
7667 2001-03-06  Nicola Pero  <n.pero@mi.flashnet.it>
7668
7669         * objc/objc-act.c (init_objc): Set save_lang_status,
7670         restore_lang_status, and mark_lang_status.
7671
7672 2001-03-06  Krister Walfridsson  <cato@df.lth.se>
7673
7674         * dwarf2asm.c (dw2_asm_output_delta): Fix smallest_mode_for_size call.
7675
7676 2001-03-06  Neil Booth  <neil@daikokuya.demon.co.uk>
7677
7678         * cppinternals.texi: Update.
7679
7680 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7681
7682         * config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
7683         config/alpha/xm-alpha.h, config/arc/xm-arc.h, config/arm/xm-arm.h,
7684         config/c4x/xm-c4x.h, config/clipper/xm-clix.h,
7685         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
7686         config/dsp16xx/xm-dsp16xx.h, config/elxsi/xm-elxsi.h,
7687         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
7688         config/i370/xm-linux.h, config/i370/xm-mvs.h, config/i370/xm-oe.h,
7689         config/i386/xm-i386.h, config/i860/xm-i860.h,
7690         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
7691         config/m32r/xm-m32r.h, config/m68k/xm-m68k.h,
7692         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
7693         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
7694         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
7695         config/pa/xm-linux.h, config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
7696         config/pa/xm-pahpux.h, config/pa/xm-papro.h, config/pj/xm-pj.h,
7697         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
7698         config/rs6000/xm-lynx.h, config/rs6000/xm-rs6000.h,
7699         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
7700         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
7701         config/v850/xm-v850.h, config/vax/xm-vax.h, config/vax/xm-vms.h,
7702         config/we32k/xm-we32k.h: Delete HOST_BITS_PER_* definitions which
7703         match the defaults provided in hwint.h.
7704
7705         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
7706         config/sparc/xm-lynx.h, config/xm-std32.h: Delete files.
7707
7708         * config.gcc (xm_file): Don't set to files which are deleted.
7709
7710         * hwint.h: Provide default values for HOST_BITS_PER_*.  No longer
7711         guard this file against these macros being undefined.
7712
7713 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
7714
7715         * objc/objc-act.c (objc_add_static_instance): Set DECL_INITIAL
7716         and DECL_DEFER_OUTPUT on the decl we create, before calling
7717         rest_of_decl_compilation.
7718
7719 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
7720
7721         * aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE
7722         AC_FUNC_ALLOCA.
7723         * configure, config.in: Regenerate.
7724         * config.gcc: Remove references to deleted files.
7725
7726         * genattr.c, genattrtab.c, genextract.c, genoutput.c,
7727         genrecog.c, rtl.c: Do not use alloca anywhere.
7728
7729         * Makefile.in, build-make, system.h, config/x-interix,
7730         config/x-svr4, config/xm-interix.h, config/xm-openbsd.h,
7731         config/alpha/xm-alpha.h, config/alpha/xm-vms.h,
7732         config/arc/xm-arc.h, config/arm/xm-arm.h,
7733         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
7734         config/h8300/xm-h8300.h, config/i370/x-oe,
7735         config/i370/xm-linux.h, config/i386/x-aix, config/i386/x-beos,
7736         config/i386/x-ncr3000, config/i386/x-sco5,
7737         config/i386/xm-dgux.h, config/i860/x-sysv4,
7738         config/i960/xm-i960.h, config/m32r/xm-m32r.h,
7739         config/m68k/x-crds, config/m68k/x-dpx2, config/m68k/x-hp320,
7740         config/m68k/x-hp320g, config/m69k/x-mot3300,
7741         config/m68k/x-mot3300-gas, config/m68k/xm-amix.h,
7742         config/m68k/xm-hp320.h, config/m68k/xm-m68kv.h,
7743         config/m68k/xm-mot3300.h, config/m88k/x-dolph,
7744         config/m88k/x-sysv4, config/m88k/x-tekXD88,
7745         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
7746         config/mips/x-iris, config/mips/x-iris3,
7747         config/mips/x-sni-svr4, config/mips/x-sysv,
7748         config/mips/xm-iris6.h, config/mips/xm-mips.h,
7749         config/mips/xm-nws3250v4.h, config/pa/x-hpux,
7750         config/pa/x-pa-mpeix, config/pa/xm-pa.h,
7751         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
7752         config/pa/xm-papro.h, config/romp/xm-romp.h,
7753         config/rs6000/x-aix31, config/rs6000/x-aix41,
7754         config/rs6000/x-beos, config/rs6000/x-lynx,
7755         config/rs6000/x-mach, config/rs6000/x-rs6000,
7756         config/rs6000/x-sysv4, config/rs6000/xm-rs6000.h,
7757         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
7758         config/sparc/x-sysv4, config/sparc/xm-linux.h,
7759         config/sparc/xm-pbd.h, config/sparc/xm-sparc.h,
7760         config/vax/xm-vms.h: Eradicate all references to alloca and
7761         related stuff.
7762
7763         * config/xm-alloca.h, config/clipper/x-clix,
7764         config/i386/xm-sysv4.h, config/i860/x-fx2800,
7765         config/i860/x-sysv3, config/m88k/x-sysv3,
7766         config/sparc/xm-sol2.h, config/we32k/x-we32k: Delete
7767         (contained only alloca related hacks).
7768
7769         * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Just define
7770         USE_C_ALLOCA.
7771
7772 2001-03-05  Brad Lucier  <lucier@math.purdue.edu>
7773
7774         * invoke.texi: Document __FAST_MATH__.
7775
7776 2001-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7777
7778         * crtstuff.c: Restore include of auto-host.h.
7779
7780 2001-03-05  Fergus Henderson  <fjh@cs.mu.oz.au>
7781
7782         Put main() in a separate file, so that the language
7783         front-end can use a different main().
7784
7785         * main.c: New.
7786         * toplev.c: (main): Rename as toplev_main.
7787         * toplev.h: Declare toplev_main.
7788         * Makefile.in (OBJS): add toplev.o.
7789           (BACKEND): remove toplev.o, add main.o.
7790
7791 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
7792
7793         * cppfiles.c (search_from): Special case the empty string.
7794
7795 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
7796
7797         * cppfiles.c (_cpp_execute_include): Don't make a null-terminated
7798         copy of the filename.  Don't use CPP_PREV_BUFFER.  Don't call
7799         strlen or strcpy; we already know the length.
7800         (_cpp_compare_file_date): Similarly.
7801         * cpphash.h (struct cpp_reader): Delete done_initialising.
7802         (CPP_PREV_BUFFER): Delete.
7803         * cppinit.c (cpp_start_read): Don't set done_initialising.
7804         * cpplex.c (parse_string): Guarantee null-termination.
7805         (_cpp_equiv_toklists): Remove.
7806         * cpplib.c (glue_header_name): Null-terminate.
7807         (do_line): Don't leak memory.
7808         * cpplib.h (BT_WEAK): Delete.
7809         * cppmain.c (cb_ident): Strings are now null-terminated.
7810
7811 2001-03-04  Laurynas Biveinis  <lauras@softhome.net>
7812
7813         * gcc.c (convert_filename): Append executable suffix
7814         if NO_AUTO_EXE_SUFFIX is not defined.
7815         * gcc.texi: Document NO_AUTO_EXE_SUFFIX.
7816         * config/i386/djgpp.h: Define NO_AUTO_EXE_SUFFIX.
7817
7818 2001-03-03  David O'Brien  <obrien@FreeBSD.org>
7819
7820         from 2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
7821         * c-parse.gperf, c-gperf.h: Delete.
7822         (c-gperf.h was accidently re-added to the CVS repo in the rev
7823         1.16 commit by tromey)
7824
7825 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7826
7827         * cpplex.c (_cpp_lex_token): Don't warn about directives in
7828         macro arguments when looking for the '('.
7829         * cppmacro.c (funlike_invocation_p): Set parsing_args to
7830         2 when really parsing arguments; 1 when looking for '('.
7831         Always restore the lexer position.
7832
7833 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7834
7835         * longlong.h (umul_ppmm): Don't use a multiline string.
7836
7837 2001-03-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7838
7839         * fixinc/fixlib.h (t_bool): Add identifier `t_bool' in typedef.
7840         * fixinc/server.c (read_pipe_timeout): Use enum t_bool instead of
7841         t_bool in declaration because pcc can't combine volatile with typedef
7842         types.
7843
7844 Sat Mar  3 19:47:13 CET 2001  Jan Hubicka  <jh@suse.cz>
7845
7846         * i386.c (ix86_expand_fp_compare): Delay creating of scratch register
7847         until when it is really needed.
7848         (ix86_expand_compare): Update call of ix86_expand_fp_compare.
7849         * i386.h (PREDICATE_CODES): Add all codes for sse_comparison_operator
7850         * i386.md (float?i?f splitter): Don't force source operand to memory
7851         for SSE.
7852         (sse_movdfcc): Fix constraint.
7853         (sse_movdfcc splitter): Handle properly the second alternative.
7854
7855 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7856
7857         * cpplex.c (parse_string): Unconditionally pedwarn.
7858
7859 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7860
7861         * cpp.texi: Update.
7862         * cppexp.c (parse_number): Update.
7863         * cpplex.c (parse_string): Pedwarn if multiline string does not
7864         result from a system header's macro.
7865         * cpplib.h (sys_objmacro_p): Rename sys_macro_p.
7866         * cppmacro.c (sys_objmacro_p): Rename sys_macro_p.  Return true
7867         for function-like macros too.
7868         * c-lex.c (lex_number): Update.
7869
7870 2001-03-03  Richard Henderson  <rth@redhat.com>
7871
7872         * dwarf2out.c (output_call_frame_info): Fix augmentation length.
7873
7874 Sat Mar  3 04:17:17 2001  J"orn Rennecke <amylaar@redhat.com>
7875
7876         * combine.c (try_combine): If split with mode-changed scratch
7877         register didn't work, try the original mode.
7878
7879 Sat Mar  3 03:46:47 2001  J"orn Rennecke <amylaar@redhat.com>
7880
7881         * tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
7882         * config/c4x/c4x.h: Likewise.
7883         * stor-layout.c (compute_record_mode): Likewise.
7884         (layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK.
7885
7886 2001-03-02  Zack Weinberg  <zackw@stanford.edu>
7887
7888         * configure.in: Kill tm.h.  Include the files in the $tm_file
7889         list in all three of config.h, hconfig.h, tconfig.h, after the
7890         relevant set of xm_files.  Put TARGET_CPU_DEFAULT in all
7891         three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
7892         * configure: Regenerate.
7893         * Makefile.in (clean): Don't delete tm.h.
7894
7895         * system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
7896         defined, set them from EXIT_SUCCESS and EXIT_FAILURE.  If
7897         those are not defined, set SEC and FEC to 0 and 1.
7898         * gcc.texi: Update to match.
7899
7900         * crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
7901         * config/fp-bit.c, config/m68k/aux-crt2.asm,
7902         config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
7903         Include tconfig.h, not tm.h.
7904
7905         * config/xm-lynx.h, config/xm-std32.h,
7906         config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
7907         config/alpha/xm-alpha.h, config/arc/xm-arc.h,
7908         config/avr/xm-avr.h, config/c4x/xm-c4x.h,
7909         config/clipper/xm-clix.h, config/convex/xm-convex.h,
7910         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
7911         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
7912         config/h8300/xm-h8300.h, config/i370/xm-linux.h,
7913         config/i386/xm-i386.h, config/i860/xm-i860.h,
7914         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
7915         config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h,
7916         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
7917         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
7918         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
7919         config/pa/xm-linux.h, config/pa/xm-pa.h,
7920         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
7921         config/pa/xm-papro.h, config/pdp11/xm-pdp11.h,
7922         config/pj/xm-pj.h, config/romp/xm-romp.h,
7923         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
7924         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
7925         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
7926         config/v850/xm-v850.h, config/vax/xm-vax.h,
7927         config/we32k/xm-we32k.h:
7928         Don't include tm.h.
7929         Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
7930
7931         * config/i370/xm-i370.h, config/i370/xm-mvs.h,
7932         config/i370/xm-oe.h: Don't include tm.h.  Don't define
7933         SUCCESS_EXIT_CODE.
7934         * config/vax/xm-vms.h: Don't include tm.h.
7935
7936         * config/xm-lynx.h, config/avr/xm-avr.h,
7937         config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h,
7938         Delete; made empty by above changes.
7939         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
7940         config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h:
7941         Don't include config/xm-lynx.h or tm.h.
7942
7943         * config/xm-gnu.h: Don't include fcntl.h.
7944         * config/sparc/xm-lynx.h: Don't include sys/types.h and
7945         sys/wait.h.
7946         * config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf.
7947
7948 2001-03-02  Richard Henderson  <rth@redhat.com>
7949
7950         * tm.texi (File Framework): Document UNALIGNED_SHORT_ASM_OP,
7951         UNALIGNED_INT_ASM_OP, and UNALIGNED_DOUBLE_INT_ASM_OP.
7952
7953 2001-03-02  Richard Henderson  <rth@redhat.com>
7954
7955         * Makefile.in (OBJS): Add dwarf2asm.o.
7956         * dwarf2asm.c, dwarf2asm.h: New files.
7957         * dwarf2out.c (*): Use them.
7958         (size_of_uleb128, size_of_sleb128): Remove.
7959         (output_uleb128, output_sleb128): Remove.
7960         (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Remove.
7961         (UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Remove.
7962         (UNALIGNED_OFFSET_ASM_OP, UNALIGNED_WORD_ASM_OP): Remove.
7963         (FDE_LABEL, LINE_NUMBER_BEGIN_LABEL, LINE_NUMBER_END_LABEL): New.
7964         (ASM_OUTPUT_DWARF_DATA1, ASM_OUTPUT_DWARF_DELTA1): Remove.
7965         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_DELTA2): Remove.
7966         (ASM_OUTPUT_DWARF_DATA4, ASM_OUTPUT_DWARF_DELTA4): Remove.
7967         (ASM_OUTPUT_DWARF_DATA, ASM_OUTPUT_DWARF_DELTA): Remove.
7968         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_ADDR_DATA): Remove.
7969         (ASM_OUTPUT_DWARF_ADDR_DELTA, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
7970         (ASM_OUTPUT_DWARF_OFFSET4, ASM_OUTPUT_DWARF_OFFSET): Remove.
7971         (ASM_OUTPUT_DWARF_CONST_DOUBLE): Remove.
7972         (ASM_OUTPUT_DWARF_NSTRING, ASM_OUTPUT_DWARF_STRING): Remove.
7973         (dwarf2out_frame_debug): Remove unused variables.
7974         (output_loc_operands): Don't abort on 8 byte constants if
7975         host integers are wide enough.
7976         (output_symbolic_ref): Remove.
7977         (size_of_die): Don't assume 4 byte host integers.
7978         (output_line_info): Use ASM_GENERATE_INTERNAL_LABEL for begin
7979         and end labels.
7980         (add_const_value_attribute) [CONST_INT]: Verify we're not doing
7981         something stupid with HOST_WIDE_INT to long truncation.
7982         [CONST_DOUBLE]: Likewise.
7983
7984         * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Remove.
7985         (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
7986         * config/arm/unknown-elf.h: Likewise.
7987         * config/rs6000/aix.h (UNALIGNED_SHORT_ASM_OP): New.
7988         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): New.
7989         (ASM_OUTPUT_DWARF_ADDR_VAR, ASM_OUTPUT_DWARF_DELTA_VAR): Remove.
7990         (ASM_OUTPUT_DWARF_DELTA2, ASM_OUTPUT_DWARF_DELTA4): Remove.
7991         (ASM_OUTPUT_DWARF_DELTA, ASM_OUTPUT_DWARF_ADDR_DELTA): Remove.
7992         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_DATA4): Remove.
7993         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_OFFSET4): Remove.
7994         (ASM_OUTPUT_DWARF_OFFSET): Remove.
7995         * config/rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Remove.
7996         * config/sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
7997         (UNALIGNED_LONGLONG_ASM_OP, ASM_OUTPUT_DWARF_ADDR): Remove.
7998         (ASM_OUTPUT_DWARF_ADDR_CONST, ASM_OUTPUT_DWARF_REF): Remove.
7999
8000 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8001
8002         * cselib.c (hash_rtx): Cast enums to unsigned int.
8003
8004 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8005
8006         * print-rtl.c (print_rtx): Cast enums to int for comparison.
8007         * c-decl.c (grokdeclarator): Cast enums to int for comparison and
8008         shifts.
8009         * c-format.c (C_STD_VER): Cast to int for comparisons.
8010         (check_function_format): Cast various enums to int for &.
8011         (maybe_read_dollar_number): Likewise.
8012         (check_format_info): Likewise.
8013         (check_format_info_main): Likewise.
8014         * expr.c (emit_move_insn_1): Cast enums to unsigned int for comparison.
8015         (safe_from_p): Likewise.
8016         * varasm.c (const_hash): Cast enum to int for %.
8017         * emit-rtl.c (init_emit_once): Use int loop variable to work around
8018         pcc enum problems with < and ++ operators.
8019         * regclass.c (init_reg_sets_1): Cast enums for comparison.
8020         (choose_hard_reg_mode): Use unsigned int to iterate over CCmodes.
8021         (regclass_init): Change enum class to int to iterate over reg_classes.
8022         * genrecog.c (merge_trees): Cast enums for comparison.
8023         * rtl.h (GET_CODE): Cast to enum rtx_code.
8024         (PUT_CODE): Cast to ENUM_BITFIELD(rtx_code).
8025         (GET_MODE): Cast to enum machine_mode.
8026         (PUT_MODE): Cast to ENUM_BITFIELD(machine_mode).
8027         (GET_NOTE_INSN_NAME): Cast enum to int.
8028         * tree.h (TREE_CODE): Cast to enum tree_code.
8029         (TREE_SET_CODE): Cast VALUE to ENUM_BITFIELD(tree_code).
8030         * timevar.c (timevar_print): Change loop variable id from enum to
8031         unsigned int.
8032         * fixinc/fixincl.c (VLEVEL): Cast enums in comparison to unsigned int.
8033         * config/i386/i386.md: Use PUT_MODE for mode assignment.
8034         * toplev.c (compile_file): Cast enum DFI to int.
8035         (decode_d_option): Likewise.
8036
8037 Fri Mar  2 12:18:13 2001  Christopher Faylor <cgf@cygnus.com>
8038
8039         * cppinit.c (append_include_chain): Mark "after" include file name list
8040         as a system directory.
8041         * cpp.texi: Document new behavior.
8042
8043 Fri Mar  2 11:59:43 CET 2001  Jan Hubicka  <jh@suse.cz>
8044
8045         * ifcvt.c (noce_operand_ok): Handle properly unarry operations.
8046
8047 2001-03-02  Neil Booth  <neil@daikokuya.demon.co.uk>
8048
8049         * cppfiles.c (struct include_file): Update.
8050         (stack_include_file): Use search_from.
8051         (cpp_included, find_include_file): Update.
8052         (cpp_execute_include): Update.  ptr->name may not be
8053         null terminated.  Use the new search_from member variable
8054         of cpp_buffer.
8055         (_cpp_compare_file_date): Similarly.
8056         (search_from): New function, similiar to actual_directory.
8057         (actual_directory): Delete.
8058         (remap_filename): Update.  loc->name may not be null terminated.
8059         (struct file_name_list): Rename search_path.  Update.
8060         * cpphash.h (struct cpp_buffer): Delete actual_dir.  New members
8061         search_from and dir.
8062         (struct cpp_reader): Remove actual_dirs.
8063         * cppinit.c (struct cpp_pending): Update for renamed objects.
8064         (append_include_chain, remove_dup_dir, remove_dup_dirs,
8065         merge_include_chains, cpp_destroy, cpp_start_read): Similarly.
8066         * cpplib.h (struct cpp_options): Similarly.
8067
8068 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
8069
8070         * config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
8071         config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
8072         config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
8073         config/clipper/xm-clix.h, config/convex/xm-convex.h,
8074         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
8075         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
8076         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
8077         config/i370/xm-linux.h, config/i370/xm-mvs.h,
8078         config/i370/xm-oe.h, config/i386/xm-aix.h,
8079         config/i386/xm-i386.h, config/i386/xm-osf.h,
8080         config/i860/xm-i860.h, config/i960/xm-i960.h,
8081         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
8082         config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
8083         config/mcore/xm-mcore.h, config/mips/xm-mips.h,
8084         config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
8085         config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
8086         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
8087         config/pa/xm-pahpux.h, config/pa/xm-papro.h,
8088         config/pj/xm-pj.h, config/romp/xm-romp.h,
8089         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
8090         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
8091         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
8092         config/v850/xm-v850.h, config/vax/xm-vax.h,
8093         config/vax/xm-vms.h, config/we32k/xm-we32k.h:
8094         Do not define TRUE or FALSE.
8095
8096         * config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
8097         empty by above change.
8098         * config.gcc: Remove references to these files.
8099
8100         * configure.in: Detect stdbool.h.
8101         * configure, config.in: Regenerate.
8102         * system.h: Include stddef.h here if available.
8103         Set HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.
8104         Then set up a sensible boolean type at the very end.
8105
8106         * combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
8107         config/mcore/mcore.c: Rename variables named 'true' and/or 'false'.
8108
8109         * hash.h: Delete 'boolean' typedef and related #undefs.
8110
8111         * function.c, ggc-common.c, hash.h, hash.c, tlink.c: Replace
8112         all uses of 'boolean' with 'bool'.
8113
8114 2001-03-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8115
8116         * cpplib.c (_cpp_init_stacks): Cast enum for comparison.
8117         * cppexp.c (lex): Cast enums for comparison.
8118         * cppinit.c (parse_option): Cast enum for comparison.
8119         * cpplex.c (cpp_spell_token): Cast enums to int for minus.
8120         (cpp_output_token): Likewise.
8121         (cpp_can_paste): Cast enums for comparsion and plus/minus.
8122         (cpp_avoid_paste): Cast enums for minus and comparison.
8123
8124 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
8125
8126         * gcc.c, objc/lang-specs.h: Add zero initializer for cpp_spec
8127         field to all array elements.
8128
8129 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
8130
8131         * cpphash.h (struct cpp_reader): Add print_version field.
8132         * cppinit.c (cpp_handle_option): For -v, -version, and --version,
8133         just set print_version and other flags as appropriate.
8134         (cpp_post_options): Print version here if print_version is set.
8135
8136         * toplev.c (exit_after_options): New flag.
8137         (independent_decode_option): Don't exit here; just set
8138         exit_after_options.
8139         (main): Exit after calling lang_hooks.post_options if
8140         exit_after_options is true.
8141
8142         * cppinit.c (append_include_chain): Drop never-used case QUOTE.
8143         (merge_include_chains): Adjust comment to match code.
8144
8145 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
8146
8147         * stringpool.c (set_identifier): New function.
8148         * tree.h: Prototype it.
8149
8150         * c-parse.in: Kill D_YES. If compiled for objc, call
8151         save_and_forget_protocol_qualifiers from init_reswords.
8152         * objc/objc-act.c (remember_protocol_qualifiers,
8153         forget_protocol_qualifiers): Don't diddle C_IS_RESERVED_WORD.
8154         Swap out the non-keyword IDENTIFIER_NODEs for keyword ones, or
8155         vice versa.
8156         (save_and_forget_protocol_qualifiers): New function.
8157         * c-lex.h: Prototype save_and_forget_protocol_qualifiers.
8158
8159 2001-03-01  Diego Novillo  <dnovillo@redhat.com>
8160
8161         * c-semantics.c (prune_unused_decls): Return error_mark_node
8162         instead of (tree) 1 to stop traversing the tree chain.
8163
8164 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
8165
8166         Fix a problem introduced by Kenner's Feb 18 change.
8167         * toplev.c (rest_of_compilation): Disable flag_cse_follow_jumps and
8168         flag_cse_skip_blocks only temporarily, not for ever.
8169
8170 Thu Mar  1 09:49:58 2001  Jeffrey A Law  (law@cygnus.com)
8171
8172         * config/pa/som.h  (ASM_IDENTIFY_GCC): Define.
8173         (ASM_IDENTIFY_GCC_AFTER_SOURCE): Likewise.
8174
8175         * pa.c (emit_move_sequence): Verify operand0 is a hard register
8176         before determining its register class.
8177
8178 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
8179
8180         * config/ia64/ia64.c (ia64_hard_regno_rename_ok): Disallow renaming
8181         from reg 4 if current_function_calls_setjmp.
8182         (gen_nop_type): New function.
8183         (ia64_emit_nops): New function.
8184         (ia64_reorg): Call it.
8185         (ia64_sched_reorder): Move code that rotates bundles up a bit.
8186
8187         * reload1.c (eliminate_regs_in_insn): Restrict the special case
8188         code not to try to optimize adds with anything but a REG destination.
8189
8190         * sched-int.h (struct haifa_insn_data): Add new member priority_known.
8191         (INSN_PRIORITY_KNOWN): New accessor macro.
8192         * haifa-sched.c (priority): Use it instead of testing priority against
8193         zero.
8194
8195 2001-02-28  DJ Delorie  <dj@redhat.com>
8196
8197         * config/m68k/m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes,
8198         since that doesn't work the way gcc wants on a generic m68k.
8199
8200 2001-02-28  Richard Henderson  <rth@redhat.com>
8201
8202         * caller-save.c (save_call_clobbered_regs): Fix typo in
8203         comparison last change.
8204
8205 Wed Feb 28 19:31:42 CET 2001  Jan Hubicka  <jh@suse.cz>
8206
8207         * i386.c (pentium4_cost): New.
8208         (m_PENT4): New macro.
8209         (x86_push_memory, x86_movx,x86_cmove, x86_deep_branch, x86_use_sahf
8210         x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8
8211         x86_integer_DFmode_moves, x86_partial_reg_dependency,
8212         x86_memory_mismatch_stall): Add Pentium4
8213         (x86_use_q_reg, x86_use_any_reg): Kill.
8214         (override_options): Add pentium4.
8215         (incdec_operand): Return 0 for pentium4.
8216         (ix86_issue_rate): Add PROCESSOR_PENTIUM4 and PROCESSOR_ATHLON.
8217         * i386.h (x86_use_q_reg, x86_use_any_reg): Kill.
8218         (TARGET_PENTIUM4): Define.
8219         (enum processor_type): Add PROCESSOR_PENTIUM4.
8220         (CPP_CPU_DEFAULT_SPEC): Add pentium4 support.
8221         * i386.md (attribute "cpu"): Add pentium4.
8222         * invoke.texi (march): Add pentium4.
8223
8224 Wed Feb 28 19:28:06 CET 2001  Jan Hubicka  <jh@suse.cz>
8225
8226         * i386.md (sse_mov?fcc*): New patterns and splitters.
8227         * i386.c (ix86_expand_movcc): Work post-reload; recognize
8228         the SSE based conditional moves.
8229
8230 Wed Feb 28 19:18:23 CET 2001  Jan Hubicka  <jh@suse.cz>
8231
8232         * i386.md (attribute mode): Add "TI".
8233         (movsf_1): Add pxor support; remove constant propagation splitter.
8234         (movdf_integer): Likewise.
8235         (movdf_nointeger): Likewise.
8236         (movxf constant prop splitter): Handle all modes; update for SSE.
8237         * i386.h (CONST_DOUBLE_OK_FOR_LETTER): Add 'H' for SSE constants.
8238         * i386.c (standard_80387_constant_p): Rewrite.
8239         (standard_sse_constant_p): New.
8240         * i386-protos.h (standard_sse_constant_p): New.
8241
8242 Wed Feb 28 19:05:37 CET 2001  Jan Hubicka  <jh@suse.cz>
8243
8244         * i386.md (sse_setccsf, sse_setccdf): New.
8245         (sse_cmp* patterns): Use '%D' instead of outputtting condition
8246         flag directly.
8247         * i386.c (sse_comparison_operator): Accept the supported unordered
8248         comparses; be ready for fast_math.
8249         (print_operand): Support 'D'.
8250
8251 Wed Feb 28 18:54:51 CET 2001  Jan Hubicka  <jh@suse.cz>
8252
8253         * jump.c (reversed_comparison_code): Kill.
8254
8255 Wed Feb 28 18:50:15 CET 2001  Jan Hubicka  <jh@suse.cz>
8256
8257         * toplev.c (rest_of_compilation): Do post-reload splitting unconditionally
8258         for STACK_REGS
8259
8260 Wed Feb 28 18:47:37 CET 2001  Jan Hubicka  <jh@suse.cz>
8261
8262         * i386.md (sse_andti3, sse_nandti_3, sse_xorti3): Add SSE2 versions;
8263         add missing '%' in constraints.
8264
8265 Wed Feb 28 17:24:24 CET 2001  Jan Hubicka  <jh@suse.cz>
8266
8267         * c-common.c (build_common_tree_nodes): Build intTI_type_nodes
8268         for HOST_BITS_PER_WIDE_INT == 32 too.
8269
8270 Wed Feb 28 17:22:35 CET 2001  Jan Hubicka  <jh@suse.cz>
8271
8272         * caller-save.c (reg_save_code, reg_restore_code):  Index by mode, not
8273         NREGS.
8274         (insert_save, insert_restore): New parameter save_mode.
8275         (init_caller_save): Update initialization of reg_save_code
8276         and reg_restore_code.
8277         (save_call_clobbered_regs):  Compute save_modes and update calls to
8278         reg_save_code and reg_restore_code.
8279         (insert_restore):  Unsignetize numbers; use save_modes to choose mode
8280         of spill; update use of reg_restore_code.
8281         (insert_save):  Likewise.
8282         * i386.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
8283         * c4x.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
8284         * regs.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
8285
8286 Wed Feb 28 17:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
8287
8288         * ifcvt.c (noce_emit_store_flag, noce_try_store_flag_constants,
8289         noce_try_store_flag_inc, noce_try_store_flag_mask,
8290         noce_try_cmove_arith):
8291         Use reversed_comparison_code instead of reverse_comparison and
8292         can_reverse_comparison_p.
8293
8294 Wed Feb 28 17:17:29 CET 2001  Jan Hubicka  <jh@suse.cz>
8295
8296         * jump.c (reversed_comparison_code_parts): Allow reversal of
8297         unordered compares in -ffast-math mode; reverse ordered compares
8298         for FP even w/o -ffast-math.
8299
8300 2001-02-27  Richard Henderson  <rth@redhat.com>
8301
8302         * print-rtl.c (print_rtx) [i]: Don't print field five on
8303         NOTEs other than NOTE_INSN_DELETED_LABEL.
8304
8305 2001-02-27  Zack Weinberg  <zackw@stanford.edu>
8306
8307         * mips/xm-iris4.h: Delete #if 0 block (there since before 1997).
8308         * pa/xm-linux.h, pa/xm-pa.h, pa/xm-papro.h: Don't declare errno.
8309
8310 2001-02-27  Diego Novillo  <dnovillo@redhat.com>
8311
8312         * c-common.c (walk_stmt_tree): Visit the chain of the current tree
8313         even if walk_subtrees is 0.
8314         * c-semantics.c (prune_unused_decls): Return a non-null value to
8315         stop traversing the tree chain.
8316
8317 2001-02-27  DJ Delorie  <dj@redhat.com>
8318
8319         * config/m68k/m68k.c (output_function_prologue): Save the new CFA
8320         register, *then* define it as the new CFA.
8321
8322 Tue Feb 27 16:49:13 2001  Jeffrey A Law  (law@cygnus.com)
8323
8324         * pa.c (override_options): Promote -fpic to -fPIC.
8325         (legitimize_pic_address): Simplify due to removal of
8326         small PIC as a code generation option.
8327         (secondary_reload_class): Similarly.
8328         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Similarly.
8329         (PRINT_OPERAND_ADDRESS): Similarly.
8330         * pa.md (various patterns): Similarly.
8331         (small pic lo_sum pattern): Remove.
8332
8333 Tue Feb 27 16:01:13 CET 2001  Jan Hubicka  <jh@suse.cz>
8334                               Fergus Henderson
8335
8336         * md.texi (min, max): Document
8337
8338 Tue Feb 27 15:51:35 CET 2001  Jan Hubicka  <jh@suse.cz>
8339
8340         * i386.md (movsf, movdf): Use movaps for reg-reg moves if
8341         TARGET_PARTIAL_REG_DEPENDENCY.
8342         (truncdfsf2_1_sse, truncdfsf2_2): Penalize the fpreg->mem case.
8343
8344 Tue Feb 27 15:36:48 CET 2001  Jan Hubicka  <jh@suse.cz>
8345
8346         * i386.md (mins*, maxs*): New patterns, expanders and splitters.
8347
8348 2001-02-26  Jeffrey Oldham  <oldham@codesourcery.com>
8349
8350         * mips.c (mips_make_temp_file): Fix thinko in last change.
8351
8352 2001-02-26  Jason Eckhardt  <jle@redhat.com>
8353
8354         * combine.c (known_cond): Do not reverse the condition when
8355         SMAX/UMAX is being considered and the condition is for equality
8356         or inequality.
8357
8358         * testsuite/gcc.c-torture/execute/20010221-1.c: New test.
8359
8360 2001-02-26  Philip Blundell  <philb@gnu.org>
8361
8362         * config.gcc: Remove obsolete targets "arm*-*-linuxoldld" and
8363         "armv2-*-linux".
8364         * config/arm/linux-elf.h: Remove historical relics related to
8365         above configurations.
8366         * config/arm/linux-oldld.h: Delete.
8367         * config/arm/linux-elf26.h: Delete.
8368
8369 2001-02-26  Jason Merrill  <jason@redhat.com>
8370
8371         * c-decl.c (finish_decl): Set DECL_DEFER_OUTPUT on tentative file-scope
8372         definitions.
8373         * toplev.c (rest_of_decl_compilation): Check DECL_DEFER_OUTPUT to
8374         recognize a tentative definition.  Lose obsolete code.
8375
8376         * toplev.c (wrapup_global_declarations): Don't emit DECL_COMDAT
8377         variables unless necessary, either.
8378
8379 2001-02-25  Richard Henderson  <rth@redhat.com>
8380
8381         * ifcvt.c (struct noce_if_info): Add test_bb.
8382         (noce_get_alt_condition): New.
8383         (noce_try_minmax, noce_try_abs): New.
8384         (noce_operand_ok): New.
8385         (noce_process_if_block): Use them.
8386         * rtlanal.c (may_trap_p): NEG and ABS can never trap.
8387
8388 Sun Feb 25 14:26:17 2001  Christopher Faylor <cgf@cygnus.com>
8389
8390         * config/i386/cygwin.h (CPP_SPEC): Add missing space before w32api
8391         include.
8392
8393 2001-02-25  Zack Weinberg  <zackw@stanford.edu>
8394
8395         * config.gcc: Put back pa/t-openbsd and rs6000/t-openbsd.
8396         * config/mips/mips.c (mips_make_temp_file): Set temp_filename
8397         properly.
8398         (mips_asm_file_end): Free temp_filename here.
8399
8400 Sun Feb 25 08:34:23 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8401
8402         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): Move decl.
8403         * config/i386/i386.c (ix86_set_move_mem_attrs_1): Fix typo.
8404
8405         * config/i386/i386.md (movstrsi): Handle FAIL case.
8406
8407 2001-02-25  Neil Booth  <neil@daikokuya.demon.co.uk>
8408
8409         * cppinit.c (builtin_array): Update.
8410         (init_builtins): Flag builtins to warn if redefined or
8411         undefined.  Define __GXX_WEAK as a normal macro.
8412         * cpplib.c (do_undef): Warn if flagged NODE_WARN.
8413         * cpplib.h (NODE_WARN): New flag.
8414         * cppmacro.c (builtin_macro): Remove handling of __GXX_WEAK__.
8415         Handle __STDC__ as a builtin only on Solaris.
8416         (warn_of_redefinition): Renamed from check_macro_definition.
8417         Reverse sense of test.  Always warn if NODE_WARN.
8418         (_cpp_create_definition): Use warn_of_redefinition.  Flag
8419         any macro beginning with "__STDC_" to require a mandatory
8420         warning if redefined or undefined.
8421
8422 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
8423
8424         * xm-interix.h, xm-lynx.h, alpha/xm-vms.h, convex/xm-convex.h,
8425         i370/xm-i370.h, i370/xm-linux.h, i370/xm-mvs.h, i370/xm-oe.h,
8426         i386/xm-beos.h, i386/xm-dos.h, i386/xm-mingw32.h,
8427         i860/xm-i860.h, m68k/xm-3b1.h, m68k/xm-amix.h, m68k/xm-aux.h,
8428         m68k/xm-crds.h, m68k/xm-mot3300.h, m88k/xm-sysv3.h,
8429         mips/xm-mips.h, rs6000/xm-beos.h, vax/xm-vms.h:
8430         Don't define any of:
8431         USE_PROTOTYPES, vfork, mktemp, SVR3, NO_SYS_PARAMS_H,
8432         P_tmpdir, MVS, NO_DBX_FORMAT, USE_STDARGS, STDC_HEADERS,
8433         NO_PRECOMPILES, i860, __PTR_TO_INT, __INT_TO_PTR, rindex,
8434         index, FULL_PROTOTYPES, AUX, R_OK, W_OK, X_OK, F_OK,
8435         STACK_DIRECTION, MIPS, MAX_READ_LEN, MAX_WRITE_LEN.
8436
8437         * alpha/xm-alpha.h, clipper/xm-clix.h, d30v/xm-d30v.h,
8438         fr30/xm-fr30.h, i370/xm-linux.h: Remove commented-out macro
8439         definitions.
8440
8441         * m68k/xm-3b1.h, m68k/xm-crds.h, m88k/xm-sysv3.h:
8442         Delete now-empty file.
8443
8444         * alpha/vms.h: Define NEED_ATEXIT here...
8445         * alpha/xm-vms.h: ...not here.
8446
8447         * i386/cygwin.h: Don't define PARAMS.
8448         * mips/mips.c: Don't prototype mktemp.  Don't define
8449         P_tmpdir.  Use make_temp_file to create temporary files.
8450         Don't be clever and delete temporary files early.
8451         * config.gcc: Drop references to deleted files.  Don't define
8452         FULL_PROTOTYPES.
8453         * gcc.texi: Don't mention USE_PROTOTYPES.
8454
8455 Sat Feb 24 20:25:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8456
8457         * config/i386/i386.c (ix86_set_move_mem_attrs): New function.
8458         (ix86_set_move_mem_attrs_1): Likewise.
8459         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): New declaration.
8460         * config/i386/i386.md (movstrsi): Call it.
8461
8462 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
8463
8464         * config.gcc: Expunge references to alpha/t-pe, pa/t-openbsd,
8465         x-linux-aout, i386/t-go32, t-osf, m68k/x-m68kv,
8466         ns32k/xm-netbsd.h, rs6000/t-openbsd, rs6000/t-xnewas,
8467         rs6000/x-aix41-gld.  These are nonexistent, empty, or obsolete.
8468
8469         (i750a-*-*): Error here if hosting on i750a.
8470         (alpha*-*-winnt*, ix86-*-winnt3*): Remove stanzas entirely.
8471
8472         * x-linux-aout, xm-freebsd.h, i386/beos-pe.h, ns32k/xm-netbsd.h:
8473         Remove (empty modulo comments).
8474
8475         * 1750a/xm-1750a.h, alpha/config-nt.sed, alpha/win-nt.h,
8476         alpha/xm-winnt.h, i386/config-nt.sed, i386/os2.h,
8477         i386/t-winnt, i386/win-nt.h, i386/xm-freebsd.h, i386/xm-os2.h,
8478         i386/xm-winnt.h, m68k/x-alloca-c, m88k/x-dguxbcs,
8479         mips/x-netbsd, mips/x-nws3250v4, rs6000/t-xnewas,
8480         rs6000/t-xrs6000, rs6000/xm-cygwin.h: Remove (obsolete)
8481
8482         * i386/crtdll.h, i386/cygwin.h, i386/mingw32.h:
8483         Remove reference to winnt.h in comment.
8484         * rs6000/t-newas, rs6000/t-rs6000: Override LIBGCC1_TEST to null.
8485
8486 2001-02-24  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8487
8488         * loop.c (check_dbra_loop): A biv has uses besides counting if it is
8489         used to set another biv.
8490
8491 Sat Feb 24 06:45:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8492
8493         * tree.h (BLOCK_DEAD): New macro.
8494         (struct tree_block): New flag, dead_flag.
8495         * print-tree.c (print_node, case 'b'): Print missing fields.
8496         * emit-rtl.c (remove_unnecessary_notes): Set BLOCK_DEAD.
8497         * function.c (identify_blocks): Enable test for misplaced notes.
8498         (all_blocks): Skip BLOCK_DEAD blocks.
8499         * integrate.c (integrate_decl_tree): Likewise.
8500
8501         * errors.c (internal_error, trim_filename): New functions.
8502         (fancy_abort): Call internal_error.
8503         * errors.h (internal_error, trim_filename): New declarations.
8504
8505 2001-02-24  Alexandre Oliva  <aoliva@redhat.com>
8506
8507         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Reverted
8508         2000-08-26's patch.
8509         (EXTRA_CONSTRAINT): Formatting changes.
8510
8511 2001-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8512
8513         * rtl.c (rtl_check_failed_code2): Fix typo in last change.
8514
8515 2001-02-23  Per Bothner  <per@bothner.com>
8516
8517         * gcc.c (record_temp_file, pfatal_with_name, error):  Make non-static,
8518         so they can be called from java/jvspec.c.
8519         * gcc.h (record_temp_file, pfatal_with_name, error):  Declare.
8520
8521 Sat Feb 24 03:32:50 CET 2001  Jan Hubicka  <jh@suse.cz>
8522
8523         * i386.c (ix86_frame): New structure.
8524         (ix86_compute_frame_size): Kill.
8525         (ix86_compute_frame_layout): New.
8526         (ix86_save_reg): New.
8527         (ix86_can_use_return_insn_p): Use frame layout stuff.
8528         (ix86_expand_prologue): Likewise.
8529         (ix86_expand_epilogue): Likewise.
8530         (ix86_initial_elimination_offset): Likewise.
8531         (ix86_nsaved_regs): Use ix86_save_reg.
8532         (ix86_emit_save_regs): Likewise.
8533
8534 Sat Feb 24 03:30:38 CET 2001  Jan Hubicka  <jh@suse.cz>
8535
8536         * flow.c (find_sub_basic_blocks): New function.
8537         (split_block): Be ready for basic block introduced by CODE_LABEL.
8538         (commit_one_edge_insertion): Call find_sub_basic_block.
8539
8540         * flow.c (make_edges): Add edge from entry for blocks starting with
8541         label having ALTERNATE_NAME
8542
8543 Sat Feb 24 03:19:42 CET 2001  Jan Hubicka  <jh@suse.cz>
8544
8545         * function.c (epilogue_done): Be ready for first basic block not
8546         containing PROLOGUE_END note.
8547         (reposition_prologue_and_epilogue_notes): Avoid placing
8548         PROLOGUE_END note between BASIC_BLOCK.
8549
8550 Sat Feb 24 03:17:09 CET 2001  Jan Hubicka  <jh@suse.cz>
8551
8552         * loop.c (canonicalize_condition): Move to reversed_comparison_code.
8553
8554 2001-02-21  DJ Delorie  <dj@redhat.com>
8555
8556         * config/i960/i960.h (FRAME_POINTER_REQUIRED): Revert removal of
8557         check for current_function_has_nonlocal_goto from 1999-11-12.
8558
8559 Fri Feb 23 15:28:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8560
8561         * diagnostic.c (trim_filename): No longer static.
8562         * toplev.h (trim_filename): Declare.
8563         * rtl.c (rtl_check_failed_bounds): Call internal_error.
8564         (rtl_check_failed_type1, rtl_check_failed_type2): Likewise.
8565         (rtl_check_failed_code1, rtl_check_failed_code2): Likewise.
8566         (rtvec_check_failed_bounds): Likewise.
8567         * tree.c (tree_check_failed, tree_class_check_failed): Likewise.
8568
8569         * convert.c (convert_to_integer): Don't do unsigned unless result or
8570         both inputs are unsigned.
8571
8572         * fold-const.c (fold_convert): Don't call size_int_type_wide if
8573         input overflows.
8574
8575         * c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
8576
8577         * varasm.c (output_constant): Recompute CODE after lang-specific fn.
8578
8579 2001-02-23  Jeffrey Oldham  <oldham@codesourcery.com>
8580
8581         * Makefile.in (resource.o): Add params.h dependence.
8582         * params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter.
8583         * params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise.
8584         * resource.c: Add dependence on params.h.
8585         (current_live_regs): Fix explanatory comment.
8586         (find_basic_block): Add new parameter to permit limiting search
8587         for a BARRIER.
8588         (mark_target_live_regs): Add new argument to find_basic_block call.
8589         (incr_ticks_for_insn): Likewise.
8590
8591 2001-02-23  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
8592
8593         * diagnostic.c (output_to_stream): Rename to
8594         output_buffer_to_stream. Loses the stream parameter.
8595         (init_output_buffer): Set diagnosic_buffer's stream.
8596         (flush_diagnostic_buffer): Adjust.
8597         (default_print_error_function): Likewise.
8598         (finish_diagnostic): Likewise.
8599         (verbatim): Likewise.
8600
8601         * diagnostic.h (struct output_buffer): Add `stream' field.
8602         (output_buffer_attached_stream): New macro.
8603
8604 2001-02-23  Jakub Jelinek  <jakub@redhat.com>
8605
8606         * fold-const.c (extract_muldiv) [case PLUS_EXPR]: If not MULT_EXPR,
8607         check if either operand is divisible by C.
8608         (multiple_of_p): Handle LSHIFT_EXPR with small constant shift.
8609         If type is signed, consider negative numbers as well.
8610
8611 2001-02-22  Richard Henderson  <rth@redhat.com>
8612
8613         * config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to
8614         reach .text instead of gp-relative relocs.
8615         * config/ia64/crtend.asm (.init): Likewise.
8616
8617 2001-02-22  Andreas Jaeger  <aj@suse.de>
8618
8619         * extend.texi (C++ Attributes): Fix typo.
8620
8621 2001-02-21  David Mosberger  <davidm@hpl.hp.com>
8622
8623         * config/ia64/ia64.c (ia64_epilogue_uses): For syscall_linkage
8624         functions, drop current_function_args_info.words test.
8625         (ia64_compute_frame_size): Mark syscall_linkage functions as
8626         using eight input registers.
8627
8628 2001-02-21  Loren J. Rittle  <ljrittle@acm.org>
8629         Bruce Korb  <bkorb@gnu.org>
8630
8631         * fixinc/inclhack.def (freebsd_gcc3_breakage): new fix
8632         * fixinc/README: Document how to convert sed substitutions
8633         to format style c_fix-es.
8634         * fixinc/fixincl.x: regen
8635
8636 2001-02-21  Jeffrey D. Oldham  <oldham@codesourcery.com>
8637
8638         * gcc.c: Add comment explaining how to add a command-line option.
8639         Add title to specs language comment.
8640
8641 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
8642
8643         * gcc.c (cc1_options): Add "-param".
8644         (DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
8645         (option_map): Likewise.
8646         * toplev.c (display_help): Add entry for "--param".
8647         (independent_decode_option): Fix typographical error.
8648
8649 Wed Feb 21 18:57:28 CET 2001  Catherine Moore  <clm@redhat.com>
8650                               Bernd Schmidt  <bernds@redhat.com>
8651                               Jan Hubicka  <jh@suse.cz>
8652
8653         * i386.c (function_arg_advance):  Pass SSE arguments in registers.
8654         (function_arg): Likewise.
8655
8656 Wed Feb 21 18:12:41 CET 2001  Jan Hubicka  <jh@suse.cz>
8657
8658         * i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.
8659
8660 2001-02-21  Kazu Hirata  <kazu@hxi.com>
8661
8662         * config/h8300/h8300.md (iorsi3): Do not output an extra newline
8663         character.
8664         (xorsi3): Likewise.
8665
8666 Wed Feb 21 17:35:24 CET 2001  Jan Hubicka  <jh@suse.cz>
8667
8668         * flow.c (init_propagate_block_info): Canon address and use single_set
8669         for killing dead memory stores.
8670
8671 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
8672
8673         * Makefile.in (reorg.o): Add params.h dependence.
8674         * params.def: Fix typographical error in comment.
8675         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
8676         * params.h: Modify introductory comment.
8677         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
8678         * reorg.c: Add dependence on params.h.
8679         (redundant_insn): Add parameterized throttle for search.
8680         (fill_simple_delay_slots): Add a comment explaining a variable.
8681         Move conditional out of loop, simplifying code.
8682         (fill_eager_delay_slots): Fix typographical error in comment.
8683
8684 2001-02-20  Aldy Hernandez  <aldyh@redhat.com>
8685
8686         * tm.texi (REVERSE_CONDEXEC_PREDICATES_P): New macro documentation.
8687
8688         * flow.c (ior_reg_cond): Use REVERSE_CONDEXEC_PREDICATES_P macro.
8689         (REVERSE_CONDEXEC_PREDICATES_P): Define macro.
8690
8691 2001-02-21  Jason Merrill  <jason@redhat.com>
8692
8693         * tree.h (DECL_UNINLINABLE): Move from C++ frontend.
8694         (struct tree_decl): Add uninlinable bitfield.
8695         * c-decl.c (duplicate_decls): Set it.
8696         * integrate.c (function_cannot_inline_p): Check it.
8697
8698         * dwarf2out.c (add_name_and_src_coords_attributes): Don't add
8699         DW_AT_MIPS_linkage_name to abstract methods.
8700         (dwarf2out_abstract_function): Emit class context before calling
8701         set_decl_abstract_flags.  Don't clear DECL_ABSTRACT.
8702         (gen_subprogram_die): Remove obsolete code.
8703         (gen_member_die): Don't include clones in the member list.
8704         (gen_decl_die): Emit abstract info for clone origin.
8705         * dwarfout.c (output_type): Don't include clones in the member list.
8706         * dbxout.c (dbxout_type_methods): Ignore abstract methods.
8707         * toplev.c (note_deferral_of_defined_inline_function): Don't clear
8708         DECL_ABSTRACT on a function that already has it set.
8709
8710         * dwarf2out.c (gen_formal_types_die): Also accept a FUNCTION_DECL.
8711         (get_subprogram_die): Pass it in.
8712
8713 2001-02-21  Richard Earnshaw  <rearnsha@arm.com>
8714
8715         * flow.c (mark_set_1): Make not_dead unsigned long.  For
8716         non-pseudos, use it as a bitmask of the hard regs that
8717         don't die.
8718
8719 2001-02-21  Neil Booth  <neil@daikokuya.demon.co.uk>
8720
8721         * cppfiles.c: Update comments.
8722         (_cpp_read_file): Don't check for NULL filenames any more.
8723         * cppinit.c (cpp_start_read): Don't do canonicalization of
8724         in_fname and out_fname.  Use the passed file name exclusively.
8725         (_cpp_handle_options): Don't treat "-" as a command line option,
8726         but as a normal filename.
8727         (_cpp_post_options): Canonicalize in_fname and out_fname.
8728         * cppmain.c (printer_init): Don't check out_fname for NULL.
8729         * c-lex.c (orig_filename): Rename cpp_filename for clarity.
8730         (init_c_lex): Update, and use "" to represent stdin to CPP.
8731         (yyparse): Update.
8732
8733 2001-02-20  Will Cohen  <wcohen@redhat.com>
8734
8735         * config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
8736         * config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
8737         (INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
8738         fixunstfsi_libfunc.
8739
8740 2001-02-20  Stan Shebs  <shebs@apple.com>
8741
8742         * config/rs6000/rs6000.c (output_cbranch): Output branches
8743         on separate lines instead of using ';' to separate.
8744
8745 2001-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
8746
8747         * cppinit.c (set_lang):  Move builtin handling to...
8748         (init_builtins): ...here.
8749         (_cpp_create_reader): Move call to set_lang.
8750
8751 2001-02-20  Mark Mitchell  <mark@codesourcery.com>
8752
8753         * stmt.c (expand_return): If an attempt is made to return the
8754         error_mar_node, treat the return like a return without a value.
8755
8756 2001-02-19  Zack Weinberg  <zackw@stanford.edu>
8757
8758         * sibcall.c (skip_copy_to_return_value): Call
8759         identify_call_return_value here, and return orig_insn if it
8760         returns zero.  Hardret and softret arguments now unnecessary.
8761         (call_ends_block_p): Don't call identify_call_return_value here.
8762
8763         * ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or
8764         's' slots in RTXen.
8765         * ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete function.
8766         * ggc.h (ggc_mark_if_gcable): Delete prototype.
8767
8768 Mon Feb 19 20:30:16 2001  Jeffrey A Law  (law@cygnus.com)
8769
8770         * pa.c (move_operand): Accept code to load the address of a
8771         symbol out of the DLT as a valid move operand.
8772         (print_operand, case 'A'): New to handle generating a DLT
8773         reference for a LO_SUM expression.
8774         * pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references.
8775         * pa.md (movsi, movdi patterns): Allow DLT LO_SUM references.
8776
8777 2001-02-19  Joseph S. Myers  <jsm28@cam.ac.uk>
8778
8779         * README, cpp.texi, gcc.texi, version.c: Update version number to
8780         3.1.
8781         * cpp.1, gcov.1, gcc.1: Regenerate.
8782
8783 2001-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
8784
8785         * cppfiles.c (stack_include_file): Generate dependencies
8786         here, and manage include_count here too.
8787         (PRINT_THIS_DEP): Delete.
8788         (_cpp_execute_include): Do not generate dependencies here,
8789         apart from the case of a missing header.  Do not manage
8790         include_count.
8791         (_cpp_read_file): Leave dependency generation to
8792         stack_include_file.
8793
8794 Mon Feb 19 10:17:47 2001  Jeffrey A Law  (law@cygnus.com)
8795
8796         * config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to
8797         target_cpu_default.  Remove dead assignment to
8798         target_cpu_default.
8799
8800 Mon Feb 19 16:47:39 CET 2001  Jan Hubicka  <jh@suse.cz>
8801
8802         * regclass.c (contains_reg_of_mode): Make global.
8803         (init_reg_sets): Remove contains_reg_of_mode; take into account
8804         CLASS_MAX_NREGS when looking for the proper mode.
8805         (dump_regclass): Dump only classes considered for the pseudo.
8806         (regclass): Use contains_reg_of_mode.
8807
8808 Mon Feb 19 16:45:42 CET 2001  Jan Hubicka  <jh@suse.cz>
8809
8810         * gcc.c (do_spec_1): 'n' for printing notices.
8811         * i386.h (CC1_CPU_SPEC): Notice deprecated options as deprecated.
8812
8813 Mon Feb 19 15:51:30 CET 2001  Jan Hubicka  <jh@suse.cz>
8814
8815         * reg-stack.c (next_flags_user): Use current_block->end
8816         (swap_rtx_condition): Look for next user if flags don't die;
8817         give up on CALL_INSNs; use current_block->end.
8818
8819 Mon Feb 19 08:27:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8820
8821         * sibcall.c (call_ends_block_p): New function.
8822         (optimize_sibling_and_tail_recursive_call): Use it.
8823
8824 2001-02-18  Kazu Hirata  <kazu@hxi.com>
8825
8826         * config/h8300/h8300.md: Update copyright.
8827         (andsi3): Do not output an extra newline character.
8828
8829 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8830
8831         * toplev.c (note_deferral_of_defined_inlined_function): Argument
8832         FNDECL may be unused.
8833
8834         * toplev.c (rest_of_compilation): Don't have CSE skip blocks or
8835         follow jumps after first run.
8836         If -fexpensive-optimizations rerun CSE after GCSE and iterate until
8837         it doesn't change any jumps.
8838
8839 Sun Feb 18 17:05:50 2001  Jeffrey A Law  (law@cygnus.com)
8840
8841         * Makefile.in (rtlanal.o): Depend on hard-reg-set.h.
8842         ($HOST_PREFIX_1)rtlanal.o: Remove rules for building
8843         (mostlyclean): Corresponding changes.
8844         * rtlanal.c (hard-reg-set.h): Include.
8845         (rtx_unstable_p): Do not treat the argument pointer specially
8846         if it is not a fixed register.
8847         (rtx_varies_p, rtx_addr_can_trap_p): Similarly.
8848
8849 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8850
8851         * sibcall.c (optimize_sibling_and_tail_recursive_call): Compare
8852         against last real insn in basic block.
8853         Rework to avoid gotos.
8854
8855         * Makefile.in (gcse.o): Now includes ggc.h.
8856         * gcse.c: Include ggc.h.
8857         (want_to_gcse_p): Verify expression can be in SET as valid insn.
8858         (try_replace_reg): Remove warning of uninitialize variable.
8859         (process_insert_insn): Call invalid_insn_p to validate insn.
8860         * recog.c (insn_invalid_p): Now global.
8861         See if can make valid by adding CLOBBERs of SCRATCH only and do if so.
8862         * recog.h (insn_invalid_p): New declaration.
8863
8864         * jump.c (jump_optimize_1): Only define reversed_code #ifdef HAVE_trap.
8865
8866         * config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put
8867         assignments from FP constants since 'Y' output code can't handle it.
8868         (eligible_for_sibcall_delay): Likewise.
8869
8870         * flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.
8871         Call fancy_abort directly, passing args.
8872         (print_rtl_and_abort): Now a macro, like fancy_abort.
8873
8874         * final.c (output_operand_lossage): Use internal_error, not error.
8875
8876 2001-02-18  Shane Nay  <shane@agendacomputing.com>
8877
8878         * mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to
8879         structure shift insns.
8880
8881 2001-02-18  Mark Mitchell  <mark@codesourcery.com>
8882
8883         * invoke.texi (-fsquangle): Remove documentation.
8884         (-fname-mangling-version): Likewise.
8885
8886 2001-02-18  Lars Brinkhoff  <lars@nocrew.org>
8887
8888         * optabs.c (expand_abs): Remove reference to
8889         HAVE_contitional_arithmetic.
8890         * combine.c (simplify_set): Likewise.
8891
8892 2001-02-18  Richard Henderson  <rth@redhat.com>
8893
8894         * ifcvt.c (dead_or_predicable): Don't move code if eh regions
8895         would be disrupted.
8896
8897 2001-02-18  Richard Henderson  <rth@redhat.com>
8898
8899         * config/ns32k/ns32k.h (ADJSP): Upcase arguments.
8900
8901         * config/alpha/alpha.md (movsi_fix): Fix typo in pattern name.
8902
8903         * reload1.c (reload_cse_simplify_set): Fix typo.
8904
8905 Sun Feb 18 09:30:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8906
8907         * diagnostic.c (_fatal_insn): Decrement errorcount.
8908
8909         * invoke.texi (-I): Add note avoiding use for system header files.
8910
8911         * rtl.h (add_clobbers): Remove duplicate declaration.
8912         * recog.h (added_clobbers_hard_reg_p): New declaration.
8913         * genemit.c (struct clobber_pat): New field has_hard_reg.
8914         (gen_insn): Record if added clobbers clobber hard reg.
8915         (gen_split): Avoid unused warning if number of operands is 0.
8916         (output_added_clobbers_hard_reg_p): New function.
8917         (main): Call it.
8918
8919 2001-02-18  Alan Modra <alan@linuxcare.com.au>
8920
8921         * pa.c (hppa_expand_prologue): Simplify code storing return
8922         pointer.  For large (>=8k) frames with a post_store, adjust stack
8923         pointer by 8k-64 first rather than by 64.  When testing with
8924         VAL_14_BITS_P, always use the actual value rather than the value
8925         negated.  Add blockage to prevent scheduling of spills before
8926         stack frame has been created.
8927         (hppa_expand_epilogue): Simplify code loading return pointer.
8928         Allow a slightly larger range for merge_sp_adjust_with_load case.
8929         When testing with VAL_14_BITS_P, always use the actual value.
8930
8931         * pa.c (pa_adjust_insn_length): Check that block move
8932         pattern is a set before looking at operands.
8933
8934 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
8935
8936         * fold-const.c (fold_binary_op_with_conditional_arg): New
8937         function, split out from ...
8938         (fold): ... here.
8939         * tree.def (COND_EXPR): Document the use of VOID_TYPE for
8940         conditional arms that throw exceptions.
8941
8942         * print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not
8943         looking at a BLOCK.
8944
8945 2001-02-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8946
8947         * aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test,
8948         define HAVE_DECL_* to 1 to mask potential backup declarations.
8949         * configure: Regenerated.
8950
8951 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
8952
8953         * invoke.texi (-Woverloaded-virtual): Clarify documentation.
8954
8955 2001-02-17  Richard Henderson  <rth@redhat.com>
8956
8957         * reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP
8958         when replacing a memory load with a register.
8959
8960 Sat Feb 17 14:48:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8961                           Jan Hubicka  <jh@suse.cz>
8962
8963         * recog.c (validate_replace_src_1): New.
8964         (validate_replace_src_data): Likewise.
8965         (validate_replace_src): Use note_uses.
8966         * rtl.h (note_uses): Declare.
8967         * rtlanal.c (note_uses): New.
8968
8969 Sat Feb 17 10:52:34 CET 2001  Jan Hubicka  <jh@suse.cz>
8970
8971         * reg-stack.c (stack_def): Make field reg unsigned.
8972         (remove_regno_note): Unsignetize parameter.
8973
8974 2001-02-16  Jes Sorensen  <jes@linuxcare.com>
8975
8976         * ia64.c (errata_emit_nops): Add VOIDmode as second argument to
8977         shladd_operand() call.
8978
8979 2001-02-16  Bruce Korb  <bkorb@gnu.org>
8980             Rodney Brown  <RodneyBrown@mynd.com>
8981
8982         * fixinc/mkfixinc.sh: Use C fixincludes for UnixWare 7.
8983         * fixinc/inclhack.def: Add fixinc.svr4 patterns with matching
8984         machine restrictions
8985         * fixinc/fixincl.x: regen
8986
8987 Fri Feb 16 12:41:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8988
8989         * gcse.c (hash_scan_set): If cprop, see if REG_EQUAL or REG_EQUIV.
8990         Don't CSE a nop.
8991         (hash_scan_insn): Clean up calls to hash_scan_set.
8992         (compute_kill_rd): REGNO now unsigned.
8993         (try_replace_reg): Rework to use simplify_replace_rtx.
8994         (cprop_jump, cprop_cc0_jump): Likewise.
8995         (cprop_insn): Call find_reg_equal_equiv_note.
8996         Reflect changes to cprop_jump and cprop_cc0_jump.
8997
8998         * recog.c (validate_replace_src): Replace in operands of
8999         ZERO_EXTRACT in SET_DEST.
9000
9001         * cse.c (new_label_ref): New variable.
9002         (insert): Set it instead of recorded_label_ref.
9003         (cse_basic_block): Set recorded_label_ref if new_label_ref use, has
9004         CODE_LABEL for this function, and not already in REG_LABEL note.
9005
9006 2001-02-16  Jeffrey Oldham  <oldham@codesourcery.com>
9007
9008         * resource.c (mark_referenced_resources): Fix typo in introductory
9009         comment.
9010         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Fix typo in
9011         string constant.
9012
9013 2001-02-16  Jason Merrill  <jason@redhat.com>
9014
9015         * dwarf2out.c (add_bound_info): Don't crash if SAVE_EXPR_RTL is
9016         NULL.
9017         (gen_subprogram_die): Don't abort on seeing a second definition if
9018         the previous one was abstract.  Don't replace an abstract instance
9019         in the lookup table.
9020
9021         * dwarf2out.c (dwarf2out_abstract_function): Rename from
9022         gen_abstract_function.
9023         * dwarf2out.h: Declare it.
9024         * toplev.c (note_outlining_of_inline_function): New fn.
9025         * toplev.h: Declare it.
9026         * integrate.c (output_inline_function): Call it.
9027         * c-decl.c (duplicate_decls): Call it when redefining an extern
9028         inline.  Don't inline the new defn.
9029
9030         * tree.h (BLOCK_CHAIN): Use BLOCK_CHECK.
9031
9032 2001-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9033
9034         * .gdbinit: Rename to gdbinit.in.
9035         * gdbinit.in: New file,
9036         * configure.in: Generate .gdbinit from gdbinit.in.
9037         * configure: Regenerated.
9038         * Makefile.in (distclean): Always remove .gdbinit.
9039
9040 2001-02-16  Jakub Jelinek  <jakub@redhat.com>
9041
9042         * objc/objc-act.c (start_class): Register implemented_classes with
9043         GC.
9044
9045 2001-02-16  Neil Booth  <neil@daikokuya.demon.co.uk>
9046
9047         * cppfiles.c (_cpp_make_system_header): Generate a file
9048         change callback.
9049
9050 2001-02-15  Jim Meyering  <meyering@lucent.com>
9051
9052         * Makefile.in (install-common): Don't depend on installdirs here.
9053         Instead, make each of the lang.install-common targets (e.g.,
9054         c++.install-common in cp/Make-lang.in) depend on it.
9055         (install-driver): Depend on installdirs.
9056
9057 Thu Feb 15 21:30:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9058
9059         * flow.c (tidy_fallthru_edge): Never end block on line number NOTE.
9060
9061         * function.c (assign_parms): Set RTX_UNCHANGING_P in pseudo when we
9062         do in memory.
9063
9064 2001-02-15  Mark Mitchell  <mark@codesourcery.com>
9065
9066         * invoke.texi (--param): Document.
9067
9068 Thu Feb 15 15:16:38 2001  Alexandre Oliva  <aoliva@redhat.com>
9069
9070         * config/sh/sh.h (BOOL_TYPE_SIZE): Don't define.
9071
9072 Thu Feb 15 10:52:31 CET 2001  Jan Hubicka  <jh@suse.cz>
9073
9074         * i386.md (extendsfdf2_2): Fix constraints.
9075
9076 Thu Feb 15 09:46:21 CET 2001  Jan Hubicka  <jh@suse.cz>
9077
9078         * i386.md (fop_df_3 splitter): Fix operand number.
9079
9080 Wed Feb 14 12:37:37 CET 2001  Jan Hubicka  <jh@suse.cz>
9081
9082         * invoke.texi (-mreg-alloc): Nuke.
9083         * i386.c (ix86_reg_alloc_order, regs_allocated,
9084         order_regs_for_local_alloc): Nuke.
9085         (override_options): Kill reg_alloc code.
9086         * i386.h (TARGET_OPTIONS): Kill reg-alloc.
9087         (REG_ALLOC_ORDER): SSE goes before I387.
9088         (ORDER_REGS_FOR_LOCAL_ALLOC): Kill.
9089         (ix86_reg_alloc_order): Likewise.
9090         * i386-protos.h (ix86_reg_alloc_order): Kill.
9091
9092 2001-02-14  Richard Henderson  <rth@redhat.com>
9093
9094         * toplev.c (f_options): Clarify -fschedule-insns2 documentation.
9095
9096 Wed Feb 14 11:59:58 CET 2001  Jan Hubicka  <jh@suse.cz>
9097
9098         * i386.h (RETURN_IN_MEMORY): Fix formating; reject TFmodes
9099
9100 Wed Feb 14 11:12:38 CET 2001  Jan Hubicka  <jh@suse.cz>
9101
9102         * i386-protos.h (ix86_memory_move_cost): Move offline.
9103         * i386.c (ix86_register_move_cost): Compute properly cost of
9104         SSE, MMX and i387 instructions.
9105         (*_cost): Add costs of SSE/MMX moves.
9106         (ix86_memory_move_cost): Move offline from ....; Likewise.
9107         * i386.h (MEMORY_MOVE_COST): .... here;
9108         (struct processor costs): Add new fields to represent costs
9109         of SSE/MMX moves.
9110
9111 Wed Feb 14 10:08:26 CET 2001  Jan Hubicka  <jh@suse.cz>
9112
9113         * regclass.c (init_reg_sets_1): Reinstall the optimization of
9114         move_cost together with Matt Kraai's fix.
9115
9116 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
9117
9118         * Makefile.in (OBJS): Add params.o.
9119
9120 2001-02-14  Richard Henderson  <rth@redhat.com>
9121             DJ Delorie  <dj@redhat.com>
9122
9123         * jump.c (jump_optimize_1): When we delete a conditional jump
9124         preceeding a non-conditional jump to effectively the same place,
9125         make sure that the combined jump skips any clobber insns between
9126         the two labels.
9127
9128 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
9129
9130         * gcc.c (do_spec_1): Fix off-by-one error for '%M' case.
9131
9132 2001-02-14  Mark Mitchell  <mark@codesourcery.com>
9133
9134         * Makefile.in (toplev.o): Depend on params.h.
9135         (intergate.o): Likewise.
9136         (params.o): New target.
9137         * flags.h (inline_max_insns): Remove.
9138         * integrate.c: Include params.h.
9139         Use MAX_INLINE_INSNS instead of inline_max_insns.
9140         * params.c: New file.
9141         * params.h: Likewise.
9142         * params.def: Likewise.
9143         * toplev.c: Include params.h.
9144         (lang_independent_params): New variable.
9145         (decode_f_option): Use the param machinery instead of setting
9146         max_inline_insns.
9147         (independent_decode_option): Handle "--param name=value".
9148         (main): Register language-independent parameters.
9149
9150 Wed Feb 14 11:13:45 CET 2001  Jan Hubicka  <jh@suse.cz>
9151
9152         * i386.md (pushsf, pushdf_nointeger): Fix constraint.
9153
9154 2001-02-14  Richard Henderson  <rth@redhat.com>
9155
9156         * regclass.c (init_reg_sets_1): Revert last two changes.
9157
9158 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
9159
9160         * stor-layout.c (is_pending_size, put_pending_size): New functions.
9161         (variable_size): Call put_pending_size.
9162         * tree.h (is_pending_size, put_pending_size): Add prototypes.
9163         * fold-const.c (extract_muldiv): If SAVE_EXPR is on the pending
9164         sizes list, put newly created SAVE_EXPR there as well.
9165
9166 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
9167
9168         * config/ia64/ia64.c (last_group): Only 2 entries are needed.
9169         (errata_find_address_regs): load_group has only 2 entries.
9170         (errata_emit_nops): Likewise.  shladd is not problematic.
9171         Clear last_group if nop was emitted.
9172         (fixup_errata): load_group has only 2 entries.
9173         Optimize.
9174
9175 2001-02-14  Neil Booth  <neil@daikokuya.demon.co.uk>
9176
9177         * c-lex.c (lex_number): Only warn traditionally for U suffix
9178         outside system macros.
9179         * cppexp.c (parse_number): Similarly.
9180         * cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
9181         * cppmacro.c (struct cpp_macro): New member node.
9182         (parse_args): Only warn about missing rest args if not
9183         a system macro.
9184         (funlike_invocation_p): Similarly for uninvoked funlike macros.
9185         (cpp_sys_objmacro_p): New.
9186         (_cpp_create_definition): Store the node with the macro defn.
9187         Remember if the macro is defined in a system header.
9188
9189 2001-02-13  DJ Delorie  <dj@redhat.com>
9190
9191         * configure.in (check_languages): determine languages to check
9192         * Makefile.in (check-c++): alias for check-g++
9193         (check-f77): alias for check-g77
9194         (CHECK_TARGETS): depend on configured languages
9195
9196 Wed Feb 14 01:13:59 CET 2001  Jan Hubicka  <jh@suse.cz>
9197
9198         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
9199         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
9200         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
9201         (sqrtextendsfdf2): Disable for SSE2.
9202
9203 Wed Feb 14 00:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
9204
9205         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
9206         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
9207         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
9208         (sqrtextendsfdf2): Disable for SSE2.
9209
9210 Wed Feb 14 00:11:20 CET 2001  Jan Hubicka  <jh@suse.cz>
9211
9212         * i386.md (movsfcc_1): Support integer cmove instruction.
9213         (movdfcc_1): Likewise; new splitter.
9214
9215 Tue Feb 13 23:19:27 CET 2001  Jan Hubicka  <jh@suse.cz>
9216
9217         * i386.c (output_fp_compare): Support SSE.
9218         (prepare_fp_compare_args): SSE comparisons always support memory.
9219         * i386.h (TARGET_CMOVE): SSE imply cmove.
9220         * i386.md (cmp?f2): Enable for SSE too.
9221         (cmpfp_i*): Support SSE.
9222         (cmpfp_i_sse): New.
9223         (cmpfp_i_sse_only): New.
9224         (s*, b* fp expanters): Enable for SSE too.
9225         (fp_jcc_1_sse, fp_jcc_1_sse_only, fp_jcc_2_sse, fp_jcc_2_sse_only):
9226         New patterns.
9227
9228 Tue Feb 13 23:05:42 CET 2001  Jan Hubicka  <jh@suse.cz>
9229
9230         * regclass.c (init_reg_sets_1): Silence warning.
9231
9232 Tue Feb 13 22:03:07 CET 2001  Jan Hubicka  <jh@suse.cz>
9233
9234         * i386.md (sqrt?f2): Change to expander.
9235         (sqrt?f2_1, sqrt?f2_sse_only, sqrt?f2_i387): New.
9236
9237 Tue Feb 13 15:42:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9238
9239         * rtlanal.c (find_reg_equal_equiv_note): New function.
9240         * simplify-rtx.c (simplify_gen_unary, simplify_gen_ternary): New fns.
9241         (simplify_gen_relational, simplify_replace_rtx): Likewise.
9242         * rtl.h: Add declarations for above functions.
9243
9244 Tue Feb 13 21:09:11 CET 2001  Jan Hubicka  <jh@suse.cz>
9245
9246         * cse.c (cse_main): Converts ifdefs on PIC_OFFSET_TABLE_REGNUM to
9247         conditionals.
9248         * defaults.h (PIC_OFFSET_TABLE_REGNUM): Default to INVALID_REGNUM.
9249         * emit-rtl.c (init_emit_once): Convert ifdefs to conditionals.
9250         * flow.c (mark_regs_live_at_end): Likewise.
9251         (calculate_global_regs_live): Likewise.
9252         * gcse.c (compute_hash_table): Likewise.
9253         (compute_kill_rd): Likewise.
9254         * resource.c (mark_target_live_regs): Likewise.
9255         * rtl.h (INVALID_REGNUM): New macro.
9256
9257 Tue Feb 13 20:59:22 CET 2001  Jan Hubicka  <jh@suse.cz>
9258
9259         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch.
9260
9261 Tue Feb 13 16:32:20 CET 2001  Jan Hubicka  <jh@suse.cz>
9262
9263         * i386.md (fixsfsi2, fixdfdi2): Force operand to register
9264         for SSE.
9265
9266 Tue Feb 13 14:53:16 CET 2001  Jan Hubicka  <jh@suse.cz>
9267
9268         * i386.md (add?f3, sub?f3, mul?f3, dif?f3): Enable for TARGET_SSE(2)
9269         too.
9270         (fop_sf_comm, fop_df_comm, fop_sf_1, fop_df_1): Support SSE.
9271         (fop_sf_comm_sse, fop_df_comm_sse): New patterns.
9272         (fop_sf_1_sse, fop_df_1_sse): New patterns
9273         (fop_*): Disable float_extend and float patterns for SSE compilation.
9274         * i386.c (output_387_binary_op): Support SSE.
9275
9276 Tue Feb 13 14:16:34 CET 2001  Jan Hubicka  <jh@suse.cz>
9277
9278         * i386.md (dummy_extendsfdf2): Support SSE2
9279         (extendsfdf2): Enable if 80387 or SSE2.
9280         (extendsfdf2_1): Support SSE2. Disable if SSE2 is avialble
9281         and no MIX_I387_SSE2
9282         (extendsfdf2_1_sse_only): New pattern.
9283         (truncdfsf2): Enable if SSE2 or 80387; Always use SSE only version
9284         of SSE.
9285         (truncdfsf2_1): Support SSE.
9286         (truncdfsf2_2): Support SSE.
9287         (truncdfsf2_2_1_sse): New pattern.
9288         (fixtruncsfsi2): Always use SSE if available.
9289         (fix_truncsfsi_sse): New pattern.
9290         (fix_truncdfsi_sse): New pattern.
9291         (floatsis?f2): Support SSE.
9292         (floatsidf2_i387): New pattern.
9293         (floatsidf2_sse): Likewise.
9294
9295 Tue Feb 13 07:52:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9296
9297         * configure.in: Use "have_gnat" variable, not "gnat".
9298         * configure: Regenerated.
9299
9300         * config/sparc/sparc.c (function_value): Treat all non-record
9301         aggregate types like used to treat UNION_TYPE.
9302
9303 Tue Feb 13 13:31:33 CET 2001  Jan Hubicka  <jh@suse.cz>
9304
9305         * i386.c (print_reg): Use ANY_FP_REG instead of FP_REG
9306         * i386.h (MASK_128BIT_LONG_DOUBLE): Renumber
9307         (MASK_SSE2): New.
9308         (MASK_MIX_SSE_I387): New.
9309         (TARGET_SSE): SSE2 imply SSE.
9310         (TARGET_SSE2, TARGET_MIX_SSE_I387): New.
9311         (TARGET_SWITCHES): Add "sse2", "mix-sse-i387".
9312         (enum reg_class): Add new classes.
9313         (REG_CLASS_NAMES): Likewise.
9314         (REG_CLASS_CONTENTS): Likewise.
9315         (ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros.
9316         (REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is
9317         supported. Add 'Y' to be SSE_REGS when SSE2 is supported.
9318         (CLASS_MAX_NREGS): Use new macros.
9319         (REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED.
9320         * i386.md (pushsf, movsf): Support SSE.
9321         (pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update
9322         splitters to use ANY_FP_REGNO_P.
9323         (movdf_nointeger, movdf_integer): Likewise.
9324
9325 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
9326
9327         * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro.
9328         (try_combine): Use it.
9329
9330 Tue Feb 13 11:37:06 CET 2001  Jan Hubicka  <jh@suse.cz>
9331
9332         * i386.h (SSE_CLASS_P, MMX_CLASS_P, MAYBE_FLOAT_CLASS_P,
9333         MAYBE_SSE_CLASS_P, MAYBE_MMX_CLASS_P): New macros.
9334         (PREFERRED_RELOAD_CLASS, SECONDARY_MEMORY_NEEDED): Move offline.
9335         (REGISTER_MOVE_COST): Likewise.
9336         * i386-protos.h (ix86_secondary_memory_needed,
9337         ix86_preferred_reload_class, ix86_register_move_cost): Declare.
9338         * i386.c (ix86_secondary_memory_needed,
9339         ix86_preferred_reload_class, ix86_register_move_cost): New function.
9340
9341 Die Feb 13 11:04:25 CET 2001  Jan Hubicka  <jh@suse.cz>
9342
9343         * i386.h (VALID_FP_MODE_P, VALID_INT_MODE_P): New.
9344         (HARD_REGNO_MODE_OK): Move offline to ....
9345         * i386.c (ix86_hard_regno_mode_ok) ... here;
9346         refuse all incorrect modes.
9347         * i386-protos.h (ix86_hard_regno_mode_ok): Declare.
9348
9349 2001-02-13  Richard Henderson  <rth@redhat.com>
9350
9351         * sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the
9352         entire operator; replicate that and match_dup the operands.
9353         (cmp_ccx_arith_op_set): Likewise.
9354         (cmp_cc_arith_op_not_set): Likewise.
9355         (cmp_ccx_arith_op_not_set): Likewise.
9356
9357 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
9358
9359         * explow.c (trunc_int_for_mode): Sign-extend value to mode.
9360
9361 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
9362
9363         * config/rs6000/sysv4.h (MASK_NO_BITFIELD_WORD): New macro.
9364         (TARGET_NO_BITFIELD_WORD): New macro.
9365         (SUBTARGET_SWITCHES): Add -mbit-word, -mno-bit-word options.
9366         (BITFIELD_NBYTES_LIMITED): Define based on TARGET_NO_BITFIELD_WORD.
9367
9368 Mon Feb 12 18:13:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9369
9370         * cselib.c: New file, from simplify-rtx.c.
9371         * simplify-rtx.c: Remove cselib parts.
9372         * Makefile.in: Add cselib.o.
9373
9374 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
9375
9376         * config/rs6000/rs6000.c (rs6000_float_const): Remove warning.
9377         (setup_incoming_varargs): Remove warning.
9378
9379         * config/rs6000/rs6000.c (validate_condition_mode): When
9380         flag_fast_math, allow floating-point conditionals to be reversed.
9381         (rs6000_generate_compare): When flag_fast_math, don't generate
9382         cror operations for FP conditionals.
9383
9384         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
9385         -mcall-i960.
9386         (ASM_SPEC): Likewise.
9387         (CC1_ENDIAN_LITTLE_SPEC): Likewise.
9388         (CC1_SPEC): Likewise.
9389         (LINK_TARGET_SPEC): Likewise.
9390         (CPP_ENDIAN_SPEC): Likewise.
9391         * Makefile.in (check-consistency): New target.
9392
9393 2001-02-12  Joseph S. Myers  <jsm28@cam.ac.uk>
9394
9395         * c-decl.c (grokdeclarator): In C99 mode, give the more specific
9396         "return type defaults" warning for functions with return type
9397         defaulting to int.
9398         * c-lang.c (c_init): In C99 mode, enable warnings for implicit
9399         function declarations by default rather than only when pedantic.
9400
9401 Mon Feb 12 17:28:48 CET 2001  Jan Hubicka  <jh@suse.cz>
9402
9403         * regclass.c (init_reg_sets_1): Optimize calculation of move_cost
9404         arrays.
9405
9406 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
9407
9408         * extend.texi (Deprecated): Deprecate new initializer lists.
9409
9410 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
9411
9412         * mkdeps.c (deps_add_default_target): Robustify. Add
9413         basename component only.
9414         * cpp.texi (-M): Describe how default target is generated.
9415         * invoke.texi (-M): Likewise.
9416
9417 2001-02-12  Kazu Hirata  <kazu@hxi.com>
9418
9419         * toplev.c (push_float_handler): Remove.
9420         (pop_float_handler): Remove.
9421         * toplev.h: Remove prototypes for the above functions.
9422
9423 2001-02-12  Jakub Jelinek  <jakub@redhat.com>
9424
9425         * c-common.c (constant_fits_type_p): New function.
9426         (convert_and_check): Use it.
9427
9428 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
9429
9430         * Makefile.in (GXX_ABI_FLAG): Don't define.
9431         * configure.in (--enable-new-gxx-abi): Remove option.
9432         * config.in: Regenerated.
9433         * configure: Likewise.
9434
9435 2001-02-12  Alexandre Oliva  <aoliva@redhat.com>
9436
9437         * lcm.c (compute_earliest): Let EXIT_BLOCK be handled as a regular
9438         basic block.
9439         (optimize_mode_switching) [NORMAL_MODE]: Set up EXIT_BLOCK as a
9440         regular basic block, and arrange for all edges into it to switch
9441         to normal mode.
9442
9443 2001-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9444
9445         * Makefile.in (distclean): Do not remove .gdbinit.
9446
9447 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
9448
9449         * Makefile.in (gcc.o): Fix typos.
9450         (protize.o): Likewise.
9451         (unprotoize.o): Likewise.
9452
9453 2001-02-11  Richard Henderson  <rth@redhat.com>
9454
9455         * tree.c (build1): Check for null operand in last change.
9456
9457 2001-02-11  Richard Henderson  <rth@redhat.com>
9458
9459         * fold-const.c (split_tree): Don't assume a constant isn't splittable.
9460         (fold): Don't assume a constant isn't foldable.
9461         * tree.c (build): Set TREE_CONSTANT for an expression with no
9462         side-effects and constant operands.
9463         (build1): Likewise.
9464
9465 2001-02-10  Richard Henderson  <rth@redhat.com>
9466
9467         * jump.c (squeeze_notes): Revert 2000-05-12 change.
9468
9469 2001-02-10  Anthony Green  <green@redhat.com>
9470
9471         * cpp.texi (Standard Predefined): Add documentation for
9472         __OPTIMIZE_SIZE__.
9473
9474         * c-common.c (combine_strings): Improve warning message.
9475
9476 2001-02-10  Geoffrey Keating  <geoffk@redhat.com>
9477
9478         * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Use two dashes for
9479         --oformat.
9480         * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Likewise.
9481
9482 Fri Feb  9 15:05:27 2001  Christopher Faylor <cgf@cygnus.com>
9483
9484         * config/i386/t-cygwin (T_CPPFLAGS): Use correct location for
9485         CYGWIN_CROSS_DIR.
9486
9487 2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
9488
9489         * config/sh/sh.md (sibcalli, sibcalli_pcrel, sibcalli): Set
9490         fp_mode attribute.
9491
9492 2001-02-09  Nick Clifton  <nickc@redhat.com>
9493
9494         * config/arm/arm.md: Change output contraint on post inc
9495         load/store multiple patterns to be a read/write contraint.
9496
9497 2001-02-09  Neil Booth  <neil@daikokuya.demon.co.uk>
9498
9499         * gcc.c (cpp_options): Delete .d files on error.  Don't delete
9500         .o files when using the -M options.
9501
9502 2001-02-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9503             David Edelsohn  <edelsohn@gnu.org>
9504
9505         * config/rs6000/rs6000.c (output_toc): Allow 32-bit targets to
9506         handle DImode constants.  Use one TOC entry for SImode and smaller
9507         constants, aligned properly.
9508
9509 2001-02-08  Jason Merrill  <jason@redhat.com>
9510
9511         * config/arm/arm.c (arm_expand_prologue): Do tell the dwarf2 backend
9512         about the SP adjustment for saving the static chain pointer.
9513         * dwarf2out.c (dwarf2out_frame_debug_expr): Use the specified
9514         offset when setting a temporary CFA register.
9515
9516 2001-02-08  Chandrakala Chavva  <cchavva@redhat.com>
9517
9518         * config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
9519         powerpc-*-chorusos* .
9520         * config/rs6000/chorus.h : New file.
9521         * config/i386/chorus.h : New file.
9522         * config/sparc/chorus.h : New file.
9523         * config/sparc/t-chorus-elf : New file.
9524
9525 2001-02-08  David Edelsohn  <edelsohn@gnu.org>
9526
9527         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ...
9528         * config/rs6000/aix.h (ASM_OUTPUT_SYMBOL_REF): ... to here.
9529         * config/rs6000/aix51.h (CPLUSCPLUS_CPP_SPEC): Define it.
9530         (__WCHAR_TYPE__): Correct macro name.
9531
9532 2001-02-08  Richard Henderson  <rth@redhat.com>
9533
9534         * config/i386/i386.c (ix86_frame_pointer_required): New.
9535         (ix86_setup_frame_addresses): New.
9536         (struct machine_funciton): Add accesses_prev_frame.
9537         * config/i386/i386.h (FRAME_POINTER_REQUIRED): Call
9538         ix86_frame_pointer_required.
9539         (SUBTARGET_FRAME_POINTER_REQUIRED): New.
9540         (SETUP_FRAME_ADDRESSES): New.
9541         * config/i386/i386-protos.h: Update.
9542         * config/i386/sco5.h (SUBTARGET_FRAME_POINTER_REQUIRED): Rename
9543         from FRAME_POINTER_REQUIRED.
9544         * config/i386/svr3gas.h: Likewise.
9545         * config/i386/sysv3.h: Likewise.
9546         * config/i386/v3gas.h: Likewise.
9547
9548 2001-02-08  Richard Henderson  <rth@redhat.com>
9549
9550         * config/sparc/sparc.c (function_arg_record_value_3): Fix
9551         calculation of the number of integer registers required.
9552         (function_arg_record_value): Likewise.
9553
9554 2001-02-08  Jason Merrill  <jason@redhat.com>
9555
9556         * diagnostic.c (internal_error): Say "confused" after 1 error, not
9557         two.  Print file and line with "confused" message.
9558
9559         * dwarf2out.c (dwarf2out_line): Include filename in -dA output.
9560
9561 Thu Feb  8 11:21:28 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9562
9563         * rtlanal.c (remove_node_from_expr_list): Correctly update PREV.
9564
9565 2001-02-08  Bernd Schmidt  <bernds@redhat.com>
9566
9567         * final.c (cleanup_subreg_operands): The address of a MEM can
9568         contain SUBREGs.
9569
9570         * config/ia64/ia64.c (ia64_variable_issue): Call group_barrier_needed_p
9571         for asms, too.
9572
9573 2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
9574
9575         * gcc.texi (Incompatibilities): Update documentation of
9576         preprocessing numbers.
9577
9578 2001-02-07  Jakub Jelinek  <jakub@redhat.com>
9579
9580         * c-decl.c (finish_enum): Revert part of 2000-01-05 change.
9581
9582 2001-02-07  Mark Mitchell  <mark@codesourcery.com>
9583
9584         * config/rs6000/aix43.h (CPLUSCPLUS_CPP_SPEC): Define it.
9585
9586         * defaults.h (CPLUSPLUS_CPP_SPEC): New macro.
9587         * gcc.c (struct compiler): Add cpp_spec field.
9588         (input_file_compiler): New variable.
9589         (do_spec_1): Allow a particular compiler to handle `%C'
9590         specially.
9591         (main): Store the current compiler in input_file_compiler.
9592         * tm.texi (CPLUSPLUS_CPP_SPEC): Document.
9593
9594 2001-02-07  Zack Weinberg  <zack@wolery.stanford.edu>
9595
9596         * cpphash.h (struct spec_nodes): Add n_true and n_false.
9597         * cppinit.c (cpp_create_reader): Initialize them.
9598         (append_include_chain): cxx_aware arg might be unused.
9599         * cppexp.c (lex): In C++ mode, recognize 'true' and 'false'
9600         keywords and give them their phase 7 meaning.  Pedwarn about
9601         this unless '__bool_true_false_are_defined' is defined.
9602
9603 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
9604
9605         * lcm.c (optimize_mode_switching): Emit mode_set before the
9606         JUMP_INSN of an abnormal edge.
9607
9608 2001-02-07  Bernd Schmidt  <bernds@redhat.com>
9609
9610         * builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
9611         a scheduling barrier at the end.
9612
9613         * tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document.
9614
9615 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
9616
9617         * config/sh/sh.md (reload_outsf): Removed.
9618         (movsf_ie): Introduce constraints for FPUL loads and stores.
9619         (reload_insf): Broaden the output constraint.
9620
9621         * config/elfos.h (INT_ASM_OP): Don't define it if it's already
9622         defined.
9623         * config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
9624         ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h.
9625
9626 2001-02-06  Chandrakala Chavva  <cchavva@redhat.com>
9627
9628         * final.c: Revert my previous changes.
9629         * output.h: Make profile_label_no extern.
9630         * config/rs6000/rs6000.c (output_profile_hook): Use standard functions
9631         for generating label.
9632
9633 2001-02-06  Laurynas Biveinis  <lauras@softhome.net>
9634
9635         * config/i386/djgpp.h: Add comments about standard paths.
9636         (MD_EXEC_PREFIX): Undefine before defining.
9637         (MD_STARTFILE_PREFIX): New.
9638
9639 2001-01-30  Bruce Korb  <bkorb@gnu.org>
9640
9641         fixinc/fixincl.c(process):  Emit error message only if appropriate :)
9642         (load_file): do not rely on load_file_data() to close file pointer
9643         fixinc/fixlib.c(load_file_data): do not close passed in file pointer
9644         fixinc/inclhack.def(irix_limits_const): add test_text
9645
9646 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
9647
9648         * cppexp.c (parse_defined): Improve diagnostics for invalid
9649         syntax.
9650
9651 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
9652
9653         * cppmacro.c (cpp_get_token): Avoid pasting after a builtin.
9654
9655 2001-02-06  Mark Mitchell  <mark@codesourcery.com>
9656
9657         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Define.
9658         * config/rs6000/rs6000-protos.h (rs6000_output_symbol_ref): Declare.
9659         * config/rs6000/rs6000.c (VTABLE_NAME_P): New macro.
9660         (rs6000_output_symbol_ref): New function.
9661         (output_toc): Use VTABLE_NAME_P.
9662
9663 Tue Feb  6 07:54:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9664
9665         * print-tree.c (print_node, case PARM_DECL):
9666         Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN.
9667
9668         * stor-layout.c (reference_types_internal): New variable.
9669         (internal_reference_types): New function.
9670         (layout_type, case REFERENCE_TYPE): Make Pmode if internal.
9671         * tree.h (internal_reference_types): New declaration.
9672
9673         * cse.c (find_best_addr): Fix typo in computing cost.
9674
9675 Mon Feb  5 21:56:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9676
9677         * combine.c (nonzero_bits, case PLUS): If pointers extend unsigned
9678         and this is the sum of a pointer and a constant, we know the result
9679         did not overflow.
9680         (num_sign_bit_copies, case PLUS): Likewise.
9681         * explow.c (convert_memory_address): Remove opposite SUBREG.
9682         * function.c (instantiate_new_reg): New function (from common code).
9683         (instantiate_virtual_regs_1): Call it.
9684         For PLUS, handle if (plus (subreg (virt-reg) (const_int))
9685         if pointers sign- or zero-extend.
9686         * simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND):
9687         If pointers extend unsigned, use inside of SUBREG.
9688         (simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend.
9689
9690 2001-02-05  Benjamin Kosnik  <bkoz@redhat.com>
9691
9692         * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target
9693         subdir of gcc_gxx_include_dir.
9694         (gcc_gxx_target_include_dir): Remove.
9695
9696 2001-02-05  Jeffrey Oldham  <oldham@codesourcery.com>
9697
9698         * dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments.
9699         (dwarf2out_frame_debug_expr): Revise introductory comments to add
9700         a high-level description.
9701
9702 2001-02-05  Chandrakala Chavva  <cchavva@redhat.com>
9703
9704         * final.c: Move the declaration of profile_label_no to ...
9705         * output.h: ... here.
9706         * function.c (expand_function_start): Call PROFILE_HOOK.
9707         * config/rs6000/aix.h: Define PROFILE_HOOK.
9708         * config/rs6000/rs6000-protos.h: output_profile_hook new.
9709         * config/rs6000/rs6000.c (output_profile_hook): Define.
9710         (output_prolog): Do nothing for ABI_AIX as it is taken care by
9711         output_profile_hook.
9712         tm.texi : Explain new macro PROFILE_HOOK.
9713
9714 2001-02-06  Hans-Peter Nilsson  <hp@axis.com>
9715
9716         * extend.texi (Extended Asm): Do not say that semicolon is always
9717         a valid line-breaking character for GNU assemblers.  Use
9718         newline-tab as the most commonly supported syntax.  Use
9719         newline-tab rather than semicolon in multi-insn examples.
9720
9721 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9722
9723         * Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).
9724
9725 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9726             David Edelsohn  <edelsohn@gnu.org>
9727
9728         * config/rs6000/rs6000.c (rs6000_return_addr): Use PIC
9729         code for AIX, even without flag_pic.
9730
9731 2001-02-05  Jakub Jelinek  <jakub@redhat.com>
9732
9733         * c-typeck.c (common_type): push and pop binding level around
9734         calling common_type on function parameters.
9735
9736 Mon Feb  5 14:30:37 2001  Christopher Faylor <cgf@cygnus.com>
9737
9738         * config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter.
9739
9740 Mon Feb  5 11:23:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9741
9742         * config/mips/mips.c (override_options): Fix typo in last change.
9743         (mips_make_temp_file): Call fatal_io_error, not pfatal_with_name.
9744         (mips_asm_file_end): Likewise; also pass more args to fatal_io_error.
9745
9746 2001-02-05  Nathan Sidwell  <nathan@codesourcery.com>
9747
9748         * invoke.texi (-fdump-class-layout): Document.
9749         (-fdump-translation-unit): Use `=' as filename separator.
9750
9751 2001-02-05  Mark Mitchell  <mark@codesourcery.com>
9752
9753         * Makefile.in (s-mlib): Don't build multilibs if
9754         --disable-multilib.
9755         (DRIVER_DEFINES): Adjust accordingly.
9756         (gcc.o): Likewise.
9757         (protoize.o): Likewise.
9758         (unprotoize.o): Likewise.
9759         * configure.in: Recognize --enable-multilib.
9760
9761 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
9762
9763         * Makefile.in (DRIVER_DEFINES): Fix quoting.
9764
9765         * Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3.
9766         * configure.in: Remove --enable-libstdcxx_v3 support.
9767         * configure: Regenerated.
9768
9769 Sun Feb  4 15:52:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9770
9771         * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
9772         Call abort instead of fatal.
9773         (TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal.
9774         * config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise.
9775         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise.
9776         (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise.
9777         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
9778         * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise.
9779
9780         * diagnostic.h (set_internal_error_function): Renamed.
9781         * toplev.h (internal_error): Renamed from fatal.
9782         (pfatal_with_name): Deleted.
9783         (fatal_io_error): Now has printf-style arguments.
9784         * diagnostic.c (pfatal_with_name): Deleted.
9785         (fatal_io_error): Rework to have args in printf-style.
9786         (set_internal_error_function): Renamed from set_fatal_function.
9787         (internal_error): Renamed from fatal.
9788         (error_recursion, fancy_abort): Call internal_error instead of fatal.
9789         * dwarf2out.c (get_cfa_from_loc_descr): Likewise.
9790         * emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
9791         * expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
9792         * flow.c (verify_flow_info): Likewise.
9793         * config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
9794         * config/mips/mips.c (save_restore_insns): Likewise.
9795
9796         * except.c (duplicate_eh_handlers): Call abort instead of fatal.
9797         * flow.c (verify_flow_info): Likewise.
9798         * config/arm/arm.c (thumb_load_double_from_address): Likewise.
9799         * config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
9800         (avr_normalize_condition): Likewise.
9801         * config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
9802         * config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
9803         (limit_reload_class, double_reg_to_memory): Likewise.
9804         (print_operand_address, emit_1600_code_shift): Likewise.
9805         (gen_tst_reg, gen_compare_reg): Likewise.
9806         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
9807         * config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
9808         Deleted.
9809         * config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.
9810
9811         * c-parse.in (methoddef): Call fatal_error instead of fatal.
9812         * objc/objc-act.c (build_ivar_chain): Likewise.
9813         * dwarfout.c (dwarfout_init): Call fatal_io_error instead of
9814         pfatal_with_name.
9815         * graph.c (clean_graph_dump_file): Likewise.
9816         * profile.c (init_branch_prob): Likewise.
9817         * objc/objc-act.c (objc_init): Likewise.
9818
9819         * config/arm/arm.c (arm_override_options): Make errors non-fatal.
9820         * config/avr/avr.c (avr_override_options): Likewise.
9821         * config/c4x/c4x.c (c4x_expand_prologue): Likewise.
9822         * config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
9823         * config/h8300/h8300.c (h8300_init_once): Likewise.
9824         * config/mips/mips.c (override_options): Likewise.
9825         * config/i386/i386.c (override_options): Likewise, rework.
9826         * config/m68k/m68k.c (override_options): Likewise.
9827
9828         * config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
9829         instead of fatal.
9830         * config/mips/mips.c (print_operand): Likewise.
9831         * hash.c (hash_allocate): Don't check for failure returns from
9832         obstack functions that can't fail.
9833         (hash_table_init_n, hash_table_init): Likewise; also now return void.
9834         * hash.h (hash_table_init_n, hash_table_init): Now return void.
9835         * objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
9836         (get_object_reference): Likewise.
9837
9838 2001-02-04  Nick Clifton  <nickc@redhat.com>
9839
9840         * config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e,
9841         StrongARM1110, 10TDMI, and 1020T.
9842
9843 2001-02-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9844
9845         * mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif.
9846
9847 2001-02-04  Alexandre Oliva  <aoliva@redhat.com>
9848
9849         * config/sh/sh.md (movdf load split): Pass register number to
9850         FP_OR_XD_REGISTER_P.
9851
9852 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
9853
9854         * cppinit.c (BC): New macro.
9855         (builtin_array): Add __GXX_WEAK__.
9856         * cpplib.h (builtin_type): Add BT_WEAK.
9857         * cppmacro.c (builtin_macro): Handle BT_WEAK.
9858         * defaults.h (SUPPORTS_ONE_ONLY): Define.
9859         * varasm.c (SUPPORTS_ONE_ONLY): Do not define.
9860
9861 2001-02-03  Jakub Jelinek  <jakub@redhat.com>
9862
9863         * cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C.
9864
9865 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
9866
9867         * cpphash.h: Rename _ALIGN POOL_ALIGN.
9868         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
9869
9870 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
9871
9872         * cpphash.h: Rename ALIGN _ALIGN.
9873         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
9874
9875 Fri Feb  2 23:15:29 2001  Christopher Faylor <cgf@cygnus.com>
9876
9877         * config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross
9878         compilation environment.
9879         * config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow
9880         control over location of cygwin includes and libs.
9881
9882 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
9883
9884         * c4x.h (HARD_REGNO_CALL_PART_CLOBBERED): Fix typo.
9885
9886 2001-02-02  lars brinkhoff  <lars@nocrew.org>
9887
9888         * md.texi (Standard Names): remove reference to spur.md.
9889
9890 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
9891
9892         * c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define.
9893         (HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG.
9894         (INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise.
9895         * c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG.
9896         (c4x_expand_prologue, c4x_expand_epilogue): Likewise.
9897
9898 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9899
9900         * c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand,
9901         c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register
9902         number before reload.
9903         (c4x_adjust_cost): Return zero before reload.
9904         * c4x.md (load_immed_address+1, load_immed_address+2): Do not
9905         split before reload.
9906
9907 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9908
9909         * c4x.c (c4x_hard_regno_rename_ok): New.
9910         * c4x-protos.h (c4x_hard_regno_rename_ok): New.
9911         * c4x.h (HARD_REGNO_RENAME_OK): Define.
9912
9913 Fri Feb  2 20:03:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9914
9915         * diagnostic.h: Add missing "extern" in all declarations.
9916
9917 2001-02-02  Alex Samuel  <samuel@codesourcery.com>
9918
9919         * Makefile.in (gcc_gxx_target_include_dir): Generate dynamically
9920         as for gcc_gxx_include_dir.
9921
9922 2001-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
9923
9924         * cpp.texi, invoke.texi: Update -Wtraditional documentation.
9925
9926 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
9927
9928         * config/sh/sh.c (output_far_jump): Don't use braf on SH1.  Emit
9929         label before alignment to be used as the braf base address.
9930         * config/sh/sh.md (length): Use longer lengths for SH1 PIC far
9931         branches.
9932         (casesi_jump_2): Require at least TARGET_SH2.
9933
9934         * config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent
9935         truncation to 32-bit doubles on -m3e and -m4-single-only.
9936
9937 2001-02-02  Mark Mitchell  <mark@codesourcery.com>
9938
9939         * gcc.c (init_gcc_specs): New function.  Make -shared-libgcc
9940         the default when building a shared object.
9941         (init_spec): Use it.
9942         * testsuite/lib/g++.exp: Include the directory where libgcc
9943         is located to the LD_LIBRARY_PATH list.
9944         * invoke.texi (-shared-libgcc): Document the cases in which
9945         GCC defaults to using the shared libgcc.
9946
9947 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
9948
9949         * config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume
9950         unsigned is wide enough.
9951         (BITS_PER_SI): New.
9952         * config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI.
9953         (si_to_float): Likewise.
9954         (float_to_si, float_to_usi): Use BITS_PER_SI.
9955
9956 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
9957
9958         * dwarf2out.c: Added explanation of abbreviations.
9959         (def_cfa_1): Added comments listing DWARF2 instructions.
9960         (cfa_temp_reg): Removed in favor of cfa_temp.
9961         (cfa_temp_value): Removed in favor of cfa_temp.
9962         (cfa_temp): New global variable.
9963         (dwarf2out_frame_debug_expr): Added extensive introductory
9964         comments explaining the function's transformations.  Revised to
9965         use cfa_temp.  Added some rtx checking.  Generalize IOR case.
9966         (dwarf2out_frame_debug): Revised to use cfa_temp.
9967         (output_aranges): Cast as "unsigned" to avoid warning.
9968         * rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better
9969         explain which instructions must be marked.
9970
9971 2001-02-01  Richard Henderson  <rth@redhat.com>
9972
9973         * local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
9974         new instruction.
9975
9976 2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
9977
9978         * config/sh/crt1.asm (main_k): Modified so that start calls
9979         ___setup_argv_and_call_main.
9980
9981 2001-02-01  Neil Booth  <neil@daikokuya.demon.co.uk>
9982
9983         * cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader.
9984         * cpplex.c (_cpp_lex_token): New token picks up the saved flags,
9985         and AVOID_LPASTE is cleared on meeting an unescaped newline.
9986         * cppmacro.c (builtin_macro): Set builtin flags here.
9987         (paste_all_tokens): Preserve AVOID_LPASTE on pasted token.
9988         (replace_args): Clarify intent.
9989         (cpp_get_token): Macro expansion tokens get the saved flags.
9990         Update.
9991         * cppmain.c (scan_buffer): Remove now-redundant print.printed
9992         check.
9993
9994 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
9995
9996         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of
9997         2001-Jan-29.
9998
9999 Thu Feb  1 07:22:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10000
10001         * builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space
10002         returns Pmode pseudo, but we need ptr_mode.
10003         * explow.c (allocate_dynamic_stack_space): Use plus_constant.
10004         Remove bogus conversions; use HOST_WIDE_INT for size.
10005         Don't use TARGET if wrong mode.
10006
10007         * config/i386/i386.c (ix86_compute_frame_size): Allow
10008         stack_alignment_needed to be non-default even if size is zero.
10009
10010 2001-01-31  Alan Modra <alan@linuxcare.com.au>
10011
10012         * pa.c (hppa_init_pic_save): New function.
10013         * pa.h (hppa_init_pic_save): Declare.
10014         * pa.md (call, call_value, sibcall, sibcall_value): Use
10015         the above instead of duplicated code.
10016
10017         * pa.c (hppa_encode_label): Correct size of alloca buffer
10018         so we don't overrun it.  Correct leading `*' case.
10019         * pa.h (STRIP_NAME_ENCODING): Simplify now that we don't
10020         need to handle `*@'.
10021         (FUNCTION_NAME_P): Likewise.
10022
10023 2001-01-31  Richard Henderson  <rth@redhat.com>
10024
10025         * config.gcc (alpha-osf5): Use float-i128.h.
10026
10027         * config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
10028         * config/float-i32.h: Likewise.
10029         * config/float-i64.h: Likewise.
10030         * config/float-sh.h: Likewise.
10031         * config/float-sparc.h: Likewise.
10032
10033 2001-01-31  DJ Delorie  <dj@redhat.com>
10034
10035         * expmed.c (extract_bit_field): allow non-integral modes if we
10036         want to extract a whole register from itself.
10037
10038 2001-01-31  Jakub Jelinek  <jakub@redhat.com>
10039
10040         * c-typeck.c (set_init_index): If first is equal to last, assume as
10041         if it was not a range at all.
10042
10043 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
10044
10045         * config/fp-bit.c: Include tm.h.
10046         (float_to_si): Don't assume SImode is 32-bits wide.
10047         (float_to_usi): Likewise.
10048
10049 2001-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
10050
10051         * c-parse.in (structsp): Pedwarn when "enum foo" refers to an
10052         incomplete type.
10053         (typename): Call pending_xref_error after parsing typed_typespecs.
10054         * c-decl.c (lookup_tag): Give error immediately rather than
10055         leaving it pending if the tag of the wrong type is in the same
10056         binding level.
10057         (xref_tag): Don't pedwarn for forward declarations of enum types
10058         here.
10059         * gcc.texi (Actual Bugs): Remove entry for misuse of struct, union
10060         and enum tags.
10061
10062 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
10063
10064         * config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo.
10065
10066 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
10067
10068         * cpplib.c (T_ELIF): Move to STDC89, not that it matters.
10069         (_cpp_handle_directive): Suggest not using #elif with -Wtraditional.
10070
10071 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
10072
10073         * cpphash.h (struct cpp_reader): New saved_flags.
10074         * cppmacro.c (cpp_get_token): Use saved_flags to remember
10075         to avoid a paste after a pasted token.
10076
10077 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
10078
10079         * libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
10080         * libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
10081         Wtype_MIN instead of LONG_MIN.
10082
10083 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
10084
10085         * fixinc/fixincl.tpl: Add 2001 to copyright.  Change name of
10086         README file.
10087         * fixinc/fixincl.x: Regenerated.
10088         * fixinc/inclhack.def (irix_limits_const): New definition to
10089         convert "const" to "__const" in limits.h.
10090
10091 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
10092
10093         * fixinc/genfixes (AG): Fix "autogen4" thinko.
10094
10095 2001-01-30  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
10096
10097         * regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED
10098         when register dies in the insn.
10099
10100 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
10101
10102         * diagnostic.c (fatal): Fix word wrap.
10103
10104 2001-01-30  Alexandre Oliva  <aoliva@redhat.com>
10105
10106         * combine.c (try_combine): Fix SUBREG setting for
10107         HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD.
10108
10109 2001-01-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10110
10111         * jump.c (comparison_dominates_p): Don't try to handle UNKNOWN
10112         comparison codes.
10113
10114 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
10115
10116         * c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
10117         is not NULL.
10118         * toplev.c (decode_W_option): Update warn_larger_than
10119         unconditionally for each processed switch.
10120
10121 2001-01-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10122
10123         * pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
10124         to NULL_RTX.
10125         (hppa_expand_prologue): Delete code to save pic offset table register
10126         in the function prologue.
10127         * pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
10128         * pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
10129         table register at the beginning of the function after the prologue.
10130
10131 2001-01-29  lars brinkhoff  <lars@nocrew.org>
10132
10133         * tm.texi (PUSH_ROUNDING): Remove duplicate lines.
10134
10135 2001-01-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10136             Jeff Law <law@redhat.com>
10137
10138         * pa.md (return): Revise comment for trivial return.
10139         (return_internal): Non-trivial return pattern for non-PIC code.
10140         (return_internal_pic): Non-trivial return pattern for PIC code.
10141         It uses the PIC register to ensure it is restored after
10142         function calls.
10143         (epilogue): Generate appropriate return for PIC and non-PIC code.
10144
10145 Mon Jan 29 23:53:14 2001  Christopher Faylor <cgf@cygnus.com>
10146
10147         * config/i386/cygwin.h: Fix -mno-cygwin search path for link.
10148
10149 2001-01-29  DJ Delorie  <dj@redhat.com>
10150
10151         * combine.c (if_then_else_cond): Pass the correct mode to
10152         operand_subword() for constants.
10153
10154 Mon Jan 29 20:38:19 2001  Christopher Faylor <cgf@cygnus.com>
10155
10156         * config/i386/cygwin.h: Add w32api to include search.  Search different
10157         directories in a cross-build environment.
10158
10159 2001-11-29  Tim Josling  <tej@melbpc.org.au>
10160
10161         * tree.h (TYPE_STUB_DECL): Add documentation.
10162
10163 2001-11-29  Laurynas Biveinis  <lauras@softhome.net>
10164
10165         * sdbout.c (sdbout_one_type): Skip types with indeterminate size.
10166         (sdbout_field_types): Likwise.  Fix use of host_integerp.
10167
10168 2001-01-29  Thomas Pfaff  <tpfaff@gmx.net>
10169
10170         * mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
10171         cygwin.h.
10172
10173 2001-01-29  Jeffrey Oldham  <oldham@codesourcery.com>
10174
10175         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
10176         to use flag_gnu_linker.
10177
10178 2001-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
10179
10180         * cpplib.c (T_BAD_DIRECTIVE): Remove.
10181         (_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
10182
10183 2001-01-29  Joseph S. Myers  <jsm28@cam.ac.uk>
10184
10185         * tree.c, tree.h (build_parse_node): Remove; was identical to
10186         build_nt.
10187         * c-lang.c (start_cdtor), objc/objc-act.c
10188         (build_module_descriptor): Use build_nt instead of
10189         build_parse_node.
10190
10191 2001-01-29  Jakub Jelinek  <jakub@redhat.com>
10192
10193         * config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
10194         (testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
10195         not have any upper bits set.
10196
10197 2001-01-29  Phil Edwards  <pme@sources.redhat.com>
10198
10199         * COPYING.LIB:  Update to LGPL 2.1 from the FSF.
10200
10201 2001-01-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10202
10203         * stmt.c (estimate_case_costs): Use integer_minus_one_node.
10204
10205         * tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.
10206
10207         * tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
10208         (integer_minus_one_node): Define.
10209
10210 2001-01-28  Alexandre Oliva  <aoliva@redhat.com>
10211
10212         * Makefile.in (bootstrap2-lean): Fix typo.
10213
10214 2001-01-28  Neil Booth  <neil@daikokuya.demon.co.uk>
10215
10216         * cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
10217         : Don't set fe_value.
10218         * cpplib.h (AVOID_LPASTE): New flag.
10219         (struct cpp_hashnode): Remove fe_value.
10220         * cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
10221         * cppmacro.c (builtin_macro): Don't set flags here.
10222         (replace_args): Set AVOID_LPASTE flag on first token of an
10223         argument, and the token following it.
10224         (cpp_get_token): Set AVOID_LPASTE flag on first token of a
10225         macro expansion, and on the token following it.  Do it for
10226         builtins too.
10227         * cppmain.c (scan_buffer): Avoid pasting only flagged tokens.
10228
10229 2001-01-27  Richard Henderson  <rth@redhat.com>
10230
10231         * config/alpha/t-ieee: Remove multilibbing.
10232         (TARGET_LIBGCC2_CFLAGS): Add -mieee.
10233
10234 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10235
10236         * configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
10237
10238         * Makefile.in: Remove all dependencies on defaults.h.
10239         * builtins.c: Don't include defaults.h.
10240         * c-common.c: Likewise.
10241         * c-decl.c: Likewise.
10242         * c-pragma.c: Likewise.
10243         * c-typeck.c: Likewise.
10244         * combine.c: Likewise.
10245         * i386.c: Likewise.
10246         * frame-ia64.c: Likewise.
10247         * cppexp.c: Likewise.
10248         * crtstuff.c: Likewise.
10249         * dbxout.c: Likewise.
10250         * dwarf2out.c: Likewise.
10251         * dwarfout.c: Likewise.
10252         * emit-rtl.c: Likewise.
10253         * except.c: Likewise.
10254         * expr.c: Likewise.
10255         * final.c: Likewise.
10256         * frame-dwarf2.c: Likewise.
10257         * libgcc2.c: Likewise.
10258         * optabs.c: Likewise.
10259         * profile.c: Likewise.
10260         * sdbout.c: Likewise.
10261         * toplev.c: Likewise.
10262         * tradcif.y: Likewise.
10263         * tree.c: Likewise.
10264         * varasm.c: Likewise.
10265
10266 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10267
10268         * builtins.c (expand_builtin_fputs): Use size_one_node when
10269         transforming into fwrite.
10270
10271 2001-01-27  Joseph S. Myers  <jsm28@cam.ac.uk>
10272
10273         * extend.texi (Attribute Syntax): New section.
10274
10275 2001-01-27  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
10276
10277         * fixproto: Correctly install synthesised unistd.h and stdlib.h when
10278         they didn't need fixing.
10279
10280 2001-01-27  Janis Johnson <janis@us.ibm.com>
10281
10282         * config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
10283         if appropriate.
10284         * config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
10285         to remove macro definitions that are duplicated from elfos.h.
10286
10287 2001-01-27  Richard Henderson  <rth@redhat.com>
10288
10289         * config/i386/sco5gas.h: Move ...
10290         * config/usegas.h: ... here.
10291         * config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.
10292
10293 2001-01-27  Jakub Jelinek  <jakub@redhat.com>
10294
10295         * c-typeck.c (struct constructor_stack): Add range_stack member.
10296         (really_start_incremental_init): Clear it.
10297         (push_init_level): Save constructor_range_stack and clear it if
10298         pushing explicit braces.
10299         (pop_init_level): abort if constructor_range_stack is non-zero at
10300         explicit closing brace.  Restore saved constructor_range_stack if
10301         not implicit.
10302
10303 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
10304
10305         * expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
10306         into register was forced into memory.
10307
10308 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
10309
10310         * Makefile.in: Remove uses of + before $(MAKE).
10311
10312 2001-01-26  Richard Henderson  <rth@redhat.com>
10313
10314         * stmt.c (cost_table): Remove.
10315         (COST_TABLE, cost_table_initialized): New.
10316         (estimate_case_costs): Use the later instead of the former.
10317         (balance_case_nodes): Likewise.
10318
10319 2001-01-26  Richard Henderson  <rth@redhat.com>
10320
10321         * alias.c (objects_must_conflict_p): Read-only slots may not
10322         conflict despite having the same type.
10323
10324 2001-01-27  Michael Hayes  <mhayes@redhat.com>
10325
10326         * loop.c (loop_giv_reduce_benefit): Copy mode size into
10327         int variable.
10328         (check_ext_dependant_givs): Initialise u_start_val and
10329         u_end_val.
10330         (load_mems): Make last_max_reg unsigned.
10331         (try_swap_copy_prop): Use INSN_P and initialise set.
10332
10333 Fri Jan 26 23:22:58 2001  Denis Chertykov  <denisc@overta.ru>
10334
10335         * README.AVR : Removed.
10336
10337 Fri Jan 26 11:37:26 2001  Jeffrey A Law  (law@cygnus.com)
10338
10339         * pa-64.h (text_section): Remove declaration.
10340
10341         * pa.md (return_internal): Remove mode on PIC register use.
10342
10343 2001-01-25  lars brinkhoff  <lars@nocrew.org>
10344
10345         * tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN,
10346         ASM_CLOSE_PAREN): fix typos.
10347
10348 2001-01-25  Mark Mitchell  <mark@codesourcery.com>
10349
10350         * acconfig.h: Define `const' to the empty string if neither
10351         __STDC__ nor __cplusplus is defined.
10352         * config.in: Regenerated.
10353
10354 2001-01-25  David Edelsohn  <edelsohn@gnu.org>
10355
10356         * config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
10357         * collect2.c (main): Delete importf.  Add ".obj" file extension.
10358         (GCC_CHECK_HDR): Handle AIX V5 new magic number.
10359         (aix_std_libs): Add additional AIX libraries to skip.
10360         * config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
10361         * config/rs6000/aix51.h: New file.
10362
10363 2001-01-25  Michael Hayes  <mhayes@redhat.com>
10364
10365         * loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
10366         (loop_insn_emit_before): No longer static.
10367         (move_movables): Replace emit_insn_after with loop_insn_emit_after.
10368         (loop_givs_rescan, load_mems): Likewise.
10369         (check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
10370         (maybe_eliminate_biv_1):
10371         (move_movables): Replace emit_call_insn_before with
10372         loop_call_insn_hoist.
10373         * loop.h (loop_insn_emit_before): Add.
10374         * unroll.c (copy_loop_body): Replace emit_insn_before with
10375         loop_insn_emit_before.
10376
10377 2001-01-25  Neil Booth  <neil@daikokuya.demon.co.uk>
10378
10379         * diagnostic.c (fatal): Request preprocessed source.
10380
10381 Thu Jan 25 02:01:16 2001  J"orn Rennecke <amylaar@redhat.com>
10382
10383         * c-decl.c (duplicate_decls): If different_binding_level is nonzero,
10384         olddecl has argument types and newdecl has none, use the argument
10385         types from olddecl.
10386
10387 2001-01-24  Ulrich Drepper  <drepper@redhat.com>
10388
10389         * dwarf2out.c (prefix_of): New function.  Determine longest common
10390         prefix of the two arguments.  The units are whole path components.
10391         (output_file_names): When adding a new directory find the one entry
10392         with the longest common prefix already in the list.  Artificially
10393         generate entry if there is none for this prefix.
10394         Fix test to check whether the zeroth directory entry is used.
10395
10396 Wed Jan 24 23:51:55 2001  J"orn Rennecke <amylaar@redhat.com>
10397
10398         * reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
10399         Changed all callers.  Take it into account when deciding if a
10400         previously loaded value matches.
10401
10402 2001-01-24  Richard Henderson  <rth@redhat.com>
10403
10404         * reload.c (find_reloads_subreg_address): Fail the substitution
10405         if the resulting address is insufficiently aligned.
10406
10407 2001-01-24  DJ Delorie  <dj@redhat.com>
10408
10409         * combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
10410         check the original operand's mode also.
10411         * simplify-rtx.c (simplify_ternary_operation): Ditto.
10412
10413 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
10414
10415         * c-parse.in (cast_expr): Move compound literals from here ...
10416         (primary): ... to here.  Use standard terminology "compound
10417         literal" instead of "constructor expression".
10418
10419 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
10420
10421         * gcc.1, cpp.1: Regenerate.
10422
10423 2001-01-24  Alexandre Oliva  <aoliva@redhat.com>
10424
10425         * calls.c (emit_library_call_value_1): Memory slot for
10426         pass-by-reference argument should have the mode of the argument,
10427         not of the pointer to it.
10428
10429 2001-01-24  Tom Tromey  <tromey@redhat.com>
10430
10431         * gcc.texi (G++ and GCC): Mention gcj manual.
10432         (Standards): Link to section of manual mentioning gcj/Java
10433         compatibility.
10434
10435 2001-01-24  Jakub Jelinek  <jakub@redhat.com>
10436
10437         * cppfiles.c (_cpp_read_file): Add to dependencies if requested.
10438         * cppinit.c (cpp_start_read): Remove deps_add_dep call.
10439         * tradcpp.c (main): Add -imacros or -include'd dependencies
10440         for -M*.
10441         * cpp.texi (-M, -MM): Document -M -include behaviour.
10442
10443 2001-01-24  Roger Collins <roger@ProProject.com>
10444
10445         * config/i386/xm-i386.h: Make __i386__ a boolean macro.
10446
10447 2001-01-24  Will Cohen  <wcohen@redhat.com>
10448
10449         * config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
10450         whether registers are 32 bits or 64 bits in size.
10451
10452 2001-01-24  Ben Elliston  <bje@redhat.com>
10453
10454         * config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
10455
10456 2001-01-24  Richard Henderson  <rth@redhat.com>
10457
10458         * config/alpha/alpha.md (builtin_longjmp_internal): New.
10459         (builtin_longjmp): Use it instead of emit_indirect_jump.
10460
10461 2001-01-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10462
10463         * bb-reorder.c (make_reorder_chain_1): Handle case where
10464         jump edge goes to the same block as the fallthru edge.
10465
10466 2001-01-23  Jim Wilson  <wilson@redhat.com>
10467
10468         * dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
10469         * frame.h (__ia64_personality_v1): Add prototype.
10470         * libgcc2.c (ia64_throw_helper): Change personality declaration to
10471         prototype form.  Add void * cast to first argument to personality
10472         call.
10473         * real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
10474         (asctoe113): Likewise.
10475         * config/ia64/frame-ia64.c: Include eh-common.h.
10476         * config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
10477         prototypes.
10478         * config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
10479         to dump parameter.
10480         (itanium_split_issue): Add prototype.
10481         (gen_nop_type): Ifdef out.
10482         (find_best_packet): Initialize best_packet.
10483         (ia64_encode_section_info): New local string.  Use for ggc_alloc_string
10484         result.
10485         * config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
10486         * config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
10487         (flushrs): Add explicit stop bit at end.
10488         * config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
10489         trailing \ to >.
10490
10491 2001-01-23  Chris Demetriou  <cgd@broadcom.com>
10492
10493         * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
10494         of EH symbols.
10495         * libgcc2.c (__terminate_func): Make variable static.
10496         (__terminate_set_func): New function to set __terminate_func.
10497         * libgcc2.h (__terminate_func_ptr): New typedef.
10498         (__terminate_set_func): New function.
10499
10500 2001-01-23  Richard Henderson  <rth@redhat.com>
10501
10502         * flow.c (init_propagate_block_info): Don't consider unchanging
10503         memories for dead frame store elimination.
10504
10505 2001-01-23  Richard Henderson  <rth@redhat.com>
10506
10507         * varasm.c (UNIQUE_SECTION): Move default implementation ...
10508         * defaults.h: ... here.
10509
10510 2001-01-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10511
10512         * c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
10513
10514 2001-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
10515
10516         * c-lex.c (lex_charconst): Fix typo: s/p/str.
10517
10518 2001-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10519
10520         * rs6000.h (rs6000_return_addr): Move prototype from here...
10521         * rs6000-protos.h (rs6000_return_addr): ...to here.
10522         (rs6000_init_expanders): Delete prototype.
10523
10524 2001-01-23  Nick Clifton  <nickc@redhat.com>
10525
10526         * invoke.texi: Replace , with \, inside @gccoptlist macros.
10527         (Spec Files): Document %B and %j and %. and %v3 and %M and
10528         %{S*&T} spec switches.
10529
10530 2001-01-24  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10531
10532         * c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
10533
10534 2001-01-23  Chris Demetriou  <cgd@sibyte.com>
10535             Neil Booth  <neil@daikokuya.demon.co.uk>
10536
10537         * cpperror.c: Merge handlers of PEDWARN and WARNING.
10538         Have -Werror make pedantic warnings errors, like the
10539         rest of GCC.
10540
10541 2001-01-23  Phil Edwards  <pme@sources.redhat.com>
10542
10543         * c-tree.texi (IDENTIFIER_LENGTH):  Fix typo.
10544
10545 2001-01-23  Jakub Jelinek  <jakub@redhat.com>
10546
10547         * integrate.h (struct inline_remap): Add compare_src, compare_mode.
10548         * integrate.c (expand_inline_function): Initialize them.
10549         (subst_constants): If changing COMPARE so that both its arguments
10550         will be VOIDmode and the comparison mode will be lost, note
10551         compare_mode.  Use the recorded compare_mode to optimize
10552         IF_THEN_ELSE.
10553
10554 2001-01-23  Jason Merrill  <jason@redhat.com>
10555
10556         * dwarf2out.c (new_die): Use xcalloc.
10557         (output_die): Abort rather than emit a local reference to offset 0.
10558
10559 2001-01-17  Andrew Haley  <aph@redhat.com>
10560
10561         * libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
10562         of a saved register; return NULL instead.
10563         (copy_reg): Take a pointer to a source register rather than a
10564         frame_state.
10565         (next_stack_level): Remember the address in the stack frame of all
10566         saved registers.
10567         Use the saved register pointer array as the source of the CFA.
10568         (throw_helper): Rewrite.  Unwind once rather than twice and keep
10569         track of saved registers as we go.
10570
10571 2001-01-23  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10572
10573         * c4x-protos.h (c4x_legitimize_reload_address): Remove.
10574         * c4x.c (c4x_legitimize_reload_address): Remove.
10575         * c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
10576         reload address for ldp(k) insn.
10577
10578 Mon Jan 22 20:53:47 2001  Jeffrey A Law  (law@cygnus.com)
10579
10580         * pa.md (return_internal): Add a USE of the PIC register to ensure
10581         it is restored after each call.
10582         (return expander): Corresponding changes.
10583
10584 2001-01-22  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10585
10586         * rs6000.h (INIT_EXPANDERS): Delete.
10587         (RETURN_ADDR_RTX): Call rs6000_return_addr().
10588         * rs6000.c (rs6000_override_options): Call *_machine_status from
10589         here...
10590         (rs6000_init_expanders): ...instead of here. Delete.
10591         (rs6000_mark_machine_status): New function.
10592         (rs6000_init_machine_status): Use xcalloc.
10593         (rs6000_return_addr): Generate RTX for the return address.
10594         (rs6000_ra_ever_killed): New, check if LR was ever destroyed.
10595         (rs6000_stack_info): Use it.
10596
10597 2001-01-22  Thomas Pfaff  <tpfaff@gmx.net>
10598
10599         * gthr-win32.h: Include errno.h to get a declaration for
10600         EINVAL and _mingw.h if the target is mingw32.
10601
10602 2001-01-22  Andres Felipe Vargas <avargas@teletulua.com.co>
10603
10604         * cpp.texi: Correct typos.
10605
10606 Mon Jan 22 13:59:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10607
10608         * explow.c (probe_stack_range): Ensure value passed to
10609         stack_check_libfunc is ptr_mode, not Pmode.
10610
10611 Mon Jan 22 16:53:06 2001  J"orn Rennecke <amylaar@redhat.com>
10612
10613         * recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
10614         case, don't use operand_subword to calculate a SUBREG that is
10615         wider than a word.
10616
10617         * rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
10618
10619 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10620
10621         * c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
10622         (c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
10623         valid.  If not replace it by equivalent insns.
10624
10625 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10626
10627         * c4x.c (c4x_check_legit_addr): Only check CONST.  Not if CONST
10628         contains SYMBOL_REF, LABEL_REF and CONST_INT.
10629         (c4x_U_constraint, symbolic_address_operand): Likewise.
10630         (c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
10631         memory.
10632         (c4x_r11_set_p, c4x_check_laj_p): New functions.
10633         * c4x-protos.h (c4x_check_laj_p): Add prototype.
10634         * c4x.md (in_annul_slot_3): Do not allow auto-increment in last
10635         anulling slot because of silicon bug.
10636         (laj, lajv): Call c4x_check_laj_p to check for silicon bug.
10637
10638 2001-01-22  Alan Modra <alan@linuxcare.com.au>
10639
10640         * cppexp.c (parse_charconst):  Change `mask' type to agree
10641         with parse_escape.
10642
10643 2001-01-21  Richard Henderson  <rth@redhat.com>
10644
10645         * config/i386/i386.c (ix86_asm_file_end): Disable putting
10646         pic_label_name in a linkonce section.
10647
10648 2001-01-17  Philipp Thomas  <pthomas@suse.de>
10649
10650         * aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
10651         found in libintl.
10652         * configure: Regenerate.
10653
10654 Sun Jan 21 02:38:56 2001  J"orn Rennecke <amylaar@redhat.com>
10655
10656         * expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
10657         uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
10658
10659 Sun Jan 21 09:44:17 2001  Denis Chertykov  <denisc@overta.ru>
10660
10661         * config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
10662         If REVERSE nonzero then condition code in X must be reversed.
10663         (encode_section_info): Optimise if/else.
10664         (avr_function_value): Fix formatting.
10665
10666         * config/avr/avr.md (branch): Call to ret_cond_branch changed.
10667         (difficult_branch): Likewise.
10668         (rvbranch): Likewise.
10669         (difficult_rvbranch): Likewise.
10670
10671         * config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
10672
10673         * config/avr/libgcc.S: Fix comment.
10674
10675 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
10676
10677         * sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
10678
10679 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
10680
10681         * cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
10682
10683 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
10684
10685         * aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
10686         * configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
10687         * configure, config.in: Regenerate.
10688         * Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
10689         (LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
10690         (strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
10691         (doprint.o): New rule.
10692
10693 2001-01-20  Joseph S. Myers  <jsm28@cam.ac.uk>
10694
10695         * c-typeck.c (digest_init): Handle boolean types as scalars.
10696
10697 Sat Jan 20 12:46:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10698
10699         * stmt.c (expand_return): Don't return anything if size is zero.
10700         Delete redundant assignment to BYTES.
10701         * expr.c (move_block_from_reg): Do nothing if NREGS is zero.
10702
10703 2001-01-20  Marek Michalkiewicz  <marekm@linux.org.pl>
10704
10705         * config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
10706         the same as the default library function names.
10707         * config/avr/avr.md: Document special characters after '%'.
10708         (mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
10709         knowing which of the call-used registers are really clobbered.
10710         (divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
10711         New.  Both quotient and remainder from one libgcc.S call.
10712         * config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
10713         clobber as few registers as possible.
10714         * config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
10715
10716 2001-01-20  Neil Booth  <neil@daikokuya.demon.co.uk>
10717
10718         * cppmacro.c (funlike_invocation_p): Don't move back up to the
10719         context of the top of the stack.
10720
10721 2001-01-20  Jakub Jelinek  <jakub@redhat.com>
10722
10723         * function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
10724         (fixup_var_refs_insns): ...here.
10725
10726 2001-01-20  Zack Weinberg  <zack@wolery.stanford.edu>
10727
10728         * function.c (fixup_var_refs_insns): Break up into
10729         fixup_var_refs_insn [body of loop], fixup_var_refs_insns
10730         [loop over entire insn list], and fixup_var_refs_insns_with_hash
10731         [loop over hash table entries].
10732         (fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
10733         fixup_var_refs_insns_with_hash, to match above changes.
10734
10735 2001-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10736
10737         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
10738         (libgcc.a): Likewise.
10739         (stmp-multilib): Likewise.
10740         (STAGE2_FLAGS_TO_PASS): Likewise.
10741
10742 2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
10743
10744         * config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
10745         temporary if no_new_pseudos.
10746
10747 2001-01-19  Neil Booth  <neil@daikokuya.demon.co.uk>
10748
10749         * cppinternals.texi: Update.
10750
10751 2001-01-19  Richard Earnshaw  <rearnsha@arm.com>
10752
10753         * arm.c (arm_init_builtins): Re-enable builtins.
10754
10755 Fri Jan 19 13:02:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10756
10757         * rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
10758         * flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
10759         element to be null, and always expect an EXPR_LIST.
10760         * rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
10761         * sched-deps.c (sched_analyze_1): Likewise.
10762         * sched-rgn.c (check_live_1, update_live_1): Likewise.
10763
10764         * regclass.c (max_set_parallel): New variable.
10765         (reg_scan): Take it into account in computation of max_parallel.
10766         (reg_scan_mark_refs, case SET): Compute it.
10767
10768         * alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
10769         args are REG.
10770         * expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
10771         * function.c (assign_parms): Use INTVAL for a CONST_INT.
10772
10773 2001-01-19  Jason Merrill  <jason@redhat.com>
10774
10775         * dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
10776         for the abstract instance of an inline function.
10777
10778 Fri Jan 19 14:31:35 2001  Alexandre Oliva  <aoliva@redhat.com>
10779                           J"orn Rennecke <amylaar@redhat.com>
10780
10781         * reload1.c (move2add_note_store): Treat all registers directly or
10782         indirectly derived from a base register as members of the same set
10783         of values.
10784         (reload_cse_move2add): Adjust accordingly.  Take mode and offset
10785         of base register into account.
10786
10787 Fri Jan 19 09:18:42 2001  J"orn Rennecke <amylaar@redhat.com>
10788
10789         * alias.c (find_base_value): Recognize TRUNCATE.
10790         (record_set): In PLUS case, invalidate if other summand is also a
10791         base value.
10792
10793 Thu Jan 18 06:43:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10794
10795         * flow.c (mark_set_1, case PARALLEL): New case; rework to allow
10796         entry to be EXPR_LIST.
10797         * rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
10798         be an EXPR_LIST (but not null, which other code doesn't allow).
10799         (note_stores): Properly handle PARALLEL in SET.
10800         Recursively call for top-level PARALLEL.
10801         * sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
10802         * sched-rgn.c (check_live_1, update_live_1): Likewise.
10803
10804         * config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
10805
10806 2001-01-18  Neil Booth  <neil@daikokuya.demon.co.uk>
10807
10808         * cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
10809         not pfile->skipping (== 0).
10810
10811 2001-01-17  Nick Clifton  <nickc@redhat.com>
10812
10813         * config/rs6000/rs6000.c: Add prototypes for {init|free}_
10814         machine_status.
10815
10816 2001-01-17  Jim Wilson  <wilson@redhat.com>
10817
10818         * invoke.texi (IA-64 options): Improve.
10819
10820 2001-01-17  Tom Tromey  <tromey@redhat.com>
10821
10822         * invoke.texi (Optimize Options): Use `{}' to around @samp
10823         argument.
10824
10825 2001-01-17  Aldy Hernandez  <aldyh@redhat.com>
10826
10827         * invoke.texi (-fno-guess-branch-probability): New option.
10828
10829 Wed Jan 17 13:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10830
10831         * combine.c (try_combine): Don't set i3_subst_into_i2 for
10832         case of making new double-word constant.
10833         Revert last change: instead just test i3_subst_into_i2.
10834
10835 2001-01-17  Jakub Jelinek  <jakub@redhat.com>
10836
10837         * config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
10838         Use q constraints instead of r.
10839
10840 Tue Jan 16 22:23:04 2001  Alan Modra (alan@linuxcare.com.au)
10841
10842         * config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
10843         (machine_function): Define.
10844         (PIC_OFFSET_TABLE_SAVE_RTX) : Define.
10845         * config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
10846         pa_free_machine_status): New functions.
10847         (override_options): Set {init,mark,free}_machine_status to above.
10848         (hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
10849         PIC_OFFSET_TABLE_REGNUM_SAVED.
10850         * config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
10851         PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
10852         * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
10853         references to PIC_OFFSET_TABLE_REGNUM_SAVED.
10854         * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
10855
10856 2001-01-15  DJ Delorie  <dj@redhat.com>
10857
10858         * Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
10859         (cpp.1): Ditto.
10860         (gcc.1): Ditto.
10861
10862 Tue Jan 16 17:20:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10863
10864         * flow.c (propagate_one_insn): Make trying to delete a prologue
10865         or epilogue insn an ICE, not a warning.  Allow doing this if
10866         the current function returns with stack pointer depressed.
10867
10868         * combine.c (try_combine): If i3_subst_into_i2, properly check for
10869         I3 having more than one SET.
10870
10871 2001-01-16  Jim Wilson  <wilson@redhat.com>
10872
10873         * invoke.texi: Document IA-64 options.
10874
10875         * config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
10876         (fixup_errata): Delete TARGET_A_STEP use.
10877         * config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
10878         (TARGET_SWITCHES): Delete -ma-step option.
10879         * config/ia64/ia64.md (all FP patterns): Delete %B0.
10880         (movqicc_astep, movqi_internal_astep, movhicc_astep,
10881         movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
10882         movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
10883         movdfcc_astep, movdf_internal_astep, movtfcc_astep,
10884         movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
10885         Delete.
10886         (movqi_internal, movhi_internal, movsi_internal, movdi_internal,
10887         movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
10888         cmovsi_internal): Delete ! TARGET_A_STEP check.
10889
10890 2001-01-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10891
10892         * gcc.texi (Bug Lists): Do not mention newsgroups nor the
10893         possibility to report bugs via postal mail. Change a URL and
10894         merge in a nearly duplicate statement...
10895         (Bug Reporting): ...from here.
10896         (Service): Refer to the Bug Reporting section instead of
10897         duplicating an URL.
10898         (Contributing): Remove trivial explanations concerning snapshots.
10899
10900 2001-01-16  Alan Modra <alan@linuxcare.com.au>
10901
10902         * cppmain.c (general_init): Don't use ANSI prototype.
10903
10904 2001-01-16  Tom Tromey  <tromey@redhat.com>
10905
10906         * gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
10907
10908 2001-01-16  Richard Henderson  <rth@redhat.com>
10909
10910         * config/i386/i386.h: Fix comment typo.
10911         * config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
10912         (ashr+compare patterns): Match CCGOCmode not CCNOmode.
10913
10914 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
10915
10916         * gcc.c:  Revert previous -fsyntax-only-related change; move
10917         to cp/g++spec.c.
10918
10919 2001-01-16  Jakub Jelinek  <jakub@redhat.com>
10920
10921         * config/i386/i386.c (fcmov_comparison_operator): Only initialize
10922         inmode after checking GET_CODE (op).
10923
10924 2001-01-16  Richard Henderson  <rth@redhat.com>
10925
10926         * flow.c (struct propagate_block_info): Add mem_set_list_len.
10927         (MAX_MEM_SET_LIST_LEN): New.
10928         (propagate_one_insn): Update mem_set_list_len.
10929         (invalidate_mems_from_autoinc): Likewise.
10930         (invalidate_mems_from_set): Likewise.
10931         (mark_used_regs): Likewise.
10932         (init_propagate_block_info): Likewise.  Stop collecting memories
10933         when we reach MAX_MEM_SET_LIST_LEN.
10934         (mark_set_1): Likewise.
10935
10936 2001-01-16  Richard Henderson  <rth@redhat.com>
10937
10938         * unroll.c (precondition_loop_p): Fail if no iteration
10939         variable found.
10940
10941 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
10942
10943         * gcc.c:  When -fsyntax-only is given, do not complain about
10944         unused libraries.
10945
10946 2001-01-15  Richard Henderson  <rth@redhat.com>
10947
10948         * config/i386/i386.c (asm_output_function_prefix): Remove.
10949         (ix86_asm_file_end): New.
10950         (load_pic_register): Generate pic_label_name into a
10951         staticly allocated buffer.
10952         * config/i386/i386-protos.h: Update.
10953         * config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
10954         (ASM_FILE_END): New.
10955         * config/i386/i386afe.h: New file.
10956         * config.gcc (i?86-*-elf) [tm_file]: Use it.
10957         (i?86-*-{freebsd,linux*,moss*}): Likewise.
10958         * config/elfos.h (ASM_FILE_END): Undef before redefinition.
10959         * config/i386/cygwin.h (ASM_FILE_END): Likewise.
10960         * config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
10961         * config/i386/sco5.h (ASM_FILE_END): Likewise.
10962         * config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
10963
10964 2001-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
10965
10966         * Makefile.in (install-man): Remove explicit dependency on
10967         $(srcdir)/gcc.1.
10968
10969         * configure.in, configure: Revert previous patch requiring perl
10970         5.6.0.
10971
10972 2001-01-12  Aldy Hernandez  <aldyh@redhat.com>
10973
10974         * toplev.c (flag_guess_branch_prob): New.
10975         (f_options): Add guess-branch-probability option.
10976         (rest_of_decl_compilation): Only estimate branch probability if
10977         flag set.
10978         (main): set flag_guess_branch_prob.
10979
10980         * flags.h (flag_guess_branch_prob): New.
10981
10982 2001-01-15  DJ Delorie  <dj@redhat.com>
10983
10984         * gcc.texi (Makefile): Add documentation for Makefile targets.
10985
10986 2001-01-15  Philip Blundell  <philb@gnu.org>
10987
10988         * config/arm/arm.c (arm_finalize_pic): New arg "prologue".
10989         (is_pic): Delete.
10990         * config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
10991         (is_pic): Delete declaration.
10992         * config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
10993         (OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
10994         * config/arm/arm.md (builtin_setjmp_receiver): New.
10995
10996 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
10997
10998         * arm.c (use_return_insn): Don't try to determine the function type
10999         until after reload has completed.
11000         (arm_output_epilogue): Don't adjust the sp value recovered from the
11001         stack.
11002         (emit_multi_reg_push): Don't record dwarf information for the pc.
11003         * arm.md (eh_epilogue): The function type may have changed, so it
11004         needs to be recalculated.
11005         * arm/netbsd.h (DWARF2_UNWIND_INFO): Delete.  Can now use dwarf2
11006         unwind tables on arm/netbsd.
11007
11008 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
11009
11010         * arm.md (cbranchsi4): Correct calculation of branch ranges.
11011         (negated_cbranchsi4): Likewise.
11012
11013 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
11014
11015         * config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
11016         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
11017         (ASM_SPEC): Call subtarget_extra_asm_spec.  Don't
11018         pass -mapcs-* options to assembler.
11019         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
11020         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
11021         (ASM_SPEC): Call subtarget_extra_asm_spec.
11022
11023 2001-01-15  Andreas Jaeger  <aj@suse.de>
11024
11025         * config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
11026         warnings.
11027         (ix86_expand_builtin): Likewise.
11028
11029         * gencodes.c (output_predicate_decls): Make i size_t to avoid
11030         warning about comparison between signed and unsigned.
11031
11032 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
11033
11034         * expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
11035
11036 2001-01-14  Ralf Baechle <ralf@gnu.org>
11037
11038         * config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
11039         SUBTARGET_CPP_SPEC apropriatly.
11040
11041 2001-01-12  Mark Mitchell  <mark@codesourcery.com>
11042
11043         * varasm.c (make_decl_rtl): Fix typo in last change.
11044
11045 2001-01-14  Jeffrey Oldham  <oldham@codesourcery.com>
11046
11047         * defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
11048         linker supports the init_priority C++ attribute.
11049         * tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
11050         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
11051         linker does not support init_priority C++ attribute.
11052
11053 Sun Jan 14 22:31:30 2001  J"orn Rennecke <amylaar@redhat.com>
11054
11055         * Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
11056
11057 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
11058
11059         * c-parse.in (finish_parse): Add comment about cpp_destroy.
11060         * cp/lex.c (finish_parse): Similarly.
11061         * cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
11062         Return the number of errors encountered.
11063         * cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
11064         * cppmain.c (main): Don't call cpp_destroy.
11065
11066 2001-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
11067
11068         * configure.in: Require at least perl 5.6.0 to regenerate
11069         manpages.
11070         * configure: Regenerate.
11071
11072 2001-01-14  Richard Henderson  <rth@redhat.com>
11073
11074         * genrecog.c (DT_veclen_ge): New.
11075         (add_to_sequence) [MATCH_PARALLEL]: Generate one.
11076         (maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
11077         (nodes_identical_1): Handle DT_veclen_ge.
11078         (write_cond, debug_decision_2): Likewise.
11079
11080 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
11081
11082         * arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete.  Replace
11083         with ...
11084         (ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
11085
11086 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
11087
11088         * cppmain.c (do_preprocessing): New function; most of the old
11089         main.
11090         (main): Call it to do most of the work.
11091         (cb): Move from global scope to set_callbacks ().
11092         (setup_callbacks): Get the callback pointer.
11093         (general_init, printer_init): Clean up code and comments.
11094
11095 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
11096
11097         * config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
11098         compiling PIC.
11099
11100 2001-01-14  Kazu Hirata  <kazu@hxi.com>
11101
11102         * config/h8300/h8300.c (get_shift_alg): Update comments.
11103
11104 Sun Jan 14 06:20:49 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11105
11106         * ggc-page.c (alloc_annon): Call perror and correctly call exit.
11107         (alloc_page, ggc_alloc): Add casts to remove warnings.
11108
11109 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
11110
11111         * combine.c (simplify_comparison): Don't change `code' when
11112         can't reverse comparison.
11113
11114 2001-01-14  Richard Henderson  <rth@redhat.com>
11115
11116         * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
11117         update all call sites.  Return true for all non-label constants.
11118
11119 Sun Jan 14 10:09:48 MET 2001  Jan hubicka  <jh@suse.cz>
11120
11121         * i386.c (ix86_expand_compare): Add bypass_test and second_test
11122         parameters.
11123         (ix86_expand_branch): Update.
11124         (ix86_expand_setcc): Update to handle multiple test conditions.
11125         (expand_int_movcc): Likewise.
11126         (expand_fp_movcc): Likewise.
11127         * i386-protos.h (ix86_expand_compare): New.
11128         * i386.md (andqi_?_slp, orqi_?_slp): New.
11129         (conditional trap expander): Update call to ix86_expand_compare.
11130
11131 2001-01-14  Richard Henderson  <rth@redhat.com>
11132
11133         * config/vax/vax.md: Use nonimmediate_operand instead of
11134         general_operand in destinations.
11135
11136         * config/vax/vax.md (indirect_jump): Use register_operand.
11137
11138         * config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
11139         * config/vax/vax.md (call_pop): Turn into an expander.
11140         (call_value_pop): Likewise.
11141         (call, call_value): New.
11142
11143 2001-01-14  Andreas Jaeger  <aj@suse.de>
11144
11145         * config/i386/i386.c (ix86_split_fp_branch): Remove unused
11146         variables.
11147         (ix86_fp_compare_mode): Add unused attribute.
11148         (ix86_expand_fp_movcc): Remove unused variable.
11149         (ix86_expand_builtin): Make fcode unsigned.
11150
11151         * expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
11152         (expand_expr): Add cast to avoid signed warning.
11153         (store_field): Likewise.
11154         (store_constructor_field): Likewise.
11155         (store_constructor): Likewise.
11156         (store_expr): Likewise.
11157         (clear_storage): Likewise.
11158         (emit_group_store): Likewise.
11159         (emit_group_load): Likewise.
11160
11161 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
11162
11163         * c-common.c: Move format checking code to ...
11164         * c-format.c: ... here.  New file.  Reorder some functions and
11165         declarations.
11166         (decl_handle_format_attribute, decl_handle_format_arg_attribute):
11167         New functions.
11168         * c-common.h (decl_handle_format_attribute,
11169         decl_handle_format_arg_attribute): Declare.
11170         * Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
11171         (c-common.o): Adjust dependencies.
11172         (c-format.o): New list of dependencies.
11173
11174 2001-01-13  Jakub Jelinek  <jakub@redhat.com>
11175
11176         * unroll.c (loop_iterations): If we cannot prove iteration variable
11177         is set once in each iteration, punt.
11178
11179 Sun Jan 14 00:23:15 2001  Denis Chertykov  <denisc@overta.ru>
11180
11181         * config/avr/avr.md ("strlenhi"): Remove clobber of input address.
11182         (*strlenhi): Remove clobber (which was buggy) of output address.
11183
11184 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
11185
11186         * Makefile.in (generated-manpages): Add gcc.1
11187         ($(srcdir)/gcc.1): New target.
11188         (maintainer-clean): Delete $(srcdir)/gcc.1.
11189         * gcc.texi: Add macros @gccoptlist and @gol.
11190         * invoke.texi: Include option summary in manpage.  Mark up option
11191         summary with @gccoptlist and @gol.  Use @r in one place where
11192         appropriate.
11193         * texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
11194         * gcc.1: Generate from invoke.texi.
11195
11196 2001-01-13  Richard Henderson  <rth@redhat.com>
11197
11198         * ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
11199         (struct page_entry): Add group member.
11200         (struct page_group): New.
11201         (struct globals): Add page_groups member.
11202         (alloc_anon): Only define for using mmap; remove valloc call.
11203         (page_group_index): New.
11204         (set_page_group_in_use): New.
11205         (clear_page_group_in_use): New.
11206         (alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
11207         (free_page, release_pages): Likewise.
11208         * configure.in (with-gc): Default to ggc-page always.
11209
11210 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
11211
11212         * reload1.c (replace_pseudos_in_call_usage): Use
11213         reg_equiv_constant and reg_equiv_address, and don't try
11214         regno_reg_rtx first.
11215
11216 2001-01-13  Richard Henderson  <rth@redhat.com>
11217
11218         * ggc-page.c (alloc_page): Round up allocation size to one page.
11219         Set e->order on extra pages.
11220
11221 2001-01-13  Richard Henderson  <rth@redhat.com>
11222
11223         * genrecog.c (nodes_identical): Expand commentary.
11224         (write_switch): Watch out for identical nodes.
11225
11226 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11227
11228         * cppfiles.c (_cpp_fake_include): New function.
11229         * cpphash.h (_cpp_fake_include): New.
11230         * cpplib.c (do_line): Call _cpp_fake_include when entering
11231         header files in preprocessed input.
11232         * cppmain.c (cb_pragma_implementation): Remove handling.
11233         (setup_callbacks): Don't register pragmas.
11234
11235 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11236
11237         * extend.texi: Udate for CPP.
11238
11239 2001-01-13  Andreas Jaeger  <aj@suse.de>
11240
11241         * reload1.c: Add prototype for replace_pseudos_in_call_usage.
11242
11243         * regmove.c: Add prototype for replace_in_call_usage.
11244
11245 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11246
11247         * cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
11248         struct cpp_chunk, struct htab, struct toklist,
11249         struct cpp_context, CPP_STACK_MAX, struct lexer_state,
11250         struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
11251         CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
11252         ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
11253         (struct macro_args): Delete.
11254         * cpphash.h: See above.
11255
11256 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11257
11258         * cppmain.c (struct printer): Remove no_line_dirs.
11259         (options, cb): New.
11260         (main, setup_callbacks, scan_buffer, printer_init, cb_define)
11261         : Use options rather than CPP_OPTION.
11262         (setup_callbacks): Use cb rather than pfile->cb.
11263         (main): No need to check for a buffer.  Use cpp_errors.
11264         (printer_init): Don't set no_line_dirs.
11265         (maybe_print_line): Use options not no_line_dirs.
11266         (cb_file_change): Don't call print_line if -P.
11267
11268 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11269
11270         * c-lex.c (init_c_lex): Use cpp_get_callbacks to set
11271         callbacks.
11272         * c-parse.in (finish_parse): Use cpp_errors.
11273         (__yylex): Use return value of cpp_pop_buffer.
11274         * cp/lex.c (finish_parse): Use cpp_errors.
11275         * cp/spew.c (read_token): Use return value of cpp_pop_buffer.
11276
11277 Sat Jan 13 16:57:40 2001  Denis Chertykov  <denisc@overta.ru>
11278
11279         * README.AVR: URLs corrected.
11280
11281 Sat Jan 13 07:30:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11282
11283         * c-decl.c (start_function): Don't warn if old prototype is builtin
11284         that's not in C's namespace.
11285         * libgcc2.c (_varargs): Update definition of __builtin_saveregs.
11286         (_bb): Add prototype for ctime.
11287         * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
11288
11289 Sat Jan 13 09:53:32 MET 2001  Jan Hubicka  <jh@suse.cz>
11290
11291         * i386.c (ix86_fp_comparison_arithmetics_cost,
11292         ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
11293         ix86_fp_comparison_cost): New functions.
11294         (ix86_expand_fp_compare): Use the costs to choose best bethod; add
11295         two new parameters SECOND_TEST and BYPASS_TEST; allow generating
11296         two-branch sequences; make static.
11297         (ix86_use_fcomi_compare): Do decision according to the costs.
11298         (split_fp_branch): New.
11299         * i386.md (compare-and-branch patterns): Use split_fp_branch.
11300         * i386-protos.h (ix86_expand_fp_compare): Remove
11301         (ix86_split_fp_branch): Declare.
11302
11303         * i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
11304         and ix86_comparison_operator.
11305
11306         * i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
11307         to make it cheaper.
11308
11309         * i386.c (put_condition_code): Output properly the unordered/ordered
11310         compares in fp case.
11311         (ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
11312
11313         * tm.texi (REVERSE_CONDITION): Document.
11314         * i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
11315         in -ffast-math mode.
11316         * i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
11317
11318 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
11319
11320         * config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
11321
11322         * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
11323         optimized away.
11324
11325         * config/sh/sh.c (mova_p): Fix test for mova_const.
11326
11327 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11328
11329         * fix-header.c (read_scan_file): Use cpp_get_callbacks and
11330         cpp_get_options rather than dereferencing pfile and using
11331         CPP_OPTION.
11332         * scan-decls.c (scan_decls): Use return value of
11333         cpp_pop_buffer rather than CPP_BUFFER.
11334
11335 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11336
11337         * cppinit.c (cpp_handle_option): help_only is now part of the
11338         cpp_options structure.
11339         * cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
11340         cpp_set_callbacks): New functions.
11341         * cpplib.h (cpp_callbacks): Break out as a named structure.
11342         (cpp_options): Move help_only here from cpp_reader.
11343         (CPP_FATAL_ERRORS): Update to use cpp_errors.
11344         (cpp_errors, cpp_get_options, cpp_get_callbacks,
11345         cpp_set_callbacks): New prototypes.
11346         * cppmain.c (main): Update for help_only.
11347
11348 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
11349
11350         * Makefile.in (info, maintainer-clean, install-info, uninstall):
11351         Also build and remove and install and uninstall c-tree.info and
11352         cppinternals.info.
11353         ($(srcdir)/gcc.info): Add dependency on contrib.texi.
11354         ($(srcdir)/cppinternals.info): New target.
11355         * c-tree.texi: Change file name used when makeinfo used without -o
11356         from ir.info to c-tree.info.  Add info directory entry.
11357         * cppinternals.texi: Add info directory entry.
11358         * .cvsignore: Update.
11359
11360 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
11361
11362         * c-typeck.c (store_init_value): Don't require constant initializer
11363         elements with -pedantic -std=c99.
11364         (digest_init): Change error about non-constant initializer elements
11365         into pedwarn.
11366         (constructor_range_end): Remove.
11367         (constructor_incremental, designator_depth,
11368         designator_errorneous): New variables.
11369         (struct constructor_stack): Remove range_end, add incremental.
11370         (struct constructor_range_stack, constructor_range_stack): New.
11371         (struct initializer_stack): Add constructor_range_stack.
11372         (finish_init): Set it.
11373         (start_init): Likewise.  require_constant_elements for non-static
11374         trees only if not flag_isoc99.
11375         (really_start_incremental_init): Remove constructor_range_end, add
11376         constructor_incremental.
11377         (pop_init_level): Likewise.
11378         (push_init_level): Likewise.  If implicit and the subobject had some
11379         value set already, preinitialize the level with it.
11380         Warn about missing braces only if not pushing due to designators.
11381         (set_designator, push_range_stack): New functions.
11382         (set_init_label): Use them.
11383         (set_init_index): Likewise.  Remove constructor_range_end.
11384         Error if designator index is outside of array bounds.
11385         (add_pending_init): Compare values of purpose index trees, not the
11386         trees themselves.  Allow overwriting of already initialized element.
11387         Issue a warning if it had side-effects.
11388         (set_nonincremental_init, set_nonincremental_init_from_string): New
11389         functions.
11390         (pending_init_member): Rename to...
11391         (find_init_member): ...this function.  Call set_nonincremental_init
11392         if necessary.  Compare values of purpose index trees, not the trees
11393         themselves.  Return the actual value, not just non-zero if something
11394         is found.
11395         (output_init_element): Remove checks for duplicates.
11396         If field has zero size, only check the initializer for correctness.
11397         Call set_nonincremental_init if necessary.  Push RECORD/ARRAY into AVL
11398         if constructor_incremental is zero.  Change error about initializers
11399         not computable at load time into pedwarn.
11400         (output_pending_init_elements): Compare bit positions, not
11401         FIELD_DECLs to take into account zero-sized fields.
11402         (process_init_element): Use constructor_range_stack to fill all
11403         ranges in the designator lists from current level up.
11404         * extend.texi: Update documentation for labeled elements.
11405
11406 2001-01-12  Alexandre Oliva  <aoliva@redhat.com>
11407
11408         * calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
11409         to function usage for arguments passed by reference.  Optimize
11410         callee-copied arguments.
11411         * regmove.c (replace_in_call_usage): New function.
11412         (fixup_match_1): Call it.
11413         * cse.c (cse_insn): Canonicalize registers in function usage.
11414         * reload1.c (replace_pseudos_in_call_usage): New function.
11415         (reload): Call it.
11416
11417         * Makefile.in: Reverted yesterday's wrong patch.  Installed the
11418         right version.
11419
11420 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
11421
11422         * config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
11423         not XEXP (tmp, 0).
11424
11425 2001-01-12  DJ Delorie  <dj@redhat.com>
11426
11427         * Makefile.in (bootstrap): rename stages to be mnemonic.  Add
11428         restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
11429         targets.
11430
11431 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
11432
11433         * cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
11434         tm.texi: Consistently refer to ISO C instead of ANSI C.  Refer to
11435         -std options alongside references to -ansi.  Update some
11436         documentation for C99.
11437         * cpp.1: Regenerate.
11438
11439 2001-01-12  Andreas Jaeger  <aj@suse.de>
11440
11441         * haifa-sched.c (restore_line_notes): Remove argument block B
11442         since it's unused.
11443         * sched-ebb.c (schedule_ebb): Change caller.
11444         * sched-rgn.c (schedule_region): Likewise.
11445         * sched-int.h (restore_line_notes): Adjust prototype.
11446
11447         * loop.h: Remove wrong declaration of doloop_condition_get.
11448
11449 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
11450
11451         * extend.texi:  Move C++-extension-related node from the C section
11452         into the C++ section.
11453
11454 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
11455
11456         * extend.texi: Refer to an array of pointers to functions instead
11457         of one of functions.
11458
11459 Fri Jan 12 12:08:12 MET 2001  Andreas Jaeger  <aj@suse.de>
11460                               Jan Hubicka  <jh@suse.cz>
11461
11462         * combine.c (reversed_comparison): Fix typo in last patch.
11463         Check X for NULL.
11464         (combine_reversed_comparison_code): Make static to follow
11465         prototype declaration.
11466
11467 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
11468
11469         * install.texi:  Remove misplaced duplicate entry.
11470
11471 2001-01-11  Ulrich Drepper  <drepper@redhat.com>
11472
11473         * config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
11474
11475 Thu Jan 11 17:06:30 EST 2001  John Wehle  (john@feith.com)
11476
11477         * final.c: (leaf_function_p): Fix typo.
11478
11479 2001-01-11  Zack Weinberg  <zack@wolery.stanford.edu>
11480
11481         * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
11482         Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
11483         which you have.
11484         (AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
11485         * configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
11486         mmap_anon, and valloc is available.
11487         * ggc-page.c: Restructure ifdef logic to match new autoconf
11488         spec.  Don't throw away the test page in init_ggc.
11489
11490         * configure, config.in: Regenerate.
11491
11492 2001-01-12  Michael Hayes  <mhayes@redhat.com>
11493
11494         * loop.h (total_biv_increment): Constify iv_class pointer.
11495         (struct induction): Replace `mem_mode' with `mem' rtx.
11496         * unroll.c (total_biv_increment): Constify iv_class pointer.
11497         * loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
11498         (find_mem_givs, combine_givs_p): Likewise.
11499         (debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
11500
11501 2001-01-10  Thomas Pfaff <tpfaff@gmx.net>
11502
11503         * gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
11504         LastError.
11505         (__gthread_getspecific): Ditto.
11506
11507 Fri Jan 12 00:04:00 MET 2001  Jan Hubicka  <jh@suse.cz>
11508
11509         * i386.c (ix86_comparison_operator, fcmov_comparison_operator,
11510         put_condition_code): Convert fp comparison codes to integer
11511         before handling.
11512         (ix86_expand_fp_compare): Postnote the fp comparison code converison
11513         to final.
11514
11515         * i386.c (unsigned_comparison, no_comparison_operator): Kill.
11516         * i386-protos.h (no_comparison_operator): Kill.
11517
11518         * i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
11519
11520         * combine.c (REVERSIBLE_CC_MODE): Remove.
11521         (reversible_comparison_p): Remove.
11522         (combine_reversed_comparison_code): New.
11523         (reversed_comparison): New.
11524         (combine_simplify_rtx): Use
11525         combine_reversed_comparison_code/reversed_comparison instead
11526         of reversible_comparison_p.
11527         (simplify_if_then_else): Likewise.
11528         (simplify_set): Likewise.
11529         (simplify_logical): Likewise.
11530         (if_then_else_cond): Likewise.
11531         (known_cond): Likewise.
11532         (simplify_comparison): Likewise.
11533
11534 2001-01-11  Alan Lehotsky  <lehotsky@tiac.net>
11535
11536         * builtins.c (std_expand_builtin_va_start): Handle varargs when
11537         sizeof (int) is larger than sizeof(__word__).
11538
11539 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11540
11541         * cppinit.c (do_includes): Fix typo.
11542
11543 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11544
11545         * config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
11546         in S_REGS does not occur because not all sources are possible
11547         when a S_REGS is a destination (sometimes needs a clobber).
11548         (movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
11549         (zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
11550         (anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
11551         (ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
11552         (ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
11553         (ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
11554         (lshrdi_const1, lshrsi3_const16): Likewise.
11555         (*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
11556         (*movhi_68hc12, *movqi_68hc12): Likewise.
11557         (movstrictqi): Make sure reloading in D_REGS as a destination
11558         does not happen.
11559
11560 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11561
11562         * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
11563
11564 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11565
11566         * cppinit.c (cpp_start_read): If -fpreprocessed, ignore
11567         -D, -U and -A, and don't initialize the builtins.
11568         (do_includes): Error if -include or -imacros with -fpreprocessed.
11569         * cppmain.c (cb_define, cb_undef): Unconditionally process
11570         the callback.
11571         * tradcpp.c (main): Fix typo.
11572
11573 2000-01-11  Mark Elbrecht  <snowball3@bigfoot.com>
11574
11575         * cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
11576         (read_name_map): Use IS_ABSOLUTE_PATH.
11577         * tradcpp.c (get_filename): Likewise.
11578
11579 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11580
11581         * config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
11582         (*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
11583         (*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
11584         (*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
11585         (*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
11586         (cmphi_z_used): Don't use '@' for the output.
11587         (tstqi_z_used): Likewise.
11588         (cmpqi_z_used): Likewise.
11589         (one_cmplsi2): Likewise.
11590
11591 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
11592
11593         * config/sh/sh.c (barrier_align): Recognize branch around far
11594         branch and redundant insn.
11595
11596 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11597
11598         * invoke.texi: Restore documentation of the drivers' switches -MD
11599         and -MMD.
11600
11601 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
11602
11603         * config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
11604
11605         * Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
11606         check-objc//%): Support parallel testing of multilibs.
11607         (TESTSUITEDIR): Set to testsuite by default, but override for
11608         parallel testing.
11609         (check-gcc, check-g++, check-g77, check-objc): Enter
11610         $(TESTSUITEDIR).
11611
11612 2001-01-11  Bernd Schmidt  <bernds@redhat.com>
11613
11614         * alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
11615         * sched-deps.c (deps_may_trap_p): Likewise.
11616         * basic-block.h: Remove a comment.
11617         * flow.c (PROP_POSTRELOAD): Remove.
11618         (update_life_info): Don't add it to prop_flags.
11619         (mark_set_1): Lose the code that was enabled by it.
11620
11621 2001-01-11  Michael Hayes  <mhayes@redhat.com>
11622
11623         * flow.c (flow_call_edges_add): New.
11624         * basic_block.h (flow_call_edges_add): New.
11625
11626 2001-01-11  J"orn Rennecke <amylaar@redhat.com>
11627
11628         * reload1.c (move2add_note_store): Update reg_set_luid even if
11629         base reg remains the same.
11630
11631 2001-01-10  Nick Clifton  <nickc@redhat.com>
11632
11633         * config/d30v/d30v.c (d30v_init_machine_status): Initialise
11634         machine_function structure to zero.
11635         Add prototypes for machine_status functions.
11636
11637 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
11638
11639         * c-common.h (CTI_VOID_LIST): Remove.
11640         (void_list_node): Likewise.
11641         * tree.h (TI_VOID_LIST_NODE): New enumeral.
11642         (void_list_node): New macro.
11643         * config/arm/arm.c (arm_init_builtins): Use void_list_node.
11644         * config/i386/i386.c (ix86_init_builtins): Likewise.
11645         * config/ia64a/ia64.c (ia64_init_builtins): Likewise.
11646
11647 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
11648
11649         * Makefile.in (tradcpp0): Depend on mkdeps.h.  Link mkdeps.o
11650         * cppinit.c (cpp_start_read): Update comment, remove unneeded
11651         if statement.
11652         * tradcpp.c: Include mkdeps.h.
11653         (deps, print_deps_phony_targets, deps_append, output_deps,
11654         init_dependency_output, output_deps): New.
11655         (deps_buffer, deps_allocated_size, deps_size, deps_column,
11656         deps_output): Delete.
11657         (print_deps_missing_files): Rename deps_missing_files.
11658         (inhibit_output): Make global.
11659         (main): Delete inhibit_output, deps_stream, deps_target.
11660         Use mkdeps functionality in the same way as cpplib.  Remove
11661         -g3 handling.  Handle -MF, -MP, -MQ, -MT.  Update handling of
11662         -M and -MM.  Remove old handling of deps via deps_out, and
11663         old reading of environment variables.
11664         (get_filename): Update to use deps_add_dep.
11665
11666 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
11667
11668         * output.h (make_function_rtl): Remove prototype.
11669         (make_decl_rtl): Likewise.
11670         * varasm.c (make_function_rtl): Remove.
11671         (make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
11672         than from a third parameter.
11673         * tree.h (make_decl_rtl): Remove last parameter.
11674         * c-decl.c (builtin_function): Remove last argument in call to
11675         make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
11676         (start_function): Likewise.
11677         * except.c (call_get_eh_context): Likewise.
11678         * expr.c (emit_block_move): Likewise.
11679         (clear_storage): Likewise.
11680         * profile.c (output_func_start_profiler): Likewise.
11681         * toplev.c (rest_of_decl_compilation): Likewise.
11682         * objc/objc-act.c (create_builtin_decl): Likewise.
11683         (synth_module_prologue): Likewise.
11684         (generate_static_reference): Likewise.
11685         (build_selector_reference_decl): Likewise.
11686         (build_class_reference_decl): Likewise.
11687         (build_objc_string_decl): Likewise.
11688         (build_protocol_reference): Likewise.
11689
11690 2001-01-10  Richard Henderson  <rth@redhat.com>
11691
11692         * hwint.h: Revert yesterday's change.
11693
11694 2001-01-10  Nick Clifton  <nickc@redhat.com>
11695
11696         * function.h (save_machine_status): Delete.
11697         (restore_machine_status): Delete.
11698         Amend comment describing {init|mark|free}_machine_status.
11699
11700         * function.c (save_machine_status): Delete.
11701         (restore_machine_status): Delete.
11702         Amend comment describing {init|mark|free}_machine_status.
11703         (push_function_context_to): Remove invocation of
11704         save_machine_status.
11705         (pop_function_context_from): Remove invocation of
11706         restore_machine_status.
11707
11708         * emit-rtl.c (init_emit_once): Amend comment describing
11709         {init|mark|free}_machine_status.
11710
11711         * tm.texi (Per-Function Data): New node.  Describe the
11712         INIT_EXPANDERS macro and the {init|mark|free}_machine_status
11713         function pointers.
11714
11715 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
11716
11717         * cppinit.c (OPT_g): Remove.
11718         (cpp_handle_option): Update for removed -g3.
11719         (print_help): Update.
11720         * cpplib.h (struct cpp_options): Remove debug_output.
11721         * cppmain.c (setup_callbacks, cb_define): Update.
11722         * gcc.c (cpp_options): Translate -g3 to -dD.
11723
11724 2001-01-10  Aldy Hernandez  <aldyh@redhat.com>
11725
11726         * config/i960/i960.md: Change modifier to + on the zero_extract
11727         pattern after the (rotate -2 reg) canonicalization pattern.
11728
11729 2001-01-10  Richard Henderson  <rth@redhat.com>
11730
11731         * config/alpha/alpha.c (alpha_free_machine_status): New.
11732         (override_options): Install it.
11733         (alpha_mark_machine_status): Verify machine non-null.
11734         * config/i386/i386.c (ix86_free_machine_status): New.
11735         (override_options): Install it.
11736         (ix86_init_machine_status): Use xcalloc.
11737         (ix86_mark_machine_status): Verify machine non-null.
11738         * config/ia64/ia64.c (ia64_free_machine_status): New.
11739         (ia64_override_options): Install it.
11740         (ia64_mark_machine_status): Verify machine non-null.
11741
11742 Wed Jan 10 11:34:39 2001  Jeffrey A Law  (law@cygnus.com)
11743
11744         * function.c (instantiate_virtual_regs): Instantiate virtual
11745         registers found in CALL_INSN_FUNCTION_USAGE.
11746
11747 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
11748
11749         * i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
11750         equivalent to -ansi in disabling -Di386.
11751
11752 Wed Jan 10 16:38:31 MET 2001  Jan Hubicka  <jh@suse.cz>
11753
11754         * i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
11755         new functions.
11756         (ix86_expand_fp_compare): Make trivial use of new infrastructure.
11757
11758 2001-01-10  Richard Earnshaw  <rearnsha@arm.com>
11759
11760         * arm.c (arm_init_builtins): Temporarily disable xscale builtins.
11761
11762 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
11763
11764         * invoke.texi: Document that -fcond-mismatch isn't supported for
11765         C++.
11766
11767 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
11768
11769         * gcc.texi: Define macro gcctabopt.
11770         * invoke.texi: Add manpage sections BUGS and AUTHOR.  Use
11771         @command, @env and @option in some places where appropriate.  Use
11772         @gcctabopt where appropriate.  Put URLs and email addresses inside
11773         @w.
11774
11775 2001-01-10  Nathan Sidwell  <nathan@codesourcery.com>
11776
11777         * gcc.c (cpp_options): Set MD file name from output
11778         filename, if specified.
11779         (suffix_subst): New static variable.
11780         (do_spec): Clear it.
11781         (do_spec_1, case '.'): Handle new `%.suffix' spec.
11782         Clear it.
11783         (give_switch): Handle suffix_subst.
11784
11785 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
11786
11787         * invoke.texi:  Fix another typo.
11788
11789 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
11790
11791         * invoke.texi:  Fix typo.
11792
11793 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
11794
11795         * c-lang.c (lang_hooks): Update.
11796         (lang_decode_option): Remove.
11797         (lang_init_options): Rename c_init_options.
11798         * toplev.c (main): Use lang_hooks for lang_init_options
11799         and lang_decode_option.
11800         * toplev.h (lang_hooks): Add 2 new hooks.
11801         * tree.h: Remove lang_init_options and lang_decode_option.
11802         * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
11803         * cp/decl2.c: Similarly.
11804         * cp/lex.c (lang_init_options): Rename cxx_init_options.
11805         (lang_hooks): Update.
11806         * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
11807         for consistency.
11808         (lang_init_options): Rename ffe_init_options.
11809         (lang_hooks): Update.
11810         (lang_decode_option): Remove.
11811         * java/lang.c (lang_init_options): Rename java_init_options.
11812         (lang_decode_option): Rename java_decode_option.
11813         (lang_hooks): Update.
11814         * objc/objc-act.c (lang_init_options): Rename objc_init_options.
11815         (lang_decode_option): Rename objc_decode_option.
11816         (lang_hooks): Update.
11817
11818 2001-01-09  Nick Clifton  <nickc@redhat.com>
11819
11820         * config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
11821         (d30v_return_addr_rtx): Delete.
11822         (d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
11823         cfun->machine structure.
11824         (struct machine_function): Move to d30v.h
11825         (d30v_save_machine_status): Delete.
11826         (d30v_restore_machine_status): Delete.
11827         (d30v_init_machine_status): New Function.
11828         (d30v_mark_machine_status): New Function.
11829         (d30v_free_machine_status): New Function.
11830         (d30v_init_expanders): Use new functions.
11831         (d30v_return_addr): Use ra_rtx field in cfun->machine.
11832         (d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
11833         d30v_return_addr_rtx.
11834
11835         * config/d30v/d30v.h (struct_machine): Move here.
11836         Add eh_epilogue_sp_ofs field.
11837
11838         *config/d30v/d30v.md (epilogue): Initialise eh_epilogue_sp_ofs
11839         field in cfun->machine structure.
11840
11841 Tue Jan  9 21:34:57 2001  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11842
11843         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
11844         PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
11845         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
11846
11847 Tue Jan  9 21:25:19 2001  Jeffrey A Law  (law@cygnus.com)
11848
11849         * objc/lang-options.h: Remove bogus reference to
11850         Java trademark.
11851
11852 2001-01-09  Kazu Hirata  <kazu@hxi.com>
11853
11854         * config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
11855         return the result.
11856
11857 2001-01-09  Alan Lehotsky  <lehotsky@tiac.net>
11858
11859         * reload.c (find_reloads_address): Check for eliminable registers
11860         when substituting a constant expression for a pseudo.
11861
11862 2001-01-09  Joseph S. Myers  <jsm28@cam.ac.uk>
11863
11864         * c-common.c (enum format_type): Add format_type_error.
11865         (decode_format_type): New function.
11866         (decl_attributes): Use it.
11867         (format_kind_info): Adjust comment.
11868
11869 2001-01-09  David O'Brien  <obrien@BSDi.com>
11870
11871         * config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
11872         i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
11873         files in tm_file.
11874         * config/i386/gnu.h: Don't include required platform specific .h files,
11875         tm.h will do it instead.
11876         * config/i386/i386elf.h: Likewise.
11877         * config/i386/linux.h: Likewise.
11878         * config/i386/moss.h: Likewise.
11879         * config/mips/gnu.h: Likewise.
11880
11881 2001-01-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11882
11883         * config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
11884         (rs6000-ibm-aix3.[01]*): Likewise.
11885         (rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
11886         (rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
11887         (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
11888         (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
11889         (powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
11890         (powerpc-*-eabiaix*): Likewise.
11891         (powerpc-*-eabisim*): Likewise.
11892         (powerpc-*-elf*): Likewise.
11893         (powerpc-*-eabi*): Likewise.
11894         (powerpc-*-rtems*): Likewise.
11895         (powerpc-*-linux*libc1): Likewise.
11896         (powerpc-*-linux*): Likewise.
11897         (powerpc-wrs-vxworks*): Likewise.
11898         (powerpcle-wrs-vxworks*): Likewise.
11899         (powerpcle-*-sysv*): Likewise.
11900         (powerpcle-*-elf*): Likewise.
11901         (powerpcle-*-eabisim*): Likewise.
11902         (powerpcle-*-eabi*): Likewise.
11903         (powerpcle-*-solaris2*): Likewise.
11904         * config/rs6000/aix31.h: Delete includes.
11905         * config/rs6000/aix3newas.h: Likewise.
11906         * config/rs6000/aix41.h: Likewise.
11907         * config/rs6000/aix43.h: Likewise.
11908         * config/rs6000/beos.h: Likewise.
11909         * config/rs6000/rtems.h: Likewise.
11910         * config/rs6000/sysv4.h: Likewise.
11911
11912 2001-01-09  Kazu Hirata  <kazu@hxi.com>
11913
11914         * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
11915         Change an argument mode of machine_mode to shift_mode of
11916         shift_mode.  Remove an extra error check.
11917         (emit_a_shift): Adopt to the new calling prototype of
11918         get_shift_alg.
11919         (function_prologue): Fix code for a monitor
11920         function.  Support H8/S.
11921         (function_epilogue): Do not output pop for a monitor function.
11922
11923 2001-01-09  Nick Clifton  <nickc@redhat.com>
11924
11925         * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
11926         (setup_incoming_varargs): Use sysv_varargs_p field of the
11927         cfun->machine structure.
11928         (struct machine_function): Move to rs6000.h
11929         (rs6000_save_machine_status): Delete.
11930         (rs6000_restore_machine_status): Delete.
11931         (rs6000_init_machine_status): New Function.
11932         (rs6000_free_machine_status): New Function.
11933         (rs6000_init_expanders): Use new functions.
11934
11935         * config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
11936         export.
11937         (struct machine_function): Move here.
11938
11939         * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
11940         sysv_varargs_p field of the cfun->machine structure.
11941
11942         * config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
11943         Remove prototype.
11944         (rs6000_restore_machine_status): Remove prototype.
11945
11946 2001-01-09  Richard Henderson  <rth@redhat.com>
11947
11948         * sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
11949         reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
11950         * sched-deps.c (sched_analyze_1): Update uses of struct deps.
11951         (sched_analyze_2, sched_analyze_insn): Likewise.
11952         (sched_analyze, init_deps): Likewise.
11953         (free_deps): Likewise.  Iterate with EXECUTE_IF_SET_IN_REG_SET.
11954         * sched-rgn.c (propagate_deps): Likewise.  Remove max_reg argument.
11955         (compute_block_backward_dependences): Update propagate_deps call.
11956
11957 2001-01-09  Mark Elbrecht  <snowball3@bigfoot.com>
11958
11959         * gcc.c (process_command): Set switches[n_switches].ordering to 0.
11960
11961 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
11962
11963         * cppinit.c (OPT_MD, OPT_MMD): Restore.
11964         (cpp_handle_option): Handle them.
11965         (cpp_post_options): Ensure one of -M or -MM is specified with
11966         any other -M? option.
11967         (init_dependency_output): Suppress output with -MG.
11968
11969 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
11970
11971         * cpp.texi: Update.
11972         * invoke.texi: Update.
11973
11974 2001-01-09  Bernd Schmidt  <bernds@redhat.com>
11975
11976         * sh.md (reload_outsf): Generate recognizable patterns for
11977         TARGET_SH3E.
11978
11979 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
11980
11981         * c-lang.c (lang_hooks): Update.
11982         (lang_init): Rename c_init.
11983         (lang_finish): Remove.
11984         * toplev.c (compile_file): Use lang_hooks for lang_init ()
11985         and lang_finish ().
11986         * toplev.h (lang_hooks): Add init () and finish ().
11987         * tree.h (lang_init, lang_finish): Remove.
11988         * cp/tree.h (lang_init, lang_finish): Remove.
11989         * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
11990         * cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
11991         lang_hooks): New.
11992         (lang_init, lang_finish): Remove.
11993         * f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
11994         (lang_hooks): Update.
11995         * java/lang.c (lang_init): Rename java_init.
11996         (lang_finish): Remove.
11997         (lang_hooks): Update.
11998         * objc/objc-act.c (lang_init): Rename objc_init.
11999         (lang_finish): Remove.
12000         (lang_hoooks): Update.
12001
12002 20001-01-09  Graham Stott  <grahams@redhat.com>
12003
12004         * cppfiles.c (_cpp_execute_include): Move `len` initialisation
12005         after `ptr` is initialised.
12006
12007 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
12008
12009         * config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
12010         (INITIALIZE_TRAMPOLINE): Adjust accordingly.
12011         * config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
12012         stack adjusts, instead of r3.
12013
12014 2001-01-09  Michael Hayes  <mhayes@redhat.com>
12015
12016         * flow.c (flow_loop_scan): Break out of ...
12017         (flow_loops_find) ... here.
12018         * basic-block.h (flow_loop_scan): New.
12019         (LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
12020         (LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
12021
12022 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
12023
12024         * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
12025         macro_buffer_len.
12026         * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
12027         realloc()ing macro_buffer.
12028
12029         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
12030         if it's wider than long and the target's long is wider than the
12031         host's.
12032
12033 2001-01-09  Mark Mitchell  <mark@codesourcery.com>
12034
12035         Remove support for using UWIN as a host machine.
12036         * configure.in: Issue an error message.
12037         * configure: Regenerated.
12038         * config.gcc: Remove xm_* UWIN configury.
12039         * config/i386/xm-uwin.h: Remove.
12040
12041 2001-01-08  Nick Clifton  <nickc@redhat.com>
12042
12043         * config/v850/v850.c (ra_rtx): Delete.
12044         (v850_save_machine_status): Delete.
12045         (v850_restore_machine_status): Delete.
12046         (v850_init_machine_status): New function.
12047         (v850_mark_machine_status): New function.
12048         (v850_free_machine_status): New function.
12049         (v850_return_addr): Use ra_rtx field in machine structure.
12050         (v850_init_expanders): Use new functions.
12051
12052         * config/v850/v850-protos.h: Fix prototypes for v850_output_*
12053         * config/v850/v850.c: Change arguments to v850_output+* functions
12054         to take a const char *, to avoid compile time warning.
12055         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
12056         (USER_LABEL_PREFIX): Redefine.
12057
12058 2000-01-08  Jim Wilson  <wilson@redhat.com>
12059
12060         * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
12061         1 to unsigned HOST_WIDE_INT before left shift.
12062
12063 2001-01-08  Nick Clifton  <nickc@redhat.com>
12064
12065         * config/arm/arm.c (arm_mark_machine_status): Check to see if
12066         the machine structure has been allocated.
12067         (arm_free_machine_status): New function: Free the machine
12068         specific function structure.
12069
12070 2001-01-08  Richard Henderson  <rth@redhat.com>
12071
12072         * jump.c (simplejump_p): Revert last change.
12073
12074 2001-01-08  Neil Booth  <neil@daikokuya.demon.co.uk>
12075
12076         * cppinit.c (init): Rename init_library.
12077         (cpp_create_reader): Update.
12078         * gcc.c (cpp_options): If -o given, use it as the target of
12079         any -M options.
12080
12081 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
12082
12083         * arm.c (arm_arch5e): New variable.
12084         (all_cores): XScale is a 5TE device.
12085         (arm_override_options): Set arm_arch5e.
12086         (arm_init_builtins): __builtin_prefetch is in arch5e.
12087         * arm.h (arm_arch5e): Declare it.
12088
12089         * arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
12090
12091         * arm.md (define_constants): Add defines for UNSPEC and
12092         UNSPEC_VOLATILE insns.  Update all users.
12093         (define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
12094         * arm.c (multi_register_push, note_invalid_constants)
12095         (emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
12096         * arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
12097         (STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
12098
12099 Mon Jan  8 16:14:56 MET 2001  Jan Hubicka  <jh@suse.cz>
12100
12101         * jump.c (jump_optimize_1): Use reversed_comparison_code
12102         instead of can_reverse_comparison_p.
12103         (jump_back_p): Likewise.
12104         (invert_exp_1): Likewise.
12105         (thread_jumps): Likewise.
12106         * simplify-rtx.c (simplify_unary_operation): Likewise.
12107         (simplify_ternary_operation): Likewise.
12108         * cse.c (find_comparison_args): Convert to use
12109         can_reverse_comparison_p.
12110         (record_jump_equiv): Likewise.
12111
12112 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
12113
12114         * arm.h (HARD_REGNO_RENAME_OK): Delete.
12115         (EPILOGUE_USES): Define.
12116         (INITIAL_ELIMINATION_OFFSET): Current prologue code does not
12117         automatically stack the LR if it isn't live.
12118
12119 Mon Jan  8 13:46:02 MET 2001  Jan Hubicka  <jh@suse.cz>
12120
12121         * i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
12122         properly.
12123
12124 Sun Jan  7 18:37:43 2001  Mark P Mitchell  <mark@codesourcery.com>
12125
12126         * ggc-page.c (max_alignment): New structure.
12127         (MAX_ALIGNMENT): New macro.
12128         (init_ggc): Use it to round up the sizes in the
12129         extra_order_size_table.
12130
12131 2001-01-07  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
12132
12133         * config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
12134         after reload.
12135
12136 2001-01-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12137
12138         * builtins.def (BUILT_IN_FPRINTF): New entry.
12139
12140         * c-common.c (c_expand_builtin_fprintf): New function.
12141         (init_function_format_info): Handle __builtin_fprintf.
12142         (c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
12143         (c_expand_builtin): Handle BUILT_IN_FPRINTF.
12144
12145         * c-decl.c (duplicate_decls): Adjust comment.
12146
12147         * extend.texi (fprintf): Document new builtin.
12148
12149 2001-01-07  Richard Henderson  <rth@redhat.com>
12150
12151         * jump.c (simplejump_p): Recognize any single_set jump
12152         of the proper form.
12153
12154 2001-01-07  Richard Henderson  <rth@redhat.com>
12155
12156         * configure.in (slibdir): Accept an --with-slibdir option.
12157         Use "test" not "[" in configure.  Default to $(libdir).
12158
12159         * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
12160         fix typo in rm -f.
12161         * config/t-aix43 (SHLIB_INSTALL): Likewise.
12162         * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
12163         (SHLIB_LINK): Create links for the soname.
12164         * config/mips/t-iris6: Likewise.
12165         * config/sparc/t-slibgcc: Likewise.
12166         * config/sparc/t-slibgcc-sld: Likewise.
12167
12168 2001-01-07  Jakub Jelinek  <jakub@redhat.com>
12169
12170         * config/i386/i386.c (constant_call_address_operand): Accept
12171         (const (plus (symbol_ref) (const_int))).
12172         * config/i386/i386.h (PREDICATE_CODES): Add CONST for
12173         constant_call_address_operand.
12174
12175 2001-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
12176
12177         * libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
12178         and LONG_LONG_TYPE_SIZE > 32.
12179
12180 2001-01-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12181
12182         * jump.c (reversed_comparison_code_parts): Fix typo introduced by
12183         the previous change.
12184
12185 Sun Jan  7 19:37:48 MET 2001  Jan Hubicka  <jh@suse.cz>
12186
12187         * jump.c (reversed_comparison_code_parts, reversed_comparison_code):
12188         New.
12189         (can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
12190         (reverse_condition_maybe_unordered): Abort on unsigned comparisons.
12191         * rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
12192         Declare.
12193
12194 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12195
12196         * fix-header.c (read_scan_file): s/pfile/scan_in/.
12197
12198 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12199
12200         * c-lang.c (c_post_options): Call cpp_post_options.
12201         * objc/objc-act.c (objc_post_options): Similarly.
12202         * cppmain.c (main): Similarly.
12203         * fix-header.c (read_scan_file): Similarly.
12204         * cppinit.c (cpp_start_read): Move option consistency checks
12205         to cpp_post_options.  Don't call init_dependency_output.
12206         If needed, add default target and main file dependency.
12207         (OPT_MD, OPT_MMD): Remove.
12208         (OPT_MF): New.
12209         (cpp_handle_option): Update for OPT_* changes.
12210         (cpp_post_options): New.
12211         (init_dependency_output): Command line -MF overrides environment
12212         variables.  Don't set default target etc.  Suppress output
12213         if dependencies are going to stdout.
12214         (print_help): Update.
12215         * cpplib.h (cpp_post_options): New.
12216         * gcc.c (cpp_options): Update for -MD, -MMD, -MF.
12217
12218 Sun Jan  7 14:44:19 MET 2001  Jan Hubicka  <jh@suse.cz>
12219
12220         * jump.c (comparison_dominates_p): Support unordered compares.
12221
12222 Sun Jan  7 14:39:07 MET 2001  Jan Hubicka  <jh@suse.cz>
12223
12224         * simplify-rtx.c (simplify_relational_operation): Always simplify
12225         ORDERED and UNORDERED when FLAG_FAST_MATH.  Handle properly UNLE
12226         and UNGE.
12227
12228 Sun Jan  7 14:35:13 MET 2001  Jan Hubicka  <jh@suse.cz>
12229
12230         * combine.c (combine_simplify_rtx): Recognize the unordered compares.
12231         (nonzero_bits): Likewise.
12232         (simplify_comparison): Likewise.
12233         (num_sign_bit_copies): Likewise; return more sane value depending
12234         on STORE_FLAG_VALUE.
12235         (known_cond): Do not assume EQ to be always true for equivalent
12236         operands.
12237
12238 Sun Jan  7 14:31:57 MET 2001  Jan Hubicka  <jh@suse.cz>
12239
12240         * cse.c (fold_rtx): Handle unordered comparisons.
12241
12242 Sun Jan  7 13:49:19 MET 2001  Jan Hubicka  <jh@suse.cz>
12243
12244         * rtlanal.c (set_of_1): New static function.
12245         (reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
12246          reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
12247          reg_set_last_last_regno): Remove.
12248         (set_of): New global function.
12249         (set_of_data): New structure.
12250         (reg_set_p, reg_set_last): Revamp for set_of.
12251         * rtl.h (set_of): New.
12252
12253 2001-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
12254
12255         * c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
12256         * extend.texi: Document _Exit builtin.
12257
12258 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12259
12260         * (initialize, initialize_builtins,
12261         initialize_dependency_output, initialize_standard_includes):
12262         Rename s/initialize/init. Update.
12263         (init_dependency_output): Move to after
12264         cpp_handle_options, the correct location temporally at least.
12265         (opt_comp): Move next to init (), its caller.  Fix prototype.
12266         (init): Make "initialized" local scope.
12267         (cpp_create_reader): Always call init ().
12268         (cpp_start_read): Update.
12269         (output_deps): New function, broken out of cpp_finish.
12270         (cpp_finish): Break out output_deps.
12271
12272 2001-01-07  Richard Henderson  <rth@redhat.com>
12273
12274         * collect2.c (COFF specific stuff): Revert 12-06 patch
12275         to prototype system functions.
12276
12277 2001-01-07  Michael Hayes  <mhayes@redhat.com>
12278
12279         * hard-reg-set.h: Add multiple include guard.
12280         * basic-block.h (struct loop): Add `sink' field.
12281         * loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
12282         (emit_iv_add_mult): Delete.
12283         (loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
12284         (loop_iv_add_mult_emit_before, loop_insn_sink): Define.
12285         (unroll_loop): Remove end_insert_before argument.
12286         * loop.c (loop_givs_rescan): Remove end_insert_before argument.
12287         (maybe_eliminate_biv_1): Likewise.
12288         (emit_iv_add_mult): Delete.
12289         (gen_add_mult, loop_regs_update): New.
12290         (loop_insn_emit_after, loop_insn_emit_before): New.
12291         (loop_insn_sink, loop_insn_sink_or_swim): New.
12292         (emit_iv_add_mult): Delete.
12293         (scan_loop): Set loop->sink.
12294         (loop_givs_reduce): Use loop_insn_sink and its ilk.
12295         (loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
12296         (maybe_eliminate_biv_1): Likewise.
12297         (maybe_eliminate_biv_1): Add basic block argument.
12298         * unroll.c (unroll_loop): Remove end_insert_before argument.
12299         (find_splittable_regs): Likewise.
12300         (find_splittable_regs): Use loop_insn_sink and its ilk.
12301         (find_splittable_givs, final_biv_value, final_giv_value): Likewise.
12302
12303 2001-01-07  Michael Hayes  <mhayes@redhat.com>
12304
12305         * loop.h (loop_insn_hoist): New prototype.
12306         * loop.c (loop_insn_hoist, loop_insn_emit_before): New.
12307         (move_movables, loop_givs_rescan): Use loop_insn_hoist.
12308         (check_dbra_loop, load_mems): Likewise.
12309         * unroll.c (unroll_loop, find_splittable_regs): Likewise.
12310         (find_splittable_givs): Likewise.
12311
12312 2001-01-07  Michael Hayes  <mhayes@redhat.com>
12313
12314         * loop.c (emit_iv_add_mult): Use single_set to examine new insn.
12315
12316 2001-01-07  Richard Henderson  <rth@redhat.com>
12317
12318         * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
12319
12320 2001-01-07  Richard Henderson  <rth@redhat.com>
12321
12322         * Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
12323         NO_SHARED_LIBGCC_MULTILIB as required for the target.
12324         * gcc.c (init_spec): Massage the existing libgcc_spec into a
12325         variant that handles a shared libgcc.
12326         (process_command): Always validate -{static,shared}-libgcc.
12327         (do_spec_1): New 'M' case.
12328         * invoke.text (Link Options): Document -{static,shared}-libgcc.
12329
12330 2001-01-07  Richard Henderson  <rth@redhat.com>
12331
12332         * Makefile.in (slibdir): New variable.
12333         (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
12334         (installdirs): Create slibdir.
12335         (install-libgcc, install-multilib): Defer to libgcc.mk.
12336         * configure.in (slibdir): Substitute.
12337         * mklibgcc.in (install): New target.
12338
12339         * config/t-linux (SHLIB_LINK): Create links for the soname.
12340         (SHLIB_INSTALL): New.
12341         * config/alpha/t-osf4 (SHLIB_INSTALL): New.
12342         * config/mips/t-iris6 (SHLIB_INSTALL): New.
12343         * config/rs6000/t-aix43 (SHLIB_INSTALL): New.
12344         * config/sparc/t-slibgcc (SHLIB_INSTALL): New.
12345         * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
12346
12347 2001-01-07  Richard Henderson  <rth@redhat.com>
12348
12349         * config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
12350         * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
12351         * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
12352
12353 2001-01-07  Michael Hayes  <mhayes@redhat.com>
12354
12355         * loop.c (count_loop_regs_set): Delete.
12356         (load_mems_and_recount_loop_regs_set): Delete.
12357         (loop_regs_scan): Merge common code from count_loop_regs_set,
12358         scan_loop, and load_mems_and_recount_loop_regs_set.
12359         (scan_loop): Call load_mems directly and loop_regs_scan
12360         again if new registers created.
12361
12362 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12363
12364         * toplev.c (main): Call the front-end specific post_options
12365         hook if one is given.
12366         * toplev.h (struct_lang_hooks, lang_hooks): New.
12367         * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
12368         for the C front end.
12369         * cp/decl2.c (cxx_post_options, lang_hooks): Implement
12370         lang_hooks for the C++ front end.
12371         * objc/objc-act.c (objc_post_options, lang_hooks): Implement
12372         lang_hooks for the ObjC front end.
12373         * f/com.c (lang_hooks): Hooks for the Fortran front end.
12374         * java/lang.c (lang_hooks): Hooks for the Java front end.
12375
12376 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12377
12378         * c-lex.c (init_c_lex): Request #define / #undef callbacks
12379         for verbose DWARF[2] debugging.
12380         (cb_define, cb_undef): The new callbacks.
12381         * toplev.h (debug_define, debug_undef): Make const correct.
12382         * toplev.c (debug_define, debug_undef): Similarly.  Do not
12383         perform the verbosity tests here anymore.
12384
12385 2001-01-07  Alexandre Oliva  <aoliva@redhat.com>
12386
12387         * reload.c (subst_reloads): Take INSN argument.  When
12388         replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
12389         * reload.h (subst_reloads): Adjust prototype.
12390         * reload1.c (reload_as_needed): Pass INSN to subst_reloads.
12391         * jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
12392         present in JUMP_INSNs and copy them to JUMP_LABEL.
12393         * flow.c (find_label_refs, find_basic_blocks_1): Skip
12394         JUMP_INSNs and insns with REG_LABELs that are followed by
12395         JUMP_INSNs with the same REG_LABEL.
12396         * sched-rgn.c (is_cfg_nonregular): Likewise.
12397         * rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
12398         note is available.
12399         * unroll.c (unroll_loop): Look for REG_LABEL notes in
12400         JUMP_INSNs too.
12401         * rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
12402
12403 2001-01-06  Richard Henderson  <rth@redhat.com>
12404
12405         * loop.c (scan_loop): Use xcalloc for the regs array.
12406         (load_mems_and_recount_loop_regs_set): Zero the new memory
12407         received from xrealloc.
12408
12409 2001-01-06  Neil Booth  <neil@daikokuya.demon.co.uk>
12410
12411         * mkdeps.c (deps_add_dep): Fix vector re-allocation.
12412
12413 Sat Jan  6 00:09:34 2001  J"orn Rennecke <amylaar@redhat.com>
12414
12415         * integrate.c (copy_rtx_and_substitute): When copying
12416         an ignored return value, strip REG_FUNCTION_VALUE_P.
12417
12418 2001-01-06  Michael Hayes  <mhayes@redhat.com>
12419
12420         * loop.c (debug_biv, debug_giv): New.
12421         (loop_biv_dump): Break out from ...
12422         (record_biv): ... here.
12423         (loop_giv_dump): Break out from ...
12424         (record_giv): ... here.
12425         (loop_bivs_check): Use print_simple_rtl.
12426         * unroll.c (loop_iterations): Use print_simple_rtl.
12427
12428 2000-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12429
12430         * pa.md (return, return_internal): Modify patterns to prevent regrename
12431         mucking with the return pointer.
12432
12433 2001-01-05  Richard Henderson  <rth@redhat.com>
12434
12435         * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
12436
12437 Fri Jan  5 16:34:18 2001  Nick Clifton  <nickc@redhat.com>
12438
12439         * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
12440         version supplied by Matteo Frigo.
12441
12442 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
12443
12444         * cpp.texi: Update for -MQ.
12445         * cppinit.c (cpp_create_reader): Always create pfile->deps.
12446         (cpp_cleanup): Always free pfile->deps.
12447         (initialize_dependency_output): Don't create pfile->deps.
12448         (cpp_handle_option): Similarly.
12449         (OPT_MQ): New.
12450         * gcc.c (cpp_options): Handle -MQ.
12451         (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
12452         * mkdeps.c (base_name): Remove.
12453         (deps_init): Don't allocate vector space until it's needed.
12454         (deps_free): Only free vectors if allocated.
12455         (deps_add_target, deps_add_dep): Update for initial allocation.
12456         (deps_add_default_target): Don't strip to the base_name.
12457
12458 2001-01-05  DJ Delorie <dj@redhat.com>
12459
12460         * config/v850/v850.h (RETURN_ADDR_RTX): Define.
12461         (INIT_EXPANDERS): Define.
12462
12463         * config/v850/v850.c (struct machine_function): Define.
12464         (v850_save_machine_status): New function.
12465         (v850_restore_machine_status): New function.
12466         (v850_return_addr): New function.
12467         (v850_init_expanders): New function.
12468
12469         * config/v850/v850-protos.h: Add prototypes for v850_return_addr
12470         and v850_init_expanders.
12471
12472 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
12473
12474         * cpplib.h (struct cpp_reader): Add help_only field.
12475         * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
12476         (cpp_handle_option): Set pfile->help_only if we see -h,
12477         --help, -target-help, or --version.  Print version string but
12478         do not set help_only if we see -v or -version.  Make text
12479         printed by -v match that printed by (-)-version.
12480
12481         * cppmain.c (main): Exit after option parsing if
12482         pfile->help_only is true.
12483
12484         * toplev.c (independent_decode_option): Call print_version,
12485         then exit, if we see --version (but not -version).
12486         (print_version): Split lengthy message into two lines.
12487
12488 2001-01-05  Nick Clifton  <nickc@redhat.com>
12489
12490         * config/v850/v850.c (v850_encode_data_area): Use alloca to create
12491         temporary string for initialisation before calling ggc_alloc_string.
12492
12493 2001-01-06  Michael Hayes  <mhayes@redhat.com>
12494
12495         * rtl.h (print_simple_rtl): New.
12496         * print-rtl.c (print_simple_rtl): New.
12497         (flag_simple): New.
12498         (print_rtx): Disable printing of flags and modes, etc.,
12499         if `flag_simple` nonzero.
12500
12501 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
12502
12503         * function.c (fixup_var_refs): Use push_to_full_sequence where
12504         possible.
12505
12506 2001-01-05  Michael Meissner  <meissner@redhat.com>
12507
12508         * flags.h (flag_reorder_blocks): Add declaration.
12509         (flag_rename_block): Ditto.
12510
12511 2001-01-05  DJ Delorie  <dj@redhat.com>
12512
12513         * function.c (reorder_blocks): Make sure the flags are all reset
12514         before using them to mark blocks, else a second invocation will
12515         corrupt the block chain.
12516         (reorder_blocks_0): New, resets the flags.
12517
12518 Fri Jan  5 20:34:06 2001  J"orn Rennecke <amylaar@redhat.com>
12519
12520         * cse.c (find_comparison_args): Stop if the argument is known to
12521         be constant.
12522
12523 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
12524
12525         * config/sh/sh.md (movdf): When splitting load into pair of
12526         registers, don't clobber the register used in the address too
12527         early.
12528
12529 2001-01-05  Jeffrey Oldham  <oldham@codesourcery.com>
12530
12531         * varasm.c (mark_constant_pool): Improve initial comments.
12532         (mark_constants): Move marking of constants to mark_constant.
12533         (mark_constant): New function to recursively mark all constants
12534         referred to by a constant.
12535
12536 2001-01-05  Catherine Moore  <clm@redhat.com>
12537
12538         * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
12539
12540 2001-01-05  Phil Edwards  <pme@sources.redhat.com>
12541
12542         * cp/lang-options.h:  Bring comment in line with reality.
12543         * f/lang-options.h:  Likewise.
12544         * java/lang-options.h:  Likewise.
12545         * objc/lang-options.h:  Likewise.
12546         * ch/lang-options.h:  Likewise.
12547         * f/g77.texi:  And update the manual.
12548
12549 2001-01-05  Marek Michalkiewicz  <marekm@linux.org.pl>
12550             Denis Chertykov  <denisc@overta.ru>
12551
12552         * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
12553         * config/avr/avr.c (avr_peep2_scratch_safe): New function.
12554         * config/avr/avr.md (all peepholes that request a scratch register):
12555         Call it, FAIL the peephole if not safe (in interrupt functions).
12556
12557 2001-01-05  Mark Mitchell  <mark@codesourcery.com>
12558
12559         * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
12560
12561 2001-01-05  Joseph S. Myers  <jsm28@cam.ac.uk>
12562
12563         * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
12564         Define.
12565         * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
12566         BUILT_IN_CREAL and BUILT_IN_CIMAG.
12567         * c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
12568         conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
12569         (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
12570         BUILT_IN_CIMAG.
12571         * extend.texi: Document these builtins.
12572
12573 2001-01-05  Daniel Berlin  <dberlin@redhat.com>
12574
12575         * c-common.c (lang_get_alias_set): Say we know nothing of
12576         VECTOR_TYPE aliasing.
12577
12578         * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
12579
12580 2001-01-05  Bruce Korb  <bkorb@gnu.org>
12581
12582         * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
12583         their x* equivalent versions for atexit-less systems
12584         * fixinc/fixincl.c(main): do not return from main() on atexit-less
12585         systems (or any other system any more).
12586
12587 2001-01-05  Richard Earnshaw  <rearnsha@arm.com>
12588
12589         * arm.md (ldmsi_postinc): Avoid use of match_dup between input and
12590         output operands.  Use arm_hard_register_operand for operand 4.
12591         (stmsi_postinc): Similarly.
12592         (ldmsi): Use arm_hard_register_operand for opernand 2.
12593         (stmsi): Similarly.
12594         * arm.c (arm_hard_register_operand): New function.
12595         * arm-protos.h (arm_hard_register_operand): Prototype it.
12596
12597         * arm.h (HARD_REGNO_RENAME_OK): Define.
12598
12599 Fri Jan  5 16:29:49 MET 2001  Jan Hubicka  <jh@suse.cz>
12600
12601         * simplify-rtx.c (cfc_args): add "unordered" field.
12602         (check_fold_consts): Set unordered field.
12603         (simplify_relational_operation): Simplify the unordered
12604         comparisons.
12605
12606         * reg-stack.c (swap_rtx_condition): Ensure that the transformation
12607         is valid.
12608
12609         * emit-rtl.c (try_split): Fix code to mark labels.
12610         * jump.c (mark_jump_label): Make global.
12611         * rtl.h (mark_jump_label): Declare.
12612
12613         * predict.c (estimate_probability): Handle unordred comparisons.
12614
12615 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
12616
12617         * cpp.texi: Update for -MP.  Clarify behaviour of -MT.
12618         * cppinit.c (initialize_dependency_output):  Update.
12619         (cpp_finish): Output dummy targets for -MP.
12620         (OPT_MP): New.
12621         (cpp_handle_option): Handle -MP.  Don't quote -MT options.
12622         * cpplib.h (struct cpp_options): Add deps_phony_targets.
12623         * gcc.c (cpp_options): Update to handle -MP.
12624         * mkdeps.c (deps_add_target, deps_add_default_target): Update
12625         to quote only the default target.
12626         (deps_phony_targets): Insert a preceding newline.  Rename from
12627         deps_dummy_targets for consistency.
12628         * mkdeps.h: Update
12629
12630 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
12631
12632         * calls.c (emit_library_call_value_1): Support
12633         INIT_CUMULATIVE_LIBCALL_ARGS.
12634         * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
12635
12636 2001-01-04  Richard Henderson  <rth@redhat.com>
12637
12638         * c-decl.c (finish_struct): Detect flexible array members
12639         used in an inappropriate context.
12640         * c-typeck.c (really_start_incremental_init): Special case
12641         constructor_max_index for zero length arrays.
12642         (pop_init_level): Allow initialization of flexible array
12643         members.  Deprecate initialization of zero length arrays.
12644         Don't issue missing initializer warning for flexible array
12645         members or zero length arrays.
12646         (process_init_element): Don't dereference null DECL_SIZE.
12647         * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
12648         Don't abort for empty constructors.  Use size_binop
12649         (output_constructor): Add commentary regarding zero length
12650         array futures.  Abort if we try to initialize an array of
12651         unspecified length with a non-empty constructor in the middle
12652         of a structure.
12653
12654         * extend.texi (Zero Length): Update and clarify documentation
12655         on static initialization.
12656
12657 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
12658
12659         * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
12660         with more than 32767 words of local storage.
12661
12662 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
12663
12664         * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
12665         for 'abs', 'labs', and 'fabs'.
12666         (c4x_expand_builtin): Likewise.
12667         * config/c4x/c4x.h (enum c4x_builtins): Likewise.
12668
12669 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
12670
12671         * config/sh/sh.md (prget, prset): New insn types.
12672         (return delay slot): Dont' allow prset.
12673         (call, sfunc delay slot): Don't allow prget.
12674         (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
12675         for prset and prget.
12676
12677 2001-01-05  Michael Hayes  <mhayes@redhat.com>
12678
12679         * loop.h (struct loop_reg): New.
12680         (struct loop_regs): Change to use array of `struct loop_reg'.
12681         * loop.c: Replace assortment of varrays with single regs array.
12682         (count_one_set): Delete may_not_move array argument
12683         and use regs array instead.  All caller's changed.
12684         (count_loop_regs_set): Delete may_not_move and single_usage
12685         arguments and use regs array instead.  All caller's changed.
12686         (find_single_use_in_loop): Replace usage array argument with pointer
12687         to regs structure.  All caller's changed.
12688         (loop_optimize): Delete `moved_once' array.
12689
12690 2001-01-05  Michael Hayes  <mhayes@redhat.com>
12691
12692         * loop.c (prescan_loop): Set loop_info->has_nonconst_call.
12693         Use it instead of loop_info->has_call for scanning loop mems.
12694         (check_dbra_loop): Replace loop_info->has_call test with
12695         loop_info->has_nonconst_call.
12696
12697 2000-01-04  Matthew Hiller  <hiller@redhat.com>
12698
12699         * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
12700         for TARGET_SH3E.
12701
12702 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
12703
12704         * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
12705         use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
12706
12707 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
12708
12709         * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
12710         (flag_short_double, flag_short_wchar): Define.
12711         (c_common_nodes_and_builtins): Create many tree nodes shared
12712         between C and C++ here instead of in cp/decl.c and ...
12713         * c-decl.c (init_decl_processing): ... here.
12714         (SIZE_TYPE, WCHAR_TYPE): Don't define.
12715         (flag_short_double, flag_short_wchar): Don't define.
12716         (record_builtin_type): New function.
12717         (build_void_list_node): New function.
12718         * c-common.h (flag_short_double, flag_short_wchar,
12719         record_builtin_type, build_void_list_node): Declare.
12720
12721 Thu Jan  4 21:09:47 2001  J"orn Rennecke <amylaar@redhat.com>
12722
12723         * integrate.c (expand_inline_function): Don't put a virtual
12724         register into the reg map.
12725
12726         * function.c (fixup_var_refs_1): If force_operand didn't put
12727         the address into the target, move it there.
12728
12729 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
12730
12731         Special-case tree_decl/tree_list allocations.
12732         * ggc-page.c (OBJECT_PER_PAGE): Reimplement.
12733         (OBJECT_SIZE): New macro.
12734         (NUM_EXTRA_ORDER): Likewise.
12735         (extra_order_size_table): New variable.
12736         (NUM_ORDERS): New macro.
12737         (objects_per_page_table): New variable.
12738         (object_size_table): New variable.
12739         (G.pages): Use NUM_ORDERS to bound the array.
12740         (G.page_tails): Likewise.
12741         (DIV_ROUND_UP): Remove.
12742         (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
12743         (alloc_page): Use OBJECT_SIZE.
12744         (size_lookup): Don't make it const.
12745         (ggc_alloc): Use OBJECT_SIZE.
12746         (ggc_set_mark): Likewise.
12747         (ggc_get_size): Likewise.
12748         (init_ggc): Set up the object_size_table, objects_per_page_table,
12749         and adjust size_lookup.
12750         (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
12751         (ggc_pop_context): Use NUM_ORDERS.
12752         (clear_marks): Likewise.
12753         (sweep_pages): Likewise.
12754         (poison_pages): Likewise.
12755         (ggc_print_statistics): Use OBJECT_SIZE.
12756
12757 Thu Jan  4 15:54:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12758
12759         * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
12760         Only call array_size_for_constructor if last field and array type
12761         with no upper bound.
12762
12763 2001-01-04  Philip Blundell  <philb@gnu.org>
12764
12765         * config/arm/arm.c (arm_gen_constant): Prefer to emit constants
12766         from bit 31 downwards, if this requires no more insns.
12767         (count_insns_for_constant): New helper function for above.
12768
12769 2001-01-04  Alexandre Oliva  <aoliva@redhat.com>
12770
12771         * gencodes.c (output_predicate_decls): Remove empty initializer.
12772
12773 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
12774
12775         * tree.c (copy_node): Remove documentation about obstacks.
12776         (buidl1): Check that nobody tries to build 2-argument nodes this
12777         way.
12778
12779 2001-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12780
12781         * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
12782         fp_high_losum_p.
12783
12784         * gencodes.c (output_predicate_decls): Fill empty initializer
12785         braces.
12786
12787 2001-01-04  Jakub Jelinek  <jakub@redhat.com>
12788
12789         * tradcpp.c (deps_file, print_deps_missing_files): New variables.
12790         (main): Handle -MG, -MD, -MMD.  Bail out if -MG is given without -M
12791         or -MM.
12792         (do_include): Handle missing headers like cpp0.
12793         * cppfiles.c (_cpp_execute_include): Don't prefix absolute header
12794         paths with first include pathname.  Don't strcat to uninitialized
12795         string.
12796
12797 2001-01-04  Bernd Schmidt  <bernds@redhat.com>
12798
12799         * regrename.c (regrename_optimize): Don't rename from frame pointer
12800         if frame_pointer_needed.
12801         (do_replace): Don't set ORIGINAL_REGNO to a hard register number.
12802         * config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
12803         (ia64_reorg): Use it instead of scheduling if ! optimize.
12804         (errata_emit_nops): Properly call asm_noperands.
12805         (ia64_sched_reorder): Finish cycle if we see an asm.
12806         (ia64_variable_issue): Clear scheduling state after asms.
12807
12808 2001-01-04  Neil Booth  <neil@daikokuya.demon.co.uk>
12809
12810         * cpp.texi: Update for -MT.
12811         * cppinit.c (initialize_dependency_output): Add a default
12812         target if none has been given already.
12813         (no_tgt, OPT_MT): New.
12814         (cpp_handle_option): Handle -MT.  Update -M etc.
12815         * cpplib.h (struct cpp_options): Remove deps_target.
12816         * gcc.c (cpp_options): Handle -MT.
12817         * mkdeps.c (struct deps): Move from mkdeps.h.
12818         (deps_calc_target): Rename deps_add_default_target.  Add a
12819         default target if none has been specified already.
12820         * mkdeps.h (struct deps): Move to mkdeps.c.
12821         (deps_calc_target): Rename deps_add_default_target.
12822
12823 2000-01-03  Richard Henderson  <rth@redhat.com>
12824
12825         * c-decl.c (grokdeclarator): Give zero-length arrays size zero.
12826         Remove dead code.
12827         * c-typeck.c (push_init_level): Move checks for flexible array
12828         members and zero length arrays ...
12829         (pop_init_level): ... here.  Silently discard empty initializations.
12830         Remove dead code.
12831         * varasm.c (output_constructor): Update for sizeof change to
12832         zero-length arrays.
12833
12834         * extend.texi (Zero Length): Clarify semantics.
12835
12836 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
12837
12838         * configure.in (tm.h): Include isns-codes.h last.
12839         * configure: Rebuilt.
12840
12841 2001-01-03  Richard Henderson  <rth@redhat.com>
12842
12843         * config/alpha/alpha.md (addvsi3, addvdi3): New.
12844         (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
12845
12846 2001-01-03  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
12847
12848         * tradcpp.c (main): Make sure finclude() is called with a valid
12849         indepth value while handling -include.
12850
12851 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
12852
12853         * gencodes.c (output_predicate_decls): New function.
12854         (main): Call it.
12855         * machmode.h (GET_MODE_MASK): Arrange for it to be defined
12856         even if it is not the first time machmode.h is #included.
12857         * config/sh/sh.c (fpul_operand): Declare MODE argument.
12858         * tm.texi (PREDICATE_CODES): Document predicate declarations.
12859         * gcc.texi (Copyright): Added 2001.
12860
12861 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
12862
12863         * c-common.c (c_common_lang_init): New function.  Warn if format
12864         warning options which only have effects when used with -Wformat
12865         are used without -Wformat.
12866         * c-common.h (c_common_lang_init): Declare.
12867         * c-lang.c (lang_init): Call c_common_lang_init.
12868         * objc/objc-act.c (lang_init): Call c_common_lang_init.
12869
12870 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
12871
12872         * configure.in: Check for the mktemp command.
12873         * configure: Regenerate.
12874         * gccbug.in: Use a separate temporary file $TEMP0 for one use of
12875         $TEMP.  Create temporary files with mktemp, if available at
12876         configure time; otherwise use set -C.  Remove temporary files
12877         before exit.
12878
12879 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
12880
12881         * configure.in: Require at least texinfo 4.0.  Check for whether
12882         Pod::Man is sufficiently recent to regenerate GCC manpages.
12883         * configure:  Regenerate.
12884         * Makefile.in (TEXI2POD): Call perl explicitly rather than relying
12885         on #!.
12886         (GENERATED_MANPAGES): Define.
12887         (generated-manpages): New target.  Depend on cpp.1 as well as
12888         gcov.1.
12889         (install-man): Depend on $(GENERATED_MANPAGES) (defined by
12890         configure to generated-manpages or empty) rather than on the
12891         manpages directly.  Remove execute permission from installed
12892         gcov.1 as well as cpp.1.
12893         * cpp.1, gcov.1: Regenerate.
12894
12895 2001-01-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12896
12897         * builtins.c (expand_builtin_strncmp): Use host_integerp and
12898         tree_low_cst.  Allow using cmpstrsi in more cases.
12899
12900 Wed Jan  3 10:48:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12901
12902         * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
12903         sized types.
12904
12905 Wed Jan  3 12:22:32 2001  Alexandre Oliva  <aoliva@redhat.com>
12906
12907         * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
12908         * Makefile.in (HOST_CFLAGS): Mention build-make.
12909
12910 Wed Jan  3 08:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12911
12912         * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
12913         as JUMP_INSN.
12914
12915 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
12916
12917         * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
12918         a REG rtx.
12919
12920         * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg.  All
12921         callers changed.
12922
12923         * alias.c (throughout): Use ORIGINAL_REGNO when accessing
12924         reg_base_value and reg_known_value arrays.
12925         (init_alias_analysis): Add more cases to detect known values.
12926         * sched-deps.c (deps_may_trap_p): New function.
12927         (sched_analyze_2): Use it.
12928
12929 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
12930
12931         * combine.c (simplify_shift_const): Even if we're sign-extracting,
12932         don't discard an ASHIFTRT if we're shifting in a wider mode.
12933
12934 2000-01-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12935
12936         * toplev.c (rest_of_compilation): Don't print basic block information
12937         when CFG isn't up to date.
12938
12939 2001-01-02  Mark Elbrecht  <snowball3@bigfoot.com>
12940
12941         * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
12942         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
12943         (UNALIGNED_SHORT_ASM_OP): Define.
12944         (CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
12945
12946 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
12947
12948         * fold-const.c (fold_convert): Fix typo.
12949
12950 2001-01-02  Richard Henderson  <rth@redhat.com>
12951
12952         * c-common.h (ASM_INPUT_P): New.
12953         * c-parse.in (asm): Set it when needed.
12954         * c-semantics.c (genrtl_asm_stmt): Test it instead of the
12955         existance of an operand.
12956
12957 Tue Jan  2 20:27:07 MET 2001  Jan Hubicka  <jh@suse.cz>
12958
12959         * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
12960         (dwarf2out_frame_debug_expr): Likewise.
12961         (mem_loc_descriptor): Handle PRE and POST_MODIFY.
12962
12963 Tue Jan  2 20:21:31 MET 2001  Jan Hubicka  <jh@suse.cz>
12964
12965         * i386.c (ix86_split_to_parts): Return number of part required;
12966         handle TFmodes.
12967         (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
12968         TFmodes.
12969         (ix86_split_long_move): Use number of part returned
12970         by ix86_split_to_parts
12971         * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
12972         New macros.
12973         (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
12974         (LONG_DOUBLE_TYPE_SIZE): Change from constant.
12975         (MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
12976         (INTEL_EXTENDED_IEEE_FORMAT): Likewise.
12977         (ALIGN_MODE_128): Add TFmode.
12978         (IS_STACK_MODE): Likewise.
12979         (HARD_REGNO_NREGS): TFmode needs 3 registers.
12980         (HARD_REGNO_OK): Support TFmodes.
12981         (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
12982         * i386.md (scheduler definitions): Use memory operand to determine
12983         fst/fld instructions; use mode attribute to determine real mode of
12984         the instruction.
12985         (*tf): New patterns, expanders and splitters; based on XFmode patterns.
12986         * invoke.texi (128bit-long-double, 96bit-long-double): Document.
12987
12988 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
12989
12990         * tree.def (TRUTH_NOT_EXPR): Improve documentation.
12991
12992 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
12993
12994         * expr.c (store_constructor_field): Update ALIGN before calling
12995         store_constructor.
12996
12997 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
12998
12999         * config/mips/mips.c (function_arg): Don't pass NULL_TREE to
13000         host_integerp.
13001
13002 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
13003
13004         * tm.texi (FUNCTION_ARG): Document that @var{type} can be an
13005         incomplete type.
13006
13007 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
13008
13009         * c-decl.c (start_function): Don't warn on third parameter to main.
13010
13011 2001-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13012
13013         * tsystem.h: Define HAVE_DECL_GETOPT.
13014
13015 2001-01-02  Philip Blundell  <pb@futuretv.com>
13016
13017         * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
13018         of input operand.
13019
13020 2001-01-02  Richard Henderson  <rth@redhat.com>
13021
13022         * alpha.md (*ze_and_ne): Duplicate insn condition to split.
13023
13024 2001-01-02  Andreas Jaeger  <aj@suse.de>
13025
13026         * c-decl.c (c_decode_option): Remove support of
13027         -Wmissing-noreturn.
13028
13029         * toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
13030         (W_options): Add -Wmissing-noreturn here.
13031
13032         * flow.c: Define lang_missing_noreturn_ok_p.
13033         (check_function_return_warnings): Use it.
13034
13035         * c-common.h: Declare lang_missing_noreturn_ok_p.
13036
13037         * c-lang.c (c_missing_noreturn_ok_p): New function.
13038         (lang_init): Set lang_missing_noreturn_ok_p.
13039
13040         * invoke.texi (Warning Options): Document this.
13041
13042 2000-12-27  Phil Edwards  <pme@sources.redhat.com>
13043
13044         * extend.texi (C++ Extensions):  New node for C++ attributes;
13045         describe init_priority and com_interface.
13046         * invoke.texi:  Remove -finit-priority as it now has zero effect.
13047         * install.texi:  Fix xref syntax.
13048         * md.texi:  Likewise.
13049
13050 Mon Jan  1 21:28:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13051
13052         * config.gcc (sparc64-wrs-vxworks*): New case.
13053         * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
13054
13055         * config/sparc/sparc.c (sparc_override_options): Do support different
13056         pointer and architecture size.
13057         * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
13058         (POINTERS_EXTEND_UNSIGNED): Define.
13059         (Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
13060         (FUNCTION_MODE): Define to be Pmode.
13061         * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
13062
13063         * function.c (expand_function_end): Properly handle DECL_RESULT
13064         and copy when ptr_mode != Pmode.
13065         * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
13066
13067 2001-01-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13068
13069         * c-common.c (c_common_nodes_and_builtins): Set prototype
13070         parameters for __builtin_fputs, __builtin_fputc and
13071         __builtin_fwrite.  Don't declare plain fputc as a builtin.
13072
13073 2001-01-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13074
13075         * loop.c (add_label_notes): Increment the label usage count when
13076         a note is added to an insn which refers to a CODE_LABEL.
13077         * gcse.c (add_label_notes): Likewise.
13078
13079 2001-01-01  Andreas Jaeger  <aj@suse.de>
13080
13081         * loop.c (scan_loop): Use xmalloc to allocate movables.
13082
13083 2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
13084
13085         * tm.texi (REGISTER_MOVE_COST): Add a mode argument.
13086         * reload.c (REGISTER_MOVE_COST): Likewise.  Adjust all callers.
13087         * reload1.c (REGISTER_MOVE_COST): Likewise.
13088         * regclass.c (REGISTER_MOVE_COST): Likewise.
13089         (move_cost, may_move_in_cost, may_move_out_cost): Add mode
13090         dimension.  Adjust all users.
13091         (init_reg_sets_1): Iterate on all modes.
13092         * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
13093         * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
13094         * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
13095         * config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
13096         * config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
13097         * config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
13098         * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
13099         * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
13100         * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
13101         * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
13102         * config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
13103         * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
13104         * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
13105         * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
13106         * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
13107         * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
13108         * config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
13109         * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
13110         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
13111         * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
13112         * config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
13113         * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
13114         * config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
13115         * config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
13116         * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
13117         * config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
13118         * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
13119
13120 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
13121
13122         * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
13123         arg VARIES_P.  Call it with extra arg.
13124         (true_dependence): Likewise.
13125         * rtl.h (rtx_addr_can_trap_p): Declare.
13126         (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
13127         prototypes.
13128         * rtlanal.c (rtx_addr_can_trap_p): No longer static.
13129         (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
13130         pic offset table register if it's zero.  All callers changed.
13131         (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
13132
13133 Mon Jan  1 07:38:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13134
13135         * explow.c (convert_memory_address, case SYMBOL_REF): Copy
13136         STRING_POOL_ADDRESS_P.
13137
13138         * config/sparc/sparc.c (input_operand): Properly test for short op.
13139
13140         * config.gcc (sparc-*-elf): Include sparc/sol2.h.
13141         (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
13142         (sparclite-*-elf*, sparc86x-*-elf*): Likewise.
13143         * config/sparc/elf.h: No longer include sol2.h.
13144         * config/sparc/lifeelf.h: No longer include sparc/elf.h.
13145         * config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
13146
13147         * config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
13148
13149 2001-01-01  Michael Hayes  <mhayes@redhat.com>
13150
13151         * loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
13152         (find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
13153         (record_initial): Likewise.
13154         * unroll.c (copy_loop_body, loop_iterations): Likewise.
13155         (remap_split_bivs): Likewise.
13156
13157 2001-01-01  Michael Hayes  <mhayes@redhat.com>
13158
13159         * loop.c (loop_ivs_free): New function.
13160         (strength_reduce): Break out from...
13161
13162 2001-01-01  Michael Hayes  <mhayes@redhat.com>
13163
13164         * loop.h (struct iv): New.
13165         (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
13166         (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
13167         'reg_biv_class' fields with 'regs' and 'n_regs'.
13168         (struct ivs): Rename 'loop_iv_list' field to 'list'.
13169         * loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
13170         * unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
13171
13172 2000-12-31  Alexandre Oliva  <aoliva@redhat.com>
13173
13174         * resource.c (mark_referenced_resources): Abort() before
13175         attempting to mark a pseudo register.
13176         (mark_set_resources): Likewise.
13177
13178 2001-01-01  Michael Hayes  <mhayes@redhat.com>
13179
13180         * loop.h (REG_IV_CLASS): New accessor macro.
13181         * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
13182         * unroll.c (REG_IV_CLASS): Likewise.
13183
13184 See ChangeLog.4 for earlier changes.