OSDN Git Service

6d8b7abcfd1db23bb78a74842e4b46e586d8257c
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-06-11  Richard Henderson  <rth@redhat.com>
2
3         * config/alpha/osf5.h (TARGET_LD_BUGGY_LDGP): New.
4         * config/alpha/alpha.h (TARGET_LD_BUGGY_LDGP): Default.
5         (struct machine_function): Add gp_save_rtx.
6         * config/alpha/alpha.c (alpha_mark_machine_status): Mark it.
7         (alpha_gp_save_rtx): New.
8         * config/alpha/alpha-protos.h: Declare it.
9         * config/alpha/alpha.md (exception_receiver): Make an expander.
10         Use alpha_gp_save_rtx if TARGET_LD_BUGGY_LDGP.
11
12 2001-06-11  Richard Henderson  <rth@redhat.com>
13
14         * config/alpha/osf.h (LINK_SPEC): Hide _GLOBAL_* symbols.
15
16 2001-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17
18         * configure.in: Align --help messages.
19         Remove trailing full stops.
20         Consistently use lower case.
21         Fix DWARF 2 spelling.   
22         * configure: Rebuilt.
23
24 2001-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
25
26         * config/alpha/alpha.h (CPP_SPEC): Don't define __LANGUAGE_C and
27         variants for .cpp/.cp/.c++ files. 
28         Move definition of __LANGUAGE_C_PLUS_PLUS ...
29         (CPLUSPLUS_CPP_SPEC): ... here.
30
31 Mon Jun 11 15:47:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
32
33         * jump.c (duplicate_loop_exit_test): Fix loop header heuristics.
34
35 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
36
37         * c-decl.c (store_parm_decls): When comparing types in an
38         old-style function declaration with those from a previous
39         prototype, compare the unqualified versions of parameter types.
40         Fixes PR c/3116.
41
42 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
43
44         * doc/objc.texi: Use more logical markup.  Use TeX dashes.
45
46 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
47
48         * doc/c-tree.texi: Use more logical markup.
49
50 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
51
52         * c-decl.c (xref_tag): Don't return previous tags of wrong type.
53
54 2001-06-11  Aldy Hernandez  <aldyh@redhat.com>
55
56         * loop.c (scan_loop): Do not combine asm statements.
57
58 2001-06-11  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
59
60         * simplify-rtx.c (simplify_subreg): Fix offset calculation
61         for complex values within a CONCAT.
62
63 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
64
65         * doc/install.texi: Update details of what components are included
66         in the GCC distribution.  Update default directory for g++
67         includes.  Update documentation relating to old libio.  Adjust
68         documentation on DejaGnu environment variables.  Remove
69         documentation of --enable-cpplib.
70
71 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
72
73         * doc/contrib.texi: Fix alphabetical order.  Fix typos.  Improve
74         markup.
75
76 2001-06-10  Richard Henderson  <rth@redhat.com>
77
78         * ifcvt.c (life_data_ok): New.
79         (merge_if_block): Use it to determine whether to update
80         global_live_at_end.
81         (if_convert): Set it.
82
83 2001-06-10  Richard Henderson  <rth@redhat.com>
84
85         * config/alpha/osf5.h (ASM_OLDAS_SPEC): Add -c.
86
87 2001-06-10  Alexandre Oliva  <aoliva@redhat.com>
88
89         * doc/invoke.texi (MN10300 Options): Document -mno-crt0.
90         (SH Options): Document -mieee.
91         * doc/install.texi (Final install): Remove obsolete information
92         about installing cross compilers.
93         * doc/gcc.1: Rebuilt.
94
95 2001-06-10  Richard Henderson  <rth@redhat.com>
96
97         * config/alpha/alpha.c (override_options): Set align_loops,
98         align_jumps, and align_functions.
99         * config/alpha/alpha.h (FUNCTION_BOUNDARY): Set to 32 bits.
100         (LOOP_ALIGN, LABEL_ALIGN_AFTER_BARRIER): Remove.  
101
102 2001-06-11  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
103
104         * emit-rtl.c (gen_lowpart_common): Do not assume that SFmode and DFmode
105         are one and two words in size.
106
107 2001-06-10  Richard Henderson  <rth@redhat.com>
108
109         * doc/invoke.texi (Optimization Options): Document -fpeephole2.
110         (Code Generation Options): Document -fnon-call-exceptions.
111
112 2001-06-10  Mark Kettenis  <kettenis@gnu.org>
113
114         * config/i386/gnu.h (MD_FALLBACK_FRAME_STATE_FOR): Undefine.
115
116 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
117
118         * m68hc11.md (peepholes): Remove unused and wrong peepholes.
119
120 2001-06-10  Mark Mitchell <mark@codesourcery.com>
121             Gabriel Dos Reis  <gdr@codesourcery.com>
122
123         * Makefile.in (c-parse.o): Depend on diagnostic.h
124         (dwarf2out.o): Likewise.
125
126         * dwarf2out.c: #include diagnostic.h
127
128         * toplev.h (warningcount, errorcount, sorrycount): Remove
129         declarations. 
130
131         * toplev.c (warningcount, errorcount, sorrycount): Remove
132         definitions. 
133
134         * diagnostic.h (struct output_buffer): Reorder fields.
135         (diagnostic_kind_count): New macro.     
136         (errorcount, warningcount, sorrycount): Define as macros.
137         (diagnostic_report_warnings_p): New macro.
138         (output_state): Add diagnostic_count field.
139
140         * diagnostic.c (warningcount, errorcount, inhibit_warnings):
141         Remove tentative declaration.
142         (count_error): Use diagnostic_report_warnings_p.
143
144         * c-parse.in: #include diagnostic.h
145
146 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
147
148         * config/m68hc11/m68hc11.md ("extendhisi2"): Fix constraints to
149         prefer a memory for operand 1.
150         ("*addsi3"): Fix constraints, the '!' was too strong.
151         ("*addsi3_split"): Accept soft register and split accordingly.
152
153 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
154
155         * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline): 
156         Move definition in the RTX_CODE section.
157
158 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
159
160         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Define the return 
161         address as relative to the argument pointer.
162
163 Sun Jun 10 10:58:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
164
165         * predict.def (PRED_OPCODE): Place before call and error_return.
166
167 Sun Jun 10 10:00:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
168
169         * predict.def (PRED_CALL, PRED_ERROR_RETURN): New.
170         * predict.c (estimate_probability): Calculate dominance
171         information; improve detection of NORETURN heuristics;
172         add call/error_return heuiristics; tweak comparison heuristics
173         to recognize -1.
174
175 2001-06-09  Alexandre Oliva  <aoliva@redhat.com>
176
177         * doc/invoke.texi (C Dialect Options): Document -aux-info.
178         (Debugging Options): Document -print-multi-directory and
179         -print-multi-lib.
180         * doc/gcc.1: Rebuilt.
181
182         * toplev.c (independent_decode_option): Require `=' between
183         `-aux-info' and filename in the same argument.
184         * gcc.c: Don't pass -aux-info=filename twice.
185
186 2001-06-09  Mark Mitchell  <mark@codesourcery.com>
187
188         * expr.c (expand_expr, case ARRAY_REF): Do not replace
189         an array element with the known initializing value if it has
190         side-effects.
191
192         * toplev.c (rest_of_compilation): Remove dead code before
193         purge_addressof.
194         
195 2001-06-09  Neil Booth  <neil@daikokuya.demon.co.uk>
196
197         * cppinit.c (print_help): Document -fpreprocessed.
198         * invoke.texi: Similarly.
199
200 Sun Jun 10 00:35:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
201
202         * predict.def: New file.
203         * predict.h: New file.
204         * predict.c: Include predict.h.
205         (predictor_info): New structure and array.
206         (predict_edge, predict_insn): Rewrite; make global.
207         (predict_edge_def, predict_insn_def): New global functions.
208         (dump_prediction, combine_predictions_for_insns): New
209         static functions.
210         (estimate_probability): Change calls to predict_edge
211         to predict_edge_def and calls to predict_insn to predict_insn_def;
212         combine probabilities.
213         (expected_value_to_br_prob): Behave as predictor.
214         * rtl.h (REG_BR_PRED): Update coment.
215         (invert_br_probabilities): New.
216         * jump.c: Include predict.h
217         (duplicate_loop_exit_test): Drop branch prediction notes.
218         (invert_jump): Use invert_br_probabilities.
219         * Makefile.in: Add dependancy on predict.h for jump and predict pass.
220         * ifcvt.c (dead_or_predicable): Use invert_br_probabilities.
221         * combine.c (distribute_notes): Handle BR_PRED.
222
223 Sat Jun  9 23:29:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
224
225         * predict.c (predict_insn, predict_edge): New static functions.
226         (estimate_probability): Revamp to use new functions;
227         fix loop header heruistics; add loop exist heruistics
228
229 2001-06-09  Alexandre Oliva  <aoliva@redhat.com>
230
231         * config.gcc: Re-enable bi-arch sparc on Solaris 7 and above.
232
233 2001-06-09  Peter Jakubek <pjak@snafu.de>
234
235         * config/m68k/m68k.md (ashrdi_const): Fix right shift by 16.
236
237 2001-06-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
238
239         * vax.h (NOTICE_UPDATE_CC): Set CC_NO_OVERFLOW in cc_status.flags
240         for integer operations that don't update C bit.
241
242 2001-06-09  Nicola Pero <nicola@brainstorm.co.uk>
243
244         * gthr-posix.h (__gthread_objc_init_thread_system): If
245         pthread_key_create fails, it's not clear what the return value is.
246         This obvious fix makes sure it always returns -1 if a problem
247         occurs.
248
249 2001-06-09  Joseph S. Myers  <jsm28@cam.ac.uk>
250
251         * doc/gcc.texi: Use @defcodeindex for the index of options.  Add
252         more index entries.  Use more logical markup where appropriate.
253         Use TeX quotes and dashes.
254
255 2001-06-09  Benjamin Kosnik  <bkoz@redhat.com>
256
257         * unwind-pe.h: Conditionally qualify references to abort with
258         std::.
259
260 2001-06-09  Julian Foad <julian_foad@hotmail.com>
261
262         * doc/invoke.texi: Remove superfluous text.
263
264 2001-06-08  Richard Henderson  <rth@redhat.com>
265
266         * config/alpha/linux.h (CPLUSPLUS_CPP_SPEC): New.
267         (LIB_SPEC): Mirror config/linux.h version.
268
269 2001-06-08  Richard Henderson  <rth@redhat.com>
270
271         * except.c (get_exception_pointer, get_exception_filter): Take a
272         struct function.  Update all callers.
273         * except.h (get_exception_pointer): Update declaration.
274         * expr.c (expand_expr): Update get_exception_pointer call.
275         * integrate.c (expand_inline_function): Remap the exception pointer
276         from callee to caller.
277
278 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
279
280         * c-decl.c (grokdeclarator): Make the TREE_TYPE for declarations
281         accurately reflect its cv-qualification.
282         * c-typeck.c (type_lists_compatible_p): Ignore the top-levl
283         cv-qualifiers on function types.
284
285 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
286
287         * basic-block.h: Improve comments.
288         * except.c (expand_eh_region_end_allowed): Remove redundant call
289         to do_pending_stack_adjust.
290         * flow.c (life_analysis): Fix typo in comment.
291         (calculate_global_regs_live): Add documentation.
292         (mark_set_1): Likewise.
293         (debug_regset): Likewise.
294         * doc/rtl.texi (cond_exec): Document it.
295
296 Fri Jun  8 21:52:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
297
298         * i386.h (CONST_COSTS): set cost of constants representable in
299         immediate fields to 0.
300
301 Fri Jun  8 21:34:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
302
303         * function.c (diddle_return_value): Kill code to determine
304         return value before expand_function_end.
305         (expand_function_end): Delay call to clobber_return_register
306         after fucntion return value is computed.
307
308         Re-install temporary reverted patch:
309         * toplev.c (rest_of_compilation): Call split_all_insns
310         before reg-stack and shorten-branches. Do shorten-branches
311         after reg-stack.
312         * final.c (shorten_branches): Remove insn splitting code.
313
314 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
315
316         * doc/gcc.texi, doc/invoke.texi: Add index of command line
317         options.  Use @opindex to index them rather than other indexing
318         commands.  Use @var{...} instead of <...>.  Avoid spaces in names
319         inside @var.  Don't use @kindex to index escape sequences in
320         source code.
321
322 2001-06-08  Jason Merrill  <jason_merrill@redhat.com>
323
324         * stmt.c (current_nesting_level): New fn.
325         * tree.h: Declare it.
326         * c-semantics.c (genrtl_compound_stmt): Use it.
327
328         * dbxout.c (dbxout_symbol): Use DECL_RTL_SET_P.
329
330 2001-06-08  Jakub Jelinek  <jakub@redhat.com>
331
332         * jump.c (mark_modified_reg): Allow jump threading if condition
333         codes are represented by a hard register.
334
335 2001-06-08  Jakub Jelinek  <jakub@redhat.com>
336
337         * config/ia64/ia64.c (ia64_function_arg): Use [SDT]Fmode as gr_mode
338         for complex floats passed to unprototyped functions.
339
340 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
341
342         * except.c (expand_eh_region_end_allowed): Call
343         do_pending_stack_adjust as necessary.
344
345 Fri Jun  8 14:16:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
346
347         * function.c (clobber_return_register): Clobber the pseudo return
348         register too.
349
350         * sibcall.c (skip_unreturned_value): New function.
351         (call_ends_block_p): Use it.
352
353         * recog.c (split_insn): Break out from ...
354         (split_all_insns): ... here; do not use basic block information
355         when it is broken.
356
357 Thu Jun  7 18:27:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
358
359         * simplify-rtx.c (simplify_subreg):  Fix verification of
360         combined subreg.
361
362 2001-06-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
363
364         * config/mips/mips.h (CPP_SPEC): Simplify .s/.S handling.
365         Don't define _LANGUAGE_C and variants for .cpp/.cp/.c++ files.
366         Move definition of _LANGUAGE_C_PLUS_PLUS ...
367         (CPLUSPLUS_CPP_SPEC): ... here.
368         Fixes PRs c++/3047, target/441.
369
370 2001-06-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
371
372         * doc/install.texi2html (MAKEINFO): Keep value if set already.
373
374 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
375
376         * doc/gcc.texi: Add trailing slash to URL.
377
378 2001-06-07  Stan Shebs  <shebs@apple.com>
379
380         * config/darwin.h (ENCODE_SECTION_INFO): Define.
381         (REDO_SECTION_INFO_P): Ditto.
382         (STRIP_NAME_ENCODING): Ditto.
383         (ASM_DECLARE_OBJECT_NAME): Use ENCODE_SECTION_INFO.
384         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Ditto.
385         (ASM_OUTPUT_LABELREF): Use STRIP_NAME_ENCODING.
386         (GEN_LAZY_PTR_NAME_FOR_SYMBOL): Ditto.
387         * config/darwin.c: No longer include c-tree.h.
388         (machopic_classify_ident): Rewrite to use symbol encoding.
389         (lookup_name_darwin): Remove.
390         (machopic_non_lazy_ptr_name): Handle encoded symbols.
391         (machopic_stub_name): Use STRIP_NAME_ENCODING.
392         (machopic_validate_stub_or_non_lazy_ptr): Ditto.
393         (machopic_finish): Ditto, remove test of decl.
394         (update_non_lazy_ptrs): New function.
395         (darwin_encode_section_info): New function.
396         * config/darwin-protos.h: Declare it.
397         * config/rs6000/rs6000.c (machopic_output_stub): Use
398         STRIP_NAME_ENCODING.
399         
400 2001-06-07  Mark Mitchell  <mark@codesourcery.com>
401
402         * tree.h (DECL_SOURCE_FILE): Improve documentation.
403         (DECL_SOURCE_LINE): Likewise.
404
405 2001-06-07  Loren J. Rittle  <ljrittle@acm.org>
406
407         * config/alpha/elf.h (MAKE_DECL_ONE_ONLY): Copy definition
408         from config/elfos.h.
409
410 2001-06-07  Phil Edwards  <pme@sources.redhat.com>
411
412         * linux.h (CPLUSPLUS_CPP_SPEC):  Move -D_GNU_SOURCE to here.
413         * pa/pa-linux.h:  Allow CPLUSPLUS_CPP_SPEC to remain.
414
415 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
416
417         * doc/contrib.texi: Add copyright notice.
418
419 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
420
421         * doc/md.texi: Use four digit years in copyright notice.
422
423 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
424
425         * config.gcc: For $target_alias of athlon-*, set
426         target_cpu_default2=5.
427
428 Thu Jun  7 16:17:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
429
430         * global.c (build_insn_chain): Allow ADDR_VEC or ADDR_DIF_VEC after
431         end of last block if last real insn is a JUMP_INSN.
432
433 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
434
435         * NEWS: Regenerate.
436
437 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
438
439         * gthr-posix.h (__gthread_objc_thread_detach): Simply cast
440         pthread_t to objc_thread_t.
441         (__gthread_objc_thread_id): Likewise.
442
443 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
444
445         * alpha/osf5.h (CPP_XFLOAT_SPEC): Override default definition.
446         (ASM_OLDAS_SPEC): Likewise.
447
448         * alpha/osf.h (CPP_XFLOAT_SPEC): Define.
449         (CPP_SUBTARGET_SPEC): Use it.
450         (ASM_OLDAS_SPEC): Define.
451         (ASM_SPEC): Use it.
452         (SUBTARGET_EXTRA_SPECS): Define, declare the new specs above.
453
454 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
455
456         * config/alpha/alpha.c (alpha_va_arg): Handle TFmode, TCmode args,
457         passed by reference.
458
459 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
460
461         * doc/tm.texi (TARGET_SWITCHES, TARGET_OPTIONS): Adjust markup.
462         Document use of N_(...), and show it in examples.  Note that
463         documentation should be added to invoke.texi.  Avoid an overfull
464         hbox.
465
466 Thu Jun  7 17:09:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
467
468         * toplev.c (rest_of_compilation): Revert previous patch.
469         * final.c (shorten_branches): Likewise.
470
471 2001-06-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
472
473         * pself.c, pself1.c, pself2.c, pself3.c, pself4.c, pself5.c:
474         Remove.
475
476 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
477
478         * doc/install-old.texi: Remove more obsolete documentation.
479
480 Thu Jun  7 13:20:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
481
482         * expr.c (copy_blkmode_from_reg): Fix operand_subword_force call.
483
484 Thu Jun  7 12:12:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
485
486         * toplev.c (rest_of_compilation): Call split_all_insns
487         before reg-stack and shorten-branches. Do shorten-branches
488         after reg-stack.
489         * final.c (shorten_branches): Remove insn splitting code.
490
491 2001-06-07  Nathan Sidwell  <nathan@codesourcery.com>
492
493         * configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support.
494         * configure: Rebuilt.
495
496 2001-06-07  Andreas Jaeger  <aj@suse.de>
497
498         * emit-rtl.c (operand_subword): Remove unused variable.
499
500 Wed Jun  6 14:51:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
501
502         * i386.md (floatdi?f): Avoid usinf of SSE instructions
503         if TARGET_64BIT is false.
504         (floatdi?f_i386_only): New insn.
505         (floatdi?f_i386): Disable for !TARGET_64BIT.
506
507         * (min?f, max?f splitters): Handle case where
508         operands are cross-matched.
509
510         * i386.h (HI_REGISTER_NAMES): Remove redundant definition
511         (MMX_REGISTER_NAMES): Kill.
512         (PRINT_OPERAND): Fix comment.
513         (PRINT_REG): Likewise.
514         * i386.c (print_reg): Kill support for 'm' CODE; simplify.
515         (print_operand): Update comment; kill 'm'.
516
517         * i386.c (x86_branch_hints): New global variable
518         (print_operand): Support outputting of branch prediction hints.
519         * i386.md (conditional jump patterns): Add branch prediction hints
520         to the template.
521         * i386.h (x86_branch_hints): Declare
522         (TARGET_BRANCH_PREDICTION_HINTS): New macro.
523         (PRINT_OPERAND_FUNCT_VALID_P): New.
524         * final.c (final_forward_branch_p): New function.
525
526 2001-06-06  Richard Henderson  <rth@redhat.com>
527
528         * flow.c (mark_used_reg): Clean up looping over multiple hard
529         registers.  Do conditional life bits across multiple hard regs.
530
531 2001-06-05  Jeffrey D. Oldham  <oldham@codesourcery.com>
532
533         * reload1.c (reload): Revert Schmidt's change so all USEs are not
534         deleted during reload.
535
536 2001-06-05  Mark Mitchell  <mark@codesourcery.com>
537
538         * c-semantics.c (genrtl_scope_stmt): Write out nested inline
539         functions here, instead of ...
540         * c-decl.c (c_expand_body): ... here.
541
542 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
543
544         * config.gcc, config/sparc/bsd.h:  Do not directly include
545         sparc/sparc.h.  Instead do it via tm_file.
546
547 2001-06-05  Richard Henderson  <rth@redhat.com>
548
549         * dwarf2.h (DW_EH_PE_aligned): New.
550         * dwarf2asm.c (eh_data_format_name): Name it.
551         (dw2_asm_output_encoded_addr_rtx): Align for it.
552         * dwarf2out.c (output_call_frame_info): Handle it for personality
553         routine and LSDA pointers.
554
555         * unwind-pe.h (DW_EH_PE_aligned): New.
556         (base_of_encoded_value): Handle it.
557         (read_encoded_value_with_base): Likewise.
558         * unwind-dw2-fde.c (base_from_object): Likewise.
559         (get_cie_encoding): Likewise.
560
561         * config/alpha/elf.h: Remove ecoff commentary.
562         * config/alpha/osf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
563
564 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
565
566         * config.gcc, config/i386/bsd386.h:  Do not directly include
567         i386/386bsd.h.  Instead do it via tm_file.
568
569 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
570
571         * elfos.h (USING_ELFOS_H):  Identify the use of elfos.h in the same
572         way svr4.h does.
573
574 2001-06-05  Pascal Obry  <obry@act-europe.fr>
575
576         * configure.in: Quote $enable_win32_registry in case the value has
577         spaces in it.
578         * configure: Ditto.
579
580 2001-06-05  Mark Mitchell  <mark@codesourcery.com>
581
582         * print-rtl.c (xspaces): Remove.
583         (print_rtx): Use printf field-width, rather than xpsaces, to
584         indent.
585         * toplev.c (main): Disable sibling-call optimization if we are
586         handling exceptions.
587         
588 2001-06-05  Bernd Schmidt  <bernds@redhat.com>
589
590         * reload1.c (reload): Delete all USEs generated during reload.
591
592 2001-06-05  scott snyder  <snyder@fnal.gov>
593
594         * gccbug.in:  Fix typo.
595
596 2001-06-05  Andreas Jaeger  <aj@suse.de>
597
598         * builtins.def: Fix definition of __builtin_cosf, it uses float as
599         parameter and return value.
600
601 2001-06-04  Anthony Green  <green@redhat.com>
602
603         * config/sparc/elf.h (CPP_PREDEFINES): Don't assert cpu or
604         machine.  This is now done in sparc.h.
605
606 2001-06-05  Nathan Sidwell  <nathan@codesourcery.com>
607
608         Correct CVS resurrection of invoke.texi.
609         * doc/invoke.texi: Document new tree dump flags.
610
611 2001-06-05  Joseph S. Myers  <jsm28@cam.ac.uk>
612
613         * c-typeck.c (build_c_cast): Use TYPE_MAIN_VARIANT when checking
614         for casting an aggregate to its own type.  Fixes PR c/2735.
615
616 2001-06-05  Joseph S. Myers  <jsm28@cam.ac.uk>
617
618         * doc/texinfo.tex: Update to version 2001-05-24.08.
619
620 2001-06-05  Nathan Sidwell  <nathan@codesourcery.com>
621
622         * c-common.h (flag_dump_translation_unit): Remove.
623         (enum tree_dump_index): Define.
624         (TDF_ADDRESS, TDF_SLIM): New #defines.
625         (dump_node_to_file): Remove.
626         (dump_node): Make extern. Add flags.
627         (dump_flag, dump_enabled_p, dump_begin, dump_end,
628         dump_switch_p): Prototype.
629         * c-common.c (flag_dump_translation_unit): Remove.
630         * c-decl.c (c_decode_option): Remove -fdump-translation-unit
631         logic. Use dump_switch_p.
632         * c-dump.h (struct dump_info): Add node and user fields.
633         (dump_pointer): Declare.
634         * c-dump.c (dump_node): Make extern. Add flags.
635         (SOL_COLUMN, EOL_COLUMN, COLUMN_ALIGNMENT): New #defines.
636         (dump_new_line, dump_maybe_newline): Use them.
637         (dump_pointer): New function.
638         (dequeue_and_dump): Check TDF_SLIM before dumping a _DECL's
639         chain or function's body. Dump address, if TDF_ADDRESS set.
640         (dump_flag): Define.
641         (dump_node_to_file): Remove.
642         (struct dump_file_info): New struct.
643         (dump_files): New array.
644         (dump_begin, dump_end, dump_enabled_p, dump_switch_p): Define.
645         * c-lang.c (finish_file): Adjust dumping.
646         * toplev.h (dump_base_name): Make extern.
647         * invoke.texi: Document new flags.
648
649 2001-06-04  Mark Mitchell  <mark@codesourcery.com>
650
651         * c-tree.h (lang_decl): Add pending_sizes fields.
652         * c-decl.c (store_parm_decls): Save pending_sizes away for nested
653         functions.
654         (c_expand_body): Expand them.
655         (lang_mark_tree): Mark lang_decl:pending_sizes.
656         * function.c (expand_pending_sizes): New function, broken out
657         from ...
658         (expand_function_start): ... here.
659         * tree.h (expand_pending_sizes): Declare it.
660
661 2001-06-04  Loren J. Rittle  <ljrittle@acm.org>
662
663         * doc/install.texi: Update FreeBSD information.  Generalize
664         and update information for alpha-based platforms using ELF.
665
666 2001-06-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
667
668         * c-decl.c (get_parm_info): Use INTEGRAL_TYPE_P.
669         (store_parm_decls): Likewise.
670         * c-typeck.c (convert_arguments): Likewise.
671
672 2001-06-04  Richard Henderson  <rth@redhat.com>
673
674         * sibcall.c (optimize_sibling_and_tail_recursive_call): Suppress
675         optimization if current_function_calls_setjmp.
676
677 2001-06-04  Joseph S. Myers  <jsm28@cam.ac.uk>
678
679         * doc/c-tree.texi: Fix documentation of TREE_STRING_LENGTH for
680         wide strings.
681
682 Mon Jun  4 20:44:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
683
684         * simplify-rtx.c (simplify_subreg): Fix combining of
685         paradoxical subregs.
686
687 Mon Jun  4 20:15:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
688
689         * rtlanal.c (rtx_unsable_p): ADDRESSOF is stable.
690         (no_labels_between_p): Short circuit case beg==end.
691
692 Mon Jun  4 20:03:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
693
694         * rtlanal.c (operand_preference): Fix preference for objects.
695
696 Mon Jun  4 20:00:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
697
698         * gcse.c (handle_avail_expr): Be prepared to handle single_set
699         parallels.
700
701 Mon Jun  4 19:59:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
702
703         * combine.c (if_then_else_cond): Use simplify_subreg instead
704         of operand_subword.
705         * integreate.c (sub_constants): Likewise.
706
707 Mon Jun  4 19:59:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
708
709         * emit-rtl.c (constant_subword): Deprecate; remove most of code
710         and use simplify_gen_subreg.
711
712 Mon Jun  4 19:55:23 CEST 2001  Lars Brinkhoff  <lars@nocrew.org>
713
714         * sibcall.c (skip_copy_to_return_value): recognize the situation
715         when the called function's return value is copied into an
716         intermediate pseudo, and then into the calling functions return
717         value register.
718
719 Mon Jun  4 16:50:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
720
721         * simplify_rtx.c (simplify_subreg): Keep subregs on return values,
722         check CLASS_CANNOT_CHANGE_MODE before avoiding subreg on hard reg,
723         in case register wasn't OK previously, accept it now; allow
724         subregs of frame pointer if reload completed and frame pointer
725         is not needed.
726
727         * combine.c (sombine_simplify_rtx): Fix comment;
728         use subreg_lowpart_offset instead of subreg_lowpart_p
729         (gen_lowpart_for_combine): Use subreg_lowpart_offset.
730         * rtl.h (subreg_lowpart_parts_p): Kill.
731         (subreg_lowpart_offset, subreg_highpart_offset): Declare.
732         * simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset.
733         * emit-rtl.c (gen_lowpart_SUBREG): Use subreg_lowpart_offset;
734         (gen_lowpart_common): Likewise.
735         (subreg_lowpart_p): Likewise.
736         (subreg_lowpart_parts_p): Kill.
737         (subreg_lowpart_offset, subreg_highpart_offset): New function.
738
739         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
740         to simplify SUBREG and REG.
741         (gen_highpart): Use simplify_gen_subreg for all simplifications.
742
743         * emit-rtl.c (gen_realpart, gen_imagpart): Do not handle
744         CONCAT specially.
745
746         * rtlanal.c (replace_regs):  Use simplify_gen_subreg
747
748 Mon Jun  4 09:21:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
749
750         * doc/c-tree.texi (ARRAY_REF): Say what type of expression must be.
751         (ARRAY_RANGE_REF): Added description.
752
753         * tree.def (ARRAY_RANGE_REF): New code.
754         * alias.c (handled_component_p, can_address_p): Handle it.
755         * dwarf2out.c (loc_descriptor_from_tree): Likewise.
756         * explow.c (set_mem_attributes): Likewise.
757         * expr.c (expand_assignment, get_inner_reference): Likewise.
758         (expand_expr, expand_expr_unaligned, do_jump): Likewise.
759         * fold-const.c (operand_equal_p): Likewise.
760         * tree.c (staticp, stabilize_reference): Likewise.
761         * varasm.c (decode_addr_const): Likewise.
762
763 Sun Jun  3 21:59:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
764
765         * reload.c (reload_inner_reg_of_subreg): Return 1 for PLUS.
766         (push_reload): Handle non-REG in reload_inner_reg_of_subreg case.
767
768 2001-06-03  kaz Kojima  <kkojima@rr.iij4u.or.jp>
769
770         * gcc/config/sh/sh.c (print_operand_address, print_operand): Call
771         mark_constant_pool_use before output_addr_const.
772         (struct pool_node): New field wend.
773         (add_constant): Note a sequence of constants that are referenced
774         by a given label.
775         (pool_window_label, pool_window_last): New variables.
776         (dump_table): Emit a unspec_volatile representing the end of a
777         sequence of constants.
778         (mark_constant_pool_use): New function.
779         * gcc/config/sh/sh.md (UNSPECV_WINDOW_END): New constant.
780         (consttable_2): Add the second operand which flags whether
781         this consttable entry was used or not.
782         (consttable_4, consttable_8, consttable_sf, consttable_df):
783         Likewise.
784         (consttable_window_end): New insn.
785
786 2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
787
788         * insn-addr.h (INSN_ADDRESSES_NEW): Make insn_uid__ unsigned.
789         Reformat according to coding standards.
790
791         Warning removal.
792         * config/sh/sh.c (print_operand_address): Cast INTVAL to int.
793         (shl_and_kind): Cast wide constant.
794         (gen_far_branch): Define as static, as in declaration.
795         (barrier_align): Compute cache-line length as unsigned.  Add
796         parentheses in initial credit computation.
797         (rounded_frame_size): Add parentheses.
798         (permanent_obstack): Remove declaration.  Include ggc.h for
799         declaration of ggc_add_root_rtx().
800         (get_free_reg): Removed declaration of unused variable reg.
801         (legitimize_pic_address): Mark mode argument as unused.
802
803 2001-06-03  Igor Shevlyakov  <igor@windriver.com>
804
805         * config/sh/sh.c (output_branch): Support for insn with lenght
806         attr 12 & 16 which represents cond branches outside +-4096 range.
807
808 2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
809
810         * config/sh/lib1funcs.asm (ic_invalidate): Align the
811         cache-mirroring sequence.  Add nops.
812
813 2001-06-03  Joseph S. Myers  <jsm28@cam.ac.uk>
814
815         * doc/install-old.texi: Remove more old installation
816         documentation.
817         * doc/install.texi: Add relevant parts here.
818
819 2001-06-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
820
821         * doc/install.texi2html: New script.
822
823 2001-06-03  David Edelsohn  <edelsohn@gnu.org>
824
825         * doc/install.texi: Update AIX information again.
826
827 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
828
829         * doc/gcc.texi, doc/install-old.texi: Remove old system-specific
830         installation documentation.
831         * doc/install.texi: Move it to here.
832
833 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
834
835         * doc/install.texi: Clean up Texinfo markup.
836
837 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
838
839         * doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi: Move contents
840         to just after title page.
841
842 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
843
844         * doc/install-old.texi: Remove documentation of some configuration
845         options.
846         * doc/install.texi: Add relevant parts of this documentation here.
847
848 2001-06-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
849
850         * contrib.texi: Updated entries for Mark Mitchell, Joseph S. Myers,
851         Gerald Pfeifer, Bernd Schmidt, and Dean Wakerley.
852
853 Sat Jun  2 12:23:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
854
855         * i386.md (all uses of ext_register_operand): Make sure they are
856         VOIDmode; replace all uses outside zero_extend.
857         (and?i splitters): Use ext_register_operands.
858         (test?i peep2): Remove ignored constraints.
859         * i386.c (ext_register_operand): Check that operand is
860         eighter pseudo or hard or 'Q' register.
861
862 Sat Jun  2 06:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
863
864         * tree.h (struct record_layout_info_s): New field unpadded_align.
865         (set_lang_adjust_rli): New declaration.
866         * stor-layout.c (layout_decl): If DECL is packed, but at alignment
867         it would have if not packed, do not downgrade DECL_ALIGN.
868         (lang_adjust_rli, set_lang_adjust_rli): New.
869         (start_record_layout): Initialize new field unpadded_align.
870         (debug_rli): Display it.
871         (place_union_field, place_field): Set it.
872         (layout_type, case RECORD_TYPE): Call via lang_adjust_rli if set.
873
874         * print-tree.c (print_node): Don't print "regdecl" when bit doesn't
875         mean that; use proper names instead.
876         Print DECL_NO_STATIC_CHAIN.
877
878         * except.c (expand_builtin_frob_return_addr): Add missing call
879         to convert_memory_address #ifdef POINTERS_EXTEND_UNSIGNED.
880         (expand_builtin_eh_return): Likewise.
881         (expand_eh_return): Clean up ptr_mode != Pmode cases.
882
883 2001-06-01  Jan van Male  <jan.vanmale@fenk.wau.nl>
884
885         * doc/invoke.texi: Remove references to papers about sequence points
886         to readings.html, refer to that page.
887
888 2001-06-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
889
890         * README: Update references to installation instructions.
891
892 2001-06-01  Laurent Guerby  <guerby@acm.org>
893             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
894
895         * doc/install.texi: Define srcdir when sources come from CVS.
896         Significantly improve markup.  Wrap overly long lines
897
898 2001-06-01  DJ Delorie  <dj@redhat.com>
899
900         * c-tree.texi, contrib.texi, cpp.texi, cppinternals.texi,
901         extend.texi, fdl.texi, gcov.texi, invoke.texi, md.texi,
902         objc.texi, rtl.texi, tm.texi, texinfo.tex, gcc.1, cpp.1,
903         gcov.1: Move to doc subdirectory.
904         * install.texi: Move to doc/install-old.texi.
905         * gcc.texi: Move to doc, refer to install-old.texi.
906         * Makefile.in: Reflect move of docs to doc/.
907         * f/Make-lang.in: Ditto.
908         * java/Make-lang.in: Ditto.
909         * doc/.cvsignore: New.
910
911 2001-05-31  Jan van Male  <jan.vanmale@fenk.wau.nl>
912
913         * invoke.texi: use two spaces between command options, eliminate
914         some 'overfull hboxes'
915
916 2001-06-01  Hans-Peter Nilsson  <hp@axis.com>
917
918         * Makefile.in (s-mlib): Make backtick-commands always succeed.
919         (DRIVER_DEFINES): Ditto.
920
921 2001-05-31  Richard Henderson  <rth@redhat.com>
922
923         * gcc.c (init_gcc_specs): When linking against libgcc_s.so,
924         also link against libgcc.a.
925
926 2001-05-31  Geoff Keating  <geoffk@cygnus.com>
927
928         * config/mips/mips.h (ASM_OUTPUT_ASCII): Convert to function.
929         * config/mips/mips.c (mips_output_ascii): New function.
930         * config/mips/mips-protos.h (mips_output_ascii): Prototype.
931
932         * config/mips/mips.h (DWARF_CIE_DATA_ALIGNMENT): Force to 4.
933
934 Thu May 31 19:09:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
935
936         * flow.c (set_block_for_new_insns): Remove bogus shortcut.
937         * i386.c (ix86_expand_int_movcc): Force one of operands to be register.
938
939 2001-05-31  Rodney Brown  <rbrown64@csc.com.au>
940
941         * install.texi (Configuration): Add html links for --with-gnu-as &
942         --with-gnu-ld and refer to them from hppa & SCO triplets.
943         (Specific): Link back to with-gnu-ld for all ELF platfoms.
944         (Specific): Reword AVR binutils recommendation.
945
946 2001-05-30  Zack Weinberg  <zackw@stanford.edu>
947
948         * ggc-page.c (size_lookup): Increase minimum allocation size
949         to eight bytes.
950         (ggc_print_statistics): Report size of each bin in bytes, not
951         as its order; there is no longer a direct relationship.
952
953 2001-05-31  Jan van Male  <jan.vanmale@fenk.wau.nl>
954
955         * extend.texi: Fix formating of examples, eliminate some
956         'overfull hboxes'.
957         * gcc.texi: Eliminate some 'overfull hboxes'.
958         * invoke.texi: Use two spaces between command options, eliminate
959         some 'overfull hboxes'.
960
961 2001-05-30  Richard Henderson  <rth@redhat.com>
962
963         * dwarf2out.c (dwarf2out_finish): Don't emit DW_AT_stmt_list at -g1.
964
965 2001-05-30  Tom Tromey  <tromey@redhat.com>
966
967         * gcc.c (do_spec_1): In `%O' case, if we computed saved_suffix,
968         use it in the new association.
969
970 2001-05-30  Loren J. Rittle  <ljrittle@acm.org>
971             John David Anglin  <dave@hiauly1.hia.nrc.ca>
972
973         * gthr-posix.h (__gthread_active_ptr): Cast function pointer
974         to target type to allow ISO C++ compiler to accept it.
975         * gthr-dce.h (__gthread_active_ptr): Likewise.
976         * gthr-solaris.h (__gthread_active_ptr): Likewise.
977
978 2001-05-30  Neil Booth  <neil@daikokuya.demon.co.uk>
979
980         * cpplex.c (_cpp_lex_token): Revert patch of 16 May 2001
981         so that we do accept comments in preprocessed input.
982
983 2001-05-30  Neil Booth  <neil@daikokuya.demon.co.uk>
984
985         * cpphash.c (alloc_node): Cast allocated pointer.
986
987 2001-05-30  Gordon Sadler <gbsadler1@lcisp.com>
988
989         * invoke.texi (Option Summary): Remove -isystem-c++ from options.
990
991 2001-05-29  Stan Shebs  <shebs@apple.com>
992
993         * gcc.texi: Add links for information about Objective-C.
994
995 2001-05-29  Nathan Sidwell  <nathan@codesourcery.com>
996
997         * configure.in (gcc_version): Remove unrequired \ on ". (Solaris
998         /bin/sed fails on [^\"]).
999         (configargs.h): Likewise.
1000
1001 2001-05-29  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
1002
1003         * config/sh/sh.h (IDENT_ASM_OP): End with TAB, not LF.
1004
1005 2001-05-28  Stan Shebs  <shebs@apple.com>
1006
1007         * objc/objc.gperf: Remove, no longer used.
1008
1009 2001-05-28  Joseph S. Myers  <jsm28@cam.ac.uk>
1010
1011         * c-tree.texi, contrib.texi, cpp.texi, extend.texi, gcc.texi,
1012         gcov.texi, install.texi, md.texi, objc.texi, rtl.texi, tm.texi:
1013         Remove trailing whitespace.
1014
1015 2001-05-28  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1016
1017         * doc/install.texi (Specific): http://reality.sgi.com/ariel/freeware/
1018         became http://freeware.sgi.com/.
1019
1020 2001-05-27  Geoffrey Keating  <geoffk@redhat.com>
1021
1022         * local-alloc.c (update_equiv_regs): Don't eliminate constant
1023         expressions at -O0.
1024
1025 2001-05-27  Stan Shebs  <shebs@apple.com>
1026
1027         * objc/objc-act.c: Add/fix various comments.
1028         (init_selector): Remove, no longer used.
1029         (build_msg_pool_reference): Ditto.
1030         (objc_debug): Ditto.
1031
1032 2001-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
1033
1034         * c-decl.c (init_decl_processing):
1035          Don't call start_identifier_warnings.
1036         * flags.h (warn_id_clash, id_clash_len): Remove.
1037         * stringpool.c: Don't include flags.h.
1038         (scan_for_clashes, do_identifier_warnings,
1039         start_identifier_warnings): Remove.
1040         * toplev.c (warn_id_clash, id_clash_len): Remove.
1041         (display_help): Don't document -Wid-clash.
1042         (decode_W_option): Print warning on -Wid-clash.
1043         * tree.h (start_identifier_warnings): Remove.
1044         * invoke.texi: Remove documentation of -Wid-clash.
1045
1046 2001-05-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1047
1048         * fixinc/fixtests.c: Declare entries in ENV_TABLE.
1049
1050 2001-05-27  Bruce Korb  <bkorb@gnu.org>
1051
1052         * fixinc/check.tpl(HACK) add and use a Scheme variable
1053         (has no test text): error out if no "test_text" is defined
1054         * fixinc/fixincl.tpl: likewise
1055         (FIXIDX): make it an enumeration so we minimize diffs
1056         * fixinc/inclhack.def: re-alphabetize and add sort instructions
1057         * fixinc/fixincl.x: regenerate
1058         * fixinc/tests/base/stdio.h: test output got moved due to
1059         the alphabetizing
1060         * README-fixinc: rewrite (mostly)
1061
1062 2001-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
1063
1064         * cpplib.c (run_directive): Set pfile->directive.
1065
1066 2001-05-23  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
1067
1068         * c-tree.texi: Reformat the manual as a single chapter now
1069         included by gcc.texi.
1070         * gcc.texi: Include c-tree.texi. Merge all indexes.
1071         * Makefile.in (dvi): Add generation for the cppinternals
1072         documentation. Added dependencies on fdl.texi and c-tree.texi
1073         where appropriate.  Use TEXI2DVI instead of custom tex calls.
1074         (info): Added dependencies on fdl.texi and c-tree.texi where
1075         appropriate.  Remove the target c-tree.info.
1076
1077 2001-05-27  Lars Brinkhoff  <lars@nocrew.org>
1078
1079         * combine.c (try_combine): Fix typo in comment.
1080         * expr.c (expand_expr): Likewise.
1081         * config/i370/i370.md (untyped_call): Likewise.
1082
1083 2001-05-26  Bruce Korb  <bkorb@gnu.org>
1084
1085         * fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
1086         when fixincl is operating in test mode
1087         * fixinc/inclhack.def(AAB_dgux_int_varargs) : aesthetics
1088         (AAB_ultrix_limits): remove redundant text
1089         (AAB_ultrix_memory): ditto
1090         (AAB_ultrix_string): ditto
1091         (djgpp_wchar_h): fix the test text
1092         (irix_stdio_va_list): add test text
1093         (irix_limits_const): add a testing output file (limits.h is overwritten)
1094         (strict_ansi_not_ctd): put limits.h second in list for same reason
1095         (solaris27_mutex_init): test text needed selection text, too
1096
1097         * fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
1098         when fixincl is operating in test mode
1099
1100 2001-05-26  Philip Blundell  <philb@gnu.org>
1101
1102         * config/c4x/c4x-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
1103         * config/i960/i960-protos.h: Likewise.
1104         * config/i370/i370-protos.h: Likewise.
1105         * config/h8300/h8300-protos.h: Likewise,
1106         * config/sh/sh-protos.h: Likewise.
1107         * config/v850/v850-protos.h: Likewise.
1108
1109 2001-05-26  Philip Blundell  <philb@gnu.org>
1110
1111         * config/arm/arm-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
1112
1113 2001-05-25  Zack Weinberg  <zackw@stanford.edu>
1114
1115         * toplev.c (debug_args, f_options, W_options): Mark
1116         descriptions for translation.
1117         (display_help): Translate descriptions on output.
1118
1119         * cp/lang-options.h, f/lang-options.h, java/lang-options.h,
1120         objc/lang-options.h: Mark descriptions for translation.
1121
1122         * aclocal.m4: Quote final argument of patsubst.  Use
1123         3-argument form of AC_DEFINE.  Restore quotes to [] while
1124         using AC_FD_CC.
1125         * configure.in: Remove unnecessary changequote calls.
1126         * configure, config.in: Regenerate.
1127
1128 2001-05-25  Sam TH  <sam@uchicago.edu>
1129
1130         * basic-block.h: Fix header include guards.
1131         * bitmap.h c-dump.h c-lex.h c-pragma.h c-tree.h collect2.h
1132         cppdefault.h cpphash.h cpplib.h defaults.h diagnostic.h errors.h
1133         except.h flags.h gcc.h gcov-io.h graph.h gstab.h gthr-aix.h
1134         gthr-dce.h gthr-posix.h gthr-rtems.h gthr-single.h gthr-solaris.h
1135         gthr-vxworks.h gthr-win32.h gthr.h hard-reg-set.h hwint.h
1136         insn-addr.h libgcc2.h mbchar.h mkdeps.h params.h prefix.h real.h
1137         rtl.h sbitmap.h system.h timevar.h toplev.h tradcpp.h tsystem.h
1138         varray.h version.h: Likewise.
1139         * config/dbxelf.h config/fp-bit.h config/arm/arm-protos.h
1140         config/arm/arm.h config/c4x/c4x-protos.h
1141         config/h8300/h8300-protos.h config/h8300/h8300.h
1142         config/i370/i370-protos.h config/i370/i370.h
1143         config/i960/i960-protos.h config/mcore/mcore.h
1144         config/mips/mips-protos.h config/sh/sh-protos.h config/sh/sh.h
1145         config/v850/v850-protos.h config/v850/v850.h: Likewise.
1146         * fixinc/fixlib.h fixinc/server.h: Likewise.
1147
1148 2001-05-25  Stacey Sheldon  <ssheldon@Catena.com>
1149
1150         * config/arc/initfini.c (.init): Fix typo.
1151
1152 2001-05-25  Geoffrey Keating  <geoffk@redhat.com>
1153
1154         * config/rs6000/rs6000.md (fseldfsf4): Correct mode of operand 4.
1155
1156 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1157
1158         * i386/i386.h (CC1_CPU_SPEC): Clarify -m486 etc deprecation messages.
1159
1160 2001-05-25  Richard Henderson  <rth@redhat.com>
1161
1162         * libgcc-std.ver: Export XFmode and TFmode versions of symbols.
1163
1164 2001-05-25  Richard Henderson  <rth@redhat.com>
1165
1166         * config.gcc (all gnu and linux): Use t-slibgcc-elf-ver with t-linux.
1167         (i386-*-solaris2): Use t-slibgcc-elf-ver or t-slibgcc-sld.
1168         (sparc*-*-solaris2): Likewise.
1169         * config/t-linux: Remove shared libgcc macros.
1170         * config/t-slibgcc-elf-ver: Move from sparc/t-slibgcc.
1171         * config/t-slibgcc-sld: Move from sparc/t-slibgcc-sld.
1172
1173 2001-05-25  Loren J. Rittle  <ljrittle@acm.org>
1174
1175         * config.gcc (*-*-freebsd*): Report bad configuration.
1176
1177 2001-05-25  David Edelsohn  <edelsohn@gnu.org>
1178
1179         * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Do not emit any marker.
1180
1181         * config/rs6000/aix.h (USER_LABEL_PREFIX): AIX symbols do not have
1182         any prefix.
1183         (ASM_OUTPUT_LABELREF): Delete.
1184
1185 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1186
1187         * fixinc/inclhack.def (strict_ansi_not, strict_ansi_not_ctd,
1188         strict_ansi_only): Don't run if stdc_0_in_system_headers.
1189         * fixinc/fixincl.x: Regenerate.
1190         * fixinc/fixtests.c (stdc_0_in_system_headers_test): New function.
1191         (FIX_TEST_TABLE): Declare it.
1192         * fixinc/fixlib.h: Include config.h.
1193
1194 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1195
1196         * fixinc/inclhack.def (alpha___assert): Change char * args to
1197         const char * on Tru64 UNIX to avoid excessive warnings from
1198         assert.h.
1199         * fixinc/fixincl.x: Regenerate.
1200
1201 2001-05-25  Geoff Keating  <geoffk@redhat.com>
1202
1203         * dbxout.c (dbxout_symbol): Invert previous patch, which was
1204         outputting a tag only for variable-size records.
1205
1206 2001-05-25  Jeff Knaggs  <jknaggs@redhat.com>
1207
1208         * config/alpha/alpha.md (movtf_internal): Use reg_overlap_mentioned_p
1209         instead of rtx_equal_p for early clobber test.
1210
1211 2001-05-26  Mark Mitchell <mark@codesourcery.com>
1212
1213         * builtins.def: Encode additional information, such as names and
1214         types, here.
1215         * builtin-types.def: New file.
1216         * builtins.c (built_in_names): Adjust use of DEF_BUILTIN.
1217         (built_in_decls): Likewise.  Don't explicitly initialize global
1218         data to NULL.
1219         (expand_builtin_mathfn): Handle float and long double variants of
1220         math builtins.
1221         (expand_builtin): Likewise.
1222         * c-common.c (c_common_nodes_and_builtins): Make it table-driven.
1223         (expand_tree_builtin): Handle long, long long, float, and long
1224         double variants of math functions.
1225         * c-common.h (c_tree_index): Remove some unused nodes.
1226         (void_ftype): Remove.
1227         (void_type_ptr): Likewise.
1228         (int_ftype_int): Likewise.
1229         (ptr_ftype_sizetype): Likewise.
1230         * c-decl.c (init_decl_processing): Remove creation of DWARF
1231         builtins.
1232         * defaults.h (MD_INIT_BUILTINS): Provide default definition.
1233         * tree.h (built_in_function): Adjust definition of DEF_BUILTIN.
1234         * Makefile.in (c-common.o): Depend on builtin-types.def.
1235
1236 2001-05-25  Dale Johannesen  <dalej@apple.com>
1237
1238         * config/rs6000/t-darwin: Fix dependencies for darwin.o.
1239
1240 2001-05-25  Neil Booth  <neil@daikokuya.demon.co.uk>
1241
1242         * c-parse.in (notype_initdcl): Remove redundant line.
1243
1244 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1245
1246         * aclocal.m4: Fixed typo.
1247         (gcc_AC_HEADER_STDBOOL): Define.
1248         (gcc_AC_C__BOOL): Define.
1249         * configure.in: Use them.
1250         (AC_CHECK_HEADERS): Remove stdbool.h
1251         * configure, config.in: Regenerate.
1252
1253 2001-05-25  Richard Henderson  <rth@redhat.com>
1254
1255         * function.c (expand_function_start): Don't abort on PARALLEL
1256         returns from hard_function_value.
1257
1258 2001-05-25  Richard Henderson  <rth@redhat.com>
1259
1260         * config/i386/i386.md: Revert previous change.  Do not apply
1261         the peephole if the components do not die after the sequence.
1262
1263 2001-05-25  Joseph S. Myers  <jsm28@cam.ac.uk>
1264
1265         * c-parse.in (array_declarator): New.  Handle C99 constructs.
1266         Don't restrict [*] declarators to C only.
1267         (after_type_declarator, parm_declarator_starttypename,
1268         parm_declarator_nostarttypename, notype_declarator,
1269         direct_absdcl1): Use it.
1270         * c-decl.c (build_array_declarator, set_array_declarator_type):
1271         New functions.  Warn that [*] isn't properly implemented; pedwarn
1272         for [*] outside C99 mode if pedantic rather than giving a hard
1273         error.
1274         (grokdeclarator): Handle static and type qualifiers in parameter
1275         array declarators.
1276         * c-tree.h (build_array_declarator, set_array_declarator_type):
1277         Declare.
1278         * extend.texi (Attribute Syntax): Document attributes in parameter
1279         array declarators.
1280
1281 2001-05-25  Mark Mitchell  <mark@codesourcery.com>
1282
1283         * config/i386/i386.md: Make sure cmpstr peepholes do not
1284         affect liveness information.
1285
1286 2001-05-24  Mark Mitchell  <mark@codesourcery.com>
1287
1288         * c-typeck.c (digest_init): Issue error messages about
1289         invalid constants, not warnings.
1290
1291 2001-05-24  Mark Mitchell  <mark@codesourcery.com>
1292
1293         * invoke.texi (-fno-builtin): Document that this is always on
1294         in C++.
1295
1296 2001-05-24  Philip Blundell  <philb@gnu.org>
1297
1298         * doc/install.texi (arm*-*-linux-gnu): Say that binutils 2.10 is
1299         required.
1300
1301 2001-05-24  Philip Blundell  <philb@gnu.org>
1302
1303         * config/arm/arm.c (output_return_instruction): Correctly handle
1304         interworking and interrupt functions.
1305
1306 2001-05-24  Philip Blundell  <philb@gnu.org>
1307
1308         * config/arm/arm.h (TARGET_SWITCHES): Correct misleading help for
1309         -m{no-}sched-prolog.  Fix typos and improve formatting.
1310
1311 2001-05-24  Philip Blundell  <philb@gnu.org>
1312
1313         * invoke.texi (ARM Options): Improve wording slightly.  Add
1314         documentation for more options, including those for Thumb mode.
1315         Don't mention options that don't exist or are unimplemented.
1316         (Thumb Options): Delete; merged into above section.
1317
1318 2001-05-24  Geoff Keating  <geoffk@redhat.com>
1319
1320         * config/rs6000/linux.h (SIGNAL_FRAMESIZE): Define.
1321         (MD_FALLBACK_FRAME_STATE_FOR): Use it.
1322
1323 Thu May 24 19:47:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
1324
1325         * simplify-rtx.c (simplify_subreg): Fix CONCAT simplification;
1326         fix hard register simplification.
1327
1328 Thu May 24 00:15:17 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1329
1330         * sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Add all of CPP_SPEC instead
1331         of just copying CPP_CPU_SPEC.
1332
1333 Thu May 24 15:56:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
1334
1335         * i386.c (incdec_operand): Accept only 1 and -1.
1336
1337 2001-05-23  Kelley Cook  <kelley.cook@home.com>
1338
1339         * Makefile.in: Move many of the *_H definitions eariler in the
1340         file, so that rules in t-* files that use them for
1341         dependencies will work in a parallel build.
1342         * config/i386/t-cygwin (winnt.o): Depend on $(CONFIG_H).
1343
1344 2001-05-23  Richard Henderson <rth@redhat.com>
1345
1346         * integrate.c (expand_inline_function): Handle CONCAT DECL_RESULT.
1347
1348 2001-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
1349
1350         * cpp.texi: Update for handling of charconsts.
1351         * cpplex.c (maybe_read_ucs): Don't accept D800-DFFF.  Update
1352         diagnostics.  Skip to the end if the UCS is too short.
1353         (cpp_interpret_charconst): Long charconsts issue a warning
1354         not an error.
1355
1356 2001-05-23  Richard Henderson  <rth@redhat.com>
1357
1358         * doc/install.texi (alpha-linux): Require binutils 2.11.
1359
1360 2001-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
1361
1362         * c-lex.c (read_escape, read_ucs): Delete.
1363         (lex_string): Use cpp_parse_escape.
1364         * cpplex.c (read_ucs): Rename maybe_read_ucs.  Do nothing
1365         if not C++ or not C99.  Warn if traditional.
1366         (parse_escape): Rename cpp_parse_escape.  Make the bitmask
1367         unsigned.  Warn for out-of-range escape sequences here.
1368         Update to use maybe_read_ucs.
1369         (cpp_interpret_charconst):  Don't warn here.
1370         * cpplib.h (cpp_parse_escape): New exported function.
1371
1372 2001-05-23  Joseph S. Myers  <jsm28@cam.ac.uk>
1373
1374         * extend.texi (Attribute Syntax): Clarify application of
1375         attributes to parameters declared as functions or arrays.
1376
1377 2001-05-23  Jason Merrill  <jason_merrill@redhat.com>
1378
1379         * dbxout.c (dbxout_type_methods): Do still group methods by name.
1380
1381 2001-05-23  Zack Weinberg  <zackw@stanford.edu>
1382
1383         * diagnostic.c (vnotice): Kill.
1384         (fnotice): Call vfprintf directly.
1385         (diagnostic_for_decl, output_do_verbatim, output_verbatim,
1386         verbatim, set_diagnostic_context): Rename string argument to
1387         indicate that it is run through gettext.
1388         (vbuild_message_string, build_message_string, output_do_printf):
1389         Rename string argument to indicate that it is NOT run through
1390         gettext.
1391         (output_printf, diagnostic_for_decl, fatal_io_error, sorry,
1392         output_do_verbatim, set_diagnostic_context, fnotice, _fatal_insn):
1393         Run msgid argument through gettext.
1394         (default_print_error_function): Run constant strings through
1395         gettext when nothing else will.
1396         (fatal_error, internal_error, error_recursion): Use fnotice.
1397         Present complete sentences to gettext.
1398
1399 2001-05-23  Mark Mitchell  <mark@codesourcery.com>
1400
1401         * jump.c (mark_jump_label): Fix thinko in 2001-05-19 change.
1402
1403 2001-05-23  Richard Henderson  <rth@redhat.com>
1404
1405         * function.c (expand_function_start): Always use a pseudo
1406         for the function result value.
1407
1408 2001-05-22  Richard Henderson  <rth@redhat.com>
1409
1410         * config/mips/iris6.h (EH_FRAME_SECTION_ASM_OP): Give the
1411         section pointer alignment.
1412
1413         * doc/install.texi (alpha-linux): Require binutils >= 2.10.
1414
1415         * unwind-dw2-fde.c (__deregister_frame_info): Stringize use
1416         of __USER_LABEL_PREFIX__.
1417
1418 2001-05-22  Richard Henderson  <rth@redhat.com>
1419
1420         * unwind-dw2-fde.c (__deregister_frame_info): Stubbify in favour of...
1421         (__deregister_frame_info_bases): New.
1422         * unwind-dw2-fde.h: Declare it.
1423         * libgcc-std.ver: Export it.
1424         * crtstuff.c (__do_global_dtors_aux): Call it if we would have
1425         called __register_frame_info_bases.
1426
1427 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
1428
1429         * config/freebsd.h (FBSD_CPP_PREDEFINES): Use #endif/#if pair
1430         instead of #elif (which is OK for this case but not in general).
1431
1432 2001-05-22  Andrew MacLeod  <amacleod@redhat.com>
1433
1434         * builtins.c (expand_builtin_longjmp): A longjmp can be a call too.
1435         * config/ia64/ia64.md (nonlocal_goto): Reverse label and frame pointer
1436         parameters to __ia64_nonlocal_goto. Flag as NO_RETURN.
1437         * config/ia64/ia64.c (ia64_expand_epilogue): Make sure we are issuing
1438         "r2" to the assembly file. Only issue allocs with non-zero parameters.
1439
1440 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
1441             David O'Brien  <obrien@freebsd.org>
1442
1443         * config/freebsd.h (LIB_SPEC): Key the exact setting to
1444         configure-time options and target version of FreeBSD.  Set-up
1445         to match architectural change in threading support.  Correctly
1446         report when -pthread option is not supported by configure-time
1447         options.
1448         (FBSD_CPP_PREDEFINES): Move from architecture-specific files
1449         and extend to encode target version number in run-time setting
1450         of __FreeBSD__ macro to match the system compiler.
1451         (CPP_PREDEFINES): Likewise.
1452         (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
1453
1454         * config/alpha/freebsd.h (CPP_PREDEFINES): Moved to common freebsd.h.
1455         * config/i386/freebsd.h (CPP_PREDEFINES): Likewise.
1456
1457 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
1458             David O'Brien  <obrien@freebsd.org>
1459
1460         * config.gcc (the unlabeled system switch statement): Add
1461         generic configuration section to handle *-*-freebsd*.  Also,
1462         to match the system compiler, default to threading support (it
1463         may be disabled with the standard --disable-threads
1464         configuration-time switch).
1465         (i[34567]86-*-freebsd* in machine-specific section): Use it.
1466         (alpha*-*-freebsd* in machine-specific section): Likewise.
1467
1468         * config/freebsd3.h: New file to expose FBSD_MAJOR macro (3).
1469         * config/freebsd4.h: New file to expose FBSD_MAJOR macro (4).
1470         * config/freebsd5.h: New file to expose FBSD_MAJOR macro (5).
1471         * config/freebsd6.h: New file to expose FBSD_MAJOR macro (6).
1472         * config/freebsd-nthr.h: New file to expose FBSD_NO_THREADS macro.
1473
1474 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
1475             David O'Brien  <obrien@freebsd.org>
1476
1477         * config/t-freebsd (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
1478         * config/t-freebsd-thread (TARGET_LIBGCC2_CFLAGS): Add
1479         -pthread instead setting macro.
1480
1481 2001-05-22  Richard Henderson  <rth@redhat.com>
1482
1483         * crtstuff.c (__register_frame_info_bases): Declare.
1484         (frame_dummy): Use it, if CRT_GET_RFIB_TEXT or CRT_GET_RFIB_DATA.
1485         (__do_global_dtors_aux, __do_global_dtors): Streamline.
1486
1487         * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
1488         (CRT_GET_RFIB_DATA): New.
1489         * config/i386/sysv4.h: Likewise.
1490         * config/i386/sco5.h: Likewise.
1491         (ASM_PREFERRED_EH_DATA_FORMAT): New.
1492
1493 2001-05-22  Richard Henderson  <rth@redhat.com>
1494
1495         * rtl.c (read_string): Break out from ...
1496         (read_rtx): ... here.
1497
1498 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1499
1500         * doc/install.texi (Specific): Remove a bogus and duplicate part
1501         copied from the end of the document.
1502
1503 2001-05-22  Bernd Schmidt  <bernds@redhat.com>
1504
1505         * Makefile.in (LIBGCC_DEPS): Correct LIB1ASMSRC dependency.
1506
1507 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1508
1509         * install.texi: Remove obsolete information on SunOS as well as
1510         i386-sun-sunos4, i860-intel-osf1, and powerpcle-*-solaris2*.
1511         (Installing GNU CC on the Sun): Remove section.
1512
1513 2001-05-22  Alexandre Oliva  <aoliva@redhat.com>
1514
1515         * cppfiles.c (remove_component_p): Don't assume lstat/stat will
1516         keep errno unchanged on success.
1517
1518 2001-05-22  Joseph S. Myers  <jsm28@cam.ac.uk>
1519
1520         * c-lex.c (lex_number): If pedantic and not C99, pedwarn exactly
1521         once for hexadecimal floats, whether or not they contain a decimal
1522         point.  Don't let the setting of pedantic otherwise affect the
1523         parsing of hexadecimal floats.
1524
1525 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1526
1527         * README.ACORN: Remove obsolete file.
1528
1529 2001-05-22  Jan Hubicka  <jh@suse.cz>
1530
1531         * combine.c (gen_binary): Use swap_commutative_operands_p
1532         (simplify_comparison): Likewise.
1533         * expmed.c (emit_store_flag): Likewise.
1534         * expr.c (compare_from_rtx): Likewise.
1535         (do_compare_rtx_and_jump): Likewise.
1536         * optabs.c (emit_cmp_and_jump_insn): Revert last patch; abort
1537         if not emitting a branch and operands want swapping.
1538
1539 2001-05-22  Neil Booth  <neil@daikokuya.demon.co.uk>
1540
1541         * c-lex.c (c_lex): Just cast cpp's hashnode to gcc's one.
1542         * stringpool.c: (IS_FE_IDENT, make_identifier): Delete.
1543         (maybe_get_identifier): Update.
1544         * tree.h (make_identifier): Delete.
1545
1546 2001-05-21  Richard Henderson  <rth@redhat.com>
1547
1548         * combine.c (subst): Do not substitute for a register as
1549         a destination subreg/strict_low_part/zero_extract.
1550
1551         * combine.c (simplify_comparison): Update op1 after constant
1552         extension.
1553         * recog.c (const_int_operand): Accept only constants valid
1554         for the given mode.
1555         * genrecog.c: Update comments wrt const_int_operand.
1556
1557         * emit-rtl.c (init_emit_once): Zero unused memory in a
1558         CONST_DOUBLE.
1559
1560 2001-05-21  Mark Mitchell  <mark@codesourcery.com>
1561
1562         * tree.h (type_num_arguments): Declare it.
1563         * tree.c (type_num_arguments): New function.
1564
1565 2001-05-21  Richard Henderson  <rth@redhat.com>
1566
1567         * dwarf2out.c (current_funcdef_number): Move outside dwarf2
1568         conditional ifdef.
1569
1570 2001-05-21  Geoff Keating  <geoffk@redhat.com>
1571
1572         * config/rs6000/rs6000.md (maxsf3): Use rs6000_emit_minmax.
1573         (maxsf3+1): Delete.
1574         (minsf3): Use rs6000_emit_minmax.
1575         (minsf3+1): Generalize to handle both SMIN and SMAX.  Use
1576         rs6000_emit_minmax.
1577         (movsfcc): Use rs6000_emit_cmove.
1578         (fselsfsf4): Don't compare a CONST_INT with a floating-point value.
1579         Don't generate emit_fselsfsf4.
1580         (fseldfsf4): Likewise.
1581         (maxdf3): Use rs6000_emit_minmax.
1582         (maxdf3+1): Delete.
1583         (mindf3): Use rs6000_emit_minmax.
1584         (mindf3+1): Generalize to handle both SMIN and SMAX.  Use
1585         rs6000_emit_minmax.
1586         (movdfcc): Use rs6000_emit_cmove.
1587         (fseldfdf4): Don't compare a CONST_INT with a floating-point value.
1588         Don't generate emit_fselsfsf4.
1589         (fselsfdf4): Likewise.
1590         * config/rs6000/rs6000.c (zero_fp_constant): New predicate.
1591         (min_max_operator): New predicate.
1592         (rs6000_emit_cmove): New function.
1593         (rs6000_emit_minmax): New function.
1594         * config/rs6000/rs6000-protos.h: Prototype new functions.
1595         * config/rs6000/rs6000.h (PREDICATE_CODES): Add zero_fp_constant
1596         and min_max_operator.
1597
1598         * config/rs6000/rs6000.c (output_cbranch): Handle all
1599         conditional types in the switch statement.
1600
1601 2001-05-21  Mark Mitchell  <mark@codesourcery.com>
1602
1603         * c-decl.c (finish_decl): Don't set DECL_C_HARD_REGISTER for
1604         non-register variables.
1605         * extend.texi: Document that asm-specifications do not make sense
1606         for non-static local variables.
1607
1608 2001-05-21  Jason Merrill  <jason_merrill@redhat.com>
1609
1610         * dbxout.c (MINIMAL_DEBUG, flag_minimal_debug): Lose.
1611         (dbxout_type_fields): Lose minimal_debug support.
1612         (dbxout_type_methods, dbxout_type): Likewise.
1613
1614 2001-05-17  Andrew Haley  <aph@redhat.com>
1615
1616         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
1617
1618 2001-05-21  Richard Henderson  <rth@redhat.com>
1619
1620         * dwarf2out.c (DEBUG_FRAME_SECTION): Rename from FRAME_SECTION.
1621         Update all users.
1622
1623 2001-05-20  Richard Henderson  <rth@redhat.com>
1624
1625         * dwarf2out.c (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
1626         DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_PUBNAMES_SECTION,
1627         DEBUG_STR_SECTION): Rename from s/DEBUG_//.  Update all users.
1628         * dwarfout.c (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
1629         DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION):
1630         Likewise.
1631         * config/mips/iris6.h (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
1632         DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION,
1633         DEBUG_FRAME_SECTION, DEBUG_ABBREV_SECTION): Rename as above.
1634         (DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
1635         * config/ia64/ia64.h (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
1636         DEBUG_PUBNAMES_SECTION): Rename as above.
1637         (DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
1638
1639 2001-05-20  Richard Henderson  <rth@redhat.com>
1640
1641         * optabs.c (emit_cmp_and_jump_insns): Don't swap commutative
1642         operands unless the operation is commutative.
1643
1644 2001-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1645
1646         * fold-const.c (tree_expr_nonnegative_p): Detect more non-negative
1647         cases.
1648
1649 2001-05-21  Joseph S. Myers  <jsm28@cam.ac.uk>
1650
1651         * extend.texi: Clarify documentation of extensions included in ISO
1652         C99.  Prefer C99 terminology and syntax to old GNU terminology and
1653         syntax.  Add more index entries.  Document mixed declarations and
1654         code as an extension in C89 mode.  Warn about future changes to
1655         semantics of inline functions.  Fixes PR other/930.
1656
1657 Sun May 20 16:39:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1658
1659         * expr.c (expand_expr, case ARRAY_REF): Don't fold constant
1660         access if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
1661         (expand_expr, case COMPONENT_REF): Do copy if misaligned even
1662         if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
1663
1664         * stmt.c (expand_decl): Set mode, alignment, and sizes for CONST_DECL.
1665
1666 2001-05-20  Richard Henderson  <rth@redhat.com>
1667
1668         * sched-deps.c (sched_analyze_insn): Force volatile memory reads
1669         to be output before a branch.
1670
1671 2001-05-20  Richard Henderson  <rth@redhat.com>
1672
1673         * Makefile.in (dwarf2asm.o): Depend on $(TREE_H).
1674
1675 2001-05-20  Richard Henderson  <rth@redhat.com>
1676
1677         * config/i386/att.h (ASM_SHORT, ASM_LONG): Add trailing \t.
1678         (ASM_DOUBLE): Remove.
1679         * config/i386/bsd.h, config/i386/sco5.h: Likewise.
1680         * config/i386/sun386.h: Likewise.
1681
1682         * config/i386/i386.h (UNALIGNED_SHORT_ASM_OP): New.
1683         (UNALIGNED_INT_ASM_OP, INT_ASM_OP): New.
1684
1685         * config/i386/cygwin.h (INT_ASM_OP): Remove.
1686         * config/i386/freebsd-aout.h, config/i386/i386-aout.h: Likewise.
1687         * config/i386/i386-coff.h, config/i386/i386-interix.h: Likewise.
1688         * config/i386/netbsd.h, config/i386/openbsd.h: Likewise.
1689
1690         * config/i386/cygwin.h: Adjust uses of ASM_LONG for trailing \t.
1691         * config/i386/djgpp.h, config/i386/i386.h: Likewise.
1692         * config/i386/i386elf.h, config/i386/ptx4-i.h: Likewise.
1693         * config/i386/sco5.h, config/i386/svr3gas.h: Likewise.
1694         * config/i386/sysv4.h, config/i386/vsta.h: Likewise.
1695         * config/i386/win32.h: Likewise.
1696
1697 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
1698
1699         * invoke.texi: Add more options to summary list.
1700
1701 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
1702
1703         * invoke.texi: Document meaning of -pedantic when -std=gnu* is
1704         used.  Fixes PR c/2291.
1705         * gcc.1: Regenerate.
1706
1707 2001-05-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1708
1709         * config/m68hc11/m68hc11.c (m68hc11_override_options): Ignore
1710         the -fpic and -fPIC options, clear flag_pic.
1711
1712 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
1713
1714         * hashtable.c (calc_hash): Fix HASHSTEP definition.
1715         * stringpool.c (make_identifier): No statistics here anymore.
1716         * objc-act.c (steup_string_decl): Remove redundant check.
1717
1718 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
1719
1720         * Makefile.in (OBJS, LIBCPP_OBJS, LIBCPP_DEPS,
1721         cpplib.o, cpphash.o, fix-header): Update.
1722         (hashtable.o): New target.
1723         * c-common.h: Include cpplib.h.  Define C_RID_CODE and
1724         struct c_common_identifier here.
1725         * c-lang.c (c_init_options): Update.  Call set_identifier_size.
1726         * c-lex.c (c_lex): Update.
1727         * c-pragma.h: Update.
1728         * c-tree.h (struct lang_identifier): Contain c_common_identifier.
1729         Delete rid_code.
1730         (C_RID_CODE): Delete.
1731         * cpphash.c: Rewrite to use hashtable.c.
1732         * cpphash.h: Update include guards.
1733         (struct cpp_reader): Remove hashtab.
1734         hash_ob and buffer_ob are no longer pointers.  Add hash_table
1735         and our_hashtable.
1736         (HASHSTEP, _cpp_init_hashtable, _cpp_lookup_with_hash): Delete.
1737         (_cpp_cleanup_hashtable): Rename _cpp_destroy_hashtable.
1738         (_cpp_cleanup_stacks): Rename _cpp_init_directives.
1739         * cppinit.c (cpp_create_reader): Update.
1740         * cpplex.c (cpp_ideq, parse_identifier, cpp_output_token): Update.
1741         (cpp_interpret_charconst): Eliminate warning.
1742         * cpplib.c (do_pragma, do_endif, push_conditional,
1743         cpp_push_buffer, cpp_pop_buffer): Update.
1744         (_cpp_init_stacks): Rename cpp_init_directives.
1745         (_cpp_cleanup_stacks): Remove.
1746         * cpplib.h: Update include guards.  Include tree-core.h and c-rid.h.
1747         (cpp_hashnode, cpp_token, NODE_LEN, NODE_NAME,
1748          cpp_forall_identifiers, cpp_create_reader): Update.
1749         (C_RID_CODE, cpp_make_node): New.
1750         (c_common_identifier): New identifier node for C front ends.
1751         * cppmain.c (main): Update.
1752         * fix-header.c (read_scan_file): Update.
1753         * flags.h (id_clash_len): Make unsigned.
1754         * ggc.h (ggc_mark_nonnull_tree): New.
1755         * hashtable.c: New.
1756         * hashtable.h: New.
1757         * stringpool.c: Update comments and copyright.  Update to use
1758         hashtable.c.
1759         * toplev.c (approx_sqrt): Move to hashtable.c.
1760         (id_clash_len): Make unsigned.
1761         * toplev.h (ident_hash): New.
1762         * tree.c (gcc_obstack_init): Move to hashtable.c.
1763         * tree.h: Include hashtable.h.
1764         (IDENTIFIER_POINTER, IDENTIFIER_LENGTH): Update.
1765         (GCC_IDENT_TO_HT_IDENT, HT_IDENT_TO_GCC_IDENT): New.
1766         (struct tree_identifier): Update.
1767         (make_identifier): New.
1768 cp:
1769         * cp-tree.h (struct lang_identifier, C_RID_YYCODE): Update.
1770         (C_RID_CODE): Remove.
1771         * lex.c (cxx_init_options): Call set_identifier_size.  Update.
1772         (init_parse): Don't do it here.
1773 objc:
1774         * objc-act.c (objc_init_options): Call set_identifier_size. Update.
1775
1776 Sat May 19 18:23:04 2001  Richard Henderson <rth@redhat.com>
1777
1778         * except.c (dw2_build_landing_pads): Use word_mode, not Pmode,
1779         as ncessary.
1780         (expand_eh_return): Convert between word_mode and Pmode.
1781         * unwind-dw2.c (extract_cie_info): Do not assume words and pointers
1782         are the same size.
1783         (execute_stack_op): Likewise.
1784         (execute_cfa_program): Likewise.
1785         (uw_frame_state_for): Likewise.
1786         (uw_update_context_1): Likewise.
1787         * unwind.inc (_Unwind_Reason_Code): Likewise.
1788         * config/mips/mips.h (EH_RETURN_DATA_REGNO): Define.
1789         (EH_RETURN_STACKADJ_RTX): Likewise.
1790         * config/mips/mips.c (compute_frame_size): Make space for saving
1791         EH return registers.
1792         (mips_expand_epilogue): Handle EH stack adjustments.
1793         * config/mips/mips.md (eh_return): New pattern.
1794         (eh_set_lr_si): Likewise.
1795         (eh_set_lr_di): Likewise.
1796         Add splitter to perform EH return after reload.
1797
1798 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
1799
1800         * jump.c (mark_jump_label): Tidy previous change.
1801
1802 2001-05-19  Bruce Korb  <bkorb@gnu.org>
1803
1804         * fixinc/genfixes: no need for two warnings
1805         * fixinc/Makefile.in: open stdin for those building with a closed one.
1806
1807 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
1808
1809         * jump.c (jump_optimize_1): Tidy.
1810         (mark_jump_label): When changing the label in a LABEL_REF, change
1811         update any REG_EQUAL notes as well.
1812
1813 2001-05-19  Joseph S. Myers  <jsm28@cam.ac.uk>
1814
1815         * c-parse.in (parm_declarator): Split into
1816         parm_declarator_starttypename and parm_declarator_nostarttypename.
1817         (parm_declarator_starttypename, parm_declarator_nostarttypename):
1818         New.  Allow parenthesised sub-declarators which don't begin with a
1819         TYPENAME.  Fixes PR c/166.
1820
1821 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
1822
1823         * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): New
1824         macro.
1825         * tm.texi (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
1826         Document it.
1827         * toplev.c (main): If the target does not allow profiling without
1828         a frame pointer, issue an error message.
1829         * config/i386/linux.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
1830         Define it to false.
1831
1832 Sat May 19 07:53:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1833
1834         * recog.c (general_operand): Modify last change to allow it if reload
1835         has completed.
1836
1837 Sat May 19 10:23:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
1838
1839         * recog.c (general_operand): Prohibit nonzero subreg bytes on
1840         subregs containing mem.
1841
1842 Sat May 19 09:40:45 2001  Denis Chertykov  <denisc@overta.ru>
1843
1844         * regrename.c (regrename_optimize): frame pointer register can
1845         use a few hardregs.
1846
1847 2001-05-18  Jason Merrill  <jason_merrill@redhat.com>
1848
1849         * README.DWARF: Move into dwarfout.c.
1850
1851 2001-05-18  Dale Johannesen  <dalej@apple.com>
1852
1853         * config/rs6000/rs6000.c (secondary_reload_class): Fix Darwin
1854         specific misuse of r0 as a reload address.
1855
1856 Fri May 18 22:42:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
1857
1858         * combine.c (combine_simplify_rtx): Clear op0_mode if simplification
1859         suceeded.
1860
1861 Fri May 18 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1862
1863         * genrecog.c (enum decision_type): Add DT_elt_zero-wide_safe.
1864         (add_to_sequence): Make that decision type.
1865         (maybe_both_true_2, nodes_identical_1, factor_tests): Use it.
1866         (write_switch, write_cond, debug_decision_2): Likewise.
1867
1868         * dbxout.c (dbxout_type): Use host_integerp and fix typo in testing
1869         for INTEGER_TYPE.
1870         (dbxout_symbol, case TYPE_DECL): Don't generate tag for records of
1871         variable size.
1872
1873 2001-05-18  Stan Shebs  <shebs@apple.com>
1874
1875         * configure.in (gcc_cv_as_eh_frame): Cope with old assemblers.
1876         * configure: Regenerate.
1877
1878 2001-05-18  Per Bothner  <per@bothner.com>
1879
1880         Changes needed for java/jvspec.c
1881         * gcc.h (n_infiles, outfiles):  Add declarations.
1882         * gcc.c (n_infiles, outfiles):  Mske no longer static.
1883
1884 Fri May 18 10:14:42 2001  Jeffrey A Law  (law@cygnus.com)
1885
1886         * config/pa/som.h (EXCEPTION_SECTION): Define.
1887
1888 2001-05-18  Daniel Berlin  <dan@cgsoftware.com>
1889
1890         * dwarf2out.c: Add dw_loc_list_ref, a reference to a location
1891         list.
1892         Add have_location_lists, a variable to determine whether we need a
1893         .debug_loc section or not.
1894         (enum dw_val_class): Add dw_val_class_loc_list.
1895         (dw_val_struct): Add val_loc_list.
1896         (dw_loc_list_struct): New structure, represents location lists.
1897         (new_loc_list): New function, return a new location list, given
1898         the range and location expression.
1899         (add_loc_descr_to_loc_list): New function, add a location
1900         expression to a location list, given the expression and range.
1901         (output_loc_list): New function, output a location list.
1902         (gen_internal_sym): Modified to take symbol prefix, so we can
1903         reuse it for location list symbols.
1904         (add_AT_loc_list): New function, add a location list to a DIE at
1905         the named attribute.
1906         (AT_loc_list): New function, return the location list reference
1907         for a given attribute, if it's a location list.
1908         (print_die): Handle dw_val_class_loc_list.
1909         (size_of_die): Ditto.
1910         (value_format): Ditto.
1911         (output_die): Ditto.
1912         (output_location_lists): New function, output all of the location
1913         lists for a DIE and it's children.
1914         (dwarf2out_finish): Call output_location_lists if we have location
1915         lists.
1916
1917
1918 Fri May 18 15:39:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
1919
1920         * gcse.c (try_replace_reg): First try global replace, later try to
1921         simplify the expression.
1922
1923         * gcse.c (find_used_regs): Change calling convention; work via
1924         note_uses.
1925         (cprop_insn): Update call of find_used_regs; work for CALL_INSNs too.
1926
1927 2001-05-18  Bernd Schmidt  <bernds@redhat.com>
1928
1929         Revert
1930         2001-02-09  Nick Clifton  <nickc@redhat.com>
1931         * config/arm/arm.md: Change output constraint on post inc
1932         load/store multiple patterns to be a read/write constraint.
1933
1934 2001-05-18  Mark Mitchell  <mark@codesourcery.com>
1935
1936         * basic-block.h (struct basic_block_def): Add documentation about
1937         what a basic block is, and what the various fields are used for.
1938         * flow.c (calculate_globlal_regs_live): Add documentation about
1939         how the algorithm works, and how we know that it will terminate.
1940         Check that the the inductive assumption that guarantees
1941         termination actually holds.
1942         (mark_used_regs): Treat conditionally set registers as used.
1943         (debug_regset): Add comment.
1944         * rtl.texi (cond_exec): Add documentation.
1945
1946         * function.c (expand_function_start): Avoid creating BLKmode
1947         pseudos.
1948
1949 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
1950
1951         * dwarf2out.c (output_comp_unit): Always output a compilation-unit
1952         DIE, even if it has no children.
1953         (dwarf2out_finish): Always output the line-number table, even if
1954         it has no content.
1955
1956 2001-05-18  David Edelsohn  <edelsohn@gnu.org>
1957
1958         * rs6000.md (movsfcc,movdfcc): Remove NE case.
1959
1960 2001-05-17  Bruce Korb <bkorb@gnu.org>
1961
1962         * fixinc/fixincl.tpl: rewritten as an AutoGen version 5 template
1963         * fixinc/genfixes: emit a warning if AutoGen is out of date
1964
1965 2001-05-17  Brendan Conoboy <blc@cygnus.com>
1966             Bruce Korb <bkorb@gnu.org>
1967
1968         * fixinc/fixincl.sh(FIXINC): accept local directory if fixincl not
1969         found in fixinc directory.  Facilitates binary distributions.
1970
1971 2001-05-17  Jeffrey Oldham  <oldham@codesourcery.com>
1972
1973         * dbxout.c (dbxout_symbol_location): For CONCAT, skip types not
1974         COMPLEX_TYPE.
1975
1976 Thu May 17 19:42:39 2001  Mark Kettenis  <kettenis@wins.uva.nl>
1977
1978         * dwarf2out.c (modified_type_die): Equate qualified type to die.
1979
1980 Thu May 17 23:19:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
1981
1982         * integrate.c (copy_rtx_and_substitute): Use simplify_gen_subreg.
1983         (simplify_subreg): Handle complex types represented as CONCAT.
1984
1985         * recog.c (validate_replace_rtx_1): Properly canonicalize expression
1986         * rtl.h (swap_commutative_operands_p): Declare.
1987         * rtlanal.c (swap_commutative_operands_p): New.
1988         (operand_preference): New static function.
1989
1990         * combine.c (combine_simplify_rtx): Use swap_commutative_operands_p.
1991         (gen_binary): Likewise.
1992         * optabs.c (emit_cmp_and_jump_insns, emit_conditional_move): Likewise.
1993         * simplify-rtx.c (simplify_gen_binary,
1994         simplify_gen_relational): Likewise.
1995
1996 Thu May 17 20:43:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
1997
1998         * cse.c (fold_rtx): Use simplify_subreg.
1999
2000         * simplify-rtx.c (simplify_replace_rtx): Use simplify_gen_subreg.
2001         (simplify_gen_subreg): New.
2002         (simplify_rtx): Use simplify_subreg.
2003         * rtl.h (simplify_gen_subreg): Declare.
2004
2005 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
2006
2007         * doc/install.texi: Update Solaris information.
2008
2009         * except.h (protect_cleanup_actions): Remove it.
2010         (lang_protect_cleanup_actions): Declare it.
2011         * except.c (protect_cleanup_actions): Remove it.
2012         (lang_protect_cleanup_actions): New variable.
2013         (init_eh): Don't make protect_cleanup_actions a GC root.
2014         (expand_eh_region_and_cleanup): Call
2015         lang_protect_cleanup_actions.
2016         (output_function_exception_table): Remove unused `align'
2017         variable.
2018         * varasm.c (assemble_external): Abort if we have not yet
2019         opened the assembly output file.
2020
2021 Thu May 17 11:54:50 2001  Jeffrey A Law  (law@cygnus.com)
2022
2023         * except.c (sjlj_emit_function_enter): Call assemble_external_libcall
2024         for eh_personality_libfunc.
2025
2026 Thu May 17 19:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
2027
2028         * recog.c (validate_replace_rtx_1): Use "TO" mode if not VOIDmode
2029         when calling simplify_subreg.  This is needed to allow replacing
2030         of expression of one mode by expression of different mode.
2031
2032 Thu May 17 19:40:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
2033
2034         * simplify-rtx.c  (simplify_subreg): Avoid creating of incorrect subregs.
2035
2036 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
2037
2038         * expr.c (protect_from_queue): Protect against subsequent calls to
2039         emit_queue.
2040         (expand_expr, case ADDR_EXPR): Prevent protect_from_queue from being
2041         too clever.
2042
2043 Thu May 17 18:17:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
2044
2045         * simplify_rtx.c (simplify_subreg): Fix simplification of nested subregs.
2046
2047 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2048
2049         * gccbug.in (CATEGORIES): Add "bootstrap".
2050
2051 Thu May 17 16:59:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
2052
2053         * simplify-rtx.c (simplify_subreg): Break out from ...
2054         * combine.c (combine_splify_rtx) ... here and ...
2055         * recog.c (validate_replace_rtx_1): ... here;
2056         * rtl.h (subreg_lowpart_parts_p, simplify_subreg): Declare.
2057         * emit-rtl.c (subreg_lowpart_parts_p): Break out from ...
2058         (subreg_lowpart_p): ... here.
2059
2060 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
2061
2062         * stmt.c (expand_asm_operands): For inout operands, make sure
2063         the substitution of '=' for '+' makes it into the rtl.
2064
2065         * reload1.c (delete_output_reload): Call eliminate_regs on substed.
2066         (reload_as_needed): Call update_eliminable_offsets a bit later.
2067
2068 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2069
2070         * gcc.texi (gccbug): Refer to the web pages for detailed information
2071         on GNATS.
2072
2073 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
2074
2075         * libgcc1-test.c, libgcc1.c, config/i386/perform.h: Delete file.
2076
2077         * Makefile.in: Delete variables: OLDCC, CCLIBFLAGS, OLDAR,
2078         OLDAR_FLAGS, LIBGCC1, LIBGCC1_TEST, CROSS_LIBGCC1,
2079         LIB1FUNCS, and LIB1FUNCS_EXTRA.  Delete rules: libgcc1-test,
2080         libgcc1-test.o.  Clarify commentary now that libgcc1 no longer exists.
2081         * cross-make: Don't set LIBGCC1.
2082         * mklibgcc.in: Delete all code for building from libgcc1.c.
2083         Always honor LIB1ASMFUNCS if set.
2084
2085         * crtstuff.c, floatlib.c, longlong.h, config/fp-bit.c,
2086         config/arc/lib1funcs.asm, config/arm/lib1funcs.asm,
2087         config/d30v/libgcc1.asm, config/fr30/lib1funcs.asm,
2088         config/h8300/lib1funcs.asm, config/i386/cygwin.asm,
2089         config/i386/uwin.asm, config/m68hc11/larith.asm,
2090         config/m68k/lb1sf68.asm, config/mcore/lib1.asm,
2091         config/mn10200/lib1funcs.asm, config/sh/lib1funcs.asm,
2092         config/sparc/lb1spc.asm, config/sparc/lb1spl.asm,
2093         config/v850/lib1funcs.asm, config/c4x/libgcc.S:
2094         Delete or update references to libgcc1 in commentary.
2095
2096         * config/t-libc-ok, config/t-linux, config/t-linux-aout,
2097         config/t-netbsd, config/a29k/t-a29kbare, config/a29k/t-vx29k,
2098         config/alpha/t-interix, config/alpha/t-osf, config/alpha/t-vms,
2099         config/arc/t-arc, config/arm/t-arm-aout, config/arm/t-arm-coff,
2100         config/arm/t-arm-elf, config/arm/t-linux, config/arm/t-pe,
2101         config/arm/t-semi, config/arm/t-strongarm-coff,
2102         config/arm/t-strongarm-elf, config/arm/t-strongarm-pe,
2103         config/arm/t-xscale-coff, config/arm/t-xscale-elf, config/avr/t-avr,
2104         config/c4x/t-c4x, config/d30v/t-d30v, config/fr30/t-fr30,
2105         config/h8300/t-h8300, config/i386/t-beos, config/i386/t-cygwin,
2106         config/i386/t-i386elf, config/i386/t-interix, config/i386/t-netware,
2107         config/i386/t-next, config/i386/t-rtems-i386, config/i386/t-sol2,
2108         config/i960/t-960bare, config/i960/t-vxworks960, config/ia64/t-ia64,
2109         config/m32r/t-m32r, config/m68hc11/t-m68hc11-gas, config/m68k/t-lynx,
2110         config/m68k/t-m68kbare, config/m68k/t-m68kelf,
2111         config/m68k/t-mot3300-gald, config/m68k/t-mot3300-gas,
2112         config/m68k/t-next, config/m68k/t-vxworks68, config/m88k/t-bug,
2113         config/m88k/t-dgux, config/m88k/t-dgux-gas, config/m88k/t-dguxbcs,
2114         config/m88k/t-luna, config/m88k/t-luna-gas, config/m88k/t-m88k,
2115         config/m88k/t-m88k-gas, config/m88k/t-sysv4, config/mcore/t-mcore,
2116         config/mcore/t-mcore-pe, config/mips/t-bsd, config/mips/t-bsd-gas,
2117         config/mips/t-cross64, config/mips/t-ecoff, config/mips/t-elf,
2118         config/mips/t-iris6, config/mips/t-r3900, config/mips/t-svr3,
2119         config/mips/t-svr3-gas, config/mips/t-svr4, config/mips/t-svr4-gas,
2120         config/mips/t-ultrix, config/mn10200/t-mn10200,
2121         config/mn10300/t-mn10300, config/pa/t-linux, config/pa/t-linux64,
2122         config/pa/t-pa, config/pa/t-pa64, config/pa/t-pro,
2123         config/pdp11/t-pdp11, config/pj/t-pj, config/rs6000/t-aix43,
2124         config/rs6000/t-beos, config/rs6000/t-darwin, config/rs6000/t-newas,
2125         config/rs6000/t-ppccomm, config/rs6000/t-rs6000, config/sh/t-linux,
2126         config/sh/t-sh, config/sparc/t-chorus-elf, config/sparc/t-elf,
2127         config/sparc/t-sol2, config/sparc/t-sp86x, config/sparc/t-sparcbare,
2128         config/sparc/t-sparclite, config/sparc/t-splet,
2129         config/sparc/t-sunos41, config/sparc/t-vxsparc,
2130         config/sparc/t-vxsparc64, config/v850/t-v850:
2131         Don't set any of LIBGCC1, CROSS_LIBGCC1, or LIBGCC1_TEST.
2132
2133         * config/alpha/alpha.h, config/i386/i386.h, config/i860/i860.h:
2134         Don't set FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, INTIFY, or FLOATIFY.
2135         * config/d30v/d30v.h: Don't mention LIBGCC_NEEDS_DOUBLE,
2136         FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, FLOATIFY, INTIFY,
2137         nongcc_SI_type, nongcc_word_type, or perform_*
2138         * config/i860/fx2800: Don't define perform_umodsi3 or perform_modsi3.
2139
2140         * config/i386/386bsd.h, config/i386/beos-elf.h,
2141         config/i386/linux-aout.h, config/i386/linux-oldld.h,
2142         config/i386/linux.h, config/i386/mach.h, config/i386/netbsd.h,
2143         config/i386/openbsd.h, config/i386/osfrose.h, config/i386/rtemself.h:
2144         Don't include i386/perform.h.
2145
2146         * config/a29k/t-a29k, config/arm/t-semiaof, config/i370/t-i370,
2147         config/i370/t-linux, config/i370/t-mvs, config/i370/t-oe,
2148         config/i386/t-djgpp, config/i386/t-i386bare, config/i386/t-vsta,
2149         config/ia64/t-hpux, config/mips/t-mips, config/mips/t-mips-gas,
2150         config/mips/t-osfrose, config/sparc/t-sp64, config/sparc/t-sunos40,
2151         config/vax/t-openbsd, config/vax/t-vax: Delete.
2152
2153         * config.gcc: Remove references to deleted files.
2154         (arm-semi-aof): Use arm/t-semi for tmake_file.
2155
2156         * gcc.texi, install.texi, invoke.texi, tm.texi:
2157         Delete or rewrite text which is no longer relevant now that
2158         libgcc1 no longer exists.
2159
2160         * config/t-openbsd, config/alpha/t-interix, config/i386/t-interix:
2161         No need to set INSTALL_ASSERT_H.  (Missed in previous sweep.)
2162
2163 2001-05-16  Wolfgang Bangerth <wolfgang.bangerth@iwr.uni-heidelberg.de>
2164         Bruce Korb <bkorb@gnu.org>
2165
2166         * fixinc/inclhack.def(solaris27_mutex_init):  Fix broken mutex
2167         initializer
2168
2169 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
2170
2171         * i386.md: Add two peepholes to clean up code generated by
2172         cmpstr* expanders.
2173
2174 2001-05-16  Richard Henderson  <rth@redhat.com>
2175
2176         * dwarf2asm.c (eh_data_format_name): Add names for "pointer size"
2177         variants of non-absolute encodings.
2178
2179         * config/i386/i386.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
2180
2181         * libgcc-std.ver (_Unwind_Find_FDE, __register_frame_info_bases,
2182         __register_frame_info_table_bases): Export.
2183
2184 2001-05-16  Richard Henderson  <rth@redhat.com>
2185
2186         * except.c (eh_data_format_name): Move to ...
2187         * dwarf2asm.c: ... here.  Use designated initializers if available.
2188         (dw2_asm_output_encoded_addr_rtx): Accept varargs commentary.
2189         * dwarf2asm.h: Update declarations.
2190         * dwarf2out.c (output_cfi) [DW_CFA_set_loc]: If for_eh, mind
2191         ASM_PREFERRED_EH_DATA_FORMAT.
2192         (output_call_frame_info): Likewise.  Use 'L' augmentation for
2193         the LSDA encoding.
2194
2195         * unwind-dw2-fde.h (struct fde_vector): New.
2196         (struct old_object): Rename from struct object.
2197         (struct object): New.
2198         (__register_frame_info_bases): Declare.
2199         (__register_frame_info_table_bases): Declare.
2200         (struct dwarf_fde): Remove explicit pc_begin/pc_range members.
2201         * unwind-dw2-fde.c (objects): Remove.
2202         (unseen_objects, seen_objects): New.
2203         (__register_frame_info_bases): New.
2204         (__register_frame_info): Use it.
2205         (__register_frame_info_table_bases): New.
2206         (__register_frame_info_table): Use it.
2207         (__deregister_frame_info): Rewrite for changed object struct.
2208         (base_from_object, get_cie_encoding, get_fde_encoding): New.
2209         (fde_unencoded_compare): Rename from fde_compare; uninline.
2210         (fde_single_encoding_compare, fde_mixed_encoding_compare): New.
2211         (start_fde_sort): Adjust for new definition of fde_vector.
2212         (fde_insert): Likewise.
2213         (end_fde_sort): Likewise.  Select comparison function based
2214         on properties of the object.
2215         (fde_split): Take object and fde_compare_t arguments.
2216         (frame_heapsort, fde_merge): Likewise.
2217         (classify_object_over_fdes): Rename from count_fdes.  Handle
2218         encoded pointers.  Collect encoding, mixed_encoding, and pc_begin
2219         for the object.
2220         (add_fdes): Handle encoded pointers.
2221         (init_object): Rename from frame_init.  Update for new struct object.
2222         (linear_search_fdes): Rename from search_fdes.  Handle encoded
2223         pointers.
2224         (binary_search_unencoded_fdes): Broken out from _Unwind_Find_FDE.
2225         (binary_search_single_encoding_fdes): New.
2226         (binary_search_mixed_encoding_fdes): New.
2227         (search_object): New.
2228         (_Unwind_Find_FDE): Update for new struct object.  Fill in
2229         the dwarf_eh_bases.
2230         * unwind-dw2.c: Include unwind-pe.h.  Constify all pointers
2231         iterating over EH data.
2232         (_Unwind_FrameState): Remove saw_lsda, addr_encoding.  Add
2233         fde_encoding, lsda_encoding.
2234         (read_uleb128, read_sleb128): Remove.
2235         (read_encoded_pointer): Remove.  All callers use read_encoded_value.
2236         (extract_cie_info): Set lsda_encoding from 'L' augmentation.
2237         (uw_frame_state_for): Don't set bases.func.  Handle encoded fde
2238         pointers.
2239         * unwind-pe.h: Add "struct" to _Unwind_Context references.
2240
2241 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2242
2243         * cppexp.c (lex): Use NODE_NAME and NODE_LEN.
2244         * cpphash.c (_cpp_lookup_with_hash): Similarly.
2245         * cpplex.c (cpp_ideq, parse_identifier, cpp_token_len,
2246         cpp_spell_token, cpp_output_token): Similarly.
2247         * cpplib.c (lex_macro_node, do_undef, do_pragma,
2248         do_pragma_poison, parse_assertion, do_assert): Similarly.
2249         * cppmacro.c (builtin_macro, parse_args, funlike_invocation_p,
2250         save_parameter, _cpp_create_definition, check_trad_stringification,
2251         cpp_macro_definition): Similarly.
2252         * cppmain.c (cb_define, cb_undef, dump_macro): Similarly.
2253         * c-lex.c (cb_undef, c_lex): Similarly.
2254         * fix-header.c (recognized_function): Similarly.
2255         * cpplib.h (NODE_LEN, NODE_NAME): New.
2256         (cpp_hashnode): Rename length len.
2257
2258 Wed May 16 13:41:10 2001  Jeffrey A Law  (law@cygnus.com)
2259
2260         * pa32-regs.h (HARD_REGNO_MODE_OK): Allow TI/TFmode values in
2261         GPRs.
2262
2263 2001-05-16  Andreas Jaeger  <aj@suse.de>
2264
2265         * Makefile.in (toplev.o): Add dependency on dwarf2asm.h.
2266
2267         * toplev.c: Include dwarf2asm.h for prototype of
2268         dw2_output_indirect_constants.
2269
2270 Wed May 16 19:53:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
2271
2272         * stmt.c (expand_asm_operands): Be able to offload addressof
2273         expression to memory. (PR optimization/185)
2274
2275 Wed May 16 18:53:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
2276
2277         * combine.c (combine_simplify_rtx): Set op0_mode to VOIDmode after
2278         applying distributive law.
2279
2280 2001-05-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2281
2282         * pa-hpux10.h (THREAD_MODEL_SPEC): Define.
2283
2284         * gthr-dce.h (UNUSED): Attribute unused macro.
2285         (__gthread_key_dtor): Make arguments UNUSED.
2286         (__gthread_key_delete): Revise for compatibility with DRAFT4
2287         implementation.
2288
2289 2001-05-16  David Edelsohn  <edelsohn@gnu.org>
2290
2291         * doc/install.texi: Update AIX information.
2292         * README.RS6000: Remove obsolete file.
2293
2294 2001-05-16  Jakub Jelinek  <jakub@redhat.com>
2295             Nathan Sidwell  <nathan@codesourcery.com>
2296
2297         * gcc.c (give_switch): Don't write before start of string.
2298         Always append suffix.
2299
2300 2001-05-16  Nathan Sidwell  <nathan@codesourcery.com>
2301
2302         * cpplex.c (_cpp_lex_token, '/' case): Comments can't appear
2303         after stage3.
2304
2305 2001-05-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2306
2307         * README.ALTOS: Remove obsolete file.
2308
2309 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
2310
2311         * c-lex.h (save_and_forget_protocol_qualifiers,
2312         forget_protocol_qualifiers, remember_protocol_qualifiers):
2313         Remove deleted functions' prototypes.
2314
2315 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
2316
2317         * c-parse.in (methodtype): New production.
2318         (methoddef, methodproto): Collapse separate '-' and '+'
2319         handlers into 1.
2320
2321 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2322
2323         * c-common.h (RID_FIRST_PQ): New.
2324         * c-parse.in (objc_pq_context): New.
2325         (objc parser): Set objc_pq_context rather than calling
2326         remember_protocol_qualifiers and forget_protocol_qualifiers.
2327         Don't call save_and_forget_protocol_qualifiers.
2328         (yylexname): Handle objc protocol qualifiers here.
2329         * stringpool.c (struct str_header): Replace with sp_hashnode.
2330         (SP_EMPTY, SP_LEN, SP_TREE, SP_STR, SP_VALID): New.
2331         (alloc_string): Rename alloc_ident.  Use the SP_ accessors.
2332         Allocate an IDENTIFIER_NODE for each identifier.
2333         (FORALL_STRINGS, set_identifier): Delete.
2334         (FORALL_IDS, expand_string_table, stringpool_statistics): Update.
2335         (ggc_alloc_string): Use an obstack.
2336         (get_identifier, maybe_get_identifier, mark_string_hash): Update.
2337         * tree.h: Update comments.
2338         (set_identifier): Delete.
2339         * objc/objc-act.c (N_PQ, saved_pq, saved_not_pq,
2340         save_and_forget_protocol_qualifiers, forget_protocol_qualifiers,
2341         remember_protocol_qualifiers): Delete.
2342
2343 Tue May 15 22:14:09 2001  Jeffrey A Law  (law@cygnus.com)
2344
2345         * flow.c (life_analysis): After life analysis is complete, do
2346         an optional scan over insns looking for REG_LABEL notes that
2347         reference a deleted label.
2348         (propagate_block_delete_insn): Verify INOTE is a CODE_LABEL
2349         before peeking at LABEL_NUSES.
2350
2351 2001-05-15  Richard Henderson  <rth@redhat.com>
2352
2353         * unwind-sjlj.c (_Unwind_GetDataRelBase): New.
2354         (_Unwind_GetTextRelBase): New.
2355
2356 2001-05-15  Mark Mitchell  <mark@codesourcery.com>
2357
2358         * config/sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
2359
2360 2001-05-15  Geoffrey Keating  <geoffk@redhat.com>
2361
2362         * objc/objc-act.c (handle_class_ref): Use rest_of_decl_compilation
2363         so that CHOOSE_SECTION gets used.
2364
2365         * config/rs6000/sysv4.h (ASM_PREFERRED_EH_DATA_FORMAT): Treat
2366         TARGET_RELOCATABLE like flag_pic for now.
2367
2368 2001-05-15  David Edelsohn  <edelsohn@gnu.org>
2369
2370         * rs6000.md (movdi splitter): Sign extend more efficiently.
2371         * rs6000.c (reg_or_arith_cint_operand): Redefine 64-bit constant
2372         to "long long" valid on 32-bit and 64-bit hosts.
2373         (logical_operand): Cast trunc_int_for_mode return value.
2374         (rs6000_emit_move): Shift macro to encapsulate variable.
2375         (rs6000_va_start): Use HOST_WIDE_INT_PRINT_DEC.
2376         (rs6000_emit_{prologue,epilogue}): EH regno is unsigned but
2377         plus_constant requires signed argument.
2378
2379 2001-05-15  Loren J. Rittle  <ljrittle@acm.org>
2380
2381         * gthr-posix.h: Make additional pthread-* functions weak.
2382
2383 Tue May 15 13:51:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
2384
2385         * recog.c (apply_change_group): Avoid unneeded validating.
2386
2387 2001-05-14  David Edelsohn  <edelsohn@gnu.org>
2388
2389         * rs6000.c (num_insns_constant_wide): Constants are sign-extended.
2390         (num_insns_constant): CONST_INT can be 64-bits.
2391
2392 2001-05-14  Stan Shebs  <shebs@apple.com>
2393
2394         * config/darwin.h (LIB_SPEC): Just use -lSystem.
2395         (LIBGCC_SPEC): Don't define.
2396
2397 2001-05-14  Richard Henderson  <rth@redhat.com>
2398
2399         * configure.in (gcc_cv_as_eh_frame): New test.
2400         * config.in, configure: Rebuild.
2401         * gcc.c (init_spec): Honor USE_AS_TRADITIONAL_FORMAT.
2402
2403 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
2404
2405         * config/ia64/lib1funcs.asm (__divtf3): Fix incorrect bits in
2406         extended precision divide.
2407
2408 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
2409
2410         * config/ia64/ia64.c (rtx_needs_barrier): Call rtx_needs_barrier
2411         for RETURNS as well.
2412
2413 Mon May 14 17:34:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
2414
2415         * i386.h (TARGET_64BIT): Define to constant if !TARGET_BI_ARCH
2416         (CPP_CPU??_SIZE_TYPE): New.
2417         (CPP_CPU??_SPEC, CPP_CPUCOMMON_SPEC): Break out from...
2418         (CPP_CPU_SPEC): ... here; support choosing of CPU.
2419         (EXTRA_SPECS): Add cpp_cpu??, cpp_cpu??sizet, cpp_cpucommon.
2420         (MAX_LONG_TYPE_SIZE, MAX_BITS_PER_WORD): Define to 32 for 32bit-only
2421         compiler.
2422         * i386.c (override_options): Add sorry about not suported modes.
2423
2424 Mon May 14 08:56:47 2001  Jeffrey A Law  (law@cygnus.com)
2425
2426         * config/pa/som.h (NM_FLAGS): Remove.
2427         (ASM_OUTPUT_FUNCTION_PREFIX): No longer truncate subspace names.
2428         (ASM_OUTPUT_SECTION_NAME): Remove.
2429         (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Likewise.
2430
2431 2001-05-14  Mark Mitchell  <mark@codesourcery.com>
2432
2433         * regrename.c (regrename_optimize): Do not rename registers to
2434         leaf registers.
2435
2436 2001-05-14  Alexandre Oliva  <aoliva@redhat.com>
2437
2438         * rtl.texi (CALL_INSN_FUNCTION_USAGE): Note that (and when) it may
2439         contain MEMs.  Remove useless distinction about clobbering
2440         registers.
2441
2442 2001-05-13  Geoff Keating  <geoffk@redhat.com>
2443
2444         * config/rs6000/rs6000.h (EXCEPTION_SECTION): Move to...
2445         * config/rs6000/aix.h (EXCEPTION_SECTION): ... here.
2446         * config/rs6000/sysv4.h (CONST_SECTION_ASM_OP): Delete.
2447         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2448         (EXCEPTION_SECTION): Define.
2449
2450 2001-05-13  Zack Weinberg  <zackw@stanford.edu>
2451
2452         * libgcc2.c, libgcc2.h: Restore __eprintf.  Label as used for
2453         binary backward compat only.
2454         * Makefile.in (LIB2FUNCS_ST): New.  Put _eprintf here, not
2455         in LIB2FUNCS.  Pass it to mklibgcc.
2456         * mklibgcc.in: Handle LIB2FUNCS_ST.
2457
2458         * Makefile.in (installdirs): Don't create $(gcc_tooldir).
2459
2460 2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
2461
2462         * tm.texi (THREAD_MODEL_SPEC): Document it.
2463         * gcc.c (main): Use it.
2464         * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Define it.
2465         * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Likewise.
2466
2467 2001-05-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2468
2469         * rtl.h (SYMBOL_REF_WEAK): New macro.
2470         * rtlanal.h (rtx_addr_can_trap): Use it, a weak SYMBOL_REF can trap.
2471         * varasm.c (make_decl_rtl): Mark SYMBOL_REF weak if necessary.
2472         * rtl.texi (SYMBOL_REF_WEAK): Document it.
2473         * gcc.texi: Remove wrong description.
2474
2475 2001-05-13  Mark Mitchell  <mark@codesourcery.com>
2476
2477         * Makefile.in (STAMP): New macro.
2478         Replace all uses of `touch' with $(STAMP).
2479         * fixinc/Makefile.in: Likewise.
2480
2481 Sun May 13 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2482
2483         * configure.in: ldopen is never in -lexc, so don't test for it.
2484         Add test for exc_resume in -lexc for Ada.
2485         * configure: Regenerated.
2486
2487 2001-05-12  Richard Henderson  <rth@redhat.com>
2488
2489         * dwarf2asm.c (size_of_encoded_value): New function.
2490         * dwarf2asm.h: Declare it.
2491         * except.c (output_function_exception_table): Align the TType
2492         array only as wide as the encoding.
2493
2494 2001-05-12  Zack Weinberg  <zackw@stanford.edu>
2495
2496         * extend.texi: Document #pragma GCC java_exceptions.
2497
2498 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2499
2500         * c-parse.in (bison parser, init_reswords): Remove uses of
2501         doing_objc_thang.
2502         * c-tree.h (doing_objc_thang): Remove.
2503
2504 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
2505
2506         * cpplex.c (_cpp_lex_token): Ensure we warn at most once
2507         about files not ending in newlines.
2508
2509 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2510
2511         * dwarfout.c (dwarfout_init): Add cast.
2512         * sched-deps.c (sched_analyze_insn): Remove unused vars.
2513         * unwind-dw2-fde.c (_Unwind_Find_FDE): Flag unused parameter so.
2514 cp:
2515         * method.c (build_mangled_C99_name): Remove unused prototype.
2516
2517 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
2518
2519         * config/arm/arm.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Use delta.
2520
2521 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
2522
2523         * defaults.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
2524         * tm.texi (TARGET_PRTMEMFUNC_VBIT_LOCATION): Document.
2525
2526 2001-05-11  Richard Henderson  <rth@redhat.com>
2527
2528         * defaults.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
2529         * dwarf2asm.c (dw2_force_const_mem, dw2_output_indirect_constant_1,
2530         dw2_output_indirect_constants, dw2_asm_output_encoded_addr_rtx): New.
2531         * dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): Prototype.
2532         (dw2_output_indirect_constants): Prototype.
2533         * dwarf2out.c (dwarf2out_begin_prologue): Generate
2534         current_function_func_begin_label if we'll need it for EH.  Exit
2535         early for IA64_UNWIND_INFO.
2536         * except.c: Get DW_EH_PE_* defines from dwarf2.h.
2537         (eh_data_format_name): Update for indirect references.
2538         (output_function_exception_table): Care for IA64_UNWIND_INFO.
2539         Handle ASM_PREFERRED_EH_DATA_FORMAT.
2540         * except.h (MUST_USE_SJLJ_EXCEPTIONS): IA64_UNWIND_INFO needn't
2541         define HAVE_eh_return etc.
2542         * final.c (final_start_function): Always call dwarf2out_begin_prologue.
2543         (final_end_function): Don't call output_function_exception_table.
2544         * toplev.c (compile_file): Call dw2_output_indirect_constants.
2545         (rest_of_compilation): Invoke output_function_exception_table
2546         for ia64 before assemble_end_function.
2547         * tm.texi (ASM_PREFERRED_EH_DATA_FORMAT): Document.
2548         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Document.
2549
2550         * unwind-dw2.c (_Unwind_GetTextRelBase, _Unwind_GetDataRelBase): New.
2551         * unwind.h: Declare them.
2552         * libgcc-std.ver: Export them.
2553         * unwind-pe.h: New file.
2554
2555         * config/alpha/elf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
2556
2557         * config/ia64/fde-glibc.c: Use "struct unw_table_entry"
2558         instead of "fde".
2559         (find_fde_for_dso): Extract DT_PLTGOT.
2560         (_Unwind_FindTableEntry): Rename from __ia64_find_fde; return
2561         the segment and gp as well.
2562         * config/ia64/frame-ia64.c: Remove file.
2563         * config/ia64/frame-ia64.h: Remove file.
2564         * config/ia64/unwind-ia64.c: New file.
2565         * config/ia64/unwind-ia64.h: New file.
2566         * config/ia64/ia64.h (ASM_OUTPUT_EH_CHAR): Remove.
2567         (ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT): Remove.
2568         (ASM_OUTPUT_EH_DOUBLE_INT): Remove.
2569         (ASM_PREFERRED_EH_DATA_FORMAT): New.
2570         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
2571         (IA64_UNWIND_INFO): Re-enable.
2572         (HANDLER_SECTION): Remove.
2573         (EH_RETURN_DATA_REGNO): New.
2574         * config/ia64/ia64.md (exception_receiver): Remove.
2575         * config/ia64/t-glibc (LIB2ADDEH): Re-enable.
2576         * config/ia64/t-ia64 (LIB2ADDEH): Re-enable.
2577
2578 2001-05-11  Richard Henderson  <rth@redhat.com>
2579
2580         * config/ia64/ia64.c (group_barrier_needed_p): Don't allow
2581         calls and jumps to be bundled together.
2582         (ia64_reorg): Emit a break after a noreturn call that ends
2583         a function.
2584         * config/ia64/ia64.md (break_f): New.
2585
2586 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
2587
2588         * c-lex.c (lex_charconst): Convert into a simple wrapper
2589         around cpp_interpret_charconst, to which most of the code
2590         body is moved.
2591         * cppexp.c (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE,
2592         MAX_LONG_TYPE_SIZE, MAX_INT_TYPE_SIZE, MAX_CHAR_TYPE_MASK,
2593         MAX_WCHAR_TYPE_MASK, parse_escape, parse_charconst): Remove.
2594         (lex): Use cpp_interpret_charconst.
2595         * cpplex.c (parse_escape, read_ucs, cpp_interpret_charconst,
2596         hex_digit_value): New functions.
2597         (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): New macros.
2598         * cpplib.h (cpp_interpret_charconst): New prototype.
2599         * Makefile.in: Update.
2600
2601 2001-05-12  Dean Wakerley  <dean@wakerley.com>
2602
2603         * doc/install.texi: New file. Converted to texinfo from the HTML
2604         documentation in wwwdocs/htdocs/install.
2605
2606 Fri May 11 15:50:13 2001  Jeffrey A Law  (law@cygnus.com)
2607
2608         * gcse.c (insert_insn_end_bb): Do not search for assignments to
2609         non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
2610
2611         * toplev.c (compile_file): Move comment for opening output
2612         file to just before the code that opens the output file.
2613
2614 2001-05-11  Jakub Jelinek  <jakub@redhat.com>
2615
2616         * regmove.c (regmove_optimize): Suppress the optimization for
2617         unchanging destination register.  Add comment above function.
2618
2619 2001-05-11  Zack Weinberg  <zackw@stanford.edu>
2620
2621         * Makefile.in: Exterminate all references to assert.h.
2622         * cross-make: Likewise.
2623         * assert.h: Delete.
2624         * configure.in: Correct commentary.
2625         * configure: Regenerate.
2626
2627         * libgcc-std.ver, libgcc2.c, libgcc2.h, sys-protos.h:
2628         Remove __eprintf.
2629
2630         * config/t-freebsd, config/t-linux, config/t-linux-aout,
2631         config/t-netbsd, config/t-rtems, config/x-linux,
2632         config/i386/t-beos, config/mcore/t-mcore, config/mcore/t-mcore-pe:
2633         No need to override INSTALL_ASSERT_H.
2634
2635         * fixinc/fixinc.dgux, fixinc/fixinc.interix, fixinc/fixinc.ptx,
2636         fixinc/fixinc.svr4, fixinc/fixinc.winnt, fixinc/fixinc.wrap,
2637         fixinc/fixincl.sh: Don't install assert.h into objdir/include.
2638
2639 2001-05-11  Graham Stott  <grahams@redhat.com>
2640
2641         * combine.c (simplify_comparison): Fix typo.
2642
2643 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
2644
2645         * loop.h (struct movables): Remove `num'.
2646         * loop.c (scan_loop): Don't set it.  Use count_insns_in_loop.
2647         Adjust call to strength_reduce.
2648         (num_unmoved_movables): New function.
2649         (move_movables): Don't set movables->num.
2650         (strength_reduce): Compute the number of instructions in the loop
2651         here, rather than in the caller.
2652         (check_dbra_loop): Always clear reversible_mem_store if there
2653         are any memory sets.
2654         (loop_regs_scan): Don't count instructions here.
2655         (count_insn_in_loop): New function.
2656
2657 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
2658
2659         * optabs.c (emit_libcall_block): Don't mark calls as CONST_CALL_P.
2660
2661 2001-05-11  Neil Booth  <neil@daikokuya.demon.co.uk>
2662
2663         * c-common.c (finish_label_expr): New function, lifted from
2664         from cp/semantics.c.
2665         * c-common.h (finish_label_expr, lookup_label): New prototypes.
2666         * c-parse.in: Move 3 blocks of parser code into new functions.
2667         * c-typeck.c (simple_asm_stmt, c_cast_expr): New functions.
2668         * c-tree.h (simple_asm_stmt, c_cast_expr): New prototypes.
2669         (lookup_label): Remove.
2670
2671 2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
2672
2673         * config/mn10300/t-mn10300 (dp-bit.c, fp-bit.c): Don't define
2674         FLOAT_BIT_ORDER_MISMATCH.
2675
2676 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
2677
2678         * expr.c (emit_push_insn): Convert PUSH_ROUNDING argument to
2679         bytes.  Reported by Kazu Hirata <kazu@hxi.com>.
2680
2681 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
2682
2683         * expr.c (emit_group_load): extract_bit_field requires a REG or
2684         MEM as an argument.
2685
2686 Thu May 10 14:45:44 2001  Jeffrey A Law  (law@cygnus.com)
2687
2688         * cse.c (cse_insn): Mostly remove first hunk of code which collapsed
2689         a computed jump into an unconditional jump.
2690         In second hunk of code for collapsing computed and conditional jumps
2691         into unconditional jumps, reemit the jump in additional cases.
2692
2693         * jump.c (jump_optimize_1): Do not wrap the new jump target
2694         inside a LABEL_REF; gen_jump will do that automatically.
2695
2696 2001-05-10  Toon Moene  <toon@moene.indiv.nluug.nl>
2697
2698         * dwarf2out.c (mem_loc_descriptor): Do not pass constant pool
2699         contents for a SYMBOL_REF in case of floating point constants.
2700
2701 2001-05-10  DJ Delorie  <dj@redhat.com>
2702
2703         * c-common.c (combine_strings): Widen strings in a
2704         host-endian-independent way.
2705
2706 2001-05-10  Joseph S. Myers  <jsm28@cam.ac.uk>
2707
2708         * c-parse.in: Remove many shift/reduce conflicts.  Update
2709         %expect values.
2710         (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
2711         declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
2712         declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
2713         declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
2714         declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
2715         declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
2716         declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
2717         declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
2718         declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
2719         declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
2720         maybe_type_quals_setattrs, typespec_nonattr, typespec_attr,
2721         typespec_reserved_nonattr, typespec_reserved_attr,
2722         typespec_nonreserved_nonattr, maybe_setattrs, structsp_attr,
2723         structsp_nonattr, components_notype, component_notype_declarator,
2724         absdcl1_ea, absdcl1_noea, direct_absdcl1, absdcl_maybe_attribute,
2725         firstparm, setspecs_fp): New
2726         (typed_declspecs, reserved_declspecs, typed_typespecs,
2727         reserved_typespecquals, declmods, typespec, typespecqual_reserved,
2728         typed_declspecs_no_prefix_attr reserved_declspecs_no_prefix_attr
2729         declmods_no_prefix_attr, nonempty_type_quals, structsp,
2730         type_quals): Remove.  Users updated.
2731         (initdecls, notype_initdecls, after_type_declarator,
2732         parm_declarator, notype_declarator, absdcl1, components, ivars):
2733         Don't allow attributes at the start of a declarator; include them
2734         in the production containing the declarator instead.  Always
2735         require type specifiers before trying to redeclare a typedef name.
2736         (typename): Allow for attributes but warn that they are ignored.
2737         (parmlist, firstparm, setspecs_fp): Include attributes in
2738         parmlist; suck them off the parser stack in firstparm using
2739         setspecs_fp.
2740
2741 Thu May 10 09:17:42 2001  Jeffrey A Law  (law@cygnus.com)
2742
2743         * ifcvt.c (merge_if_block): Use any_uncondjump_p, not simplejump_p
2744         to determine if a block has an unconditional jump at its end.
2745
2746         * jump.c (jump_optimize_1): When converting a conditional jump
2747         to an unconditional jump, build the jump using gen_jump instead
2748         of just modify operands in-place.
2749
2750 2001-05-09  Zack Weinberg  <zackw@stanford.edu>
2751
2752         * cppinit.c (cpp_post_options): Shut off macro expansion if
2753         -fpreprocessed.
2754         * cpplib.c (_cpp_handle_directive): If -fpreprocessed, accept
2755         IN_I directives only if the # is in column 1 and the directive
2756         name begins in column 2.
2757         * cppmain.c (scan_buffer): Insert a space between # and an
2758         identifier, when that identifier is a directive name.
2759
2760         * tradcpp.c (struct file_buf): Add a pointer to the next entry
2761         in the header search path.
2762         (enum node_type): Add T_INCLUDE_NEXT.
2763         (directive_table): Add entry for include_next.
2764         (do_include_next): New function.
2765         (process_include): New routine, broken out of do_include.
2766         (finclude): Insert 'nhd' argument, to be copied into
2767         next_header_dir of the new buffer.
2768         (main): Adjust to match.
2769         * gsyslimits.h, limity.h: Un-indent #include_next.
2770
2771 2001-05-09  Joseph S. Myers  <jsm28@cam.ac.uk>
2772
2773         * objc.texi: Move from ../libobjc/objc-features.texi.  Adjust for
2774         inclusion as a chapter of the GCC manual.
2775         * gcc.texi: Include objc.texi.
2776         * fdl.texi: Use @unnumberedsec for the addendum.
2777         * Makefile.in ($(srcdir)/gcc.info, gcc.dvi): Update dependencies.
2778
2779 Wed May  9 16:01:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
2780
2781         * i386.md (DImode move splitters): Use !MMX and !SSE for the condition.
2782
2783 Wed May  9 10:40:25 2001  Alexandre Oliva  <aoliva@redhat.com>
2784
2785         * regclass.c (scan_one_insn): Update REG_N_REFS when optimizing
2786         handling of two-address insns.
2787
2788 Wed May  9 10:36:18 2001  Alexandre Oliva  <aoliva@redhat.com>
2789
2790         * Makefile.in (NM_FOR_TARGET): Look for ./nm, then
2791         ../binutils/nm-new instead of ../binutils/nm.
2792
2793 Wed May  9 12:15:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
2794
2795         * i386.md (movdi splitter): Fix the splitting condition
2796         (float_extenddftf splitter): Fix mode.
2797
2798 Wed May  9 12:05:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
2799
2800         * genrecog.c (write_switch): Avoid outputting of switch for
2801         types wider than int.
2802
2803 2001-05-03  Andrew Haley  <aph@cambridge.redhat.com>
2804
2805         * reload1.c (copy_eh_notes): New function.
2806         (emit_input_reload_insns): Call it.
2807         (emit_output_reload_insns): Call it.
2808
2809 2001-05-07  Zack Weinberg  <zackw@stanford.edu>
2810
2811         * config.gcc (i[34567]86-*-sco3.2v4*, i[34567]86-*-sco*):
2812         Delete stanzas.
2813         * config/i386/sco.h, config/i386/sco4.h, config/i386/scodbx.h,
2814         config/i386/sco4dbx.h, config/i386/x-sco4: Delete file.
2815
2816         * optabs.c: Delete #ifdef BROKEN_LDEXP block.
2817
2818 2001-05-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2819
2820         * pa.md (interspace_jump): Revise comment.
2821         (builtin_longjmp): Block initial setup insns from delay slot of
2822         interspace branch.
2823         (builtin_setjmp_receiver): New expander to save and restore PIC
2824         register.
2825
2826         * som.h (NM_FLAGS): Remove `-n' sort option.  Revise comment.
2827
2828 Mon May  7 09:30:14 2001  Jeffrey A Law  (law@cygnus.com)
2829
2830         * toplev.c (compile_file): Set up the output file before we call
2831         the various initializers for the compiler.
2832
2833         * except.c (sjlj_mark_call_sites): Do not search for assignments to
2834         non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
2835
2836         * pa.h (MAX_LONG_TYPE_SIZE): Should be 32, not 64.
2837         * pa-64.h (*_TYPE_SIZE): Undefine before redefining.
2838
2839 2001-05-06  Zack Weinberg  <zackw@stanford.edu>
2840
2841         * Makefile.in (tradcpp0): Correct typo in dependency list.
2842
2843 2001-05-06  Geoff Keating  <geoffk@redhat.com>
2844
2845         * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't save
2846         the link register if we're not going to use it.
2847
2848         * config/rs6000/rs6000.c (output_profile_hook): Fix a warning.
2849         (output_function_profiler): Likewise.
2850
2851 2001-05-07  Alan Modra  <amodra@one.net.au>
2852
2853         * pa.c (compute_frame_size): 64-bit frame marker is 16 bytes.
2854
2855 2001-05-06  Alexandre Oliva  <aoliva@redhat.com>
2856
2857         * unroll.c (loop_iterations): Don't sign-extend abs_diff;
2858         zero-extend it.  Make abs_inc unsigned.
2859
2860         * optabs.c (expand_binop): Sign-extend xop0 and xop1 from the
2861         widest mode in narrowing and widening operations.
2862
2863         * config/mips/mips.md: Sign extend CONST_INTs.
2864
2865 2001-05-06  Andreas Jaeger  <aj@suse.de>
2866
2867         * invoke.texi (Option Summary): Add -momit-leaf-frame-pointer
2868         (i386 Options): Document -momit-leaf-frame-pointer.
2869
2870 2001-05-06  Neil Booth  <neil@daikokuya.demon.co.uk>
2871
2872         * c-typeck.c (internal_build_compound_expr): Check for
2873         array to pointer conversion just once.
2874
2875 2001-05-05  Richard Henderson  <rth@redhat.com>
2876
2877         * integrate.c (copy_insn_list): Substitute NOTE_EXPECTED_VALUE.
2878
2879 2001-05-05  Richard Henderson  <rth@redhat.com>
2880
2881         * except.c (remove_fixup_regions): Adjust REG_EH_REGION notes
2882         to the parent of the fixup region.
2883
2884 2001-05-05  Jakub Jelinek  <jakub@redhat.com>
2885
2886         * gcc.c (cpp_options): Define __NO_INLINE__ unless we are honoring
2887         "inline" keyword.
2888         * cpp.texi (__NO_INLINE): Document it.
2889
2890 2001-05-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2891
2892         * cppfiles.c (struct include_file): New member err_no.
2893         (find_or_create_entry): Set it.
2894         (open_file): Don't set fds to -2.  Instead, use err_no to
2895         remember previous errors, if any.
2896
2897 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2898
2899         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Optimize moves
2900         between X and Y by using sequences of xgdx and xgdy.
2901
2902 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2903
2904         * config/m68hc11/m68hc11.md ("*logicalsi3_silshr16"): Use '?' instead
2905         of '!' for the 'D' alternative ('!' is too strong).
2906         ("*logicalsi3_silshl16"): Likewise.
2907         ("movstricthi"): Accept 'A' when 'd' constraint, remove spurious '+'.
2908         ("movstrictsi"): Remove spurious '+'.
2909         ("movstrictqi"): Don't accept 'A' and remove spurious '+'.
2910         ("tstqi_1", "*lshrqi3_const1"): Put 'm' constraint before 'd'.
2911         ("subqi3"): Disparage with '!' the 'x' and 'y' registers to avoid
2912         a reload to them.
2913
2914 2001-05-04  David Edelsohn  <edelsohn@gnu.org>
2915
2916         * calls.c (store_one_arg): Don't divide align by BITS_PER_UNIT.
2917
2918 2001-05-04  Lars Brinkhoff  <lars@nocrew.org>
2919
2920         * simplify-rtx.c (simplify_binary_operation): Simplify ~a + 1
2921         into -a.
2922
2923 2001-05-04  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2924
2925         * config/rs6000/rs6000.md (ashldi3 splits): Guard with
2926         TARGET_POWERPC64.
2927
2928 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2929
2930         * config/m68hc11/m68hc11.md (lshrhi3_const1): Fix shift of
2931         soft register, use ror instead of rol.
2932
2933 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2934
2935         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Take
2936         into account pre/post increment decrement for 68HC12.
2937         Fix other problems in replacement and fix call to reg_mentioned_p.
2938
2939 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2940
2941         * config/m68hc11/larith.asm (L_regs_frame): New for _.frame.
2942         Put the soft registers in bss for 68HC12.
2943         (L_regs_d3_4): New for _.d3 and _.d4.
2944         (L_regs_d5_6): Likewise.
2945         (L_regs_d1_2): Likewise.
2946         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Compile new parts.
2947
2948 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2949
2950         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__HAVE_SHORT_DOUBLE__
2951         to the pre-processor when -fshort-double is specified.
2952         * config/m68hc11/m68hc11.2 (CPP_SPEC): Likewise.
2953
2954 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2955
2956         * config/m68hc11/larith.asm (divmodhi4): Empty for 68HC12.
2957         (__mulsi3): Rewrite for 68HC12.
2958         * config/m68hc11/m68hc11.md (divmodhi4): Use idivs for 68HC12.
2959         Mark 'x' constraint with earlyclobber to prevent a
2960         RELOAD_FOR_OTHER_ADDRESS to go in it.
2961         (mulhi3_m68hc12): New pattern.
2962         (mulhi3_m68hc11): Rename of mulhi3.
2963         (mulhi3): New expand for 68HC12 optimisation.
2964         (umulhisi3, mulhisi3): New patterns for 68HC12.
2965
2966 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2967
2968         * config/m68hc11/m68hc11.md (*tbne, *tbeq): New patterns for 68HC12.
2969         (extendqisi2, extendqihi2, extendhisi2): Use sex for 68HC12.
2970         (uminqi3, umaxqi3, uminhi3, umaxhi3): New pattern for 68HC12.
2971
2972 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2973
2974         * config/m68hc11/m68hc11.h (CONST_COSTS): Make the cost of
2975         constants cheap after reload.
2976         * config/m68hc11/m68hc11.c (m68hc11_shift_cost): Shift by 16 and 32
2977         are cheap.
2978         (m68hc11_rtx_costs): Cost of multiplication by 65536 is expensive
2979         so that gcc prefers a shift by 16.
2980         (m6811_cost, m6812_cost): Make the shift cheap compared to an add.
2981
2982 2001-05-04  Nick Clifton  <nickc@cambridge.redhat.com>
2983
2984         * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Define.
2985
2986 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2987
2988         * alpha.h: NULL_PTR -> NULL.
2989         * arm.c: Likewise.
2990         * arm.h: Likewise.
2991         * avr.h: Likewise.
2992         * c4x.c: Likewise.
2993         * c4x.h: Likewise.
2994         * i386.c: Likewise.
2995         * i386.md: Likewise.
2996         * i860.c: Likewise.
2997         * ia64.c: Likewise.
2998         * m68hc11.h: Likewise.
2999         * rs6000.h: Likewise.
3000         * sh.c: Likewise.
3001         * sh.h: Likewise.
3002         * sparc.h: Likewise.
3003         * v850.c: Likewise.
3004
3005         * expr.c: Likewise.
3006         * final.c: Likewise.
3007         * gcc.c: Likewise.
3008         * recog.c: Likewise.
3009
3010 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3011
3012         * i386.c (ix86_emit_restore_regs_using_mov, ix86_save_reg): Change
3013         `bool' parameter to `int'.
3014
3015         * hash.c (hash_lookup): Likewise.
3016
3017         * hash.h (hash_lookup): Likewise.
3018
3019         * tlink.c (symbol_hash_lookup, demangled_hash_lookup): Likewise.
3020
3021 Fri May  4 13:10:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
3022
3023         * i386.c (x86_initialize_trampoline): Fix mode of constant.
3024
3025 2001-05-03  Geoff Keating  <geoffk@redhat.com>
3026
3027         * invoke.texi (i386 Options): Delete references to -malign-jumps,
3028         -malign-loops, -malign-functions.
3029         * i386.c (ix86_align_funcs): Delete.
3030         (ix86_align_loops): Delete.
3031         (ix86_align_jumps): Delete.
3032         (override_options): Mark -malign-* as obsolete.  Emulate their
3033         behaviour with the -falign-* options.  Default -falign-* from
3034         the processor table.
3035         * i386.h (FUNCTION_BOUNDARY): Define to 16; revert Richard Kenner's
3036         patch of Wed May 2 13:09:36 2001.
3037         (LOOP_ALIGN): Delete.
3038         (LOOP_ALIGN_MAX_SKIP): Delete.
3039         (LABEL_ALIGN_AFTER_BARRIER): Delete.
3040         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Delete.
3041
3042 2001-05-04  Andreas Jaeger  <aj@suse.de>
3043
3044         * except.h: Add prototype declaration for
3045         expand_builtin_init_dwarf_reg_sizes.
3046
3047 2001-05-03  Geoffrey Keating  <geoffk@redhat.com>
3048
3049         * Makefile.in (site.exp): Set TESTING_IN_BUILD_TREE.
3050
3051 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3052
3053         * config/m68hc11/m68hc11.md ("bitcmpqi"): New pattern for bitb
3054         instruction.
3055         ("bitcmpqi2"): New pattern for bit-extract and test.
3056         ("bitcmphi"): New pattern for bitb/bita instructions.
3057
3058 2001-05-03  Joseph S. Myers  <jsm28@cam.ac.uk>
3059
3060         * gccbug.in: Use a temporary directory when the mktemp command is
3061         not available.
3062
3063 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3064
3065         * config/m68hc11/m68hc11.h (STATIC_CHAIN_REGNUM): Use soft z register
3066         instead of _.d1.
3067         (INITIALIZE_TRAMPOLINE): Call it.
3068         (TRAMPOLINE_SIZE): Define according to 68HC11/68HC12.
3069         (TRAMPOLINE_TEMPLATE): Remove.
3070         * config/m68hc11/m68hc11.c (m68hc11_initialize_trampoline): New.
3071         * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline):
3072         Declare.
3073
3074 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
3075
3076         * config/t-freebsd: Don't install "assert.h" in gcc.  Compile crtbeginS.o
3077         and crtendS.o with PIC.
3078
3079 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3080
3081         * config/m68hc11/larith.asm (__mulqi3): Fix multiplication of two
3082         negative numbers.
3083         (___subdi3, ___adddi3): Use x instead of y as index register.
3084         (__init_bss_section, __map_data_section): Optimize for 68HC12.
3085         (__memset, __memcpy): Likewise.
3086         (regs): Put the soft registers in bss for 68HC12.
3087         (abort): Use trap to abort for 68hc12.
3088         (__mulhi3, __mulhi32): Use emul for 68hc12.
3089         (__mulsi3): Avoid to use the tmp soft register for 68hc12.
3090
3091 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3092
3093         * config/m68hc11/m68hc11.h (LIMIT_RELOAD_CLASS): Don't define.
3094         * config/m68hc11/m68hc11-protos.h (limit_reload_class): Remove.
3095         * config/m68hc11/m68hc11.c (limit_reload_class): Remove.
3096         (m68hc11_override_options): Remove setting of flag_no_nonansi_builtin.
3097         Set 68HC12 min offset to -65536.
3098         (print_operand): Put parenthesis arround the operand if it refers
3099         to a symbol having the same name as a register.
3100         (m68hc11_z_replacement): When z register is replaced by its
3101         equivalent soft register, force the insn to be re-recognized.
3102         (m68hc11_check_z_replacement): Fix the test when destination is
3103         the index register and z dies in the insn.
3104         (m68hc11_reorg): Remove the REG_DEAD notes beforce recomputing them.
3105
3106 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3107
3108         * config/m68hc11/m68hc11.c (m68hc11_override_options): Initialize
3109         costs according to processor variant.
3110         (m68hc11_shift_cost): New function to compute shift costs.
3111         (m68hc11_rtx_costs): Define costs according to processor variant.
3112         (m6811_cost): Costs for 68HC11.
3113         (m6812_cost): Costs for 68HC12.
3114         (COSTS_N_INSNS): Remove.
3115
3116         * config/m68hc11/m68hc11.h (RTX_COSTS): New.
3117         (DEFAULT_RTX_COSTS): Remove.
3118         (CONST_COSTS): Define costs according to OUTER_CODE.
3119         (processor_costs): New struct to define costs.
3120         (m68hc11_cost): Pointer to current costs.
3121
3122 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3123
3124         * config/m68hc11/m68hc11.md (*addhi3_68hc12): Fix generation
3125         and use m68hc11_notice_keep_cc when using leax/leay.
3126         (addhi3 split): Reject split if the insn is handled by
3127         leax/leay above.
3128         * config/m68hc11/m68hc11.c (m68hc11_split_move): For 68HC12 the
3129         push must be handled in a special way if the source operand uses
3130         sp as index register.
3131         (m68hc11_notice_keep_cc): New function.
3132         (m68hc11_gen_movhi): Use it when an insn changes a register but
3133         not the flags.
3134         (m68hc11_gen_movqi): Fix move for 68HC12.
3135         * config/m68hc11/m68hc11-protos.h (m68hc11_notice_keep_cc): Declare.
3136
3137 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3138
3139         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use LCT_CONST
3140         and don't pass operands[0] to emit_library_call_value.
3141
3142 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3143
3144         * config/m68hc11/m68hc11.md (tsthi_1): Use cpd for 68HC12.
3145         (zero_extendsi split): Simplify and use (zero_extendhi).
3146         (*addhi3): Remove 'w' constraint since stack pointer is handled
3147         by (addhi3_sp).
3148         (*ashlhi3_2): Operand 2 is clobbered use '+' for its constraint.
3149         (*ashlhi3, *ashrhi3, *lshrhi3): Likewise.
3150         (*ashrhi3_const): Fix shift by 7.
3151         (*lshrsi3_const16): Fix template.
3152         (call, call_value): Fix constraint and predicate.
3153
3154 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3155
3156         * config/m68hc11/m68hc11.md (X_REGNUM, D_REGNUM): New constant.
3157         (Y_REGNUM, SP_REGNUM, PC_REGNUM, A_REGNUM, B_REGNUM): Likewise.
3158         (CC_REGNUM): Likewise.
3159         (*unnamed splits): Use above constants instead of hard coded numbers.
3160         (*adcq, *subcq, *addsi_carry, *rotlqi3_with_carry): Likewise.
3161         (*rotlhi3_with_carry, *rotrhi3_with_carry): Likewise.
3162         (*return_16bit, *unnamed peepholes): Likewise.
3163
3164 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
3165
3166         * config.gcc(rs6000-ibm-aix|powerpc-ibm-aix):  Do not include
3167         rs6000/rs6000.h twice.
3168
3169 2001-05-03  Mark Elbrecht  <snowball3@bigfoot.com>
3170
3171         * config/i386/djgpp.h (CPP_PREDEFINES): Define __GO32__.
3172         (CPP_SPEC): Conditionally define MSDOS and GO32.
3173         (SUBTARGET_SWITCHES): Ignore -mbnu210 and -mno-bnu210.
3174         (SUBTARGET_OVERRIDE_OPTIONS): Warn that -mbnu210 and -mno-bnu210 are
3175         ignored.
3176         (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Remove.
3177
3178 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
3179
3180         * config/mn10300/mn10300.md: Sign-extend GEN_INT operands.
3181
3182 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
3183
3184         * integrate.h (struct inline_remap): Add leaf_reg_map table.
3185         * integrate.c (expand_inline_function): Use xcalloc to allocate
3186         memory.
3187         (copy_rtx_and_substitute): Use the leaf_reg_map for leaf
3188         registers.
3189
3190 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
3191
3192         * c-dump.c (dequeue_and_dump): Don't look at DECL_ASSEMBLER_NAME
3193         if it is not set.
3194
3195 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
3196
3197         * config/mn10300/mn10300.h (LINK_SPEC): Pass --relax to the
3198         linker if -mrelax is given.
3199         (TARGET_SWITCHES): Document -mrelax.
3200
3201         Re-installed 2001-01-09's patch:
3202         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
3203         if it's wider than long and the target's long is wider than the
3204         host's.
3205
3206 2001-05-02  David O'Brien  <obrien@FreeBSD.org>
3207
3208         * config.gcc, config/rs6000/aix51.h, config/rs6000/mach.h:  Do not
3209         directly include rs6000/rs6000.h.  Instead do it in tm.h.
3210
3211 2001-05-02  Stan Shebs  <shebs@apple.com>
3212
3213         * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Default to
3214         NSConstantString for NeXT-style runtimes.
3215         (STRING_OBJECT_GLOBAL_NAME): New macro.
3216         (enum objc_tree_index): Add values OCTI_CNST_STR_GLOB_ID and
3217         OCTI_STRING_CLASS_DECL.
3218         (constant_string_global_id): New macro.
3219         (string_class_decl): Ditto.
3220         (setup_string_decl): New function.
3221         (build_objc_string_object): Use it to build a NeXT runtime
3222         compatible string initializer.
3223
3224 2001-05-02  Jakub Jelinek  <jakub@redhat.com>
3225
3226         * tradcpp.c (do_define): Make sure we don't walk past limit.
3227
3228 2000-05-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3229
3230         * config/rs6000/rs6000.c (rs6000_legitimate_address): Allow any stack
3231         offsets if not REG_OK_STRICT.
3232
3233         * config/rs6000/rs6000.h (REG_OK_STRICT_FLAG): New macro.
3234         (INT_REG_OK_FOR_INDEX_P): Likewise.
3235         (INT_REG_OK_FOR_BASE_P): Likewise.
3236         (REG_OK_FOR_INDEX_P): Use INT_REG_OK_FOR_INDEX_P.
3237         (REG_OK_FOR_BASE_P): Use INT_REG_OK_FOR_BASE_P.
3238         (LEGITIMATE_OFFSET_ADDRESS_P): Use INT_REG_OK_FOR_INDEX_P and
3239         INT_REG_OK_FOR_BASE_P instead of REG_OK_FOR_INDEX_P and
3240         REG_OK_FOR_BASE_P. Take an additional parameter.
3241         (LEGITIMATE_INDEXED_ADDRESS_P): Likeewise.
3242         (LEGITIMATE_INDIRECT_ADDRESS_P): Likewise.
3243         (LEGITIMATE_LO_SUM_ADDRESS_P): Likewise.
3244         (GO_IF_LEGITIMATE_ADDRESS): Move code into new function
3245         rs6000_legitimate_address() and use it.
3246         * config/rs6000/rs6000.c: Update all callers.
3247         (rs6000_legitimate_address): New function.
3248
3249 2001-05-02  David Edelsohn  <edelsohn@gnu.org>
3250
3251         * config/rs6000/rs6000.c (rs6000_emit_move): Merge
3252         special_constant conditional blocks together.
3253
3254 2001-05-02  Dale Johannesen  <dalej@apple.com>
3255
3256         * config/rs6000/rs6000.h (RS6000_ARG_SIZE): Remove unused NAMED
3257         parameter.
3258         (STRICT_ARGUMENT_NAMING): Define.
3259         * config/rs6000/rs6000.c (function_arg_advance, function_arg,
3260         function_arg_partial_nregs, setup_incoming_varargs): Remove
3261         args logic which depends on "named" now that STRICT_ARGUMENT_NAMING
3262         is defined.
3263
3264 Wed May  2 13:09:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3265
3266         * config/i386/i386.h (FUNCTION_BOUNDARY): Result is unsigned.
3267
3268         * function.c (fixup_var_regs_1, case SUBREG): Use promoted mode
3269         for replacement.
3270
3271         * expr.c (store_field): Do nothing except elaborate side-effects if
3272         zero-bit field.
3273
3274 2001-05-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3275
3276         * c-lex.c: NULL_PTR -> NULL.
3277         * cse.c: Likewise.
3278         * emit-rtl.c: Likewise.
3279         * gcse.c: Likewise.
3280         * genpeep.c: Likewise.
3281         * jump.c: Likewise.
3282         * mips-tdump.c: Likewise.
3283         * reload1.c: Likewise.
3284         * rtlanal.c: Likewise.
3285         * stmt.c: Likewise.
3286         * stor-layout.c: Likewise.
3287         * toplev.c: Likewise.
3288
3289 2001-05-01  Per Bothner  <per@bothner.com>
3290
3291         * expr.c (expand_expr):  When compiling LABELED_BLOCK_EXPR,
3292         call do_pending_stack_adjust before emiting label.
3293
3294 2001-05-01  Mark Mitchell  <mark@codesourcery.com>
3295
3296         * extend.texi: Fix typo.
3297
3298 2001-05-01  Stan Shebs  <shebs@apple.com>
3299
3300         * objc/objc-act.c (build_module_descriptor): Clear DECL_CONTEXT
3301         of UOBJC_MODULES_decl.
3302         (generate_strings): Clear DECL_CONTEXT of new decl nodes.
3303         (generate_descriptor_table): Ditto.
3304         (generate_protocols): Ditto.
3305         (generate_protocol_list): Ditto.
3306         (generate_classref_translation_entry): Ditto.
3307
3308 2001-05-01  Jeffrey Oldham  <oldham@codesourcery.com>
3309
3310         * invoke.texi (Optimize Options): Add documentation for `--param
3311         max-delay-slot-insn-search' and `--param
3312         max-delay-slot-live-search' and reorder --param section.
3313         * params.def: Modify initial comment.
3314         * params.h (param_info): Add `help' member.
3315         * toplev.c (lang_independent_params): Include `help' description.
3316         (display_help): Print --param parameters.
3317
3318 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
3319
3320         * config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}.
3321         Remove references to deleted files.
3322         (*-*-openbsd): No need to override xmake_file.
3323         (*-*-sysv4): Treat like *-*-sysv.
3324
3325         * configure.in: Probe for ldopen in various places, and set up
3326         collect2 to be linked with them if found.
3327         Don't dink with Windows registry stuff unless $host_os is a
3328         Win32 os name.  Check to see if we need -ladvapi32.
3329         * configure: Regenerate.
3330
3331         * Makefile: Get rid of CLIB and HOST_CLIB.
3332         Substitute in COLLECT2_LIBS and link collect2 against its contents.
3333         * build-make: Get rid of HOST_CLIB.
3334
3335         * config/a29k/x-unix, config/alpha/x-osf, config/i386/x-aix,
3336         config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
3337         config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
3338         config/mips/x-sysv, config/rs6000/x-aix31, config/rs6000/x-aix41,
3339         config/rs6000/x-rs6000: Delete.
3340
3341         * config/i386/x-cygwin, config/m68k/t-aux, config/mips/x-iris:
3342         Don't set CLIB.
3343
3344         24 x-host fragments remain, 0 x-cpu, 3 top level.
3345
3346 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
3347
3348         * aclocal.m4 (gcc_AC_C_CHAR_BIT): Correct test program.
3349         * configure: Regenerate.
3350
3351 2001-05-01  Angela Marie Thomas <angela@cygnus.com>
3352
3353         * Makefile.in (install-headers): Remove redundant dependency.
3354
3355 2001-05-01  Nathan Sidwell  <nathan@codesourcery.com>
3356
3357         * c-tree.texi (USING_STMT): Document.
3358
3359 2001-05-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3360
3361         * bitmap.c: Change NULL_PTR to NULL or "(rtx*)0".
3362         * c-common.c: Likewise.
3363         * c-decl.c: Likewise.
3364         * combine.c: Likewise.
3365         * rs6000.c: Likewise.
3366         * except.c: Likewise.
3367         * explow.c: Likewise.
3368         * expr.c: Likewise.
3369         * fold-const.c: Likewise.
3370         * function.c: Likewise.
3371         * gcc.c: Likewise.
3372         * gcse.c: Likewise.
3373         * integrate.c: Likewise.
3374         * loop.c: Likewise.
3375         * objc/objc-act.c: Likewise.
3376         * recog.c: Likewise.
3377         * reg-stack.c: Likewise.
3378         * reload.c: Likewise.
3379         * reload1.c: Likewise.
3380         * simplify-rtx.c: Likewise.
3381         * stmt.c: Likewise.
3382         * varasm.c: Likewise.
3383
3384 2001-05-01  Gabriel Dos Reis  <gdr@codesourcery.com>
3385
3386         * diagnostic.def: New file.
3387         * diagnostic.h (diagnostic_t): New enum.
3388         * Makefile.in (diagnostic.o): Depend on diagnostic.def
3389
3390 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
3391
3392         * tsystem.h: Test only POSIX for availability of string.h
3393         and time.h.
3394         * config.gcc (all systems): If USG appeared in xm_defines,
3395         change it to POSIX.  If both USG and POSIX appeared, just
3396         delete USG. Remove unnecessary quotes around xm_defines
3397         settings.
3398         (m68k-crds-unos*): Don't #define unos - tested nowhere.
3399         (m68k-apple-aux*): Don't #define AUX - tested nowhere.
3400         (alpha*-*-linux*ecoff*, powerpc-*-linux*libc1,
3401         powerpc-*-linux*): No need to set xm_defines - handled by
3402         global settings for *-*-linux*.
3403
3404 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
3405
3406         * dbxout.c, mips-tfile.c, config/mips/mips.c, xcoffout.c:
3407         Always include gstab.h, not system stab.h.  Don't provide
3408         default definitions of N_CATCH or N_OPT.  Always use the
3409         gstab.h variant of STAB_CODE_TYPE.
3410         * final.c: Don't include stab.h/gstab.h at all, or provide
3411         defaults for N_SLINE and N_SOL.
3412
3413         * xcoffout.c: Can assume N_MAIN, N_DSLINE, N_BSLINE, N_BINCL,
3414         N_EINCL, N_EXCL, N_M2C, N_SCOPE, N_CATCH, and N_OPT are
3415         available.
3416         * sdbout.c: Always include gsyms.h instead of system syms.h.
3417
3418         * configure.in: No need to check for stab.h.
3419         * configure, config.in: Regenerate.
3420         * Makefile.in (final.o): Don't depend on gstab.h.
3421
3422 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
3423             Richard Henderson  <rth@redhat.com>
3424
3425         * extend.texi: Improve documentation of volatile asms.
3426
3427 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
3428
3429         * c-tree.texi: Fix thinko.
3430         * gcc.texi: Likewise.
3431
3432 2001-04-30  Richard Henderson  <rth@redhat.com>
3433
3434         * c-common.c (c_promoting_integer_type_p): New function, from the
3435         corpse of old macro.  Properly promote too-small enumerations and
3436         booleans.  Adjust all callers.
3437         * c-common.h (C_PROMOTING_INTEGER_TYPE_P): Remove.
3438         (c_promoting_integer_type_p): Declare.
3439         * c-decl.c: Adjust C_PROMOTING_INTEGER_TYPE_P invocations.
3440         * c-typeck.c: Likewise.
3441         (default_conversion): Remove now redundant boolean check.
3442
3443 2001-04-30  Jan Hubicka  <jh@suse.cz>
3444             Richard Henderson  <rth@redhat.com>
3445
3446         * regmove.c (try_apply_stack_adjustment): Remove now redundant
3447         sanity checks.
3448         (combine_stack_adjustments_for_block): Don't combine stack
3449         allocation followed by deallocations.  Handle grow-up stacks.
3450
3451 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
3452
3453         * fdl.texi: New file.
3454         * c-tree.texi: Use the GFDL.
3455         * gcc.texi: Likewise.
3456
3457 2001-04-30  Stan Shebs  <shebs@apple.com>
3458
3459         * invoke.texi: Add a section documenting Objective-C options.
3460
3461 2001-04-27  Andrew Haley  <aph@cambridge.redhat.com>
3462
3463         * emit-rtl.c (try_split):  Copy EH notes to sequence.
3464
3465 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
3466
3467         * regmove.c (record_stack_memrefs): Catch all references to the
3468         stack pointer.
3469
3470 2001-04-29  Toomas Rosin <toomas at ns dot tklabor dot ee>
3471
3472         * Makefile.in (stmp-fixinc): quote shell assignment values
3473
3474 2001-04-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3475
3476         * c-aux-info.c: NULL_PTR->NULL in calls to `concat'.
3477
3478         * gcc.c: Likewise.
3479
3480         * prefix.c: Likewise.
3481
3482 2001-04-28  Stan Shebs  <shebs@apple.com>
3483
3484         * objc/objc-act.c (handle_class_ref): Rewrite to flush target
3485         specific code and use new macro ASM_DECLARE_UNRESOLVED_REFERENCE.
3486         * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Define.
3487         * tm.texi (ASM_DECLARE_UNRESOLVED_REFERENCE): Document.
3488
3489         * config/darwin.h (STANDARD_EXEC_PREFIX): Don't define.
3490         (NEXT_OBJC_RUNTIME): Define.
3491
3492 Sat Apr 28 21:02:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
3493
3494         * rtl.h (simplify_gen_relational): Add cmp_mode parameter.
3495         * simplify-rtx.c (simplify_gen_relational): Likewise.
3496
3497         * simplify-rtx.c (simplify_replace_rtx): Handle relationals and MEMs.
3498
3499         * i386.h (VALID_SSE_REG_MODE): Accept MMX modes if SSE2
3500         * i386.md (movsi_1, movdi2, movdi_1_rex64): Handle SSE2 moves.
3501
3502         * i386.md (negsf2, negdf2, abssf2, absdf2): Force operands to
3503         registers in SSE case; fix handling of the immediates.
3504         (negsf2_ifs, abssf2_ifs): Tweak constraints; require
3505         operands to be in regsiters before reload.
3506         (negdf2_ifs, absdf2_ifs): Likewise; disable for 64bit
3507         (negdf2_ifs_rex64, absdf2_ifs_rtx64): New.
3508         (abstf,absxf,negtf,negxf splitters): Compute
3509         properly the regnum for x86_64.
3510         (avsdf2_if_rex64): New.
3511
3512 Sat Apr 28 10:36:23 2001  Jeffrey A Law  (law@cygnus.com)
3513
3514         * flow.c (propagate_block_delete_insn): Handle deletion of ADDR_VEC
3515         and ADDR_DIFF_VEC insns when the proceeding CODE_LABEL was put
3516         into the constant pool.
3517         * jump.c (jump_optimize_1): Remove barrier successors after all
3518         the LABEL_NUSES counds have been computed.
3519         (delete_barrier_successors): When deleting a tablejump insn, also
3520         delete the jump table it uses.
3521         * varasm.c (force_const_mem): Set LABEL_PRESERVE_P when forcing a
3522         label into memory.
3523
3524 2001-04-28  Martin Kalen  <martin.kalen@todaysystems.com.au>
3525
3526         * pa.c (FRP): Remove erroneous white space in macro definition.
3527
3528 2001-04-28  Andreas Jaeger  <aj@suse.de>
3529
3530         * invoke.texi: Use XX-bit instead of XXbit or XX bit where
3531         appropriate.
3532         * extend.texi: Likewise.
3533         * tm.texi: Likewise.
3534
3535 2001-04-28  Andreas Jaeger  <aj@suse.de>
3536
3537         * md.texi: Use XX-bit instead of XXbit or XX bit where
3538         appropriate.
3539
3540 2001-04-28  Jens Schweikhardt <schweikh@schweikhardt.net>
3541
3542         * gcc.c (process_command): Allow -l lib in addition to -llib
3543         for POSIX compliance. This fixes PR c/2347.
3544
3545         * invoke.texi: Update section on Link Options accordingly.
3546
3547 2001-04-27  Zack Weinberg  <zackw@stanford.edu>
3548
3549         * function.c (purge_addressof_1): Remove the duplicate
3550         if (code == SET) block.  Fold the two if (code == ADDRESSOF)
3551         blocks together.
3552
3553 2001-04-28  Jason Merrill  <jason_merrill@redhat.com>
3554
3555         * except.c (expand_eh_region_start): Don't start a new block.
3556         (expand_eh_region_end): Don't end a block.
3557         * stmt.c (expand_end_bindings): Don't end EH blocks.
3558         (expand_decl_cleanup): Starting an EH region won't change the block.
3559         (mark_block_as_eh_region, mark_block_as_not_eh_region): Lose.
3560         (is_eh_region): Lose.
3561         * tree.h: Adjust.
3562
3563 2001-04-27  Jeffrey Oldham  <oldham@codesourcery.com>
3564
3565         * except.c (expand_eh_region_end_cleanup): word_mode, not Pmode.
3566
3567         * collect2.c (main): Add `-L' case to remove duplicate entries.
3568         (is_in_args): New function to check for a duplicate argument.
3569         * defaults.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New macro.
3570         * tm.texi (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New documentation.
3571         * config/mips/iris6.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES):
3572         Define to be nonzero.
3573
3574 2001-04-27  Andreas Jaeger  <aj@suse.de>
3575             Richard Henderson  <rth@redhat.com>
3576
3577         * md.texi (Machine Constraints): Document additional i386
3578         constraints and fix description of "A".
3579
3580 Fri Apr 27 10:43:49 2001  Jeffrey A Law  (law@cygnus.com)
3581
3582         * tm.texi (TARGET_MEM_FUNCTIONS): Update text.
3583
3584 2001-04-27  Jason Merrill  <jason_merrill@redhat.com>
3585
3586         * except.c (get_exception_filter): word_mode, not Pmode.
3587
3588 2001-04-26  Geoffrey Keating  <geoffk@redhat.com>
3589
3590         * config/sparc/sparc.md (movsf_no_f_insn): Add more alternatives
3591         common to other movsf patterns.  Move up so that in future
3592         people who change the other patterns will change it too.
3593         (movsf_lo_sum): Allow even for soft-float; add appropriate
3594         constraints.
3595         (movsf_high): Likewise.
3596         (movsf_high+1): Allow even for soft-float.
3597
3598         * function.c (expand_function_end): Always clobber the
3599         return registers, even if there is no return label.
3600
3601 Thu Apr 26 20:28:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
3602
3603         * (ix86_expand_fp_movcc): Re-enable SSE conditional move generation.
3604
3605 Thu Apr 26 19:20:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
3606
3607         * i386.md (abs/neg splitter): Fix calculation of sign bit for TFmodes
3608         (pushqi2_rex64, pushhi2_rex64): Add.
3609
3610 2001-04-26  Andrew Haley  <aph@cambridge.redhat.com>
3611
3612         * except.c (expand_eh_region_end_cleanup): Force pending stack
3613         adjust before emitting label that branches around cleanup code.
3614
3615 2001-04-26  H.J. Lu  (hjl@gnu.org)
3616
3617         * config.gcc (mips*-*-linux*): Add elfos.h to tm_file.
3618
3619         * config/mips/ecoff.h (STARTFILE_SPEC): Undefine before
3620         define.
3621         * config/mips/elf64.h (MAX_OFILE_ALIGNMENT): Likewise.
3622         (ASM_OUTPUT_SECTION_NAME): Likewise.
3623         (ASM_WEAKEN_LABEL): Likewise.
3624         (UNIQUE_SECTION): Likewise.
3625         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
3626         (ASM_OUTPUT_DESTRUCTOR): Likewise.
3627         * config/mips/elf.h (MAX_OFILE_ALIGNMENT): Likewise.
3628         (ASM_OUTPUT_SECTION_NAME): Likewise.
3629         (ASM_WEAKEN_LABEL): Likewise.
3630         (UNIQUE_SECTION): Likewise.
3631         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
3632         (ASM_OUTPUT_DESTRUCTOR): Likewise.
3633         * config/mips/linux.h (HANDLE_SYSV_PRAGMA): Likewise.
3634         * config/mips/mips.h (DBX_CONTIN_LENGTH): Likewise.
3635         (ASM_FILE_START): Likewise.
3636         (ASM_OUTPUT_SOURCE_LINE): Likewise.
3637         (ASM_DECLARE_OBJECT_NAME): Likewise.
3638         (ASM_FILE_END): Likewise.
3639         (ASM_DECLARE_FUNCTION_NAME): Likewise.
3640         (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
3641         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3642         (ASM_OUTPUT_CASE_LABEL): Likewise.
3643         (ASM_OUTPUT_SKIP): Likewise.
3644         (ASM_OUTPUT_ASCII): Likewise.
3645         (ASM_OUTPUT_IDENT): Likewise.
3646         (READONLY_DATA_SECTION): Likewise.
3647         (EXTRA_SECTIONS): Likewise.
3648         (EXTRA_SECTION_FUNCTIONS): Likewise.
3649         (SELECT_RTX_SECTION): Likewise.
3650         (SELECT_SECTION): Likewise.
3651
3652         * config/mips/linux.h (INVOKE__main): Undefine.
3653         (CTOR_LIST_BEGIN): Likewise.
3654         (CTOR_LIST_END): Likewise.
3655         (DTOR_LIST_BEGIN): Likewise.
3656         (DTOR_LIST_END): Likewise.
3657         (SET_ASM_OP): Defined it to ".dummy".
3658         (ASM_OUTPUT_DEF): Defined.
3659         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Defined.
3660
3661 2001-04-26  Nick Clifton  <nickc@cambridge.redhat.com>
3662
3663         * config/arm/arm.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define, if the
3664         assembler supports .p2align.
3665
3666 2001-04-26  Nathan Sidwell <nathan@codesourcery.com>
3667
3668         * c-lex.c (c_lex): Remove # from %o diagnostic formatting.
3669
3670 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
3671
3672         * integrate.c (expand_inline_function): Check for error_mark_node
3673         in actual argument.
3674
3675 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
3676
3677         * config/i386/i386.h (CC1_CPU_SPEC): Fix deprecation warnings for
3678         -m386 and -m486.
3679
3680 2001-04-26  Alexandre Oliva  <aoliva@redhat.com>
3681
3682         * configure.in (configargs.h): Define thread_model.
3683         * configure: Rebuilt.
3684         * gcc.c (main): Print it with -v.
3685
3686 2001-04-25  Joseph S. Myers  <jsm28@cam.ac.uk>
3687
3688         * invoke.texi: Document -Wmissing-braces, -dumpspecs,
3689         -dumpmachine, -dumpversion, -fmem-report and -ftime-report.
3690         * gcc.1: Regenerate.
3691
3692 2001-04-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3693
3694         * dwarfout.c (is_pseudo_reg, type_main_variant, is_tagged_type,
3695         is_redundant_typedef): Use static inline instead of inline static.
3696
3697 Wed Apr 25 18:21:01 2001  Christopher Faylor <cgf@cygnus.com>
3698
3699         * config/i386/cygwin.h: Move W32API search to LINK_SPEC to ensure that
3700         this directory is always searched.
3701
3702 2001-04-25  Richard Henderson  <rth@redhat.com>
3703
3704         * config/i386/i386.c (ix86_expand_epilogue): Properly compute size
3705         of registers to restore along non eh_return path.
3706
3707 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
3708
3709         * c-format.c (check_format_info_recurse): Handle
3710         PLUS_EXPR for format string.
3711
3712 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
3713
3714         * config/ia64/ia64.h (CC1_SPEC): Define.
3715         * config/ia64/linux.h (CC1_SPEC): Define.
3716
3717 Wed Apr 25 17:09:50 2001  J"orn Rennecke <amylaar@redhat.com>
3718
3719         * emit-rtl.c (constant_subword): Also do sign extension in
3720         BITS_PER_WORD == 16 case.
3721
3722 2001-04-25  Jason Merrill  <jason_merrill@redhat.com>
3723
3724         * loop.c (try_swap_copy_prop): Go back to checking insn.
3725
3726 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
3727
3728         * emit-rtl.c (subreg_hard_regno): Only do HARD_REGNO_MODE_OK check
3729         if check_mode is non-zero.
3730
3731 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
3732
3733         * config/i386/i386.c (ix86_expand_int_movcc): If overlap between
3734         out and comparison sequence has been detected, put result into
3735         proper temporary pseudo.
3736
3737 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
3738
3739         * Makefile.in (LIB2FUNCS): Remove _varargs and __dummy.
3740         * libgcc-std.ver: Remove __builtin_saveregs, __dummy, and __empty.
3741         * libgcc2.c: Remove __dummy and __builtin_saveregs.
3742         * libgcc2.h: Don't prototype __builtin_saveregs or __dummy.
3743         * config/i860/varargs.asm: New file - preserve i860 __builtin_saveregs
3744         for future reference.
3745
3746 2001-04-24  Jason Merrill  <jason_merrill@redhat.com>
3747
3748         * except.c (reachable_handlers): Step out one level from a RESX.
3749
3750         * except.c (struct eh_region): Rename 'last' to 'resume'.
3751         (mark_eh_region, duplicate_eh_region_1): Adjust.
3752         (expand_eh_region_end_cleanup): Remember the jump, not the barrier.
3753         (build_post_landing_pads): Likewise.
3754         (expand_end_catch, expand_eh_region_end_allowed): Don't set it.
3755         (expand_eh_region_end_must_not_throw): Likewise.
3756         (connect_post_landing_pads): Thread (only) regions with non-deleted
3757         resume insns.
3758
3759         * except.c (expand_eh_region_end_cleanup): Save the EH return data
3760         registers around the cleanup.
3761         (get_exception_filter): New fn.
3762         (finish_eh_generation): Use it.
3763
3764 2001-04-24  Nathan Sidwell <nathan@codesourcery.com>
3765
3766         * c-semantics.c (add_scope_stmt): Don't call
3767         current_scope_stmt_stack multiple times.
3768
3769 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
3770             Nathan Sidwell <nathan@codesourcery.com>
3771
3772         Lazy __FUNCTION__ generation.
3773         * c-common.h (RID_FUNCTION_NAME, RID_PRETTY_FUNCTION_NAME,
3774         RID_C99_FUNCTION_NAME): New _RIDs.
3775         (CTI_FUNCTION_ID, CTI_PRETTY_FUNCTION_ID, CTI_FUNC_ID): Remove.
3776         (CTI_FUNCTION_NAME_DECL, CTI_PRETTY_FUNCTION_NAME_DECL,
3777         CTI_C99_FUNCTION_NAME_DECL, CTI_SAVED_FUNCTION_NAME_DECLS): New
3778         global tree slots.
3779         (function_id_node, pretty_function_id_node, func_id_node): Remove.
3780         (c99_function_name_decl_node, function_name_decl_node,
3781         pretty_function_name_decl_node, saved_function_name_decls):
3782         Declare.
3783         (struct language_function): Remove x_function_name_declared_p.
3784         (make_fname_decl): Remove a parameter.
3785         (declare_function_names): Remove prototype.
3786         (start_fname_decls, finish_fname_decls): Prototype.
3787         (fname_as_string): Likewise.
3788         (fname_string, fname_decl): Likewise.
3789         * c-common.c (make_fname_decl): Adjust.
3790         (struct fname_var_t): New struct.
3791         (fname_vars): New static array.
3792         (declare_function_name): Remove.
3793         (start_fname_decls, finish_fname_decls): New functions.
3794         (fname_as_string): New function from remnants of
3795         declare_function_name.
3796         (fname_string, fname_decl): New functions.
3797
3798         * c-decl.c (c_function_name_declared_p): Remove.
3799         (init_decl_processing): Don't generate __FUNCTION__ et al ids,
3800         don't call declare_function_name. Call start_fname_decls.
3801         (c_make_fname_decl): Adjust parameters. Generate the name. Don't
3802         clobber the line number. Call finish_decl.
3803         (start_function): Call start_fname_decls.
3804         (finish_function): Call finish_fname_decls.
3805         Remove c_function_name_declared_p.
3806         (push_c_function_context): Don't push c_function_name_declared_p.
3807         (pop_c_function_context): Don't pop c_function_name_declared_p.
3808         (c_begin_compound_stmt): Don't check c_function_name_declared_p.
3809         * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): New tokens.
3810         (program): Call finish_fname_decls for C.
3811         (primary): Add VAR_FUNC_NAME.
3812         (reswords): Add slots for __FUNCTION__ et al.
3813         (rid_to_yy): Add mappings for __FUNCTION__ et al.
3814         (yylexname): If it's a STRING_FUNC_NAME generate the function name
3815         now. Don't look for VAR_DECLs containing __FUNCTION__ et al.
3816         * c-semantics.c (prune_unused_decls): Remove.
3817         (finish_stmt_tree): Don't call prune_unused_decls.
3818         (genrtl_decl_stmt): Don't prune unused decls here.
3819
3820 2001-04-24  Nick Clifton  <nickc@cambridge.redhat.com>
3821
3822         * dwarf2out.c (mem_loc_descriptor): If a SYMBOL_REF is in the
3823         constant pool, use the pool's SYMBOL_REF instead.
3824
3825         * config/v850/v850.h (STRICT_ALIGNMENT): Always set, even for the
3826         v850e.
3827
3828 2001-04-23  Joseph S. Myers  <jsm28@cam.ac.uk>
3829
3830         * c-convert.c (convert): When converting to a BOOLEAN_TYPE, avoid
3831         passing nested NOP_EXPRs to fold.
3832
3833 Mon Apr 23 14:32:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
3834
3835         * reg-stack.c (emit_swap_insn): Do not get pass CALL_INSNs.
3836
3837 2001-04-22  Mark Mitchell  <mark@codesourcery.com>
3838
3839         * loop.c (loop_delete_insns): Add prototype.
3840
3841 2001-04-23  Phil Edwards  <pme@sources.redhat.com>
3842
3843         * configure.in:  Remove ENABLE_STD_NAMESPACE.
3844         * config.in:  Regenerated.
3845         * configure:  Regenerated.
3846
3847 2001-04-22  Stan Shebs  <shebs@apple.com>
3848
3849         * config.gcc (powerpc-*-darwin*): Move the flag in xm-darwin.h
3850         into xm_defines.
3851         * config/rs6000/xm-darwin.h: Remove file.
3852
3853 2001-04-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3854
3855         * collect2.c (main): Use concat in lieu of xmalloc/sprintf.
3856         (write_c_file_stat): Likewise.
3857
3858         * dbxout.c (dbxout_init): Likewise.
3859
3860         * profile.c (output_func_start_profiler): Likewise.
3861
3862 2001-04-22  Philipp Thomas  <pthomas@suse.de>
3863
3864         * ABOUT-GCC-NLS: Now that gettext 0.10.37 is out,
3865         require it instead of the CVS version.
3866         * cpperror.c (v_message): Put a blank before the macro
3867         body to not confuse exgettext.
3868
3869 2001-04-21  Mark Mitchell  <mark@codesourcery.com>
3870
3871         * flow.c (proagate_one_insn): Remove useless assignment.
3872         * jump.c (delete_insn): Tidy.
3873         * loop.c (try_copy_prop): When deleting an instruction with a
3874         REG_RETVAL note, delete the entire libcall sequence.
3875         (loop_delete_insns): New function.
3876         * unroll.c (initial_reg_note_copy): Copy INSN_LIST notes, even if
3877         we're not substituting into them yet.
3878
3879 2001-04-21  Kazu Hirata  <kazu@hxi.com>
3880
3881         * config/h8300/h8300.c (general_operand_src): Fix a comment typo.
3882
3883         * config/sparc/sparc.c (sparc_flat_eligible_for_epilogue_delay):
3884         Fix a comment typo.
3885         * config/i960/i960.c (signed_arith_operand): Likewise.
3886
3887         * calls.c (expand_call): Fix a comment typo.
3888
3889 2001-04-20  Zack Weinberg  <zackw@stanford.edu>
3890
3891         * configure.in: Probe for times, clock, struct tms, and clock_t.
3892         * configure, config.in: Regenerate.
3893         * timevar.c: Replace ifdef forest in get_time with (relatively)
3894         straightforward series of checks based on autoconf's probes.
3895
3896 Fri Apr 20 12:24:50 2001  Jeffrey A Law  (law@cygnus.com)
3897
3898         * config/pa/som.h (NM_FLAGS): Define.
3899
3900 2001-04-20  Bernd Schmidt  <bernds@redhat.com>
3901
3902         * ia64.h (MD_SCHED_REORDER, MD_SCHED_REORDER2): Pass CLOCK to called
3903         function.
3904         * ia64-protos.h (ia64_sched_reorder): Additional arg for clock.
3905         * ia64.c (nop_cycles_until): New function.
3906         (prev_cycle, prev_first, last_issued): New static variables.
3907         (ia64_sched_reorder): Additional arg for clock.
3908         On final scheduling pass, emit extra NOPs as needed.
3909         Set prev_first and prev_cycle.
3910         (ia64_sched_reorder2): Pass clock arg down to ia64_sched_reorder.
3911         (ia64_variable_issue): Set last_issued.
3912
3913 2001-04-20  Alexandre Oliva  <aoliva@redhat.com>
3914
3915         * config/i386/i386.c (ix86_expand_int_movcc,
3916         ix86_expand_strlensi_unroll_1): Sign-extend CONST_INTs.
3917
3918 2001-04-20  Geoff Keating  <geoffk@redhat.com>
3919
3920         * config/rs6000/rs6000.md (ctrsi_internal1, ctrsi_internal2,
3921         ctrsi_internal3, ctrsi_internal4, ctrsi_internal5,
3922         ctrsi_internal6, ctrdi_internal1, ctrdi_internal2,
3923         ctrdi_internal3, ctrdi_internal4, ctrdi_internal5,
3924         ctrdi_internal6): In the short-branch case, this insn is only 4
3925         bytes long.  Reported by Reza Yazdani <reza@apple.com>.
3926
3927 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
3928
3929         * reg-stack.c (check_asm_stack_operands): Issue error if "=t" resp.
3930         "=u" is used together with "st" resp. "st(1)" clobber.
3931
3932 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
3933
3934         * gcse.c (gcse_main): Fix comment typo.
3935         (delete_null_pointer_check): Likewise.
3936         (hash_scan_set): Don't consider sets with REG_EQUIV MEM notes.
3937         * cse.c (cse_insn): Likewise.
3938         * function.c (fixup_var_refs_insns_with_hash): The sequence is
3939         toplevel.
3940
3941 2001-04-19  Zack Weinberg  <zackw@stanford.edu>
3942
3943         * toplev.c: Excise all code for the undocumented -dm option.
3944         (float_signal): Call signal just once, unconditionally.
3945
3946 2001-04-19  Geoff Keating  <geoffk@redhat.com>
3947
3948         * fold-const.c (fold): Use first_rtl_op rather than
3949         TREE_CODE_LENGTH when looping over parameters of a tree.
3950         Correct strange grouping in test for evaluated SAVE_EXPR.
3951
3952 Thu Apr 19 19:15:26 2001  Jeffrey A Law  (law@cygnus.com)
3953
3954         * config/pa/pa-linux.h (CPLUSPLUS_CPP_SPEC): Undefine.
3955         * config/pa/pa.h (CPLUSPLuS_CPP_SPEC): Define.
3956
3957         * config/pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Truncate subspace
3958         name at 32 total characters.
3959         (ASM_OUTPUT_SECTION_NAME): Similarly.  Also, only support placing
3960         functions in named sections -- data items can still go into unique
3961         sections, but they have normal names (ie $LIT$ and $DATA$).
3962
3963         * config/pa/som.h (SUPPORTS_INIT_PRIORITY): SOM does not support
3964         INIT_PRIORITY.
3965
3966 2001-04-19 DJ Delorie  <dj@redhat.com>
3967
3968         * config/alpha/vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
3969         to TARGET_OBJECT_SUFFIX and TARGET_EXECUTABLE_SUFFIX.
3970         * config/i386/cygwin.h: Likewise.
3971         * config/i386/mingw32.h: Likewise.
3972         * config/vax/vms.h: Likewise.
3973         * config/i386/djgpp.h: Remove NO_AUTO_EXE_SUFFIX.
3974
3975         * config/alpha/xm-vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
3976         to HOST_OBJECT_SUFFIX and HOST_EXECUTABLE_SUFFIX.
3977         * config/i386/xm-cygwin.h: Likewise.
3978         * config/i386/xm-djgpp.h: Likewise.
3979         * config/i386/xm-mingw32.h: Likewise.
3980         * config/vax/xm-vms.h: Likewise.
3981
3982         * mkdeps.c (deps_add_default_target): Use TARGET_OBJECT_SUFFIX
3983         instead of OBJECT_SUFFIX.
3984         * collect2.c (find_a_file): Look for files matching the extension
3985         HOST_EXECUTABLE_SUFFIX instead of EXECUTABLE_SUFFIX.
3986         * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION): Depend on
3987         TARGET_EXECUTABLE_SUFFIX.
3988         (find_a_file): Use HOST_EXECUTABLE_SUFFIX.
3989         (make_relative_prefix): Likewise.
3990         (convert_filename): Use TARGET_ suffixes throughout.  Remove
3991         NO_AUTO_EXE_SUFFIX.
3992         (process_command): Likewise.
3993         (do_spec_1): Likewise.
3994         * java/lang.c (init_parse): Likewise.
3995
3996         * gcc.texi : Document four new options matching the pattern
3997         (HOST|TARGET)_(OBJECT|EXECUTABLE)_SUFFIX.  Remove documentation
3998         for deleted macros OBJECT_SUFFIX and EXECUTABLE_SUFFIX.  Remove
3999         documentation for NO_AUTO_EXE_SUFFIX.
4000
4001 2001-04-19  Mark Mitchell  <mark@codesourcery.com>
4002
4003         * toplev.h (struct lang_hooks): Allow decode_option to indicate
4004         that language-independent processing should not be done.
4005         * toplev.c (main): Adjust accordingly.
4006
4007         * rtl.texi (jump_insn): Expand on JUMP_LABEL documentation.
4008         * loop.c (load_mems): Handle a NULL JUMP_LABEL for a JUMP_INSN.
4009
4010         * mips.md (reload_outputdi): Require that operand0 be a
4011         general_operand.
4012
4013 2001-04-19  Jakub Jelinek  <jakub@redhat.com>
4014
4015         * invoke.texi (-Wshadow): Clarify.
4016
4017 2001-04-18  Mark Mitchell  <mark@codesourcery.com>
4018
4019         * loop.c (load_mems): Examine all the instructions in the loop
4020         before concluding that all jumps branch to the first instruction
4021         after the loop.
4022
4023 Wed Apr 18 20:32:03 2001  Christopher Faylor <cgf@cygnus.com>
4024
4025         * config/i386/xm-cygwin.h (CPP_SPEC): Fix typo.
4026
4027 2001-04-18  Jakub Jelinek  <jakub@redhat.com>
4028
4029         * cpp.texi (-Wwhite-space): Remove.
4030         (-Wall): -Wall does not imply -Wwhite-space.
4031
4032 2001-04-17  Zack Weinberg  <zackw@stanford.edu>
4033
4034         * dbxout.c (dbxout_init): If DBX_OUTPUT_GCC_MARKER is defined,
4035         use it instead of blindly generating a .stabs.
4036         * xcoffout.h: Define DBX_OUTPUT_GCC_MARKER so we put the type
4037         in the right place.
4038         * xcoffout.c: Don't bother defining default for N_CATCH.
4039         (UNKNOWN_STAB): Use internal_error.
4040         (stab_to_sclass): Remove now-unnecessary aborts.
4041         Remove #if 0'ed case N_BROWS.  Add #ifdef N_OPT block.
4042
4043 Tue Apr 17 21:41:11 2001  Jeffrey A Law  (law@cygnus.com)
4044
4045         * jump.c (mark_all_labels): Canonicalize the tail recursion
4046         label attached to CALL_PLACEHOLDER insns.
4047
4048 2001-04-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4049
4050         * output.h (dump_flow_info, free_basic_block_vars,
4051         which_alternative): Delete redundant prototypes.
4052
4053         * rtl.h (bss_section): Likewise.
4054
4055 2001-04-17  Loren J. Rittle  <ljrittle@acm.org>
4056
4057         * dbxout.c (N_OPT): Define if not available from <stab.h>
4058
4059 2001-04-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4060
4061         * vax.h (PROMOTE_PROTOTYPES): Define for compatibility with system
4062         libraries and native K&R compilers.
4063
4064 2001-04-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4065
4066         * c-typeck.c (convert_arguments): Don't check for width changes
4067         with -Wtraditional.
4068
4069         * invoke.texi (-Wtraditional): Update documentation.
4070
4071 2001-04-16  Zack Weinberg  <zackw@stanford.edu>
4072
4073         * toplev.c (output_lang_identify): Delete.
4074         (compile_file): Don't call ASM_IDENTIFY_GCC or ASM_IDENTIFY_LANGUAGE.
4075         Don't generate gcc2_compiled. label.  Don't emit a nop if profiling.
4076         If IDENT_ASM_OP is defined, emit an .ident "GCC (GNU) <version>"
4077         after calling ASM_FILE_END.
4078
4079         * dbxout.c (dbxout_init): Don't call ASM_IDENTIFY_GCC_AFTER_SOURCE.
4080         Instead, unconditionally emit an N_OPT stab with string equal
4081         to STABS_GCC_MARKER, which defaults to "gcc2_compiled."
4082
4083         * defaults.h: Don't provide default for ASM_IDENTIFY_LANGUAGE.
4084
4085         * config/dbxelf.h, config/freebsd.h, config/nextstep.h,
4086         config/psos.h, config/ptx4.h, config/1750a/1750a.h,
4087         config/alpha/alpha.h, config/alpha/elf.h, config/arc/arc.h,
4088         config/arm/aof.h, config/arm/coff.h, config/arm/elf.h,
4089         config/arm/linux-elf.h, config/avr/avr.h, config/d30v/d30v.h,
4090         config/dsp16xx/dsp16xx.h, config/h8300/h8300.h,
4091         config/i370/i370.h, config/i386/beos-elf.h,
4092         config/i386/osf1elf.h, config/i386/osfrose.h,
4093         config/ia64/sysv4.h, config/m68k/3b1.h, config/m68k/auxgas.h,
4094         config/m68k/crds.h, config/m68k/hp320.h, config/m68k/m68kv4.h,
4095         config/m68k/mot3300.h, config/m68k/news.h, config/m68k/sgs.h,
4096         config/m68k/tower-as.h, config/mcore/mcore-elf.h,
4097         config/mips/iris6.h, config/mips/osfrose.h,
4098         config/mips/sni-svr4.h, config/pa/som.h, config/pdp11/pdp11.h,
4099         config/sparc/sp64-elf.h:
4100         Delete definitions of any or all of: ASM_IDENTIFY_GCC,
4101         ASM_IDENTIFY_GCC_AFTER_SOURCE, and ASM_IDENTIFY_LANGUAGE.
4102
4103         * config/elfos.h, config/freebsd.h, config/linux.h,
4104         config/alpha/elf.h, config/arm/linux-elf.h, config/i386/i386elf.h,
4105         config/i386/ptx4-i.h, config/mips/gnu.h, config/mips/linux.h,
4106         config/sparc/linux.h, config/sparc/linux64.h: Delete definitions
4107         of ASM_FILE_START which merely emit a .version directive.  Delete
4108         definitions of ASM_FILE_END which merely emit an .ident directive.
4109
4110         * config/avr/avr.h, config/vax/vax.h: Delete definition of
4111         ASM_IDENTIFY_GCC and move part of its logic into
4112         ASM_FILE_START.
4113
4114         * config/i386/att.h, config/i386/gas.h, config/i386/linux.h,
4115         config/sparc/linux-aout.h: Don't emit .version directive in
4116         ASM_FILE_START.
4117
4118         * config/i386/dgux.c, config/m88k/m88k.c, config/sh/sh.c
4119         (output_file_start): Correct comment.
4120
4121         * config/i386/osfrose.h: Don't emit trailing .ident directive.
4122         * config/m68k/mot3300.h: Override STABS_GCC_MARKER to "gcc2_compiled%"
4123         to match gdb.
4124         * config/pa/lib2funcs.asm: Delete gcc_compiled. label.
4125         * config/rs6000/aix.h: Correct comment.
4126
4127         * config/i386/i386afe.h: Delete.
4128         * config.gcc: Remove references to i386afe.h.
4129
4130         * tm.texi: Delete documentation of ASM_IDENTIFY_GCC.  The
4131         other macros deleted by this patch were undocumented.
4132
4133 Mon Apr 16 08:03:48 2001  Jeffrey A Law  (law@cygnus.com)
4134
4135         * pa.md (reload_outdi): Operand 0 must be a non hard register.
4136
4137         * pa.c (secondary_reload_class): SAR<->FP copies require a
4138         secondary register.
4139
4140         * install.texi (mips-mips-bsd): Update list of functions
4141         required to include memmove.
4142         * tm.texi (TARGET_MEM_FUNCTIONS): Update list of implicitly
4143         used functions to include memmove.
4144
4145 2001-04-15  Toon Moene  <toon@moene.indiv.nluug.nl>
4146
4147         * i386.md (sqrtdf2): SFmode should be DFmode.
4148
4149 2001-04-15  Alexandre Oliva  <aoliva@redhat.com>
4150
4151         * gcse.c (compute_ld_motion_mems): ASM outputs aren't moveable.
4152         (find_moveable_store): Likewise.
4153
4154 2001-04-15  Jim Wilson  <wilson@redhat.com>
4155
4156         * function.c (expand_function_end): Handle PARALLEL real_decl_rtl.
4157
4158 Sat Apr 14 16:24:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
4159
4160         * i386.md (ashldi3_1_rex64): Add 'J' to the constraints
4161         (ashrdi3_1_rex64): Change 'n' constraint to 'J'.
4162
4163 2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
4164
4165         * config/mn10300/mn10300.md (cmpsi): Tell reload to disregard the
4166         first alternative.
4167
4168 2001-04-14  Alan Modra  <amodra@one.net.au>
4169
4170         * pa.c (force_mode): New function.
4171         (emit_move_sequence): Use it instead of generating new rtx_REGs.
4172
4173 2001-04-13  Jim Wilson  <wilson@redhat.com>
4174
4175         * config/ia64/ia64.c (ia64_expand_epilogue): Emit alloc if sibcall_p.
4176         (first_instruction): New static variable.
4177         (rtx_needs_barrier): Return 1 for alloc.
4178         (init_insn_group_barriers): Set first_instruction.
4179         (rws_sum): Delete duplicate definition.
4180         (group_barrier_needed_p): Return 0 when first_instruction true.
4181         (safe_group_barrier_needed_p): Save and restore first_instruction
4182         around group_barrier_needed_p call.
4183
4184 Fri Apr 13 21:40:28 2001  Loren J. Rittle  <ljrittle@acm.org>
4185
4186         * expr.h (enum libfunc_index): Add LTI_memmove.
4187         (memmove_libfunc): Define macro.
4188         * optabs.c (init_optabs): Initialize memmove_libfunc.
4189         * expr.c (expand_assignment): Use memmove_libfunc instead of
4190         memcpy_libfunc.
4191
4192 2001-04-13  Alan Modra  <alan@linuxcare.com.au>
4193
4194         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Disallow PIC LO_SUM
4195         fp mode addresses.
4196
4197 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4198
4199         * Makefile.in (reg-stack.o): Depend on reload.h.
4200         (insn-attrtab.o): Depend on flags.h.
4201
4202         * genattrtab (main): Include flags.h in insn-attrtab.c.
4203
4204         * reg-stack.c: Include reload.h.
4205
4206         * sparc.h (flag_pic): Delete redundant declaration.
4207
4208         * output.h (flag_pic): Likewise.
4209
4210         * tree.h (pedantic): Likewise.
4211
4212 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4213
4214         * Makefile.in (toplev.o, jump.o, regmove.o): Depend on reload.h
4215
4216         * jump.c, regmove.c, toplev.c: Include reload.h.
4217
4218         * reload.h (reload_cse_regs): Declare.
4219
4220         * rtl.h (find_equiv_reg, operands_match_p, safe_from_earlyclobber,
4221         reload_cse_regs, init_reload, mark_home_live, reload,
4222         init_caller_save): Delete redundant prototypes.
4223
4224 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4225
4226         * Makefile.in (ssa.o, regclass.o): Depend on $(EXPR_H).
4227
4228         * regclass.c, ssa.c: Include expr.h.
4229
4230         * rtl.h (memory_address, force_reg, emit_queue, emit_move_insn,
4231         gen_move_insn): Delete redundant declarations.
4232
4233 2001-04-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4234
4235         * Makefile.in (CFLAGS, BOOT_CFLAGS): Partly revert 2000-10-27 patch.
4236         (stage1_build): Instead pass down STAGE1_CFLAGS here. Pass down
4237         MAKEINFO and MAKEINFOFLAGS too.
4238         (stage4_build): Correctly order -B flags.
4239
4240 2001-04-13  Alan Modra  <amodra@one.net.au>
4241
4242         * pa.c (hppa_init_pic_save): Set rtx_unchanging for
4243         PIC_OFFSET_TABLE_SAVE_RTX.
4244         (zdepi_cint_p): Describe zdepi insn.
4245         Formatting and white space fixes throughout file.
4246
4247         * pa.c (uint32_operand): Don't use long constant >= 2^32.
4248         (emit_move_sequence): Use HOST_WIDE_INT constants.  Don't worry
4249         about 32->64 bit sign extension if 32 bit HOST_WIDE_INTs.
4250         (compute_movstrsi_length): Make `align' unsigned to avoid warning.
4251         (output_64bit_and): Use plain `int's for shift counts.
4252         (output_64bit_ior): Likewise.
4253         (function_arg_partial_nregs): Use unsigned vars to avoid warnings.
4254         * pa.h (CONST_OK_FOR_LETTER_P): Use HOST_WIDE_INT constants for case
4255         `N', and simplify.
4256
4257         * pa-hpux10.h (NEW_HP_ASSEMBLER): Define to 1.
4258         * pa-hpux11.h (NEW_HP_ASSEMBLER): Likewise.
4259         * pa.h (LEGITIMATE_CONSTANT_P) Collapse two defines depending on
4260         NEW_HP_ASSEMBLER into one.  Kill warnings.
4261
4262         * pa-gas.h: Delete file.
4263         * config.gcc: Match `parisc' as well as `hppa' for cpu_type=pa.
4264         Add new targets hppa*64*-*-linux* and parisc*64*-*-linux*.  Update
4265         hppa*-*-linux*.  For all pa targets, remove pa/gas.h from tm_file,
4266         instead setting MASK_GAS | MASK_JUMP_IN_DELAY in target_cpu_default2.
4267
4268         * config/pa/mill32.S: New file.
4269         * config/pa/mill64.S: New file.
4270         * config/pa/t-linux (LIBGCC1, CROSS_LIBGCC1, LIB1ASMFUNCS,
4271         LIB1ASMSRC, CRTSTUFF_T_CFLAGS_S, TARGET_LIBGCC2_CFLAGS): Define.
4272         * config/pa/t-linux64: New file.
4273         * config/pa/t-pa64 (CROSS_LIBGCC1): Change to libgcc1-asm.a
4274         (LIB1ASMFUNCS, LIB1ASMSRC): Define.
4275         (TARGET_LIBGCC2_CFLAGS): Add -Dpa64=1 -DELF=1.
4276
4277         * elfos.h (SELECT_SECTION): Undef before defining.
4278         * pa-linux.h (LINUX_DEFAULT_ELF, PTRDIFF_TYPE, CPP_SPEC): Remove.
4279         (LIB_SPEC): Remove -lmilli.
4280         (DBX_REGISTER_NUMBER): Remove.
4281         (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
4282         (DWARF2_UNWIND_INFO, ASM_SPEC, LINK_SPEC, FUNCTION_OK_FOR_SIBCALL,
4283         NO_PROFILE_COUNTERS, SELECT_RTX_SECTION, INCOMING_RETURN_ADDR_RTX,
4284         DWARF_FRAME_RETURN_COLUMN, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
4285         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_FILE_START,
4286         ASM_OUTPUT_DEF, ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
4287         ASM_OUTPUT_LABEL, ASM_GLOBALIZE_LABEL, ASM_DECLARE_FUNCTION_NAME,
4288         TARGET_GAS): Define.
4289         * pa.c (output_arg_descriptor): Disable for TARGET_ELF32.
4290         (function_arg): If TARGET_ELF32, pass fp args in both general and fp
4291         regs if we don't have a prototype.
4292         * pa.md (canonicalize_funcptr_for_compare): Not for TARGET_ELF32.
4293         * pa.h (TARGET_ELF32): Default to 0 if undefined.
4294         (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX,
4295         EH_RETURN_HANDLER_RTX): Define.
4296         * pa32-regs.h (DBX_REGISTER_NUMBER): Remove unnecessary test.
4297         (DWARF_FRAME_REGNUM): Define.
4298         * pa64-regs.h (DWARF_FRAME_REGNUM): Define.
4299         * pa32-linux.h: New file.
4300         * pa64-linux.h: New file.
4301
4302         * pa-64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
4303         (ASM_OUTPUT_DOUBLE_INT): Format, protect macro with do..while.
4304         (LINK_SPEC, LIB_SPEC, MD_EXEC_PREFIX, MD_STARTFILE_PREFIX,
4305         NEW_HP_ASSEMBLER, ASM_FILE_START, OBJECT_FORMAT_ELF,
4306         DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_FORMAT,
4307         DWARF2_ASM_LINE_DEBUG_INFO, USE_CONST_SECTION, CONST_SECTION_ASM_OP,
4308         CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
4309         FINI_SECTION_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
4310         READONLY_DATA_SECTION, CONST_SECTION_FUNCTION, CTORS_SECTION_FUNCTION,
4311         DTORS_SECTION_FUNCTION, ASM_OUTPUT_SECTION_NAME, MAKE_DECL_ONE_ONLY,
4312         UNIQUE_SECTION_P, UNIQUE_SECTION, INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
4313         ASM_OUTPUT_DESTRUCTOR, TYPE_ASM_OP, SIZE_ASM_OP, ASM_WEAKEN_LABEL,
4314         TYPE_OPERAND_FMT, ASM_DECLARE_RESULT): Move to..
4315         * pa64-hpux.h: New file.
4316         (ASM_FILE_START): Correct typo.
4317         (PREFERRED_DEBUGGING_FORMAT): Rename to PREFERRED_DEBUGGING_TYPE.
4318         * config.gcc: Modify for above.
4319
4320 Fri Apr 13 00:09:22 EDT 2001  John Wehle  (john@feith.com)
4321
4322         * jump.c (jump_optimize_1): Don't delete dead stores here.
4323         * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns
4324         prior to running jump optimize before cse2.
4325
4326 2001-04-12  Richard Henderson  <rth@redhat.com>
4327
4328         * Makefile.in (regmove.o): Depend on except.h.
4329         * regmove.c: Include it.
4330
4331 2001-04-12  Stan Shebs  <shebs@apple.com>
4332
4333         * objc/objc-act.c: Remove all code ifdefed with the never-used
4334         macro OBJC_INT_SELECTORS.
4335         * config/d30v/d30v.h: Remove commented-out ref to OBJC_INT_SELECTORS.
4336         * tm.texi: Remove doc for OBJC_INT_SELECTORS.
4337
4338 Thu Apr 12 18:13:37 2001  Rodney Brown  <RodneyBrown@mynd.com>
4339
4340         * config/pa/quadlib.c: Add prototypes.
4341
4342 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4343
4344         * bitmap.h (debug_bitmap): Delete redundant prototype.
4345
4346         * rtl.h (get_frame_size): Likewise.
4347
4348 2001-04-12  Jim Wilson  <wilson@redhat.com>
4349
4350         * config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Simplify
4351         to just emit an fnorm.
4352
4353 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4354
4355         * c-common.h (truthvalue_conversion, type_for_mode,
4356         type_for_size): Delete redundant declarations.
4357
4358         * c-lex.h (is_class_name): Likewise.
4359
4360         * c-tree.h (pedantic, convert, getdecls, gettags,
4361         global_bindings_p, init_decl_processing, insert_block,
4362         maybe_build_cleanup, poplevel, print_lang_decl,
4363         print_lang_identifier, print_lang_type, pushdecl, pushlevel,
4364         set_block, incomplete_type_error, build_function_call,
4365         lvalue_or_else, mark_addressable): Likewise.
4366
4367         * expr.h (expand_tree_builtin): Likewise.
4368
4369 2001-04-12  Mark Mitchell  <mark@codesourcery.com>
4370
4371         * invoke.texi: Document --param max-gcse-memory.
4372
4373 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4374
4375         * configure.in (errno): Check for declaration.
4376         * configure, config.in: Regenerated.
4377
4378         * system.h (errno): Only declare if not already done.
4379
4380 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
4381
4382         * recog.c (general_operand, immediate_operand,
4383         nonmemory_operand): Require CONST_INTs to be sign-extended
4384         values for their modes.
4385
4386 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
4387
4388         * expmed.c (store_bit_field): Truncate CONST_INTs.
4389         (expand_mult_highpart, expand_divmod): Likewise.
4390         * expr.c (convert_modes, store_field): Likewise.
4391         * integrate.c (expand_inline_function): Use promote_mode() to
4392         determine whether to convert_modes() an argument as signed
4393         or unsigned.
4394         * optabs.c (expand_binop): Get CONST_INT operands
4395         sign-extended for their appropriate modes.
4396         * stmt.c (emit_case_nodes): Convert node values to the
4397         appropriate mode.
4398         (expand_end_case): Convert minval and range to the appropriate
4399         mode.
4400         * unroll.c (loop_iterations): Truncate abs_diff to the mode of
4401         the iteration variable.
4402         * varasm.c (immed_double_const): Don't require words to be
4403         narrower than host wide ints to properly sign-extend
4404         CONST_INTs.
4405
4406 2001-04-12  kaz Kojima  <kkojima@rr.iij4u.or.jp>
4407
4408         * sh.md (builtin_setjmp_receiver): New expander.
4409
4410 2001-04-12  David Edelsohn  <dje@watson.ibm.com>
4411
4412         * config/rs6000/rs6000.c (rs6000_emit_move): Do not
4413         special-case HOST_BITS_PER_WIDE_INT != 32.  Use same criteria
4414         for generating CONST_INT and CONST_DOUBLE.
4415
4416 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
4417
4418         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
4419         already sign-extended.
4420         (rs6000_emit_prologue): Make register iterator signed.
4421         (rs6000_emit_epilogue): Likewise.
4422         * config/rs6000/rs6000.md (addsi3, adddi3): Sign-extend high
4423         and low.
4424         (movsf split, movdf split): Sign-extend CONST_INTs.
4425         (movdi splits): Likewise.
4426
4427 2001-04-12  Kelley Cook <kelley.cook@home.com>
4428
4429         * config-lang.in (lang_dirs): Add in zlib.
4430
4431 2001-04-11  Alexandre Oliva  <aoliva@redhat.com>
4432
4433         * config/i386/i386.md: Apply trunc_int_for_mode() to GEN_INT
4434         operands that make it to RTL.
4435
4436 2001-04-11  Stan Shebs  <shebs@apple.com>
4437
4438         Add Darwin (Mac OS X kernel) native support.
4439         * config.gcc (powerpc-*-darwin*): Add native bits.
4440         * config/darwin.c: New file, generic Darwin support functions.
4441         * config/darwin.h: New file, generic Darwin definitions.
4442         * config/darwin-protos.h: New file, generic Darwin prototypes.
4443         * rs6000/darwin.h: New file, Darwin for PowerPC.
4444         * rs6000/t-darwin: New file, Darwin makefile fragment.
4445         * rs6000/rs6000.h (OBJECT_MACHO): New macro.
4446         (TARGET_MACHO): Ditto.
4447         (rs6000_abi): Add ABI_DARWIN.
4448         (RS6000_REG_SAVE): Add ABI_DARWIN case.
4449         (RS6000_SAVE_AREA): Ditto.
4450         (FP_ARG_MAX_REG): Ditto.
4451         (RETURN_ADDRESS_OFFSET): Ditto.
4452         * rs6000/rs6000.c (rs6000_legitimize_address): Add TARGET_MACHO
4453         cases.
4454         (rs6000_emit_move): Add ABI_DARWIN cases.
4455         (print_operand): Ditto.
4456         (first_reg_to_save): Ditto.
4457         (rs6000_stack_info): Ditto, also align stack by 16 instead of 8.
4458         (debug_stack_info): Ditto.
4459         (rs6000_emit_prologue): Ditto.
4460         (rs6000_emit_epilogue): Ditto.
4461         (output_profiler_hook): Ditto.
4462         (output_function_profiler): Ditto.
4463         (rs6000_add_gc_roots): Call machopic_add_gc_roots if TARGET_MACHO.
4464         (output_mi_thunk): Add TARGET_MACHO case.
4465         (add_compiler_stub): Ditto.
4466         (output_compiler_stub): Ditto.
4467         (no_previous_def): Ditto.
4468         (output_call): Ditto.
4469         (machopic_output_stub): Ditto.
4470         (rs6000_machopic_legitimize_pic_address): Ditto.
4471         (toc_section): Ditto.
4472         * rs6000/rs6000.md (addsi3_high): New TARGET_MACHO pattern.
4473         (macho_high): Ditto.
4474         (macho_low): Ditto.
4475         (movsi_low): Ditto.
4476         (load_macho_picbase): Ditto.
4477         (call): Add TARGET_MACHO case to modify function.
4478         (call_value): Ditto.
4479         (call_nonlocal_sysv): Add ABI_DARWIN case.
4480         (call_value_nonlocal_sysv): Ditto.
4481         * rs6000/rs6000-protos.h (rs6000_machopic_legitimize_pic_address):
4482         Add prototype.
4483         (machopic_output_stub): Ditto.
4484         * ginclude/stddef.h: Test _BSD_WCHAR_T_DEFINED_.
4485
4486 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
4487
4488         * dwarf2out.c (modified_type_die): Don't create new types here.
4489         * tree.h (get_qualified_type): New function.
4490         (build_qualified_type): Adjust comment.
4491         * tree.c (get_qualified_type): New function.
4492         (build_qualified_type): Use it.
4493
4494 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4495
4496         * cpp.texi (-Wtraditional): Update description.
4497
4498         * invoke.texi (-Wtraditional): Likewise.
4499
4500 2001-04-11  Jim Wilson  <wilson@redhat.com>
4501
4502         * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Return 128 if argument
4503         requires more than 64 bits of alignment.
4504
4505 2001-04-11  Neil Booth  <neil@daikokuya.demon.co.uk>
4506
4507         * cpplib.c (do_line): Sanity check iff enable checking.
4508
4509 2001-04-11  Richard Henderson  <rth@redhat.com>
4510
4511         * Makefile.in (insn-recog.o): Depend on toplev.h.
4512         (insn-emit.o, doloop.o): Likewise.
4513         * genrecog.c, genemit.c: Include toplev.h in generated file.
4514         * doloop.c: Include toplev.h.
4515
4516 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
4517
4518         * Makefile.in (gcse.o): Depend on params.h.
4519         * gcse.c: Include params.h.
4520         (gcse_main): Don't do GCSE if doing so will take inordinate
4521         amounts of memory.
4522         * params.def (PARAM_MAX_GCSE_MEMORY): New  parameter.
4523         * params.h (MAX_GCSE_MEMORY): New macro.
4524
4525 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4526
4527         * Makefile.in (insn-output.o): Depend on $(EXPR_H).
4528
4529         * genoutput.c (output_prologue): Include expr.h in insn-output.c.
4530
4531 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4532
4533         * output.h (assemble_real): Declare if REAL_VALUE_TYPE is defined.
4534
4535         * real.h (ereal_atof, real_value_truncate, target_isnan,
4536         target_isinf, target_negative, assemble_real, debug_real): Delete
4537         redundant prototypes.
4538
4539         * Makefile.in (ifcvt.o): Depend on toplev.h.
4540
4541         * c-semantics.c: Include expr.h.
4542
4543         * ifcvt.c: Include toplev.h.
4544
4545         * expr.h (rtx_equal_p): Delete prototype.
4546
4547         * rtl.h (exact_log2_wide, floor_log2_wide, permalloc,
4548         protect_from_queue, gen_jump, gen_beq, gen_bge, gen_ble,
4549         eliminate_constant_term, expand_complex_abs, find_single_use,
4550         make_tree, init_expr_once, init_optabs, supports_one_only):
4551         Likewise.
4552
4553         * tree.h (exact_log2_wide, floor_log2_wide, expand_null_return,
4554         rest_of_type_compilation, emit_queue, do_pending_stack_adjust,
4555         expand_assignment, store_expr, emit_line_note_after,
4556         emit_line_note_force, split_specs_attrs, label_rtx): Likewise.
4557
4558         * toplev.h (exact_log2_wide, floor_log2_wide): Add prototype.
4559
4560         * sparc-protos.h: Delete redundant prototypes.
4561
4562 2001-04-11  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
4563
4564         * reload.c (push_reload): Add condition missed in SUBREG byte
4565         offset patch.
4566
4567 Wed Apr  4 00:28:23 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4568
4569         * sparc/sol2-sld-64.h (STARTFILE_SPEC): Added missing blank.
4570
4571 Wed Apr 11 14:06:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
4572
4573         * i386.md (floatsisf_sse): Fix output template
4574         * i386.c (ix86_expand_fp_movcc)
4575
4576         * reg-stack.c (emit_pop_insn): Handle complex modes.
4577         (move_for_stack_reg): Emit proper move mode.
4578         (subst_stack_regs_pat): Handle complex modes.
4579
4580 2001-04-11  Jakub Jelinek  <jakub@redhat.com>
4581
4582         * cpplex.c (_cpp_lex_token): Only warn if -Wcomment.
4583
4584 2001-04-10  Richard Henderson  <rth@redhat.com>
4585
4586         * libgcc2.h (__terminate_func_ptr): Remove typedef.
4587         (__pure_virtual, __terminate, __terminate_set_func,
4588         __default_terminate, __throw_type_match, __empty,
4589         __get_eh_context, __get_eh_info, __get_dynamic_handler_chain,
4590         __eh_rtime_match, __unwinding_cleanup, __rethrow,
4591         __sjthrow, __sjpopnthrow, __eh_alloc, __eh_free):
4592         Remove prototypes of deleted functions.
4593
4594 2001-04-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4595
4596         * c-typeck.c (convert_arguments): -Wtraditional now activates
4597         -Wconversion warnings, except for changes in signed-ness.
4598         Detect complex<->int & int<->complex conversions as well.
4599
4600         * invoke.texi (-Wtraditional): Document it.
4601
4602 Tue Apr 10 17:45:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4603
4604         * gcse.c (update_ld_motion_stores): Don't use variable I for an insn.
4605         * flow.c (set_block_for_new_insns): Remove needless cast and
4606         properly check for unset block number.
4607
4608 2001-04-10  Andrew MacLeod  <amacleod@redhat.com>
4609
4610         * function.c (purge_single_hard_subreg_set): Only check REGNO if
4611         the subreg was a hard register. Pseudos are left as subregs.
4612
4613 2001-04-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4614
4615         * Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro.
4616         (LIB2ADD_ST): New macro, pass it to mklibgcc.
4617         * mklibgcc.in (libgcc2_st_objs): New variable, set it from LIB2ADD_ST.
4618         (libgcc_st_objs): New, set from libgcc2_st_objs. Use it for libgcc.a.
4619         * config/rs6000/t-ppccomm (LIB2FUNCS_STATIC_EXTRA): New macro.
4620
4621 2001-04-09  Bo Thorsen  <bo@suse.co.uk>
4622
4623         * config/i386/i386.md: "TARGET_64BIT && TARGET_64BIT": Removed one.
4624
4625 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
4626
4627         * output.h (set_block_num): Missed it earlier, remove deprecated
4628         prototype.
4629
4630 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
4631
4632         * gcse.c (oprs_unchanged_p): Pass basic_block to load_killed_in_block_p.
4633         (load_killed_in_block_p): Change bb parameter from int to basic_block.
4634         (oprs_not_set_p): Pass basic_blocks instead of ints as parameters.
4635         (handle_rd_kill_set): Change bb parameter from int to basic_block.
4636         (compute_kill_rd): Pass basic_blocks instead of ints as parameters.
4637         (expr_killed_p): Change bb parameter from int to basic_block, pass
4638         basic_blocks instead of ints as parameters.
4639         (compute_ae_kill): Pass basic_blocks instead of ints as parameters.
4640         (expr_reaches_here_p_work, expr_reaches_here_p): Change bb parameter
4641         from int to basic_block, pass basic_blocks instead of ints as parms.
4642         (pre_expr_reaches_here_p_work, pre_expr_reaches_here_p): Change bb
4643         parameter from int to basic_block, pass basic_blocks instead of ints.
4644         (process_insert_insn): Pass basic_blocks instead of ints as parameters.
4645         (insert_insn_end_bb): Change bb parameter from int to basic_block,
4646         pass basic_blocks instead of ints.
4647         (pre_edge_insert, pre_insert_copy_insn, pre_insert_copies): Pass
4648         basic_blocks instead of ints as parameters.
4649         (pre_delete): Pass basic_blocks instead of ints as parameters.
4650         (hoist_expr_reaches_here_p): Change bb parameter from int to
4651         basic_block, pass basic_blocks instead of ints.
4652         (hoist_code): Pass basic_blocks instead of ints as parameters.
4653         (reg_set_info, store_ops_ok, store_killed_after, store_killed_before):
4654         Change bb parameter from int to basic_block.
4655         (build_store_vectors): Pass basic_blocks instead of ints as parameters.
4656         (insert_insn_start_bb): Change bb parameter from int to basic_block,
4657         pass basic_blocks instead of ints.
4658         (insert_store): Pass basic_blocks instead of ints as parameters.
4659         (replace_store_insn, delete_store): Change bb parameter from int to
4660         basic_block, pass basic_blocks instead of ints.
4661         (store_motion): Pass basic_blocks instead of ints as parameters.
4662
4663 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
4664
4665         * basic-block.h (set_new_block_for_insns): New Prototype.
4666         (set_block_num): Delete prototype.
4667         * flow.c (set_block_num): Remove obsolete function.
4668         (set_block_for_new_insns): Set BB for single or multiple insns.
4669         * gcse.c (handle_avail_expr): Use set_block_for_new_insns.
4670         (process_insn_end_bb): Use set_block_for_new_insns or
4671         set_block_for_insn instead of set_block_num.
4672         (pre_insert_copy_insn): Use set_block_for_new_insns.
4673         (update_ld_motion_stores): Use set_block_for_new_insns.
4674         (insert_insn_start_bb): Use set_block_for_new_insns.
4675         (replace_store_insn): Use set_block_for_new_insns.
4676
4677 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
4678             Jeff Law  <law@redhat.com>
4679
4680         * alias.c (get_addr): Externalize.
4681         (canon_true_dependence): New function. Behaves like true_dependance
4682         except it already assumes a MEM has been canonicalized.
4683         * flags.h (flag_gcse_lm, flag_gcse_sm): New optimization flags.
4684         * gcse.c (struct ls_expr): Add load/store expressions structure.
4685         (modify_mem_list, canon_modify_mem_list): New variable.
4686         (gcse_main): Initialize & finalize alias analysis. Use enhanced
4687         load motion and store motion if requested.
4688         (alloc_gcse_mem): Allocate space for modify_mem_list array.
4689         (free_gcse_mem): Free the modify_mem_list array.
4690         (oprs_unchanged_p): Use load_killed_in_block_p.
4691         (gcse_mems_conflict_p, gcse_mem_operand): New variables.
4692         (mems_conflict_for_gcse_p): New function.  Don't kill loads
4693         with stores to themselves if its in the load/store expression list.
4694         (load_killed_in_block_p): New function.
4695         (canon_list_insert): New Function.
4696         (record_last_mem_set_info): Keep a list of all instructions which
4697         can modify memory for each basic block.
4698         (compute_hash_table, reset_opr_set_tables): Clear modify_mem_list.
4699         (oprs_not_set_p): Use load_killed_in_block_p.
4700         (mark_call, mark_set, mark_clobber): Use record_last_mem_set_info.
4701         (expr_killed_p): Use load_killed_in_block_p.
4702         (compute_transp): Do not pessimize memory references.
4703         (pre_edge_insert): Update stores for a load motion expression.
4704         (one_pre_gcse_pass): Check loads/stores for extra load motion.
4705         (ldst_entry): Find or create a ldst_expr structure.
4706         (free_ldst_entry): Free memory for an individual item.
4707         (free_ldst_mems): Free entire load/store expression list.
4708         (print_ldst_list): Print debug info.
4709         (find_rtx_in_ldst): Try to find an rtx expression in the ldst list.
4710         (enumerate_ldsts): Assign integer values to each entry in list.
4711         (first_ls_expr): First expression in the list.
4712         (next_ls_expr): Next expression in the list.
4713         (simple_mem): Check if expression qualifies for ld/st expression list.
4714         (invalidate_any_buried_refs): Remove from expression list if its
4715         used in some other way we dont understand.
4716         (compute_ld_motion_mems): Find all potential enhanced load motion
4717         expression.
4718         (trim_ld_motion_mems): Remove any expressions which are invalid.
4719         (update_ld_motion_stores): Copy store values to registers for loads
4720         which have been moved.
4721         (regvec, st_antloc, num_store): New global statics.
4722         (reg_set_info): Marks registers as set.
4723         (store_ops_ok): Verfies registers expressions are valid in a block.
4724         (find_moveable_store): Look for moveable stores in a pattern.
4725         (compute_store_table): Find stores in a function worth moving, maybe.
4726         (load_kills_store): Check dependance of a load and store.
4727         (find_loads): Find any loads in a pattern.
4728         (store_killed_in_insn): Check if a store is killed in an insn.
4729         (store_killed_after): Check is store killed after an insn in a block.
4730         (store_killed_before): Check is store killed before an insn in a block.
4731         (build_store_vectors): Generate the antic and avail vectors.
4732         (insert_insn_start_bb): Insert at the start of a BB, update BLOCK_HEAD.
4733         (insert_store): Add a store to an edge.
4734         (replace_store_insn): Replace a store with a SET insn.
4735         (delete_store): Delete a store insn.
4736         (free_store_memory): Free memory.
4737         (store_motion): Perform store motion.
4738         * invoke.texi: Add documentation for -fcse-lm and -fgcse-sm.
4739         * rtl.h (get_addr, canon_true_dependence): Add prototypes.
4740         * toplev.c (flag_gcse_lm, flag_gcse_sm): New Variables.
4741         (f_options): Add gcse-lm and gcse-sm.
4742
4743 Mon Apr  9 16:18:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
4744
4745         * i386.c (expand_fp_movcc): Fix condition reversal code.
4746
4747         * i386.c (ix86_register_move_cost): Fix handling of reformating penalty
4748         * i386.h (INTEGER_CLASS_P, MAYBE_INTEGER_CLASS_P): New.
4749         (CLASS_MAX_NREGS): Use it.
4750
4751         * i386.h (HARD_REGNO_NREGS): Handle properly TF and TCmodes on 64bit;
4752         handle properly complex values.
4753         (CLASS_MAX_NREGS): Likewise; update comment.
4754
4755 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
4756
4757         * ia64.c (ia64_flag_schedule_insns2): New variable.
4758         (ia64_override_options): Initialize it.  Clear
4759         flag_schedule_insns_after_reload.
4760         (ia64_reorg): Only do scheduling if ia64_flag_schedule_insns2.
4761
4762 Mon Apr  9 15:09:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
4763
4764         * i386.md (truncdfsf2_*): Add i387->int/sse reg alternatives;
4765         Do not require source to match destination anymore;
4766         Add abort to the nontrivial cases that should be handled by split.
4767         (fix_trunc?fdi): Add SSE case for x86_64.
4768         (floatdi?f): Likewise.
4769         (floatdi?f_sse): New.
4770         (fix_trunc?fdi_sse): New.
4771
4772 2001-04-09  Richard Sandiford   <rsandifo@redhat.com>
4773
4774         * dwarfout.c (DEBUG_ARANGES_BEGIN_LABEL): New label.
4775         (DEBUG_ARANGES_END_LABEL): Ditto.
4776         (dwarfout_init): Generate length and version fields at the start
4777         of the .debug_aranges info.  Insert DEBUG_ARANGES_BEGIN_LABEL
4778         after the length field.
4779         (dwarfout_finish): Insert DEBUG_ARANGED_END_LABEL at the end of
4780         the .debug_aranges info.
4781
4782 Sun Apr  8 00:43:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
4783
4784         * i386.c (call, call_value): Make sure that resulting call_insn
4785         does have proper second operand.
4786
4787 Sun Apr  8 22:50:49 2001  Christopher Faylor <cgf@cygnus.com>
4788
4789         * config/i386/xm-cygwin.h (GET_ENV_PATH_LIST): Eliminate obsolete
4790         function.  Remove include of sys/cygwin.h.
4791
4792 Sun Apr  8 22:20:27 2001  Christopher Faylor <cgf@cygnus.com>
4793
4794         * config/i386/cygwin.h (STARTFILE_SPEC): search */lib/w32api by default.
4795         (CPP_SPEC): Always search */include/w32api for header files.
4796         (ASM_OUTPUT_SECTION_NAME): Avoid testing NULL DECL.
4797         (LINK_SPEC): Add "cyg" to the library search prefixes.
4798
4799 2001-04-08  Philip Blundell  <philb@gnu.org>
4800
4801         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Use asm_fprintf.
4802
4803 2001-04-08  Neil Booth  <neil@daikokuya.demon.co.uk>
4804
4805         * cpperror.c (print_location): Don't special case <stdin>.
4806         (_cpp_begin_message): Handle WARNING_SYSHDR the same as
4807         WARNING, but we don't check if we're in system headers.
4808         * cpplib.h (enum error_type): WARNING_SYSHDR: New.
4809         * cpplib.c (do_warning): Warn in system headers.
4810
4811 2001-04-07  Mumit Khan <khan@NanoTech.Wisc.EDU>
4812
4813         * mbchar.c: Include config.h first.
4814
4815 2001-04-07  Zack Weinberg  <zackw@stanford.edu>
4816
4817         * config.gcc: Set default for xmake_file at top, not bottom.
4818         Change places that set xmake_file to "none" to set to the
4819         empty string instead, or remove them entirely if there is no
4820         default xmake_file for this cpu_type.  Remove references to
4821         deleted files.
4822
4823         * config/x-lynx, config/convex/x-convex, config/elxsi/x-elxsi,
4824         config/i386/x-isc, config/i386/x-isc3, config/i386/x-ncr3000,
4825         config/i386/x-next, config/i386/x-sco, config/i386/x-sysv3,
4826         config/i386/x-vsta, config/i860/x-sysv4, config/m68k/x-amix,
4827         config/m68k/x-apollo68, config/m68k/x-ccur, config/m68k/x-crds,
4828         config/m68k/x-hp2bsd, config/m68k/x-mot3300, config/m68k/x-mot3300-gas,
4829         config/m68k/x-tower, config/m88k/x-sysv4, config/mips/x-dec-osf1,
4830         config/mips/x-sni-svr4, config/mips/x-ultrix, config/romp/x-mach,
4831         config/romp/x-romp, config/rs6000/x-beos, config/rs6000/x-lynx,
4832         config/rs6000/x-mach, config/rs6000/x-sysv4, config/sparc/x-sysv4:
4833         Delete.
4834
4835         * config/a29k/x-unix, config/i386/x-aix, config/i386/x-osf1elf,
4836         config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
4837         config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
4838         config/mips/x-sysv, config/rs6000/x-aix31:
4839         Just set CLIB to -lld or -lmld, as appropriate.
4840
4841         * config/arm/x-riscix, config/i370/x-oe, config/i386/x-dgux,
4842         config/i386/x-sco4, config/i386/x-sco5, config/m68k/x-hp320,
4843         config/m68k/x-hp320g, config/m68k/x-next, config/m88k/x-dgux,
4844         config/mips/x-iris, config/pa/x-pa:
4845         Just set (some of) FIXPROTO_DEFINES, STMP_FIXPROTO,
4846         OTHER_FIXINCLUDES_DIRS.
4847
4848         * config/i386/x-djgpp: Don't set LN or LN_S.
4849         * config/m88k/x-dolph: Don't define __m88k__.
4850         * config/m88k/x-tekXD88: Don't set AR_FLAGS.
4851         * config/pa/x-pa-mpeix: Just set up quadlib.asm.
4852         * config/i860/fx2800.h: No need to #undef SVR4.
4853
4854         38 x-host fragments remain, 2 x-cpu.
4855
4856 2001-04-07  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4857
4858         * c4x.h (HARD_REGNO_NREGS): HCmode mode uses 2 regs not 4.
4859
4860 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
4861
4862         * cpplib.c (cpp_push_buffer): Give stdin buffers the name <stdin>.
4863
4864 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
4865
4866         * configure.in: Add check for lstat.
4867         * configure, config.in: Regenerate.
4868         * cppinit.c (append_include_chain): Make empty path ".".
4869         * cpplib.c (do_line): Don't simplify #line paths.
4870         * cppfiles.c (remove_component_p): New function.
4871         (find_or_create_entry): Acknowledge stat () errors during
4872         path simplification.
4873         (handle_missing_header): Don't simplify paths.
4874         (_cpp_simplify_pathname): Don't simplify VMS paths.  Return
4875         the empty path untouched.  Don't leave a trailing '/'.
4876
4877 2001-04-06  Benjamin Kosnik  <bkoz@redhat.com>
4878
4879         * cppdefault.c (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
4880         * Makefile.in (-DGPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
4881
4882 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
4883
4884         * cppfiles.c (open_file): Fail directories silently, but
4885         with an errno of NOENT set.
4886         (read_include_file): Move the common exit code to the sole
4887         caller.  Return an int indicating success or failure.  Let
4888         open_file handle directories.
4889         (stack_include_file): If read_include_file fails,
4890         push a "null" buffer.
4891
4892 2001-04-05  DJ Delorie  <dj@redhat.com>
4893
4894         * function.h (virtuals_instantiated): Declare.
4895         * function.c: (virtuals_instantiated): Make global.
4896         * calls.c (emit_library_call_value_1): Use
4897         virtual_outgoing_args_rtx only if it hasn't been instantiated.
4898         Otherwise, use the stack pointer directly.
4899
4900 Thu Apr  5 19:13:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
4901
4902         * i386.c (x86_initialize_trampoline): New global function.
4903         * i386.h (TRAMPOLINE_SIZE): Size is 23 for x86_64.
4904         (INITIALIZE_TRAMPOLINE): Move offline.
4905         * i386-protos.h (x86_initialize_trampoline): Declare.
4906
4907 Thu Apr  5 19:02:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
4908
4909         * i386.md (movdi_1_rex64): Allow SSE->SSE reg move.
4910         (lea_0): Rename to lea_1.
4911         (lea_1_zext, lea_1_rex64, lea_2_rex64): New patterns.
4912         (lea_general_?): Allow SImodes on TARGET_64BIT
4913         (lea_general_?_zext): New patterns.
4914         (call_1, call_1_rex64): Fix.
4915
4916 Thu Apr  5 19:00:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
4917
4918         * i386.c (ix86_split_long_move): Use PUT_MODE instead of change_address.
4919
4920 Thu Apr  5 18:25:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
4921
4922         * i386.c (function_arg): Return constm1_rtx for last argument.
4923         (ix86_expand_prologue): Update gen_call calls.
4924         * i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
4925         * i386.md (call_pop): Likewise.
4926         (call): Second operand is VOIDmode.
4927         (call_0): Likewise; Support 64bits.
4928         (call_exp): New expander.
4929         (call_1): Get to the sync.
4930         (call_1_exp): New pattern.
4931         (call_value): Support 64bit.
4932         (call_value_exp): New pattern.
4933         (untyped_call): Update gen_call call.
4934         (call_value_pop): Disable for 64bit.
4935         (call_value_0_rex64): New pattern.
4936         (call_value_1_rex64): Likewise.
4937
4938 2001-04-05  Bo Thorsen  <bo@suse.de>
4939
4940         * i386.md: Don't allow "builtin_setjmp_receiver" for TARGET_64BIT.
4941
4942 Thu Apr  5 13:44:17 2001  J"orn Rennecke <amylaar@redhat.com>
4943
4944         * i386.md (*andsi_1+3): If used after reload, make sure the operand
4945         satisfies ANY_QI_REG_P.
4946
4947 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
4948
4949         * config/ia64/ia64.c (rtx_needs_barrier): A PARALLEL can contain
4950         ASM_OPERAND.
4951
4952         * sched-deps.c (sched_analyze_insn): Revert more of the March 27
4953         change.
4954
4955 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
4956
4957         * config.gcc: Remove default for xm_file.  Clean up local
4958         machine type handling.  Remove settings of xm_file to
4959         something that doesn't exist.  In the big switch, set xm_file,
4960         don't append to it (the value before the big switch is always
4961         null).  Don't force build_xm_file or host_xm_file to have a value.
4962         * configure.in: Remove default for xm_file.  Do not special
4963         case $cpu/xm-$cpu.h not existing.
4964         * configure: Regenerate.
4965
4966 2001-04-04  Diego Novillo  <dnovillo@redhat.com>
4967
4968         * simplify-rtx.c (simplify_binary_operation): Check for overflow
4969         when folding integer division and modulo operations.
4970
4971 2001-04-04  Andrew MacLeod  <amacleod@redhat.com>
4972
4973         * dwarf2out.c (output_cfi): Add 'for_eh' parameter, use PTR_SIZE
4974         instead of DWARF2_ADDR_SIZE for EH addresses.
4975         (output_call_frame_info): Use PTR_SIZE instead of DWARF2_ADDR_SIZE for
4976         EH addresses.
4977
4978 2001-04-04  Richard Henderson  <rth@redhat.com>
4979
4980         * config/ia64/ia64.h (IA64_UNWIND_INFO): Disable.
4981         * config/ia64/t-glibc (LIB2ADDEH): Disable.
4982         * config/ia64/t-ia64 (LIB2ADDEH): Disable.
4983
4984 2001-04-04  Richard Henderson  <rth@redhat.com>
4985
4986         * configure.in (gcc_cv_as_leb128): Escape "." in regexp.
4987         * configure: Rebuilt.
4988
4989 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
4990
4991         * gcse.c (delete_null_pointer_checks_1): Add delete_list argument,
4992         push insns to delete to it instead of deleting them.
4993         (delete_null_pointer_checks): Delete insns from delete_list after
4994         all delete_null_pointer_checks_1 passes are done.
4995
4996 2001-04-04  Richard Henderson  <rth@redhat.com>
4997
4998         * configure.in (gcc_cv_as_leb128): Tweek minor number extraction.
4999         * configure: Rebuilt.
5000
5001 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
5002
5003         * expr.h: Remove #ifdef FUNCTION_CONVERSION_BUG logic.
5004         * config/romp/xm-romp.h: Delete.
5005
5006 2001-04-04  Bernd Schmidt  <bernds@redhat.com>
5007
5008         * sched-deps.c (sched_analyze_insn): Partially revert March 27
5009         change.
5010
5011 2001-04-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5012
5013         * emit-rtl.c (mark_label_nuses) Increment the label uses for
5014         all labels present in rtx.
5015         (try_split) Call new function for all split insns.
5016
5017 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
5018
5019         * recog.c (validate_replace_rtx_1): Instead of aborting just make
5020         sure the change won't be validated.
5021
5022 Wed Apr  4 00:45:38 EDT 2001  John Wehle  (john@feith.com)
5023
5024         * rtl.h (set_noop_p): Declare.
5025         * flow.c (set_noop_p): Move from here ...
5026         * rtlanal.c (set_noop_p): ... to here and enhance.
5027         * cse.c (delete_trivially_dead_insns): Use it.
5028         * gcse.c (hash_scan_set): Likewise.
5029         * jump.c (delete_noop_moves): Likewise.
5030         * recog.c (split_all_insns): Likewise.
5031
5032 2001-04-04  Alan Modra  <alan@linuxcare.com.au>
5033
5034         * dwarf2out.c (dwarf2out_frame_debug_expr): Support adjusting
5035         stack pointer via a LO_SUM.  Ditto for setting a temp register
5036         used to save to the stack.  Set cfa_temp when setting fp, and
5037         allow matches to cfa_temp in addition to cfa_store when saving
5038         regs.  Handle POST_INC and LO_SUM register stores.  Document the
5039         changes and errors in rule 12 doco.
5040
5041         * pa.c (set_reg_plus_d, store_reg, load_reg): Return last insn.
5042         (actual_fsize, local_fsize, save_fregs): Move for store_reg to see.
5043         (load_reg): Move closer to epilogue code.
5044         (DO_FRAME_NOTES): Define to control the following..
5045         (FRP): Define to set RTX_FRAME_RELATED_P on insns.
5046         (hppa_expand_prologue): Use FRP and REG_FRAME_RELATED_EXPR
5047         notes as necessary.
5048         (hppa_expand_epilogue): Likewise.
5049
5050 2001-04-03  Richard Henderson  <rth@redhat.com>
5051
5052         * configure.in (gcc_cv_as_leb128): Reject gas before 2.11.
5053         * configure: Rebuild.
5054
5055 2001-04-03  Richard Henderson  <rth@redhat.com>
5056
5057         * rtl.h (LCT_THROW): New.
5058         * calls.c (emit_library_call_value_1): Handle it.
5059         * except.c (connect_post_landing_pads): Use it.
5060
5061 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
5062
5063         * gansidecl.h: Delete file.
5064         * configure.in: Change all refs to gansidecl.h to use
5065         ansidecl.h.  Adjust *_file_list so they know where ansidecl.h
5066         lives.
5067         * configure: Regenerate.
5068
5069         * Makefile.in (intl.o): Don't depend on gansidecl.h.
5070         * defaults.h: s/gansidecl.h/ansidecl.h/ in comment.
5071         * ggc.h, config/fr30/fr30.h, config/mcore/mcore.c:
5072         Don't include gansidecl.h.
5073         * intl.c, main.c, version.c, fixinc/fixlib.h,
5074         fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not
5075         gansidecl.h.
5076
5077 Tue Apr  3 19:41:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
5078
5079         * i386.c (ix86_force_to_memory, ix86_free_from_memory):
5080         Update for 64bit.
5081
5082 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
5083
5084         * config/i386/xm-beos.h, config/i386/xm-isc.h,
5085         config/i386/xm-next.h, config/i386/xm-sco.h,
5086         config/i386/xm-sco5.h, config/m68k/xm-plexus.h,
5087         config/m88k/xm-m88k.h: Delete.
5088
5089         * config/i386/xm-djgpp.h: Don't define __MSDOS__.
5090         * config/romp/xm-romp.h: Don't define bcopy.
5091         * config/rs6000/xm-beos.h: Don't define bcopy, HAVE_VPRINTF,
5092         HAVE_PUTENV, HAVE_RENAME, or USE_C_ALLOCA.
5093
5094         * config.gcc: Remove references to deleted files.
5095
5096         14 xm-host.h remain, 1 xm-cpu.h.
5097
5098 2001-04-03  Jakub Jelinek  <jakub@redhat.com>
5099             David S. Miller  <davem@pierdol.cobaltmicro.com>
5100             Andrew MacLeod  <amacleod@redhat.com>
5101
5102         Use byte offsets in SUBREGs instead of words.
5103
5104         * alias.c (nonlocal_mentioned_p): Use subreg_regno function.
5105         * caller-save.c (mark_set_regs): Change callers of subreg_hard_regno
5106         to pass new argument.
5107         (add_stored_regs): Use subreg_regno_offset function.
5108         * calls.c (expand_call): For non-paradoxical SUBREG take endianess
5109         into account.
5110         (precompute_arguments): Use gen_lowpart_SUBREG.
5111         * combine.c (try_combine): Replace explicit XEXP with SUBREG_REG.
5112         (combine_simplify_rtx): Rework to use SUBREG_BYTE.
5113         (simplify_set): Rework to use SUBREG_BYTE.
5114         (expand_field_assignment): Use SUBREG_BYTE.
5115         (make_extraction): Use SUBREG_BYTE.
5116         (if_then_else_cond): Use SUBREG_BYTE.
5117         (apply_distributive_law): Use SUBREG_BYTE and fixup subreg comments.
5118         (gen_lowpart_for_combine): Compute full byte offset.
5119         * cse.c (mention_regs): Use SUBREG_BYTE.
5120         (remove_invalid_subreg_refs): Rework to use SUBREG_BYTE.
5121         (canon_hash): Use SUBREG_BYTE.
5122         (fold_rtx): Pass SUBREG_BYTE div UNITS_PER_WORD to operand_subword.
5123         (gen_lowpart_if_possible): Formatting.
5124         * dbxout.c (dbxout_symbol_location): Compute SUBREG hard regnos
5125         correctly.
5126         * dwarf2out.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
5127         (mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
5128         (loc_descriptor): Fixup explicit XEXP into SUBREG_REG
5129         * dwarfout.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
5130         (output_mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
5131         (output_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
5132         * emit-rtl.c (gen_rtx_SUBREG): New function, used to verify
5133         certain invariants about SUBREGs the compiler creates.
5134         (gen_lowpart_SUBREG): New function.
5135         (subreg_hard_regno): New function to get the final register number.
5136         (gen_lowpart_common): Use SUBREG_BYTE.
5137         (gen_imagpart): Spacing nits.
5138         (subreg_realpart_p): Use SUBREG_BYTE.
5139         (gen_highpart): Use SUBREG_BYTE.
5140         (subreg_lowpart_p): Always compute endian corrected goal offset,
5141         even at the byte level, then compare against that.
5142         (constant_subword): New function, pulled out all constant cases
5143         from operand_subword and changed second argument name to offset.
5144         (operand_subword): Detect non REG/SUBREG/CONCAT/MEM cases early
5145         and call constant_subword to do the work.  Return const0_rtx if
5146         looking for a word outside of OP.
5147         (operand_subword_force): Change second arg name to offset.
5148         * expmed.c (store_bit_field): Use SUBREG_BYTE.
5149         (store_split_bit_field): Use SUBREG_BYTE.
5150         (extract_bit_field): Use SUBREG_BYTE.
5151         (extract_split_bit_field): Use SUBREG_BYTE.
5152         (expand_shift): Use SUBREG_BYTE.
5153         * expr.c (store_expr, expand_expr): Use gen_lowpart_SUBREG.
5154         * final.c (alter_subreg) Use subreg_hard_regno and SUBREG_BYTE.
5155         * flow.c (set_noop_p): Use SUBREG_BYTE.
5156         (mark_set_1): Remove ALTER_HARD_SUBREG. Use subreg_regno_offset instead.
5157         * function.c (fixup_var_refs_1): Fixup explicit XEXP into a SUBREG_REG.
5158         (fixup_memory_subreg): Use SUBREG_BYTE and remove byte endian
5159         correction code.
5160         (optimize_bit_field): Use SUBREG_BYTE.
5161         (purge_addressof_1): Use SUBREG_BYTE.
5162         (purge_single_hard_subreg_set): Use subreg_regno_offset function.
5163         (assign_params): Mark arguments SUBREG_PROMOTED_VAR_P if they are
5164         actually promoted by the caller and PROMOTE_FOR_CALLS_ONLY is true.
5165         * gengenrtl.c (special_rtx): Add SUBREG.
5166         * global.c (mark_reg_store): Use SUBREG_BYTE.
5167         (set_preference): Rework to use subreg_regno_offset and SUBREG_BYTE.
5168         * ifcvt (noce_emit_move_insn): Use SUBREG_BYTE.
5169         * integrate.c (copy_rtx_and_substitute): Use SUBREG_BYTE and make sure
5170         final byte offset is congruent to subreg's mode size.
5171         (subst_constants): Use SUBREG_BYTE.
5172         (mark_stores): Use subreg_regno_offset function.
5173         * jump.c (rtx_renumbered_equal_p, true_regnum): Use subreg_regno_offset
5174         function and SUBREG_BYTE.
5175         * local-alloc.c (combine_regs): Use subreg_regno_offset function.
5176         (reg_is_born): Use subreg_hard_regno.
5177         * recog.c (valid_replace_rtx_1): Use SUBREG_BYTE and remove byte
5178         endian correction code.  Don't combine subregs unless resulting
5179         offset aligns with type.  Fix subreg constant extraction for DImode.
5180         Simplify SUBREG of VOIDmode CONST_DOUBLE.
5181         (general_operand): Remove dead mode_altering_drug code.
5182         (indirect_operand): Use SUBREG_BYTE.
5183         (constrain_operands): Use subreg_regno_offset function.
5184         * reg-stack.c (get_true_reg): Use subreg_regno_offset function.
5185         * regmove.c (regmove_optimize): Use SUBREG_BYTE.
5186         (optimize_reg_copy_3): Use gen_lowpart_SUBREG.
5187         * regs.h (REG_SIZE): Allow target to override.
5188         (REGMODE_NATURAL_SIZE): New macro which target can override.
5189         * reload.c (reload_inner_reg_of_subreg): subreg_regno should be used
5190         on the entire subreg rtx.
5191         (push_reload): Use SUBREG_BYTE in comments and code.
5192         (find_dummy_reload): Use subreg_regno_offset.  Only adjust offsets
5193         for hard registers inside subregs.
5194         (operands_match_p): Use subreg_regno_offset.
5195         (find_reloads): Use SUBREG_BYTE and only advance offset for subregs
5196         containing hard regs.
5197         (find_reload_toplev): Use SUBREG_BYTE.  Remove byte endian
5198         corrections when fixing up MEM subregs.
5199         (find_reloads_address_1): Use SUBREG_BYTE, subreg_regno, and
5200         subreg_regno_offset where appropriate.
5201         (find_reloads_subreg_address): Use SUBREG_BYTE.  Remove
5202         byte endian corrections when fixing up MEM subregs.
5203         (subst_reloads): When combining two subregs, make sure final
5204         offset is congruent to subreg's mode size.
5205         (find_replacement): Use SUBREG_BYTE and subreg_regno_offset.
5206         (refers_to_regno_for_reload_p): Use subreg_regno.
5207         (reg_overlap_mentioned_for_reload_p): Use subreg_regno_offset.
5208         * reload1.c (eliminate_regs) Use SUBREG_BYTE. Remove byte endian
5209         correction code for memory subreg fixups.
5210         (forget_old_reload_1): Use subreg_regno_offset.
5211         (choose_reload_regs): Use subreg_regno.
5212         (emit_input_reload_insns): Use SUBREG_BYTE.
5213         (reload_combine_note_store): Use subreg_regno_offset.
5214         (move2add_note_store): Use subreg_regno_offset.
5215         * resource.c (update_live_status, mark_referenced_resources): Use
5216         subreg_regno function.
5217         (mark_set_resources): Use subreg_regno function.
5218         * rtl.h (SUBREG_WORD): Rename to SUBREG_BYTE.
5219         (subreg_regno_offset, subreg_regno): Define prototypes.
5220         (subreg_hard_regno, constant_subword, gen_rtx_SUBREG): Newi functions.
5221         (gen_lowpart_SUBREG): Add prototype.
5222         * rtl.texi (subreg): Update to reflect new byte offset representation.
5223         Add mentioning of the effect that BYTES_BIG_ENDIAN has on subregs now.
5224         * rtlanal.c (refers_to_regno_p): Use subreg_regno.
5225         (reg_overlap_mentioned_p): Use subreg_regno.
5226         (replace_regs); Make sure final offset of combined subreg is
5227         congruent to size of subreg's mode.
5228         (subreg_regno_offset): New function.
5229         (subreg_regno): New function.
5230         * sched-vis.c (print_value): Change SUBREG_WORD to SUBREG_BYTE.
5231         * sdbout.c (sdbout_symbol): Compute offset using alter_subreg.
5232         * stmt.c (expand_anon_union_decl): Use gen_lowpart_SUBREG.
5233         * tm.texi (ALTER_HARD_SUBREG): Remove, it is now dead.
5234         (SUBREG_REGNO_OFFSET): Describe SUBREG_REGNO_OFFSET overrides.
5235         * config/a29k/a29k.c (gpc_reg_operand): Use subreg_regno.
5236         (a29k_get_reloaded_address): Use SUBREG_BYTE.
5237         (print_operand): Use SUBREG_BYTE.
5238         * config/alpha/alpha.c (print_operand_address): Use SUBREG_BYTE.
5239         * config/arm/arm.c (arm_reload_in_hi): Use SUBREG_BYTE.
5240         (arm_reload_out_hi): Use SUBREG_BYTE.
5241         * config/d30v/d30v.c (d30v_split_double): Use subreg_regno_offset
5242         instead of SUBREG_WORD.
5243         (d30v_print_operand_memory_reference): Use subreg_regno_offset.
5244         * config/dsp16xx/dsp16xx.md (extendqihi2, zero_extendqihi2): Fix
5245         SUBREG creation to use byte offset.
5246         * config/h8300/h8300.md (Unnamed HImode zero extraction and 16bit
5247         inverted load insns): Fix explicit rtl subregs to use byte
5248         offsets.
5249         * config/i370/i370.md (cmpstrsi, movstrsi, mulsi3, divsi3,
5250         udivsi3, umodsi3): Generate SUBREGs with byte offsets.
5251         * config/i860/i860.c (single_insn_src_p): Use SUBREG_BYTE.
5252         * config/i860/i860.md (mulsi3_big): Fixup explicit SUBREGs in rtl
5253         to use byte offsets.
5254         (unnamed fmlow.dd insn): Fixup SUBREGS to use byte offsets.
5255         * config/i960/i960.md (extendhisi2): Generate SUBREGs with byte
5256         offsets, also make sure it is congruent to SUBREG's mode size.
5257         (extendqisi2, extendqihi2, zero_extendhisi2, zero_extendqisi2,
5258         unnamed ldob insn): Generate SUBREGs with byte offset.
5259         (zero_extendqihi2): SUBREG's are byte offsets.
5260         * config/m68hc11/m68hc11.c (m68hc11_gen_lowpart): Use SUBREG_BYTE.
5261         (m68hc11_gen_highpart): Use SUBREG_BYTE.
5262         * config/m68k/m68k.md (zero_extendhisi2, zero_extendqihi2,
5263         zero-extendqisi2): Generate SUBREGs with byte offset.
5264         (umulsidi3, mulsidi3, subreghi1ashrdi_const32,
5265         subregsi1ashrdi_const32, subreg1lshrdi_const32): Fixup explicit
5266         subregs in rtl to use byte offsets.
5267         * config/m88k/m88k.md (extendsidi2): fixup subregs to use byte offset.
5268         * config/mips/mips.c (mips_move_1word): Use subreg_regno_offset.
5269         (mips_move_2words): Use subreg_regno_offset.
5270         (mips_secondary_reload_class): Use subreg_regno_offset.
5271         * config/mips/mips.md (DImode plus, minus, move, and logical op
5272         splits): Fixup explicit subregs in rtl to use byte offsets.
5273         * config/mn10200/mn10200.c (print_operand): Use subreg_regno function.
5274         * config/mn10300/mn10300.c (print_operand): Use subreg_regno function.
5275         * config/ns32k/ns32k.md (udivmoddisi4): Fix explicit subregs in
5276         rtl to use byte offsets.
5277         * config/pa/pa.c (emit_move_sequence): Use SUBREG_BYTE.
5278         * config/pa/pa.md (floatunssisf2, floatunssidf2, mulsi3): fix explicit
5279         subregs to use byte offsets.
5280         * config/pdp11/pdp11.md (zero_extendhisi2, modhi3, modhi3+1):
5281         Fixup explicit subregs in rtl to use byte offsets.
5282         * config/romp/romp.c (memory_offset_in_range_p): Use SUBREG_BYTE
5283         and remove byte endian correction code.
5284         * config/sh/sh.c (output_movedouble): Use subreg_regno.
5285         (gen_ashift_hi): Use SUBREG_BYTE.
5286         (regs_used): Use subreg_regno_offset.
5287         (machine_dependent_reorg): Use subreg_regno_offset.
5288         * config/sh/sh.h (INDEX_REGISTER_RTX_P): Use SUBREG_BYTE.
5289         * config/sh/sh.md (DImode and DFmode move splits): Use subreg_regno.
5290         (movdf_i4): Subregs are byte offsets now.
5291         * config/sparc/sparc.c (ultra_find_type): Use SUBREG_BYTE.
5292         * config/sparc/sparc.h (ALTER_HARD_SUBREG): Removed.
5293         (REGMODE_NATURAL_SIZE): Override.
5294         (REG_SIZE): For SUBREG check float mode on SUBREG_REG's mode.
5295         * config/sparc/sparc.md (TFmode move splits): Generate SUBREGs
5296         with byte offsets.
5297         (zero_extendhisi2, zero_extendqidi2_insn, extendhisi2,
5298         extendqihi2, sign_extendqihi2_insn, sign_extendqisi2_insn,
5299         extendqidi2): Generate SUBREGs with byte offsets, also make sure
5300         it is congruent to SUBREG's mode size.
5301         (smulsi3_highpart_v8plus): Fix explicit subregs in rtl to use byte
5302         offsets.
5303         (cmp_siqi_trunc, cmp_siqi_trunc_set, cmp_diqi_trunc,
5304         cmp_diqi_trunc_set, lshrdi3_v8plus+1, lshrdi3_v8plus+2,
5305         lshrdi3_v8plus+3, lshrdi3_v8plus+4): Use proper
5306         SUBREG_BYTE offset for non-paradoxical subregs in patterns.
5307         * config/v850/v850.c (print_operand, output_move_double): Use
5308         subreg_regno function.
5309
5310 2001-04-03  Alexandre Oliva  <aoliva@redhat.com>
5311
5312         * configure.in (target_subdir): Use target_alias, not target.
5313         * configure: Rebuilt.
5314
5315         * config/sh/crtn.asm (init, fini): Restore r15 from r14, not the
5316         other way round.
5317         * config/sh/crti.asm: Fix typos in comments.
5318
5319 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
5320
5321         * pa.h: Revise comments for TARGET_NO_SPACE_REGS and
5322         TARGET_FAST_INDIRECT_CALLS.
5323         * pa.c (override_options): TARGET_NO_SPACE_REGS is now OK with
5324         -fPIC.  Don't warn.
5325         (return_addr_rtx): Short circuit export stub matching when
5326         TARGET_NO_SPACE_REGS.
5327         (output_millicode_call): For out of range calls, make -fPIC
5328         take precedence, then TARGET_PORTABLE_RUNTIME, then ble.  Don't
5329         return before delay slot checks when TARGET_PORTABLE_RUNTIME.
5330         * pa.md: Modify length attr calculation of all millicode insns to
5331         match above.
5332
5333 2001-04-02  Geoffrey Keating  <geoffk@redhat.com>
5334
5335         * configure.in (gcc_cv_as_leb128): Correct name of cache variable.
5336         Require at least 2.11 in the version test.  Specifically check
5337         for and reject GAS version 2.10.90.
5338         * configure: regenerate.
5339
5340 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
5341
5342         * pa.c (override_options): Remove PIC profiling warning.
5343         (hp_profile_labelno): Delete.
5344         (hp_profile_label_rtx): Delete.
5345         (hp_profile_label_name): Delete.
5346         (pa_add_gc_roots): Remove reference to hp_profile_label_rtx.
5347         (output_function_prologue): Remove profiling code and all tests on
5348         profile_flag.  Move store of PIC_OFFSET_TABLE_REGNUM now that
5349         merge_sp_adjust_with_store can work for PIC and profiling.
5350         (hppa_expand_epilogue): Remove profile_flag test.
5351         (hppa_can_use_return_insn_p): Likewise.
5352         (hppa_init_pic_save): Emit before tail_recursion_reentry, and
5353         cater for PROFILE_HOOK.
5354         (hppa_profile_hook): New function.
5355         * pa.h (FUNCTION_PROFILER): Now does nothing.
5356         (PROFILE_HOOK): Define.
5357         (hppa_profile_hook): Declare.
5358         (PROFILE_BEFORE_PROLOGUE): Delete.
5359         (ASM_OUTPUT_REG_PUSH): Delete.
5360         (ASM_OUTPUT_REG_POP): Delete.
5361         * pa.md (call_profiler): Turn it into a call insn, and don't `use'
5362         r24.  Accept function name operand, and use this and a locally
5363         generated label to calculate pc-rel offset to func start.
5364
5365 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5366
5367         * $(HOST_PREFIX_1)errors.o, $(HOST_PREFIX_1)ggc-none.o,
5368         ggc-common.o, ggc-simple.o, ggc-page.o, ggc-none.o: Depend on
5369         $(SYSTEM_H).
5370
5371 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
5372
5373         * dwarf2out.c (dwarf2out_frame_debug_expr): Move errant HIGH and
5374         LO_SUM cases to where they belong.
5375
5376 2001-04-02  Richard Henderson  <rth@redhat.com>
5377
5378         * except.h (lang_eh_type_covers): Mark extern.
5379         (lang_eh_runtime_type): Likewise.
5380
5381 2001-04-02  Zack Weinberg  <zackw@stanford.edu>
5382
5383         * genattr.c, gencheck.c, gencodes.c, genconfig.c, genflags.c,
5384         gengenrtl.c:  Wrap generated header in multiple-include guard.
5385         Improve error checking.
5386
5387 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5388
5389         * configure.in: Don't check for putenv.
5390         * configure: Regenerate.
5391         * gcc.c (putenv): Don't define.
5392         * vax/xm-vms.h: Handle putenv.
5393
5394 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
5395
5396         * ifcvt.c (noce_emit_move_insn): New.
5397         (noce_try_store_flag, noce_try_store_flag_constants,
5398         noce_try_store_flag_inc, noce_try_store_flag_mask,
5399         noce_try_cmove, noce_try_cmove_arith, noce_try_minmax,
5400         noce_try_abs): Use it.
5401         (noce_process_if_block): Likewise.
5402         For STRICT_LOW_PART, take mode from its SUBREG.
5403
5404 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
5405
5406         * fold-const.c (fold): Before optimizing unsigned comparison with
5407         0x7fffffffU, make sure arg0 is integral type.
5408
5409 2001-04-02  Joseph S. Myers  <jsm28@cam.ac.uk>
5410
5411         * c-tree.texi: Document representation of wide strings.
5412
5413 2001-04-01  Richard Henderson  <rth@redhat.com>
5414
5415         * except.h (expand_builtin_dwarf_fp_regnum): Declare.
5416
5417 Sun Apr  1 11:49:05 CEST 2001  Jan Hubicka  <jH@suse.cz>
5418
5419         * i386.md: remove obsoleted comments.
5420         (adddi_?): Rename to adddi_?_rex64; disable for 32bit.
5421         (x86_movsicc_0_m1_rex64): Rename to x86_movdicc_0_m1_rex64;
5422         fix output template.
5423
5424 2001-03-31  Marek Michalkiewicz  <marekm@linux.org.pl>
5425
5426         * config/avr/libgcc.S (__mulhi3): Optimize previous change.
5427
5428 2001-03-30  Bernd Schmidt  <bernds@redhat.com>
5429
5430         * loop.c (load_mems): When generating a load from a pseudo, update
5431         REGNO_LAST_UID.
5432
5433 Fri Mar 30 17:36:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
5434
5435         * i386.c (ix86_split_long_move): Use change address to compensate
5436         stack pointer change in push instruction.
5437
5438 Fri Mar 30 00:31:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
5439
5440         * i386.md (sse_movdfcc_eq): Fix constraint (sse_mov?fcc splitter): Use operands_match_p
5441         instead of rtx_equal_p; fix the output template.
5442
5443 Fri Mar 30 00:21:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
5444
5445         * i386.c (ix86_expand_setcc): Support 64bit.
5446         (ix86_expand_int_movcc): Likewise.
5447         * i386.md (movdicc_rex64, x86_movsicc_0_m1_rex64, movdicc_c_rex64):
5448         New patterns.
5449
5450         * i386.md (allocate_stack_worker): Turn to expander.
5451         (allocate_stack_worker_1, allocate_stack_worker_rex64): New insns.
5452
5453         * i386.c (print_reg): Do not print x86_64 style regs on IA-32
5454
5455 2001-03-29  Richard Henderson  <rth@redhat.com>
5456
5457         * libgcc2.c [L__main]: Include unwind-dw2-fde.h instead of frame.h.
5458
5459 2001-03-28  Matthew Hiller  <hiller@redhat.com>
5460
5461         * config/mn10300/mn10300.md (cmpsi): Fix first alternative's
5462         output template.
5463
5464         * MAINTAINERS: Added self.
5465
5466 2001-03-28  Richard Henderson  <rth@redhat.com>
5467
5468         * Makefile.in (cs-tconfig.h): Depend on CONFIG_H, not GCONFIG_H.
5469         Use ALL_CFLAGS not HOST_CFLAGS for sjlj detection.
5470
5471 2001-03-28  Jim Wilson  <wilson@redhat.com>
5472
5473         * config/ia64/ia64.md (movtf): Change DImode to TFmode in calls to
5474         operand_subword.
5475
5476 2001-03-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5477
5478         * toplev.h (fatal_error): Add ATTRIBUTE_NORETURN.
5479
5480         * tradcif.y (yyerror): Likewise.  Add format specifier in call to
5481         `error'.
5482
5483         * tradcpp.c (macroexpand): Likewise for call to `error_with_line'.
5484
5485 2001-03-28  DJ Delorie  <dj@redhat.com>
5486
5487         * Makefile.in (stage1_build): Revert CFLAGS patch.
5488
5489 2001-03-28  Marek Michalkiewicz  <marekm@linux.org.pl>
5490
5491         * config/avr/libgcc.S (__mulhi3): Correct tests to exit the loop
5492         when multiplier or multiplicand is zero.
5493
5494 2001-03-28  Bernd Schmidt  <bernds@redhat.com>
5495
5496         * cselib.c (hash_rtx): Don't do tail recursion elimination by hand.
5497
5498         * config/ia64/ia64.c (update_set_flags): New function, broken out of
5499         rtx_needs_barrier.
5500         (set_src_needs_barrier): Likewise.
5501         (rtx_needs_barrier): For SET case, use these two functions.  Rework
5502         PARALLEL case to handle all inputs before all outputs.
5503         (emit_insn_group_barriers): Call init_insn_group_barriers only if we
5504         saw a label and no stop bit since then.
5505         (maybe_rotate, process_epilogue): Add prototypes.
5506
5507 2001-03-28  Richard Henderson  <rth@redhat.com>
5508
5509         * config/rs6000/rs6000.h (EPILOGUE_USES): Use TARGET_AIX,
5510         not TARGET_TOC for special toc restore handling.
5511         * config/rs6000/rs6000.md (eh_return): Likewise.
5512
5513 2001-03-28  Richard Henderson  <rth@redhat.com>
5514
5515         * config/sparc/sparc.c (eligible_for_epilogue_delay): False if
5516         current_function_calls_eh_return.
5517         (output_function_epilogue): Handle eh_return.
5518         * config/sparc/sparc.h (DOESNT_NEED_UNWINDER): Remove.
5519         (EH_RETURN_DATA_REGNO): New.
5520         (EH_RETURN_STACKADJ_RTX): New.
5521         (EH_RETURN_HANDLER_RTX): New.
5522         * config/sparc/sparc.md (call/short branch peepholes): Check
5523         can_throw_internal instead of in_same_eh_region.
5524
5525         * config/rs6000/rs6000.c (rs6000_stack_info): Allocate space
5526         for eh_return data registers.
5527         (rs6000_emit_prologue): Save eh_return data registers.
5528         (rs6000_emit_epilogue): Force inline restores if eh_return.
5529         Restore eh_return data registers.  Mind EH_RETURN_STACKADJ_RTX.
5530         * config/rs6000/rs6000.h (rs6000_stack_t): Add ehrd_offset.
5531         (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX): New.
5532         (EPILOGUE_USES): True for TOC_REGISTER if calls_eh_return and
5533         the target uses one.
5534         * config/rs6000/rs6000.md (eh_epilogue, eh_reg_restore): Remove.
5535         (return_eh_si, return_eh_di): Remove.
5536         (eh_return): New, from corpse of eh_epilogue.
5537         (eh_set_lr_si, eh_set_lr_di): New.
5538
5539         * config/i386/i386.c (general_no_elim_operand): Disallow virtual regs.
5540         (ix86_save_reg): If maybe_eh_return, true for EH_RETURN_DATA_REGNOs.
5541         True for pic register if current_function_calls_eh_return.
5542         (ix86_expand_epilogue): Change "emit_return" argument into "style".
5543         Handle eh_return requirements.
5544         * config/i386/i386.h (EH_RETURN_DATA_REGNO): New.
5545         (EH_RETURN_STACKADJ_RTX): New.
5546         * config/i386/i386.md (exception_receiver): Remove.
5547         (eh_return, eh_return_1): New.
5548         * config/i386/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
5549
5550         * config/alpha/alpha.c (alpha_sa_mask): Add EH_RETURN_DATA_REGNOs.
5551         (alpha_mark_machine_status): No eh_epilogue_sp_ofs ...
5552         (alpha_expand_epilogue): ... use EH_RETURN_STACKADJ_RTX instead.
5553         * config/alpha/alpha.h (machine_function): Remove eh_epilogue_sp_ofs.
5554         (EH_RETURN_DATA_REGNO): New.
5555         (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): New.
5556         * config/alpha/alpha.md (eh_epilogue): Remove.
5557         (exception_receiver): Use $26 for ldgp input.
5558         * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
5559
5560 2001-03-28  Richard Henderson  <rth@redhat.com>
5561
5562         * except.c: Rewrite entirely for IA-64 ABI exception handling.
5563         * except.h: Likewise.
5564
5565         * Makefile.in (LIB2ADDEH): Mention unwind-dw2*.c
5566         (LIB2ADDEHDEP): New.
5567         (LIB2FUNCS_EH): Remove.
5568         (LIB2ADD): Remove LIB2ADDEH.
5569         (libgcc.mk): Pass LIB2ADDEHDEP, don't pass LIB2FUNCS_EH.
5570         (LIBGCC_DEPS): Use LIB2ADDEHDEP.
5571         (crt{begin,end}[S].o): Likewise.
5572         (except.o): Update includes.
5573         * mklibgcc.in: Remove LIB2FUNCS_EH, add LIB2ADDEH, LIB2ADDEHDEP.
5574         (libgcc2_c_dep): Use LIB2ADDEHDEP.
5575
5576         * basic-block.h (struct basic_block_def): Remove eh_beg, eh_end.
5577         * bb-reorder.c (reorder_basic_blocks): Don't disable for EH.
5578         * builtins.def (BUILT_IN_EH_RETURN_DATA_REGNO): New.
5579         * builtins.c (expand_builtin): Implement it.
5580         [BUILT_IN_EH_RETURN]: Update for nr arguments change.
5581         * c-common.c (c_common_nodes_and_builtins): Declare it.
5582         * c-decl.c (init_decl_processing): Update __builtin_eh_return.
5583         * calls.c (libfunc_nothrow): Remove.
5584         (emit_library_call_value_1): Don't call it.
5585         * crtstuff.c: Include unwind-dw2-fde.h instead of frame.h.
5586         * dwarf2.h (dwarf_call_frame_info): Add dwarf2.1 elements.
5587         (DW_EH_PE_*): New defines for pointer encoding in .eh_frame.
5588         * dwarf2out.c (struct dw_fde_struct): Add uses_eh_lsda, funcdef_number.
5589         (current_funcdef_number): Globalize.
5590         (output_call_frame_info): Emit frame data if an lsda is needed.
5591         Generate augmentation for personality routine.  Don't play with
5592         difference symbols.
5593         (dwarf2out_begin_prologue): Record funcdef_number.
5594         * dwarf2out.h (current_funcdef_number): Declare.
5595         * expr.c (expand_expr): Update for except.h name changes.
5596         Remove POPDCC_EXPR, POPDHC_EXPR.  Add EXC_PTR_EXPR.
5597         * expr.h (LTI_throw, LTI_rethrow): Remove.
5598         (LTI_sjthrow, LTI_sjpopnthrow, LTI_terminate): Remove.
5599         (LTI_eh_rtime_match): Remove.
5600         (LTI_unwind_resume, LTI_eh_personality): Add.
5601         (LTI_unwind_sjlj_register, LTI_unwind_sjlj_unregister): Add.
5602         * final.c (final): Don't call check_exception_handler_labels,
5603         init_insn_eh_region, or free_insn_eh_region.
5604         (final_scan_insn): Always emit debug labels for
5605         NOTE_INSN_EH_REGION notes.
5606         * flags.h (flag_new_exceptions): Remove.
5607         * flow.c (entry_exit_blocks): Remove eh_beg, eh_end.
5608         (record_active_eh_regions): Remove.
5609         (count_basic_blocks): Check all instructions for REG_EH_REGION.
5610         Use can_throw_internal.
5611         (find_basic_blocks_1): Likewise.
5612         (move_stray_eh_region_notes): Remove.
5613         (find_label_refs): No eh_return_stub_label.
5614         (make_edges): Likewise.  No init/free_eh_nesting_info.  Handle RESX.
5615         (make_eh_edge): No eh_nest_info.  Update for reachable_handlers
5616         changes.
5617         (delete_unreachable_blocks): Don't track deleted handlers.
5618         (flow_delete_block): Use maybe_remove_eh_handler.
5619         (delete_eh_regions): Remove.
5620         (merge_blocks): Don't check for eh region match.
5621         (mark_regs_live_at_end): Handle EH_RETURN_DATA_REGNO,
5622         EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX.
5623         (init_propagate_block_info): Disable dead frame store optimization
5624         when current_function_calls_eh_return.
5625         (dump_bb): Don't print eh_beg, eh_end.
5626         * function.c (fixup_var_refs): No catch_clauses.
5627         (expand_function_end): Likewise.  Call expand_eh_return before
5628         the return register use.  Call sjlj_emit_function_exit_after.
5629         (expand_function_start): Force pseudo DECL_RESULT if sjlj exceptions.
5630         * function.h (struct function): Add calls_eh_return, uses_eh_lsda.
5631         * ifcvt.c (dead_or_predicable): Remove eh region check.
5632         * integrate.c (function_cannot_inline_p): Disallow __builtin_eh_return.
5633         Don't check for EH vs parameters.
5634         (expand_inline_function_eh_labelmap, eif_eh_map): Remove.
5635         (expand_inline_function): Call duplicate_eh_regions.
5636         (copy_insn_list): Don't handle NOTE_INSN_EH_REGION_BEG/END.
5637         (copy_insn_notes): Remap REG_EH_REGION notes.
5638         (copy_rtx_and_substitute): Remove SYMBOL_REF_NEED_ADJUST check.
5639         * integrate.h (struct inline_remap): Add local_return_label.
5640         * jump.c (jump_optimize_1): Don't init/free_insn_eh_region, nor
5641         check_exception_handler_labels, nor exception_optimize.
5642         (find_cross_jump): No EH region check.
5643         * optabs.c (init_optabs): Update for changed eh libfuncs.
5644         * rtl.def (RESX): New.
5645         * rtl.h (SYMBOL_REF_NEED_ADJUST): Remove.
5646         * stmt.c (expand_decl_cleanup): Simplify using_eh_for_cleanups_p
5647         checks.  Update for except.h name changes.
5648         (expand_cleanups): Likewise.
5649         (expand_dcc_cleanup, expand_dhc_cleanup): Remove.
5650         * toplev.c (dump_file_index, dump_file): Add .02.eh dump.
5651         (compile_file): Call init_eh before init_optabs.  Don't
5652         output_exception_table here.
5653         (rest_of_compilation): Call convert_from_eh_region_ranges,
5654         convert_to_eh_region_ranges, output_function_exception_table.
5655         Don't emit_eh_context.
5656         * tree.def (POPDHC_EXPR, POPDCC_EXPR): Remove.
5657         (EXC_PTR_EXPR): New.
5658
5659         * md.texi (eh_epilogue): Remove.
5660         (eh_return): Document.
5661         * tm.texi (EH_RETURN_DATA_REGNO): Document.
5662         (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): Document.
5663
5664         * eh-common.h: Remove file.
5665         * frame-dwarf2.c, frame.c, frame.h: Remove files.
5666         * libgcc2.c (L_eh): Remove.
5667
5668         * unwind-dw2-fde.c: New file, largely copied from frame.c.
5669         * unwind-dw2-fde.h: New file.
5670         * unwind-dw2.c: New file, largely cribbed from frame-dwarf2.c.
5671         * unwind-sjlj.c, unwind.h, unwind.inc: New files.
5672         * libgcc-std.ver: Update for eh symbols.
5673
5674 2001-03-27  Richard Henderson  <rth@redhat.com>
5675
5676         * regmove.c (perhaps_ends_bb_p): Use can_throw_internal to
5677         reduce false positives.
5678         (regmove_optimize): Disable if flag_non_call_exceptions.
5679
5680         * stmt.c (expand_return): Remove always true predicate.
5681         (expand_decl_cleanup_no_eh): Remove dead code.
5682
5683         * sched-deps.c (sched_analyze_insn): Consolidate scheduling
5684         barrier code.  Add a scheduling barrier if a non-call insn
5685         can throw internally.
5686
5687         * rtlanal.c (rtx_addr_can_trap_p): Virtual registers cannot trap.
5688         Auto-inc addresses trap only if their base register does.
5689
5690         * except.c (can_throw_internal): Rename from can_throw.
5691         * except.h, resource.c: Update references.
5692
5693         * integrate.c (copy_insn_list): Use returnjump_p.
5694         (copy_insn_notes): Recurse for CALL_PLACEHOLDER.
5695
5696         * function.h (struct function): Move all boolean valued fields
5697         to single bit fields at the end of the struct.
5698
5699         * bb-reorder.c, dwarf2out.c, except.c, except.h, flow.c,
5700         jump.c, toplev.c:
5701         Rename asynchronous_exceptions to flag_non_call_exceptions.
5702
5703         * gthr-single.h (UNUSED): New.  Distinguish between how C
5704         and C++ mark unused function arguments.  Use throughout.
5705
5706         * Makefile.in (cs-tconfig.h): Copy USING_SJLJ_EXCEPTIONS
5707         value to target configuration header.
5708         * configure.in (CONFIG_SJLJ_EXCEPTIONS): New.
5709         * config.in, configure: Rebuild.
5710         * except.h (USING_SJLJ_EXCEPTIONS): New.  Define based on
5711         configuration and target defines.
5712         (exceptions_via_longjmp): Remove.
5713         * dwarf2out.c, except.c, final.c, toplev.c, config/ia64/ia64.c:
5714         Use USING_SJLJ_EXCEPTIONS instead of exceptions_via_longjmp.
5715
5716         * except.h (flag_non_call_exceptions): Move ...
5717         * flags.h: ... here.
5718
5719         * combine.c (distribute_notes) [REG_EH_REGION]: If non-call
5720         exceptions, put the note on the trapping instruction.
5721
5722         * flags.h (flag_new_exceptions): Remove.
5723         * toplev.c: Don't set it.
5724         * final.c: Don't check it.
5725         * except.c: Provide stub definition.
5726
5727         * flow.c (tidy_fallthru_edges): Don't combine complex edges.
5728         (calculate_global_regs_live): Kill call-clobbered registers
5729         across exception edges.
5730         * reg-stack.c (convert_regs_1): Kill the entire target stack
5731         across non-call exception edges.
5732
5733         * flow.c (cleanup_cfg): Take no argument.
5734         * output.h, sibcall.c, toplev.c: Update all calls.
5735
5736 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5737
5738         * configure.in: Don't check for bcopy.
5739         * configure, config.in: Regenerate.
5740
5741         * system.h: Don't define or prototype bcopy, instead poison it.
5742
5743 2001-03-27  Richard Henderson  <rth@redhat.com>
5744
5745         * function.c (expand_function_start): Set DECL_REGISTER on
5746         a pseudo used for DECL_RESULT.
5747
5748         * rtl.h (LCT_NORETURN): New.
5749         * calls.c (emit_library_call_value_1): Handle it.
5750
5751 2001-03-27  Stan Shebs  <shebs@apple.com>
5752
5753         * objc/objc-act.c (objc_init): Use dump_base_name.
5754         (gen_declaration): Clear the buffer arg.
5755         (gen_declaration_1): New function, body of gen_declaration.
5756         (adorn_decl): Call gen_declaration_1 instead of gen_declaration.
5757         (gen_method_decl): Ditto, plus always clear buffer arg.
5758         (error_with_ivar): Simplify.
5759         (warn_with_method): Ditto.
5760         (build_message_expr): Don't clear buffers.
5761         (dump_interface): Ditto.
5762         (objc_debug): Ditto.
5763         (build_keyword_selector): Clear the buffer by only zeroing
5764         the first element.
5765         (objc_implementation_context): Declare.
5766         (start_class): Warn about missing @end.
5767         (finish_objc): Ditto.
5768
5769 2001-03-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5770
5771         * reload1.c (eliminate_regs): Don't abort on MEM USEs.
5772
5773 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5774
5775         * Makefile.in (SYSTEM_H): Define.
5776         Depend on $(SYSTEM_H), not system.h.
5777
5778         * objc/Make-lang.in: Depend on $(SYSTEM_H), not system.h.
5779
5780 2001-03-27  Jim Wilson  <wilson@redhat.com>
5781
5782         * final.c (final_scan_insn, case NOTE_INSN_BASIC_BLOCK): Call
5783         IA64_UNWIND_EMIT.
5784         * config/ia64/ia64.c (block_num, need_copy_state): New static vars.
5785         (process_epilogue): New static function.
5786         (process_set): Call process_epilogue instead of emitting .restore
5787         directly.
5788         (process_for_unwind_directive): Handle NOTE_INSN_BASIC_BLOCK.
5789
5790         * flow.c (struct reg_cond_life_info): New fields orig_condition
5791         and stores.
5792         (init_propagate_block_info): Set new fields.
5793         (mark_regno_cond_dead): Set and use new fields.
5794         (flush_reg_cond_reg_1): Likewise.
5795         (and_reg_cond, case AND): Check for redundant AND conditions.
5796         (mark_used_reg): Delete unnecessary clears before freeing splay trees.
5797         Set new fields.
5798
5799 2001-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
5800
5801         * cppmacro.c (stringify_arg): Null terminate strings.
5802
5803 2001-03-27  Zack Weinberg  <zackw@stanford.edu>
5804
5805         * config.gcc (m68hc11-*-*, m68hc12-*-*): Convert to new tm.h
5806         inclusion style.  xm-m68hc11.h no longer exists.
5807         * config/m68hc11/xm-m68hc11.h: Delete file.
5808         * config/m68hc11/m68hc12.h: Convert to new tm.h inclusion style.
5809
5810         * config/m68hc11/m68hc11.h: Convert to new tm.h inclusion style.
5811         Don't define GCC_VERSION, N_, or PARAMS; don't include
5812         gansidecl.h or stdio.h.  Define inhibit_libc here.
5813         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
5814         Delete code conditioned on #if GCC_VERSION == 2095.
5815
5816         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
5817         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
5818         Delete code conditioned on #if GCC_VERSION == 2095.
5819
5820 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5821
5822         * system.h: Include symcat.h.
5823         (STRINGIFY): Don't define.
5824
5825         * configure.in: Adjust comment.
5826
5827         * builtins.c: Use STRINGX, not STRINGIFY.
5828         * gencheck.c: Likewise.
5829         * gengenrtl.c: Likewise.
5830         * protoize.c: Likewise.
5831
5832         * cpplex.c: Don't include symcat.h.
5833         * cpplib.c: Likewise.
5834
5835         * gansidecl.h (HAVE_STRINGIZE): Don't define.
5836
5837 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
5838
5839         * c-typeck.c (digest_init): Fold init expression.
5840
5841 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5842
5843         * sbitmap.c (sbitmap_copy): Call memcpy, not bcopy.
5844
5845 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
5846
5847         * except.c (eh_regs): Save results of build_pointer_type to a temp
5848         as FUNCTION_VALUE macro may evaluate its args multiple times.
5849
5850 2001-03-26  Mark Mitchell  <mark@codesourcery.com>
5851
5852         * c-common.h (DECL_NUM_STMTS): New macro.
5853         * c-decl.c (duplicate_decls): Copy DECL_NUM_STMTS, not
5854         DECL_FRAME_SIZE.
5855         (pushdecl): Likewise.
5856         * c-semantics.c (add_stmt): Update DECL_NUM_STMTS.
5857         * integrate.c (expand_inline_function): Don't check
5858         DECL_FRAME_SIZE.
5859         * print-tree.c (print_node): Don't print it.
5860         * toplev.c (rest_of_compilation): Don't try to inline when
5861         flag_no_inline is on.
5862         * tree.h (DECL_FRAME_SIZE): Remove.
5863         (tree_decl): Adjust accordingly.
5864
5865 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5866
5867         * combine.c (try_combine): Use memcpy, not bcopy.
5868
5869         * genattrtab.c (expand_units): Likewise.
5870
5871 Mon Mar 26 15:55:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
5872
5873         * i386.md (push mem DI peep2): New.
5874         (mov 0, mov -1 peep2): Handle 64bit.
5875         (lea to arithmetics peep2): Handle 64bit leas.
5876         (rsp arithmetics to push/pop peep2s): New.
5877
5878         * i386.md (truncdfsf2_3, trunctfsf2_2): Change predicate to memory_operand.
5879
5880 Mon Mar 26 14:35:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
5881
5882         * i386.c (struct machine_function): Add save_varrargs_registers.
5883         (ix86_save_varrargs_registers): New macro.
5884         (ix86_frame_layout): Support 64bit; support red zones and varrargs area.
5885         (ix86_expand_prologue): Likewise.
5886         (ix86_emit_epilogue_esp_adjustement): Likewise.
5887         (ix86_expand_epilogue): Likewise.
5888         * i386.md (pro_epilogue_adjust_stack): Turn to expander; support 64bit.
5889         (pro_epilogue_adjust_stack_1): New insn.
5890         (pro_epilogue_adjust_stack_rex64): Likewise.
5891         * i386.h (MASK_NO_RED_ZONE): New constant.
5892         (TARGET_RED_ZONE): New macro.
5893         (TARGET_OPTIONS): Add "red-zone" and "no-red-zone"
5894         (RED_ZONE_SIZE): New constant.
5895         (RED_ZONE_RESERVE): New constant.
5896
5897 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5898
5899         * toplev.c (set_float_handler): Use memcpy, not bcopy.
5900
5901 2001-03-25  Kazu Hirata  <kazu@hxi.com>
5902
5903         * config/h8300/h8300.md (umodqi3): Output a tab instead of a
5904         space.
5905         (modqi3): Likewise.
5906         (umodhi3): Likewise.
5907         (modhi3): Likewise.
5908
5909 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5910
5911         * mkconfig.sh (DEFINES): Handle entries with '='.
5912
5913         * config.gcc: Don't use i370/xm-mvs.h or ns32k/xm-pc532-min.h.
5914         Set xm_defines to MACRO=value instead.
5915
5916         * i370/xm-mvs.h: Delete.
5917
5918         * ns32k/xm-pc532-min.h: Likewise.
5919
5920 Sun Mar 25 15:01:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
5921
5922         * i386.md (ashldi3, ashrdi3, lshrdi3): Change predicates to
5923         shiftdi_operand;
5924         use ix86_expand_binary_operator
5925         (?sh??i_?): Disable for 64bit.
5926         * i386.h (PREDICATE_CODES): Add shiftdi_operand.
5927         * i386.c (shiftdi_operand): New predicate.
5928
5929         * (ashldi3_1_rex64, ashldi3_cmp_rex64, ashlsi3_1_zext, ashlsi3_cmp_zext,
5930         ashrdi3_63_rex64, ashrdi3_1_one_bit_rex64, ashrdi3_1_rex64,
5931         ashrdi3_one_bit_cmp_rex64, ashrdi3_cmp_rex64, ashrsi3_31_zext,
5932         ashrsi3_1_one_bit_zext, ashrsi3_1_zext, ashrsi3_one_bit_cmp_zext,
5933         ashrsi3_cmp_zext, lshrdi3_1_one_bit_rex64, lshrdi3_1_rex64,
5934         lshrdi3_cmp_one_bit_rex64, lshrdi3_cmp_rex64, lshrsi3_1_one_bit_zext,
5935         lshrsi3_1_zext, lshrsi3_cmp_one_bit_zext, lshrsi3_cmp_zext,
5936         rotlsi3_1_one_bit_rex64, rotldi3_1_rex64,
5937         rotlsi3_1_one_bit_zext, rotlsi3_1_zext, rotrdi3_1_one_bit_rex64,
5938         rotrdi3_1_rex64, rotrsi3_1_one_bit_zext, rotrsi3_1_zext): New patterns.
5939         (rotldi3, rotrdi3): New expanders.
5940
5941 Sun Mar 25 14:25:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
5942
5943         * i386.md (movstrsi): Move offline.
5944         (movstrdi): New.
5945         (strmovdi_rex64): New.
5946         (strmov?i): Accept 64bit.
5947         (strmov?i_rex64): New.
5948         (strmov?i_rex_1): New.
5949         (strmov?i_1): Disable for 64bit.
5950         (rep_mov?i_rex64): New.
5951         (rep_mov?i): Disable for 64bit.
5952         (clrstrsi): Move offline.
5953         (strset?i_rex64): New.
5954         (strset?i: Accept 64bit.
5955         (rep_stos?i): Disable for 64bit.
5956         (rep_stos?i_rex64): New.
5957         (strset?i_rex_1): New.
5958         (strset?i_1): Disable for 64bit.
5959         (cmpstrsi): Accept 64bit.
5960         (cmpstrsi_nz_1): Rename to cmpstrqi_nz_1; Disable for 64bit.
5961         (cmpstrqi_nz_rex_1): New.
5962         (cmpstrsi_1): Rename to cmpstrqi_1; Disable for 64bit.
5963         (strlensi): Move offline.
5964         (strlendi): New.
5965         (strlenqi_1): Disable for 64bit; fix constraints.
5966         (strlenqi_rex_1): New.
5967         * i386.c (ix86_adjust_counter): New static function.
5968         (ix86_zero_extend_to_Pmode): Likewise.
5969         (ix86_expand_aligntest): Likweise.
5970         (ix86_expand_strlensi_unroll_1): Make static; update for 64bit.
5971         (ix86_expand_movstr): New global function.
5972         (ix86_expand_clrstr): New global function.
5973         (ix86_expand_strlen): New global function.
5974         * i386-protos.h (ix86_expand_movstr, ix86_expand_clrstr,
5975         ix86_expand_strlen): Declare.
5976         (ix86_expand_strlensi_unroll_1): Delete.
5977
5978 Sat Mar 24 23:15:19 CET 2001  Jan Hubicka  <jh@suse.cz>
5979
5980         * i386.md (cmpdi): Fix operand predicates.
5981         (cmpdi_ccno_1_rex64, cmpdi_minus_1_rex64, cmpdi_1_rex64,
5982          cmpdi_1_insn_rex64): New patterns.
5983         (adddi3): Turn to expander.
5984         (adddi3_1, adddi3_carry_rex64, adddi3_cc_rex64): New patterns.
5985         (addsi3_carry_zext): New pattern.
5986         (adddi_?_rex64): New patterns and splitters.
5987         (addsi_?_zext): New patterns.
5988         (subsi3_carry_zext): New pattern.
5989         (subdi_?_rex64): New patterns and splitters.
5990         (iorsi_?_zext): New patterns.
5991         (iordi_?_rex64): New patterns and splitters.
5992         (iorsi_?_zext): New patterns.
5993         (iorsi_?_zext_imm): New patterns.
5994         (xorsi_?_zext): New patterns.
5995         (xordi_?_rex64): New patterns and splitters.
5996         (xorsi_?_zext): New patterns.
5997         (negdi*): New patterns.
5998         (one_cmpldi*): Likewise.
5999         (one_cmplsi*_zext, negsi*_zext): Likewise.
6000         (testqi_ext_3_rex64): New pattern.
6001
6002 Sat Mar 24 21:13:28 CET 2001  Jan Hubicka  <jh@suse.cz>
6003
6004         * i386-protos.h (ix86_split_long_move): Return void.
6005         * i386.c (ix86_split_to_parts): Handle 64bit target.
6006         (ix86_split_long_move): Likewise.
6007         * i386.md (all calls to ix86_split_long_move): Update.
6008
6009 2001-03-23  Richard Henderson  <rth@redhat.com>
6010
6011         * config/mips/iris4.h (ASM_OUTPUT_ASCII): Rename local variables
6012         to avoid shadowing arguments.
6013
6014 2001-03-23  Jakub Jelinek  <jakub@redhat.com>
6015
6016         * varasm.c (make_decl_rtl): Don't append var_labelno discriminator
6017         to variable names where DECL_NAME is different from
6018         DECL_ASSEMBLER_NAME.
6019
6020 2001-03-23  Jim Wilson  <wilson@redhat.com>
6021
6022         * varasm.c (make_decl_rtl): Add TREE_PUBLIC check to abort test.
6023         (assemble_alias): Call make_decl_rtl.
6024
6025 Fri Mar 23 16:59:08 2001  J"orn Rennecke <amylaar@redhat.com>
6026
6027         * stor-layout.c (layout_type): Give OFFSET_TYPE a MODE_INT type.
6028
6029 2001-03-23  Bryce McKinlay  <bryce@albatross.co.nz>
6030
6031         * extend.texi: Document the "java_interface" attribute.
6032
6033 2001-03-22  Zack Weinberg  <zackw@stanford.edu>
6034
6035         * mkconfig.sh: Use a subshell with redirected stdout,
6036         instead of closing stdout and confusing commands that run
6037         afterward.  Throw away output of cmp.
6038
6039 2001-03-22  Gordon Sadler  <gbsadler1@lcisp.com>
6040
6041         * Makefile.in (stage1_build): Pass CFLAGS to stage1_build.
6042
6043 Thu Mar 22 22:15:59 CET 2001  Jan Hubicka  <jh@suse.cz>
6044
6045         * i386.md (zero_extendsidi2_32): Break out from ...
6046         (zero_extendsidi2): ... here ; turn to expander.
6047         (zero_extendsidi2_rex64): New.
6048         (extendsidi2_32): Break out from ...
6049         (extendsidi2): ... here ; turn to expander.
6050         (extendsidi2_rex64): New.
6051         (zero_extendhidi2, zero_extendqidi2, extendhidi2, extendqidi2): New.
6052         (trunc?f?f splitters): Add 64bit versions.
6053
6054 Thu Mar 22 21:41:16 CET 2001  Jan Hubicka  <jh@suse.cz>
6055
6056         * i386.md (pushsi, pushsi2_prologue): Disable.
6057         (pushsi2_rex64): New.
6058         (movabs?i_1_rex64, movabs?i_2_rex64): New.
6059         (movqi_ext_1): Disable for 64bit.
6060         (movqi_ext_1_rex64): New.
6061         (pushdi2_rex64): New pattern, peep2s and splitter.
6062         (pushdi2_prologue_rex64): New pattern.
6063         (popdi1_epilogue_rex64, popdi1, movdi_xor_rex64, movdi_or_rex64):
6064         Likewise.
6065         (movdi splitters): Disable for 64bit.
6066         (movdi_1_rex64): New pattern, peep2s and splitters.
6067         (swapdi): New pattern.
6068         (pushsf): Disable for 64bit.
6069         (pushsf_rex64): New pattern and splitter.
6070         (pushdf_nointeger): Disable for 64bit.
6071         (pushdf_integer): Handle the 64bit case.
6072         (pushtf): Likewise; update splitters.
6073
6074 2001-03-22  Richard Henderson  <rth@redhat.com>
6075
6076         * mkconfig.sh: Include insn-flags.h.
6077         * Makefile.in (CONFIG_H): Include insn-flags.h.
6078         (lots of objects): Remove insn-codes.h and insn-flags.h.
6079
6080         * alias.c, bb-reorder.c, calls.c, do-loop.c, flow.c, haifa-sched.c,
6081         integrate.c, jump.c, loop.c, predict.c, profile.c, reg-stack.c,
6082         regmove.c, reorg.c, a29k/a29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
6083         avr/avr.c, clipper/clipper.c, convex/convex.c, d30v/d30v.c,
6084         dsp16xx/dsp16xx.c, fr30/fr30.c, h8300/h8300.c, i370/i370.c,
6085         i386/i386.c, i860/i860.c, ia64/ia64.c, m32r/m32r.c, m68hc11/m68hc11.c,
6086         m68k/m68k.c, m88k/m88k.c, mcore/mcore.c, mn10200/mn10200.c,
6087         mn10300/mn10300.c, ns32k/ns32k.c, pa/pa.c, pdp11/pdp11.c,
6088         pj/pj.c, romp/romp.c, rs6000/rs6000.c, sh/sh.c, sparc/sparc.c,
6089         v850/v850.c, vax/vax.c:
6090         Don't include insn-flags.h.
6091
6092         * diagnostic.c, expr.h, reload.c, toplev.c:
6093         Don't include insn-codes.h.
6094
6095         * builtins.c, combine.c, except.c, explow.c, expmed.c, expr.c,
6096         final.c, function.c, optabs.c, recog.c, reload1.c, stmt.c,
6097         c4x/c4x.c, i960/i960.c, mips/mips.c:
6098         Don't include insn-codes.h or insn-flags.h.
6099
6100         * genemit.c, genopinit.c, genoutput.c: Don't include insn-codes.h
6101         or insn-flags.h in the generated code.
6102         * genflags.c (gen_proto): Use "struct rtx_def *" instead of "rtx".
6103         (main): Forward declare struct rtx_def.
6104
6105 2001-03-22  Joseph S. Myers  <jsm28@cam.ac.uk>
6106
6107         * invoke.texi (-ffast-math): Remove duplicate line about
6108         __FAST_MATH__.
6109
6110         * gcc.texi: Remove more obsolete documentation of bugs and
6111         installation problems.
6112
6113 2001-03-21  Kazu Hirata  <kazu@hxi.com>
6114
6115         * config/h8300/h8300.md (movsi_h8300hs): Split the 2nd alternative
6116         into two parts.
6117
6118 2001-03-20  Jason Merrill  <jason@redhat.com>
6119
6120         * collect2.c (is_ctor_dtor): Always use '_' in the file fn names,
6121         not '.' or '$'.
6122         * tree.c (FILE_FUNCTION_FORMAT): Likewise.
6123         * varasm.c (CHKR_PREFIX): Likewise.
6124
6125 Wed Mar 21 14:27:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6126
6127         * gcse.c (hash_scan_set): An expression is not anticipatible if it
6128         is part of a multi-SET insn.
6129
6130         * cse.c (find_comparison_args): Remove previous change.
6131         * ifcvt.c (noce_process_if_block): When moving an insn, remove any
6132         REG_EQUAL notes.
6133
6134         * config/i386/i386.md (conditional_trap): Remove warning.
6135
6136         * recog.c (push_operand): Fix error in last change that caused
6137         undefined symbol on many targets.
6138
6139         * sdbout.c: #include ggc.h.
6140         (sdbout_init): Move to end of file.
6141         Call ggc_add_tree_root for anonymous_types.
6142         (sdbout_symbol): Use DECL_NAME for local, not DECL_ASSEMBLER_NAME.
6143         (sdbout_one_type): Use DECL_NAME for field name.
6144         * Makefile.in (sdbout.o): Show includes ggc.h.
6145
6146 Wed Mar 21 20:33:26 CET 2001  Jan Hubicka  <jh@suse.cz>
6147
6148         * i386.c (override_options): Default ix86_regparm to REGPARM_MAX.
6149         (override_options): Use properlimits for preferred_stack_boundary.
6150         (ix86_valid_type_attribute_p): Disable stdcall and cdecl attributes
6151         on x86_64.
6152         (ext_register_operand): Accept DImode.
6153         (load_pic_register): Abort on 64bit.
6154         (gen_push): Use Pmode instead of SImode.
6155         (ix86_save_reg): Pic reg is never used on 64bit.
6156         (ix86_expand_prologue): Likewise.
6157         (ix86_emit_save_regs): Use Pmode instead of SImode.
6158         (legitimate_address_p): Check displacement for 64bit.
6159         (print_operand): Avoid outputting of (%rip) on 64bit.
6160         (print_operand_address): Output (%rip) where possible.
6161         (split_di): Abort on 64bit registers.
6162         (ix86_expand_branch): DImode comparison is simple for x86_64.
6163         (memory_address_length): Recognize memory addresses formed using
6164         PRE/POST modify.
6165         (ix86_data_alignment, ix86_local_alignment): Align arrays to 16 bytes
6166         for x86_64.
6167         * i386.h (TARGET_USE_SAHF): Disable for 64bit.
6168
6169 Wed Mar 21 18:51:19 CET 2001  Jan Hubicka  <jh@suse.cz>
6170
6171         * recog.c (push_operand): Recognize new format of push instructions.
6172
6173 Wed Mar 21 10:53:57 CET 2001  Jan Hubicka  <jh@suse.cz>
6174
6175         * i386.md (pushqi1): New.
6176         * i386-protos.h (x86_64_general_operand, x86_64_szext_general_operand,
6177         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
6178         x86_64_immediate_operand, x86_64_immediate_operand,
6179         x86_64_zext_immediate_operand): Declare.
6180         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
6181         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
6182         x86_64_immediate_operand, x86_64_immediate_operand,
6183         x86_64_zext_immediate_operand): define.
6184         * i386.h (PREDICATE_CODES): Add new predicates.
6185
6186 Wed Mar 21 10:25:13 CET 2001  Jan Hubicka  <jh@suse.cz>
6187
6188         * i386.md (pophi1, popqi1, pushqi1): Remove.
6189
6190         * expr.c (emit_single_push_insn): New function.
6191         (move_by_pieces): Accept NULL as destination for push instructions.
6192         (gen_push_operand): Kill.
6193         (emit_push_insn): Pass NULL when pushing; avoid updating of
6194         stack_pointer_delta.
6195         * expr.h (gen_push_operand): Kill.
6196
6197 Tue Mar 20 20:15:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6198
6199         * rtl.texi (COMPARE): Clarify documentation and reference section
6200         on comparisons.
6201
6202 2001-03-20  Stan Shebs  <shebs@apple.com>
6203
6204         * objc/objc-act.c (get_static_reference): Use NULL_TREE.
6205         (get_object_reference): Ditto.
6206         (error_with_ivar): Use error_with_file_and_line.
6207         (warn_with_method): Use warning_with_file_and_line.
6208
6209 2001-03-20  Tom Tromey  <tromey@redhat.com>
6210
6211         * libgcc-std.ver: Added __fixunssfsi and __fixunsdfsi.
6212
6213 2001-03-20  Mark Mitchell  <mark@codesourcery.com>
6214
6215         * tree.c (set_decl_assembler_name): Set DECL_ASSEMBLER_NAME for
6216         variables that are TREE_PUBLIC, even if not TREE_STATIC.
6217
6218 2001-03-20  DJ Delorie  <dj@redhat.com>
6219
6220         * Makefile.in (install-libgcc): Pass complete list of variables.
6221         (install-multilib): Ditto.
6222
6223 2001-03-20  David Billinghurst  <David.Billinghurst@riotinto.com>
6224
6225         * config/i386/cygwin.h: Declare ctor_section, dtor_section
6226         drectve_section, switch_to_section.
6227
6228         * winnt.c: Declare functions associated_type, gen_stdcall_suffix,
6229         i386_pe_dllexport_p, i386_pe_dllimport_p, i386_pe_mark_dllexport,
6230         i386_pe_mark_dllimport.
6231
6232 2001-03-20  David Billinghurst <David.Billinghurst@riotinto.com>
6233
6234         * config/i386/cygwin.h: Include <stdio.h> Declare and constify
6235         functions i386_pe_*.
6236
6237         * config/i386/winnt.c: Include "tm_p.h" and "toplev.h" Constify
6238         i386_pe_* functions with char * arguments.
6239
6240 2001-03-20  Alexandre Oliva  <aoliva@redhat.com>
6241
6242         * config/sh/sh.md (movsf_ie): Fix output patterns for fpul load
6243         and store.
6244         (movsi_ie): Introduce fpul store.
6245
6246 2001-03-20  Alan Modra  <alan@linuxcare.com.au>
6247
6248         * Makefile.in (OBJS): Remove hashtab.o.
6249
6250 2001-03-19  Stan Shebs  <shebs@apple.com>
6251
6252         * objc/objc-act.c (maybe_objc_method_name): Remove, never called.
6253         * c-lang.c (maybe_objc_method_name): Ditto.
6254         * c-tree.h (maybe_objc_method_name): Remove decl.
6255
6256 2001-03-19  Tom Tromey  <tromey@redhat.com>
6257
6258         * gcc.c (init_gcc_specs): Fix comment.
6259
6260 2001-03-19  Mark Mitchell  <mark@codesourcery.com>
6261
6262         Compute DECL_ASSEMBLER_NAME lazily.
6263         * tree.h (DECL_ASSEMBLER_NAME): Compute it lazily.
6264         (DECL_ASSEMBLER_NAME_SET_P): New macro.
6265         (SET_DECL_ASSEMBLER_NAME): Likewise.
6266         (COPY_DECL_ASSEMBLER_NAME): Likewise.
6267         (set_decl_assembler_name): Declare.
6268         (lang_set_decl_assembler_name): Likewise.
6269         * tree.c (lang_set_decl_assembler_name): New variab.e
6270         (set_decl_assembler_name): New function.
6271         (init_obstacks): Set lang_set_decl_assembler_name.
6272         (build_decl): Don't set DECL_ASSEMBLER_NAME.
6273         * c-decl.c (duplicate_decls): Use SET_DECL_ASSEMBLER_NAME,
6274         COPY_DECL_ASSEMBLER_NAME, etc.  Don't set DECL_ASSEMBLER_NAME
6275         where it's not necessary.
6276         (builtin_function): Likewise.
6277         (finish_decl): Likewise.
6278         * dbxout.c (dbxout_type_methods): Likewise.
6279         * ggc-common.c (ggc_mark_trees): Likewise.
6280         * profile.c (output_func_start_profiler): Likewise.
6281         * varasm.c (make_decl_rtl): Likewise.
6282
6283         * cse.c (find_comparison_args): Update documentation.  Fix
6284         mishandling of COMPARE operations.
6285
6286         * tree.def (ABS_EXPR): Add documentation.
6287         * fold-const.c (fold): Improve folding of ABS_EXPRs.
6288
6289 2001-03-19  Zack Weinberg  <zackw@stanford.edu>
6290
6291         * Makefile.in (hash.o): Depend on $(GCONFIG_H), not $(CONFIG_H).
6292
6293 2001-03-19  Jakub Jelinek  <jakub@redhat.com>
6294
6295         * crtstuff.c (init_dummy): Use CRT_END_INIT_DUMMY if defined.
6296         Remove ia32 linux PIC kludge and move it...
6297         * config/i386/linux.h (CRT_END_INIT_DUMMY): ...here.
6298
6299 Mon Mar 19 18:53:54 CET 2001  Jan Hubicka  <jh@suse.cz>
6300
6301         * i386.md (absdf2 expander): Fix 64bit case.
6302
6303 2001-03-19  Brad Lucier  <lucier@math.purdue.edu>
6304
6305         * Makefile.in: Have splay-tree.o depend on $(GCONFIG_H).
6306
6307 2001-03-16  Andrew Haley  <aph@cambridge.redhat.com>
6308
6309         * config/ia64/libgcc-ia64.ver: Add __ia64_backtrace.
6310
6311 2001-03-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6312
6313         * README.X11: Remove obsolete file.
6314
6315 2001-03-18  Anthony Green  <green@redhat.com>
6316
6317         * config/pj/pj.h: Remove some trailing commas.
6318         (ASM_SPEC): Use -EB and -EL, not -mb and -ml.
6319
6320 2001-03-18  Richard Henderson  <rth@redhat.com>
6321
6322         * defaults.h (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Move from ...
6323         * calls.c: ... here.
6324         * combine.c, expr.c, final.c, function.c toplev.c: Don't provide
6325         defaults for them here.
6326
6327 2001-03-17  Anthony Green  <green@redhat.com>
6328
6329         * config/pj/lib1funcs.S: Fix broken comment.
6330         * config/pj/pj.h (LOCAL_LABEL_PREFIX): Prefix internal
6331         labels with '.'.
6332
6333 2001-03-18  Joseph S. Myers  <jsm28@cam.ac.uk>
6334
6335         * gcc.texi: Remove obsolete information relating to build and
6336         installation problems with enquire or the Pyramid C compiler.
6337
6338 2001-03-17  Richard Henderson  <rth@redhat.com>
6339
6340         * dwarf2out.c (queue_reg_save): New.
6341         (flush_queued_reg_saves, clobbers_queued_reg_save): New.
6342         (dwarf2out_frame_debug_expr): Call queue_reg_save instead of
6343         dwarf2out_reg_save.
6344         (dwarf2out_frame_debug): Call flush_queued_reg_saves when needed.
6345         (cfa, cfa_store, cfa_temp): Make static.
6346         * final.c (final_scan_insn): Always call dwarf2out_frame_debug.
6347
6348 2001-03-17  Richard Henderson  <rth@redhat.com>
6349
6350         * integrate.h (struct inline_remap): Add local_return_label.
6351         * integrate.c (expand_inline_function): Initialize it and emit
6352         it after copy_insn_notes.
6353         (copy_insn_list): Don't store local_return_label here.
6354         (copy_insn_notes): New function split out from copy_insn_list.
6355
6356 2001-03-17  Richard Henderson  <rth@redhat.com>
6357
6358         * dwarf2out.c (lookup_filename): Emit .file if the assembler
6359         is generating .debug_line.
6360         (dwarf2out_init): Add main_input_filename to the file table first.
6361         * configure.in (as_dwarf2_debug_line): Test with file number 1
6362         instead of file number 0.
6363
6364 Sat Mar 17 11:52:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6365
6366         * combine.c (undobuf): Remove field previous_undos; all refs deleted.
6367         (gen_rtx_combine): Deleted; all references changed as appropriate.
6368         (gen_unary): Deleted; all refs changed to call simplify_gen_unary.
6369
6370         * print-tree.c (print_node): Print DECL_NONADDRESSABLE_P.
6371
6372 2001-03-17  David Billinghurst  <David.Billinghurst@riotinto.com>
6373
6374         * config/i386/xm-cygwin.h: Include <sys/cygwin.h.  Remove unused
6375         variable.
6376
6377 2001-03-16  Jim Wilson  <wilson@redhat.com>
6378
6379         * config/ia64/ia64.c (ia64_compute_frame_size): If reg_fp is zero,
6380         then set it to LOC_REG (79) instead of aborting.
6381
6382 2001-03-16  Phil Edwards  <pme@sources.redhat.com>
6383
6384         * gccbug.in:  Remove high priority.
6385
6386 2001-03-16  Richard Henerson  <rth@redhat.com>
6387
6388         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): Substitute leading od
6389         output with a space instead of deleting it.
6390         * configure: Regenerate.
6391
6392 2001-03-16  Zack Weinberg  <zackw@stanford.edu>
6393
6394         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): New utility macro which
6395         handles the gory details of converting an object file into
6396         something that's safe to grep.
6397         (gcc_AC_C_COMPILE_BIGENDIAN): Rename to
6398         gcc_AC_C_COMPILE_ENDIAN.  Use gcc_AC_EXAMINE_OBJECT.  Put
6399         newlines at either end of the string we're looking for.
6400         Make 'checking ...' message less stilted.
6401         (gcc_AC_C_FLOAT_FORMAT): Use gcc_AC_EXAMINE_OBJECT.  Handle
6402         ARM in-memory layout and its hypothetical converse.  Don't
6403         define HOST_FLOAT_WORDS_BIG_ENDIAN unless it's different from
6404         HOST_WORDS_BIG_ENDIAN.
6405
6406         * configure.in: Adjust for renamed macro.  Move
6407         gcc_AC_C_FLOAT_FORMAT below gcc_AC_C_COMPILE_ENDIAN.
6408         * configure, config.in: Regenerate.
6409
6410 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
6411
6412         * fixinc/Makefile.in: Set SHELL.
6413
6414 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
6415
6416         * fixinc/fixincl.c (fix_with_system): Quote file names before
6417         passing them to shell.
6418
6419 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
6420
6421         * Makefile.in: Use fix-header$(build_exeext) instead
6422         of fix-header.
6423
6424 2001-03-16  Richard Henderson  <rth@redhat.com>
6425
6426         * dwarf2out.c: Revert most of 2000-11-25 and 2001-01-24 changes.
6427         (LN_PROLOG_AS_LABEL, LN_PROLOG_END_LABEL): New.
6428         (size_of_line_prolog): Remove.
6429         (output_line_info): Compute prologue size via label difference.
6430         (lookup_filename): Return "unspecified" for <internal> and <built-in>.
6431
6432         * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Require that the
6433         assembler error when redefining file numbers.
6434         * config.in, configure: Rebuild.
6435
6436         * dwarf2asm.c (dw2_asm_output_data): Mask data to the output size.
6437         (dw2_asm_output_data_uleb128): Use space not tab after .uleb128.
6438         (dw2_asm_output_delta_uleb128): Likewise.
6439         (dw2_asm_output_delta_sleb128): Similarly.
6440         (dw2_asm_output_data_sleb128): Similarly.  Print number in decimal.
6441
6442 2001-03-16  Michael Meissner  <meissner@redhat.com>
6443
6444         * mips.h (BITMASK_HIGH): Replacement for 0x80000000 that avoids
6445         warnings.
6446         (BITMASK_UPPER16): Replacement for 0xffff0000 that avoids
6447         warnings.
6448         (BITMASK_LOWER16): Replacement for 0x0000ffff.
6449
6450         * mips.c (save_restore_insns): Use BITMASK_UPPER16/BITMASK_LOWER16
6451         instead of 0xffff0000/0x0000ffff to avoid warnings about constants
6452         being unsigned in ISO C and signed in traditional.
6453         (expand_prologue): Ditto.
6454         (RA_MASK): Use BITMASK_HIGH to avoid warnings.
6455
6456         * mips.md (divmodsi4,divmodsi4): Use BITMASK_HIGH to avoid
6457         warnings.
6458         (divsi3,divdi3): Ditto.
6459         (modsi3,moddi3): Ditto.
6460         (fix_truncdfsi2,fix_truncdfdi2): Ditto.
6461         (fix_truncsfsi2,fix_truncsfdi2): Ditto.
6462         (movsi split): Use BITMASK_UPPER16/BITMASK_LOWER16 to avoid
6463         warnings.
6464
6465 Fri Mar 16 14:47:57 CET 2001  Jan Hubicka  <jh@suse.cz>
6466
6467         * i386.c (ix86_expand_fp_movcc): Do not attempt to construct
6468         SSE based conditional moves on LTGT/UNEQ conditions;
6469         Canonicalize EQ to NE.
6470         * i386.md (sse_mov?fcc): Disallow EQ and NE in IEEE mode.
6471         (sse_mov?fcc_ne): New.
6472
6473         * i386-protos.h (sign_extended_value, zero_extended_value): Declare.
6474
6475 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
6476
6477         * config/sh/sh.c (sh_expand_prologue): Insns that set up the PIC
6478         register may be dead.
6479
6480 2001-03-16  Brad Lucier  <lucier@math.purdue.edu>
6481
6482         * Makefile.in (hash.o): Depend on CONFIG_H.
6483
6484 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
6485
6486         * dwarf2out.c (rtl_for_decl_location): Use DECL_RTL_IF_SET.
6487
6488 2001-03-15  Richard Henderson  <rth@redhat.com>
6489
6490         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): New.
6491         (ASM_OUTPUT_DWARF_PCREL): New.
6492         * config/ia64/hpux.h (ASM_OUTPUT_DWARF_OFFSET): Remove.
6493
6494 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
6495
6496         * cppfiles.c (stack_include_file): Use MAX of sysp.
6497
6498 2001-03-15  Steve Ellcey  <sje@cup.hp.com>
6499
6500         * config.gcc (ia64*-*-hpux*): New case.
6501         * config/ia64/hpux.h: New file for HP-UX support.
6502         * config/ia64/t-hpux: New file for HP-UX support.
6503
6504 2001-03-16  Bruce Korb  <bkorb@gnu.org>, Alexandre Oliva  <aoliva@redhat.com>
6505
6506         * fixinc/inclhack.def (irix_stdio_va_list): New.
6507         * fixinc/fixincl.x: Rebuilt.
6508
6509 2001-03-15  Richard Henderson  <rth@redhat.com>
6510
6511         * dwarf2asm.c (dw2_asm_output_offset): Use ASM_OUTPUT_DWARF_OFFSET
6512         if provided by the target.
6513         (dw2_asm_output_pcrel): Likewise with ASM_OUTPUT_DWARF_PCREL.
6514         (dw2_asm_output_addr): New.
6515         * dwarf2asm.h (dw2_asm_output_addr): Declare.
6516         * dwarf2out.c (output_cfi): Use it for program addresses.
6517         (output_call_frame_info, output_die): Likewise.
6518         (output_aranges, output_line_info): Likewise.
6519
6520 2001-03-15  Bruce Korb  <bkorb@gnu.org>
6521
6522         * gcc.c(main): make more rigorous
6523         * collect2.c(main): guard against ignoring SIGCHLD
6524         * protoize.c(main): ditto
6525         * gcc/fixinc/fixincl.c(initialize): ditto
6526
6527 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
6528
6529         * sdbout.c (sdbout_symbol): Use DECL_RTL_SET_P, SET_DECL_RTL.
6530         (sdbout_parms): Likewise.
6531
6532 Thu Mar 15 12:57:14 2001  Jeffrey A Law  (law@cygnus.com)
6533
6534         * reload1.c (reload_cse_simplify_set): For LOAD_EXTEND_OP, do not
6535         "widen" a destination that is already wider than a word.  Also do
6536         not widen if LOAD_EXTEND_OP is NIL for the given mode.
6537
6538 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
6539
6540         * config/ia64/ia64.c (ia64_sched_reorder): Remove debugging aids.
6541
6542 Thu Mar 15 11:30:31 EST 2001  John Wehle  (john@feith.com)
6543
6544         * i960.h (ROUND_TYPE_SIZE_UNIT): Fix typo.
6545
6546 Thu Mar 15 11:24:29 EST 2001  John Wehle  (john@feith.com)
6547
6548         * i960.h (i960_maxbitalignment,
6549         i960_last_maxbitalignment): Declare.
6550         * i960.c (i960_maxbitalignment,
6551         i960_last_maxbitalignment): Make global.
6552         (process_pragma): Delete.
6553         (i960_pr_align, i960_pr_noalign): Move from here ...
6554         * i960-c.c: ... to this new file.
6555         * t-960bare (i960-c.o): New rule.
6556         * t-vxworks960 (i960-c.o): Likewise.
6557         * config.gcc (i960-*-*): Define c_target_objs and
6558         cxx_target_objs.
6559
6560 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
6561
6562         * cselib.c (hash_rtx): For REG and MEM, just use value of expression
6563         without adding in rtx code and mode.
6564
6565         * alias.c (init_alias_analysis): Don't use any rtx whose value
6566         varies as a known value.
6567         Delete a superfluous test.
6568
6569         * config/ia64/ia64.c (maybe_rotate): New function, broken out of
6570         ia64_sched_reorder.
6571         (ia64_sched_reorder): Call maybe_rotate; also rotate after
6572         scheduling a stop bit.
6573         (ia64_emit_nops): Correctly handle ASMs.
6574
6575 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
6576
6577         * varasm.c (assemble_variable): Use DECL_RTL_SET_P.
6578
6579 2001-03-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6580
6581         * cpp.texi: Update documentation for -include and -imacros.
6582         * cppfiles.c (struct include_file): Remove "defined" memeber.
6583         (find_or_create_entry): Make a copy of the file name, and
6584         simplify it.
6585         (open_file): Update to ensure we use the simplified filename.
6586         (stack_include_file): Don't set search_from.
6587         (cpp_included): Don't simplify the path name here.
6588         (find_include_file): New prototype.  Call search_from to
6589         get the start of the "" include chain.  Don't simplify the
6590         filenames here.
6591         (_cpp_execute_include): New prototype.  Move diagnostics to
6592         do_include_common.  Update.
6593         (_cpp_pop_file_buffer): Don't set defined.
6594         (search_from): New prototype.  Use the preprocessor's cwd
6595         for files included from the command line.
6596         (read_name_map): Don't simplify the pathname here.
6597         * cpphash.h (enum include_type): New.
6598         (struct buffer): Delete search from.  New search_cached.
6599         (_cpp_execute_include): Update prototype.
6600         * cppinit.c (do_includes): Use _cpp_execute_include.
6601         * cpplib.c (do_include_common): New function.
6602         (do_include, do_include_next, do_import): Use it.
6603
6604 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
6605
6606         * varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME, not the
6607         contents of the RTL, to determine the name of the object.
6608
6609 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
6610
6611         * tree.h (DECL_RTL): Allocate RTL lazily.
6612         (SET_DECL_RTL): New macro.
6613         (DECL_RTL_SET_P): Likewise.
6614         (COPY_DECL_RTL): Likewise.
6615         (DECL_RTL_IF_SET): Likewise.
6616         * varasm.c (make_decl_rtl): Add assertions about the kind of
6617         declaration we are processing.
6618         * c-decl.c (duplicate_decls): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
6619         (start_decl): Likewise.
6620         (finish_decl): Likewise.
6621         * c-semantics.c (emit_local_var): Likewise.
6622         * calls.c (expand_call): Likewise.
6623         * dbxout.c (dbxout_symbol): Likewise.
6624         * emit-rtl.c (unshare_all_rtl): Likewise.
6625         (unshare_all_decls): Likewise.
6626         (reset_used_decls): Likewise.
6627         * expr.c (store_constructor): Likewise.
6628         (safe_from_p): Likewise.
6629         (expand_expr): Likewise.
6630         * function.c (put_var_into_stack): Likewise.
6631         (instantiate_decls_1): Likewise.
6632         (assign_parms): Likewise.
6633         (expand_function_start): Likewise.
6634         (expand_function_end): Likewise.
6635         * ggc-common.c (gcc_mark_trees): Likewise.
6636         * integrate.c (function_cannot_inline_p): Likewise.
6637         (copy_decl_for_inlining): Likewise.
6638         (expand_inline_function): Likewise.
6639         (integrate_parm_decls): Likewise.
6640         (integrate_decl_tree): Likewise.
6641         * print-tree.c (print_node): Likewise.
6642         * reg-stack.c (stack_result): Likewise.
6643         * stmt.c (label_rtx): Likewise.
6644         (expand_return): Likewise.
6645         (expand_decl): Likewise.
6646         (expand_decl_cleanup): Likewise.
6647         (expand_anon_union_decl): Likewise.
6648         * toplev.c (check_global_declarations): Likewise.
6649         (rest_of_decl_compilation): Likewise.
6650         * tree.c (simple_cst_equal): Likewise.
6651         * objc/objc-act.c (generate_static_references): Likewise.
6652
6653 2001-03-14  Zack Weinberg  <zackw@stanford.edu>
6654
6655         * aclocal.m4 (gcc_AC_C_CHARSET, gcc_AC_C_COMPILE_BIGENDIAN,
6656         gcc_AC_C_FLOAT_FORMAT): New macros.
6657         * configure.in: Add AC_PROG_CPP after CC tests;
6658         gcc_AC_C_CHARSET and gcc_AC_C_FLOAT_FORMAT after the sizeof
6659         tests; and gcc_AC_C_COMPILE_BIGENDIAN after gcc_AC_C_CHAR_BIT.
6660         * configure, config.in: Regenerate.
6661
6662         * config/a29k/xm-a29k.h, config/arc/xm-arc.h,
6663         config/arm/xm-arm.h, config/c4x/xm-c4x.h,
6664         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
6665         config/i370/xm-linux.h, config/i370/xm-oe.h,
6666         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
6667         config/m68k/xm-m68k.h, config/mips/xm-mips.h,
6668         config/pa/xm-linux.h, config/pa/xm-pa.h,
6669         config/rs6000/xm-lynx.h, config/rs6000/xm-mach.h,
6670         config/rs6000/xm-rs6000.h, config/rs6000/xm-sysv4.h,
6671         config/sparc/xm-sparc.h, config/vax/xm-vax.h,
6672         config/we32k/xm-we32k.h: Delete.
6673
6674         * config/i370/xm-mvs.h, config/m88k/m88k.h,
6675         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
6676         config/vax/xm-vms.h: Don't define any of:
6677         HOST_FLOAT_FORMAT, HOST_EBCDIC, HOST_WORDS_BIG_ENDIAN
6678
6679         * config/rs6000/aix.h: Define COLLECT_EXPORT_LIST here.
6680
6681         * config.gcc: Remove references to deleted files.
6682         (i370-*-opened*): Use i370/xm-mvs.h (which now defines only
6683         FATAL_EXIT_CODE, which is the same between oe and mvs).
6684
6685 2001-03-14  DJ Delorie  <dj@redhat.com>
6686             Vladimir Makarov  <vmakarov@redhat.com>
6687
6688         * config/i960/i960.c (i960_function_prologue): Compute size of
6689         frame according to number of registers actually saved there.
6690
6691 2001-03-14  Richard Henderson  <rth@redhat.com>
6692
6693         * expr.c (emit_move_insn_1): Fix else if around #endif.
6694
6695 Wed Mar 14 22:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
6696                               Vojtech Pavlik
6697
6698         * md.texi (machine constraints): Document 'Q', 'R', 'e' and 'Z'
6699         constraints.
6700
6701 Wed Mar 14 22:26:10 CET 2001  Jan Hubicka  <jh@suse.cz>
6702
6703         * i386.c (ix86_cmodel_string, ix86_cmodel): Define.
6704         (override_options): Parse cmodel string.
6705         (x86_64_sign_extended_value, x86_64_zero_extended_value): New.
6706         * i386.h (TARGET_OPTIONS): Add "cmodel".
6707         (EXTRA_CONSTRAINT): Recognize 'e' and 'Z'.
6708         (enum cmodel): New.
6709         (ix86_cmodel_string, ix86_cmodel): Declare.
6710
6711 Wed Mar 14 22:26:54 CET 2001  Jan Hubicka  <jh@suse.cz>
6712
6713         Spot by Matt Kraai:
6714         * i386.h (GENERAL_REG_P): Add missing REG_P.
6715
6716 2001-03-14  Laurynas Biveinis  <lauras@softhome.net>
6717
6718         * configure.in: Use $gcc_cv_as instead of $as.
6719         * configure: Regenerated.
6720
6721 2001-03-14  Neil Booth  <neil@daikokuya.demon.co.uk>
6722
6723         * cppfiles.c (stack_include_file): Only increase the include
6724         count if we actually process the file properly, as opposed
6725         to treating it as length zero.  Only call read_include_file
6726         if not DO_NOT_REREAD.  Handle the -H include file output
6727         here.
6728         (read_include_file): Remove now redundant DO_NOT_REREAD check.
6729         (cpp_included, find_include_file): Simplify pathnames after
6730         remapping them.  If remapping, don't use the remapped file
6731         name's buffer as our scratch buffer.
6732         (cpp_pop_file_buffer): Replace the multiple include macro
6733         only if it isn't yet set.
6734         (read_name_map): Simplify remapped names when reading in.
6735         (remap_filename): Move code to code path that uses it.
6736         (_cpp_simplify_pathname): Return the input pointer.
6737         * cpphash.h (_cpp_simplify_pathname): Update prototype.
6738
6739 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
6740
6741         * expr.c (expand_expr): Revove bogus conditional.
6742
6743 Wed Mar 14 19:29:50 CET 2001  Jan Hubicka  <jh@suse.cz>
6744
6745         * expr.c (emit_move_insn_1): Guard PUSH_ROUNDING use by ifdef.
6746
6747 2001-03-14  Jakub Jelinek  <jakub@redhat.com>
6748
6749         * reg-stack.c (stack_result): Unconditionally use
6750         FUNCTION_OUTGOING_VALUE resp. FUNCTION_VALUE.
6751
6752 Wed Mar 14 16:36:25 CET 2001  Jan Hubicka  <jh@suse.cz>
6753
6754         * expr.c (emit_move_insn_1):  Split push of complex value when
6755         no suitable push instruction exist.
6756
6757         * i386.md (QImode move/add/shift patterns): Use ANY_QI_REG_P
6758         instead of QI_REG_P.
6759
6760 Tue Mar 13 22:22:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6761
6762         * alias.c (handled_component_p, can_address_p): New functions.
6763         (get_alias_set): Use them.
6764
6765 2001-03-13  Jim Wilson  <wilson@redhat.com>
6766
6767         * config/ia64/ia64.c (find_gr_spill): Subtract frame_pointer_needed
6768         from 80 in try_locals code.
6769         (ia64_expand_prologue): Add comment pointing to find_gr_spill change.
6770
6771 2001-03-13  Zack Weinberg  <zackw@stanford.edu>
6772
6773         * aclocal.m4 (gcc_AC_COMPILE_CHECK_SIZEOF, gcc_AC_C_CHAR_BIT,
6774         gcc_AC_C_LONG_LONG): New.
6775         * configure.in: Use them.  Probe the size of short, int, long,
6776         and long long/__int64 if we have them.  Move all the AC_C_*
6777         checks together, except gcc_AC_C_CHAR_BIT which has to go
6778         after AC_CHECK_HEADERS(limits.h).
6779         Take hwint.h out of host_xm_file and build_xm_file.
6780
6781         * hwint.h: Unconditionally define HOST_BITS_PER_CHAR,
6782         HOST_BITS_PER_SHORT, HOST_BITS_PER_INT, HOST_BITS_PER_LONG,
6783         and HOST_BITS_PER_LONGLONG in terms of SIZEOF_* and CHAR_BIT.
6784         Move the HOST_WIDEST_INT setup logic here from system.h.
6785         Provide HOST_WIDEST_INT even if HOST_BITS_PER_LONGLONG is not
6786         defined.
6787         * system.h: Include hwint.h after limits.h.  HOST_WIDEST_INT
6788         is now handled by hwint.h.
6789
6790         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms.h,
6791         config/c4x/xm-c4x.h, config/i370/xm-oe.h,
6792         config/ia64/xm-ia64.h: Don't define any of:
6793         HOST_BITS_PER_LONG, HOST_BITS_PER_CHAR, HOST_BITS_PER_SHORT,
6794         HOST_BITS_PER_LONGLONG.
6795
6796         * config/alpha/xm-alpha.h, config/dsp16xx/xm-dsp16xx.h,
6797         config/h8300/xm-h8300.h, config/mips/iris6.h,
6798         config/mn10200/xm-mn10200.h, config/pa/xm-pa64hpux.h,
6799         config/sparc/xm-sp64.h: Delete.
6800         * config.gcc: Remove references to deleted files.
6801
6802         * config/arm/xm-arm.h, config/mips/xm-mips.h: Don't define
6803         HOST_FLOAT_FORMAT to IEEE_FLOAT_FORMAT.
6804         * config/i370/xm-linux.h: Clarify floating-point situation in
6805         a comment.
6806
6807 2001-03-13  Neil Booth  <neil@daikokuya.demon.co.uk>
6808
6809         * cppfiles.c (NO_INCLUDE_PATH): New macro.
6810         (find_include_file): Decide here which part of the include
6811         chain to start the search.  Complain about an empty include
6812         chain in all cases apart from an abolsute file name.
6813         (_cpp_execute_include): Don't choose the search chain here.
6814         Don't call handle_missing_include in the case of an empty
6815         include chain.
6816         (_cpp_compare_file_date): Don't choose the search chain here.
6817         * cpplib.c (do_include_next): Move the in-main-file diagnostic
6818         here from _cpp_execute_include.  Behave like #include if
6819         we're in the main file.
6820
6821 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6822
6823         * system.h (malloc, realloc, calloc, strdup): Only poison these
6824         tokens when IN_GCC is defined.
6825
6826 Tue Mar 13 14:38:44 CET 2001  Jan Hubicka  <jh@suse.cz>
6827
6828         * i386.md (abs?f expander): Support SSE case.
6829         (abd?f_if): Add new "USE"; add splitters.
6830
6831 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6832
6833         * cpp.texi (poison): Explain the macro expansion exception.
6834
6835 2001-03-13  Jakub Jelinek  <jakub@redhat.com>
6836
6837         * expr.c (store_expr): Add dont_store_target.  If temp is already in
6838         target before copying to reg, don't store it into target again.
6839
6840 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
6841
6842         * cppinternals.texi: Update for file handling.
6843
6844 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
6845
6846         * emit-rtl.c (remove_unnecessary_notes): Reverse Richard Kenner's
6847         2001-02-24 which broke building the Java library.
6848         * function.c (identify_blocks): Likewise.
6849         (all_blocks): Likewise.
6850         * integrate.c (integrate_decl_tree): Likewise.
6851         * print-tree.c (print_node): Likewise.
6852         * tree.h (BLOCK_NUMBER): Likewise.
6853         (struct tree_block): Likewise.
6854
6855 2001-03-12  David Edelsohn  <edelsohn@gnu.org>
6856
6857         * rs6000/aix51.h (CPP_SPEC, CPLUSPLUS_CPP_SPEC): Fix typo in
6858         __WCHAR_TYPE__ definition.
6859         (WCHAR_TYPE_SIZE): #undef before #define.
6860
6861 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
6862
6863         * cppfiles.c: Update comments.
6864         (destroy_include_file_node): Rename destroy_node.
6865         (find_or_create_entry): New function.
6866         (open_file, _cpp_fake_include): Use it.
6867         (handle_missing_header): New function, broken out of
6868         _cpp_execute include.  Don't segfault if there is no
6869         system or quoted path.
6870         (_cpp_execute_include): Use handle_missing_header.
6871
6872 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
6873
6874         * jump.c (reversed_comparison_code_parts): Reverse Jan Hubricka's
6875         2001-02-28 patch because it breaks arm-linux and mips-sgi-irix6.5.
6876
6877 Mon Mar 12 14:05:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6878
6879         * flow.c (insn_dead_p): Don't consider two memrefs equivalent
6880         unless anti_dependence says they are.
6881         * alias.c (objects_must_conflict): If neither has a type specified,
6882         they must conflict.
6883
6884 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
6885             David Billinghurst <David.Billinghurst@riotinto.com>
6886
6887         * config/mips/iris5.h:  Change WCHAR_TYPE to int.
6888
6889 Mon Mar 12 16:32:21 CET 2001  Jan Hubicka  <jh@suse.cz>
6890
6891         * i386.md (trunctfdf2_2): Rename missnamed pattern.
6892         (*_one_bit): Remove type on the match_operand in attributes.
6893
6894 Mon Mar 12 16:27:56 CET 2001  Jan Hubicka  <jh@suse.cz>
6895
6896         * i386.c: Commit forgotten hunk in previous patch.
6897         (regclass_map): Add extended registers.
6898         (dbx_register_map): Add missing frame register.
6899
6900 Mon Mar 12 15:41:08 CET 2001  Jan Hubicka  <jh@suse.cz>
6901
6902         * i386.md (all XFmode patterns except swapxf): Disable for 64bit.
6903
6904         * i386.md (x86_sahf_1): Disable for 64bit.
6905         (popsi*, pophi*): Likewise.
6906         (pushqi, pushhi): Likewise.
6907         (movdi, pushdi): Likewise.
6908         (zero extend DImode splitter): Likewise.
6909         (adddi, minusdi splitter): Likewise.
6910         (umulsidi): Likewise.
6911         (umulsi): New.
6912         (mulsidi): Disable for 64bit
6913         (lshift:DI/ashift:DI): Disable for 64bit.
6914         (loop patterns): Likewise.
6915         (call_pop, call_value_pop expanders and patterns): Likewise.
6916         (prologue_get_pc): Likewise.
6917         (leave): Likewise.
6918         (fcmovDI pattern and splitter): Likewise.
6919         (movdfcc_1_rex64): New.
6920
6921 Mon Mar 12 15:16:36 CET 2001  Jan Hubicka  <jh@suse.cz>
6922
6923         * i386.h (VALID_FP_MODE_P): XFmode is invalid on x86_64.
6924         (MODES_TIEABLE_P): QImodes and DImodes are tiable on x86_64.
6925         (HARD_REGNO_CALLER_SAVE_MODE): Save QImodes as QImodes for x86_64.
6926         (STATIC_CHAIN_REGNUM): Set to r10 for x86_64.
6927         (PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM for x86_64.
6928         (LIMIT_RELOAD_CLASS): Avoid limiting of QImodes on x86_64.
6929         (SECONDARY_OUTPUT_RELOAD_CLASS): No need to QImodes.
6930         (PUSH_ROUNDING): x86_64 rounds to 64bits.
6931         (CONSTANT_ADDRESS_P): Accept CONST_DOUBLE.
6932         (REGPARM_MAX): Set to 6 for x86_64.
6933         (SSE_REGPARM_MAX): Set to 16 for x86_64.
6934         * i386.c (hard_regno_mode_ok): QImodes can be in all general purpose
6935         registers.
6936
6937         * (patterns that does use upper halves): Update constraints
6938         'q' to 'Q' and 'r' to 'R'.
6939         (cmpqi_ext_1): Disable for 64bit.
6940         (cmpqi_ext_3_insn): Likewise.
6941         (movqi_extzv_1): Likewsie.
6942         (addqi_ext_1): Liekwsie
6943         (testqi_ext_1): Liekwsie
6944         (andqi_ext_1): Liekwsie
6945         (xorqi_ext_1): Liekwsie
6946         (cmpqi_ext_1_rex64): New.
6947         (cmpqi_ext_3_insn_rex64): Likewise.
6948         (movqi_extzv_1_rex64): Likewsie.
6949         (addqi_ext_1_rex64): Liekwsie
6950         (testqi_ext_1_rex64): Liekwsie
6951         (andqi_ext_1_rex64): Liekwsie
6952         (xorqi_ext_1_rex64): Liekwsie
6953
6954 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
6955
6956         * configure.in: Move check for unsigned enumerated bitfields
6957         to macro in aclocal.m4.  Disable it for now.
6958         * configure, config.in: Regenerate.
6959         * system.h: Don't do anything with ONLY_INT_FIELDS.  Use the
6960         unsigned-int form of ENUM_BITFIELD() unless being compiled by GCC.
6961         * varasm.c (struct rtx_const): Use ENUM_BITFIELD().  Move enum
6962         kind above its first use.
6963
6964         * config/xm-interix.h, config/alpha/xm-alpha.h,
6965         config/i370/xm-linux.h, config/i386/xm-beos.h,
6966         config/i386/xm-mingw32.h, config/mips/xm-mips.h,
6967         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
6968         config/rs6000/xm-beos.h, config/rs6000/xm-sysv4.h,
6969         Don't define ONLY_INT_FIELDS under any circumstances.
6970
6971         * config/pa/xm-pa.h: Don't define __BSD_NET2__.
6972
6973         * config/pa/xm-pahpux.h, config/pa/xm-papro.h,
6974         config/sparc/xm-sysv4.h: Delete - now identical with some
6975         other xm header.
6976         * config.gcc (hppa targets): Replace xm-pahpux.h and
6977         xm-papro.h with implicit xm-pa.h.
6978         (sparc targets): Replace xm-sysv4.h with implicit or explicit
6979         xm-sparc.h.
6980
6981 2001-03-12  Aldy Hernandez  <aldyh@redhat.com>
6982
6983         * reload1.c (reload_cse_simplify): Call reload_cse_simplify_set
6984         before reload_cse_noop_set_p.
6985
6986 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
6987
6988         * config.gcc: Where xm-host.h used to include another
6989         xm-host.h, list the nested header directly in xm_file.  Remove
6990         references to deleted files.  Can now use sparc/xm-sp64.h for
6991         sparcv9-*-solaris*.
6992
6993         * config/xm-linux.h, config/arm/xm-linux.h,
6994         config/i386/xm-dos.h, config/i386/xm-gnu.h,
6995         config/i386/xm-linux.h, config/i386/xm-openbsd.h,
6996         config/i860/xm-fx2800.h, config/m68k/xm-atari.h,
6997         config/m68k/xm-linux.h, config/m68k/xm-sun3.h,
6998         config/sparc/xm-linux.h, config/sparc/xm-sysv4-64.h:
6999         Delete.
7000
7001         * config/alpha/xm-alpha-interix.h: Don't include alpha/xm-alpha.h.
7002         * config/mips/xm-iris5.h: Don't include mips/xm-mips.h.  Don't
7003         bother to wrap #undef in #ifdef.
7004         * config/pa/xm-linux.h, config/rs6000/xm-sysv4.h:
7005         Don't include xm-linux.h.
7006         * config/sparc/xm-sp64.h: Don't include sparc/xm-sparc.h.
7007
7008         * configure.in: Wrap regexps using [] in changequote block.
7009         Use expr : not echo | grep.  Simplify regexps.
7010         * configure: Regenerate.
7011
7012         56 xm-files remain, 22 xm-arch.
7013
7014 2001-03-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7015
7016         * mips-tfile.c: Cast arg to PTR when specifier is HOST_PTR_PRINTF.
7017         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
7018         (local_index, local_rindex): Delete, use strchr/strrchr instead.
7019         (copy_object): Fix format specifier vs argument mismatch.
7020
7021         * mips-tdump.c: Make local functions static.
7022         (rindex): Don't #undef.
7023         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
7024         (fatal, fancy_abort): Delete.
7025         (read_seek): Avoid signed/unsigned compare.
7026
7027 Sun Mar 11 17:01:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7028
7029         * combine.c (try_combine): Fix error in change to try original
7030         register.
7031         (gen_rtx_combine): Do same as gen_rtx for now.
7032
7033 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
7034
7035         * configure.in: AC_SUBST xm_defines.
7036         * configure: Regenerate.
7037         * Makefile.in: Set DEFINES=$(xm_defines) when building
7038         tconfig.h.
7039
7040 2001-03-11  Neil Booth  <neil@daikokuya.demon.co.uk>
7041
7042         * cppfiles.c (INCLUDE_LEN_FUDGE, ENOMEM): Delete.
7043         (cpp_included, find_include_file): Update.
7044         (_cpp_compare_file_date): Make else unconditional.
7045
7046 2001-03-10  kaz Kojima <kkojima@rr.iij4u.or.jp>
7047
7048         * config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.
7049
7050 2001-03-10  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
7051
7052         * config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics.
7053         * config/sh/lib1funcs.asm (mulsi3): Convert mulu to mulu.w.
7054
7055 Sat Mar 10 22:42:05 2001  Alexandre Oliva  <aoliva@redhat.com>
7056
7057         * tree.c (build_common_tree_nodes_2): Don't copy va_list_type_node
7058         if it's a record type.
7059
7060 Sat Mar 10 17:52:54 2001  Christopher Faylor <cgf@cygnus.com>
7061
7062         * config/i386/cygwin.h: Make ../w32api a system directory.  Reorganize
7063         mingw includes slightly.
7064
7065 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7066
7067         * system.h (malloc, realloc, calloc, strdup, bzero, bcmp, rindex):
7068         #undef token before poisoning it.
7069
7070 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7071
7072         * alpha.c (check_float_value): Use memcpy, not bcopy.
7073
7074         * m32r.c (m32r_sched_reorder): Likewise.
7075
7076         * vax.c (check_float_value): Likewise.
7077
7078 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
7079
7080         * toplev.c (file_name_nondirectory): Remove.
7081         * toplev.h: Similarly.
7082         * dwarf2out.c (compute_section_prefix): Use lbasename instead
7083         of file_name_nondirectory.
7084
7085 Sat Mar 10 10:36:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7086
7087         * mips-tdump.c (read_seek): Call xmalloc, not malloc.
7088         * mips-tfile.c: Don't #undef rindex; not used.
7089
7090 Sat Mar 10 14:34:59 CET 2001  Jan Hubicka  <jh@suse.cz>
7091
7092         * i386.h (DBX_REGISTER_NUMBER): Return proper values for 64bits.
7093         (dbx64_register_map): Declare.
7094         (RETURN_ADDR_RTX): Fix for 64bit.
7095         (DWARF_FRAME_RETURN_COLUMN): Set to 16 for 64bit.
7096         (INCOMING_FRAME_SP_OFFSET): Set to 8.
7097         * i386.c (dbx64_register_map): New global array.
7098         * beos-elf.h, freebsd.h, i386-interix.h, i386elf.h,
7099         linux.h (DBX_REGISTER_REGNUMBER): Use dbx64_register_map
7100         for 64bits.
7101
7102 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
7103
7104         * cppfiles.c (search_from): Use lbasename.
7105         * mkdeps.c (deps_add_default_target): Use lbasename.
7106
7107 2001-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7108
7109         * fixinc/server.c (load_data, run_shell): Use xmalloc, xrealloc &
7110         xcalloc in lieu of malloc, realloc & calloc.
7111
7112         * gencheck.c (xmalloc): Use really_call_malloc, not malloc.
7113
7114         * gengenrtl.c (xmalloc): Likewise.
7115
7116         * gensupport.c (xcalloc, xrealloc, xmalloc): Use the
7117         really_call_* memory allocation routines.
7118
7119         * stmt.c (check_for_full_enumeration_handling): Use
7120         really_call_calloc, not calloc.
7121
7122         * system.h (really_call_malloc, really_call_calloc,
7123         really_call_realloc): Define.
7124         (malloc, realloc, calloc, strdup, bzero, bcmp, rindex): Poison.
7125
7126 Fri Mar  9 18:39:19 2001  Jeffrey A Law  (law@cygnus.com)
7127
7128         * pa.md (builtin_longjmp): Rework slightly to work for PA64 too.
7129
7130 2001-03-09  Nicola Pero <n.pero@mi.flashnet.it>
7131
7132         * configure: Rebuilt.
7133         * configure.in: Only use `lang_requires' for languages athat are
7134         actually enabled.
7135
7136 2001-03-09  Joseph S. Myers  <jsm28@cam.ac.uk>
7137
7138         * invoke.texi: Fix typo.
7139         * gcc.1: Regenerate.
7140
7141 2001-03-09  Zack Weinberg  <zackw@stanford.edu>
7142
7143         * configure.in: Prune nonexistent files from build_xm_file,
7144         xm_file, and host_xm_file lists.  Warn unless they're
7145         $cpu/xm-$cpu.h.
7146         Don't generate *config.h here.
7147         AC_SUBST all variables needed to generate *config.h.
7148         * configure: Regenerate.
7149         * mkconfig.sh: New helper script, from code removed from
7150         configure.in.
7151         * Makefile.in: Zap all MALLOC variables - no longer used
7152         anywhere, and malloc.c doesn't exist.
7153         Substitute in variables needed to generate *config.h.
7154         Stop lying about the dependencies contained in CONFIG_H and
7155         GCONFIG_H.
7156         (HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
7157         (config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
7158         cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
7159         (all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
7160         $(TM_P_H), etc. as appropriate.
7161
7162         * config.gcc: Zap references to deleted files.
7163         * ggc-none.c: Don't include rtl.h or tm_p.h.
7164
7165         * config/i386/xm-beos.h, config/i386/xm-dgux.h,
7166         config/i386/xm-djgpp.h, config/i386/xm-dos.h,
7167         config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
7168         config/i386/xm-linux.h, config/i386/xm-linux.h,
7169         config/i386/xm-next.h, config/i386/xm-openbsd.h,
7170         config/i386/xm-sun.h, config/i386/xm-sysv3.h:
7171         Don't include i386/xm-i386.h.
7172
7173         * config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
7174         config/i386/xm-i386.h, config/i860/xm-i860.h,
7175         config/i960/xm-i960.h, config/mcore/xm-mcore.h,
7176         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
7177         config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
7178         Delete (empty except comments, #includes of other deleted
7179         files, and macros used nowhere).
7180
7181 Fri Mar  9 20:05:27 CET 2001  Jan Hubicka  <jh@suse.cz>
7182
7183         * i386.h (MAX_WCHAR_TYPE_SIZE): New constant to keep tradcpp
7184         independent on TARGET_FLAGS.
7185
7186 Fri Mar  9 19:52:52 CET 2001  Jan Hubicka  <jh@suse.cz>
7187
7188         * i386.h (FIRST_PSEUDO_REGISTER): Set to 53.
7189
7190         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ONES): Add
7191         extended ones.
7192         (CONDITIONAL_REGISTER_USAGE): Set proper values according to
7193         TARGET_64BIT.
7194         (FIRST_REX_INT_REG, LAST_REX_INT_REG, FIRST_REX_SSE_REG,
7195         LAST_REX_SSE_REG): define.
7196         (enum reg_class): Add 'LEGACY_REGS'
7197         (REG_CLASS_CONTENTS): Likewise; add extended registers.
7198         (SSE_REGNO_P): Recognize extended registers.
7199         (ANY_QI_REG_P, REX_INT_REGNO_P, REX_INT_REG_P): New.
7200         (REG_CLASS_FROM_LETTER): Add 'R' and 'Q'.
7201         (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P,
7202         REG_OK_FOR_BASE_NONSTRICT_P): Recognize REX registers.
7203         (REG_OK_FOR_STRREG_NONSTRICT_P, REG_OK_FOR_STRREG_STRICT_P,
7204          REG_OK_FOR_STRREG_P): Remove.
7205         (HI_REGISTER_NAMES): Add extended registers.
7206         (ADDITIONAL_REGISTER_NAMES): Likewise.
7207         (QI_REGISTER_NAMES): Add 8bit extended registers.
7208         (DEBUG_REG): Support extended registers.
7209         * i386.c (regclass_map): Add extended registers.
7210         (dbx_register-map): Likewise.
7211         (svr4_dbx_register_map): Likewise.
7212         (print_reg): Support extended registers.
7213         (print_operand): Support 64bit operands.
7214
7215 Fri Mar  9 19:37:46 CET 2001  Jan Hubicka  <jh@suse.cz>
7216
7217         * i386.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 128bit for x86_64
7218         (BOOL_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
7219          FLOAT_TYPE_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE,
7220          DOUBLE_TYPE_SIZE, LONG_LONG_TYPE_SIZE): New constants.
7221         (BITS_PER_WORD, UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY,
7222          STACK_BOUNDARY): Set properly for 64bits.
7223         (MAX_BITS_PER_WORD, MIN_UNITS_PER_WORD): New constants.
7224         (EMPTY_FIELD_BOUNDARY): Define using BITS_PER_WORD.
7225         (BIGGEST_FIELD_ALIGNMENT): Set to 128 for 64bits.
7226         (MOVE_MAX): Set to 16.
7227         (MOVE_MAX_PIECES): 8 for 64bit.
7228         (Pmode): Set to SImode.
7229
7230 Fri Mar  9 09:00:36 2001  Mike Stump  <mrs@wrs.com>
7231
7232         * cselib.c (hash_rtx): Ensure that hash isn't zero upon return.
7233
7234 Fri Mar  9 17:38:08 CET 2001  Jan Hubicka  <jh@suse.cz>
7235
7236         * i386.h (mask_64bit): New constant.
7237         (target_64bit): New macro.
7238         (target_options): Add '64'/'32'
7239         (target_default): Define.
7240         * cygwin.h freebsd-aout.h i386-interix.h i386.h i386elf.h isc.h
7241         isccoff.h netbsd.h next.h openbsd.h p sco.h sco5.h scodbx.h sequent.h
7242         unix.h win32.h (TARGET_DEFAULT): Rename to TARGET_SUBTARGET_DEFAULT.
7243
7244 Thu Mar  8 23:36:56 2001  Jeffrey A Law  (law@cygnus.com)
7245
7246         * config/pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Disable.
7247
7248 Thu Mar  8 23:29:37 2001  John Wehle  (john@feith.com)
7249
7250         * rtlanal.c (rtx_varies_p): Check operand 0 of a
7251         LO_SUM unless for_alias is set.
7252
7253 2001-03-08  Stan Shebs  <shebs@apple.com>
7254
7255         * objc/objc-act.c: Fix old typos in comments, add comments for
7256         various functions.
7257         (hash_init): Fix file name in error message.
7258         (hash_enter): Ditto.
7259         (hash_add_attr): Ditto.
7260         (continue_class): Ditto.
7261
7262 2001-03-08  Bruce Korb  <bkorb@gnu.org>
7263
7264         gcc.c(main): ensure SIGCHLD handling is set to SIG_DFL so that
7265         wait4() can receive the signal.
7266
7267 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7268
7269         * fixinc/inclhack.def (AAB_dgux_int_varargs): Don't use HTML
7270         entities.
7271         * fixinc/fixincl.x: Regenerate.
7272
7273 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7274
7275         * fixinc/inclhack.def (AAA_standards): Undo <standards.h> breakage
7276         on Tru64 UNIX.
7277         * fixinc/fixincl.x: Regenerate.
7278
7279 2001-03-08  Richard Henderson  <rth@redhat.com>
7280
7281         * configure.in (HAVE_AS_LEB128): New assembler check.
7282         * configure, config.in: Rebuilt.
7283
7284 Thu Mar  8 19:54:04 CET 2001  Jan Hubicka  <jh@suse.cz>
7285
7286         * reg-stack.c (move_for_stack_reg): Avoid non-poping fst for
7287         TFmode too.
7288
7289 2001-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7290
7291         * config/ns32k/xm-pc532-min.h, config/we32k/xm-we32k.h: Delete
7292         references to the MAXPATHLEN macro.
7293
7294         * config/alpha/xm-alpha.h, config/arm/xm-arm.h,
7295         config/i386/xm-cygwin.h, config/xm-linux.h: Delete references to
7296         the POSIX macro.
7297
7298         * config/i386/xm-gnu.h, config/xm-gnu.h,
7299         config/alpha/xm-openbsd.h, config/i386/xm-openbsd.h,
7300         config/m68k/xm-openbsd.h, config/mips/xm-openbsd.h,
7301         config/sparc/xm-openbsd.h, config/xm-openbsd.h: Delete empty
7302         and/or unused files.
7303
7304         * config.gcc: Define POSIX in xm_defines as appropriate in lieu of
7305         doing so in various xm-*.h files.
7306
7307 Thu Mar  8 06:32:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7308
7309         * config/i386/i386.md (clrstrsi): Call ix86_set_move_mem_attrs.
7310
7311 2001-03-08  Alexandre Oliva  <aoliva@redhat.com>
7312
7313         * configure.in (enable_shared): Support per-package shared-library
7314         enabling.
7315         * configure: Rebuilt.
7316
7317 2001-03-07  David Edelsohn  <edelsohn@gnu.org>
7318
7319         * rs6000.md (cr logic): Add original POWER mnemonic alternative
7320         for crnot.  Set operands[5] in splitter.
7321
7322 2001-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7323
7324         * config/i370/xm-mvs.h, config/i370/xm-oe.h,
7325         config/i386/xm-beos.h, config/i386/xm-mingw32.h,
7326         config/m88k/xm-m88k.h, config/mips/xm-iris6.h,
7327         config/mips/xm-openbsd.h, config/pa/xm-pa64hpux.h,
7328         config/pa/xm-pahpux.h, config/rs6000/xm-beos.h,
7329         config/rs6000/xm-darwin.h, config/rs6000/xm-mach.h,
7330         config/rs6000/xm-rs6000.h, config/xm-interix.h: Delete references
7331         to the USG macro.
7332
7333         * config/vax/xm-vaxv.h, config/a29k/xm-unix.h,
7334         config/i370/xm-i370.h, config/i386/xm-dgux.h,
7335         config/i386/xm-sun.h, config/i386/xm-sysv3.h,
7336         config/m68k/xm-tower.h, config/m68k/xm-aux.h,
7337         config/m68k/xm-hp320.h, config/m68k/xm-amix.h,
7338         config/m68k/xm-altos3068.h, config/m68k/xm-mot3300.h,
7339         config/m68k/xm-m68kv.h, config/m88k/xm-openbsd.h,
7340         config/mips/xm-nws3250v4.h, config/mips/xm-sysv.h,
7341         config/mips/xm-iris3.h, config/mips/xm-iris4.h, config/xm-svr3.h,
7342         config/xm-svr4.h, config/sparc/xm-pbd.h, config/clipper/xm-clix.h:
7343         Delete unused and/or empty files.
7344
7345         * config.gcc: Define USG in xm_defines as appropriate.  Define
7346         POSIX in lieu of xm-svr4.h.  Delete all references to the SVR3
7347         macro.  Remove deleted xm-* files from $xm_files variable.
7348
7349 2001-03-07  Tom Tromey  <tromey@redhat.com>
7350
7351         * configure: Rebuilt.
7352         * configure.in: Allow config-lang.in to set `lang_requires' to list
7353         of other required languages.
7354
7355 2001-03-07  Andrew MacLeod  <amacleod@redhat.com>
7356
7357         * config/a29k/a29k.c (print_operand): Free a29k_last_prologue_insn
7358         after its emitted.
7359         (output_prologue): Use xmalloc not oballoc.
7360         (output_epilog): Free a29k_first_epilogue_insn when finished.
7361         * confif/a29k/a29k.h (PREDICATE_CODES): Remove shift_constant_operand.
7362
7363 2001-03-07  Brad Lucier  <lucier@math.purdue.edu>
7364
7365         * builtins.c (expand_builtin_mathfn): Check
7366         flag_unsafe_math_optimizations, not flag_fast_math.
7367         (expand_builtin): Likewise
7368         * combine.c (combine_simplify_rtx): Likewise.
7369         (simplify_if_then_else): Likewise.
7370         * cse.c (fold_rtx): Likewise.
7371         * flags.h: Remove flag_fast_math.  Add
7372         flag_unsafe_math_optimizations and flag_trapping_math.
7373         * fold-const.c (negate_expr): Check
7374         flag_unsafe_math_optimizations, not flag_fast_math.
7375         (invert_truthvalue): Likewise.
7376         (fold): Likewise.  Before associating operands, check that
7377         code == MULT_EXPR, not code != MULT_EXPR.
7378         * ifcvt.c (noce_try_minmax): Check
7379         flag_unsafe_math_optimizations, not flag_fast_math.
7380         (noce_operand_ok): Check flag_trapping_math, not flag_fast_math.
7381         * invoke.texi: Document -funsafe-math-optimizations and
7382         -fno-trapping-math.  Change documentation for -ffast-math.
7383         * jump.c (reversed_comparison_code_parts): Likewise.
7384         (rtx_equal_for_thread_p): Likewise.
7385         * optabs.c (emit_conditional_move): Likewise.
7386         * simplify-rtx.c (simplify_binary_operation): Likewise.
7387         (simplify_relational_operation): Likewise.
7388         (simplify_ternary_operation): Likewise.
7389         * toplev.c: Remove flag_fast_math.  Add flag_trapping_math and
7390         flag_unsafe_math_optimizations.  Remove fast-math entry from f_options.
7391         Add trapping-math and unsafe-math-optimizations entries to f_options.
7392         (set_fast_math_flags): New, sets flags for -ffast-math.
7393         (set_no_fast_math_flags): New, sets flags for -fno-fast-math.
7394         (decode_f_option): Add code to handle -ffast-math and -fno-fast-math.
7395         * toplev.h: Declare set_fast_math_flags and set_no_fast_math_flags.
7396
7397         * config/alpha/alpha.c (alpha_emit_conditional_branch): Likewise.
7398         (alpha_emit_conditional_move): Initialize local_fast_math to
7399         flag_unsafe_math_optimizations, not flat_fast_math.
7400         * config/c4x/c4x.c (c4x_override_options): Call set_fast_math_flags
7401         instead of setting flag_fast_math to 1.
7402         * config/convex/convex.md: Check flag_unsafe_math_optimizations,
7403         not flag_fast_math.
7404         * config/i386/i386.c (override_options): Likewise
7405         * config/i386/i386.md: Likewise.
7406         * config/m68k/m68k.md: Likewise.
7407         * config/mips/mips.md: Likewise.
7408         * config/rs6000/rs6000.c (validate_condition_mode): Likewise.
7409         (rs6000_generate_compare): Likewise.
7410
7411 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
7412
7413         * Makefile.in: Set RANLIB to @RANLIB@.
7414         Remove RANLIB_TEST.
7415
7416 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
7417
7418         * fixinc/inclhack.def (djgpp_wchar_h): New test.
7419         * fixinc/fixincl.x: Regenerated.
7420
7421 2001-03-07  Richard Henderson  <rth@redhat.com>
7422
7423         * config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
7424
7425 2001-03-07  Richard Henderson  <rth@redhat.com>
7426
7427         * emit-rtl.c (remove_unnecessary_notes): Verify proper nesting
7428         of block notes and exception handling notes.
7429
7430         * lists.c (init_EXPR_INSN_LIST_cache): Don't check initialized.
7431         * toplev.c (rest_of_compilation): Call init_EXPR_INSN_LIST_cache ...
7432         (compile_file): ... here.
7433
7434 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7435
7436         * fixinc/Makefile.in (FIXINC_DEFS): Add -DHAVE_CONFIG_H.
7437
7438         * fixinc/gnu-regex.c: Don't include auto-host.h since we get
7439         config.h now.  Include libiberty.h to handle alloca.
7440
7441 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
7442
7443         * c-parse.in (yylexname): New function, split out of _yylex.
7444         (objc_rid_sans_at): New table.
7445         (init_reswords): Initialize it.
7446         (_yylex): Give labels clearer names.  Handle CPP_ATSIGN by
7447         retrieving the next token and checking it for significance as
7448         an ObjC keyword or string constant.
7449
7450         * cpplex.c (_cpp_lex_token): Just return CPP_ATSIGN for '@'.
7451         * cpplib.h (TTYPE_TABLE): Add CPP_ATSIGN, drop CPP_OSTRING.
7452
7453         * c-lex.c, c-parse.in, cppmacro.c, cpplex.c: Remove references
7454         to CPP_OSTRING.
7455
7456 2001-03-06  Stephen L Moshier  <moshier@mediaone.net>
7457
7458         * config/m68k/m68k.c (const_uint32_operand): Accept any
7459         const_int on a 32-bit host.
7460
7461 2001-03-06  Nicola Pero  <n.pero@mi.flashnet.it>
7462
7463         * objc/objc-act.c (init_objc): Set save_lang_status,
7464         restore_lang_status, and mark_lang_status.
7465
7466 2001-03-06  Krister Walfridsson  <cato@df.lth.se>
7467
7468         * dwarf2asm.c (dw2_asm_output_delta): Fix smallest_mode_for_size call.
7469
7470 2001-03-06  Neil Booth  <neil@daikokuya.demon.co.uk>
7471
7472         * cppinternals.texi: Update.
7473
7474 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7475
7476         * config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
7477         config/alpha/xm-alpha.h, config/arc/xm-arc.h, config/arm/xm-arm.h,
7478         config/c4x/xm-c4x.h, config/clipper/xm-clix.h,
7479         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
7480         config/dsp16xx/xm-dsp16xx.h, config/elxsi/xm-elxsi.h,
7481         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
7482         config/i370/xm-linux.h, config/i370/xm-mvs.h, config/i370/xm-oe.h,
7483         config/i386/xm-i386.h, config/i860/xm-i860.h,
7484         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
7485         config/m32r/xm-m32r.h, config/m68k/xm-m68k.h,
7486         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
7487         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
7488         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
7489         config/pa/xm-linux.h, config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
7490         config/pa/xm-pahpux.h, config/pa/xm-papro.h, config/pj/xm-pj.h,
7491         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
7492         config/rs6000/xm-lynx.h, config/rs6000/xm-rs6000.h,
7493         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
7494         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
7495         config/v850/xm-v850.h, config/vax/xm-vax.h, config/vax/xm-vms.h,
7496         config/we32k/xm-we32k.h: Delete HOST_BITS_PER_* definitions which
7497         match the defaults provided in hwint.h.
7498
7499         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
7500         config/sparc/xm-lynx.h, config/xm-std32.h: Delete files.
7501
7502         * config.gcc (xm_file): Don't set to files which are deleted.
7503
7504         * hwint.h: Provide default values for HOST_BITS_PER_*.  No longer
7505         guard this file against these macros being undefined.
7506
7507 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
7508
7509         * objc/objc-act.c (objc_add_static_instance): Set DECL_INITIAL
7510         and DECL_DEFER_OUTPUT on the decl we create, before calling
7511         rest_of_decl_compilation.
7512
7513 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
7514
7515         * aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE
7516         AC_FUNC_ALLOCA.
7517         * configure, config.in: Regenerate.
7518         * config.gcc: Remove references to deleted files.
7519
7520         * genattr.c, genattrtab.c, genextract.c, genoutput.c,
7521         genrecog.c, rtl.c: Do not use alloca anywhere.
7522
7523         * Makefile.in, build-make, system.h, config/x-interix,
7524         config/x-svr4, config/xm-interix.h, config/xm-openbsd.h,
7525         config/alpha/xm-alpha.h, config/alpha/xm-vms.h,
7526         config/arc/xm-arc.h, config/arm/xm-arm.h,
7527         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
7528         config/h8300/xm-h8300.h, config/i370/x-oe,
7529         config/i370/xm-linux.h, config/i386/x-aix, config/i386/x-beos,
7530         config/i386/x-ncr3000, config/i386/x-sco5,
7531         config/i386/xm-dgux.h, config/i860/x-sysv4,
7532         config/i960/xm-i960.h, config/m32r/xm-m32r.h,
7533         config/m68k/x-crds, config/m68k/x-dpx2, config/m68k/x-hp320,
7534         config/m68k/x-hp320g, config/m69k/x-mot3300,
7535         config/m68k/x-mot3300-gas, config/m68k/xm-amix.h,
7536         config/m68k/xm-hp320.h, config/m68k/xm-m68kv.h,
7537         config/m68k/xm-mot3300.h, config/m88k/x-dolph,
7538         config/m88k/x-sysv4, config/m88k/x-tekXD88,
7539         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
7540         config/mips/x-iris, config/mips/x-iris3,
7541         config/mips/x-sni-svr4, config/mips/x-sysv,
7542         config/mips/xm-iris6.h, config/mips/xm-mips.h,
7543         config/mips/xm-nws3250v4.h, config/pa/x-hpux,
7544         config/pa/x-pa-mpeix, config/pa/xm-pa.h,
7545         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
7546         config/pa/xm-papro.h, config/romp/xm-romp.h,
7547         config/rs6000/x-aix31, config/rs6000/x-aix41,
7548         config/rs6000/x-beos, config/rs6000/x-lynx,
7549         config/rs6000/x-mach, config/rs6000/x-rs6000,
7550         config/rs6000/x-sysv4, config/rs6000/xm-rs6000.h,
7551         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
7552         config/sparc/x-sysv4, config/sparc/xm-linux.h,
7553         config/sparc/xm-pbd.h, config/sparc/xm-sparc.h,
7554         config/vax/xm-vms.h: Eradicate all references to alloca and
7555         related stuff.
7556
7557         * config/xm-alloca.h, config/clipper/x-clix,
7558         config/i386/xm-sysv4.h, config/i860/x-fx2800,
7559         config/i860/x-sysv3, config/m88k/x-sysv3,
7560         config/sparc/xm-sol2.h, config/we32k/x-we32k: Delete
7561         (contained only alloca related hacks).
7562
7563         * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Just define
7564         USE_C_ALLOCA.
7565
7566 2001-03-05  Brad Lucier  <lucier@math.purdue.edu>
7567
7568         * invoke.texi: Document __FAST_MATH__.
7569
7570 2001-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7571
7572         * crtstuff.c: Restore include of auto-host.h.
7573
7574 2001-03-05  Fergus Henderson  <fjh@cs.mu.oz.au>
7575
7576         Put main() in a separate file, so that the language
7577         front-end can use a different main().
7578
7579         * main.c: New.
7580         * toplev.c: (main): Rename as toplev_main.
7581         * toplev.h: Declare toplev_main.
7582         * Makefile.in (OBJS): add toplev.o.
7583           (BACKEND): remove toplev.o, add main.o.
7584
7585 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
7586
7587         * cppfiles.c (search_from): Special case the empty string.
7588
7589 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
7590
7591         * cppfiles.c (_cpp_execute_include): Don't make a null-terminated
7592         copy of the filename.  Don't use CPP_PREV_BUFFER.  Don't call
7593         strlen or strcpy; we already know the length.
7594         (_cpp_compare_file_date): Similarly.
7595         * cpphash.h (struct cpp_reader): Delete done_initialising.
7596         (CPP_PREV_BUFFER): Delete.
7597         * cppinit.c (cpp_start_read): Don't set done_initialising.
7598         * cpplex.c (parse_string): Guarantee null-termination.
7599         (_cpp_equiv_toklists): Remove.
7600         * cpplib.c (glue_header_name): Null-terminate.
7601         (do_line): Don't leak memory.
7602         * cpplib.h (BT_WEAK): Delete.
7603         * cppmain.c (cb_ident): Strings are now null-terminated.
7604
7605 2001-03-04  Laurynas Biveinis  <lauras@softhome.net>
7606
7607         * gcc.c (convert_filename): Append executable suffix
7608         if NO_AUTO_EXE_SUFFIX is not defined.
7609         * gcc.texi: Document NO_AUTO_EXE_SUFFIX.
7610         * config/i386/djgpp.h: Define NO_AUTO_EXE_SUFFIX.
7611
7612 2001-03-03  David O'Brien  <obrien@FreeBSD.org>
7613
7614         from 2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
7615         * c-parse.gperf, c-gperf.h: Delete.
7616         (c-gperf.h was accidently re-added to the CVS repo in the rev
7617         1.16 commit by tromey)
7618
7619 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7620
7621         * cpplex.c (_cpp_lex_token): Don't warn about directives in
7622         macro arguments when looking for the '('.
7623         * cppmacro.c (funlike_invocation_p): Set parsing_args to
7624         2 when really parsing arguments; 1 when looking for '('.
7625         Always restore the lexer position.
7626
7627 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7628
7629         * longlong.h (umul_ppmm): Don't use a multiline string.
7630
7631 2001-03-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7632
7633         * fixinc/fixlib.h (t_bool): Add identifier `t_bool' in typedef.
7634         * fixinc/server.c (read_pipe_timeout): Use enum t_bool instead of
7635         t_bool in declaration because pcc can't combine volatile with typedef
7636         types.
7637
7638 Sat Mar  3 19:47:13 CET 2001  Jan Hubicka  <jh@suse.cz>
7639
7640         * i386.c (ix86_expand_fp_compare): Delay creating of scratch register
7641         until when it is really needed.
7642         (ix86_expand_compare): Update call of ix86_expand_fp_compare.
7643         * i386.h (PREDICATE_CODES): Add all codes for sse_comparison_operator
7644         * i386.md (float?i?f splitter): Don't force source operand to memory
7645         for SSE.
7646         (sse_movdfcc): Fix constraint.
7647         (sse_movdfcc splitter): Handle properly the second alternative.
7648
7649 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7650
7651         * cpplex.c (parse_string): Unconditionally pedwarn.
7652
7653 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7654
7655         * cpp.texi: Update.
7656         * cppexp.c (parse_number): Update.
7657         * cpplex.c (parse_string): Pedwarn if multiline string does not
7658         result from a system header's macro.
7659         * cpplib.h (sys_objmacro_p): Rename sys_macro_p.
7660         * cppmacro.c (sys_objmacro_p): Rename sys_macro_p.  Return true
7661         for function-like macros too.
7662         * c-lex.c (lex_number): Update.
7663
7664 2001-03-03  Richard Henderson  <rth@redhat.com>
7665
7666         * dwarf2out.c (output_call_frame_info): Fix augmentation length.
7667
7668 Sat Mar  3 04:17:17 2001  J"orn Rennecke <amylaar@redhat.com>
7669
7670         * combine.c (try_combine): If split with mode-changed scratch
7671         register didn't work, try the original mode.
7672
7673 Sat Mar  3 03:46:47 2001  J"orn Rennecke <amylaar@redhat.com>
7674
7675         * tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
7676         * config/c4x/c4x.h: Likewise.
7677         * stor-layout.c (compute_record_mode): Likewise.
7678         (layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK.
7679
7680 2001-03-02  Zack Weinberg  <zackw@stanford.edu>
7681
7682         * configure.in: Kill tm.h.  Include the files in the $tm_file
7683         list in all three of config.h, hconfig.h, tconfig.h, after the
7684         relevant set of xm_files.  Put TARGET_CPU_DEFAULT in all
7685         three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
7686         * configure: Regenerate.
7687         * Makefile.in (clean): Don't delete tm.h.
7688
7689         * system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
7690         defined, set them from EXIT_SUCCESS and EXIT_FAILURE.  If
7691         those are not defined, set SEC and FEC to 0 and 1.
7692         * gcc.texi: Update to match.
7693
7694         * crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
7695         * config/fp-bit.c, config/m68k/aux-crt2.asm,
7696         config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
7697         Include tconfig.h, not tm.h.
7698
7699         * config/xm-lynx.h, config/xm-std32.h,
7700         config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
7701         config/alpha/xm-alpha.h, config/arc/xm-arc.h,
7702         config/avr/xm-avr.h, config/c4x/xm-c4x.h,
7703         config/clipper/xm-clix.h, config/convex/xm-convex.h,
7704         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
7705         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
7706         config/h8300/xm-h8300.h, config/i370/xm-linux.h,
7707         config/i386/xm-i386.h, config/i860/xm-i860.h,
7708         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
7709         config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h,
7710         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
7711         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
7712         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
7713         config/pa/xm-linux.h, config/pa/xm-pa.h,
7714         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
7715         config/pa/xm-papro.h, config/pdp11/xm-pdp11.h,
7716         config/pj/xm-pj.h, config/romp/xm-romp.h,
7717         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
7718         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
7719         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
7720         config/v850/xm-v850.h, config/vax/xm-vax.h,
7721         config/we32k/xm-we32k.h:
7722         Don't include tm.h.
7723         Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
7724
7725         * config/i370/xm-i370.h, config/i370/xm-mvs.h,
7726         config/i370/xm-oe.h: Don't include tm.h.  Don't define
7727         SUCCESS_EXIT_CODE.
7728         * config/vax/xm-vms.h: Don't include tm.h.
7729
7730         * config/xm-lynx.h, config/avr/xm-avr.h,
7731         config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h,
7732         Delete; made empty by above changes.
7733         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
7734         config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h:
7735         Don't include config/xm-lynx.h or tm.h.
7736
7737         * config/xm-gnu.h: Don't include fcntl.h.
7738         * config/sparc/xm-lynx.h: Don't include sys/types.h and
7739         sys/wait.h.
7740         * config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf.
7741
7742 2001-03-02  Richard Henderson  <rth@redhat.com>
7743
7744         * tm.texi (File Framework): Document UNALIGNED_SHORT_ASM_OP,
7745         UNALIGNED_INT_ASM_OP, and UNALIGNED_DOUBLE_INT_ASM_OP.
7746
7747 2001-03-02  Richard Henderson  <rth@redhat.com>
7748
7749         * Makefile.in (OBJS): Add dwarf2asm.o.
7750         * dwarf2asm.c, dwarf2asm.h: New files.
7751         * dwarf2out.c (*): Use them.
7752         (size_of_uleb128, size_of_sleb128): Remove.
7753         (output_uleb128, output_sleb128): Remove.
7754         (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Remove.
7755         (UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Remove.
7756         (UNALIGNED_OFFSET_ASM_OP, UNALIGNED_WORD_ASM_OP): Remove.
7757         (FDE_LABEL, LINE_NUMBER_BEGIN_LABEL, LINE_NUMBER_END_LABEL): New.
7758         (ASM_OUTPUT_DWARF_DATA1, ASM_OUTPUT_DWARF_DELTA1): Remove.
7759         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_DELTA2): Remove.
7760         (ASM_OUTPUT_DWARF_DATA4, ASM_OUTPUT_DWARF_DELTA4): Remove.
7761         (ASM_OUTPUT_DWARF_DATA, ASM_OUTPUT_DWARF_DELTA): Remove.
7762         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_ADDR_DATA): Remove.
7763         (ASM_OUTPUT_DWARF_ADDR_DELTA, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
7764         (ASM_OUTPUT_DWARF_OFFSET4, ASM_OUTPUT_DWARF_OFFSET): Remove.
7765         (ASM_OUTPUT_DWARF_CONST_DOUBLE): Remove.
7766         (ASM_OUTPUT_DWARF_NSTRING, ASM_OUTPUT_DWARF_STRING): Remove.
7767         (dwarf2out_frame_debug): Remove unused variables.
7768         (output_loc_operands): Don't abort on 8 byte constants if
7769         host integers are wide enough.
7770         (output_symbolic_ref): Remove.
7771         (size_of_die): Don't assume 4 byte host integers.
7772         (output_line_info): Use ASM_GENERATE_INTERNAL_LABEL for begin
7773         and end labels.
7774         (add_const_value_attribute) [CONST_INT]: Verify we're not doing
7775         something stupid with HOST_WIDE_INT to long truncation.
7776         [CONST_DOUBLE]: Likewise.
7777
7778         * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Remove.
7779         (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
7780         * config/arm/unknown-elf.h: Likewise.
7781         * config/rs6000/aix.h (UNALIGNED_SHORT_ASM_OP): New.
7782         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): New.
7783         (ASM_OUTPUT_DWARF_ADDR_VAR, ASM_OUTPUT_DWARF_DELTA_VAR): Remove.
7784         (ASM_OUTPUT_DWARF_DELTA2, ASM_OUTPUT_DWARF_DELTA4): Remove.
7785         (ASM_OUTPUT_DWARF_DELTA, ASM_OUTPUT_DWARF_ADDR_DELTA): Remove.
7786         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_DATA4): Remove.
7787         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_OFFSET4): Remove.
7788         (ASM_OUTPUT_DWARF_OFFSET): Remove.
7789         * config/rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Remove.
7790         * config/sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
7791         (UNALIGNED_LONGLONG_ASM_OP, ASM_OUTPUT_DWARF_ADDR): Remove.
7792         (ASM_OUTPUT_DWARF_ADDR_CONST, ASM_OUTPUT_DWARF_REF): Remove.
7793
7794 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7795
7796         * cselib.c (hash_rtx): Cast enums to unsigned int.
7797
7798 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7799
7800         * print-rtl.c (print_rtx): Cast enums to int for comparison.
7801         * c-decl.c (grokdeclarator): Cast enums to int for comparison and
7802         shifts.
7803         * c-format.c (C_STD_VER): Cast to int for comparisons.
7804         (check_function_format): Cast various enums to int for &.
7805         (maybe_read_dollar_number): Likewise.
7806         (check_format_info): Likewise.
7807         (check_format_info_main): Likewise.
7808         * expr.c (emit_move_insn_1): Cast enums to unsigned int for comparison.
7809         (safe_from_p): Likewise.
7810         * varasm.c (const_hash): Cast enum to int for %.
7811         * emit-rtl.c (init_emit_once): Use int loop variable to work around
7812         pcc enum problems with < and ++ operators.
7813         * regclass.c (init_reg_sets_1): Cast enums for comparison.
7814         (choose_hard_reg_mode): Use unsigned int to iterate over CCmodes.
7815         (regclass_init): Change enum class to int to iterate over reg_classes.
7816         * genrecog.c (merge_trees): Cast enums for comparison.
7817         * rtl.h (GET_CODE): Cast to enum rtx_code.
7818         (PUT_CODE): Cast to ENUM_BITFIELD(rtx_code).
7819         (GET_MODE): Cast to enum machine_mode.
7820         (PUT_MODE): Cast to ENUM_BITFIELD(machine_mode).
7821         (GET_NOTE_INSN_NAME): Cast enum to int.
7822         * tree.h (TREE_CODE): Cast to enum tree_code.
7823         (TREE_SET_CODE): Cast VALUE to ENUM_BITFIELD(tree_code).
7824         * timevar.c (timevar_print): Change loop variable id from enum to
7825         unsigned int.
7826         * fixinc/fixincl.c (VLEVEL): Cast enums in comparison to unsigned int.
7827         * config/i386/i386.md: Use PUT_MODE for mode assignment.
7828         * toplev.c (compile_file): Cast enum DFI to int.
7829         (decode_d_option): Likewise.
7830
7831 Fri Mar  2 12:18:13 2001  Christopher Faylor <cgf@cygnus.com>
7832
7833         * cppinit.c (append_include_chain): Mark "after" include file name list
7834         as a system directory.
7835         * cpp.texi: Document new behavior.
7836
7837 Fri Mar  2 11:59:43 CET 2001  Jan Hubicka  <jh@suse.cz>
7838
7839         * ifcvt.c (noce_operand_ok): Handle properly unarry operations.
7840
7841 2001-03-02  Neil Booth  <neil@daikokuya.demon.co.uk>
7842
7843         * cppfiles.c (struct include_file): Update.
7844         (stack_include_file): Use search_from.
7845         (cpp_included, find_include_file): Update.
7846         (cpp_execute_include): Update.  ptr->name may not be
7847         null terminated.  Use the new search_from member variable
7848         of cpp_buffer.
7849         (_cpp_compare_file_date): Similarly.
7850         (search_from): New function, similiar to actual_directory.
7851         (actual_directory): Delete.
7852         (remap_filename): Update.  loc->name may not be null terminated.
7853         (struct file_name_list): Rename search_path.  Update.
7854         * cpphash.h (struct cpp_buffer): Delete actual_dir.  New members
7855         search_from and dir.
7856         (struct cpp_reader): Remove actual_dirs.
7857         * cppinit.c (struct cpp_pending): Update for renamed objects.
7858         (append_include_chain, remove_dup_dir, remove_dup_dirs,
7859         merge_include_chains, cpp_destroy, cpp_start_read): Similarly.
7860         * cpplib.h (struct cpp_options): Similarly.
7861
7862 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
7863
7864         * config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
7865         config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
7866         config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
7867         config/clipper/xm-clix.h, config/convex/xm-convex.h,
7868         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
7869         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
7870         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
7871         config/i370/xm-linux.h, config/i370/xm-mvs.h,
7872         config/i370/xm-oe.h, config/i386/xm-aix.h,
7873         config/i386/xm-i386.h, config/i386/xm-osf.h,
7874         config/i860/xm-i860.h, config/i960/xm-i960.h,
7875         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
7876         config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
7877         config/mcore/xm-mcore.h, config/mips/xm-mips.h,
7878         config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
7879         config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
7880         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
7881         config/pa/xm-pahpux.h, config/pa/xm-papro.h,
7882         config/pj/xm-pj.h, config/romp/xm-romp.h,
7883         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
7884         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
7885         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
7886         config/v850/xm-v850.h, config/vax/xm-vax.h,
7887         config/vax/xm-vms.h, config/we32k/xm-we32k.h:
7888         Do not define TRUE or FALSE.
7889
7890         * config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
7891         empty by above change.
7892         * config.gcc: Remove references to these files.
7893
7894         * configure.in: Detect stdbool.h.
7895         * configure, config.in: Regenerate.
7896         * system.h: Include stddef.h here if available.
7897         Set HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.
7898         Then set up a sensible boolean type at the very end.
7899
7900         * combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
7901         config/mcore/mcore.c: Rename variables named 'true' and/or 'false'.
7902
7903         * hash.h: Delete 'boolean' typedef and related #undefs.
7904
7905         * function.c, ggc-common.c, hash.h, hash.c, tlink.c: Replace
7906         all uses of 'boolean' with 'bool'.
7907
7908 2001-03-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7909
7910         * cpplib.c (_cpp_init_stacks): Cast enum for comparison.
7911         * cppexp.c (lex): Cast enums for comparison.
7912         * cppinit.c (parse_option): Cast enum for comparison.
7913         * cpplex.c (cpp_spell_token): Cast enums to int for minus.
7914         (cpp_output_token): Likewise.
7915         (cpp_can_paste): Cast enums for comparsion and plus/minus.
7916         (cpp_avoid_paste): Cast enums for minus and comparison.
7917
7918 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
7919
7920         * gcc.c, objc/lang-specs.h: Add zero initializer for cpp_spec
7921         field to all array elements.
7922
7923 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
7924
7925         * cpphash.h (struct cpp_reader): Add print_version field.
7926         * cppinit.c (cpp_handle_option): For -v, -version, and --version,
7927         just set print_version and other flags as appropriate.
7928         (cpp_post_options): Print version here if print_version is set.
7929
7930         * toplev.c (exit_after_options): New flag.
7931         (independent_decode_option): Don't exit here; just set
7932         exit_after_options.
7933         (main): Exit after calling lang_hooks.post_options if
7934         exit_after_options is true.
7935
7936         * cppinit.c (append_include_chain): Drop never-used case QUOTE.
7937         (merge_include_chains): Adjust comment to match code.
7938
7939 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
7940
7941         * stringpool.c (set_identifier): New function.
7942         * tree.h: Prototype it.
7943
7944         * c-parse.in: Kill D_YES. If compiled for objc, call
7945         save_and_forget_protocol_qualifiers from init_reswords.
7946         * objc/objc-act.c (remember_protocol_qualifiers,
7947         forget_protocol_qualifiers): Don't diddle C_IS_RESERVED_WORD.
7948         Swap out the non-keyword IDENTIFIER_NODEs for keyword ones, or
7949         vice versa.
7950         (save_and_forget_protocol_qualifiers): New function.
7951         * c-lex.h: Prototype save_and_forget_protocol_qualifiers.
7952
7953 2001-03-01  Diego Novillo  <dnovillo@redhat.com>
7954
7955         * c-semantics.c (prune_unused_decls): Return error_mark_node
7956         instead of (tree) 1 to stop traversing the tree chain.
7957
7958 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
7959
7960         Fix a problem introduced by Kenner's Feb 18 change.
7961         * toplev.c (rest_of_compilation): Disable flag_cse_follow_jumps and
7962         flag_cse_skip_blocks only temporarily, not for ever.
7963
7964 Thu Mar  1 09:49:58 2001  Jeffrey A Law  (law@cygnus.com)
7965
7966         * config/pa/som.h  (ASM_IDENTIFY_GCC): Define.
7967         (ASM_IDENTIFY_GCC_AFTER_SOURCE): Likewise.
7968
7969         * pa.c (emit_move_sequence): Verify operand0 is a hard register
7970         before determining its register class.
7971
7972 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
7973
7974         * config/ia64/ia64.c (ia64_hard_regno_rename_ok): Disallow renaming
7975         from reg 4 if current_function_calls_setjmp.
7976         (gen_nop_type): New function.
7977         (ia64_emit_nops): New function.
7978         (ia64_reorg): Call it.
7979         (ia64_sched_reorder): Move code that rotates bundles up a bit.
7980
7981         * reload1.c (eliminate_regs_in_insn): Restrict the special case
7982         code not to try to optimize adds with anything but a REG destination.
7983
7984         * sched-int.h (struct haifa_insn_data): Add new member priority_known.
7985         (INSN_PRIORITY_KNOWN): New accessor macro.
7986         * haifa-sched.c (priority): Use it instead of testing priority against
7987         zero.
7988
7989 2001-02-28  DJ Delorie  <dj@redhat.com>
7990
7991         * config/m68k/m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes,
7992         since that doesn't work the way gcc wants on a generic m68k.
7993
7994 2001-02-28  Richard Henderson  <rth@redhat.com>
7995
7996         * caller-save.c (save_call_clobbered_regs): Fix typo in
7997         comparison last change.
7998
7999 Wed Feb 28 19:31:42 CET 2001  Jan Hubicka  <jh@suse.cz>
8000
8001         * i386.c (pentium4_cost): New.
8002         (m_PENT4): New macro.
8003         (x86_push_memory, x86_movx,x86_cmove, x86_deep_branch, x86_use_sahf
8004         x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8
8005         x86_integer_DFmode_moves, x86_partial_reg_dependency,
8006         x86_memory_mismatch_stall): Add Pentium4
8007         (x86_use_q_reg, x86_use_any_reg): Kill.
8008         (override_options): Add pentium4.
8009         (incdec_operand): Return 0 for pentium4.
8010         (ix86_issue_rate): Add PROCESSOR_PENTIUM4 and PROCESSOR_ATHLON.
8011         * i386.h (x86_use_q_reg, x86_use_any_reg): Kill.
8012         (TARGET_PENTIUM4): Define.
8013         (enum processor_type): Add PROCESSOR_PENTIUM4.
8014         (CPP_CPU_DEFAULT_SPEC): Add pentium4 support.
8015         * i386.md (attribute "cpu"): Add pentium4.
8016         * invoke.texi (march): Add pentium4.
8017
8018 Wed Feb 28 19:28:06 CET 2001  Jan Hubicka  <jh@suse.cz>
8019
8020         * i386.md (sse_mov?fcc*): New patterns and splitters.
8021         * i386.c (ix86_expand_movcc): Work post-reload; recognize
8022         the SSE based conditional moves.
8023
8024 Wed Feb 28 19:18:23 CET 2001  Jan Hubicka  <jh@suse.cz>
8025
8026         * i386.md (attribute mode): Add "TI".
8027         (movsf_1): Add pxor support; remove constant propagation splitter.
8028         (movdf_integer): Likewise.
8029         (movdf_nointeger): Likewise.
8030         (movxf constant prop splitter): Handle all modes; update for SSE.
8031         * i386.h (CONST_DOUBLE_OK_FOR_LETTER): Add 'H' for SSE constants.
8032         * i386.c (standard_80387_constant_p): Rewrite.
8033         (standard_sse_constant_p): New.
8034         * i386-protos.h (standard_sse_constant_p): New.
8035
8036 Wed Feb 28 19:05:37 CET 2001  Jan Hubicka  <jh@suse.cz>
8037
8038         * i386.md (sse_setccsf, sse_setccdf): New.
8039         (sse_cmp* patterns): Use '%D' instead of outputtting condition
8040         flag directly.
8041         * i386.c (sse_comparison_operator): Accept the supported unordered
8042         comparses; be ready for fast_math.
8043         (print_operand): Support 'D'.
8044
8045 Wed Feb 28 18:54:51 CET 2001  Jan Hubicka  <jh@suse.cz>
8046
8047         * jump.c (reversed_comparison_code): Kill.
8048
8049 Wed Feb 28 18:50:15 CET 2001  Jan Hubicka  <jh@suse.cz>
8050
8051         * toplev.c (rest_of_compilation): Do post-reload splitting unconditionally
8052         for STACK_REGS
8053
8054 Wed Feb 28 18:47:37 CET 2001  Jan Hubicka  <jh@suse.cz>
8055
8056         * i386.md (sse_andti3, sse_nandti_3, sse_xorti3): Add SSE2 versions;
8057         add missing '%' in constraints.
8058
8059 Wed Feb 28 17:24:24 CET 2001  Jan Hubicka  <jh@suse.cz>
8060
8061         * c-common.c (build_common_tree_nodes): Build intTI_type_nodes
8062         for HOST_BITS_PER_WIDE_INT == 32 too.
8063
8064 Wed Feb 28 17:22:35 CET 2001  Jan Hubicka  <jh@suse.cz>
8065
8066         * caller-save.c (reg_save_code, reg_restore_code):  Index by mode, not
8067         NREGS.
8068         (insert_save, insert_restore): New parameter save_mode.
8069         (init_caller_save): Update initialization of reg_save_code
8070         and reg_restore_code.
8071         (save_call_clobbered_regs):  Compute save_modes and update calls to
8072         reg_save_code and reg_restore_code.
8073         (insert_restore):  Unsignetize numbers; use save_modes to choose mode
8074         of spill; update use of reg_restore_code.
8075         (insert_save):  Likewise.
8076         * i386.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
8077         * c4x.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
8078         * regs.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
8079
8080 Wed Feb 28 17:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
8081
8082         * ifcvt.c (noce_emit_store_flag, noce_try_store_flag_constants,
8083         noce_try_store_flag_inc, noce_try_store_flag_mask,
8084         noce_try_cmove_arith):
8085         Use reversed_comparison_code instead of reverse_comparison and
8086         can_reverse_comparison_p.
8087
8088 Wed Feb 28 17:17:29 CET 2001  Jan Hubicka  <jh@suse.cz>
8089
8090         * jump.c (reversed_comparison_code_parts): Allow reversal of
8091         unordered compares in -ffast-math mode; reverse ordered compares
8092         for FP even w/o -ffast-math.
8093
8094 2001-02-27  Richard Henderson  <rth@redhat.com>
8095
8096         * print-rtl.c (print_rtx) [i]: Don't print field five on
8097         NOTEs other than NOTE_INSN_DELETED_LABEL.
8098
8099 2001-02-27  Zack Weinberg  <zackw@stanford.edu>
8100
8101         * mips/xm-iris4.h: Delete #if 0 block (there since before 1997).
8102         * pa/xm-linux.h, pa/xm-pa.h, pa/xm-papro.h: Don't declare errno.
8103
8104 2001-02-27  Diego Novillo  <dnovillo@redhat.com>
8105
8106         * c-common.c (walk_stmt_tree): Visit the chain of the current tree
8107         even if walk_subtrees is 0.
8108         * c-semantics.c (prune_unused_decls): Return a non-null value to
8109         stop traversing the tree chain.
8110
8111 2001-02-27  DJ Delorie  <dj@redhat.com>
8112
8113         * config/m68k/m68k.c (output_function_prologue): Save the new CFA
8114         register, *then* define it as the new CFA.
8115
8116 Tue Feb 27 16:49:13 2001  Jeffrey A Law  (law@cygnus.com)
8117
8118         * pa.c (override_options): Promote -fpic to -fPIC.
8119         (legitimize_pic_address): Simplify due to removal of
8120         small PIC as a code generation option.
8121         (secondary_reload_class): Similarly.
8122         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Similarly.
8123         (PRINT_OPERAND_ADDRESS): Similarly.
8124         * pa.md (various patterns): Similarly.
8125         (small pic lo_sum pattern): Remove.
8126
8127 Tue Feb 27 16:01:13 CET 2001  Jan Hubicka  <jh@suse.cz>
8128                               Fergus Henderson
8129
8130         * md.texi (min, max): Document
8131
8132 Tue Feb 27 15:51:35 CET 2001  Jan Hubicka  <jh@suse.cz>
8133
8134         * i386.md (movsf, movdf): Use movaps for reg-reg moves if
8135         TARGET_PARTIAL_REG_DEPENDENCY.
8136         (truncdfsf2_1_sse, truncdfsf2_2): Penalize the fpreg->mem case.
8137
8138 Tue Feb 27 15:36:48 CET 2001  Jan Hubicka  <jh@suse.cz>
8139
8140         * i386.md (mins*, maxs*): New patterns, expanders and splitters.
8141
8142 2001-02-26  Jeffrey Oldham  <oldham@codesourcery.com>
8143
8144         * mips.c (mips_make_temp_file): Fix thinko in last change.
8145
8146 2001-02-26  Jason Eckhardt  <jle@redhat.com>
8147
8148         * combine.c (known_cond): Do not reverse the condition when
8149         SMAX/UMAX is being considered and the condition is for equality
8150         or inequality.
8151
8152         * testsuite/gcc.c-torture/execute/20010221-1.c: New test.
8153
8154 2001-02-26  Philip Blundell  <philb@gnu.org>
8155
8156         * config.gcc: Remove obsolete targets "arm*-*-linuxoldld" and
8157         "armv2-*-linux".
8158         * config/arm/linux-elf.h: Remove historical relics related to
8159         above configurations.
8160         * config/arm/linux-oldld.h: Delete.
8161         * config/arm/linux-elf26.h: Delete.
8162
8163 2001-02-26  Jason Merrill  <jason@redhat.com>
8164
8165         * c-decl.c (finish_decl): Set DECL_DEFER_OUTPUT on tentative file-scope
8166         definitions.
8167         * toplev.c (rest_of_decl_compilation): Check DECL_DEFER_OUTPUT to
8168         recognize a tentative definition.  Lose obsolete code.
8169
8170         * toplev.c (wrapup_global_declarations): Don't emit DECL_COMDAT
8171         variables unless necessary, either.
8172
8173 2001-02-25  Richard Henderson  <rth@redhat.com>
8174
8175         * ifcvt.c (struct noce_if_info): Add test_bb.
8176         (noce_get_alt_condition): New.
8177         (noce_try_minmax, noce_try_abs): New.
8178         (noce_operand_ok): New.
8179         (noce_process_if_block): Use them.
8180         * rtlanal.c (may_trap_p): NEG and ABS can never trap.
8181
8182 Sun Feb 25 14:26:17 2001  Christopher Faylor <cgf@cygnus.com>
8183
8184         * config/i386/cygwin.h (CPP_SPEC): Add missing space before w32api
8185         include.
8186
8187 2001-02-25  Zack Weinberg  <zackw@stanford.edu>
8188
8189         * config.gcc: Put back pa/t-openbsd and rs6000/t-openbsd.
8190         * config/mips/mips.c (mips_make_temp_file): Set temp_filename
8191         properly.
8192         (mips_asm_file_end): Free temp_filename here.
8193
8194 Sun Feb 25 08:34:23 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8195
8196         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): Move decl.
8197         * config/i386/i386.c (ix86_set_move_mem_attrs_1): Fix typo.
8198
8199         * config/i386/i386.md (movstrsi): Handle FAIL case.
8200
8201 2001-02-25  Neil Booth  <neil@daikokuya.demon.co.uk>
8202
8203         * cppinit.c (builtin_array): Update.
8204         (init_builtins): Flag builtins to warn if redefined or
8205         undefined.  Define __GXX_WEAK as a normal macro.
8206         * cpplib.c (do_undef): Warn if flagged NODE_WARN.
8207         * cpplib.h (NODE_WARN): New flag.
8208         * cppmacro.c (builtin_macro): Remove handling of __GXX_WEAK__.
8209         Handle __STDC__ as a builtin only on Solaris.
8210         (warn_of_redefinition): Renamed from check_macro_definition.
8211         Reverse sense of test.  Always warn if NODE_WARN.
8212         (_cpp_create_definition): Use warn_of_redefinition.  Flag
8213         any macro beginning with "__STDC_" to require a mandatory
8214         warning if redefined or undefined.
8215
8216 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
8217
8218         * xm-interix.h, xm-lynx.h, alpha/xm-vms.h, convex/xm-convex.h,
8219         i370/xm-i370.h, i370/xm-linux.h, i370/xm-mvs.h, i370/xm-oe.h,
8220         i386/xm-beos.h, i386/xm-dos.h, i386/xm-mingw32.h,
8221         i860/xm-i860.h, m68k/xm-3b1.h, m68k/xm-amix.h, m68k/xm-aux.h,
8222         m68k/xm-crds.h, m68k/xm-mot3300.h, m88k/xm-sysv3.h,
8223         mips/xm-mips.h, rs6000/xm-beos.h, vax/xm-vms.h:
8224         Don't define any of:
8225         USE_PROTOTYPES, vfork, mktemp, SVR3, NO_SYS_PARAMS_H,
8226         P_tmpdir, MVS, NO_DBX_FORMAT, USE_STDARGS, STDC_HEADERS,
8227         NO_PRECOMPILES, i860, __PTR_TO_INT, __INT_TO_PTR, rindex,
8228         index, FULL_PROTOTYPES, AUX, R_OK, W_OK, X_OK, F_OK,
8229         STACK_DIRECTION, MIPS, MAX_READ_LEN, MAX_WRITE_LEN.
8230
8231         * alpha/xm-alpha.h, clipper/xm-clix.h, d30v/xm-d30v.h,
8232         fr30/xm-fr30.h, i370/xm-linux.h: Remove commented-out macro
8233         definitions.
8234
8235         * m68k/xm-3b1.h, m68k/xm-crds.h, m88k/xm-sysv3.h:
8236         Delete now-empty file.
8237
8238         * alpha/vms.h: Define NEED_ATEXIT here...
8239         * alpha/xm-vms.h: ...not here.
8240
8241         * i386/cygwin.h: Don't define PARAMS.
8242         * mips/mips.c: Don't prototype mktemp.  Don't define
8243         P_tmpdir.  Use make_temp_file to create temporary files.
8244         Don't be clever and delete temporary files early.
8245         * config.gcc: Drop references to deleted files.  Don't define
8246         FULL_PROTOTYPES.
8247         * gcc.texi: Don't mention USE_PROTOTYPES.
8248
8249 Sat Feb 24 20:25:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8250
8251         * config/i386/i386.c (ix86_set_move_mem_attrs): New function.
8252         (ix86_set_move_mem_attrs_1): Likewise.
8253         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): New declaration.
8254         * config/i386/i386.md (movstrsi): Call it.
8255
8256 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
8257
8258         * config.gcc: Expunge references to alpha/t-pe, pa/t-openbsd,
8259         x-linux-aout, i386/t-go32, t-osf, m68k/x-m68kv,
8260         ns32k/xm-netbsd.h, rs6000/t-openbsd, rs6000/t-xnewas,
8261         rs6000/x-aix41-gld.  These are nonexistent, empty, or obsolete.
8262
8263         (i750a-*-*): Error here if hosting on i750a.
8264         (alpha*-*-winnt*, ix86-*-winnt3*): Remove stanzas entirely.
8265
8266         * x-linux-aout, xm-freebsd.h, i386/beos-pe.h, ns32k/xm-netbsd.h:
8267         Remove (empty modulo comments).
8268
8269         * 1750a/xm-1750a.h, alpha/config-nt.sed, alpha/win-nt.h,
8270         alpha/xm-winnt.h, i386/config-nt.sed, i386/os2.h,
8271         i386/t-winnt, i386/win-nt.h, i386/xm-freebsd.h, i386/xm-os2.h,
8272         i386/xm-winnt.h, m68k/x-alloca-c, m88k/x-dguxbcs,
8273         mips/x-netbsd, mips/x-nws3250v4, rs6000/t-xnewas,
8274         rs6000/t-xrs6000, rs6000/xm-cygwin.h: Remove (obsolete)
8275
8276         * i386/crtdll.h, i386/cygwin.h, i386/mingw32.h:
8277         Remove reference to winnt.h in comment.
8278         * rs6000/t-newas, rs6000/t-rs6000: Override LIBGCC1_TEST to null.
8279
8280 2001-02-24  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8281
8282         * loop.c (check_dbra_loop): A biv has uses besides counting if it is
8283         used to set another biv.
8284
8285 Sat Feb 24 06:45:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8286
8287         * tree.h (BLOCK_DEAD): New macro.
8288         (struct tree_block): New flag, dead_flag.
8289         * print-tree.c (print_node, case 'b'): Print missing fields.
8290         * emit-rtl.c (remove_unnecessary_notes): Set BLOCK_DEAD.
8291         * function.c (identify_blocks): Enable test for misplaced notes.
8292         (all_blocks): Skip BLOCK_DEAD blocks.
8293         * integrate.c (integrate_decl_tree): Likewise.
8294
8295         * errors.c (internal_error, trim_filename): New functions.
8296         (fancy_abort): Call internal_error.
8297         * errors.h (internal_error, trim_filename): New declarations.
8298
8299 2001-02-24  Alexandre Oliva  <aoliva@redhat.com>
8300
8301         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Reverted
8302         2000-08-26's patch.
8303         (EXTRA_CONSTRAINT): Formatting changes.
8304
8305 2001-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8306
8307         * rtl.c (rtl_check_failed_code2): Fix typo in last change.
8308
8309 2001-02-23  Per Bothner  <per@bothner.com>
8310
8311         * gcc.c (record_temp_file, pfatal_with_name, error):  Make non-static,
8312         so they can be called from java/jvspec.c.
8313         * gcc.h (record_temp_file, pfatal_with_name, error):  Declare.
8314
8315 Sat Feb 24 03:32:50 CET 2001  Jan Hubicka  <jh@suse.cz>
8316
8317         * i386.c (ix86_frame): New structure.
8318         (ix86_compute_frame_size): Kill.
8319         (ix86_compute_frame_layout): New.
8320         (ix86_save_reg): New.
8321         (ix86_can_use_return_insn_p): Use frame layout stuff.
8322         (ix86_expand_prologue): Likewise.
8323         (ix86_expand_epilogue): Likewise.
8324         (ix86_initial_elimination_offset): Likewise.
8325         (ix86_nsaved_regs): Use ix86_save_reg.
8326         (ix86_emit_save_regs): Likewise.
8327
8328 Sat Feb 24 03:30:38 CET 2001  Jan Hubicka  <jh@suse.cz>
8329
8330         * flow.c (find_sub_basic_blocks): New function.
8331         (split_block): Be ready for basic block introduced by CODE_LABEL.
8332         (commit_one_edge_insertion): Call find_sub_basic_block.
8333
8334         * flow.c (make_edges): Add edge from entry for blocks starting with
8335         label having ALTERNATE_NAME
8336
8337 Sat Feb 24 03:19:42 CET 2001  Jan Hubicka  <jh@suse.cz>
8338
8339         * function.c (epilogue_done): Be ready for first basic block not
8340         containing PROLOGUE_END note.
8341         (reposition_prologue_and_epilogue_notes): Avoid placing
8342         PROLOGUE_END note between BASIC_BLOCK.
8343
8344 Sat Feb 24 03:17:09 CET 2001  Jan Hubicka  <jh@suse.cz>
8345
8346         * loop.c (canonicalize_condition): Move to reversed_comparison_code.
8347
8348 2001-02-21  DJ Delorie  <dj@redhat.com>
8349
8350         * config/i960/i960.h (FRAME_POINTER_REQUIRED): Revert removal of
8351         check for current_function_has_nonlocal_goto from 1999-11-12.
8352
8353 Fri Feb 23 15:28:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8354
8355         * diagnostic.c (trim_filename): No longer static.
8356         * toplev.h (trim_filename): Declare.
8357         * rtl.c (rtl_check_failed_bounds): Call internal_error.
8358         (rtl_check_failed_type1, rtl_check_failed_type2): Likewise.
8359         (rtl_check_failed_code1, rtl_check_failed_code2): Likewise.
8360         (rtvec_check_failed_bounds): Likewise.
8361         * tree.c (tree_check_failed, tree_class_check_failed): Likewise.
8362
8363         * convert.c (convert_to_integer): Don't do unsigned unless result or
8364         both inputs are unsigned.
8365
8366         * fold-const.c (fold_convert): Don't call size_int_type_wide if
8367         input overflows.
8368
8369         * c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
8370
8371         * varasm.c (output_constant): Recompute CODE after lang-specific fn.
8372
8373 2001-02-23  Jeffrey Oldham  <oldham@codesourcery.com>
8374
8375         * Makefile.in (resource.o): Add params.h dependence.
8376         * params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter.
8377         * params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise.
8378         * resource.c: Add dependence on params.h.
8379         (current_live_regs): Fix explanatory comment.
8380         (find_basic_block): Add new parameter to permit limiting search
8381         for a BARRIER.
8382         (mark_target_live_regs): Add new argument to find_basic_block call.
8383         (incr_ticks_for_insn): Likewise.
8384
8385 2001-02-23  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
8386
8387         * diagnostic.c (output_to_stream): Rename to
8388         output_buffer_to_stream. Loses the stream parameter.
8389         (init_output_buffer): Set diagnosic_buffer's stream.
8390         (flush_diagnostic_buffer): Adjust.
8391         (default_print_error_function): Likewise.
8392         (finish_diagnostic): Likewise.
8393         (verbatim): Likewise.
8394
8395         * diagnostic.h (struct output_buffer): Add `stream' field.
8396         (output_buffer_attached_stream): New macro.
8397
8398 2001-02-23  Jakub Jelinek  <jakub@redhat.com>
8399
8400         * fold-const.c (extract_muldiv) [case PLUS_EXPR]: If not MULT_EXPR,
8401         check if either operand is divisible by C.
8402         (multiple_of_p): Handle LSHIFT_EXPR with small constant shift.
8403         If type is signed, consider negative numbers as well.
8404
8405 2001-02-22  Richard Henderson  <rth@redhat.com>
8406
8407         * config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to
8408         reach .text instead of gp-relative relocs.
8409         * config/ia64/crtend.asm (.init): Likewise.
8410
8411 2001-02-22  Andreas Jaeger  <aj@suse.de>
8412
8413         * extend.texi (C++ Attributes): Fix typo.
8414
8415 2001-02-21  David Mosberger  <davidm@hpl.hp.com>
8416
8417         * config/ia64/ia64.c (ia64_epilogue_uses): For syscall_linkage
8418         functions, drop current_function_args_info.words test.
8419         (ia64_compute_frame_size): Mark syscall_linkage functions as
8420         using eight input registers.
8421
8422 2001-02-21  Loren J. Rittle  <ljrittle@acm.org>
8423         Bruce Korb  <bkorb@gnu.org>
8424
8425         * fixinc/inclhack.def (freebsd_gcc3_breakage): new fix
8426         * fixinc/README: Document how to convert sed substitutions
8427         to format style c_fix-es.
8428         * fixinc/fixincl.x: regen
8429
8430 2001-02-21  Jeffrey D. Oldham  <oldham@codesourcery.com>
8431
8432         * gcc.c: Add comment explaining how to add a command-line option.
8433         Add title to specs language comment.
8434
8435 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
8436
8437         * gcc.c (cc1_options): Add "-param".
8438         (DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
8439         (option_map): Likewise.
8440         * toplev.c (display_help): Add entry for "--param".
8441         (independent_decode_option): Fix typographical error.
8442
8443 Wed Feb 21 18:57:28 CET 2001  Catherine Moore  <clm@redhat.com>
8444                               Bernd Schmidt  <bernds@redhat.com>
8445                               Jan Hubicka  <jh@suse.cz>
8446
8447         * i386.c (function_arg_advance):  Pass SSE arguments in registers.
8448         (function_arg): Likewise.
8449
8450 Wed Feb 21 18:12:41 CET 2001  Jan Hubicka  <jh@suse.cz>
8451
8452         * i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.
8453
8454 2001-02-21  Kazu Hirata  <kazu@hxi.com>
8455
8456         * config/h8300/h8300.md (iorsi3): Do not output an extra newline
8457         character.
8458         (xorsi3): Likewise.
8459
8460 Wed Feb 21 17:35:24 CET 2001  Jan Hubicka  <jh@suse.cz>
8461
8462         * flow.c (init_propagate_block_info): Canon address and use single_set
8463         for killing dead memory stores.
8464
8465 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
8466
8467         * Makefile.in (reorg.o): Add params.h dependence.
8468         * params.def: Fix typographical error in comment.
8469         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
8470         * params.h: Modify introductory comment.
8471         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
8472         * reorg.c: Add dependence on params.h.
8473         (redundant_insn): Add parameterized throttle for search.
8474         (fill_simple_delay_slots): Add a comment explaining a variable.
8475         Move conditional out of loop, simplifying code.
8476         (fill_eager_delay_slots): Fix typographical error in comment.
8477
8478 2001-02-20  Aldy Hernandez  <aldyh@redhat.com>
8479
8480         * tm.texi (REVERSE_CONDEXEC_PREDICATES_P): New macro documentation.
8481
8482         * flow.c (ior_reg_cond): Use REVERSE_CONDEXEC_PREDICATES_P macro.
8483         (REVERSE_CONDEXEC_PREDICATES_P): Define macro.
8484
8485 2001-02-21  Jason Merrill  <jason@redhat.com>
8486
8487         * tree.h (DECL_UNINLINABLE): Move from C++ frontend.
8488         (struct tree_decl): Add uninlinable bitfield.
8489         * c-decl.c (duplicate_decls): Set it.
8490         * integrate.c (function_cannot_inline_p): Check it.
8491
8492         * dwarf2out.c (add_name_and_src_coords_attributes): Don't add
8493         DW_AT_MIPS_linkage_name to abstract methods.
8494         (dwarf2out_abstract_function): Emit class context before calling
8495         set_decl_abstract_flags.  Don't clear DECL_ABSTRACT.
8496         (gen_subprogram_die): Remove obsolete code.
8497         (gen_member_die): Don't include clones in the member list.
8498         (gen_decl_die): Emit abstract info for clone origin.
8499         * dwarfout.c (output_type): Don't include clones in the member list.
8500         * dbxout.c (dbxout_type_methods): Ignore abstract methods.
8501         * toplev.c (note_deferral_of_defined_inline_function): Don't clear
8502         DECL_ABSTRACT on a function that already has it set.
8503
8504         * dwarf2out.c (gen_formal_types_die): Also accept a FUNCTION_DECL.
8505         (get_subprogram_die): Pass it in.
8506
8507 2001-02-21  Richard Earnshaw  <rearnsha@arm.com>
8508
8509         * flow.c (mark_set_1): Make not_dead unsigned long.  For
8510         non-pseudos, use it as a bitmask of the hard regs that
8511         don't die.
8512
8513 2001-02-21  Neil Booth  <neil@daikokuya.demon.co.uk>
8514
8515         * cppfiles.c: Update comments.
8516         (_cpp_read_file): Don't check for NULL filenames any more.
8517         * cppinit.c (cpp_start_read): Don't do canonicalization of
8518         in_fname and out_fname.  Use the passed file name exclusively.
8519         (_cpp_handle_options): Don't treat "-" as a command line option,
8520         but as a normal filename.
8521         (_cpp_post_options): Canonicalize in_fname and out_fname.
8522         * cppmain.c (printer_init): Don't check out_fname for NULL.
8523         * c-lex.c (orig_filename): Rename cpp_filename for clarity.
8524         (init_c_lex): Update, and use "" to represent stdin to CPP.
8525         (yyparse): Update.
8526
8527 2001-02-20  Will Cohen  <wcohen@redhat.com>
8528
8529         * config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
8530         * config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
8531         (INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
8532         fixunstfsi_libfunc.
8533
8534 2001-02-20  Stan Shebs  <shebs@apple.com>
8535
8536         * config/rs6000/rs6000.c (output_cbranch): Output branches
8537         on separate lines instead of using ';' to separate.
8538
8539 2001-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
8540
8541         * cppinit.c (set_lang):  Move builtin handling to...
8542         (init_builtins): ...here.
8543         (_cpp_create_reader): Move call to set_lang.
8544
8545 2001-02-20  Mark Mitchell  <mark@codesourcery.com>
8546
8547         * stmt.c (expand_return): If an attempt is made to return the
8548         error_mar_node, treat the return like a return without a value.
8549
8550 2001-02-19  Zack Weinberg  <zackw@stanford.edu>
8551
8552         * sibcall.c (skip_copy_to_return_value): Call
8553         identify_call_return_value here, and return orig_insn if it
8554         returns zero.  Hardret and softret arguments now unnecessary.
8555         (call_ends_block_p): Don't call identify_call_return_value here.
8556
8557         * ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or
8558         's' slots in RTXen.
8559         * ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete function.
8560         * ggc.h (ggc_mark_if_gcable): Delete prototype.
8561
8562 Mon Feb 19 20:30:16 2001  Jeffrey A Law  (law@cygnus.com)
8563
8564         * pa.c (move_operand): Accept code to load the address of a
8565         symbol out of the DLT as a valid move operand.
8566         (print_operand, case 'A'): New to handle generating a DLT
8567         reference for a LO_SUM expression.
8568         * pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references.
8569         * pa.md (movsi, movdi patterns): Allow DLT LO_SUM references.
8570
8571 2001-02-19  Joseph S. Myers  <jsm28@cam.ac.uk>
8572
8573         * README, cpp.texi, gcc.texi, version.c: Update version number to
8574         3.1.
8575         * cpp.1, gcov.1, gcc.1: Regenerate.
8576
8577 2001-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
8578
8579         * cppfiles.c (stack_include_file): Generate dependencies
8580         here, and manage include_count here too.
8581         (PRINT_THIS_DEP): Delete.
8582         (_cpp_execute_include): Do not generate dependencies here,
8583         apart from the case of a missing header.  Do not manage
8584         include_count.
8585         (_cpp_read_file): Leave dependency generation to
8586         stack_include_file.
8587
8588 Mon Feb 19 10:17:47 2001  Jeffrey A Law  (law@cygnus.com)
8589
8590         * config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to
8591         target_cpu_default.  Remove dead assignment to
8592         target_cpu_default.
8593
8594 Mon Feb 19 16:47:39 CET 2001  Jan Hubicka  <jh@suse.cz>
8595
8596         * regclass.c (contains_reg_of_mode): Make global.
8597         (init_reg_sets): Remove contains_reg_of_mode; take into account
8598         CLASS_MAX_NREGS when looking for the proper mode.
8599         (dump_regclass): Dump only classes considered for the pseudo.
8600         (regclass): Use contains_reg_of_mode.
8601
8602 Mon Feb 19 16:45:42 CET 2001  Jan Hubicka  <jh@suse.cz>
8603
8604         * gcc.c (do_spec_1): 'n' for printing notices.
8605         * i386.h (CC1_CPU_SPEC): Notice deprecated options as deprecated.
8606
8607 Mon Feb 19 15:51:30 CET 2001  Jan Hubicka  <jh@suse.cz>
8608
8609         * reg-stack.c (next_flags_user): Use current_block->end
8610         (swap_rtx_condition): Look for next user if flags don't die;
8611         give up on CALL_INSNs; use current_block->end.
8612
8613 Mon Feb 19 08:27:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8614
8615         * sibcall.c (call_ends_block_p): New function.
8616         (optimize_sibling_and_tail_recursive_call): Use it.
8617
8618 2001-02-18  Kazu Hirata  <kazu@hxi.com>
8619
8620         * config/h8300/h8300.md: Update copyright.
8621         (andsi3): Do not output an extra newline character.
8622
8623 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8624
8625         * toplev.c (note_deferral_of_defined_inlined_function): Argument
8626         FNDECL may be unused.
8627
8628         * toplev.c (rest_of_compilation): Don't have CSE skip blocks or
8629         follow jumps after first run.
8630         If -fexpensive-optimizations rerun CSE after GCSE and iterate until
8631         it doesn't change any jumps.
8632
8633 Sun Feb 18 17:05:50 2001  Jeffrey A Law  (law@cygnus.com)
8634
8635         * Makefile.in (rtlanal.o): Depend on hard-reg-set.h.
8636         ($HOST_PREFIX_1)rtlanal.o: Remove rules for building
8637         (mostlyclean): Corresponding changes.
8638         * rtlanal.c (hard-reg-set.h): Include.
8639         (rtx_unstable_p): Do not treat the argument pointer specially
8640         if it is not a fixed register.
8641         (rtx_varies_p, rtx_addr_can_trap_p): Similarly.
8642
8643 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8644
8645         * sibcall.c (optimize_sibling_and_tail_recursive_call): Compare
8646         against last real insn in basic block.
8647         Rework to avoid gotos.
8648
8649         * Makefile.in (gcse.o): Now includes ggc.h.
8650         * gcse.c: Include ggc.h.
8651         (want_to_gcse_p): Verify expression can be in SET as valid insn.
8652         (try_replace_reg): Remove warning of uninitialize variable.
8653         (process_insert_insn): Call invalid_insn_p to validate insn.
8654         * recog.c (insn_invalid_p): Now global.
8655         See if can make valid by adding CLOBBERs of SCRATCH only and do if so.
8656         * recog.h (insn_invalid_p): New declaration.
8657
8658         * jump.c (jump_optimize_1): Only define reversed_code #ifdef HAVE_trap.
8659
8660         * config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put
8661         assignments from FP constants since 'Y' output code can't handle it.
8662         (eligible_for_sibcall_delay): Likewise.
8663
8664         * flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.
8665         Call fancy_abort directly, passing args.
8666         (print_rtl_and_abort): Now a macro, like fancy_abort.
8667
8668         * final.c (output_operand_lossage): Use internal_error, not error.
8669
8670 2001-02-18  Shane Nay  <shane@agendacomputing.com>
8671
8672         * mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to
8673         structure shift insns.
8674
8675 2001-02-18  Mark Mitchell  <mark@codesourcery.com>
8676
8677         * invoke.texi (-fsquangle): Remove documentation.
8678         (-fname-mangling-version): Likewise.
8679
8680 2001-02-18  Lars Brinkhoff  <lars@nocrew.org>
8681
8682         * optabs.c (expand_abs): Remove reference to
8683         HAVE_contitional_arithmetic.
8684         * combine.c (simplify_set): Likewise.
8685
8686 2001-02-18  Richard Henderson  <rth@redhat.com>
8687
8688         * ifcvt.c (dead_or_predicable): Don't move code if eh regions
8689         would be disrupted.
8690
8691 2001-02-18  Richard Henderson  <rth@redhat.com>
8692
8693         * config/ns32k/ns32k.h (ADJSP): Upcase arguments.
8694
8695         * config/alpha/alpha.md (movsi_fix): Fix typo in pattern name.
8696
8697         * reload1.c (reload_cse_simplify_set): Fix typo.
8698
8699 Sun Feb 18 09:30:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8700
8701         * diagnostic.c (_fatal_insn): Decrement errorcount.
8702
8703         * invoke.texi (-I): Add note avoiding use for system header files.
8704
8705         * rtl.h (add_clobbers): Remove duplicate declaration.
8706         * recog.h (added_clobbers_hard_reg_p): New declaration.
8707         * genemit.c (struct clobber_pat): New field has_hard_reg.
8708         (gen_insn): Record if added clobbers clobber hard reg.
8709         (gen_split): Avoid unused warning if number of operands is 0.
8710         (output_added_clobbers_hard_reg_p): New function.
8711         (main): Call it.
8712
8713 2001-02-18  Alan Modra <alan@linuxcare.com.au>
8714
8715         * pa.c (hppa_expand_prologue): Simplify code storing return
8716         pointer.  For large (>=8k) frames with a post_store, adjust stack
8717         pointer by 8k-64 first rather than by 64.  When testing with
8718         VAL_14_BITS_P, always use the actual value rather than the value
8719         negated.  Add blockage to prevent scheduling of spills before
8720         stack frame has been created.
8721         (hppa_expand_epilogue): Simplify code loading return pointer.
8722         Allow a slightly larger range for merge_sp_adjust_with_load case.
8723         When testing with VAL_14_BITS_P, always use the actual value.
8724
8725         * pa.c (pa_adjust_insn_length): Check that block move
8726         pattern is a set before looking at operands.
8727
8728 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
8729
8730         * fold-const.c (fold_binary_op_with_conditional_arg): New
8731         function, split out from ...
8732         (fold): ... here.
8733         * tree.def (COND_EXPR): Document the use of VOID_TYPE for
8734         conditional arms that throw exceptions.
8735
8736         * print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not
8737         looking at a BLOCK.
8738
8739 2001-02-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8740
8741         * aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test,
8742         define HAVE_DECL_* to 1 to mask potential backup declarations.
8743         * configure: Regenerated.
8744
8745 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
8746
8747         * invoke.texi (-Woverloaded-virtual): Clarify documentation.
8748
8749 2001-02-17  Richard Henderson  <rth@redhat.com>
8750
8751         * reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP
8752         when replacing a memory load with a register.
8753
8754 Sat Feb 17 14:48:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8755                           Jan Hubicka  <jh@suse.cz>
8756
8757         * recog.c (validate_replace_src_1): New.
8758         (validate_replace_src_data): Likewise.
8759         (validate_replace_src): Use note_uses.
8760         * rtl.h (note_uses): Declare.
8761         * rtlanal.c (note_uses): New.
8762
8763 Sat Feb 17 10:52:34 CET 2001  Jan Hubicka  <jh@suse.cz>
8764
8765         * reg-stack.c (stack_def): Make field reg unsigned.
8766         (remove_regno_note): Unsignetize parameter.
8767
8768 2001-02-16  Jes Sorensen  <jes@linuxcare.com>
8769
8770         * ia64.c (errata_emit_nops): Add VOIDmode as second argument to
8771         shladd_operand() call.
8772
8773 2001-02-16  Bruce Korb  <bkorb@gnu.org>
8774             Rodney Brown  <RodneyBrown@mynd.com>
8775
8776         * fixinc/mkfixinc.sh: Use C fixincludes for UnixWare 7.
8777         * fixinc/inclhack.def: Add fixinc.svr4 patterns with matching
8778         machine restrictions
8779         * fixinc/fixincl.x: regen
8780
8781 Fri Feb 16 12:41:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8782
8783         * gcse.c (hash_scan_set): If cprop, see if REG_EQUAL or REG_EQUIV.
8784         Don't CSE a nop.
8785         (hash_scan_insn): Clean up calls to hash_scan_set.
8786         (compute_kill_rd): REGNO now unsigned.
8787         (try_replace_reg): Rework to use simplify_replace_rtx.
8788         (cprop_jump, cprop_cc0_jump): Likewise.
8789         (cprop_insn): Call find_reg_equal_equiv_note.
8790         Reflect changes to cprop_jump and cprop_cc0_jump.
8791
8792         * recog.c (validate_replace_src): Replace in operands of
8793         ZERO_EXTRACT in SET_DEST.
8794
8795         * cse.c (new_label_ref): New variable.
8796         (insert): Set it instead of recorded_label_ref.
8797         (cse_basic_block): Set recorded_label_ref if new_label_ref use, has
8798         CODE_LABEL for this function, and not already in REG_LABEL note.
8799
8800 2001-02-16  Jeffrey Oldham  <oldham@codesourcery.com>
8801
8802         * resource.c (mark_referenced_resources): Fix typo in introductory
8803         comment.
8804         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Fix typo in
8805         string constant.
8806
8807 2001-02-16  Jason Merrill  <jason@redhat.com>
8808
8809         * dwarf2out.c (add_bound_info): Don't crash if SAVE_EXPR_RTL is
8810         NULL.
8811         (gen_subprogram_die): Don't abort on seeing a second definition if
8812         the previous one was abstract.  Don't replace an abstract instance
8813         in the lookup table.
8814
8815         * dwarf2out.c (dwarf2out_abstract_function): Rename from
8816         gen_abstract_function.
8817         * dwarf2out.h: Declare it.
8818         * toplev.c (note_outlining_of_inline_function): New fn.
8819         * toplev.h: Declare it.
8820         * integrate.c (output_inline_function): Call it.
8821         * c-decl.c (duplicate_decls): Call it when redefining an extern
8822         inline.  Don't inline the new defn.
8823
8824         * tree.h (BLOCK_CHAIN): Use BLOCK_CHECK.
8825
8826 2001-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8827
8828         * .gdbinit: Rename to gdbinit.in.
8829         * gdbinit.in: New file,
8830         * configure.in: Generate .gdbinit from gdbinit.in.
8831         * configure: Regenerated.
8832         * Makefile.in (distclean): Always remove .gdbinit.
8833
8834 2001-02-16  Jakub Jelinek  <jakub@redhat.com>
8835
8836         * objc/objc-act.c (start_class): Register implemented_classes with
8837         GC.
8838
8839 2001-02-16  Neil Booth  <neil@daikokuya.demon.co.uk>
8840
8841         * cppfiles.c (_cpp_make_system_header): Generate a file
8842         change callback.
8843
8844 2001-02-15  Jim Meyering  <meyering@lucent.com>
8845
8846         * Makefile.in (install-common): Don't depend on installdirs here.
8847         Instead, make each of the lang.install-common targets (e.g.,
8848         c++.install-common in cp/Make-lang.in) depend on it.
8849         (install-driver): Depend on installdirs.
8850
8851 Thu Feb 15 21:30:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8852
8853         * flow.c (tidy_fallthru_edge): Never end block on line number NOTE.
8854
8855         * function.c (assign_parms): Set RTX_UNCHANGING_P in pseudo when we
8856         do in memory.
8857
8858 2001-02-15  Mark Mitchell  <mark@codesourcery.com>
8859
8860         * invoke.texi (--param): Document.
8861
8862 Thu Feb 15 15:16:38 2001  Alexandre Oliva  <aoliva@redhat.com>
8863
8864         * config/sh/sh.h (BOOL_TYPE_SIZE): Don't define.
8865
8866 Thu Feb 15 10:52:31 CET 2001  Jan Hubicka  <jh@suse.cz>
8867
8868         * i386.md (extendsfdf2_2): Fix constraints.
8869
8870 Thu Feb 15 09:46:21 CET 2001  Jan Hubicka  <jh@suse.cz>
8871
8872         * i386.md (fop_df_3 splitter): Fix operand number.
8873
8874 Wed Feb 14 12:37:37 CET 2001  Jan Hubicka  <jh@suse.cz>
8875
8876         * invoke.texi (-mreg-alloc): Nuke.
8877         * i386.c (ix86_reg_alloc_order, regs_allocated,
8878         order_regs_for_local_alloc): Nuke.
8879         (override_options): Kill reg_alloc code.
8880         * i386.h (TARGET_OPTIONS): Kill reg-alloc.
8881         (REG_ALLOC_ORDER): SSE goes before I387.
8882         (ORDER_REGS_FOR_LOCAL_ALLOC): Kill.
8883         (ix86_reg_alloc_order): Likewise.
8884         * i386-protos.h (ix86_reg_alloc_order): Kill.
8885
8886 2001-02-14  Richard Henderson  <rth@redhat.com>
8887
8888         * toplev.c (f_options): Clarify -fschedule-insns2 documentation.
8889
8890 Wed Feb 14 11:59:58 CET 2001  Jan Hubicka  <jh@suse.cz>
8891
8892         * i386.h (RETURN_IN_MEMORY): Fix formating; reject TFmodes
8893
8894 Wed Feb 14 11:12:38 CET 2001  Jan Hubicka  <jh@suse.cz>
8895
8896         * i386-protos.h (ix86_memory_move_cost): Move offline.
8897         * i386.c (ix86_register_move_cost): Compute properly cost of
8898         SSE, MMX and i387 instructions.
8899         (*_cost): Add costs of SSE/MMX moves.
8900         (ix86_memory_move_cost): Move offline from ....; Likewise.
8901         * i386.h (MEMORY_MOVE_COST): .... here;
8902         (struct processor costs): Add new fields to represent costs
8903         of SSE/MMX moves.
8904
8905 Wed Feb 14 10:08:26 CET 2001  Jan Hubicka  <jh@suse.cz>
8906
8907         * regclass.c (init_reg_sets_1): Reinstall the optimization of
8908         move_cost together with Matt Kraai's fix.
8909
8910 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
8911
8912         * Makefile.in (OBJS): Add params.o.
8913
8914 2001-02-14  Richard Henderson  <rth@redhat.com>
8915             DJ Delorie  <dj@redhat.com>
8916
8917         * jump.c (jump_optimize_1): When we delete a conditional jump
8918         preceeding a non-conditional jump to effectively the same place,
8919         make sure that the combined jump skips any clobber insns between
8920         the two labels.
8921
8922 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
8923
8924         * gcc.c (do_spec_1): Fix off-by-one error for '%M' case.
8925
8926 2001-02-14  Mark Mitchell  <mark@codesourcery.com>
8927
8928         * Makefile.in (toplev.o): Depend on params.h.
8929         (intergate.o): Likewise.
8930         (params.o): New target.
8931         * flags.h (inline_max_insns): Remove.
8932         * integrate.c: Include params.h.
8933         Use MAX_INLINE_INSNS instead of inline_max_insns.
8934         * params.c: New file.
8935         * params.h: Likewise.
8936         * params.def: Likewise.
8937         * toplev.c: Include params.h.
8938         (lang_independent_params): New variable.
8939         (decode_f_option): Use the param machinery instead of setting
8940         max_inline_insns.
8941         (independent_decode_option): Handle "--param name=value".
8942         (main): Register language-independent parameters.
8943
8944 Wed Feb 14 11:13:45 CET 2001  Jan Hubicka  <jh@suse.cz>
8945
8946         * i386.md (pushsf, pushdf_nointeger): Fix constraint.
8947
8948 2001-02-14  Richard Henderson  <rth@redhat.com>
8949
8950         * regclass.c (init_reg_sets_1): Revert last two changes.
8951
8952 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
8953
8954         * stor-layout.c (is_pending_size, put_pending_size): New functions.
8955         (variable_size): Call put_pending_size.
8956         * tree.h (is_pending_size, put_pending_size): Add prototypes.
8957         * fold-const.c (extract_muldiv): If SAVE_EXPR is on the pending
8958         sizes list, put newly created SAVE_EXPR there as well.
8959
8960 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
8961
8962         * config/ia64/ia64.c (last_group): Only 2 entries are needed.
8963         (errata_find_address_regs): load_group has only 2 entries.
8964         (errata_emit_nops): Likewise.  shladd is not problematic.
8965         Clear last_group if nop was emitted.
8966         (fixup_errata): load_group has only 2 entries.
8967         Optimize.
8968
8969 2001-02-14  Neil Booth  <neil@daikokuya.demon.co.uk>
8970
8971         * c-lex.c (lex_number): Only warn traditionally for U suffix
8972         outside system macros.
8973         * cppexp.c (parse_number): Similarly.
8974         * cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
8975         * cppmacro.c (struct cpp_macro): New member node.
8976         (parse_args): Only warn about missing rest args if not
8977         a system macro.
8978         (funlike_invocation_p): Similarly for uninvoked funlike macros.
8979         (cpp_sys_objmacro_p): New.
8980         (_cpp_create_definition): Store the node with the macro defn.
8981         Remember if the macro is defined in a system header.
8982
8983 2001-02-13  DJ Delorie  <dj@redhat.com>
8984
8985         * configure.in (check_languages): determine languages to check
8986         * Makefile.in (check-c++): alias for check-g++
8987         (check-f77): alias for check-g77
8988         (CHECK_TARGETS): depend on configured languages
8989
8990 Wed Feb 14 01:13:59 CET 2001  Jan Hubicka  <jh@suse.cz>
8991
8992         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
8993         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
8994         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
8995         (sqrtextendsfdf2): Disable for SSE2.
8996
8997 Wed Feb 14 00:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
8998
8999         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
9000         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
9001         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
9002         (sqrtextendsfdf2): Disable for SSE2.
9003
9004 Wed Feb 14 00:11:20 CET 2001  Jan Hubicka  <jh@suse.cz>
9005
9006         * i386.md (movsfcc_1): Support integer cmove instruction.
9007         (movdfcc_1): Likewise; new splitter.
9008
9009 Tue Feb 13 23:19:27 CET 2001  Jan Hubicka  <jh@suse.cz>
9010
9011         * i386.c (output_fp_compare): Support SSE.
9012         (prepare_fp_compare_args): SSE comparisons always support memory.
9013         * i386.h (TARGET_CMOVE): SSE imply cmove.
9014         * i386.md (cmp?f2): Enable for SSE too.
9015         (cmpfp_i*): Support SSE.
9016         (cmpfp_i_sse): New.
9017         (cmpfp_i_sse_only): New.
9018         (s*, b* fp expanters): Enable for SSE too.
9019         (fp_jcc_1_sse, fp_jcc_1_sse_only, fp_jcc_2_sse, fp_jcc_2_sse_only):
9020         New patterns.
9021
9022 Tue Feb 13 23:05:42 CET 2001  Jan Hubicka  <jh@suse.cz>
9023
9024         * regclass.c (init_reg_sets_1): Silence warning.
9025
9026 Tue Feb 13 22:03:07 CET 2001  Jan Hubicka  <jh@suse.cz>
9027
9028         * i386.md (sqrt?f2): Change to expander.
9029         (sqrt?f2_1, sqrt?f2_sse_only, sqrt?f2_i387): New.
9030
9031 Tue Feb 13 15:42:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9032
9033         * rtlanal.c (find_reg_equal_equiv_note): New function.
9034         * simplify-rtx.c (simplify_gen_unary, simplify_gen_ternary): New fns.
9035         (simplify_gen_relational, simplify_replace_rtx): Likewise.
9036         * rtl.h: Add declarations for above functions.
9037
9038 Tue Feb 13 21:09:11 CET 2001  Jan Hubicka  <jh@suse.cz>
9039
9040         * cse.c (cse_main): Converts ifdefs on PIC_OFFSET_TABLE_REGNUM to
9041         conditionals.
9042         * defaults.h (PIC_OFFSET_TABLE_REGNUM): Default to INVALID_REGNUM.
9043         * emit-rtl.c (init_emit_once): Convert ifdefs to conditionals.
9044         * flow.c (mark_regs_live_at_end): Likewise.
9045         (calculate_global_regs_live): Likewise.
9046         * gcse.c (compute_hash_table): Likewise.
9047         (compute_kill_rd): Likewise.
9048         * resource.c (mark_target_live_regs): Likewise.
9049         * rtl.h (INVALID_REGNUM): New macro.
9050
9051 Tue Feb 13 20:59:22 CET 2001  Jan Hubicka  <jh@suse.cz>
9052
9053         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch.
9054
9055 Tue Feb 13 16:32:20 CET 2001  Jan Hubicka  <jh@suse.cz>
9056
9057         * i386.md (fixsfsi2, fixdfdi2): Force operand to register
9058         for SSE.
9059
9060 Tue Feb 13 14:53:16 CET 2001  Jan Hubicka  <jh@suse.cz>
9061
9062         * i386.md (add?f3, sub?f3, mul?f3, dif?f3): Enable for TARGET_SSE(2)
9063         too.
9064         (fop_sf_comm, fop_df_comm, fop_sf_1, fop_df_1): Support SSE.
9065         (fop_sf_comm_sse, fop_df_comm_sse): New patterns.
9066         (fop_sf_1_sse, fop_df_1_sse): New patterns
9067         (fop_*): Disable float_extend and float patterns for SSE compilation.
9068         * i386.c (output_387_binary_op): Support SSE.
9069
9070 Tue Feb 13 14:16:34 CET 2001  Jan Hubicka  <jh@suse.cz>
9071
9072         * i386.md (dummy_extendsfdf2): Support SSE2
9073         (extendsfdf2): Enable if 80387 or SSE2.
9074         (extendsfdf2_1): Support SSE2. Disable if SSE2 is avialble
9075         and no MIX_I387_SSE2
9076         (extendsfdf2_1_sse_only): New pattern.
9077         (truncdfsf2): Enable if SSE2 or 80387; Always use SSE only version
9078         of SSE.
9079         (truncdfsf2_1): Support SSE.
9080         (truncdfsf2_2): Support SSE.
9081         (truncdfsf2_2_1_sse): New pattern.
9082         (fixtruncsfsi2): Always use SSE if available.
9083         (fix_truncsfsi_sse): New pattern.
9084         (fix_truncdfsi_sse): New pattern.
9085         (floatsis?f2): Support SSE.
9086         (floatsidf2_i387): New pattern.
9087         (floatsidf2_sse): Likewise.
9088
9089 Tue Feb 13 07:52:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9090
9091         * configure.in: Use "have_gnat" variable, not "gnat".
9092         * configure: Regenerated.
9093
9094         * config/sparc/sparc.c (function_value): Treat all non-record
9095         aggregate types like used to treat UNION_TYPE.
9096
9097 Tue Feb 13 13:31:33 CET 2001  Jan Hubicka  <jh@suse.cz>
9098
9099         * i386.c (print_reg): Use ANY_FP_REG instead of FP_REG
9100         * i386.h (MASK_128BIT_LONG_DOUBLE): Renumber
9101         (MASK_SSE2): New.
9102         (MASK_MIX_SSE_I387): New.
9103         (TARGET_SSE): SSE2 imply SSE.
9104         (TARGET_SSE2, TARGET_MIX_SSE_I387): New.
9105         (TARGET_SWITCHES): Add "sse2", "mix-sse-i387".
9106         (enum reg_class): Add new classes.
9107         (REG_CLASS_NAMES): Likewise.
9108         (REG_CLASS_CONTENTS): Likewise.
9109         (ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros.
9110         (REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is
9111         supported. Add 'Y' to be SSE_REGS when SSE2 is supported.
9112         (CLASS_MAX_NREGS): Use new macros.
9113         (REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED.
9114         * i386.md (pushsf, movsf): Support SSE.
9115         (pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update
9116         splitters to use ANY_FP_REGNO_P.
9117         (movdf_nointeger, movdf_integer): Likewise.
9118
9119 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
9120
9121         * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro.
9122         (try_combine): Use it.
9123
9124 Tue Feb 13 11:37:06 CET 2001  Jan Hubicka  <jh@suse.cz>
9125
9126         * i386.h (SSE_CLASS_P, MMX_CLASS_P, MAYBE_FLOAT_CLASS_P,
9127         MAYBE_SSE_CLASS_P, MAYBE_MMX_CLASS_P): New macros.
9128         (PREFERRED_RELOAD_CLASS, SECONDARY_MEMORY_NEEDED): Move offline.
9129         (REGISTER_MOVE_COST): Likewise.
9130         * i386-protos.h (ix86_secondary_memory_needed,
9131         ix86_preferred_reload_class, ix86_register_move_cost): Declare.
9132         * i386.c (ix86_secondary_memory_needed,
9133         ix86_preferred_reload_class, ix86_register_move_cost): New function.
9134
9135 Die Feb 13 11:04:25 CET 2001  Jan Hubicka  <jh@suse.cz>
9136
9137         * i386.h (VALID_FP_MODE_P, VALID_INT_MODE_P): New.
9138         (HARD_REGNO_MODE_OK): Move offline to ....
9139         * i386.c (ix86_hard_regno_mode_ok) ... here;
9140         refuse all incorrect modes.
9141         * i386-protos.h (ix86_hard_regno_mode_ok): Declare.
9142
9143 2001-02-13  Richard Henderson  <rth@redhat.com>
9144
9145         * sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the
9146         entire operator; replicate that and match_dup the operands.
9147         (cmp_ccx_arith_op_set): Likewise.
9148         (cmp_cc_arith_op_not_set): Likewise.
9149         (cmp_ccx_arith_op_not_set): Likewise.
9150
9151 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
9152
9153         * explow.c (trunc_int_for_mode): Sign-extend value to mode.
9154
9155 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
9156
9157         * config/rs6000/sysv4.h (MASK_NO_BITFIELD_WORD): New macro.
9158         (TARGET_NO_BITFIELD_WORD): New macro.
9159         (SUBTARGET_SWITCHES): Add -mbit-word, -mno-bit-word options.
9160         (BITFIELD_NBYTES_LIMITED): Define based on TARGET_NO_BITFIELD_WORD.
9161
9162 Mon Feb 12 18:13:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9163
9164         * cselib.c: New file, from simplify-rtx.c.
9165         * simplify-rtx.c: Remove cselib parts.
9166         * Makefile.in: Add cselib.o.
9167
9168 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
9169
9170         * config/rs6000/rs6000.c (rs6000_float_const): Remove warning.
9171         (setup_incoming_varargs): Remove warning.
9172
9173         * config/rs6000/rs6000.c (validate_condition_mode): When
9174         flag_fast_math, allow floating-point conditionals to be reversed.
9175         (rs6000_generate_compare): When flag_fast_math, don't generate
9176         cror operations for FP conditionals.
9177
9178         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
9179         -mcall-i960.
9180         (ASM_SPEC): Likewise.
9181         (CC1_ENDIAN_LITTLE_SPEC): Likewise.
9182         (CC1_SPEC): Likewise.
9183         (LINK_TARGET_SPEC): Likewise.
9184         (CPP_ENDIAN_SPEC): Likewise.
9185         * Makefile.in (check-consistency): New target.
9186
9187 2001-02-12  Joseph S. Myers  <jsm28@cam.ac.uk>
9188
9189         * c-decl.c (grokdeclarator): In C99 mode, give the more specific
9190         "return type defaults" warning for functions with return type
9191         defaulting to int.
9192         * c-lang.c (c_init): In C99 mode, enable warnings for implicit
9193         function declarations by default rather than only when pedantic.
9194
9195 Mon Feb 12 17:28:48 CET 2001  Jan Hubicka  <jh@suse.cz>
9196
9197         * regclass.c (init_reg_sets_1): Optimize calculation of move_cost
9198         arrays.
9199
9200 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
9201
9202         * extend.texi (Deprecated): Deprecate new initializer lists.
9203
9204 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
9205
9206         * mkdeps.c (deps_add_default_target): Robustify. Add
9207         basename component only.
9208         * cpp.texi (-M): Describe how default target is generated.
9209         * invoke.texi (-M): Likewise.
9210
9211 2001-02-12  Kazu Hirata  <kazu@hxi.com>
9212
9213         * toplev.c (push_float_handler): Remove.
9214         (pop_float_handler): Remove.
9215         * toplev.h: Remove prototypes for the above functions.
9216
9217 2001-02-12  Jakub Jelinek  <jakub@redhat.com>
9218
9219         * c-common.c (constant_fits_type_p): New function.
9220         (convert_and_check): Use it.
9221
9222 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
9223
9224         * Makefile.in (GXX_ABI_FLAG): Don't define.
9225         * configure.in (--enable-new-gxx-abi): Remove option.
9226         * config.in: Regenerated.
9227         * configure: Likewise.
9228
9229 2001-02-12  Alexandre Oliva  <aoliva@redhat.com>
9230
9231         * lcm.c (compute_earliest): Let EXIT_BLOCK be handled as a regular
9232         basic block.
9233         (optimize_mode_switching) [NORMAL_MODE]: Set up EXIT_BLOCK as a
9234         regular basic block, and arrange for all edges into it to switch
9235         to normal mode.
9236
9237 2001-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9238
9239         * Makefile.in (distclean): Do not remove .gdbinit.
9240
9241 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
9242
9243         * Makefile.in (gcc.o): Fix typos.
9244         (protize.o): Likewise.
9245         (unprotoize.o): Likewise.
9246
9247 2001-02-11  Richard Henderson  <rth@redhat.com>
9248
9249         * tree.c (build1): Check for null operand in last change.
9250
9251 2001-02-11  Richard Henderson  <rth@redhat.com>
9252
9253         * fold-const.c (split_tree): Don't assume a constant isn't splittable.
9254         (fold): Don't assume a constant isn't foldable.
9255         * tree.c (build): Set TREE_CONSTANT for an expression with no
9256         side-effects and constant operands.
9257         (build1): Likewise.
9258
9259 2001-02-10  Richard Henderson  <rth@redhat.com>
9260
9261         * jump.c (squeeze_notes): Revert 2000-05-12 change.
9262
9263 2001-02-10  Anthony Green  <green@redhat.com>
9264
9265         * cpp.texi (Standard Predefined): Add documentation for
9266         __OPTIMIZE_SIZE__.
9267
9268         * c-common.c (combine_strings): Improve warning message.
9269
9270 2001-02-10  Geoffrey Keating  <geoffk@redhat.com>
9271
9272         * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Use two dashes for
9273         --oformat.
9274         * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Likewise.
9275
9276 Fri Feb  9 15:05:27 2001  Christopher Faylor <cgf@cygnus.com>
9277
9278         * config/i386/t-cygwin (T_CPPFLAGS): Use correct location for
9279         CYGWIN_CROSS_DIR.
9280
9281 2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
9282
9283         * config/sh/sh.md (sibcalli, sibcalli_pcrel, sibcalli): Set
9284         fp_mode attribute.
9285
9286 2001-02-09  Nick Clifton  <nickc@redhat.com>
9287
9288         * config/arm/arm.md: Change output contraint on post inc
9289         load/store multiple patterns to be a read/write contraint.
9290
9291 2001-02-09  Neil Booth  <neil@daikokuya.demon.co.uk>
9292
9293         * gcc.c (cpp_options): Delete .d files on error.  Don't delete
9294         .o files when using the -M options.
9295
9296 2001-02-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9297             David Edelsohn  <edelsohn@gnu.org>
9298
9299         * config/rs6000/rs6000.c (output_toc): Allow 32-bit targets to
9300         handle DImode constants.  Use one TOC entry for SImode and smaller
9301         constants, aligned properly.
9302
9303 2001-02-08  Jason Merrill  <jason@redhat.com>
9304
9305         * config/arm/arm.c (arm_expand_prologue): Do tell the dwarf2 backend
9306         about the SP adjustment for saving the static chain pointer.
9307         * dwarf2out.c (dwarf2out_frame_debug_expr): Use the specified
9308         offset when setting a temporary CFA register.
9309
9310 2001-02-08  Chandrakala Chavva  <cchavva@redhat.com>
9311
9312         * config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
9313         powerpc-*-chorusos* .
9314         * config/rs6000/chorus.h : New file.
9315         * config/i386/chorus.h : New file.
9316         * config/sparc/chorus.h : New file.
9317         * config/sparc/t-chorus-elf : New file.
9318
9319 2001-02-08  David Edelsohn  <edelsohn@gnu.org>
9320
9321         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ...
9322         * config/rs6000/aix.h (ASM_OUTPUT_SYMBOL_REF): ... to here.
9323         * config/rs6000/aix51.h (CPLUSCPLUS_CPP_SPEC): Define it.
9324         (__WCHAR_TYPE__): Correct macro name.
9325
9326 2001-02-08  Richard Henderson  <rth@redhat.com>
9327
9328         * config/i386/i386.c (ix86_frame_pointer_required): New.
9329         (ix86_setup_frame_addresses): New.
9330         (struct machine_funciton): Add accesses_prev_frame.
9331         * config/i386/i386.h (FRAME_POINTER_REQUIRED): Call
9332         ix86_frame_pointer_required.
9333         (SUBTARGET_FRAME_POINTER_REQUIRED): New.
9334         (SETUP_FRAME_ADDRESSES): New.
9335         * config/i386/i386-protos.h: Update.
9336         * config/i386/sco5.h (SUBTARGET_FRAME_POINTER_REQUIRED): Rename
9337         from FRAME_POINTER_REQUIRED.
9338         * config/i386/svr3gas.h: Likewise.
9339         * config/i386/sysv3.h: Likewise.
9340         * config/i386/v3gas.h: Likewise.
9341
9342 2001-02-08  Richard Henderson  <rth@redhat.com>
9343
9344         * config/sparc/sparc.c (function_arg_record_value_3): Fix
9345         calculation of the number of integer registers required.
9346         (function_arg_record_value): Likewise.
9347
9348 2001-02-08  Jason Merrill  <jason@redhat.com>
9349
9350         * diagnostic.c (internal_error): Say "confused" after 1 error, not
9351         two.  Print file and line with "confused" message.
9352
9353         * dwarf2out.c (dwarf2out_line): Include filename in -dA output.
9354
9355 Thu Feb  8 11:21:28 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9356
9357         * rtlanal.c (remove_node_from_expr_list): Correctly update PREV.
9358
9359 2001-02-08  Bernd Schmidt  <bernds@redhat.com>
9360
9361         * final.c (cleanup_subreg_operands): The address of a MEM can
9362         contain SUBREGs.
9363
9364         * config/ia64/ia64.c (ia64_variable_issue): Call group_barrier_needed_p
9365         for asms, too.
9366
9367 2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
9368
9369         * gcc.texi (Incompatibilities): Update documentation of
9370         preprocessing numbers.
9371
9372 2001-02-07  Jakub Jelinek  <jakub@redhat.com>
9373
9374         * c-decl.c (finish_enum): Revert part of 2000-01-05 change.
9375
9376 2001-02-07  Mark Mitchell  <mark@codesourcery.com>
9377
9378         * config/rs6000/aix43.h (CPLUSCPLUS_CPP_SPEC): Define it.
9379
9380         * defaults.h (CPLUSPLUS_CPP_SPEC): New macro.
9381         * gcc.c (struct compiler): Add cpp_spec field.
9382         (input_file_compiler): New variable.
9383         (do_spec_1): Allow a particular compiler to handle `%C'
9384         specially.
9385         (main): Store the current compiler in input_file_compiler.
9386         * tm.texi (CPLUSPLUS_CPP_SPEC): Document.
9387
9388 2001-02-07  Zack Weinberg  <zack@wolery.stanford.edu>
9389
9390         * cpphash.h (struct spec_nodes): Add n_true and n_false.
9391         * cppinit.c (cpp_create_reader): Initialize them.
9392         (append_include_chain): cxx_aware arg might be unused.
9393         * cppexp.c (lex): In C++ mode, recognize 'true' and 'false'
9394         keywords and give them their phase 7 meaning.  Pedwarn about
9395         this unless '__bool_true_false_are_defined' is defined.
9396
9397 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
9398
9399         * lcm.c (optimize_mode_switching): Emit mode_set before the
9400         JUMP_INSN of an abnormal edge.
9401
9402 2001-02-07  Bernd Schmidt  <bernds@redhat.com>
9403
9404         * builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
9405         a scheduling barrier at the end.
9406
9407         * tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document.
9408
9409 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
9410
9411         * config/sh/sh.md (reload_outsf): Removed.
9412         (movsf_ie): Introduce constraints for FPUL loads and stores.
9413         (reload_insf): Broaden the output constraint.
9414
9415         * config/elfos.h (INT_ASM_OP): Don't define it if it's already
9416         defined.
9417         * config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
9418         ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h.
9419
9420 2001-02-06  Chandrakala Chavva  <cchavva@redhat.com>
9421
9422         * final.c: Revert my previous changes.
9423         * output.h: Make profile_label_no extern.
9424         * config/rs6000/rs6000.c (output_profile_hook): Use standard functions
9425         for generating label.
9426
9427 2001-02-06  Laurynas Biveinis  <lauras@softhome.net>
9428
9429         * config/i386/djgpp.h: Add comments about standard paths.
9430         (MD_EXEC_PREFIX): Undefine before defining.
9431         (MD_STARTFILE_PREFIX): New.
9432
9433 2001-01-30  Bruce Korb  <bkorb@gnu.org>
9434
9435         fixinc/fixincl.c(process):  Emit error message only if appropriate :)
9436         (load_file): do not rely on load_file_data() to close file pointer
9437         fixinc/fixlib.c(load_file_data): do not close passed in file pointer
9438         fixinc/inclhack.def(irix_limits_const): add test_text
9439
9440 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
9441
9442         * cppexp.c (parse_defined): Improve diagnostics for invalid
9443         syntax.
9444
9445 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
9446
9447         * cppmacro.c (cpp_get_token): Avoid pasting after a builtin.
9448
9449 2001-02-06  Mark Mitchell  <mark@codesourcery.com>
9450
9451         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Define.
9452         * config/rs6000/rs6000-protos.h (rs6000_output_symbol_ref): Declare.
9453         * config/rs6000/rs6000.c (VTABLE_NAME_P): New macro.
9454         (rs6000_output_symbol_ref): New function.
9455         (output_toc): Use VTABLE_NAME_P.
9456
9457 Tue Feb  6 07:54:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9458
9459         * print-tree.c (print_node, case PARM_DECL):
9460         Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN.
9461
9462         * stor-layout.c (reference_types_internal): New variable.
9463         (internal_reference_types): New function.
9464         (layout_type, case REFERENCE_TYPE): Make Pmode if internal.
9465         * tree.h (internal_reference_types): New declaration.
9466
9467         * cse.c (find_best_addr): Fix typo in computing cost.
9468
9469 Mon Feb  5 21:56:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9470
9471         * combine.c (nonzero_bits, case PLUS): If pointers extend unsigned
9472         and this is the sum of a pointer and a constant, we know the result
9473         did not overflow.
9474         (num_sign_bit_copies, case PLUS): Likewise.
9475         * explow.c (convert_memory_address): Remove opposite SUBREG.
9476         * function.c (instantiate_new_reg): New function (from common code).
9477         (instantiate_virtual_regs_1): Call it.
9478         For PLUS, handle if (plus (subreg (virt-reg) (const_int))
9479         if pointers sign- or zero-extend.
9480         * simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND):
9481         If pointers extend unsigned, use inside of SUBREG.
9482         (simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend.
9483
9484 2001-02-05  Benjamin Kosnik  <bkoz@redhat.com>
9485
9486         * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target
9487         subdir of gcc_gxx_include_dir.
9488         (gcc_gxx_target_include_dir): Remove.
9489
9490 2001-02-05  Jeffrey Oldham  <oldham@codesourcery.com>
9491
9492         * dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments.
9493         (dwarf2out_frame_debug_expr): Revise introductory comments to add
9494         a high-level description.
9495
9496 2001-02-05  Chandrakala Chavva  <cchavva@redhat.com>
9497
9498         * final.c: Move the declaration of profile_label_no to ...
9499         * output.h: ... here.
9500         * function.c (expand_function_start): Call PROFILE_HOOK.
9501         * config/rs6000/aix.h: Define PROFILE_HOOK.
9502         * config/rs6000/rs6000-protos.h: output_profile_hook new.
9503         * config/rs6000/rs6000.c (output_profile_hook): Define.
9504         (output_prolog): Do nothing for ABI_AIX as it is taken care by
9505         output_profile_hook.
9506         tm.texi : Explain new macro PROFILE_HOOK.
9507
9508 2001-02-06  Hans-Peter Nilsson  <hp@axis.com>
9509
9510         * extend.texi (Extended Asm): Do not say that semicolon is always
9511         a valid line-breaking character for GNU assemblers.  Use
9512         newline-tab as the most commonly supported syntax.  Use
9513         newline-tab rather than semicolon in multi-insn examples.
9514
9515 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9516
9517         * Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).
9518
9519 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9520             David Edelsohn  <edelsohn@gnu.org>
9521
9522         * config/rs6000/rs6000.c (rs6000_return_addr): Use PIC
9523         code for AIX, even without flag_pic.
9524
9525 2001-02-05  Jakub Jelinek  <jakub@redhat.com>
9526
9527         * c-typeck.c (common_type): push and pop binding level around
9528         calling common_type on function parameters.
9529
9530 Mon Feb  5 14:30:37 2001  Christopher Faylor <cgf@cygnus.com>
9531
9532         * config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter.
9533
9534 Mon Feb  5 11:23:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9535
9536         * config/mips/mips.c (override_options): Fix typo in last change.
9537         (mips_make_temp_file): Call fatal_io_error, not pfatal_with_name.
9538         (mips_asm_file_end): Likewise; also pass more args to fatal_io_error.
9539
9540 2001-02-05  Nathan Sidwell  <nathan@codesourcery.com>
9541
9542         * invoke.texi (-fdump-class-layout): Document.
9543         (-fdump-translation-unit): Use `=' as filename separator.
9544
9545 2001-02-05  Mark Mitchell  <mark@codesourcery.com>
9546
9547         * Makefile.in (s-mlib): Don't build multilibs if
9548         --disable-multilib.
9549         (DRIVER_DEFINES): Adjust accordingly.
9550         (gcc.o): Likewise.
9551         (protoize.o): Likewise.
9552         (unprotoize.o): Likewise.
9553         * configure.in: Recognize --enable-multilib.
9554
9555 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
9556
9557         * Makefile.in (DRIVER_DEFINES): Fix quoting.
9558
9559         * Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3.
9560         * configure.in: Remove --enable-libstdcxx_v3 support.
9561         * configure: Regenerated.
9562
9563 Sun Feb  4 15:52:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9564
9565         * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
9566         Call abort instead of fatal.
9567         (TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal.
9568         * config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise.
9569         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise.
9570         (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise.
9571         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
9572         * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise.
9573
9574         * diagnostic.h (set_internal_error_function): Renamed.
9575         * toplev.h (internal_error): Renamed from fatal.
9576         (pfatal_with_name): Deleted.
9577         (fatal_io_error): Now has printf-style arguments.
9578         * diagnostic.c (pfatal_with_name): Deleted.
9579         (fatal_io_error): Rework to have args in printf-style.
9580         (set_internal_error_function): Renamed from set_fatal_function.
9581         (internal_error): Renamed from fatal.
9582         (error_recursion, fancy_abort): Call internal_error instead of fatal.
9583         * dwarf2out.c (get_cfa_from_loc_descr): Likewise.
9584         * emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
9585         * expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
9586         * flow.c (verify_flow_info): Likewise.
9587         * config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
9588         * config/mips/mips.c (save_restore_insns): Likewise.
9589
9590         * except.c (duplicate_eh_handlers): Call abort instead of fatal.
9591         * flow.c (verify_flow_info): Likewise.
9592         * config/arm/arm.c (thumb_load_double_from_address): Likewise.
9593         * config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
9594         (avr_normalize_condition): Likewise.
9595         * config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
9596         * config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
9597         (limit_reload_class, double_reg_to_memory): Likewise.
9598         (print_operand_address, emit_1600_code_shift): Likewise.
9599         (gen_tst_reg, gen_compare_reg): Likewise.
9600         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
9601         * config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
9602         Deleted.
9603         * config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.
9604
9605         * c-parse.in (methoddef): Call fatal_error instead of fatal.
9606         * objc/objc-act.c (build_ivar_chain): Likewise.
9607         * dwarfout.c (dwarfout_init): Call fatal_io_error instead of
9608         pfatal_with_name.
9609         * graph.c (clean_graph_dump_file): Likewise.
9610         * profile.c (init_branch_prob): Likewise.
9611         * objc/objc-act.c (objc_init): Likewise.
9612
9613         * config/arm/arm.c (arm_override_options): Make errors non-fatal.
9614         * config/avr/avr.c (avr_override_options): Likewise.
9615         * config/c4x/c4x.c (c4x_expand_prologue): Likewise.
9616         * config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
9617         * config/h8300/h8300.c (h8300_init_once): Likewise.
9618         * config/mips/mips.c (override_options): Likewise.
9619         * config/i386/i386.c (override_options): Likewise, rework.
9620         * config/m68k/m68k.c (override_options): Likewise.
9621
9622         * config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
9623         instead of fatal.
9624         * config/mips/mips.c (print_operand): Likewise.
9625         * hash.c (hash_allocate): Don't check for failure returns from
9626         obstack functions that can't fail.
9627         (hash_table_init_n, hash_table_init): Likewise; also now return void.
9628         * hash.h (hash_table_init_n, hash_table_init): Now return void.
9629         * objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
9630         (get_object_reference): Likewise.
9631
9632 2001-02-04  Nick Clifton  <nickc@redhat.com>
9633
9634         * config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e,
9635         StrongARM1110, 10TDMI, and 1020T.
9636
9637 2001-02-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9638
9639         * mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif.
9640
9641 2001-02-04  Alexandre Oliva  <aoliva@redhat.com>
9642
9643         * config/sh/sh.md (movdf load split): Pass register number to
9644         FP_OR_XD_REGISTER_P.
9645
9646 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
9647
9648         * cppinit.c (BC): New macro.
9649         (builtin_array): Add __GXX_WEAK__.
9650         * cpplib.h (builtin_type): Add BT_WEAK.
9651         * cppmacro.c (builtin_macro): Handle BT_WEAK.
9652         * defaults.h (SUPPORTS_ONE_ONLY): Define.
9653         * varasm.c (SUPPORTS_ONE_ONLY): Do not define.
9654
9655 2001-02-03  Jakub Jelinek  <jakub@redhat.com>
9656
9657         * cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C.
9658
9659 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
9660
9661         * cpphash.h: Rename _ALIGN POOL_ALIGN.
9662         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
9663
9664 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
9665
9666         * cpphash.h: Rename ALIGN _ALIGN.
9667         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
9668
9669 Fri Feb  2 23:15:29 2001  Christopher Faylor <cgf@cygnus.com>
9670
9671         * config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross
9672         compilation environment.
9673         * config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow
9674         control over location of cygwin includes and libs.
9675
9676 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
9677
9678         * c4x.h (HARD_REGNO_CALL_PART_CLOBBERED): Fix typo.
9679
9680 2001-02-02  lars brinkhoff  <lars@nocrew.org>
9681
9682         * md.texi (Standard Names): remove reference to spur.md.
9683
9684 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
9685
9686         * c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define.
9687         (HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG.
9688         (INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise.
9689         * c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG.
9690         (c4x_expand_prologue, c4x_expand_epilogue): Likewise.
9691
9692 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9693
9694         * c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand,
9695         c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register
9696         number before reload.
9697         (c4x_adjust_cost): Return zero before reload.
9698         * c4x.md (load_immed_address+1, load_immed_address+2): Do not
9699         split before reload.
9700
9701 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9702
9703         * c4x.c (c4x_hard_regno_rename_ok): New.
9704         * c4x-protos.h (c4x_hard_regno_rename_ok): New.
9705         * c4x.h (HARD_REGNO_RENAME_OK): Define.
9706
9707 Fri Feb  2 20:03:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9708
9709         * diagnostic.h: Add missing "extern" in all declarations.
9710
9711 2001-02-02  Alex Samuel  <samuel@codesourcery.com>
9712
9713         * Makefile.in (gcc_gxx_target_include_dir): Generate dynamically
9714         as for gcc_gxx_include_dir.
9715
9716 2001-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
9717
9718         * cpp.texi, invoke.texi: Update -Wtraditional documentation.
9719
9720 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
9721
9722         * config/sh/sh.c (output_far_jump): Don't use braf on SH1.  Emit
9723         label before alignment to be used as the braf base address.
9724         * config/sh/sh.md (length): Use longer lengths for SH1 PIC far
9725         branches.
9726         (casesi_jump_2): Require at least TARGET_SH2.
9727
9728         * config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent
9729         truncation to 32-bit doubles on -m3e and -m4-single-only.
9730
9731 2001-02-02  Mark Mitchell  <mark@codesourcery.com>
9732
9733         * gcc.c (init_gcc_specs): New function.  Make -shared-libgcc
9734         the default when building a shared object.
9735         (init_spec): Use it.
9736         * testsuite/lib/g++.exp: Include the directory where libgcc
9737         is located to the LD_LIBRARY_PATH list.
9738         * invoke.texi (-shared-libgcc): Document the cases in which
9739         GCC defaults to using the shared libgcc.
9740
9741 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
9742
9743         * config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume
9744         unsigned is wide enough.
9745         (BITS_PER_SI): New.
9746         * config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI.
9747         (si_to_float): Likewise.
9748         (float_to_si, float_to_usi): Use BITS_PER_SI.
9749
9750 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
9751
9752         * dwarf2out.c: Added explanation of abbreviations.
9753         (def_cfa_1): Added comments listing DWARF2 instructions.
9754         (cfa_temp_reg): Removed in favor of cfa_temp.
9755         (cfa_temp_value): Removed in favor of cfa_temp.
9756         (cfa_temp): New global variable.
9757         (dwarf2out_frame_debug_expr): Added extensive introductory
9758         comments explaining the function's transformations.  Revised to
9759         use cfa_temp.  Added some rtx checking.  Generalize IOR case.
9760         (dwarf2out_frame_debug): Revised to use cfa_temp.
9761         (output_aranges): Cast as "unsigned" to avoid warning.
9762         * rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better
9763         explain which instructions must be marked.
9764
9765 2001-02-01  Richard Henderson  <rth@redhat.com>
9766
9767         * local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
9768         new instruction.
9769
9770 2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
9771
9772         * config/sh/crt1.asm (main_k): Modified so that start calls
9773         ___setup_argv_and_call_main.
9774
9775 2001-02-01  Neil Booth  <neil@daikokuya.demon.co.uk>
9776
9777         * cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader.
9778         * cpplex.c (_cpp_lex_token): New token picks up the saved flags,
9779         and AVOID_LPASTE is cleared on meeting an unescaped newline.
9780         * cppmacro.c (builtin_macro): Set builtin flags here.
9781         (paste_all_tokens): Preserve AVOID_LPASTE on pasted token.
9782         (replace_args): Clarify intent.
9783         (cpp_get_token): Macro expansion tokens get the saved flags.
9784         Update.
9785         * cppmain.c (scan_buffer): Remove now-redundant print.printed
9786         check.
9787
9788 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
9789
9790         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of
9791         2001-Jan-29.
9792
9793 Thu Feb  1 07:22:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9794
9795         * builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space
9796         returns Pmode pseudo, but we need ptr_mode.
9797         * explow.c (allocate_dynamic_stack_space): Use plus_constant.
9798         Remove bogus conversions; use HOST_WIDE_INT for size.
9799         Don't use TARGET if wrong mode.
9800
9801         * config/i386/i386.c (ix86_compute_frame_size): Allow
9802         stack_alignment_needed to be non-default even if size is zero.
9803
9804 2001-01-31  Alan Modra <alan@linuxcare.com.au>
9805
9806         * pa.c (hppa_init_pic_save): New function.
9807         * pa.h (hppa_init_pic_save): Declare.
9808         * pa.md (call, call_value, sibcall, sibcall_value): Use
9809         the above instead of duplicated code.
9810
9811         * pa.c (hppa_encode_label): Correct size of alloca buffer
9812         so we don't overrun it.  Correct leading `*' case.
9813         * pa.h (STRIP_NAME_ENCODING): Simplify now that we don't
9814         need to handle `*@'.
9815         (FUNCTION_NAME_P): Likewise.
9816
9817 2001-01-31  Richard Henderson  <rth@redhat.com>
9818
9819         * config.gcc (alpha-osf5): Use float-i128.h.
9820
9821         * config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
9822         * config/float-i32.h: Likewise.
9823         * config/float-i64.h: Likewise.
9824         * config/float-sh.h: Likewise.
9825         * config/float-sparc.h: Likewise.
9826
9827 2001-01-31  DJ Delorie  <dj@redhat.com>
9828
9829         * expmed.c (extract_bit_field): allow non-integral modes if we
9830         want to extract a whole register from itself.
9831
9832 2001-01-31  Jakub Jelinek  <jakub@redhat.com>
9833
9834         * c-typeck.c (set_init_index): If first is equal to last, assume as
9835         if it was not a range at all.
9836
9837 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
9838
9839         * config/fp-bit.c: Include tm.h.
9840         (float_to_si): Don't assume SImode is 32-bits wide.
9841         (float_to_usi): Likewise.
9842
9843 2001-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
9844
9845         * c-parse.in (structsp): Pedwarn when "enum foo" refers to an
9846         incomplete type.
9847         (typename): Call pending_xref_error after parsing typed_typespecs.
9848         * c-decl.c (lookup_tag): Give error immediately rather than
9849         leaving it pending if the tag of the wrong type is in the same
9850         binding level.
9851         (xref_tag): Don't pedwarn for forward declarations of enum types
9852         here.
9853         * gcc.texi (Actual Bugs): Remove entry for misuse of struct, union
9854         and enum tags.
9855
9856 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
9857
9858         * config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo.
9859
9860 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
9861
9862         * cpplib.c (T_ELIF): Move to STDC89, not that it matters.
9863         (_cpp_handle_directive): Suggest not using #elif with -Wtraditional.
9864
9865 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
9866
9867         * cpphash.h (struct cpp_reader): New saved_flags.
9868         * cppmacro.c (cpp_get_token): Use saved_flags to remember
9869         to avoid a paste after a pasted token.
9870
9871 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
9872
9873         * libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
9874         * libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
9875         Wtype_MIN instead of LONG_MIN.
9876
9877 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
9878
9879         * fixinc/fixincl.tpl: Add 2001 to copyright.  Change name of
9880         README file.
9881         * fixinc/fixincl.x: Regenerated.
9882         * fixinc/inclhack.def (irix_limits_const): New definition to
9883         convert "const" to "__const" in limits.h.
9884
9885 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
9886
9887         * fixinc/genfixes (AG): Fix "autogen4" thinko.
9888
9889 2001-01-30  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
9890
9891         * regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED
9892         when register dies in the insn.
9893
9894 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
9895
9896         * diagnostic.c (fatal): Fix word wrap.
9897
9898 2001-01-30  Alexandre Oliva  <aoliva@redhat.com>
9899
9900         * combine.c (try_combine): Fix SUBREG setting for
9901         HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD.
9902
9903 2001-01-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9904
9905         * jump.c (comparison_dominates_p): Don't try to handle UNKNOWN
9906         comparison codes.
9907
9908 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
9909
9910         * c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
9911         is not NULL.
9912         * toplev.c (decode_W_option): Update warn_larger_than
9913         unconditionally for each processed switch.
9914
9915 2001-01-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9916
9917         * pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
9918         to NULL_RTX.
9919         (hppa_expand_prologue): Delete code to save pic offset table register
9920         in the function prologue.
9921         * pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
9922         * pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
9923         table register at the beginning of the function after the prologue.
9924
9925 2001-01-29  lars brinkhoff  <lars@nocrew.org>
9926
9927         * tm.texi (PUSH_ROUNDING): Remove duplicate lines.
9928
9929 2001-01-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9930             Jeff Law <law@redhat.com>
9931
9932         * pa.md (return): Revise comment for trivial return.
9933         (return_internal): Non-trivial return pattern for non-PIC code.
9934         (return_internal_pic): Non-trivial return pattern for PIC code.
9935         It uses the PIC register to ensure it is restored after
9936         function calls.
9937         (epilogue): Generate appropriate return for PIC and non-PIC code.
9938
9939 Mon Jan 29 23:53:14 2001  Christopher Faylor <cgf@cygnus.com>
9940
9941         * config/i386/cygwin.h: Fix -mno-cygwin search path for link.
9942
9943 2001-01-29  DJ Delorie  <dj@redhat.com>
9944
9945         * combine.c (if_then_else_cond): Pass the correct mode to
9946         operand_subword() for constants.
9947
9948 Mon Jan 29 20:38:19 2001  Christopher Faylor <cgf@cygnus.com>
9949
9950         * config/i386/cygwin.h: Add w32api to include search.  Search different
9951         directories in a cross-build environment.
9952
9953 2001-11-29  Tim Josling  <tej@melbpc.org.au>
9954
9955         * tree.h (TYPE_STUB_DECL): Add documentation.
9956
9957 2001-11-29  Laurynas Biveinis  <lauras@softhome.net>
9958
9959         * sdbout.c (sdbout_one_type): Skip types with indeterminate size.
9960         (sdbout_field_types): Likwise.  Fix use of host_integerp.
9961
9962 2001-01-29  Thomas Pfaff  <tpfaff@gmx.net>
9963
9964         * mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
9965         cygwin.h.
9966
9967 2001-01-29  Jeffrey Oldham  <oldham@codesourcery.com>
9968
9969         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
9970         to use flag_gnu_linker.
9971
9972 2001-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
9973
9974         * cpplib.c (T_BAD_DIRECTIVE): Remove.
9975         (_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
9976
9977 2001-01-29  Joseph S. Myers  <jsm28@cam.ac.uk>
9978
9979         * tree.c, tree.h (build_parse_node): Remove; was identical to
9980         build_nt.
9981         * c-lang.c (start_cdtor), objc/objc-act.c
9982         (build_module_descriptor): Use build_nt instead of
9983         build_parse_node.
9984
9985 2001-01-29  Jakub Jelinek  <jakub@redhat.com>
9986
9987         * config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
9988         (testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
9989         not have any upper bits set.
9990
9991 2001-01-29  Phil Edwards  <pme@sources.redhat.com>
9992
9993         * COPYING.LIB:  Update to LGPL 2.1 from the FSF.
9994
9995 2001-01-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9996
9997         * stmt.c (estimate_case_costs): Use integer_minus_one_node.
9998
9999         * tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.
10000
10001         * tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
10002         (integer_minus_one_node): Define.
10003
10004 2001-01-28  Alexandre Oliva  <aoliva@redhat.com>
10005
10006         * Makefile.in (bootstrap2-lean): Fix typo.
10007
10008 2001-01-28  Neil Booth  <neil@daikokuya.demon.co.uk>
10009
10010         * cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
10011         : Don't set fe_value.
10012         * cpplib.h (AVOID_LPASTE): New flag.
10013         (struct cpp_hashnode): Remove fe_value.
10014         * cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
10015         * cppmacro.c (builtin_macro): Don't set flags here.
10016         (replace_args): Set AVOID_LPASTE flag on first token of an
10017         argument, and the token following it.
10018         (cpp_get_token): Set AVOID_LPASTE flag on first token of a
10019         macro expansion, and on the token following it.  Do it for
10020         builtins too.
10021         * cppmain.c (scan_buffer): Avoid pasting only flagged tokens.
10022
10023 2001-01-27  Richard Henderson  <rth@redhat.com>
10024
10025         * config/alpha/t-ieee: Remove multilibbing.
10026         (TARGET_LIBGCC2_CFLAGS): Add -mieee.
10027
10028 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10029
10030         * configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
10031
10032         * Makefile.in: Remove all dependencies on defaults.h.
10033         * builtins.c: Don't include defaults.h.
10034         * c-common.c: Likewise.
10035         * c-decl.c: Likewise.
10036         * c-pragma.c: Likewise.
10037         * c-typeck.c: Likewise.
10038         * combine.c: Likewise.
10039         * i386.c: Likewise.
10040         * frame-ia64.c: Likewise.
10041         * cppexp.c: Likewise.
10042         * crtstuff.c: Likewise.
10043         * dbxout.c: Likewise.
10044         * dwarf2out.c: Likewise.
10045         * dwarfout.c: Likewise.
10046         * emit-rtl.c: Likewise.
10047         * except.c: Likewise.
10048         * expr.c: Likewise.
10049         * final.c: Likewise.
10050         * frame-dwarf2.c: Likewise.
10051         * libgcc2.c: Likewise.
10052         * optabs.c: Likewise.
10053         * profile.c: Likewise.
10054         * sdbout.c: Likewise.
10055         * toplev.c: Likewise.
10056         * tradcif.y: Likewise.
10057         * tree.c: Likewise.
10058         * varasm.c: Likewise.
10059
10060 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10061
10062         * builtins.c (expand_builtin_fputs): Use size_one_node when
10063         transforming into fwrite.
10064
10065 2001-01-27  Joseph S. Myers  <jsm28@cam.ac.uk>
10066
10067         * extend.texi (Attribute Syntax): New section.
10068
10069 2001-01-27  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
10070
10071         * fixproto: Correctly install synthesised unistd.h and stdlib.h when
10072         they didn't need fixing.
10073
10074 2001-01-27  Janis Johnson <janis@us.ibm.com>
10075
10076         * config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
10077         if appropriate.
10078         * config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
10079         to remove macro definitions that are duplicated from elfos.h.
10080
10081 2001-01-27  Richard Henderson  <rth@redhat.com>
10082
10083         * config/i386/sco5gas.h: Move ...
10084         * config/usegas.h: ... here.
10085         * config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.
10086
10087 2001-01-27  Jakub Jelinek  <jakub@redhat.com>
10088
10089         * c-typeck.c (struct constructor_stack): Add range_stack member.
10090         (really_start_incremental_init): Clear it.
10091         (push_init_level): Save constructor_range_stack and clear it if
10092         pushing explicit braces.
10093         (pop_init_level): abort if constructor_range_stack is non-zero at
10094         explicit closing brace.  Restore saved constructor_range_stack if
10095         not implicit.
10096
10097 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
10098
10099         * expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
10100         into register was forced into memory.
10101
10102 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
10103
10104         * Makefile.in: Remove uses of + before $(MAKE).
10105
10106 2001-01-26  Richard Henderson  <rth@redhat.com>
10107
10108         * stmt.c (cost_table): Remove.
10109         (COST_TABLE, cost_table_initialized): New.
10110         (estimate_case_costs): Use the later instead of the former.
10111         (balance_case_nodes): Likewise.
10112
10113 2001-01-26  Richard Henderson  <rth@redhat.com>
10114
10115         * alias.c (objects_must_conflict_p): Read-only slots may not
10116         conflict despite having the same type.
10117
10118 2001-01-27  Michael Hayes  <mhayes@redhat.com>
10119
10120         * loop.c (loop_giv_reduce_benefit): Copy mode size into
10121         int variable.
10122         (check_ext_dependant_givs): Initialise u_start_val and
10123         u_end_val.
10124         (load_mems): Make last_max_reg unsigned.
10125         (try_swap_copy_prop): Use INSN_P and initialise set.
10126
10127 Fri Jan 26 23:22:58 2001  Denis Chertykov  <denisc@overta.ru>
10128
10129         * README.AVR : Removed.
10130
10131 Fri Jan 26 11:37:26 2001  Jeffrey A Law  (law@cygnus.com)
10132
10133         * pa-64.h (text_section): Remove declaration.
10134
10135         * pa.md (return_internal): Remove mode on PIC register use.
10136
10137 2001-01-25  lars brinkhoff  <lars@nocrew.org>
10138
10139         * tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN,
10140         ASM_CLOSE_PAREN): fix typos.
10141
10142 2001-01-25  Mark Mitchell  <mark@codesourcery.com>
10143
10144         * acconfig.h: Define `const' to the empty string if neither
10145         __STDC__ nor __cplusplus is defined.
10146         * config.in: Regenerated.
10147
10148 2001-01-25  David Edelsohn  <edelsohn@gnu.org>
10149
10150         * config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
10151         * collect2.c (main): Delete importf.  Add ".obj" file extension.
10152         (GCC_CHECK_HDR): Handle AIX V5 new magic number.
10153         (aix_std_libs): Add additional AIX libraries to skip.
10154         * config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
10155         * config/rs6000/aix51.h: New file.
10156
10157 2001-01-25  Michael Hayes  <mhayes@redhat.com>
10158
10159         * loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
10160         (loop_insn_emit_before): No longer static.
10161         (move_movables): Replace emit_insn_after with loop_insn_emit_after.
10162         (loop_givs_rescan, load_mems): Likewise.
10163         (check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
10164         (maybe_eliminate_biv_1):
10165         (move_movables): Replace emit_call_insn_before with
10166         loop_call_insn_hoist.
10167         * loop.h (loop_insn_emit_before): Add.
10168         * unroll.c (copy_loop_body): Replace emit_insn_before with
10169         loop_insn_emit_before.
10170
10171 2001-01-25  Neil Booth  <neil@daikokuya.demon.co.uk>
10172
10173         * diagnostic.c (fatal): Request preprocessed source.
10174
10175 Thu Jan 25 02:01:16 2001  J"orn Rennecke <amylaar@redhat.com>
10176
10177         * c-decl.c (duplicate_decls): If different_binding_level is nonzero,
10178         olddecl has argument types and newdecl has none, use the argument
10179         types from olddecl.
10180
10181 2001-01-24  Ulrich Drepper  <drepper@redhat.com>
10182
10183         * dwarf2out.c (prefix_of): New function.  Determine longest common
10184         prefix of the two arguments.  The units are whole path components.
10185         (output_file_names): When adding a new directory find the one entry
10186         with the longest common prefix already in the list.  Artificially
10187         generate entry if there is none for this prefix.
10188         Fix test to check whether the zeroth directory entry is used.
10189
10190 Wed Jan 24 23:51:55 2001  J"orn Rennecke <amylaar@redhat.com>
10191
10192         * reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
10193         Changed all callers.  Take it into account when deciding if a
10194         previously loaded value matches.
10195
10196 2001-01-24  Richard Henderson  <rth@redhat.com>
10197
10198         * reload.c (find_reloads_subreg_address): Fail the substitution
10199         if the resulting address is insufficiently aligned.
10200
10201 2001-01-24  DJ Delorie  <dj@redhat.com>
10202
10203         * combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
10204         check the original operand's mode also.
10205         * simplify-rtx.c (simplify_ternary_operation): Ditto.
10206
10207 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
10208
10209         * c-parse.in (cast_expr): Move compound literals from here ...
10210         (primary): ... to here.  Use standard terminology "compound
10211         literal" instead of "constructor expression".
10212
10213 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
10214
10215         * gcc.1, cpp.1: Regenerate.
10216
10217 2001-01-24  Alexandre Oliva  <aoliva@redhat.com>
10218
10219         * calls.c (emit_library_call_value_1): Memory slot for
10220         pass-by-reference argument should have the mode of the argument,
10221         not of the pointer to it.
10222
10223 2001-01-24  Tom Tromey  <tromey@redhat.com>
10224
10225         * gcc.texi (G++ and GCC): Mention gcj manual.
10226         (Standards): Link to section of manual mentioning gcj/Java
10227         compatibility.
10228
10229 2001-01-24  Jakub Jelinek  <jakub@redhat.com>
10230
10231         * cppfiles.c (_cpp_read_file): Add to dependencies if requested.
10232         * cppinit.c (cpp_start_read): Remove deps_add_dep call.
10233         * tradcpp.c (main): Add -imacros or -include'd dependencies
10234         for -M*.
10235         * cpp.texi (-M, -MM): Document -M -include behaviour.
10236
10237 2001-01-24  Roger Collins <roger@ProProject.com>
10238
10239         * config/i386/xm-i386.h: Make __i386__ a boolean macro.
10240
10241 2001-01-24  Will Cohen  <wcohen@redhat.com>
10242
10243         * config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
10244         whether registers are 32 bits or 64 bits in size.
10245
10246 2001-01-24  Ben Elliston  <bje@redhat.com>
10247
10248         * config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
10249
10250 2001-01-24  Richard Henderson  <rth@redhat.com>
10251
10252         * config/alpha/alpha.md (builtin_longjmp_internal): New.
10253         (builtin_longjmp): Use it instead of emit_indirect_jump.
10254
10255 2001-01-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10256
10257         * bb-reorder.c (make_reorder_chain_1): Handle case where
10258         jump edge goes to the same block as the fallthru edge.
10259
10260 2001-01-23  Jim Wilson  <wilson@redhat.com>
10261
10262         * dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
10263         * frame.h (__ia64_personality_v1): Add prototype.
10264         * libgcc2.c (ia64_throw_helper): Change personality declaration to
10265         prototype form.  Add void * cast to first argument to personality
10266         call.
10267         * real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
10268         (asctoe113): Likewise.
10269         * config/ia64/frame-ia64.c: Include eh-common.h.
10270         * config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
10271         prototypes.
10272         * config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
10273         to dump parameter.
10274         (itanium_split_issue): Add prototype.
10275         (gen_nop_type): Ifdef out.
10276         (find_best_packet): Initialize best_packet.
10277         (ia64_encode_section_info): New local string.  Use for ggc_alloc_string
10278         result.
10279         * config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
10280         * config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
10281         (flushrs): Add explicit stop bit at end.
10282         * config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
10283         trailing \ to >.
10284
10285 2001-01-23  Chris Demetriou  <cgd@broadcom.com>
10286
10287         * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
10288         of EH symbols.
10289         * libgcc2.c (__terminate_func): Make variable static.
10290         (__terminate_set_func): New function to set __terminate_func.
10291         * libgcc2.h (__terminate_func_ptr): New typedef.
10292         (__terminate_set_func): New function.
10293
10294 2001-01-23  Richard Henderson  <rth@redhat.com>
10295
10296         * flow.c (init_propagate_block_info): Don't consider unchanging
10297         memories for dead frame store elimination.
10298
10299 2001-01-23  Richard Henderson  <rth@redhat.com>
10300
10301         * varasm.c (UNIQUE_SECTION): Move default implementation ...
10302         * defaults.h: ... here.
10303
10304 2001-01-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10305
10306         * c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
10307
10308 2001-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
10309
10310         * c-lex.c (lex_charconst): Fix typo: s/p/str.
10311
10312 2001-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10313
10314         * rs6000.h (rs6000_return_addr): Move prototype from here...
10315         * rs6000-protos.h (rs6000_return_addr): ...to here.
10316         (rs6000_init_expanders): Delete prototype.
10317
10318 2001-01-23  Nick Clifton  <nickc@redhat.com>
10319
10320         * invoke.texi: Replace , with \, inside @gccoptlist macros.
10321         (Spec Files): Document %B and %j and %. and %v3 and %M and
10322         %{S*&T} spec switches.
10323
10324 2001-01-24  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10325
10326         * c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
10327
10328 2001-01-23  Chris Demetriou  <cgd@sibyte.com>
10329             Neil Booth  <neil@daikokuya.demon.co.uk>
10330
10331         * cpperror.c: Merge handlers of PEDWARN and WARNING.
10332         Have -Werror make pedantic warnings errors, like the
10333         rest of GCC.
10334
10335 2001-01-23  Phil Edwards  <pme@sources.redhat.com>
10336
10337         * c-tree.texi (IDENTIFIER_LENGTH):  Fix typo.
10338
10339 2001-01-23  Jakub Jelinek  <jakub@redhat.com>
10340
10341         * integrate.h (struct inline_remap): Add compare_src, compare_mode.
10342         * integrate.c (expand_inline_function): Initialize them.
10343         (subst_constants): If changing COMPARE so that both its arguments
10344         will be VOIDmode and the comparison mode will be lost, note
10345         compare_mode.  Use the recorded compare_mode to optimize
10346         IF_THEN_ELSE.
10347
10348 2001-01-23  Jason Merrill  <jason@redhat.com>
10349
10350         * dwarf2out.c (new_die): Use xcalloc.
10351         (output_die): Abort rather than emit a local reference to offset 0.
10352
10353 2001-01-17  Andrew Haley  <aph@redhat.com>
10354
10355         * libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
10356         of a saved register; return NULL instead.
10357         (copy_reg): Take a pointer to a source register rather than a
10358         frame_state.
10359         (next_stack_level): Remember the address in the stack frame of all
10360         saved registers.
10361         Use the saved register pointer array as the source of the CFA.
10362         (throw_helper): Rewrite.  Unwind once rather than twice and keep
10363         track of saved registers as we go.
10364
10365 2001-01-23  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10366
10367         * c4x-protos.h (c4x_legitimize_reload_address): Remove.
10368         * c4x.c (c4x_legitimize_reload_address): Remove.
10369         * c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
10370         reload address for ldp(k) insn.
10371
10372 Mon Jan 22 20:53:47 2001  Jeffrey A Law  (law@cygnus.com)
10373
10374         * pa.md (return_internal): Add a USE of the PIC register to ensure
10375         it is restored after each call.
10376         (return expander): Corresponding changes.
10377
10378 2001-01-22  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10379
10380         * rs6000.h (INIT_EXPANDERS): Delete.
10381         (RETURN_ADDR_RTX): Call rs6000_return_addr().
10382         * rs6000.c (rs6000_override_options): Call *_machine_status from
10383         here...
10384         (rs6000_init_expanders): ...instead of here. Delete.
10385         (rs6000_mark_machine_status): New function.
10386         (rs6000_init_machine_status): Use xcalloc.
10387         (rs6000_return_addr): Generate RTX for the return address.
10388         (rs6000_ra_ever_killed): New, check if LR was ever destroyed.
10389         (rs6000_stack_info): Use it.
10390
10391 2001-01-22  Thomas Pfaff  <tpfaff@gmx.net>
10392
10393         * gthr-win32.h: Include errno.h to get a declaration for
10394         EINVAL and _mingw.h if the target is mingw32.
10395
10396 2001-01-22  Andres Felipe Vargas <avargas@teletulua.com.co>
10397
10398         * cpp.texi: Correct typos.
10399
10400 Mon Jan 22 13:59:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10401
10402         * explow.c (probe_stack_range): Ensure value passed to
10403         stack_check_libfunc is ptr_mode, not Pmode.
10404
10405 Mon Jan 22 16:53:06 2001  J"orn Rennecke <amylaar@redhat.com>
10406
10407         * recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
10408         case, don't use operand_subword to calculate a SUBREG that is
10409         wider than a word.
10410
10411         * rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
10412
10413 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10414
10415         * c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
10416         (c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
10417         valid.  If not replace it by equivalent insns.
10418
10419 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10420
10421         * c4x.c (c4x_check_legit_addr): Only check CONST.  Not if CONST
10422         contains SYMBOL_REF, LABEL_REF and CONST_INT.
10423         (c4x_U_constraint, symbolic_address_operand): Likewise.
10424         (c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
10425         memory.
10426         (c4x_r11_set_p, c4x_check_laj_p): New functions.
10427         * c4x-protos.h (c4x_check_laj_p): Add prototype.
10428         * c4x.md (in_annul_slot_3): Do not allow auto-increment in last
10429         anulling slot because of silicon bug.
10430         (laj, lajv): Call c4x_check_laj_p to check for silicon bug.
10431
10432 2001-01-22  Alan Modra <alan@linuxcare.com.au>
10433
10434         * cppexp.c (parse_charconst):  Change `mask' type to agree
10435         with parse_escape.
10436
10437 2001-01-21  Richard Henderson  <rth@redhat.com>
10438
10439         * config/i386/i386.c (ix86_asm_file_end): Disable putting
10440         pic_label_name in a linkonce section.
10441
10442 2001-01-17  Philipp Thomas  <pthomas@suse.de>
10443
10444         * aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
10445         found in libintl.
10446         * configure: Regenerate.
10447
10448 Sun Jan 21 02:38:56 2001  J"orn Rennecke <amylaar@redhat.com>
10449
10450         * expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
10451         uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
10452
10453 Sun Jan 21 09:44:17 2001  Denis Chertykov  <denisc@overta.ru>
10454
10455         * config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
10456         If REVERSE nonzero then condition code in X must be reversed.
10457         (encode_section_info): Optimise if/else.
10458         (avr_function_value): Fix formatting.
10459
10460         * config/avr/avr.md (branch): Call to ret_cond_branch changed.
10461         (difficult_branch): Likewise.
10462         (rvbranch): Likewise.
10463         (difficult_rvbranch): Likewise.
10464
10465         * config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
10466
10467         * config/avr/libgcc.S: Fix comment.
10468
10469 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
10470
10471         * sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
10472
10473 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
10474
10475         * cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
10476
10477 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
10478
10479         * aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
10480         * configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
10481         * configure, config.in: Regenerate.
10482         * Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
10483         (LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
10484         (strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
10485         (doprint.o): New rule.
10486
10487 2001-01-20  Joseph S. Myers  <jsm28@cam.ac.uk>
10488
10489         * c-typeck.c (digest_init): Handle boolean types as scalars.
10490
10491 Sat Jan 20 12:46:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10492
10493         * stmt.c (expand_return): Don't return anything if size is zero.
10494         Delete redundant assignment to BYTES.
10495         * expr.c (move_block_from_reg): Do nothing if NREGS is zero.
10496
10497 2001-01-20  Marek Michalkiewicz  <marekm@linux.org.pl>
10498
10499         * config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
10500         the same as the default library function names.
10501         * config/avr/avr.md: Document special characters after '%'.
10502         (mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
10503         knowing which of the call-used registers are really clobbered.
10504         (divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
10505         New.  Both quotient and remainder from one libgcc.S call.
10506         * config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
10507         clobber as few registers as possible.
10508         * config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
10509
10510 2001-01-20  Neil Booth  <neil@daikokuya.demon.co.uk>
10511
10512         * cppmacro.c (funlike_invocation_p): Don't move back up to the
10513         context of the top of the stack.
10514
10515 2001-01-20  Jakub Jelinek  <jakub@redhat.com>
10516
10517         * function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
10518         (fixup_var_refs_insns): ...here.
10519
10520 2001-01-20  Zack Weinberg  <zack@wolery.stanford.edu>
10521
10522         * function.c (fixup_var_refs_insns): Break up into
10523         fixup_var_refs_insn [body of loop], fixup_var_refs_insns
10524         [loop over entire insn list], and fixup_var_refs_insns_with_hash
10525         [loop over hash table entries].
10526         (fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
10527         fixup_var_refs_insns_with_hash, to match above changes.
10528
10529 2001-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10530
10531         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
10532         (libgcc.a): Likewise.
10533         (stmp-multilib): Likewise.
10534         (STAGE2_FLAGS_TO_PASS): Likewise.
10535
10536 2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
10537
10538         * config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
10539         temporary if no_new_pseudos.
10540
10541 2001-01-19  Neil Booth  <neil@daikokuya.demon.co.uk>
10542
10543         * cppinternals.texi: Update.
10544
10545 2001-01-19  Richard Earnshaw  <rearnsha@arm.com>
10546
10547         * arm.c (arm_init_builtins): Re-enable builtins.
10548
10549 Fri Jan 19 13:02:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10550
10551         * rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
10552         * flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
10553         element to be null, and always expect an EXPR_LIST.
10554         * rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
10555         * sched-deps.c (sched_analyze_1): Likewise.
10556         * sched-rgn.c (check_live_1, update_live_1): Likewise.
10557
10558         * regclass.c (max_set_parallel): New variable.
10559         (reg_scan): Take it into account in computation of max_parallel.
10560         (reg_scan_mark_refs, case SET): Compute it.
10561
10562         * alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
10563         args are REG.
10564         * expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
10565         * function.c (assign_parms): Use INTVAL for a CONST_INT.
10566
10567 2001-01-19  Jason Merrill  <jason@redhat.com>
10568
10569         * dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
10570         for the abstract instance of an inline function.
10571
10572 Fri Jan 19 14:31:35 2001  Alexandre Oliva  <aoliva@redhat.com>
10573                           J"orn Rennecke <amylaar@redhat.com>
10574
10575         * reload1.c (move2add_note_store): Treat all registers directly or
10576         indirectly derived from a base register as members of the same set
10577         of values.
10578         (reload_cse_move2add): Adjust accordingly.  Take mode and offset
10579         of base register into account.
10580
10581 Fri Jan 19 09:18:42 2001  J"orn Rennecke <amylaar@redhat.com>
10582
10583         * alias.c (find_base_value): Recognize TRUNCATE.
10584         (record_set): In PLUS case, invalidate if other summand is also a
10585         base value.
10586
10587 Thu Jan 18 06:43:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10588
10589         * flow.c (mark_set_1, case PARALLEL): New case; rework to allow
10590         entry to be EXPR_LIST.
10591         * rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
10592         be an EXPR_LIST (but not null, which other code doesn't allow).
10593         (note_stores): Properly handle PARALLEL in SET.
10594         Recursively call for top-level PARALLEL.
10595         * sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
10596         * sched-rgn.c (check_live_1, update_live_1): Likewise.
10597
10598         * config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
10599
10600 2001-01-18  Neil Booth  <neil@daikokuya.demon.co.uk>
10601
10602         * cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
10603         not pfile->skipping (== 0).
10604
10605 2001-01-17  Nick Clifton  <nickc@redhat.com>
10606
10607         * config/rs6000/rs6000.c: Add prototypes for {init|free}_
10608         machine_status.
10609
10610 2001-01-17  Jim Wilson  <wilson@redhat.com>
10611
10612         * invoke.texi (IA-64 options): Improve.
10613
10614 2001-01-17  Tom Tromey  <tromey@redhat.com>
10615
10616         * invoke.texi (Optimize Options): Use `{}' to around @samp
10617         argument.
10618
10619 2001-01-17  Aldy Hernandez  <aldyh@redhat.com>
10620
10621         * invoke.texi (-fno-guess-branch-probability): New option.
10622
10623 Wed Jan 17 13:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10624
10625         * combine.c (try_combine): Don't set i3_subst_into_i2 for
10626         case of making new double-word constant.
10627         Revert last change: instead just test i3_subst_into_i2.
10628
10629 2001-01-17  Jakub Jelinek  <jakub@redhat.com>
10630
10631         * config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
10632         Use q constraints instead of r.
10633
10634 Tue Jan 16 22:23:04 2001  Alan Modra (alan@linuxcare.com.au)
10635
10636         * config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
10637         (machine_function): Define.
10638         (PIC_OFFSET_TABLE_SAVE_RTX) : Define.
10639         * config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
10640         pa_free_machine_status): New functions.
10641         (override_options): Set {init,mark,free}_machine_status to above.
10642         (hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
10643         PIC_OFFSET_TABLE_REGNUM_SAVED.
10644         * config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
10645         PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
10646         * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
10647         references to PIC_OFFSET_TABLE_REGNUM_SAVED.
10648         * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
10649
10650 2001-01-15  DJ Delorie  <dj@redhat.com>
10651
10652         * Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
10653         (cpp.1): Ditto.
10654         (gcc.1): Ditto.
10655
10656 Tue Jan 16 17:20:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10657
10658         * flow.c (propagate_one_insn): Make trying to delete a prologue
10659         or epilogue insn an ICE, not a warning.  Allow doing this if
10660         the current function returns with stack pointer depressed.
10661
10662         * combine.c (try_combine): If i3_subst_into_i2, properly check for
10663         I3 having more than one SET.
10664
10665 2001-01-16  Jim Wilson  <wilson@redhat.com>
10666
10667         * invoke.texi: Document IA-64 options.
10668
10669         * config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
10670         (fixup_errata): Delete TARGET_A_STEP use.
10671         * config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
10672         (TARGET_SWITCHES): Delete -ma-step option.
10673         * config/ia64/ia64.md (all FP patterns): Delete %B0.
10674         (movqicc_astep, movqi_internal_astep, movhicc_astep,
10675         movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
10676         movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
10677         movdfcc_astep, movdf_internal_astep, movtfcc_astep,
10678         movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
10679         Delete.
10680         (movqi_internal, movhi_internal, movsi_internal, movdi_internal,
10681         movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
10682         cmovsi_internal): Delete ! TARGET_A_STEP check.
10683
10684 2001-01-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10685
10686         * gcc.texi (Bug Lists): Do not mention newsgroups nor the
10687         possibility to report bugs via postal mail. Change a URL and
10688         merge in a nearly duplicate statement...
10689         (Bug Reporting): ...from here.
10690         (Service): Refer to the Bug Reporting section instead of
10691         duplicating an URL.
10692         (Contributing): Remove trivial explanations concerning snapshots.
10693
10694 2001-01-16  Alan Modra <alan@linuxcare.com.au>
10695
10696         * cppmain.c (general_init): Don't use ANSI prototype.
10697
10698 2001-01-16  Tom Tromey  <tromey@redhat.com>
10699
10700         * gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
10701
10702 2001-01-16  Richard Henderson  <rth@redhat.com>
10703
10704         * config/i386/i386.h: Fix comment typo.
10705         * config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
10706         (ashr+compare patterns): Match CCGOCmode not CCNOmode.
10707
10708 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
10709
10710         * gcc.c:  Revert previous -fsyntax-only-related change; move
10711         to cp/g++spec.c.
10712
10713 2001-01-16  Jakub Jelinek  <jakub@redhat.com>
10714
10715         * config/i386/i386.c (fcmov_comparison_operator): Only initialize
10716         inmode after checking GET_CODE (op).
10717
10718 2001-01-16  Richard Henderson  <rth@redhat.com>
10719
10720         * flow.c (struct propagate_block_info): Add mem_set_list_len.
10721         (MAX_MEM_SET_LIST_LEN): New.
10722         (propagate_one_insn): Update mem_set_list_len.
10723         (invalidate_mems_from_autoinc): Likewise.
10724         (invalidate_mems_from_set): Likewise.
10725         (mark_used_regs): Likewise.
10726         (init_propagate_block_info): Likewise.  Stop collecting memories
10727         when we reach MAX_MEM_SET_LIST_LEN.
10728         (mark_set_1): Likewise.
10729
10730 2001-01-16  Richard Henderson  <rth@redhat.com>
10731
10732         * unroll.c (precondition_loop_p): Fail if no iteration
10733         variable found.
10734
10735 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
10736
10737         * gcc.c:  When -fsyntax-only is given, do not complain about
10738         unused libraries.
10739
10740 2001-01-15  Richard Henderson  <rth@redhat.com>
10741
10742         * config/i386/i386.c (asm_output_function_prefix): Remove.
10743         (ix86_asm_file_end): New.
10744         (load_pic_register): Generate pic_label_name into a
10745         staticly allocated buffer.
10746         * config/i386/i386-protos.h: Update.
10747         * config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
10748         (ASM_FILE_END): New.
10749         * config/i386/i386afe.h: New file.
10750         * config.gcc (i?86-*-elf) [tm_file]: Use it.
10751         (i?86-*-{freebsd,linux*,moss*}): Likewise.
10752         * config/elfos.h (ASM_FILE_END): Undef before redefinition.
10753         * config/i386/cygwin.h (ASM_FILE_END): Likewise.
10754         * config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
10755         * config/i386/sco5.h (ASM_FILE_END): Likewise.
10756         * config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
10757
10758 2001-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
10759
10760         * Makefile.in (install-man): Remove explicit dependency on
10761         $(srcdir)/gcc.1.
10762
10763         * configure.in, configure: Revert previous patch requiring perl
10764         5.6.0.
10765
10766 2001-01-12  Aldy Hernandez  <aldyh@redhat.com>
10767
10768         * toplev.c (flag_guess_branch_prob): New.
10769         (f_options): Add guess-branch-probability option.
10770         (rest_of_decl_compilation): Only estimate branch probability if
10771         flag set.
10772         (main): set flag_guess_branch_prob.
10773
10774         * flags.h (flag_guess_branch_prob): New.
10775
10776 2001-01-15  DJ Delorie  <dj@redhat.com>
10777
10778         * gcc.texi (Makefile): Add documentation for Makefile targets.
10779
10780 2001-01-15  Philip Blundell  <philb@gnu.org>
10781
10782         * config/arm/arm.c (arm_finalize_pic): New arg "prologue".
10783         (is_pic): Delete.
10784         * config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
10785         (is_pic): Delete declaration.
10786         * config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
10787         (OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
10788         * config/arm/arm.md (builtin_setjmp_receiver): New.
10789
10790 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
10791
10792         * arm.c (use_return_insn): Don't try to determine the function type
10793         until after reload has completed.
10794         (arm_output_epilogue): Don't adjust the sp value recovered from the
10795         stack.
10796         (emit_multi_reg_push): Don't record dwarf information for the pc.
10797         * arm.md (eh_epilogue): The function type may have changed, so it
10798         needs to be recalculated.
10799         * arm/netbsd.h (DWARF2_UNWIND_INFO): Delete.  Can now use dwarf2
10800         unwind tables on arm/netbsd.
10801
10802 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
10803
10804         * arm.md (cbranchsi4): Correct calculation of branch ranges.
10805         (negated_cbranchsi4): Likewise.
10806
10807 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
10808
10809         * config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
10810         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
10811         (ASM_SPEC): Call subtarget_extra_asm_spec.  Don't
10812         pass -mapcs-* options to assembler.
10813         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
10814         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
10815         (ASM_SPEC): Call subtarget_extra_asm_spec.
10816
10817 2001-01-15  Andreas Jaeger  <aj@suse.de>
10818
10819         * config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
10820         warnings.
10821         (ix86_expand_builtin): Likewise.
10822
10823         * gencodes.c (output_predicate_decls): Make i size_t to avoid
10824         warning about comparison between signed and unsigned.
10825
10826 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
10827
10828         * expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
10829
10830 2001-01-14  Ralf Baechle <ralf@gnu.org>
10831
10832         * config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
10833         SUBTARGET_CPP_SPEC apropriatly.
10834
10835 2001-01-12  Mark Mitchell  <mark@codesourcery.com>
10836
10837         * varasm.c (make_decl_rtl): Fix typo in last change.
10838
10839 2001-01-14  Jeffrey Oldham  <oldham@codesourcery.com>
10840
10841         * defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
10842         linker supports the init_priority C++ attribute.
10843         * tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
10844         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
10845         linker does not support init_priority C++ attribute.
10846
10847 Sun Jan 14 22:31:30 2001  J"orn Rennecke <amylaar@redhat.com>
10848
10849         * Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
10850
10851 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
10852
10853         * c-parse.in (finish_parse): Add comment about cpp_destroy.
10854         * cp/lex.c (finish_parse): Similarly.
10855         * cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
10856         Return the number of errors encountered.
10857         * cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
10858         * cppmain.c (main): Don't call cpp_destroy.
10859
10860 2001-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
10861
10862         * configure.in: Require at least perl 5.6.0 to regenerate
10863         manpages.
10864         * configure: Regenerate.
10865
10866 2001-01-14  Richard Henderson  <rth@redhat.com>
10867
10868         * genrecog.c (DT_veclen_ge): New.
10869         (add_to_sequence) [MATCH_PARALLEL]: Generate one.
10870         (maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
10871         (nodes_identical_1): Handle DT_veclen_ge.
10872         (write_cond, debug_decision_2): Likewise.
10873
10874 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
10875
10876         * arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete.  Replace
10877         with ...
10878         (ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
10879
10880 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
10881
10882         * cppmain.c (do_preprocessing): New function; most of the old
10883         main.
10884         (main): Call it to do most of the work.
10885         (cb): Move from global scope to set_callbacks ().
10886         (setup_callbacks): Get the callback pointer.
10887         (general_init, printer_init): Clean up code and comments.
10888
10889 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
10890
10891         * config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
10892         compiling PIC.
10893
10894 2001-01-14  Kazu Hirata  <kazu@hxi.com>
10895
10896         * config/h8300/h8300.c (get_shift_alg): Update comments.
10897
10898 Sun Jan 14 06:20:49 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10899
10900         * ggc-page.c (alloc_annon): Call perror and correctly call exit.
10901         (alloc_page, ggc_alloc): Add casts to remove warnings.
10902
10903 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
10904
10905         * combine.c (simplify_comparison): Don't change `code' when
10906         can't reverse comparison.
10907
10908 2001-01-14  Richard Henderson  <rth@redhat.com>
10909
10910         * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
10911         update all call sites.  Return true for all non-label constants.
10912
10913 Sun Jan 14 10:09:48 MET 2001  Jan hubicka  <jh@suse.cz>
10914
10915         * i386.c (ix86_expand_compare): Add bypass_test and second_test
10916         parameters.
10917         (ix86_expand_branch): Update.
10918         (ix86_expand_setcc): Update to handle multiple test conditions.
10919         (expand_int_movcc): Likewise.
10920         (expand_fp_movcc): Likewise.
10921         * i386-protos.h (ix86_expand_compare): New.
10922         * i386.md (andqi_?_slp, orqi_?_slp): New.
10923         (conditional trap expander): Update call to ix86_expand_compare.
10924
10925 2001-01-14  Richard Henderson  <rth@redhat.com>
10926
10927         * config/vax/vax.md: Use nonimmediate_operand instead of
10928         general_operand in destinations.
10929
10930         * config/vax/vax.md (indirect_jump): Use register_operand.
10931
10932         * config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
10933         * config/vax/vax.md (call_pop): Turn into an expander.
10934         (call_value_pop): Likewise.
10935         (call, call_value): New.
10936
10937 2001-01-14  Andreas Jaeger  <aj@suse.de>
10938
10939         * config/i386/i386.c (ix86_split_fp_branch): Remove unused
10940         variables.
10941         (ix86_fp_compare_mode): Add unused attribute.
10942         (ix86_expand_fp_movcc): Remove unused variable.
10943         (ix86_expand_builtin): Make fcode unsigned.
10944
10945         * expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
10946         (expand_expr): Add cast to avoid signed warning.
10947         (store_field): Likewise.
10948         (store_constructor_field): Likewise.
10949         (store_constructor): Likewise.
10950         (store_expr): Likewise.
10951         (clear_storage): Likewise.
10952         (emit_group_store): Likewise.
10953         (emit_group_load): Likewise.
10954
10955 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
10956
10957         * c-common.c: Move format checking code to ...
10958         * c-format.c: ... here.  New file.  Reorder some functions and
10959         declarations.
10960         (decl_handle_format_attribute, decl_handle_format_arg_attribute):
10961         New functions.
10962         * c-common.h (decl_handle_format_attribute,
10963         decl_handle_format_arg_attribute): Declare.
10964         * Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
10965         (c-common.o): Adjust dependencies.
10966         (c-format.o): New list of dependencies.
10967
10968 2001-01-13  Jakub Jelinek  <jakub@redhat.com>
10969
10970         * unroll.c (loop_iterations): If we cannot prove iteration variable
10971         is set once in each iteration, punt.
10972
10973 Sun Jan 14 00:23:15 2001  Denis Chertykov  <denisc@overta.ru>
10974
10975         * config/avr/avr.md ("strlenhi"): Remove clobber of input address.
10976         (*strlenhi): Remove clobber (which was buggy) of output address.
10977
10978 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
10979
10980         * Makefile.in (generated-manpages): Add gcc.1
10981         ($(srcdir)/gcc.1): New target.
10982         (maintainer-clean): Delete $(srcdir)/gcc.1.
10983         * gcc.texi: Add macros @gccoptlist and @gol.
10984         * invoke.texi: Include option summary in manpage.  Mark up option
10985         summary with @gccoptlist and @gol.  Use @r in one place where
10986         appropriate.
10987         * texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
10988         * gcc.1: Generate from invoke.texi.
10989
10990 2001-01-13  Richard Henderson  <rth@redhat.com>
10991
10992         * ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
10993         (struct page_entry): Add group member.
10994         (struct page_group): New.
10995         (struct globals): Add page_groups member.
10996         (alloc_anon): Only define for using mmap; remove valloc call.
10997         (page_group_index): New.
10998         (set_page_group_in_use): New.
10999         (clear_page_group_in_use): New.
11000         (alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
11001         (free_page, release_pages): Likewise.
11002         * configure.in (with-gc): Default to ggc-page always.
11003
11004 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
11005
11006         * reload1.c (replace_pseudos_in_call_usage): Use
11007         reg_equiv_constant and reg_equiv_address, and don't try
11008         regno_reg_rtx first.
11009
11010 2001-01-13  Richard Henderson  <rth@redhat.com>
11011
11012         * ggc-page.c (alloc_page): Round up allocation size to one page.
11013         Set e->order on extra pages.
11014
11015 2001-01-13  Richard Henderson  <rth@redhat.com>
11016
11017         * genrecog.c (nodes_identical): Expand commentary.
11018         (write_switch): Watch out for identical nodes.
11019
11020 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11021
11022         * cppfiles.c (_cpp_fake_include): New function.
11023         * cpphash.h (_cpp_fake_include): New.
11024         * cpplib.c (do_line): Call _cpp_fake_include when entering
11025         header files in preprocessed input.
11026         * cppmain.c (cb_pragma_implementation): Remove handling.
11027         (setup_callbacks): Don't register pragmas.
11028
11029 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11030
11031         * extend.texi: Udate for CPP.
11032
11033 2001-01-13  Andreas Jaeger  <aj@suse.de>
11034
11035         * reload1.c: Add prototype for replace_pseudos_in_call_usage.
11036
11037         * regmove.c: Add prototype for replace_in_call_usage.
11038
11039 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11040
11041         * cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
11042         struct cpp_chunk, struct htab, struct toklist,
11043         struct cpp_context, CPP_STACK_MAX, struct lexer_state,
11044         struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
11045         CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
11046         ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
11047         (struct macro_args): Delete.
11048         * cpphash.h: See above.
11049
11050 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11051
11052         * cppmain.c (struct printer): Remove no_line_dirs.
11053         (options, cb): New.
11054         (main, setup_callbacks, scan_buffer, printer_init, cb_define)
11055         : Use options rather than CPP_OPTION.
11056         (setup_callbacks): Use cb rather than pfile->cb.
11057         (main): No need to check for a buffer.  Use cpp_errors.
11058         (printer_init): Don't set no_line_dirs.
11059         (maybe_print_line): Use options not no_line_dirs.
11060         (cb_file_change): Don't call print_line if -P.
11061
11062 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11063
11064         * c-lex.c (init_c_lex): Use cpp_get_callbacks to set
11065         callbacks.
11066         * c-parse.in (finish_parse): Use cpp_errors.
11067         (__yylex): Use return value of cpp_pop_buffer.
11068         * cp/lex.c (finish_parse): Use cpp_errors.
11069         * cp/spew.c (read_token): Use return value of cpp_pop_buffer.
11070
11071 Sat Jan 13 16:57:40 2001  Denis Chertykov  <denisc@overta.ru>
11072
11073         * README.AVR: URLs corrected.
11074
11075 Sat Jan 13 07:30:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11076
11077         * c-decl.c (start_function): Don't warn if old prototype is builtin
11078         that's not in C's namespace.
11079         * libgcc2.c (_varargs): Update definition of __builtin_saveregs.
11080         (_bb): Add prototype for ctime.
11081         * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
11082
11083 Sat Jan 13 09:53:32 MET 2001  Jan Hubicka  <jh@suse.cz>
11084
11085         * i386.c (ix86_fp_comparison_arithmetics_cost,
11086         ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
11087         ix86_fp_comparison_cost): New functions.
11088         (ix86_expand_fp_compare): Use the costs to choose best bethod; add
11089         two new parameters SECOND_TEST and BYPASS_TEST; allow generating
11090         two-branch sequences; make static.
11091         (ix86_use_fcomi_compare): Do decision according to the costs.
11092         (split_fp_branch): New.
11093         * i386.md (compare-and-branch patterns): Use split_fp_branch.
11094         * i386-protos.h (ix86_expand_fp_compare): Remove
11095         (ix86_split_fp_branch): Declare.
11096
11097         * i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
11098         and ix86_comparison_operator.
11099
11100         * i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
11101         to make it cheaper.
11102
11103         * i386.c (put_condition_code): Output properly the unordered/ordered
11104         compares in fp case.
11105         (ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
11106
11107         * tm.texi (REVERSE_CONDITION): Document.
11108         * i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
11109         in -ffast-math mode.
11110         * i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
11111
11112 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
11113
11114         * config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
11115
11116         * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
11117         optimized away.
11118
11119         * config/sh/sh.c (mova_p): Fix test for mova_const.
11120
11121 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11122
11123         * fix-header.c (read_scan_file): Use cpp_get_callbacks and
11124         cpp_get_options rather than dereferencing pfile and using
11125         CPP_OPTION.
11126         * scan-decls.c (scan_decls): Use return value of
11127         cpp_pop_buffer rather than CPP_BUFFER.
11128
11129 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11130
11131         * cppinit.c (cpp_handle_option): help_only is now part of the
11132         cpp_options structure.
11133         * cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
11134         cpp_set_callbacks): New functions.
11135         * cpplib.h (cpp_callbacks): Break out as a named structure.
11136         (cpp_options): Move help_only here from cpp_reader.
11137         (CPP_FATAL_ERRORS): Update to use cpp_errors.
11138         (cpp_errors, cpp_get_options, cpp_get_callbacks,
11139         cpp_set_callbacks): New prototypes.
11140         * cppmain.c (main): Update for help_only.
11141
11142 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
11143
11144         * Makefile.in (info, maintainer-clean, install-info, uninstall):
11145         Also build and remove and install and uninstall c-tree.info and
11146         cppinternals.info.
11147         ($(srcdir)/gcc.info): Add dependency on contrib.texi.
11148         ($(srcdir)/cppinternals.info): New target.
11149         * c-tree.texi: Change file name used when makeinfo used without -o
11150         from ir.info to c-tree.info.  Add info directory entry.
11151         * cppinternals.texi: Add info directory entry.
11152         * .cvsignore: Update.
11153
11154 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
11155
11156         * c-typeck.c (store_init_value): Don't require constant initializer
11157         elements with -pedantic -std=c99.
11158         (digest_init): Change error about non-constant initializer elements
11159         into pedwarn.
11160         (constructor_range_end): Remove.
11161         (constructor_incremental, designator_depth,
11162         designator_errorneous): New variables.
11163         (struct constructor_stack): Remove range_end, add incremental.
11164         (struct constructor_range_stack, constructor_range_stack): New.
11165         (struct initializer_stack): Add constructor_range_stack.
11166         (finish_init): Set it.
11167         (start_init): Likewise.  require_constant_elements for non-static
11168         trees only if not flag_isoc99.
11169         (really_start_incremental_init): Remove constructor_range_end, add
11170         constructor_incremental.
11171         (pop_init_level): Likewise.
11172         (push_init_level): Likewise.  If implicit and the subobject had some
11173         value set already, preinitialize the level with it.
11174         Warn about missing braces only if not pushing due to designators.
11175         (set_designator, push_range_stack): New functions.
11176         (set_init_label): Use them.
11177         (set_init_index): Likewise.  Remove constructor_range_end.
11178         Error if designator index is outside of array bounds.
11179         (add_pending_init): Compare values of purpose index trees, not the
11180         trees themselves.  Allow overwriting of already initialized element.
11181         Issue a warning if it had side-effects.
11182         (set_nonincremental_init, set_nonincremental_init_from_string): New
11183         functions.
11184         (pending_init_member): Rename to...
11185         (find_init_member): ...this function.  Call set_nonincremental_init
11186         if necessary.  Compare values of purpose index trees, not the trees
11187         themselves.  Return the actual value, not just non-zero if something
11188         is found.
11189         (output_init_element): Remove checks for duplicates.
11190         If field has zero size, only check the initializer for correctness.
11191         Call set_nonincremental_init if necessary.  Push RECORD/ARRAY into AVL
11192         if constructor_incremental is zero.  Change error about initializers
11193         not computable at load time into pedwarn.
11194         (output_pending_init_elements): Compare bit positions, not
11195         FIELD_DECLs to take into account zero-sized fields.
11196         (process_init_element): Use constructor_range_stack to fill all
11197         ranges in the designator lists from current level up.
11198         * extend.texi: Update documentation for labeled elements.
11199
11200 2001-01-12  Alexandre Oliva  <aoliva@redhat.com>
11201
11202         * calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
11203         to function usage for arguments passed by reference.  Optimize
11204         callee-copied arguments.
11205         * regmove.c (replace_in_call_usage): New function.
11206         (fixup_match_1): Call it.
11207         * cse.c (cse_insn): Canonicalize registers in function usage.
11208         * reload1.c (replace_pseudos_in_call_usage): New function.
11209         (reload): Call it.
11210
11211         * Makefile.in: Reverted yesterday's wrong patch.  Installed the
11212         right version.
11213
11214 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
11215
11216         * config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
11217         not XEXP (tmp, 0).
11218
11219 2001-01-12  DJ Delorie  <dj@redhat.com>
11220
11221         * Makefile.in (bootstrap): rename stages to be mnemonic.  Add
11222         restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
11223         targets.
11224
11225 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
11226
11227         * cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
11228         tm.texi: Consistently refer to ISO C instead of ANSI C.  Refer to
11229         -std options alongside references to -ansi.  Update some
11230         documentation for C99.
11231         * cpp.1: Regenerate.
11232
11233 2001-01-12  Andreas Jaeger  <aj@suse.de>
11234
11235         * haifa-sched.c (restore_line_notes): Remove argument block B
11236         since it's unused.
11237         * sched-ebb.c (schedule_ebb): Change caller.
11238         * sched-rgn.c (schedule_region): Likewise.
11239         * sched-int.h (restore_line_notes): Adjust prototype.
11240
11241         * loop.h: Remove wrong declaration of doloop_condition_get.
11242
11243 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
11244
11245         * extend.texi:  Move C++-extension-related node from the C section
11246         into the C++ section.
11247
11248 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
11249
11250         * extend.texi: Refer to an array of pointers to functions instead
11251         of one of functions.
11252
11253 Fri Jan 12 12:08:12 MET 2001  Andreas Jaeger  <aj@suse.de>
11254                               Jan Hubicka  <jh@suse.cz>
11255
11256         * combine.c (reversed_comparison): Fix typo in last patch.
11257         Check X for NULL.
11258         (combine_reversed_comparison_code): Make static to follow
11259         prototype declaration.
11260
11261 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
11262
11263         * install.texi:  Remove misplaced duplicate entry.
11264
11265 2001-01-11  Ulrich Drepper  <drepper@redhat.com>
11266
11267         * config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
11268
11269 Thu Jan 11 17:06:30 EST 2001  John Wehle  (john@feith.com)
11270
11271         * final.c: (leaf_function_p): Fix typo.
11272
11273 2001-01-11  Zack Weinberg  <zack@wolery.stanford.edu>
11274
11275         * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
11276         Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
11277         which you have.
11278         (AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
11279         * configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
11280         mmap_anon, and valloc is available.
11281         * ggc-page.c: Restructure ifdef logic to match new autoconf
11282         spec.  Don't throw away the test page in init_ggc.
11283
11284         * configure, config.in: Regenerate.
11285
11286 2001-01-12  Michael Hayes  <mhayes@redhat.com>
11287
11288         * loop.h (total_biv_increment): Constify iv_class pointer.
11289         (struct induction): Replace `mem_mode' with `mem' rtx.
11290         * unroll.c (total_biv_increment): Constify iv_class pointer.
11291         * loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
11292         (find_mem_givs, combine_givs_p): Likewise.
11293         (debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
11294
11295 2001-01-10  Thomas Pfaff <tpfaff@gmx.net>
11296
11297         * gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
11298         LastError.
11299         (__gthread_getspecific): Ditto.
11300
11301 Fri Jan 12 00:04:00 MET 2001  Jan Hubicka  <jh@suse.cz>
11302
11303         * i386.c (ix86_comparison_operator, fcmov_comparison_operator,
11304         put_condition_code): Convert fp comparison codes to integer
11305         before handling.
11306         (ix86_expand_fp_compare): Postnote the fp comparison code converison
11307         to final.
11308
11309         * i386.c (unsigned_comparison, no_comparison_operator): Kill.
11310         * i386-protos.h (no_comparison_operator): Kill.
11311
11312         * i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
11313
11314         * combine.c (REVERSIBLE_CC_MODE): Remove.
11315         (reversible_comparison_p): Remove.
11316         (combine_reversed_comparison_code): New.
11317         (reversed_comparison): New.
11318         (combine_simplify_rtx): Use
11319         combine_reversed_comparison_code/reversed_comparison instead
11320         of reversible_comparison_p.
11321         (simplify_if_then_else): Likewise.
11322         (simplify_set): Likewise.
11323         (simplify_logical): Likewise.
11324         (if_then_else_cond): Likewise.
11325         (known_cond): Likewise.
11326         (simplify_comparison): Likewise.
11327
11328 2001-01-11  Alan Lehotsky  <lehotsky@tiac.net>
11329
11330         * builtins.c (std_expand_builtin_va_start): Handle varargs when
11331         sizeof (int) is larger than sizeof(__word__).
11332
11333 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11334
11335         * cppinit.c (do_includes): Fix typo.
11336
11337 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11338
11339         * config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
11340         in S_REGS does not occur because not all sources are possible
11341         when a S_REGS is a destination (sometimes needs a clobber).
11342         (movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
11343         (zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
11344         (anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
11345         (ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
11346         (ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
11347         (ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
11348         (lshrdi_const1, lshrsi3_const16): Likewise.
11349         (*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
11350         (*movhi_68hc12, *movqi_68hc12): Likewise.
11351         (movstrictqi): Make sure reloading in D_REGS as a destination
11352         does not happen.
11353
11354 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11355
11356         * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
11357
11358 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11359
11360         * cppinit.c (cpp_start_read): If -fpreprocessed, ignore
11361         -D, -U and -A, and don't initialize the builtins.
11362         (do_includes): Error if -include or -imacros with -fpreprocessed.
11363         * cppmain.c (cb_define, cb_undef): Unconditionally process
11364         the callback.
11365         * tradcpp.c (main): Fix typo.
11366
11367 2000-01-11  Mark Elbrecht  <snowball3@bigfoot.com>
11368
11369         * cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
11370         (read_name_map): Use IS_ABSOLUTE_PATH.
11371         * tradcpp.c (get_filename): Likewise.
11372
11373 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11374
11375         * config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
11376         (*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
11377         (*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
11378         (*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
11379         (*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
11380         (cmphi_z_used): Don't use '@' for the output.
11381         (tstqi_z_used): Likewise.
11382         (cmpqi_z_used): Likewise.
11383         (one_cmplsi2): Likewise.
11384
11385 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
11386
11387         * config/sh/sh.c (barrier_align): Recognize branch around far
11388         branch and redundant insn.
11389
11390 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11391
11392         * invoke.texi: Restore documentation of the drivers' switches -MD
11393         and -MMD.
11394
11395 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
11396
11397         * config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
11398
11399         * Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
11400         check-objc//%): Support parallel testing of multilibs.
11401         (TESTSUITEDIR): Set to testsuite by default, but override for
11402         parallel testing.
11403         (check-gcc, check-g++, check-g77, check-objc): Enter
11404         $(TESTSUITEDIR).
11405
11406 2001-01-11  Bernd Schmidt  <bernds@redhat.com>
11407
11408         * alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
11409         * sched-deps.c (deps_may_trap_p): Likewise.
11410         * basic-block.h: Remove a comment.
11411         * flow.c (PROP_POSTRELOAD): Remove.
11412         (update_life_info): Don't add it to prop_flags.
11413         (mark_set_1): Lose the code that was enabled by it.
11414
11415 2001-01-11  Michael Hayes  <mhayes@redhat.com>
11416
11417         * flow.c (flow_call_edges_add): New.
11418         * basic_block.h (flow_call_edges_add): New.
11419
11420 2001-01-11  J"orn Rennecke <amylaar@redhat.com>
11421
11422         * reload1.c (move2add_note_store): Update reg_set_luid even if
11423         base reg remains the same.
11424
11425 2001-01-10  Nick Clifton  <nickc@redhat.com>
11426
11427         * config/d30v/d30v.c (d30v_init_machine_status): Initialise
11428         machine_function structure to zero.
11429         Add prototypes for machine_status functions.
11430
11431 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
11432
11433         * c-common.h (CTI_VOID_LIST): Remove.
11434         (void_list_node): Likewise.
11435         * tree.h (TI_VOID_LIST_NODE): New enumeral.
11436         (void_list_node): New macro.
11437         * config/arm/arm.c (arm_init_builtins): Use void_list_node.
11438         * config/i386/i386.c (ix86_init_builtins): Likewise.
11439         * config/ia64a/ia64.c (ia64_init_builtins): Likewise.
11440
11441 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
11442
11443         * Makefile.in (tradcpp0): Depend on mkdeps.h.  Link mkdeps.o
11444         * cppinit.c (cpp_start_read): Update comment, remove unneeded
11445         if statement.
11446         * tradcpp.c: Include mkdeps.h.
11447         (deps, print_deps_phony_targets, deps_append, output_deps,
11448         init_dependency_output, output_deps): New.
11449         (deps_buffer, deps_allocated_size, deps_size, deps_column,
11450         deps_output): Delete.
11451         (print_deps_missing_files): Rename deps_missing_files.
11452         (inhibit_output): Make global.
11453         (main): Delete inhibit_output, deps_stream, deps_target.
11454         Use mkdeps functionality in the same way as cpplib.  Remove
11455         -g3 handling.  Handle -MF, -MP, -MQ, -MT.  Update handling of
11456         -M and -MM.  Remove old handling of deps via deps_out, and
11457         old reading of environment variables.
11458         (get_filename): Update to use deps_add_dep.
11459
11460 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
11461
11462         * output.h (make_function_rtl): Remove prototype.
11463         (make_decl_rtl): Likewise.
11464         * varasm.c (make_function_rtl): Remove.
11465         (make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
11466         than from a third parameter.
11467         * tree.h (make_decl_rtl): Remove last parameter.
11468         * c-decl.c (builtin_function): Remove last argument in call to
11469         make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
11470         (start_function): Likewise.
11471         * except.c (call_get_eh_context): Likewise.
11472         * expr.c (emit_block_move): Likewise.
11473         (clear_storage): Likewise.
11474         * profile.c (output_func_start_profiler): Likewise.
11475         * toplev.c (rest_of_decl_compilation): Likewise.
11476         * objc/objc-act.c (create_builtin_decl): Likewise.
11477         (synth_module_prologue): Likewise.
11478         (generate_static_reference): Likewise.
11479         (build_selector_reference_decl): Likewise.
11480         (build_class_reference_decl): Likewise.
11481         (build_objc_string_decl): Likewise.
11482         (build_protocol_reference): Likewise.
11483
11484 2001-01-10  Richard Henderson  <rth@redhat.com>
11485
11486         * hwint.h: Revert yesterday's change.
11487
11488 2001-01-10  Nick Clifton  <nickc@redhat.com>
11489
11490         * function.h (save_machine_status): Delete.
11491         (restore_machine_status): Delete.
11492         Amend comment describing {init|mark|free}_machine_status.
11493
11494         * function.c (save_machine_status): Delete.
11495         (restore_machine_status): Delete.
11496         Amend comment describing {init|mark|free}_machine_status.
11497         (push_function_context_to): Remove invocation of
11498         save_machine_status.
11499         (pop_function_context_from): Remove invocation of
11500         restore_machine_status.
11501
11502         * emit-rtl.c (init_emit_once): Amend comment describing
11503         {init|mark|free}_machine_status.
11504
11505         * tm.texi (Per-Function Data): New node.  Describe the
11506         INIT_EXPANDERS macro and the {init|mark|free}_machine_status
11507         function pointers.
11508
11509 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
11510
11511         * cppinit.c (OPT_g): Remove.
11512         (cpp_handle_option): Update for removed -g3.
11513         (print_help): Update.
11514         * cpplib.h (struct cpp_options): Remove debug_output.
11515         * cppmain.c (setup_callbacks, cb_define): Update.
11516         * gcc.c (cpp_options): Translate -g3 to -dD.
11517
11518 2001-01-10  Aldy Hernandez  <aldyh@redhat.com>
11519
11520         * config/i960/i960.md: Change modifier to + on the zero_extract
11521         pattern after the (rotate -2 reg) canonicalization pattern.
11522
11523 2001-01-10  Richard Henderson  <rth@redhat.com>
11524
11525         * config/alpha/alpha.c (alpha_free_machine_status): New.
11526         (override_options): Install it.
11527         (alpha_mark_machine_status): Verify machine non-null.
11528         * config/i386/i386.c (ix86_free_machine_status): New.
11529         (override_options): Install it.
11530         (ix86_init_machine_status): Use xcalloc.
11531         (ix86_mark_machine_status): Verify machine non-null.
11532         * config/ia64/ia64.c (ia64_free_machine_status): New.
11533         (ia64_override_options): Install it.
11534         (ia64_mark_machine_status): Verify machine non-null.
11535
11536 Wed Jan 10 11:34:39 2001  Jeffrey A Law  (law@cygnus.com)
11537
11538         * function.c (instantiate_virtual_regs): Instantiate virtual
11539         registers found in CALL_INSN_FUNCTION_USAGE.
11540
11541 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
11542
11543         * i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
11544         equivalent to -ansi in disabling -Di386.
11545
11546 Wed Jan 10 16:38:31 MET 2001  Jan Hubicka  <jh@suse.cz>
11547
11548         * i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
11549         new functions.
11550         (ix86_expand_fp_compare): Make trivial use of new infrastructure.
11551
11552 2001-01-10  Richard Earnshaw  <rearnsha@arm.com>
11553
11554         * arm.c (arm_init_builtins): Temporarily disable xscale builtins.
11555
11556 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
11557
11558         * invoke.texi: Document that -fcond-mismatch isn't supported for
11559         C++.
11560
11561 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
11562
11563         * gcc.texi: Define macro gcctabopt.
11564         * invoke.texi: Add manpage sections BUGS and AUTHOR.  Use
11565         @command, @env and @option in some places where appropriate.  Use
11566         @gcctabopt where appropriate.  Put URLs and email addresses inside
11567         @w.
11568
11569 2001-01-10  Nathan Sidwell  <nathan@codesourcery.com>
11570
11571         * gcc.c (cpp_options): Set MD file name from output
11572         filename, if specified.
11573         (suffix_subst): New static variable.
11574         (do_spec): Clear it.
11575         (do_spec_1, case '.'): Handle new `%.suffix' spec.
11576         Clear it.
11577         (give_switch): Handle suffix_subst.
11578
11579 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
11580
11581         * invoke.texi:  Fix another typo.
11582
11583 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
11584
11585         * invoke.texi:  Fix typo.
11586
11587 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
11588
11589         * c-lang.c (lang_hooks): Update.
11590         (lang_decode_option): Remove.
11591         (lang_init_options): Rename c_init_options.
11592         * toplev.c (main): Use lang_hooks for lang_init_options
11593         and lang_decode_option.
11594         * toplev.h (lang_hooks): Add 2 new hooks.
11595         * tree.h: Remove lang_init_options and lang_decode_option.
11596         * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
11597         * cp/decl2.c: Similarly.
11598         * cp/lex.c (lang_init_options): Rename cxx_init_options.
11599         (lang_hooks): Update.
11600         * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
11601         for consistency.
11602         (lang_init_options): Rename ffe_init_options.
11603         (lang_hooks): Update.
11604         (lang_decode_option): Remove.
11605         * java/lang.c (lang_init_options): Rename java_init_options.
11606         (lang_decode_option): Rename java_decode_option.
11607         (lang_hooks): Update.
11608         * objc/objc-act.c (lang_init_options): Rename objc_init_options.
11609         (lang_decode_option): Rename objc_decode_option.
11610         (lang_hooks): Update.
11611
11612 2001-01-09  Nick Clifton  <nickc@redhat.com>
11613
11614         * config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
11615         (d30v_return_addr_rtx): Delete.
11616         (d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
11617         cfun->machine structure.
11618         (struct machine_function): Move to d30v.h
11619         (d30v_save_machine_status): Delete.
11620         (d30v_restore_machine_status): Delete.
11621         (d30v_init_machine_status): New Function.
11622         (d30v_mark_machine_status): New Function.
11623         (d30v_free_machine_status): New Function.
11624         (d30v_init_expanders): Use new functions.
11625         (d30v_return_addr): Use ra_rtx field in cfun->machine.
11626         (d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
11627         d30v_return_addr_rtx.
11628
11629         * config/d30v/d30v.h (struct_machine): Move here.
11630         Add eh_epilogue_sp_ofs field.
11631
11632         *config/d30v/d30v.md (epilogue): Initialise eh_epilogue_sp_ofs
11633         field in cfun->machine structure.
11634
11635 Tue Jan  9 21:34:57 2001  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11636
11637         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
11638         PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
11639         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
11640
11641 Tue Jan  9 21:25:19 2001  Jeffrey A Law  (law@cygnus.com)
11642
11643         * objc/lang-options.h: Remove bogus reference to
11644         Java trademark.
11645
11646 2001-01-09  Kazu Hirata  <kazu@hxi.com>
11647
11648         * config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
11649         return the result.
11650
11651 2001-01-09  Alan Lehotsky  <lehotsky@tiac.net>
11652
11653         * reload.c (find_reloads_address): Check for eliminable registers
11654         when substituting a constant expression for a pseudo.
11655
11656 2001-01-09  Joseph S. Myers  <jsm28@cam.ac.uk>
11657
11658         * c-common.c (enum format_type): Add format_type_error.
11659         (decode_format_type): New function.
11660         (decl_attributes): Use it.
11661         (format_kind_info): Adjust comment.
11662
11663 2001-01-09  David O'Brien  <obrien@BSDi.com>
11664
11665         * config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
11666         i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
11667         files in tm_file.
11668         * config/i386/gnu.h: Don't include required platform specific .h files,
11669         tm.h will do it instead.
11670         * config/i386/i386elf.h: Likewise.
11671         * config/i386/linux.h: Likewise.
11672         * config/i386/moss.h: Likewise.
11673         * config/mips/gnu.h: Likewise.
11674
11675 2001-01-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11676
11677         * config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
11678         (rs6000-ibm-aix3.[01]*): Likewise.
11679         (rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
11680         (rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
11681         (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
11682         (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
11683         (powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
11684         (powerpc-*-eabiaix*): Likewise.
11685         (powerpc-*-eabisim*): Likewise.
11686         (powerpc-*-elf*): Likewise.
11687         (powerpc-*-eabi*): Likewise.
11688         (powerpc-*-rtems*): Likewise.
11689         (powerpc-*-linux*libc1): Likewise.
11690         (powerpc-*-linux*): Likewise.
11691         (powerpc-wrs-vxworks*): Likewise.
11692         (powerpcle-wrs-vxworks*): Likewise.
11693         (powerpcle-*-sysv*): Likewise.
11694         (powerpcle-*-elf*): Likewise.
11695         (powerpcle-*-eabisim*): Likewise.
11696         (powerpcle-*-eabi*): Likewise.
11697         (powerpcle-*-solaris2*): Likewise.
11698         * config/rs6000/aix31.h: Delete includes.
11699         * config/rs6000/aix3newas.h: Likewise.
11700         * config/rs6000/aix41.h: Likewise.
11701         * config/rs6000/aix43.h: Likewise.
11702         * config/rs6000/beos.h: Likewise.
11703         * config/rs6000/rtems.h: Likewise.
11704         * config/rs6000/sysv4.h: Likewise.
11705
11706 2001-01-09  Kazu Hirata  <kazu@hxi.com>
11707
11708         * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
11709         Change an argument mode of machine_mode to shift_mode of
11710         shift_mode.  Remove an extra error check.
11711         (emit_a_shift): Adopt to the new calling prototype of
11712         get_shift_alg.
11713         (function_prologue): Fix code for a monitor
11714         function.  Support H8/S.
11715         (function_epilogue): Do not output pop for a monitor function.
11716
11717 2001-01-09  Nick Clifton  <nickc@redhat.com>
11718
11719         * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
11720         (setup_incoming_varargs): Use sysv_varargs_p field of the
11721         cfun->machine structure.
11722         (struct machine_function): Move to rs6000.h
11723         (rs6000_save_machine_status): Delete.
11724         (rs6000_restore_machine_status): Delete.
11725         (rs6000_init_machine_status): New Function.
11726         (rs6000_free_machine_status): New Function.
11727         (rs6000_init_expanders): Use new functions.
11728
11729         * config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
11730         export.
11731         (struct machine_function): Move here.
11732
11733         * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
11734         sysv_varargs_p field of the cfun->machine structure.
11735
11736         * config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
11737         Remove prototype.
11738         (rs6000_restore_machine_status): Remove prototype.
11739
11740 2001-01-09  Richard Henderson  <rth@redhat.com>
11741
11742         * sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
11743         reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
11744         * sched-deps.c (sched_analyze_1): Update uses of struct deps.
11745         (sched_analyze_2, sched_analyze_insn): Likewise.
11746         (sched_analyze, init_deps): Likewise.
11747         (free_deps): Likewise.  Iterate with EXECUTE_IF_SET_IN_REG_SET.
11748         * sched-rgn.c (propagate_deps): Likewise.  Remove max_reg argument.
11749         (compute_block_backward_dependences): Update propagate_deps call.
11750
11751 2001-01-09  Mark Elbrecht  <snowball3@bigfoot.com>
11752
11753         * gcc.c (process_command): Set switches[n_switches].ordering to 0.
11754
11755 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
11756
11757         * cppinit.c (OPT_MD, OPT_MMD): Restore.
11758         (cpp_handle_option): Handle them.
11759         (cpp_post_options): Ensure one of -M or -MM is specified with
11760         any other -M? option.
11761         (init_dependency_output): Suppress output with -MG.
11762
11763 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
11764
11765         * cpp.texi: Update.
11766         * invoke.texi: Update.
11767
11768 2001-01-09  Bernd Schmidt  <bernds@redhat.com>
11769
11770         * sh.md (reload_outsf): Generate recognizable patterns for
11771         TARGET_SH3E.
11772
11773 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
11774
11775         * c-lang.c (lang_hooks): Update.
11776         (lang_init): Rename c_init.
11777         (lang_finish): Remove.
11778         * toplev.c (compile_file): Use lang_hooks for lang_init ()
11779         and lang_finish ().
11780         * toplev.h (lang_hooks): Add init () and finish ().
11781         * tree.h (lang_init, lang_finish): Remove.
11782         * cp/tree.h (lang_init, lang_finish): Remove.
11783         * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
11784         * cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
11785         lang_hooks): New.
11786         (lang_init, lang_finish): Remove.
11787         * f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
11788         (lang_hooks): Update.
11789         * java/lang.c (lang_init): Rename java_init.
11790         (lang_finish): Remove.
11791         (lang_hooks): Update.
11792         * objc/objc-act.c (lang_init): Rename objc_init.
11793         (lang_finish): Remove.
11794         (lang_hoooks): Update.
11795
11796 20001-01-09  Graham Stott  <grahams@redhat.com>
11797
11798         * cppfiles.c (_cpp_execute_include): Move `len` initialisation
11799         after `ptr` is initialised.
11800
11801 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
11802
11803         * config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
11804         (INITIALIZE_TRAMPOLINE): Adjust accordingly.
11805         * config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
11806         stack adjusts, instead of r3.
11807
11808 2001-01-09  Michael Hayes  <mhayes@redhat.com>
11809
11810         * flow.c (flow_loop_scan): Break out of ...
11811         (flow_loops_find) ... here.
11812         * basic-block.h (flow_loop_scan): New.
11813         (LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
11814         (LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
11815
11816 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
11817
11818         * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
11819         macro_buffer_len.
11820         * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
11821         realloc()ing macro_buffer.
11822
11823         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
11824         if it's wider than long and the target's long is wider than the
11825         host's.
11826
11827 2001-01-09  Mark Mitchell  <mark@codesourcery.com>
11828
11829         Remove support for using UWIN as a host machine.
11830         * configure.in: Issue an error message.
11831         * configure: Regenerated.
11832         * config.gcc: Remove xm_* UWIN configury.
11833         * config/i386/xm-uwin.h: Remove.
11834
11835 2001-01-08  Nick Clifton  <nickc@redhat.com>
11836
11837         * config/v850/v850.c (ra_rtx): Delete.
11838         (v850_save_machine_status): Delete.
11839         (v850_restore_machine_status): Delete.
11840         (v850_init_machine_status): New function.
11841         (v850_mark_machine_status): New function.
11842         (v850_free_machine_status): New function.
11843         (v850_return_addr): Use ra_rtx field in machine structure.
11844         (v850_init_expanders): Use new functions.
11845
11846         * config/v850/v850-protos.h: Fix prototypes for v850_output_*
11847         * config/v850/v850.c: Change arguments to v850_output+* functions
11848         to take a const char *, to avoid compile time warning.
11849         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
11850         (USER_LABEL_PREFIX): Redefine.
11851
11852 2000-01-08  Jim Wilson  <wilson@redhat.com>
11853
11854         * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
11855         1 to unsigned HOST_WIDE_INT before left shift.
11856
11857 2001-01-08  Nick Clifton  <nickc@redhat.com>
11858
11859         * config/arm/arm.c (arm_mark_machine_status): Check to see if
11860         the machine structure has been allocated.
11861         (arm_free_machine_status): New function: Free the machine
11862         specific function structure.
11863
11864 2001-01-08  Richard Henderson  <rth@redhat.com>
11865
11866         * jump.c (simplejump_p): Revert last change.
11867
11868 2001-01-08  Neil Booth  <neil@daikokuya.demon.co.uk>
11869
11870         * cppinit.c (init): Rename init_library.
11871         (cpp_create_reader): Update.
11872         * gcc.c (cpp_options): If -o given, use it as the target of
11873         any -M options.
11874
11875 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
11876
11877         * arm.c (arm_arch5e): New variable.
11878         (all_cores): XScale is a 5TE device.
11879         (arm_override_options): Set arm_arch5e.
11880         (arm_init_builtins): __builtin_prefetch is in arch5e.
11881         * arm.h (arm_arch5e): Declare it.
11882
11883         * arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
11884
11885         * arm.md (define_constants): Add defines for UNSPEC and
11886         UNSPEC_VOLATILE insns.  Update all users.
11887         (define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
11888         * arm.c (multi_register_push, note_invalid_constants)
11889         (emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
11890         * arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
11891         (STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
11892
11893 Mon Jan  8 16:14:56 MET 2001  Jan Hubicka  <jh@suse.cz>
11894
11895         * jump.c (jump_optimize_1): Use reversed_comparison_code
11896         instead of can_reverse_comparison_p.
11897         (jump_back_p): Likewise.
11898         (invert_exp_1): Likewise.
11899         (thread_jumps): Likewise.
11900         * simplify-rtx.c (simplify_unary_operation): Likewise.
11901         (simplify_ternary_operation): Likewise.
11902         * cse.c (find_comparison_args): Convert to use
11903         can_reverse_comparison_p.
11904         (record_jump_equiv): Likewise.
11905
11906 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
11907
11908         * arm.h (HARD_REGNO_RENAME_OK): Delete.
11909         (EPILOGUE_USES): Define.
11910         (INITIAL_ELIMINATION_OFFSET): Current prologue code does not
11911         automatically stack the LR if it isn't live.
11912
11913 Mon Jan  8 13:46:02 MET 2001  Jan Hubicka  <jh@suse.cz>
11914
11915         * i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
11916         properly.
11917
11918 Sun Jan  7 18:37:43 2001  Mark P Mitchell  <mark@codesourcery.com>
11919
11920         * ggc-page.c (max_alignment): New structure.
11921         (MAX_ALIGNMENT): New macro.
11922         (init_ggc): Use it to round up the sizes in the
11923         extra_order_size_table.
11924
11925 2001-01-07  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11926
11927         * config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
11928         after reload.
11929
11930 2001-01-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11931
11932         * builtins.def (BUILT_IN_FPRINTF): New entry.
11933
11934         * c-common.c (c_expand_builtin_fprintf): New function.
11935         (init_function_format_info): Handle __builtin_fprintf.
11936         (c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
11937         (c_expand_builtin): Handle BUILT_IN_FPRINTF.
11938
11939         * c-decl.c (duplicate_decls): Adjust comment.
11940
11941         * extend.texi (fprintf): Document new builtin.
11942
11943 2001-01-07  Richard Henderson  <rth@redhat.com>
11944
11945         * jump.c (simplejump_p): Recognize any single_set jump
11946         of the proper form.
11947
11948 2001-01-07  Richard Henderson  <rth@redhat.com>
11949
11950         * configure.in (slibdir): Accept an --with-slibdir option.
11951         Use "test" not "[" in configure.  Default to $(libdir).
11952
11953         * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
11954         fix typo in rm -f.
11955         * config/t-aix43 (SHLIB_INSTALL): Likewise.
11956         * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
11957         (SHLIB_LINK): Create links for the soname.
11958         * config/mips/t-iris6: Likewise.
11959         * config/sparc/t-slibgcc: Likewise.
11960         * config/sparc/t-slibgcc-sld: Likewise.
11961
11962 2001-01-07  Jakub Jelinek  <jakub@redhat.com>
11963
11964         * config/i386/i386.c (constant_call_address_operand): Accept
11965         (const (plus (symbol_ref) (const_int))).
11966         * config/i386/i386.h (PREDICATE_CODES): Add CONST for
11967         constant_call_address_operand.
11968
11969 2001-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
11970
11971         * libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
11972         and LONG_LONG_TYPE_SIZE > 32.
11973
11974 2001-01-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11975
11976         * jump.c (reversed_comparison_code_parts): Fix typo introduced by
11977         the previous change.
11978
11979 Sun Jan  7 19:37:48 MET 2001  Jan Hubicka  <jh@suse.cz>
11980
11981         * jump.c (reversed_comparison_code_parts, reversed_comparison_code):
11982         New.
11983         (can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
11984         (reverse_condition_maybe_unordered): Abort on unsigned comparisons.
11985         * rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
11986         Declare.
11987
11988 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
11989
11990         * fix-header.c (read_scan_file): s/pfile/scan_in/.
11991
11992 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
11993
11994         * c-lang.c (c_post_options): Call cpp_post_options.
11995         * objc/objc-act.c (objc_post_options): Similarly.
11996         * cppmain.c (main): Similarly.
11997         * fix-header.c (read_scan_file): Similarly.
11998         * cppinit.c (cpp_start_read): Move option consistency checks
11999         to cpp_post_options.  Don't call init_dependency_output.
12000         If needed, add default target and main file dependency.
12001         (OPT_MD, OPT_MMD): Remove.
12002         (OPT_MF): New.
12003         (cpp_handle_option): Update for OPT_* changes.
12004         (cpp_post_options): New.
12005         (init_dependency_output): Command line -MF overrides environment
12006         variables.  Don't set default target etc.  Suppress output
12007         if dependencies are going to stdout.
12008         (print_help): Update.
12009         * cpplib.h (cpp_post_options): New.
12010         * gcc.c (cpp_options): Update for -MD, -MMD, -MF.
12011
12012 Sun Jan  7 14:44:19 MET 2001  Jan Hubicka  <jh@suse.cz>
12013
12014         * jump.c (comparison_dominates_p): Support unordered compares.
12015
12016 Sun Jan  7 14:39:07 MET 2001  Jan Hubicka  <jh@suse.cz>
12017
12018         * simplify-rtx.c (simplify_relational_operation): Always simplify
12019         ORDERED and UNORDERED when FLAG_FAST_MATH.  Handle properly UNLE
12020         and UNGE.
12021
12022 Sun Jan  7 14:35:13 MET 2001  Jan Hubicka  <jh@suse.cz>
12023
12024         * combine.c (combine_simplify_rtx): Recognize the unordered compares.
12025         (nonzero_bits): Likewise.
12026         (simplify_comparison): Likewise.
12027         (num_sign_bit_copies): Likewise; return more sane value depending
12028         on STORE_FLAG_VALUE.
12029         (known_cond): Do not assume EQ to be always true for equivalent
12030         operands.
12031
12032 Sun Jan  7 14:31:57 MET 2001  Jan Hubicka  <jh@suse.cz>
12033
12034         * cse.c (fold_rtx): Handle unordered comparisons.
12035
12036 Sun Jan  7 13:49:19 MET 2001  Jan Hubicka  <jh@suse.cz>
12037
12038         * rtlanal.c (set_of_1): New static function.
12039         (reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
12040          reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
12041          reg_set_last_last_regno): Remove.
12042         (set_of): New global function.
12043         (set_of_data): New structure.
12044         (reg_set_p, reg_set_last): Revamp for set_of.
12045         * rtl.h (set_of): New.
12046
12047 2001-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
12048
12049         * c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
12050         * extend.texi: Document _Exit builtin.
12051
12052 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12053
12054         * (initialize, initialize_builtins,
12055         initialize_dependency_output, initialize_standard_includes):
12056         Rename s/initialize/init. Update.
12057         (init_dependency_output): Move to after
12058         cpp_handle_options, the correct location temporally at least.
12059         (opt_comp): Move next to init (), its caller.  Fix prototype.
12060         (init): Make "initialized" local scope.
12061         (cpp_create_reader): Always call init ().
12062         (cpp_start_read): Update.
12063         (output_deps): New function, broken out of cpp_finish.
12064         (cpp_finish): Break out output_deps.
12065
12066 2001-01-07  Richard Henderson  <rth@redhat.com>
12067
12068         * collect2.c (COFF specific stuff): Revert 12-06 patch
12069         to prototype system functions.
12070
12071 2001-01-07  Michael Hayes  <mhayes@redhat.com>
12072
12073         * hard-reg-set.h: Add multiple include guard.
12074         * basic-block.h (struct loop): Add `sink' field.
12075         * loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
12076         (emit_iv_add_mult): Delete.
12077         (loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
12078         (loop_iv_add_mult_emit_before, loop_insn_sink): Define.
12079         (unroll_loop): Remove end_insert_before argument.
12080         * loop.c (loop_givs_rescan): Remove end_insert_before argument.
12081         (maybe_eliminate_biv_1): Likewise.
12082         (emit_iv_add_mult): Delete.
12083         (gen_add_mult, loop_regs_update): New.
12084         (loop_insn_emit_after, loop_insn_emit_before): New.
12085         (loop_insn_sink, loop_insn_sink_or_swim): New.
12086         (emit_iv_add_mult): Delete.
12087         (scan_loop): Set loop->sink.
12088         (loop_givs_reduce): Use loop_insn_sink and its ilk.
12089         (loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
12090         (maybe_eliminate_biv_1): Likewise.
12091         (maybe_eliminate_biv_1): Add basic block argument.
12092         * unroll.c (unroll_loop): Remove end_insert_before argument.
12093         (find_splittable_regs): Likewise.
12094         (find_splittable_regs): Use loop_insn_sink and its ilk.
12095         (find_splittable_givs, final_biv_value, final_giv_value): Likewise.
12096
12097 2001-01-07  Michael Hayes  <mhayes@redhat.com>
12098
12099         * loop.h (loop_insn_hoist): New prototype.
12100         * loop.c (loop_insn_hoist, loop_insn_emit_before): New.
12101         (move_movables, loop_givs_rescan): Use loop_insn_hoist.
12102         (check_dbra_loop, load_mems): Likewise.
12103         * unroll.c (unroll_loop, find_splittable_regs): Likewise.
12104         (find_splittable_givs): Likewise.
12105
12106 2001-01-07  Michael Hayes  <mhayes@redhat.com>
12107
12108         * loop.c (emit_iv_add_mult): Use single_set to examine new insn.
12109
12110 2001-01-07  Richard Henderson  <rth@redhat.com>
12111
12112         * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
12113
12114 2001-01-07  Richard Henderson  <rth@redhat.com>
12115
12116         * Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
12117         NO_SHARED_LIBGCC_MULTILIB as required for the target.
12118         * gcc.c (init_spec): Massage the existing libgcc_spec into a
12119         variant that handles a shared libgcc.
12120         (process_command): Always validate -{static,shared}-libgcc.
12121         (do_spec_1): New 'M' case.
12122         * invoke.text (Link Options): Document -{static,shared}-libgcc.
12123
12124 2001-01-07  Richard Henderson  <rth@redhat.com>
12125
12126         * Makefile.in (slibdir): New variable.
12127         (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
12128         (installdirs): Create slibdir.
12129         (install-libgcc, install-multilib): Defer to libgcc.mk.
12130         * configure.in (slibdir): Substitute.
12131         * mklibgcc.in (install): New target.
12132
12133         * config/t-linux (SHLIB_LINK): Create links for the soname.
12134         (SHLIB_INSTALL): New.
12135         * config/alpha/t-osf4 (SHLIB_INSTALL): New.
12136         * config/mips/t-iris6 (SHLIB_INSTALL): New.
12137         * config/rs6000/t-aix43 (SHLIB_INSTALL): New.
12138         * config/sparc/t-slibgcc (SHLIB_INSTALL): New.
12139         * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
12140
12141 2001-01-07  Richard Henderson  <rth@redhat.com>
12142
12143         * config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
12144         * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
12145         * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
12146
12147 2001-01-07  Michael Hayes  <mhayes@redhat.com>
12148
12149         * loop.c (count_loop_regs_set): Delete.
12150         (load_mems_and_recount_loop_regs_set): Delete.
12151         (loop_regs_scan): Merge common code from count_loop_regs_set,
12152         scan_loop, and load_mems_and_recount_loop_regs_set.
12153         (scan_loop): Call load_mems directly and loop_regs_scan
12154         again if new registers created.
12155
12156 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12157
12158         * toplev.c (main): Call the front-end specific post_options
12159         hook if one is given.
12160         * toplev.h (struct_lang_hooks, lang_hooks): New.
12161         * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
12162         for the C front end.
12163         * cp/decl2.c (cxx_post_options, lang_hooks): Implement
12164         lang_hooks for the C++ front end.
12165         * objc/objc-act.c (objc_post_options, lang_hooks): Implement
12166         lang_hooks for the ObjC front end.
12167         * f/com.c (lang_hooks): Hooks for the Fortran front end.
12168         * java/lang.c (lang_hooks): Hooks for the Java front end.
12169
12170 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12171
12172         * c-lex.c (init_c_lex): Request #define / #undef callbacks
12173         for verbose DWARF[2] debugging.
12174         (cb_define, cb_undef): The new callbacks.
12175         * toplev.h (debug_define, debug_undef): Make const correct.
12176         * toplev.c (debug_define, debug_undef): Similarly.  Do not
12177         perform the verbosity tests here anymore.
12178
12179 2001-01-07  Alexandre Oliva  <aoliva@redhat.com>
12180
12181         * reload.c (subst_reloads): Take INSN argument.  When
12182         replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
12183         * reload.h (subst_reloads): Adjust prototype.
12184         * reload1.c (reload_as_needed): Pass INSN to subst_reloads.
12185         * jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
12186         present in JUMP_INSNs and copy them to JUMP_LABEL.
12187         * flow.c (find_label_refs, find_basic_blocks_1): Skip
12188         JUMP_INSNs and insns with REG_LABELs that are followed by
12189         JUMP_INSNs with the same REG_LABEL.
12190         * sched-rgn.c (is_cfg_nonregular): Likewise.
12191         * rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
12192         note is available.
12193         * unroll.c (unroll_loop): Look for REG_LABEL notes in
12194         JUMP_INSNs too.
12195         * rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
12196
12197 2001-01-06  Richard Henderson  <rth@redhat.com>
12198
12199         * loop.c (scan_loop): Use xcalloc for the regs array.
12200         (load_mems_and_recount_loop_regs_set): Zero the new memory
12201         received from xrealloc.
12202
12203 2001-01-06  Neil Booth  <neil@daikokuya.demon.co.uk>
12204
12205         * mkdeps.c (deps_add_dep): Fix vector re-allocation.
12206
12207 Sat Jan  6 00:09:34 2001  J"orn Rennecke <amylaar@redhat.com>
12208
12209         * integrate.c (copy_rtx_and_substitute): When copying
12210         an ignored return value, strip REG_FUNCTION_VALUE_P.
12211
12212 2001-01-06  Michael Hayes  <mhayes@redhat.com>
12213
12214         * loop.c (debug_biv, debug_giv): New.
12215         (loop_biv_dump): Break out from ...
12216         (record_biv): ... here.
12217         (loop_giv_dump): Break out from ...
12218         (record_giv): ... here.
12219         (loop_bivs_check): Use print_simple_rtl.
12220         * unroll.c (loop_iterations): Use print_simple_rtl.
12221
12222 2000-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12223
12224         * pa.md (return, return_internal): Modify patterns to prevent regrename
12225         mucking with the return pointer.
12226
12227 2001-01-05  Richard Henderson  <rth@redhat.com>
12228
12229         * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
12230
12231 Fri Jan  5 16:34:18 2001  Nick Clifton  <nickc@redhat.com>
12232
12233         * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
12234         version supplied by Matteo Frigo.
12235
12236 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
12237
12238         * cpp.texi: Update for -MQ.
12239         * cppinit.c (cpp_create_reader): Always create pfile->deps.
12240         (cpp_cleanup): Always free pfile->deps.
12241         (initialize_dependency_output): Don't create pfile->deps.
12242         (cpp_handle_option): Similarly.
12243         (OPT_MQ): New.
12244         * gcc.c (cpp_options): Handle -MQ.
12245         (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
12246         * mkdeps.c (base_name): Remove.
12247         (deps_init): Don't allocate vector space until it's needed.
12248         (deps_free): Only free vectors if allocated.
12249         (deps_add_target, deps_add_dep): Update for initial allocation.
12250         (deps_add_default_target): Don't strip to the base_name.
12251
12252 2001-01-05  DJ Delorie <dj@redhat.com>
12253
12254         * config/v850/v850.h (RETURN_ADDR_RTX): Define.
12255         (INIT_EXPANDERS): Define.
12256
12257         * config/v850/v850.c (struct machine_function): Define.
12258         (v850_save_machine_status): New function.
12259         (v850_restore_machine_status): New function.
12260         (v850_return_addr): New function.
12261         (v850_init_expanders): New function.
12262
12263         * config/v850/v850-protos.h: Add prototypes for v850_return_addr
12264         and v850_init_expanders.
12265
12266 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
12267
12268         * cpplib.h (struct cpp_reader): Add help_only field.
12269         * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
12270         (cpp_handle_option): Set pfile->help_only if we see -h,
12271         --help, -target-help, or --version.  Print version string but
12272         do not set help_only if we see -v or -version.  Make text
12273         printed by -v match that printed by (-)-version.
12274
12275         * cppmain.c (main): Exit after option parsing if
12276         pfile->help_only is true.
12277
12278         * toplev.c (independent_decode_option): Call print_version,
12279         then exit, if we see --version (but not -version).
12280         (print_version): Split lengthy message into two lines.
12281
12282 2001-01-05  Nick Clifton  <nickc@redhat.com>
12283
12284         * config/v850/v850.c (v850_encode_data_area): Use alloca to create
12285         temporary string for initialisation before calling ggc_alloc_string.
12286
12287 2001-01-06  Michael Hayes  <mhayes@redhat.com>
12288
12289         * rtl.h (print_simple_rtl): New.
12290         * print-rtl.c (print_simple_rtl): New.
12291         (flag_simple): New.
12292         (print_rtx): Disable printing of flags and modes, etc.,
12293         if `flag_simple` nonzero.
12294
12295 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
12296
12297         * function.c (fixup_var_refs): Use push_to_full_sequence where
12298         possible.
12299
12300 2001-01-05  Michael Meissner  <meissner@redhat.com>
12301
12302         * flags.h (flag_reorder_blocks): Add declaration.
12303         (flag_rename_block): Ditto.
12304
12305 2001-01-05  DJ Delorie  <dj@redhat.com>
12306
12307         * function.c (reorder_blocks): Make sure the flags are all reset
12308         before using them to mark blocks, else a second invocation will
12309         corrupt the block chain.
12310         (reorder_blocks_0): New, resets the flags.
12311
12312 Fri Jan  5 20:34:06 2001  J"orn Rennecke <amylaar@redhat.com>
12313
12314         * cse.c (find_comparison_args): Stop if the argument is known to
12315         be constant.
12316
12317 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
12318
12319         * config/sh/sh.md (movdf): When splitting load into pair of
12320         registers, don't clobber the register used in the address too
12321         early.
12322
12323 2001-01-05  Jeffrey Oldham  <oldham@codesourcery.com>
12324
12325         * varasm.c (mark_constant_pool): Improve initial comments.
12326         (mark_constants): Move marking of constants to mark_constant.
12327         (mark_constant): New function to recursively mark all constants
12328         referred to by a constant.
12329
12330 2001-01-05  Catherine Moore  <clm@redhat.com>
12331
12332         * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
12333
12334 2001-01-05  Phil Edwards  <pme@sources.redhat.com>
12335
12336         * cp/lang-options.h:  Bring comment in line with reality.
12337         * f/lang-options.h:  Likewise.
12338         * java/lang-options.h:  Likewise.
12339         * objc/lang-options.h:  Likewise.
12340         * ch/lang-options.h:  Likewise.
12341         * f/g77.texi:  And update the manual.
12342
12343 2001-01-05  Marek Michalkiewicz  <marekm@linux.org.pl>
12344             Denis Chertykov  <denisc@overta.ru>
12345
12346         * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
12347         * config/avr/avr.c (avr_peep2_scratch_safe): New function.
12348         * config/avr/avr.md (all peepholes that request a scratch register):
12349         Call it, FAIL the peephole if not safe (in interrupt functions).
12350
12351 2001-01-05  Mark Mitchell  <mark@codesourcery.com>
12352
12353         * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
12354
12355 2001-01-05  Joseph S. Myers  <jsm28@cam.ac.uk>
12356
12357         * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
12358         Define.
12359         * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
12360         BUILT_IN_CREAL and BUILT_IN_CIMAG.
12361         * c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
12362         conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
12363         (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
12364         BUILT_IN_CIMAG.
12365         * extend.texi: Document these builtins.
12366
12367 2001-01-05  Daniel Berlin  <dberlin@redhat.com>
12368
12369         * c-common.c (lang_get_alias_set): Say we know nothing of
12370         VECTOR_TYPE aliasing.
12371
12372         * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
12373
12374 2001-01-05  Bruce Korb  <bkorb@gnu.org>
12375
12376         * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
12377         their x* equivalent versions for atexit-less systems
12378         * fixinc/fixincl.c(main): do not return from main() on atexit-less
12379         systems (or any other system any more).
12380
12381 2001-01-05  Richard Earnshaw  <rearnsha@arm.com>
12382
12383         * arm.md (ldmsi_postinc): Avoid use of match_dup between input and
12384         output operands.  Use arm_hard_register_operand for operand 4.
12385         (stmsi_postinc): Similarly.
12386         (ldmsi): Use arm_hard_register_operand for opernand 2.
12387         (stmsi): Similarly.
12388         * arm.c (arm_hard_register_operand): New function.
12389         * arm-protos.h (arm_hard_register_operand): Prototype it.
12390
12391         * arm.h (HARD_REGNO_RENAME_OK): Define.
12392
12393 Fri Jan  5 16:29:49 MET 2001  Jan Hubicka  <jh@suse.cz>
12394
12395         * simplify-rtx.c (cfc_args): add "unordered" field.
12396         (check_fold_consts): Set unordered field.
12397         (simplify_relational_operation): Simplify the unordered
12398         comparisons.
12399
12400         * reg-stack.c (swap_rtx_condition): Ensure that the transformation
12401         is valid.
12402
12403         * emit-rtl.c (try_split): Fix code to mark labels.
12404         * jump.c (mark_jump_label): Make global.
12405         * rtl.h (mark_jump_label): Declare.
12406
12407         * predict.c (estimate_probability): Handle unordred comparisons.
12408
12409 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
12410
12411         * cpp.texi: Update for -MP.  Clarify behaviour of -MT.
12412         * cppinit.c (initialize_dependency_output):  Update.
12413         (cpp_finish): Output dummy targets for -MP.
12414         (OPT_MP): New.
12415         (cpp_handle_option): Handle -MP.  Don't quote -MT options.
12416         * cpplib.h (struct cpp_options): Add deps_phony_targets.
12417         * gcc.c (cpp_options): Update to handle -MP.
12418         * mkdeps.c (deps_add_target, deps_add_default_target): Update
12419         to quote only the default target.
12420         (deps_phony_targets): Insert a preceding newline.  Rename from
12421         deps_dummy_targets for consistency.
12422         * mkdeps.h: Update
12423
12424 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
12425
12426         * calls.c (emit_library_call_value_1): Support
12427         INIT_CUMULATIVE_LIBCALL_ARGS.
12428         * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
12429
12430 2001-01-04  Richard Henderson  <rth@redhat.com>
12431
12432         * c-decl.c (finish_struct): Detect flexible array members
12433         used in an inappropriate context.
12434         * c-typeck.c (really_start_incremental_init): Special case
12435         constructor_max_index for zero length arrays.
12436         (pop_init_level): Allow initialization of flexible array
12437         members.  Deprecate initialization of zero length arrays.
12438         Don't issue missing initializer warning for flexible array
12439         members or zero length arrays.
12440         (process_init_element): Don't dereference null DECL_SIZE.
12441         * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
12442         Don't abort for empty constructors.  Use size_binop
12443         (output_constructor): Add commentary regarding zero length
12444         array futures.  Abort if we try to initialize an array of
12445         unspecified length with a non-empty constructor in the middle
12446         of a structure.
12447
12448         * extend.texi (Zero Length): Update and clarify documentation
12449         on static initialization.
12450
12451 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
12452
12453         * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
12454         with more than 32767 words of local storage.
12455
12456 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
12457
12458         * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
12459         for 'abs', 'labs', and 'fabs'.
12460         (c4x_expand_builtin): Likewise.
12461         * config/c4x/c4x.h (enum c4x_builtins): Likewise.
12462
12463 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
12464
12465         * config/sh/sh.md (prget, prset): New insn types.
12466         (return delay slot): Dont' allow prset.
12467         (call, sfunc delay slot): Don't allow prget.
12468         (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
12469         for prset and prget.
12470
12471 2001-01-05  Michael Hayes  <mhayes@redhat.com>
12472
12473         * loop.h (struct loop_reg): New.
12474         (struct loop_regs): Change to use array of `struct loop_reg'.
12475         * loop.c: Replace assortment of varrays with single regs array.
12476         (count_one_set): Delete may_not_move array argument
12477         and use regs array instead.  All caller's changed.
12478         (count_loop_regs_set): Delete may_not_move and single_usage
12479         arguments and use regs array instead.  All caller's changed.
12480         (find_single_use_in_loop): Replace usage array argument with pointer
12481         to regs structure.  All caller's changed.
12482         (loop_optimize): Delete `moved_once' array.
12483
12484 2001-01-05  Michael Hayes  <mhayes@redhat.com>
12485
12486         * loop.c (prescan_loop): Set loop_info->has_nonconst_call.
12487         Use it instead of loop_info->has_call for scanning loop mems.
12488         (check_dbra_loop): Replace loop_info->has_call test with
12489         loop_info->has_nonconst_call.
12490
12491 2000-01-04  Matthew Hiller  <hiller@redhat.com>
12492
12493         * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
12494         for TARGET_SH3E.
12495
12496 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
12497
12498         * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
12499         use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
12500
12501 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
12502
12503         * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
12504         (flag_short_double, flag_short_wchar): Define.
12505         (c_common_nodes_and_builtins): Create many tree nodes shared
12506         between C and C++ here instead of in cp/decl.c and ...
12507         * c-decl.c (init_decl_processing): ... here.
12508         (SIZE_TYPE, WCHAR_TYPE): Don't define.
12509         (flag_short_double, flag_short_wchar): Don't define.
12510         (record_builtin_type): New function.
12511         (build_void_list_node): New function.
12512         * c-common.h (flag_short_double, flag_short_wchar,
12513         record_builtin_type, build_void_list_node): Declare.
12514
12515 Thu Jan  4 21:09:47 2001  J"orn Rennecke <amylaar@redhat.com>
12516
12517         * integrate.c (expand_inline_function): Don't put a virtual
12518         register into the reg map.
12519
12520         * function.c (fixup_var_refs_1): If force_operand didn't put
12521         the address into the target, move it there.
12522
12523 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
12524
12525         Special-case tree_decl/tree_list allocations.
12526         * ggc-page.c (OBJECT_PER_PAGE): Reimplement.
12527         (OBJECT_SIZE): New macro.
12528         (NUM_EXTRA_ORDER): Likewise.
12529         (extra_order_size_table): New variable.
12530         (NUM_ORDERS): New macro.
12531         (objects_per_page_table): New variable.
12532         (object_size_table): New variable.
12533         (G.pages): Use NUM_ORDERS to bound the array.
12534         (G.page_tails): Likewise.
12535         (DIV_ROUND_UP): Remove.
12536         (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
12537         (alloc_page): Use OBJECT_SIZE.
12538         (size_lookup): Don't make it const.
12539         (ggc_alloc): Use OBJECT_SIZE.
12540         (ggc_set_mark): Likewise.
12541         (ggc_get_size): Likewise.
12542         (init_ggc): Set up the object_size_table, objects_per_page_table,
12543         and adjust size_lookup.
12544         (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
12545         (ggc_pop_context): Use NUM_ORDERS.
12546         (clear_marks): Likewise.
12547         (sweep_pages): Likewise.
12548         (poison_pages): Likewise.
12549         (ggc_print_statistics): Use OBJECT_SIZE.
12550
12551 Thu Jan  4 15:54:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12552
12553         * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
12554         Only call array_size_for_constructor if last field and array type
12555         with no upper bound.
12556
12557 2001-01-04  Philip Blundell  <philb@gnu.org>
12558
12559         * config/arm/arm.c (arm_gen_constant): Prefer to emit constants
12560         from bit 31 downwards, if this requires no more insns.
12561         (count_insns_for_constant): New helper function for above.
12562
12563 2001-01-04  Alexandre Oliva  <aoliva@redhat.com>
12564
12565         * gencodes.c (output_predicate_decls): Remove empty initializer.
12566
12567 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
12568
12569         * tree.c (copy_node): Remove documentation about obstacks.
12570         (buidl1): Check that nobody tries to build 2-argument nodes this
12571         way.
12572
12573 2001-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12574
12575         * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
12576         fp_high_losum_p.
12577
12578         * gencodes.c (output_predicate_decls): Fill empty initializer
12579         braces.
12580
12581 2001-01-04  Jakub Jelinek  <jakub@redhat.com>
12582
12583         * tradcpp.c (deps_file, print_deps_missing_files): New variables.
12584         (main): Handle -MG, -MD, -MMD.  Bail out if -MG is given without -M
12585         or -MM.
12586         (do_include): Handle missing headers like cpp0.
12587         * cppfiles.c (_cpp_execute_include): Don't prefix absolute header
12588         paths with first include pathname.  Don't strcat to uninitialized
12589         string.
12590
12591 2001-01-04  Bernd Schmidt  <bernds@redhat.com>
12592
12593         * regrename.c (regrename_optimize): Don't rename from frame pointer
12594         if frame_pointer_needed.
12595         (do_replace): Don't set ORIGINAL_REGNO to a hard register number.
12596         * config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
12597         (ia64_reorg): Use it instead of scheduling if ! optimize.
12598         (errata_emit_nops): Properly call asm_noperands.
12599         (ia64_sched_reorder): Finish cycle if we see an asm.
12600         (ia64_variable_issue): Clear scheduling state after asms.
12601
12602 2001-01-04  Neil Booth  <neil@daikokuya.demon.co.uk>
12603
12604         * cpp.texi: Update for -MT.
12605         * cppinit.c (initialize_dependency_output): Add a default
12606         target if none has been given already.
12607         (no_tgt, OPT_MT): New.
12608         (cpp_handle_option): Handle -MT.  Update -M etc.
12609         * cpplib.h (struct cpp_options): Remove deps_target.
12610         * gcc.c (cpp_options): Handle -MT.
12611         * mkdeps.c (struct deps): Move from mkdeps.h.
12612         (deps_calc_target): Rename deps_add_default_target.  Add a
12613         default target if none has been specified already.
12614         * mkdeps.h (struct deps): Move to mkdeps.c.
12615         (deps_calc_target): Rename deps_add_default_target.
12616
12617 2000-01-03  Richard Henderson  <rth@redhat.com>
12618
12619         * c-decl.c (grokdeclarator): Give zero-length arrays size zero.
12620         Remove dead code.
12621         * c-typeck.c (push_init_level): Move checks for flexible array
12622         members and zero length arrays ...
12623         (pop_init_level): ... here.  Silently discard empty initializations.
12624         Remove dead code.
12625         * varasm.c (output_constructor): Update for sizeof change to
12626         zero-length arrays.
12627
12628         * extend.texi (Zero Length): Clarify semantics.
12629
12630 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
12631
12632         * configure.in (tm.h): Include isns-codes.h last.
12633         * configure: Rebuilt.
12634
12635 2001-01-03  Richard Henderson  <rth@redhat.com>
12636
12637         * config/alpha/alpha.md (addvsi3, addvdi3): New.
12638         (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
12639
12640 2001-01-03  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
12641
12642         * tradcpp.c (main): Make sure finclude() is called with a valid
12643         indepth value while handling -include.
12644
12645 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
12646
12647         * gencodes.c (output_predicate_decls): New function.
12648         (main): Call it.
12649         * machmode.h (GET_MODE_MASK): Arrange for it to be defined
12650         even if it is not the first time machmode.h is #included.
12651         * config/sh/sh.c (fpul_operand): Declare MODE argument.
12652         * tm.texi (PREDICATE_CODES): Document predicate declarations.
12653         * gcc.texi (Copyright): Added 2001.
12654
12655 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
12656
12657         * c-common.c (c_common_lang_init): New function.  Warn if format
12658         warning options which only have effects when used with -Wformat
12659         are used without -Wformat.
12660         * c-common.h (c_common_lang_init): Declare.
12661         * c-lang.c (lang_init): Call c_common_lang_init.
12662         * objc/objc-act.c (lang_init): Call c_common_lang_init.
12663
12664 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
12665
12666         * configure.in: Check for the mktemp command.
12667         * configure: Regenerate.
12668         * gccbug.in: Use a separate temporary file $TEMP0 for one use of
12669         $TEMP.  Create temporary files with mktemp, if available at
12670         configure time; otherwise use set -C.  Remove temporary files
12671         before exit.
12672
12673 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
12674
12675         * configure.in: Require at least texinfo 4.0.  Check for whether
12676         Pod::Man is sufficiently recent to regenerate GCC manpages.
12677         * configure:  Regenerate.
12678         * Makefile.in (TEXI2POD): Call perl explicitly rather than relying
12679         on #!.
12680         (GENERATED_MANPAGES): Define.
12681         (generated-manpages): New target.  Depend on cpp.1 as well as
12682         gcov.1.
12683         (install-man): Depend on $(GENERATED_MANPAGES) (defined by
12684         configure to generated-manpages or empty) rather than on the
12685         manpages directly.  Remove execute permission from installed
12686         gcov.1 as well as cpp.1.
12687         * cpp.1, gcov.1: Regenerate.
12688
12689 2001-01-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12690
12691         * builtins.c (expand_builtin_strncmp): Use host_integerp and
12692         tree_low_cst.  Allow using cmpstrsi in more cases.
12693
12694 Wed Jan  3 10:48:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12695
12696         * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
12697         sized types.
12698
12699 Wed Jan  3 12:22:32 2001  Alexandre Oliva  <aoliva@redhat.com>
12700
12701         * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
12702         * Makefile.in (HOST_CFLAGS): Mention build-make.
12703
12704 Wed Jan  3 08:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12705
12706         * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
12707         as JUMP_INSN.
12708
12709 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
12710
12711         * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
12712         a REG rtx.
12713
12714         * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg.  All
12715         callers changed.
12716
12717         * alias.c (throughout): Use ORIGINAL_REGNO when accessing
12718         reg_base_value and reg_known_value arrays.
12719         (init_alias_analysis): Add more cases to detect known values.
12720         * sched-deps.c (deps_may_trap_p): New function.
12721         (sched_analyze_2): Use it.
12722
12723 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
12724
12725         * combine.c (simplify_shift_const): Even if we're sign-extracting,
12726         don't discard an ASHIFTRT if we're shifting in a wider mode.
12727
12728 2000-01-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12729
12730         * toplev.c (rest_of_compilation): Don't print basic block information
12731         when CFG isn't up to date.
12732
12733 2001-01-02  Mark Elbrecht  <snowball3@bigfoot.com>
12734
12735         * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
12736         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
12737         (UNALIGNED_SHORT_ASM_OP): Define.
12738         (CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
12739
12740 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
12741
12742         * fold-const.c (fold_convert): Fix typo.
12743
12744 2001-01-02  Richard Henderson  <rth@redhat.com>
12745
12746         * c-common.h (ASM_INPUT_P): New.
12747         * c-parse.in (asm): Set it when needed.
12748         * c-semantics.c (genrtl_asm_stmt): Test it instead of the
12749         existance of an operand.
12750
12751 Tue Jan  2 20:27:07 MET 2001  Jan Hubicka  <jh@suse.cz>
12752
12753         * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
12754         (dwarf2out_frame_debug_expr): Likewise.
12755         (mem_loc_descriptor): Handle PRE and POST_MODIFY.
12756
12757 Tue Jan  2 20:21:31 MET 2001  Jan Hubicka  <jh@suse.cz>
12758
12759         * i386.c (ix86_split_to_parts): Return number of part required;
12760         handle TFmodes.
12761         (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
12762         TFmodes.
12763         (ix86_split_long_move): Use number of part returned
12764         by ix86_split_to_parts
12765         * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
12766         New macros.
12767         (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
12768         (LONG_DOUBLE_TYPE_SIZE): Change from constant.
12769         (MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
12770         (INTEL_EXTENDED_IEEE_FORMAT): Likewise.
12771         (ALIGN_MODE_128): Add TFmode.
12772         (IS_STACK_MODE): Likewise.
12773         (HARD_REGNO_NREGS): TFmode needs 3 registers.
12774         (HARD_REGNO_OK): Support TFmodes.
12775         (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
12776         * i386.md (scheduler definitions): Use memory operand to determine
12777         fst/fld instructions; use mode attribute to determine real mode of
12778         the instruction.
12779         (*tf): New patterns, expanders and splitters; based on XFmode patterns.
12780         * invoke.texi (128bit-long-double, 96bit-long-double): Document.
12781
12782 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
12783
12784         * tree.def (TRUTH_NOT_EXPR): Improve documentation.
12785
12786 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
12787
12788         * expr.c (store_constructor_field): Update ALIGN before calling
12789         store_constructor.
12790
12791 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
12792
12793         * config/mips/mips.c (function_arg): Don't pass NULL_TREE to
12794         host_integerp.
12795
12796 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
12797
12798         * tm.texi (FUNCTION_ARG): Document that @var{type} can be an
12799         incomplete type.
12800
12801 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
12802
12803         * c-decl.c (start_function): Don't warn on third parameter to main.
12804
12805 2001-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12806
12807         * tsystem.h: Define HAVE_DECL_GETOPT.
12808
12809 2001-01-02  Philip Blundell  <pb@futuretv.com>
12810
12811         * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
12812         of input operand.
12813
12814 2001-01-02  Richard Henderson  <rth@redhat.com>
12815
12816         * alpha.md (*ze_and_ne): Duplicate insn condition to split.
12817
12818 2001-01-02  Andreas Jaeger  <aj@suse.de>
12819
12820         * c-decl.c (c_decode_option): Remove support of
12821         -Wmissing-noreturn.
12822
12823         * toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
12824         (W_options): Add -Wmissing-noreturn here.
12825
12826         * flow.c: Define lang_missing_noreturn_ok_p.
12827         (check_function_return_warnings): Use it.
12828
12829         * c-common.h: Declare lang_missing_noreturn_ok_p.
12830
12831         * c-lang.c (c_missing_noreturn_ok_p): New function.
12832         (lang_init): Set lang_missing_noreturn_ok_p.
12833
12834         * invoke.texi (Warning Options): Document this.
12835
12836 2000-12-27  Phil Edwards  <pme@sources.redhat.com>
12837
12838         * extend.texi (C++ Extensions):  New node for C++ attributes;
12839         describe init_priority and com_interface.
12840         * invoke.texi:  Remove -finit-priority as it now has zero effect.
12841         * install.texi:  Fix xref syntax.
12842         * md.texi:  Likewise.
12843
12844 Mon Jan  1 21:28:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12845
12846         * config.gcc (sparc64-wrs-vxworks*): New case.
12847         * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
12848
12849         * config/sparc/sparc.c (sparc_override_options): Do support different
12850         pointer and architecture size.
12851         * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
12852         (POINTERS_EXTEND_UNSIGNED): Define.
12853         (Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
12854         (FUNCTION_MODE): Define to be Pmode.
12855         * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
12856
12857         * function.c (expand_function_end): Properly handle DECL_RESULT
12858         and copy when ptr_mode != Pmode.
12859         * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
12860
12861 2001-01-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12862
12863         * c-common.c (c_common_nodes_and_builtins): Set prototype
12864         parameters for __builtin_fputs, __builtin_fputc and
12865         __builtin_fwrite.  Don't declare plain fputc as a builtin.
12866
12867 2001-01-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12868
12869         * loop.c (add_label_notes): Increment the label usage count when
12870         a note is added to an insn which refers to a CODE_LABEL.
12871         * gcse.c (add_label_notes): Likewise.
12872
12873 2001-01-01  Andreas Jaeger  <aj@suse.de>
12874
12875         * loop.c (scan_loop): Use xmalloc to allocate movables.
12876
12877 2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
12878
12879         * tm.texi (REGISTER_MOVE_COST): Add a mode argument.
12880         * reload.c (REGISTER_MOVE_COST): Likewise.  Adjust all callers.
12881         * reload1.c (REGISTER_MOVE_COST): Likewise.
12882         * regclass.c (REGISTER_MOVE_COST): Likewise.
12883         (move_cost, may_move_in_cost, may_move_out_cost): Add mode
12884         dimension.  Adjust all users.
12885         (init_reg_sets_1): Iterate on all modes.
12886         * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
12887         * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
12888         * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
12889         * config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
12890         * config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
12891         * config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
12892         * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
12893         * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
12894         * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
12895         * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
12896         * config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
12897         * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
12898         * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
12899         * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
12900         * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
12901         * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
12902         * config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
12903         * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
12904         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
12905         * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
12906         * config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
12907         * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
12908         * config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
12909         * config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
12910         * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
12911         * config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
12912         * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
12913
12914 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
12915
12916         * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
12917         arg VARIES_P.  Call it with extra arg.
12918         (true_dependence): Likewise.
12919         * rtl.h (rtx_addr_can_trap_p): Declare.
12920         (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
12921         prototypes.
12922         * rtlanal.c (rtx_addr_can_trap_p): No longer static.
12923         (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
12924         pic offset table register if it's zero.  All callers changed.
12925         (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
12926
12927 Mon Jan  1 07:38:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12928
12929         * explow.c (convert_memory_address, case SYMBOL_REF): Copy
12930         STRING_POOL_ADDRESS_P.
12931
12932         * config/sparc/sparc.c (input_operand): Properly test for short op.
12933
12934         * config.gcc (sparc-*-elf): Include sparc/sol2.h.
12935         (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
12936         (sparclite-*-elf*, sparc86x-*-elf*): Likewise.
12937         * config/sparc/elf.h: No longer include sol2.h.
12938         * config/sparc/lifeelf.h: No longer include sparc/elf.h.
12939         * config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
12940
12941         * config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
12942
12943 2001-01-01  Michael Hayes  <mhayes@redhat.com>
12944
12945         * loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
12946         (find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
12947         (record_initial): Likewise.
12948         * unroll.c (copy_loop_body, loop_iterations): Likewise.
12949         (remap_split_bivs): Likewise.
12950
12951 2001-01-01  Michael Hayes  <mhayes@redhat.com>
12952
12953         * loop.c (loop_ivs_free): New function.
12954         (strength_reduce): Break out from...
12955
12956 2001-01-01  Michael Hayes  <mhayes@redhat.com>
12957
12958         * loop.h (struct iv): New.
12959         (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
12960         (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
12961         'reg_biv_class' fields with 'regs' and 'n_regs'.
12962         (struct ivs): Rename 'loop_iv_list' field to 'list'.
12963         * loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
12964         * unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
12965
12966 2000-12-31  Alexandre Oliva  <aoliva@redhat.com>
12967
12968         * resource.c (mark_referenced_resources): Abort() before
12969         attempting to mark a pseudo register.
12970         (mark_set_resources): Likewise.
12971
12972 2001-01-01  Michael Hayes  <mhayes@redhat.com>
12973
12974         * loop.h (REG_IV_CLASS): New accessor macro.
12975         * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
12976         * unroll.c (REG_IV_CLASS): Likewise.
12977
12978 See ChangeLog.4 for earlier changes.