OSDN Git Service

* c-lex.c (lex_number): If pedantic and not C99, pedwarn exactly
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-05-22  Joseph S. Myers  <jsm28@cam.ac.uk>
2
3         * c-lex.c (lex_number): If pedantic and not C99, pedwarn exactly
4         once for hexadecimal floats, whether or not they contain a decimal
5         point.  Don't let the setting of pedantic otherwise affect the
6         parsing of hexadecimal floats.
7
8 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9
10         * README.ACORN: Remove obsolete file.
11
12 2001-05-22  Jan Hubicka  <jh@suse.cz>
13
14         * combine.c (gen_binary): Use swap_commutative_operands_p
15         (simplify_comparison): Likewise.
16         * expmed.c (emit_store_flag): Likewise.
17         * expr.c (compare_from_rtx): Likewise.
18         (do_compare_rtx_and_jump): Likewise.
19         * optabs.c (emit_cmp_and_jump_insn): Revert last patch; abort
20         if not emitting a branch and operands want swapping.
21
22 2001-05-22  Neil Booth  <neil@daikokuya.demon.co.uk>
23
24         * c-lex.c (c_lex): Just cast cpp's hashnode to gcc's one.
25         * stringpool.c: (IS_FE_IDENT, make_identifier): Delete.
26         (maybe_get_identifier): Update.
27         * tree.h (make_identifier): Delete.
28
29 2001-05-21  Richard Henderson  <rth@redhat.com>
30
31         * combine.c (subst): Do not substitute for a register as
32         a destination subreg/strict_low_part/zero_extract.
33
34         * combine.c (simplify_comparison): Update op1 after constant
35         extension.
36         * recog.c (const_int_operand): Accept only constants valid
37         for the given mode.
38         * genrecog.c: Update comments wrt const_int_operand.
39
40         * emit-rtl.c (init_emit_once): Zero unused memory in a
41         CONST_DOUBLE.
42
43 2001-05-21  Mark Mitchell  <mark@codesourcery.com>
44
45         * tree.h (type_num_arguments): Declare it.
46         * tree.c (type_num_arguments): New function.
47
48 2001-05-21  Richard Henderson  <rth@redhat.com>
49
50         * dwarf2out.c (current_funcdef_number): Move outside dwarf2
51         conditional ifdef.
52
53 2001-05-21  Geoff Keating  <geoffk@redhat.com>
54
55         * config/rs6000/rs6000.md (maxsf3): Use rs6000_emit_minmax.
56         (maxsf3+1): Delete.
57         (minsf3): Use rs6000_emit_minmax.
58         (minsf3+1): Generalize to handle both SMIN and SMAX.  Use
59         rs6000_emit_minmax.
60         (movsfcc): Use rs6000_emit_cmove.
61         (fselsfsf4): Don't compare a CONST_INT with a floating-point value.
62         Don't generate emit_fselsfsf4.
63         (fseldfsf4): Likewise.
64         (maxdf3): Use rs6000_emit_minmax.
65         (maxdf3+1): Delete.
66         (mindf3): Use rs6000_emit_minmax.
67         (mindf3+1): Generalize to handle both SMIN and SMAX.  Use
68         rs6000_emit_minmax.
69         (movdfcc): Use rs6000_emit_cmove.
70         (fseldfdf4): Don't compare a CONST_INT with a floating-point value.
71         Don't generate emit_fselsfsf4.
72         (fselsfdf4): Likewise.
73         * config/rs6000/rs6000.c (zero_fp_constant): New predicate.
74         (min_max_operator): New predicate.
75         (rs6000_emit_cmove): New function.
76         (rs6000_emit_minmax): New function.
77         * config/rs6000/rs6000-protos.h: Prototype new functions.
78         * config/rs6000/rs6000.h (PREDICATE_CODES): Add zero_fp_constant
79         and min_max_operator.
80
81         * config/rs6000/rs6000.c (output_cbranch): Handle all
82         conditional types in the switch statement.
83
84 2001-05-21  Mark Mitchell  <mark@codesourcery.com>
85
86         * c-decl.c (finish_decl): Don't set DECL_C_HARD_REGISTER for
87         non-register variables.
88         * extend.texi: Document that asm-specifications do not make sense
89         for non-static local variables.
90
91 2001-05-21  Jason Merrill  <jason_merrill@redhat.com>
92
93         * dbxout.c (MINIMAL_DEBUG, flag_minimal_debug): Lose.
94         (dbxout_type_fields): Lose minimal_debug support.
95         (dbxout_type_methods, dbxout_type): Likewise.
96
97 2001-05-17  Andrew Haley  <aph@redhat.com>
98
99         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
100
101 2001-05-21  Richard Henderson  <rth@redhat.com>
102
103         * dwarf2out.c (DEBUG_FRAME_SECTION): Rename from FRAME_SECTION.
104         Update all users.
105
106 2001-05-20  Richard Henderson  <rth@redhat.com>
107
108         * dwarf2out.c (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
109         DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_PUBNAMES_SECTION,
110         DEBUG_STR_SECTION): Rename from s/DEBUG_//.  Update all users.
111         * dwarfout.c (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
112         DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION):
113         Likewise.
114         * config/mips/iris6.h (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
115         DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION,
116         DEBUG_FRAME_SECTION, DEBUG_ABBREV_SECTION): Rename as above.
117         (DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
118         * config/ia64/ia64.h (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
119         DEBUG_PUBNAMES_SECTION): Rename as above.
120         (DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
121
122 2001-05-20  Richard Henderson  <rth@redhat.com>
123
124         * optabs.c (emit_cmp_and_jump_insns): Don't swap commutative
125         operands unless the operation is commutative.
126
127 2001-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
128
129         * fold-const.c (tree_expr_nonnegative_p): Detect more non-negative
130         cases.
131
132 2001-05-21  Joseph S. Myers  <jsm28@cam.ac.uk>
133
134         * extend.texi: Clarify documentation of extensions included in ISO
135         C99.  Prefer C99 terminology and syntax to old GNU terminology and
136         syntax.  Add more index entries.  Document mixed declarations and
137         code as an extension in C89 mode.  Warn about future changes to
138         semantics of inline functions.  Fixes PR other/930.
139
140 Sun May 20 16:39:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
141
142         * expr.c (expand_expr, case ARRAY_REF): Don't fold constant
143         access if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
144         (expand_expr, case COMPONENT_REF): Do copy if misaligned even
145         if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
146
147         * stmt.c (expand_decl): Set mode, alignment, and sizes for CONST_DECL.
148
149 2001-05-20  Richard Henderson  <rth@redhat.com>
150
151         * sched-deps.c (sched_analyze_insn): Force volatile memory reads
152         to be output before a branch.
153
154 2001-05-20  Richard Henderson  <rth@redhat.com>
155
156         * Makefile.in (dwarf2asm.o): Depend on $(TREE_H).
157
158 2001-05-20  Richard Henderson  <rth@redhat.com>
159
160         * config/i386/att.h (ASM_SHORT, ASM_LONG): Add trailing \t.
161         (ASM_DOUBLE): Remove.
162         * config/i386/bsd.h, config/i386/sco5.h: Likewise.
163         * config/i386/sun386.h: Likewise.
164
165         * config/i386/i386.h (UNALIGNED_SHORT_ASM_OP): New.
166         (UNALIGNED_INT_ASM_OP, INT_ASM_OP): New.
167         
168         * config/i386/cygwin.h (INT_ASM_OP): Remove.
169         * config/i386/freebsd-aout.h, config/i386/i386-aout.h: Likewise.
170         * config/i386/i386-coff.h, config/i386/i386-interix.h: Likewise.
171         * config/i386/netbsd.h, config/i386/openbsd.h: Likewise.
172         
173         * config/i386/cygwin.h: Adjust uses of ASM_LONG for trailing \t.
174         * config/i386/djgpp.h, config/i386/i386.h: Likewise.
175         * config/i386/i386elf.h, config/i386/ptx4-i.h: Likewise.
176         * config/i386/sco5.h, config/i386/svr3gas.h: Likewise.
177         * config/i386/sysv4.h, config/i386/vsta.h: Likewise.
178         * config/i386/win32.h: Likewise.
179
180 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
181
182         * invoke.texi: Add more options to summary list.
183
184 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
185
186         * invoke.texi: Document meaning of -pedantic when -std=gnu* is
187         used.  Fixes PR c/2291.
188         * gcc.1: Regenerate.
189
190 2001-05-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
191
192         * config/m68hc11/m68hc11.c (m68hc11_override_options): Ignore
193         the -fpic and -fPIC options, clear flag_pic.
194
195 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
196
197         * hashtable.c (calc_hash): Fix HASHSTEP definition.
198         * stringpool.c (make_identifier): No statistics here anymore.
199         * objc-act.c (steup_string_decl): Remove redundant check.
200
201 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
202
203         * Makefile.in (OBJS, LIBCPP_OBJS, LIBCPP_DEPS,
204         cpplib.o, cpphash.o, fix-header): Update.
205         (hashtable.o): New target.
206         * c-common.h: Include cpplib.h.  Define C_RID_CODE and
207         struct c_common_identifier here.
208         * c-lang.c (c_init_options): Update.  Call set_identifier_size.
209         * c-lex.c (c_lex): Update.
210         * c-pragma.h: Update.
211         * c-tree.h (struct lang_identifier): Contain c_common_identifier.
212         Delete rid_code.
213         (C_RID_CODE): Delete.
214         * cpphash.c: Rewrite to use hashtable.c.
215         * cpphash.h: Update include guards.
216         (struct cpp_reader): Remove hashtab.
217         hash_ob and buffer_ob are no longer pointers.  Add hash_table
218         and our_hashtable.
219         (HASHSTEP, _cpp_init_hashtable, _cpp_lookup_with_hash): Delete.
220         (_cpp_cleanup_hashtable): Rename _cpp_destroy_hashtable.
221         (_cpp_cleanup_stacks): Rename _cpp_init_directives.
222         * cppinit.c (cpp_create_reader): Update.
223         * cpplex.c (cpp_ideq, parse_identifier, cpp_output_token): Update.
224         (cpp_interpret_charconst): Eliminate warning.
225         * cpplib.c (do_pragma, do_endif, push_conditional,
226         cpp_push_buffer, cpp_pop_buffer): Update.
227         (_cpp_init_stacks): Rename cpp_init_directives.
228         (_cpp_cleanup_stacks): Remove.
229         * cpplib.h: Update include guards.  Include tree-core.h and c-rid.h.
230         (cpp_hashnode, cpp_token, NODE_LEN, NODE_NAME,
231          cpp_forall_identifiers, cpp_create_reader): Update.
232         (C_RID_CODE, cpp_make_node): New.
233         (c_common_identifier): New identifier node for C front ends.
234         * cppmain.c (main): Update.
235         * fix-header.c (read_scan_file): Update.
236         * flags.h (id_clash_len): Make unsigned.
237         * ggc.h (ggc_mark_nonnull_tree): New.
238         * hashtable.c: New.
239         * hashtable.h: New.
240         * stringpool.c: Update comments and copyright.  Update to use
241         hashtable.c.
242         * toplev.c (approx_sqrt): Move to hashtable.c.
243         (id_clash_len): Make unsigned.
244         * toplev.h (ident_hash): New.
245         * tree.c (gcc_obstack_init): Move to hashtable.c.
246         * tree.h: Include hashtable.h.
247         (IDENTIFIER_POINTER, IDENTIFIER_LENGTH): Update.
248         (GCC_IDENT_TO_HT_IDENT, HT_IDENT_TO_GCC_IDENT): New.
249         (struct tree_identifier): Update.
250         (make_identifier): New.
251 cp:
252         * cp-tree.h (struct lang_identifier, C_RID_YYCODE): Update.
253         (C_RID_CODE): Remove.
254         * lex.c (cxx_init_options): Call set_identifier_size.  Update.
255         (init_parse): Don't do it here.
256 objc:
257         * objc-act.c (objc_init_options): Call set_identifier_size. Update.
258
259 Sat May 19 18:23:04 2001  Richard Henderson <rth@redhat.com>
260
261         * except.c (dw2_build_landing_pads): Use word_mode, not Pmode,
262         as ncessary.
263         (expand_eh_return): Convert between word_mode and Pmode.
264         * unwind-dw2.c (extract_cie_info): Do not assume words and pointers
265         are the same size.
266         (execute_stack_op): Likewise.
267         (execute_cfa_program): Likewise.
268         (uw_frame_state_for): Likewise.
269         (uw_update_context_1): Likewise.
270         * unwind.inc (_Unwind_Reason_Code): Likewise.
271         * config/mips/mips.h (EH_RETURN_DATA_REGNO): Define.
272         (EH_RETURN_STACKADJ_RTX): Likewise.
273         * config/mips/mips.c (compute_frame_size): Make space for saving
274         EH return registers.
275         (mips_expand_epilogue): Handle EH stack adjustments.
276         * config/mips/mips.md (eh_return): New pattern.
277         (eh_set_lr_si): Likewise.
278         (eh_set_lr_di): Likewise.
279         Add splitter to perform EH return after reload.
280                 
281 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
282
283         * jump.c (mark_jump_label): Tidy previous change.
284
285 2001-05-19  Bruce Korb  <bkorb@gnu.org>
286
287         * fixinc/genfixes: no need for two warnings
288         * fixinc/Makefile.in: open stdin for those building with a closed one.
289
290 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
291
292         * jump.c (jump_optimize_1): Tidy.
293         (mark_jump_label): When changing the label in a LABEL_REF, change
294         update any REG_EQUAL notes as well.
295
296 2001-05-19  Joseph S. Myers  <jsm28@cam.ac.uk>
297
298         * c-parse.in (parm_declarator): Split into
299         parm_declarator_starttypename and parm_declarator_nostarttypename.
300         (parm_declarator_starttypename, parm_declarator_nostarttypename):
301         New.  Allow parenthesised sub-declarators which don't begin with a
302         TYPENAME.  Fixes PR c/166.
303
304 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
305
306         * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): New
307         macro.
308         * tm.texi (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
309         Document it.
310         * toplev.c (main): If the target does not allow profiling without
311         a frame pointer, issue an error message.
312         * config/i386/linux.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): 
313         Define it to false.
314         
315 Sat May 19 07:53:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
316
317         * recog.c (general_operand): Modify last change to allow it if reload
318         has completed.
319
320 Sat May 19 10:23:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
321
322         * recog.c (general_operand): Prohibit nonzero subreg bytes on
323         subregs containing mem.
324
325 Sat May 19 09:40:45 2001  Denis Chertykov  <denisc@overta.ru>
326
327         * regrename.c (regrename_optimize): frame pointer register can
328         use a few hardregs.
329
330 2001-05-18  Jason Merrill  <jason_merrill@redhat.com>
331
332         * README.DWARF: Move into dwarfout.c.
333
334 2001-05-18  Dale Johannesen  <dalej@apple.com>
335
336         * config/rs6000/rs6000.c (secondary_reload_class): Fix Darwin
337         specific misuse of r0 as a reload address.
338
339 Fri May 18 22:42:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
340
341         * combine.c (combine_simplify_rtx): Clear op0_mode if simplification
342         suceeded.
343
344 Fri May 18 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
345
346         * genrecog.c (enum decision_type): Add DT_elt_zero-wide_safe.
347         (add_to_sequence): Make that decision type.
348         (maybe_both_true_2, nodes_identical_1, factor_tests): Use it.
349         (write_switch, write_cond, debug_decision_2): Likewise.
350
351         * dbxout.c (dbxout_type): Use host_integerp and fix typo in testing
352         for INTEGER_TYPE.
353         (dbxout_symbol, case TYPE_DECL): Don't generate tag for records of
354         variable size.
355
356 2001-05-18  Stan Shebs  <shebs@apple.com>
357
358         * configure.in (gcc_cv_as_eh_frame): Cope with old assemblers.
359         * configure: Regenerate.
360
361 2001-05-18  Per Bothner  <per@bothner.com>
362
363         Changes needed for java/jvspec.c
364         * gcc.h (n_infiles, outfiles):  Add declarations.
365         * gcc.c (n_infiles, outfiles):  Mske no longer static.
366
367 Fri May 18 10:14:42 2001  Jeffrey A Law  (law@cygnus.com)
368
369         * config/pa/som.h (EXCEPTION_SECTION): Define.
370
371 2001-05-18  Daniel Berlin  <dan@cgsoftware.com>
372
373         * dwarf2out.c: Add dw_loc_list_ref, a reference to a location
374         list.
375         Add have_location_lists, a variable to determine whether we need a
376         .debug_loc section or not.
377         (enum dw_val_class): Add dw_val_class_loc_list.
378         (dw_val_struct): Add val_loc_list.
379         (dw_loc_list_struct): New structure, represents location lists.
380         (new_loc_list): New function, return a new location list, given
381         the range and location expression.
382         (add_loc_descr_to_loc_list): New function, add a location
383         expression to a location list, given the expression and range.
384         (output_loc_list): New function, output a location list.
385         (gen_internal_sym): Modified to take symbol prefix, so we can
386         reuse it for location list symbols.
387         (add_AT_loc_list): New function, add a location list to a DIE at
388         the named attribute.
389         (AT_loc_list): New function, return the location list reference
390         for a given attribute, if it's a location list.
391         (print_die): Handle dw_val_class_loc_list.
392         (size_of_die): Ditto.
393         (value_format): Ditto.
394         (output_die): Ditto.
395         (output_location_lists): New function, output all of the location
396         lists for a DIE and it's children.
397         (dwarf2out_finish): Call output_location_lists if we have location
398         lists.
399
400
401 Fri May 18 15:39:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
402
403         * gcse.c (try_replace_reg): First try global replace, later try to
404         simplify the expression.
405
406         * gcse.c (find_used_regs): Change calling convention; work via
407         note_uses.
408         (cprop_insn): Update call of find_used_regs; work for CALL_INSNs too.
409
410 2001-05-18  Bernd Schmidt  <bernds@redhat.com>
411
412         Revert
413         2001-02-09  Nick Clifton  <nickc@redhat.com>
414         * config/arm/arm.md: Change output constraint on post inc
415         load/store multiple patterns to be a read/write constraint.
416
417 2001-05-18  Mark Mitchell  <mark@codesourcery.com>
418
419         * basic-block.h (struct basic_block_def): Add documentation about
420         what a basic block is, and what the various fields are used for.
421         * flow.c (calculate_globlal_regs_live): Add documentation about
422         how the algorithm works, and how we know that it will terminate.
423         Check that the the inductive assumption that guarantees
424         termination actually holds.
425         (mark_used_regs): Treat conditionally set registers as used.
426         (debug_regset): Add comment.
427         * rtl.texi (cond_exec): Add documentation.
428
429         * function.c (expand_function_start): Avoid creating BLKmode
430         pseudos.
431
432 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
433
434         * dwarf2out.c (output_comp_unit): Always output a compilation-unit
435         DIE, even if it has no children.
436         (dwarf2out_finish): Always output the line-number table, even if
437         it has no content.
438
439 2001-05-18  David Edelsohn  <edelsohn@gnu.org>
440
441         * rs6000.md (movsfcc,movdfcc): Remove NE case.
442
443 2001-05-17  Bruce Korb <bkorb@gnu.org>
444
445         * fixinc/fixincl.tpl: rewritten as an AutoGen version 5 template
446         * fixinc/genfixes: emit a warning if AutoGen is out of date
447
448 2001-05-17  Brendan Conoboy <blc@cygnus.com>
449             Bruce Korb <bkorb@gnu.org>
450
451         * fixinc/fixincl.sh(FIXINC): accept local directory if fixincl not
452         found in fixinc directory.  Facilitates binary distributions.
453
454 2001-05-17  Jeffrey Oldham  <oldham@codesourcery.com>
455
456         * dbxout.c (dbxout_symbol_location): For CONCAT, skip types not
457         COMPLEX_TYPE.
458
459 Thu May 17 19:42:39 2001  Mark Kettenis  <kettenis@wins.uva.nl>
460
461         * dwarf2out.c (modified_type_die): Equate qualified type to die.
462
463 Thu May 17 23:19:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
464
465         * integrate.c (copy_rtx_and_substitute): Use simplify_gen_subreg.
466         (simplify_subreg): Handle complex types represented as CONCAT.
467
468         * recog.c (validate_replace_rtx_1): Properly canonicalize expression
469         * rtl.h (swap_commutative_operands_p): Declare.
470         * rtlanal.c (swap_commutative_operands_p): New.
471         (operand_preference): New static function.
472
473         * combine.c (combine_simplify_rtx): Use swap_commutative_operands_p.
474         (gen_binary): Likewise.
475         * optabs.c (emit_cmp_and_jump_insns, emit_conditional_move): Likewise.
476         * simplify-rtx.c (simplify_gen_binary,
477         simplify_gen_relational): Likewise.
478
479 Thu May 17 20:43:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
480
481         * cse.c (fold_rtx): Use simplify_subreg.
482
483         * simplify-rtx.c (simplify_replace_rtx): Use simplify_gen_subreg.
484         (simplify_gen_subreg): New.
485         (simplify_rtx): Use simplify_subreg.
486         * rtl.h (simplify_gen_subreg): Declare.
487
488 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
489
490         * doc/install.texi: Update Solaris information.
491
492         * except.h (protect_cleanup_actions): Remove it.
493         (lang_protect_cleanup_actions): Declare it.
494         * except.c (protect_cleanup_actions): Remove it.
495         (lang_protect_cleanup_actions): New variable.
496         (init_eh): Don't make protect_cleanup_actions a GC root.
497         (expand_eh_region_and_cleanup): Call
498         lang_protect_cleanup_actions.
499         (output_function_exception_table): Remove unused `align'
500         variable.
501         * varasm.c (assemble_external): Abort if we have not yet
502         opened the assembly output file.
503         
504 Thu May 17 11:54:50 2001  Jeffrey A Law  (law@cygnus.com)
505
506         * except.c (sjlj_emit_function_enter): Call assemble_external_libcall
507         for eh_personality_libfunc.
508
509 Thu May 17 19:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
510
511         * recog.c (validate_replace_rtx_1): Use "TO" mode if not VOIDmode
512         when calling simplify_subreg.  This is needed to allow replacing
513         of expression of one mode by expression of different mode.
514
515 Thu May 17 19:40:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
516
517         * simplify-rtx.c  (simplify_subreg): Avoid creating of incorrect subregs.
518
519 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
520
521         * expr.c (protect_from_queue): Protect against subsequent calls to
522         emit_queue.
523         (expand_expr, case ADDR_EXPR): Prevent protect_from_queue from being
524         too clever.
525
526 Thu May 17 18:17:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
527
528         * simplify_rtx.c (simplify_subreg): Fix simplification of nested subregs.
529
530 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
531
532         * gccbug.in (CATEGORIES): Add "bootstrap".
533
534 Thu May 17 16:59:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
535
536         * simplify-rtx.c (simplify_subreg): Break out from ...
537         * combine.c (combine_splify_rtx) ... here and ...
538         * recog.c (validate_replace_rtx_1): ... here;
539         * rtl.h (subreg_lowpart_parts_p, simplify_subreg): Declare.
540         * emit-rtl.c (subreg_lowpart_parts_p): Break out from ...
541         (subreg_lowpart_p): ... here.
542
543 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
544
545         * stmt.c (expand_asm_operands): For inout operands, make sure
546         the substitution of '=' for '+' makes it into the rtl.
547
548         * reload1.c (delete_output_reload): Call eliminate_regs on substed.
549         (reload_as_needed): Call update_eliminable_offsets a bit later.
550
551 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
552
553         * gcc.texi (gccbug): Refer to the web pages for detailed information
554         on GNATS.
555
556 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
557
558         * libgcc1-test.c, libgcc1.c, config/i386/perform.h: Delete file.
559
560         * Makefile.in: Delete variables: OLDCC, CCLIBFLAGS, OLDAR,
561         OLDAR_FLAGS, LIBGCC1, LIBGCC1_TEST, CROSS_LIBGCC1,
562         LIB1FUNCS, and LIB1FUNCS_EXTRA.  Delete rules: libgcc1-test,
563         libgcc1-test.o.  Clarify commentary now that libgcc1 no longer exists.
564         * cross-make: Don't set LIBGCC1.
565         * mklibgcc.in: Delete all code for building from libgcc1.c.
566         Always honor LIB1ASMFUNCS if set.
567
568         * crtstuff.c, floatlib.c, longlong.h, config/fp-bit.c,
569         config/arc/lib1funcs.asm, config/arm/lib1funcs.asm,
570         config/d30v/libgcc1.asm, config/fr30/lib1funcs.asm,
571         config/h8300/lib1funcs.asm, config/i386/cygwin.asm,
572         config/i386/uwin.asm, config/m68hc11/larith.asm,
573         config/m68k/lb1sf68.asm, config/mcore/lib1.asm,
574         config/mn10200/lib1funcs.asm, config/sh/lib1funcs.asm,
575         config/sparc/lb1spc.asm, config/sparc/lb1spl.asm,
576         config/v850/lib1funcs.asm, config/c4x/libgcc.S:
577         Delete or update references to libgcc1 in commentary.
578
579         * config/t-libc-ok, config/t-linux, config/t-linux-aout,
580         config/t-netbsd, config/a29k/t-a29kbare, config/a29k/t-vx29k,
581         config/alpha/t-interix, config/alpha/t-osf, config/alpha/t-vms,
582         config/arc/t-arc, config/arm/t-arm-aout, config/arm/t-arm-coff,
583         config/arm/t-arm-elf, config/arm/t-linux, config/arm/t-pe,
584         config/arm/t-semi, config/arm/t-strongarm-coff,
585         config/arm/t-strongarm-elf, config/arm/t-strongarm-pe,
586         config/arm/t-xscale-coff, config/arm/t-xscale-elf, config/avr/t-avr,
587         config/c4x/t-c4x, config/d30v/t-d30v, config/fr30/t-fr30,
588         config/h8300/t-h8300, config/i386/t-beos, config/i386/t-cygwin,
589         config/i386/t-i386elf, config/i386/t-interix, config/i386/t-netware,
590         config/i386/t-next, config/i386/t-rtems-i386, config/i386/t-sol2,
591         config/i960/t-960bare, config/i960/t-vxworks960, config/ia64/t-ia64,
592         config/m32r/t-m32r, config/m68hc11/t-m68hc11-gas, config/m68k/t-lynx,
593         config/m68k/t-m68kbare, config/m68k/t-m68kelf,
594         config/m68k/t-mot3300-gald, config/m68k/t-mot3300-gas,
595         config/m68k/t-next, config/m68k/t-vxworks68, config/m88k/t-bug,
596         config/m88k/t-dgux, config/m88k/t-dgux-gas, config/m88k/t-dguxbcs,
597         config/m88k/t-luna, config/m88k/t-luna-gas, config/m88k/t-m88k,
598         config/m88k/t-m88k-gas, config/m88k/t-sysv4, config/mcore/t-mcore,
599         config/mcore/t-mcore-pe, config/mips/t-bsd, config/mips/t-bsd-gas,
600         config/mips/t-cross64, config/mips/t-ecoff, config/mips/t-elf,
601         config/mips/t-iris6, config/mips/t-r3900, config/mips/t-svr3,
602         config/mips/t-svr3-gas, config/mips/t-svr4, config/mips/t-svr4-gas,
603         config/mips/t-ultrix, config/mn10200/t-mn10200,
604         config/mn10300/t-mn10300, config/pa/t-linux, config/pa/t-linux64,
605         config/pa/t-pa, config/pa/t-pa64, config/pa/t-pro,
606         config/pdp11/t-pdp11, config/pj/t-pj, config/rs6000/t-aix43,
607         config/rs6000/t-beos, config/rs6000/t-darwin, config/rs6000/t-newas,
608         config/rs6000/t-ppccomm, config/rs6000/t-rs6000, config/sh/t-linux,
609         config/sh/t-sh, config/sparc/t-chorus-elf, config/sparc/t-elf,
610         config/sparc/t-sol2, config/sparc/t-sp86x, config/sparc/t-sparcbare,
611         config/sparc/t-sparclite, config/sparc/t-splet,
612         config/sparc/t-sunos41, config/sparc/t-vxsparc,
613         config/sparc/t-vxsparc64, config/v850/t-v850:
614         Don't set any of LIBGCC1, CROSS_LIBGCC1, or LIBGCC1_TEST.
615
616         * config/alpha/alpha.h, config/i386/i386.h, config/i860/i860.h: 
617         Don't set FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, INTIFY, or FLOATIFY.
618         * config/d30v/d30v.h: Don't mention LIBGCC_NEEDS_DOUBLE,
619         FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, FLOATIFY, INTIFY,
620         nongcc_SI_type, nongcc_word_type, or perform_*
621         * config/i860/fx2800: Don't define perform_umodsi3 or perform_modsi3.
622
623         * config/i386/386bsd.h, config/i386/beos-elf.h,
624         config/i386/linux-aout.h, config/i386/linux-oldld.h,
625         config/i386/linux.h, config/i386/mach.h, config/i386/netbsd.h,
626         config/i386/openbsd.h, config/i386/osfrose.h, config/i386/rtemself.h:
627         Don't include i386/perform.h.
628
629         * config/a29k/t-a29k, config/arm/t-semiaof, config/i370/t-i370,
630         config/i370/t-linux, config/i370/t-mvs, config/i370/t-oe,
631         config/i386/t-djgpp, config/i386/t-i386bare, config/i386/t-vsta,
632         config/ia64/t-hpux, config/mips/t-mips, config/mips/t-mips-gas,
633         config/mips/t-osfrose, config/sparc/t-sp64, config/sparc/t-sunos40,
634         config/vax/t-openbsd, config/vax/t-vax: Delete.
635
636         * config.gcc: Remove references to deleted files.
637         (arm-semi-aof): Use arm/t-semi for tmake_file.
638
639         * gcc.texi, install.texi, invoke.texi, tm.texi:
640         Delete or rewrite text which is no longer relevant now that
641         libgcc1 no longer exists.
642
643         * config/t-openbsd, config/alpha/t-interix, config/i386/t-interix:
644         No need to set INSTALL_ASSERT_H.  (Missed in previous sweep.)
645
646 2001-05-16  Wolfgang Bangerth <wolfgang.bangerth@iwr.uni-heidelberg.de>
647         Bruce Korb <bkorb@gnu.org>
648
649         * fixinc/inclhack.def(solaris27_mutex_init):  Fix broken mutex
650         initializer
651
652 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
653
654         * i386.md: Add two peepholes to clean up code generated by
655         cmpstr* expanders.
656
657 2001-05-16  Richard Henderson  <rth@redhat.com>
658
659         * dwarf2asm.c (eh_data_format_name): Add names for "pointer size" 
660         variants of non-absolute encodings.
661
662         * config/i386/i386.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
663
664         * libgcc-std.ver (_Unwind_Find_FDE, __register_frame_info_bases,
665         __register_frame_info_table_bases): Export.
666
667 2001-05-16  Richard Henderson  <rth@redhat.com>
668
669         * except.c (eh_data_format_name): Move to ...
670         * dwarf2asm.c: ... here.  Use designated initializers if available.
671         (dw2_asm_output_encoded_addr_rtx): Accept varargs commentary.
672         * dwarf2asm.h: Update declarations.
673         * dwarf2out.c (output_cfi) [DW_CFA_set_loc]: If for_eh, mind
674         ASM_PREFERRED_EH_DATA_FORMAT.
675         (output_call_frame_info): Likewise.  Use 'L' augmentation for
676         the LSDA encoding.
677
678         * unwind-dw2-fde.h (struct fde_vector): New.
679         (struct old_object): Rename from struct object.
680         (struct object): New.
681         (__register_frame_info_bases): Declare.
682         (__register_frame_info_table_bases): Declare.
683         (struct dwarf_fde): Remove explicit pc_begin/pc_range members.
684         * unwind-dw2-fde.c (objects): Remove.
685         (unseen_objects, seen_objects): New.
686         (__register_frame_info_bases): New.
687         (__register_frame_info): Use it.
688         (__register_frame_info_table_bases): New.
689         (__register_frame_info_table): Use it.
690         (__deregister_frame_info): Rewrite for changed object struct.
691         (base_from_object, get_cie_encoding, get_fde_encoding): New.
692         (fde_unencoded_compare): Rename from fde_compare; uninline.
693         (fde_single_encoding_compare, fde_mixed_encoding_compare): New.
694         (start_fde_sort): Adjust for new definition of fde_vector.
695         (fde_insert): Likewise.
696         (end_fde_sort): Likewise.  Select comparison function based
697         on properties of the object.
698         (fde_split): Take object and fde_compare_t arguments.
699         (frame_heapsort, fde_merge): Likewise.
700         (classify_object_over_fdes): Rename from count_fdes.  Handle
701         encoded pointers.  Collect encoding, mixed_encoding, and pc_begin
702         for the object.
703         (add_fdes): Handle encoded pointers.
704         (init_object): Rename from frame_init.  Update for new struct object.
705         (linear_search_fdes): Rename from search_fdes.  Handle encoded
706         pointers.
707         (binary_search_unencoded_fdes): Broken out from _Unwind_Find_FDE.
708         (binary_search_single_encoding_fdes): New.
709         (binary_search_mixed_encoding_fdes): New.
710         (search_object): New.
711         (_Unwind_Find_FDE): Update for new struct object.  Fill in
712         the dwarf_eh_bases.
713         * unwind-dw2.c: Include unwind-pe.h.  Constify all pointers
714         iterating over EH data.
715         (_Unwind_FrameState): Remove saw_lsda, addr_encoding.  Add
716         fde_encoding, lsda_encoding.
717         (read_uleb128, read_sleb128): Remove.
718         (read_encoded_pointer): Remove.  All callers use read_encoded_value.
719         (extract_cie_info): Set lsda_encoding from 'L' augmentation.
720         (uw_frame_state_for): Don't set bases.func.  Handle encoded fde
721         pointers.
722         * unwind-pe.h: Add "struct" to _Unwind_Context references.
723
724 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
725
726         * cppexp.c (lex): Use NODE_NAME and NODE_LEN.
727         * cpphash.c (_cpp_lookup_with_hash): Similarly.
728         * cpplex.c (cpp_ideq, parse_identifier, cpp_token_len,
729         cpp_spell_token, cpp_output_token): Similarly.
730         * cpplib.c (lex_macro_node, do_undef, do_pragma,
731         do_pragma_poison, parse_assertion, do_assert): Similarly.
732         * cppmacro.c (builtin_macro, parse_args, funlike_invocation_p,
733         save_parameter, _cpp_create_definition, check_trad_stringification,
734         cpp_macro_definition): Similarly.
735         * cppmain.c (cb_define, cb_undef, dump_macro): Similarly.
736         * c-lex.c (cb_undef, c_lex): Similarly.
737         * fix-header.c (recognized_function): Similarly.
738         * cpplib.h (NODE_LEN, NODE_NAME): New.
739         (cpp_hashnode): Rename length len.
740
741 Wed May 16 13:41:10 2001  Jeffrey A Law  (law@cygnus.com)
742
743         * pa32-regs.h (HARD_REGNO_MODE_OK): Allow TI/TFmode values in
744         GPRs.
745
746 2001-05-16  Andreas Jaeger  <aj@suse.de>
747
748         * Makefile.in (toplev.o): Add dependency on dwarf2asm.h.
749
750         * toplev.c: Include dwarf2asm.h for prototype of
751         dw2_output_indirect_constants.
752
753 Wed May 16 19:53:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
754
755         * stmt.c (expand_asm_operands): Be able to offload addressof
756         expression to memory. (PR optimization/185)
757
758 Wed May 16 18:53:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
759
760         * combine.c (combine_simplify_rtx): Set op0_mode to VOIDmode after
761         applying distributive law.
762
763 2001-05-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
764
765         * pa-hpux10.h (THREAD_MODEL_SPEC): Define.
766
767         * gthr-dce.h (UNUSED): Attribute unused macro.
768         (__gthread_key_dtor): Make arguments UNUSED.
769         (__gthread_key_delete): Revise for compatibility with DRAFT4
770         implementation.
771
772 2001-05-16  David Edelsohn  <edelsohn@gnu.org>
773
774         * doc/install.texi: Update AIX information.
775         * README.RS6000: Remove obsolete file.
776
777 2001-05-16  Jakub Jelinek  <jakub@redhat.com>
778             Nathan Sidwell  <nathan@codesourcery.com>
779
780         * gcc.c (give_switch): Don't write before start of string.
781         Always append suffix.
782
783 2001-05-16  Nathan Sidwell  <nathan@codesourcery.com>
784
785         * cpplex.c (_cpp_lex_token, '/' case): Comments can't appear
786         after stage3.
787
788 2001-05-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
789
790         * README.ALTOS: Remove obsolete file.
791
792 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
793
794         * c-lex.h (save_and_forget_protocol_qualifiers,
795         forget_protocol_qualifiers, remember_protocol_qualifiers):
796         Remove deleted functions' prototypes.
797
798 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
799
800         * c-parse.in (methodtype): New production.
801         (methoddef, methodproto): Collapse separate '-' and '+'
802         handlers into 1.
803
804 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
805
806         * c-common.h (RID_FIRST_PQ): New.
807         * c-parse.in (objc_pq_context): New.
808         (objc parser): Set objc_pq_context rather than calling
809         remember_protocol_qualifiers and forget_protocol_qualifiers.
810         Don't call save_and_forget_protocol_qualifiers.
811         (yylexname): Handle objc protocol qualifiers here.
812         * stringpool.c (struct str_header): Replace with sp_hashnode.
813         (SP_EMPTY, SP_LEN, SP_TREE, SP_STR, SP_VALID): New.
814         (alloc_string): Rename alloc_ident.  Use the SP_ accessors.
815         Allocate an IDENTIFIER_NODE for each identifier.
816         (FORALL_STRINGS, set_identifier): Delete.
817         (FORALL_IDS, expand_string_table, stringpool_statistics): Update.
818         (ggc_alloc_string): Use an obstack.
819         (get_identifier, maybe_get_identifier, mark_string_hash): Update.
820         * tree.h: Update comments.
821         (set_identifier): Delete.
822         * objc/objc-act.c (N_PQ, saved_pq, saved_not_pq,
823         save_and_forget_protocol_qualifiers, forget_protocol_qualifiers,
824         remember_protocol_qualifiers): Delete.
825
826 Tue May 15 22:14:09 2001  Jeffrey A Law  (law@cygnus.com)
827
828         * flow.c (life_analysis): After life analysis is complete, do
829         an optional scan over insns looking for REG_LABEL notes that
830         reference a deleted label.
831         (propagate_block_delete_insn): Verify INOTE is a CODE_LABEL
832         before peeking at LABEL_NUSES.
833
834 2001-05-15  Richard Henderson  <rth@redhat.com>
835
836         * unwind-sjlj.c (_Unwind_GetDataRelBase): New.
837         (_Unwind_GetTextRelBase): New.
838
839 2001-05-15  Mark Mitchell  <mark@codesourcery.com>
840
841         * config/sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
842
843 2001-05-15  Geoffrey Keating  <geoffk@redhat.com>
844
845         * objc/objc-act.c (handle_class_ref): Use rest_of_decl_compilation
846         so that CHOOSE_SECTION gets used.
847
848         * config/rs6000/sysv4.h (ASM_PREFERRED_EH_DATA_FORMAT): Treat
849         TARGET_RELOCATABLE like flag_pic for now.
850
851 2001-05-15  David Edelsohn  <edelsohn@gnu.org>
852
853         * rs6000.md (movdi splitter): Sign extend more efficiently.
854         * rs6000.c (reg_or_arith_cint_operand): Redefine 64-bit constant
855         to "long long" valid on 32-bit and 64-bit hosts.
856         (logical_operand): Cast trunc_int_for_mode return value.
857         (rs6000_emit_move): Shift macro to encapsulate variable.
858         (rs6000_va_start): Use HOST_WIDE_INT_PRINT_DEC.
859         (rs6000_emit_{prologue,epilogue}): EH regno is unsigned but
860         plus_constant requires signed argument.
861
862 2001-05-15  Loren J. Rittle  <ljrittle@acm.org>
863
864         * gthr-posix.h: Make additional pthread-* functions weak.
865
866 Tue May 15 13:51:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
867
868         * recog.c (apply_change_group): Avoid unneeded validating.
869
870 2001-05-14  David Edelsohn  <edelsohn@gnu.org>
871
872         * rs6000.c (num_insns_constant_wide): Constants are sign-extended.
873         (num_insns_constant): CONST_INT can be 64-bits.
874
875 2001-05-14  Stan Shebs  <shebs@apple.com>
876
877         * config/darwin.h (LIB_SPEC): Just use -lSystem.
878         (LIBGCC_SPEC): Don't define.
879
880 2001-05-14  Richard Henderson  <rth@redhat.com>
881
882         * configure.in (gcc_cv_as_eh_frame): New test.
883         * config.in, configure: Rebuild.
884         * gcc.c (init_spec): Honor USE_AS_TRADITIONAL_FORMAT.
885
886 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
887
888         * config/ia64/lib1funcs.asm (__divtf3): Fix incorrect bits in
889         extended precision divide.
890
891 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
892
893         * config/ia64/ia64.c (rtx_needs_barrier): Call rtx_needs_barrier
894         for RETURNS as well.
895
896 Mon May 14 17:34:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
897
898         * i386.h (TARGET_64BIT): Define to constant if !TARGET_BI_ARCH
899         (CPP_CPU??_SIZE_TYPE): New.
900         (CPP_CPU??_SPEC, CPP_CPUCOMMON_SPEC): Break out from...
901         (CPP_CPU_SPEC): ... here; support choosing of CPU.
902         (EXTRA_SPECS): Add cpp_cpu??, cpp_cpu??sizet, cpp_cpucommon.
903         (MAX_LONG_TYPE_SIZE, MAX_BITS_PER_WORD): Define to 32 for 32bit-only
904         compiler.
905         * i386.c (override_options): Add sorry about not suported modes.
906
907 Mon May 14 08:56:47 2001  Jeffrey A Law  (law@cygnus.com)
908
909         * config/pa/som.h (NM_FLAGS): Remove.
910         (ASM_OUTPUT_FUNCTION_PREFIX): No longer truncate subspace names.
911         (ASM_OUTPUT_SECTION_NAME): Remove.
912         (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Likewise.
913
914 2001-05-14  Mark Mitchell  <mark@codesourcery.com>
915
916         * regrename.c (regrename_optimize): Do not rename registers to
917         leaf registers.
918
919 2001-05-14  Alexandre Oliva  <aoliva@redhat.com>
920
921         * rtl.texi (CALL_INSN_FUNCTION_USAGE): Note that (and when) it may
922         contain MEMs.  Remove useless distinction about clobbering
923         registers.
924
925 2001-05-13  Geoff Keating  <geoffk@redhat.com>
926
927         * config/rs6000/rs6000.h (EXCEPTION_SECTION): Move to...
928         * config/rs6000/aix.h (EXCEPTION_SECTION): ... here.
929         * config/rs6000/sysv4.h (CONST_SECTION_ASM_OP): Delete.
930         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
931         (EXCEPTION_SECTION): Define.
932
933 2001-05-13  Zack Weinberg  <zackw@stanford.edu>
934
935         * libgcc2.c, libgcc2.h: Restore __eprintf.  Label as used for
936         binary backward compat only.
937         * Makefile.in (LIB2FUNCS_ST): New.  Put _eprintf here, not
938         in LIB2FUNCS.  Pass it to mklibgcc.
939         * mklibgcc.in: Handle LIB2FUNCS_ST.
940
941         * Makefile.in (installdirs): Don't create $(gcc_tooldir).
942
943 2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
944
945         * tm.texi (THREAD_MODEL_SPEC): Document it.
946         * gcc.c (main): Use it.
947         * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Define it.
948         * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Likewise.
949
950 2001-05-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
951
952         * rtl.h (SYMBOL_REF_WEAK): New macro.
953         * rtlanal.h (rtx_addr_can_trap): Use it, a weak SYMBOL_REF can trap.
954         * varasm.c (make_decl_rtl): Mark SYMBOL_REF weak if necessary.
955         * rtl.texi (SYMBOL_REF_WEAK): Document it.
956         * gcc.texi: Remove wrong description.
957
958 2001-05-13  Mark Mitchell  <mark@codesourcery.com>
959
960         * Makefile.in (STAMP): New macro.
961         Replace all uses of `touch' with $(STAMP).
962         * fixinc/Makefile.in: Likewise.
963
964 Sun May 13 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
965
966         * configure.in: ldopen is never in -lexc, so don't test for it.
967         Add test for exc_resume in -lexc for Ada.
968         * configure: Regenerated.
969
970 2001-05-12  Richard Henderson  <rth@redhat.com>
971
972         * dwarf2asm.c (size_of_encoded_value): New function.
973         * dwarf2asm.h: Declare it.
974         * except.c (output_function_exception_table): Align the TType
975         array only as wide as the encoding.
976
977 2001-05-12  Zack Weinberg  <zackw@stanford.edu>
978
979         * extend.texi: Document #pragma GCC java_exceptions.
980
981 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
982
983         * c-parse.in (bison parser, init_reswords): Remove uses of
984         doing_objc_thang.
985         * c-tree.h (doing_objc_thang): Remove.
986
987 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
988
989         * cpplex.c (_cpp_lex_token): Ensure we warn at most once
990         about files not ending in newlines.
991
992 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
993
994         * dwarfout.c (dwarfout_init): Add cast.
995         * sched-deps.c (sched_analyze_insn): Remove unused vars.
996         * unwind-dw2-fde.c (_Unwind_Find_FDE): Flag unused parameter so.
997 cp:
998         * method.c (build_mangled_C99_name): Remove unused prototype.
999
1000 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
1001
1002         * config/arm/arm.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Use delta.
1003
1004 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
1005
1006         * defaults.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
1007         * tm.texi (TARGET_PRTMEMFUNC_VBIT_LOCATION): Document.
1008
1009 2001-05-11  Richard Henderson  <rth@redhat.com>
1010
1011         * defaults.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
1012         * dwarf2asm.c (dw2_force_const_mem, dw2_output_indirect_constant_1,
1013         dw2_output_indirect_constants, dw2_asm_output_encoded_addr_rtx): New.
1014         * dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): Prototype.
1015         (dw2_output_indirect_constants): Prototype.
1016         * dwarf2out.c (dwarf2out_begin_prologue): Generate
1017         current_function_func_begin_label if we'll need it for EH.  Exit
1018         early for IA64_UNWIND_INFO.
1019         * except.c: Get DW_EH_PE_* defines from dwarf2.h.
1020         (eh_data_format_name): Update for indirect references.
1021         (output_function_exception_table): Care for IA64_UNWIND_INFO.
1022         Handle ASM_PREFERRED_EH_DATA_FORMAT.
1023         * except.h (MUST_USE_SJLJ_EXCEPTIONS): IA64_UNWIND_INFO needn't
1024         define HAVE_eh_return etc.
1025         * final.c (final_start_function): Always call dwarf2out_begin_prologue.
1026         (final_end_function): Don't call output_function_exception_table.
1027         * toplev.c (compile_file): Call dw2_output_indirect_constants.
1028         (rest_of_compilation): Invoke output_function_exception_table
1029         for ia64 before assemble_end_function.
1030         * tm.texi (ASM_PREFERRED_EH_DATA_FORMAT): Document.
1031         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Document.
1032
1033         * unwind-dw2.c (_Unwind_GetTextRelBase, _Unwind_GetDataRelBase): New.
1034         * unwind.h: Declare them.
1035         * libgcc-std.ver: Export them.
1036         * unwind-pe.h: New file.
1037
1038         * config/alpha/elf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
1039
1040         * config/ia64/fde-glibc.c: Use "struct unw_table_entry"
1041         instead of "fde".
1042         (find_fde_for_dso): Extract DT_PLTGOT.
1043         (_Unwind_FindTableEntry): Rename from __ia64_find_fde; return
1044         the segment and gp as well.
1045         * config/ia64/frame-ia64.c: Remove file.
1046         * config/ia64/frame-ia64.h: Remove file.
1047         * config/ia64/unwind-ia64.c: New file.
1048         * config/ia64/unwind-ia64.h: New file.
1049         * config/ia64/ia64.h (ASM_OUTPUT_EH_CHAR): Remove.
1050         (ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT): Remove.
1051         (ASM_OUTPUT_EH_DOUBLE_INT): Remove.
1052         (ASM_PREFERRED_EH_DATA_FORMAT): New.
1053         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
1054         (IA64_UNWIND_INFO): Re-enable.
1055         (HANDLER_SECTION): Remove.
1056         (EH_RETURN_DATA_REGNO): New.
1057         * config/ia64/ia64.md (exception_receiver): Remove.
1058         * config/ia64/t-glibc (LIB2ADDEH): Re-enable.
1059         * config/ia64/t-ia64 (LIB2ADDEH): Re-enable.
1060
1061 2001-05-11  Richard Henderson  <rth@redhat.com>
1062
1063         * config/ia64/ia64.c (group_barrier_needed_p): Don't allow
1064         calls and jumps to be bundled together.
1065         (ia64_reorg): Emit a break after a noreturn call that ends
1066         a function.
1067         * config/ia64/ia64.md (break_f): New.
1068
1069 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
1070
1071         * c-lex.c (lex_charconst): Convert into a simple wrapper
1072         around cpp_interpret_charconst, to which most of the code
1073         body is moved.
1074         * cppexp.c (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE,
1075         MAX_LONG_TYPE_SIZE, MAX_INT_TYPE_SIZE, MAX_CHAR_TYPE_MASK,
1076         MAX_WCHAR_TYPE_MASK, parse_escape, parse_charconst): Remove.
1077         (lex): Use cpp_interpret_charconst.
1078         * cpplex.c (parse_escape, read_ucs, cpp_interpret_charconst,
1079         hex_digit_value): New functions.
1080         (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): New macros.
1081         * cpplib.h (cpp_interpret_charconst): New prototype.
1082         * Makefile.in: Update.
1083
1084 2001-05-12  Dean Wakerley  <dean@wakerley.com>
1085
1086         * doc/install.texi: New file. Converted to texinfo from the HTML
1087         documentation in wwwdocs/htdocs/install.
1088
1089 Fri May 11 15:50:13 2001  Jeffrey A Law  (law@cygnus.com)
1090
1091         * gcse.c (insert_insn_end_bb): Do not search for assignments to
1092         non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
1093
1094         * toplev.c (compile_file): Move comment for opening output
1095         file to just before the code that opens the output file.
1096
1097 2001-05-11  Jakub Jelinek  <jakub@redhat.com>
1098
1099         * regmove.c (regmove_optimize): Suppress the optimization for
1100         unchanging destination register.  Add comment above function.
1101
1102 2001-05-11  Zack Weinberg  <zackw@stanford.edu>
1103
1104         * Makefile.in: Exterminate all references to assert.h.
1105         * cross-make: Likewise.
1106         * assert.h: Delete.
1107         * configure.in: Correct commentary.
1108         * configure: Regenerate.
1109
1110         * libgcc-std.ver, libgcc2.c, libgcc2.h, sys-protos.h:
1111         Remove __eprintf.
1112
1113         * config/t-freebsd, config/t-linux, config/t-linux-aout,
1114         config/t-netbsd, config/t-rtems, config/x-linux,
1115         config/i386/t-beos, config/mcore/t-mcore, config/mcore/t-mcore-pe:
1116         No need to override INSTALL_ASSERT_H.
1117
1118         * fixinc/fixinc.dgux, fixinc/fixinc.interix, fixinc/fixinc.ptx,
1119         fixinc/fixinc.svr4, fixinc/fixinc.winnt, fixinc/fixinc.wrap,
1120         fixinc/fixincl.sh: Don't install assert.h into objdir/include.
1121
1122 2001-05-11  Graham Stott  <grahams@redhat.com>
1123
1124         * combine.c (simplify_comparison): Fix typo.
1125
1126 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
1127
1128         * loop.h (struct movables): Remove `num'.
1129         * loop.c (scan_loop): Don't set it.  Use count_insns_in_loop.
1130         Adjust call to strength_reduce.
1131         (num_unmoved_movables): New function.
1132         (move_movables): Don't set movables->num.
1133         (strength_reduce): Compute the number of instructions in the loop
1134         here, rather than in the caller.
1135         (check_dbra_loop): Always clear reversible_mem_store if there
1136         are any memory sets.
1137         (loop_regs_scan): Don't count instructions here.
1138         (count_insn_in_loop): New function.
1139
1140 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
1141
1142         * optabs.c (emit_libcall_block): Don't mark calls as CONST_CALL_P.
1143
1144 2001-05-11  Neil Booth  <neil@daikokuya.demon.co.uk>
1145
1146         * c-common.c (finish_label_expr): New function, lifted from
1147         from cp/semantics.c.
1148         * c-common.h (finish_label_expr, lookup_label): New prototypes.
1149         * c-parse.in: Move 3 blocks of parser code into new functions.
1150         * c-typeck.c (simple_asm_stmt, c_cast_expr): New functions.
1151         * c-tree.h (simple_asm_stmt, c_cast_expr): New prototypes.
1152         (lookup_label): Remove.
1153
1154 2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
1155
1156         * config/mn10300/t-mn10300 (dp-bit.c, fp-bit.c): Don't define
1157         FLOAT_BIT_ORDER_MISMATCH.
1158
1159 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
1160
1161         * expr.c (emit_push_insn): Convert PUSH_ROUNDING argument to
1162         bytes.  Reported by Kazu Hirata <kazu@hxi.com>.
1163
1164 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
1165
1166         * expr.c (emit_group_load): extract_bit_field requires a REG or
1167         MEM as an argument.
1168
1169 Thu May 10 14:45:44 2001  Jeffrey A Law  (law@cygnus.com)
1170
1171         * cse.c (cse_insn): Mostly remove first hunk of code which collapsed
1172         a computed jump into an unconditional jump.
1173         In second hunk of code for collapsing computed and conditional jumps
1174         into unconditional jumps, reemit the jump in additional cases.
1175
1176         * jump.c (jump_optimize_1): Do not wrap the new jump target
1177         inside a LABEL_REF; gen_jump will do that automatically.
1178
1179 2001-05-10  Toon Moene  <toon@moene.indiv.nluug.nl>
1180
1181         * dwarf2out.c (mem_loc_descriptor): Do not pass constant pool
1182         contents for a SYMBOL_REF in case of floating point constants.
1183
1184 2001-05-10  DJ Delorie  <dj@redhat.com>
1185
1186         * c-common.c (combine_strings): Widen strings in a
1187         host-endian-independent way.
1188
1189 2001-05-10  Joseph S. Myers  <jsm28@cam.ac.uk>
1190
1191         * c-parse.in: Remove many shift/reduce conflicts.  Update
1192         %expect values.
1193         (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
1194         declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
1195         declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
1196         declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
1197         declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
1198         declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
1199         declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
1200         declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
1201         declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
1202         declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
1203         maybe_type_quals_setattrs, typespec_nonattr, typespec_attr,
1204         typespec_reserved_nonattr, typespec_reserved_attr,
1205         typespec_nonreserved_nonattr, maybe_setattrs, structsp_attr,
1206         structsp_nonattr, components_notype, component_notype_declarator,
1207         absdcl1_ea, absdcl1_noea, direct_absdcl1, absdcl_maybe_attribute,
1208         firstparm, setspecs_fp): New
1209         (typed_declspecs, reserved_declspecs, typed_typespecs,
1210         reserved_typespecquals, declmods, typespec, typespecqual_reserved,
1211         typed_declspecs_no_prefix_attr reserved_declspecs_no_prefix_attr
1212         declmods_no_prefix_attr, nonempty_type_quals, structsp,
1213         type_quals): Remove.  Users updated.
1214         (initdecls, notype_initdecls, after_type_declarator,
1215         parm_declarator, notype_declarator, absdcl1, components, ivars):
1216         Don't allow attributes at the start of a declarator; include them
1217         in the production containing the declarator instead.  Always
1218         require type specifiers before trying to redeclare a typedef name.
1219         (typename): Allow for attributes but warn that they are ignored.
1220         (parmlist, firstparm, setspecs_fp): Include attributes in
1221         parmlist; suck them off the parser stack in firstparm using
1222         setspecs_fp.
1223
1224 Thu May 10 09:17:42 2001  Jeffrey A Law  (law@cygnus.com)
1225
1226         * ifcvt.c (merge_if_block): Use any_uncondjump_p, not simplejump_p
1227         to determine if a block has an unconditional jump at its end.
1228
1229         * jump.c (jump_optimize_1): When converting a conditional jump
1230         to an unconditional jump, build the jump using gen_jump instead
1231         of just modify operands in-place.
1232
1233 2001-05-09  Zack Weinberg  <zackw@stanford.edu>
1234
1235         * cppinit.c (cpp_post_options): Shut off macro expansion if
1236         -fpreprocessed.
1237         * cpplib.c (_cpp_handle_directive): If -fpreprocessed, accept
1238         IN_I directives only if the # is in column 1 and the directive
1239         name begins in column 2.
1240         * cppmain.c (scan_buffer): Insert a space between # and an
1241         identifier, when that identifier is a directive name.
1242
1243         * tradcpp.c (struct file_buf): Add a pointer to the next entry
1244         in the header search path.
1245         (enum node_type): Add T_INCLUDE_NEXT.
1246         (directive_table): Add entry for include_next.
1247         (do_include_next): New function.
1248         (process_include): New routine, broken out of do_include.
1249         (finclude): Insert 'nhd' argument, to be copied into
1250         next_header_dir of the new buffer.
1251         (main): Adjust to match.
1252         * gsyslimits.h, limity.h: Un-indent #include_next.
1253
1254 2001-05-09  Joseph S. Myers  <jsm28@cam.ac.uk>
1255
1256         * objc.texi: Move from ../libobjc/objc-features.texi.  Adjust for
1257         inclusion as a chapter of the GCC manual.
1258         * gcc.texi: Include objc.texi.
1259         * fdl.texi: Use @unnumberedsec for the addendum.
1260         * Makefile.in ($(srcdir)/gcc.info, gcc.dvi): Update dependencies.
1261
1262 Wed May  9 16:01:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
1263
1264         * i386.md (DImode move splitters): Use !MMX and !SSE for the condition.
1265
1266 Wed May  9 10:40:25 2001  Alexandre Oliva  <aoliva@redhat.com>
1267
1268         * regclass.c (scan_one_insn): Update REG_N_REFS when optimizing
1269         handling of two-address insns.
1270
1271 Wed May  9 10:36:18 2001  Alexandre Oliva  <aoliva@redhat.com>
1272
1273         * Makefile.in (NM_FOR_TARGET): Look for ./nm, then
1274         ../binutils/nm-new instead of ../binutils/nm.
1275
1276 Wed May  9 12:15:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
1277
1278         * i386.md (movdi splitter): Fix the splitting condition
1279         (float_extenddftf splitter): Fix mode.
1280
1281 Wed May  9 12:05:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
1282
1283         * genrecog.c (write_switch): Avoid outputting of switch for
1284         types wider than int.
1285
1286 2001-05-03  Andrew Haley  <aph@cambridge.redhat.com>
1287
1288         * reload1.c (copy_eh_notes): New function.
1289         (emit_input_reload_insns): Call it.
1290         (emit_output_reload_insns): Call it.
1291
1292 2001-05-07  Zack Weinberg  <zackw@stanford.edu>
1293
1294         * config.gcc (i[34567]86-*-sco3.2v4*, i[34567]86-*-sco*):
1295         Delete stanzas.
1296         * config/i386/sco.h, config/i386/sco4.h, config/i386/scodbx.h,
1297         config/i386/sco4dbx.h, config/i386/x-sco4: Delete file.
1298
1299         * optabs.c: Delete #ifdef BROKEN_LDEXP block.
1300
1301 2001-05-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1302
1303         * pa.md (interspace_jump): Revise comment.
1304         (builtin_longjmp): Block initial setup insns from delay slot of
1305         interspace branch.
1306         (builtin_setjmp_receiver): New expander to save and restore PIC
1307         register.
1308
1309         * som.h (NM_FLAGS): Remove `-n' sort option.  Revise comment.
1310
1311 Mon May  7 09:30:14 2001  Jeffrey A Law  (law@cygnus.com)
1312
1313         * toplev.c (compile_file): Set up the output file before we call
1314         the various initializers for the compiler.
1315
1316         * except.c (sjlj_mark_call_sites): Do not search for assignments to
1317         non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
1318
1319         * pa.h (MAX_LONG_TYPE_SIZE): Should be 32, not 64.
1320         * pa-64.h (*_TYPE_SIZE): Undefine before redefining.
1321
1322 2001-05-06  Zack Weinberg  <zackw@stanford.edu>
1323
1324         * Makefile.in (tradcpp0): Correct typo in dependency list.
1325
1326 2001-05-06  Geoff Keating  <geoffk@redhat.com>
1327
1328         * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't save
1329         the link register if we're not going to use it.
1330
1331         * config/rs6000/rs6000.c (output_profile_hook): Fix a warning.
1332         (output_function_profiler): Likewise.
1333
1334 2001-05-07  Alan Modra  <amodra@one.net.au>
1335
1336         * pa.c (compute_frame_size): 64-bit frame marker is 16 bytes.
1337
1338 2001-05-06  Alexandre Oliva  <aoliva@redhat.com>
1339
1340         * unroll.c (loop_iterations): Don't sign-extend abs_diff;
1341         zero-extend it.  Make abs_inc unsigned.
1342
1343         * optabs.c (expand_binop): Sign-extend xop0 and xop1 from the
1344         widest mode in narrowing and widening operations.
1345
1346         * config/mips/mips.md: Sign extend CONST_INTs.
1347
1348 2001-05-06  Andreas Jaeger  <aj@suse.de>
1349
1350         * invoke.texi (Option Summary): Add -momit-leaf-frame-pointer
1351         (i386 Options): Document -momit-leaf-frame-pointer.
1352
1353 2001-05-06  Neil Booth  <neil@daikokuya.demon.co.uk>
1354
1355         * c-typeck.c (internal_build_compound_expr): Check for
1356         array to pointer conversion just once.
1357
1358 2001-05-05  Richard Henderson  <rth@redhat.com>
1359
1360         * integrate.c (copy_insn_list): Substitute NOTE_EXPECTED_VALUE.
1361
1362 2001-05-05  Richard Henderson  <rth@redhat.com>
1363
1364         * except.c (remove_fixup_regions): Adjust REG_EH_REGION notes
1365         to the parent of the fixup region.
1366
1367 2001-05-05  Jakub Jelinek  <jakub@redhat.com>
1368
1369         * gcc.c (cpp_options): Define __NO_INLINE__ unless we are honoring
1370         "inline" keyword.
1371         * cpp.texi (__NO_INLINE): Document it.
1372
1373 2001-05-05  Neil Booth  <neil@daikokuya.demon.co.uk>
1374
1375         * cppfiles.c (struct include_file): New member err_no.
1376         (find_or_create_entry): Set it.
1377         (open_file): Don't set fds to -2.  Instead, use err_no to
1378         remember previous errors, if any.
1379
1380 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1381
1382         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Optimize moves
1383         between X and Y by using sequences of xgdx and xgdy.
1384
1385 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1386
1387         * config/m68hc11/m68hc11.md ("*logicalsi3_silshr16"): Use '?' instead
1388         of '!' for the 'D' alternative ('!' is too strong).
1389         ("*logicalsi3_silshl16"): Likewise.
1390         ("movstricthi"): Accept 'A' when 'd' constraint, remove spurious '+'.
1391         ("movstrictsi"): Remove spurious '+'.
1392         ("movstrictqi"): Don't accept 'A' and remove spurious '+'.
1393         ("tstqi_1", "*lshrqi3_const1"): Put 'm' constraint before 'd'.
1394         ("subqi3"): Disparage with '!' the 'x' and 'y' registers to avoid
1395         a reload to them.
1396
1397 2001-05-04  David Edelsohn  <edelsohn@gnu.org>
1398
1399         * calls.c (store_one_arg): Don't divide align by BITS_PER_UNIT.
1400
1401 2001-05-04  Lars Brinkhoff  <lars@nocrew.org>
1402
1403         * simplify-rtx.c (simplify_binary_operation): Simplify ~a + 1
1404         into -a.
1405
1406 2001-05-04  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1407
1408         * config/rs6000/rs6000.md (ashldi3 splits): Guard with
1409         TARGET_POWERPC64.
1410
1411 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1412
1413         * config/m68hc11/m68hc11.md (lshrhi3_const1): Fix shift of
1414         soft register, use ror instead of rol.
1415
1416 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1417
1418         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Take
1419         into account pre/post increment decrement for 68HC12.
1420         Fix other problems in replacement and fix call to reg_mentioned_p.
1421
1422 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1423
1424         * config/m68hc11/larith.asm (L_regs_frame): New for _.frame.
1425         Put the soft registers in bss for 68HC12.
1426         (L_regs_d3_4): New for _.d3 and _.d4.
1427         (L_regs_d5_6): Likewise.
1428         (L_regs_d1_2): Likewise.
1429         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Compile new parts.
1430
1431 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1432
1433         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__HAVE_SHORT_DOUBLE__
1434         to the pre-processor when -fshort-double is specified.
1435         * config/m68hc11/m68hc11.2 (CPP_SPEC): Likewise.
1436
1437 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1438
1439         * config/m68hc11/larith.asm (divmodhi4): Empty for 68HC12.
1440         (__mulsi3): Rewrite for 68HC12.
1441         * config/m68hc11/m68hc11.md (divmodhi4): Use idivs for 68HC12.
1442         Mark 'x' constraint with earlyclobber to prevent a
1443         RELOAD_FOR_OTHER_ADDRESS to go in it.
1444         (mulhi3_m68hc12): New pattern.
1445         (mulhi3_m68hc11): Rename of mulhi3.
1446         (mulhi3): New expand for 68HC12 optimisation.
1447         (umulhisi3, mulhisi3): New patterns for 68HC12.
1448
1449 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1450
1451         * config/m68hc11/m68hc11.md (*tbne, *tbeq): New patterns for 68HC12.
1452         (extendqisi2, extendqihi2, extendhisi2): Use sex for 68HC12.
1453         (uminqi3, umaxqi3, uminhi3, umaxhi3): New pattern for 68HC12.
1454
1455 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1456
1457         * config/m68hc11/m68hc11.h (CONST_COSTS): Make the cost of
1458         constants cheap after reload.
1459         * config/m68hc11/m68hc11.c (m68hc11_shift_cost): Shift by 16 and 32
1460         are cheap.
1461         (m68hc11_rtx_costs): Cost of multiplication by 65536 is expensive
1462         so that gcc prefers a shift by 16.
1463         (m6811_cost, m6812_cost): Make the shift cheap compared to an add.
1464
1465 2001-05-04  Nick Clifton  <nickc@cambridge.redhat.com>
1466
1467         * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Define.
1468
1469 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1470
1471         * alpha.h: NULL_PTR -> NULL.
1472         * arm.c: Likewise.
1473         * arm.h: Likewise.
1474         * avr.h: Likewise.
1475         * c4x.c: Likewise.
1476         * c4x.h: Likewise.
1477         * i386.c: Likewise.
1478         * i386.md: Likewise.
1479         * i860.c: Likewise.
1480         * ia64.c: Likewise.
1481         * m68hc11.h: Likewise.
1482         * rs6000.h: Likewise.
1483         * sh.c: Likewise.
1484         * sh.h: Likewise.
1485         * sparc.h: Likewise.
1486         * v850.c: Likewise.
1487
1488         * expr.c: Likewise.
1489         * final.c: Likewise.
1490         * gcc.c: Likewise.
1491         * recog.c: Likewise.
1492
1493 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1494
1495         * i386.c (ix86_emit_restore_regs_using_mov, ix86_save_reg): Change
1496         `bool' parameter to `int'.
1497
1498         * hash.c (hash_lookup): Likewise.
1499
1500         * hash.h (hash_lookup): Likewise.
1501
1502         * tlink.c (symbol_hash_lookup, demangled_hash_lookup): Likewise.
1503
1504 Fri May  4 13:10:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
1505
1506         * i386.c (x86_initialize_trampoline): Fix mode of constant.
1507
1508 2001-05-03  Geoff Keating  <geoffk@redhat.com>
1509
1510         * invoke.texi (i386 Options): Delete references to -malign-jumps,
1511         -malign-loops, -malign-functions.
1512         * i386.c (ix86_align_funcs): Delete.
1513         (ix86_align_loops): Delete.
1514         (ix86_align_jumps): Delete.
1515         (override_options): Mark -malign-* as obsolete.  Emulate their
1516         behaviour with the -falign-* options.  Default -falign-* from
1517         the processor table.
1518         * i386.h (FUNCTION_BOUNDARY): Define to 16; revert Richard Kenner's
1519         patch of Wed May 2 13:09:36 2001.
1520         (LOOP_ALIGN): Delete.
1521         (LOOP_ALIGN_MAX_SKIP): Delete.
1522         (LABEL_ALIGN_AFTER_BARRIER): Delete.
1523         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Delete.
1524
1525 2001-05-04  Andreas Jaeger  <aj@suse.de>
1526
1527         * except.h: Add prototype declaration for
1528         expand_builtin_init_dwarf_reg_sizes.
1529
1530 2001-05-03  Geoffrey Keating  <geoffk@redhat.com>
1531
1532         * Makefile.in (site.exp): Set TESTING_IN_BUILD_TREE.
1533
1534 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1535
1536         * config/m68hc11/m68hc11.md ("bitcmpqi"): New pattern for bitb
1537         instruction.
1538         ("bitcmpqi2"): New pattern for bit-extract and test.
1539         ("bitcmphi"): New pattern for bitb/bita instructions.
1540
1541 2001-05-03  Joseph S. Myers  <jsm28@cam.ac.uk>
1542
1543         * gccbug.in: Use a temporary directory when the mktemp command is
1544         not available.
1545
1546 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1547
1548         * config/m68hc11/m68hc11.h (STATIC_CHAIN_REGNUM): Use soft z register
1549         instead of _.d1.
1550         (INITIALIZE_TRAMPOLINE): Call it.
1551         (TRAMPOLINE_SIZE): Define according to 68HC11/68HC12.
1552         (TRAMPOLINE_TEMPLATE): Remove.
1553         * config/m68hc11/m68hc11.c (m68hc11_initialize_trampoline): New.
1554         * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline):
1555         Declare.
1556
1557 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
1558
1559         * config/t-freebsd: Don't install "assert.h" in gcc.  Compile crtbeginS.o
1560         and crtendS.o with PIC.
1561
1562 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1563
1564         * config/m68hc11/larith.asm (__mulqi3): Fix multiplication of two
1565         negative numbers.
1566         (___subdi3, ___adddi3): Use x instead of y as index register.
1567         (__init_bss_section, __map_data_section): Optimize for 68HC12.
1568         (__memset, __memcpy): Likewise.
1569         (regs): Put the soft registers in bss for 68HC12.
1570         (abort): Use trap to abort for 68hc12.
1571         (__mulhi3, __mulhi32): Use emul for 68hc12.
1572         (__mulsi3): Avoid to use the tmp soft register for 68hc12.
1573
1574 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1575
1576         * config/m68hc11/m68hc11.h (LIMIT_RELOAD_CLASS): Don't define.
1577         * config/m68hc11/m68hc11-protos.h (limit_reload_class): Remove.
1578         * config/m68hc11/m68hc11.c (limit_reload_class): Remove.
1579         (m68hc11_override_options): Remove setting of flag_no_nonansi_builtin.
1580         Set 68HC12 min offset to -65536.
1581         (print_operand): Put parenthesis arround the operand if it refers
1582         to a symbol having the same name as a register.
1583         (m68hc11_z_replacement): When z register is replaced by its
1584         equivalent soft register, force the insn to be re-recognized.
1585         (m68hc11_check_z_replacement): Fix the test when destination is
1586         the index register and z dies in the insn.
1587         (m68hc11_reorg): Remove the REG_DEAD notes beforce recomputing them.
1588
1589 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1590
1591         * config/m68hc11/m68hc11.c (m68hc11_override_options): Initialize
1592         costs according to processor variant.
1593         (m68hc11_shift_cost): New function to compute shift costs.
1594         (m68hc11_rtx_costs): Define costs according to processor variant.
1595         (m6811_cost): Costs for 68HC11.
1596         (m6812_cost): Costs for 68HC12.
1597         (COSTS_N_INSNS): Remove.
1598
1599         * config/m68hc11/m68hc11.h (RTX_COSTS): New.
1600         (DEFAULT_RTX_COSTS): Remove.
1601         (CONST_COSTS): Define costs according to OUTER_CODE.
1602         (processor_costs): New struct to define costs.
1603         (m68hc11_cost): Pointer to current costs.
1604
1605 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1606
1607         * config/m68hc11/m68hc11.md (*addhi3_68hc12): Fix generation
1608         and use m68hc11_notice_keep_cc when using leax/leay.
1609         (addhi3 split): Reject split if the insn is handled by
1610         leax/leay above.
1611         * config/m68hc11/m68hc11.c (m68hc11_split_move): For 68HC12 the
1612         push must be handled in a special way if the source operand uses
1613         sp as index register.
1614         (m68hc11_notice_keep_cc): New function.
1615         (m68hc11_gen_movhi): Use it when an insn changes a register but
1616         not the flags.
1617         (m68hc11_gen_movqi): Fix move for 68HC12.
1618         * config/m68hc11/m68hc11-protos.h (m68hc11_notice_keep_cc): Declare.
1619
1620 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1621
1622         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use LCT_CONST
1623         and don't pass operands[0] to emit_library_call_value.
1624
1625 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1626
1627         * config/m68hc11/m68hc11.md (tsthi_1): Use cpd for 68HC12.
1628         (zero_extendsi split): Simplify and use (zero_extendhi).
1629         (*addhi3): Remove 'w' constraint since stack pointer is handled
1630         by (addhi3_sp).
1631         (*ashlhi3_2): Operand 2 is clobbered use '+' for its constraint.
1632         (*ashlhi3, *ashrhi3, *lshrhi3): Likewise.
1633         (*ashrhi3_const): Fix shift by 7.
1634         (*lshrsi3_const16): Fix template.
1635         (call, call_value): Fix constraint and predicate.
1636
1637 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1638
1639         * config/m68hc11/m68hc11.md (X_REGNUM, D_REGNUM): New constant.
1640         (Y_REGNUM, SP_REGNUM, PC_REGNUM, A_REGNUM, B_REGNUM): Likewise.
1641         (CC_REGNUM): Likewise.
1642         (*unnamed splits): Use above constants instead of hard coded numbers.
1643         (*adcq, *subcq, *addsi_carry, *rotlqi3_with_carry): Likewise.
1644         (*rotlhi3_with_carry, *rotrhi3_with_carry): Likewise.
1645         (*return_16bit, *unnamed peepholes): Likewise.
1646
1647 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
1648
1649         * config.gcc(rs6000-ibm-aix|powerpc-ibm-aix):  Do not include
1650         rs6000/rs6000.h twice.
1651
1652 2001-05-03  Mark Elbrecht  <snowball3@bigfoot.com>
1653
1654         * config/i386/djgpp.h (CPP_PREDEFINES): Define __GO32__.
1655         (CPP_SPEC): Conditionally define MSDOS and GO32.
1656         (SUBTARGET_SWITCHES): Ignore -mbnu210 and -mno-bnu210.
1657         (SUBTARGET_OVERRIDE_OPTIONS): Warn that -mbnu210 and -mno-bnu210 are
1658         ignored.
1659         (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Remove.
1660
1661 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
1662
1663         * config/mn10300/mn10300.md: Sign-extend GEN_INT operands.
1664
1665 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
1666
1667         * integrate.h (struct inline_remap): Add leaf_reg_map table.
1668         * integrate.c (expand_inline_function): Use xcalloc to allocate
1669         memory.
1670         (copy_rtx_and_substitute): Use the leaf_reg_map for leaf
1671         registers.
1672
1673 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
1674
1675         * c-dump.c (dequeue_and_dump): Don't look at DECL_ASSEMBLER_NAME
1676         if it is not set.
1677
1678 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
1679
1680         * config/mn10300/mn10300.h (LINK_SPEC): Pass --relax to the
1681         linker if -mrelax is given.
1682         (TARGET_SWITCHES): Document -mrelax.
1683
1684         Re-installed 2001-01-09's patch:
1685         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
1686         if it's wider than long and the target's long is wider than the
1687         host's.
1688
1689 2001-05-02  David O'Brien  <obrien@FreeBSD.org>
1690
1691         * config.gcc, config/rs6000/aix51.h, config/rs6000/mach.h:  Do not
1692         directly include rs6000/rs6000.h.  Instead do it in tm.h.
1693
1694 2001-05-02  Stan Shebs  <shebs@apple.com>
1695
1696         * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Default to
1697         NSConstantString for NeXT-style runtimes.
1698         (STRING_OBJECT_GLOBAL_NAME): New macro.
1699         (enum objc_tree_index): Add values OCTI_CNST_STR_GLOB_ID and
1700         OCTI_STRING_CLASS_DECL.
1701         (constant_string_global_id): New macro.
1702         (string_class_decl): Ditto.
1703         (setup_string_decl): New function.
1704         (build_objc_string_object): Use it to build a NeXT runtime
1705         compatible string initializer.
1706
1707 2001-05-02  Jakub Jelinek  <jakub@redhat.com>
1708
1709         * tradcpp.c (do_define): Make sure we don't walk past limit.
1710
1711 2000-05-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1712
1713         * config/rs6000/rs6000.c (rs6000_legitimate_address): Allow any stack
1714         offsets if not REG_OK_STRICT.
1715
1716         * config/rs6000/rs6000.h (REG_OK_STRICT_FLAG): New macro.
1717         (INT_REG_OK_FOR_INDEX_P): Likewise.
1718         (INT_REG_OK_FOR_BASE_P): Likewise.
1719         (REG_OK_FOR_INDEX_P): Use INT_REG_OK_FOR_INDEX_P.
1720         (REG_OK_FOR_BASE_P): Use INT_REG_OK_FOR_BASE_P.
1721         (LEGITIMATE_OFFSET_ADDRESS_P): Use INT_REG_OK_FOR_INDEX_P and
1722         INT_REG_OK_FOR_BASE_P instead of REG_OK_FOR_INDEX_P and
1723         REG_OK_FOR_BASE_P. Take an additional parameter.
1724         (LEGITIMATE_INDEXED_ADDRESS_P): Likeewise.
1725         (LEGITIMATE_INDIRECT_ADDRESS_P): Likewise.
1726         (LEGITIMATE_LO_SUM_ADDRESS_P): Likewise.
1727         (GO_IF_LEGITIMATE_ADDRESS): Move code into new function
1728         rs6000_legitimate_address() and use it.
1729         * config/rs6000/rs6000.c: Update all callers.
1730         (rs6000_legitimate_address): New function.
1731
1732 2001-05-02  David Edelsohn  <edelsohn@gnu.org>
1733
1734         * config/rs6000/rs6000.c (rs6000_emit_move): Merge
1735         special_constant conditional blocks together.
1736
1737 2001-05-02  Dale Johannesen  <dalej@apple.com>
1738
1739         * config/rs6000/rs6000.h (RS6000_ARG_SIZE): Remove unused NAMED
1740         parameter.
1741         (STRICT_ARGUMENT_NAMING): Define.
1742         * config/rs6000/rs6000.c (function_arg_advance, function_arg,
1743         function_arg_partial_nregs, setup_incoming_varargs): Remove
1744         args logic which depends on "named" now that STRICT_ARGUMENT_NAMING
1745         is defined.
1746
1747 Wed May  2 13:09:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1748
1749         * config/i386/i386.h (FUNCTION_BOUNDARY): Result is unsigned.
1750
1751         * function.c (fixup_var_regs_1, case SUBREG): Use promoted mode
1752         for replacement.
1753
1754         * expr.c (store_field): Do nothing except elaborate side-effects if
1755         zero-bit field.
1756
1757 2001-05-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1758
1759         * c-lex.c: NULL_PTR -> NULL.
1760         * cse.c: Likewise.
1761         * emit-rtl.c: Likewise.
1762         * gcse.c: Likewise.
1763         * genpeep.c: Likewise.
1764         * jump.c: Likewise.
1765         * mips-tdump.c: Likewise.
1766         * reload1.c: Likewise.
1767         * rtlanal.c: Likewise.
1768         * stmt.c: Likewise.
1769         * stor-layout.c: Likewise.
1770         * toplev.c: Likewise.
1771
1772 2001-05-01  Per Bothner  <per@bothner.com>
1773
1774         * expr.c (expand_expr):  When compiling LABELED_BLOCK_EXPR,
1775         call do_pending_stack_adjust before emiting label.
1776
1777 2001-05-01  Mark Mitchell  <mark@codesourcery.com>
1778
1779         * extend.texi: Fix typo.
1780
1781 2001-05-01  Stan Shebs  <shebs@apple.com>
1782
1783         * objc/objc-act.c (build_module_descriptor): Clear DECL_CONTEXT
1784         of UOBJC_MODULES_decl.
1785         (generate_strings): Clear DECL_CONTEXT of new decl nodes.
1786         (generate_descriptor_table): Ditto.
1787         (generate_protocols): Ditto.
1788         (generate_protocol_list): Ditto.
1789         (generate_classref_translation_entry): Ditto.
1790
1791 2001-05-01  Jeffrey Oldham  <oldham@codesourcery.com>
1792
1793         * invoke.texi (Optimize Options): Add documentation for `--param
1794         max-delay-slot-insn-search' and `--param
1795         max-delay-slot-live-search' and reorder --param section.
1796         * params.def: Modify initial comment.
1797         * params.h (param_info): Add `help' member.
1798         * toplev.c (lang_independent_params): Include `help' description.
1799         (display_help): Print --param parameters.
1800
1801 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
1802
1803         * config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}.
1804         Remove references to deleted files.
1805         (*-*-openbsd): No need to override xmake_file.
1806         (*-*-sysv4): Treat like *-*-sysv.
1807
1808         * configure.in: Probe for ldopen in various places, and set up
1809         collect2 to be linked with them if found.
1810         Don't dink with Windows registry stuff unless $host_os is a
1811         Win32 os name.  Check to see if we need -ladvapi32.
1812         * configure: Regenerate.
1813
1814         * Makefile: Get rid of CLIB and HOST_CLIB.
1815         Substitute in COLLECT2_LIBS and link collect2 against its contents.
1816         * build-make: Get rid of HOST_CLIB.
1817
1818         * config/a29k/x-unix, config/alpha/x-osf, config/i386/x-aix,
1819         config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
1820         config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
1821         config/mips/x-sysv, config/rs6000/x-aix31, config/rs6000/x-aix41,
1822         config/rs6000/x-rs6000: Delete.
1823
1824         * config/i386/x-cygwin, config/m68k/t-aux, config/mips/x-iris:
1825         Don't set CLIB.
1826
1827         24 x-host fragments remain, 0 x-cpu, 3 top level.
1828
1829 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
1830
1831         * aclocal.m4 (gcc_AC_C_CHAR_BIT): Correct test program.
1832         * configure: Regenerate.
1833
1834 2001-05-01  Angela Marie Thomas <angela@cygnus.com>
1835
1836         * Makefile.in (install-headers): Remove redundant dependency.
1837
1838 2001-05-01  Nathan Sidwell  <nathan@codesourcery.com>
1839
1840         * c-tree.texi (USING_STMT): Document.
1841
1842 2001-05-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1843
1844         * bitmap.c: Change NULL_PTR to NULL or "(rtx*)0".
1845         * c-common.c: Likewise.
1846         * c-decl.c: Likewise.
1847         * combine.c: Likewise.
1848         * rs6000.c: Likewise.
1849         * except.c: Likewise.
1850         * explow.c: Likewise.
1851         * expr.c: Likewise.
1852         * fold-const.c: Likewise.
1853         * function.c: Likewise.
1854         * gcc.c: Likewise.
1855         * gcse.c: Likewise.
1856         * integrate.c: Likewise.
1857         * loop.c: Likewise.
1858         * objc/objc-act.c: Likewise.
1859         * recog.c: Likewise.
1860         * reg-stack.c: Likewise.
1861         * reload.c: Likewise.
1862         * reload1.c: Likewise.
1863         * simplify-rtx.c: Likewise.
1864         * stmt.c: Likewise.
1865         * varasm.c: Likewise.
1866
1867 2001-05-01  Gabriel Dos Reis  <gdr@codesourcery.com>
1868
1869         * diagnostic.def: New file.
1870         * diagnostic.h (diagnostic_t): New enum.
1871         * Makefile.in (diagnostic.o): Depend on diagnostic.def
1872
1873 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
1874
1875         * tsystem.h: Test only POSIX for availability of string.h
1876         and time.h.
1877         * config.gcc (all systems): If USG appeared in xm_defines,
1878         change it to POSIX.  If both USG and POSIX appeared, just
1879         delete USG. Remove unnecessary quotes around xm_defines
1880         settings.
1881         (m68k-crds-unos*): Don't #define unos - tested nowhere.
1882         (m68k-apple-aux*): Don't #define AUX - tested nowhere.
1883         (alpha*-*-linux*ecoff*, powerpc-*-linux*libc1,
1884         powerpc-*-linux*): No need to set xm_defines - handled by
1885         global settings for *-*-linux*.
1886
1887 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
1888
1889         * dbxout.c, mips-tfile.c, config/mips/mips.c, xcoffout.c:
1890         Always include gstab.h, not system stab.h.  Don't provide
1891         default definitions of N_CATCH or N_OPT.  Always use the
1892         gstab.h variant of STAB_CODE_TYPE.
1893         * final.c: Don't include stab.h/gstab.h at all, or provide
1894         defaults for N_SLINE and N_SOL.
1895
1896         * xcoffout.c: Can assume N_MAIN, N_DSLINE, N_BSLINE, N_BINCL,
1897         N_EINCL, N_EXCL, N_M2C, N_SCOPE, N_CATCH, and N_OPT are
1898         available.
1899         * sdbout.c: Always include gsyms.h instead of system syms.h.
1900
1901         * configure.in: No need to check for stab.h.
1902         * configure, config.in: Regenerate.
1903         * Makefile.in (final.o): Don't depend on gstab.h.
1904
1905 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
1906             Richard Henderson  <rth@redhat.com>
1907
1908         * extend.texi: Improve documentation of volatile asms.
1909
1910 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
1911
1912         * c-tree.texi: Fix thinko.
1913         * gcc.texi: Likewise.
1914
1915 2001-04-30  Richard Henderson  <rth@redhat.com>
1916
1917         * c-common.c (c_promoting_integer_type_p): New function, from the
1918         corpse of old macro.  Properly promote too-small enumerations and
1919         booleans.  Adjust all callers.
1920         * c-common.h (C_PROMOTING_INTEGER_TYPE_P): Remove.
1921         (c_promoting_integer_type_p): Declare.
1922         * c-decl.c: Adjust C_PROMOTING_INTEGER_TYPE_P invocations.
1923         * c-typeck.c: Likewise.
1924         (default_conversion): Remove now redundant boolean check.
1925
1926 2001-04-30  Jan Hubicka  <jh@suse.cz>
1927             Richard Henderson  <rth@redhat.com>
1928
1929         * regmove.c (try_apply_stack_adjustment): Remove now redundant
1930         sanity checks.
1931         (combine_stack_adjustments_for_block): Don't combine stack
1932         allocation followed by deallocations.  Handle grow-up stacks.
1933
1934 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
1935
1936         * fdl.texi: New file.
1937         * c-tree.texi: Use the GFDL.
1938         * gcc.texi: Likewise.
1939
1940 2001-04-30  Stan Shebs  <shebs@apple.com>
1941
1942         * invoke.texi: Add a section documenting Objective-C options.
1943
1944 2001-04-27  Andrew Haley  <aph@cambridge.redhat.com>
1945
1946         * emit-rtl.c (try_split):  Copy EH notes to sequence.
1947
1948 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
1949
1950         * regmove.c (record_stack_memrefs): Catch all references to the
1951         stack pointer.
1952
1953 2001-04-29  Toomas Rosin <toomas at ns dot tklabor dot ee>
1954
1955         * Makefile.in (stmp-fixinc): quote shell assignment values
1956
1957 2001-04-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1958
1959         * c-aux-info.c: NULL_PTR->NULL in calls to `concat'.
1960
1961         * gcc.c: Likewise.
1962
1963         * prefix.c: Likewise.
1964
1965 2001-04-28  Stan Shebs  <shebs@apple.com>
1966
1967         * objc/objc-act.c (handle_class_ref): Rewrite to flush target
1968         specific code and use new macro ASM_DECLARE_UNRESOLVED_REFERENCE.
1969         * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Define.
1970         * tm.texi (ASM_DECLARE_UNRESOLVED_REFERENCE): Document.
1971
1972         * config/darwin.h (STANDARD_EXEC_PREFIX): Don't define.
1973         (NEXT_OBJC_RUNTIME): Define.
1974
1975 Sat Apr 28 21:02:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
1976
1977         * rtl.h (simplify_gen_relational): Add cmp_mode parameter.
1978         * simplify-rtx.c (simplify_gen_relational): Likewise.
1979
1980         * simplify-rtx.c (simplify_replace_rtx): Handle relationals and MEMs.
1981
1982         * i386.h (VALID_SSE_REG_MODE): Accept MMX modes if SSE2
1983         * i386.md (movsi_1, movdi2, movdi_1_rex64): Handle SSE2 moves.
1984
1985         * i386.md (negsf2, negdf2, abssf2, absdf2): Force operands to
1986         registers in SSE case; fix handling of the immediates.
1987         (negsf2_ifs, abssf2_ifs): Tweak constraints; require
1988         operands to be in regsiters before reload.
1989         (negdf2_ifs, absdf2_ifs): Likewise; disable for 64bit
1990         (negdf2_ifs_rex64, absdf2_ifs_rtx64): New.
1991         (abstf,absxf,negtf,negxf splitters): Compute
1992         properly the regnum for x86_64.
1993         (avsdf2_if_rex64): New.
1994
1995 Sat Apr 28 10:36:23 2001  Jeffrey A Law  (law@cygnus.com)
1996
1997         * flow.c (propagate_block_delete_insn): Handle deletion of ADDR_VEC
1998         and ADDR_DIFF_VEC insns when the proceeding CODE_LABEL was put
1999         into the constant pool.
2000         * jump.c (jump_optimize_1): Remove barrier successors after all
2001         the LABEL_NUSES counds have been computed.
2002         (delete_barrier_successors): When deleting a tablejump insn, also
2003         delete the jump table it uses.
2004         * varasm.c (force_const_mem): Set LABEL_PRESERVE_P when forcing a
2005         label into memory.
2006
2007 2001-04-28  Martin Kalen  <martin.kalen@todaysystems.com.au>
2008
2009         * pa.c (FRP): Remove erroneous white space in macro definition.
2010
2011 2001-04-28  Andreas Jaeger  <aj@suse.de>
2012
2013         * invoke.texi: Use XX-bit instead of XXbit or XX bit where
2014         appropriate.
2015         * extend.texi: Likewise.
2016         * tm.texi: Likewise.
2017
2018 2001-04-28  Andreas Jaeger  <aj@suse.de>
2019
2020         * md.texi: Use XX-bit instead of XXbit or XX bit where
2021         appropriate.
2022
2023 2001-04-28  Jens Schweikhardt <schweikh@schweikhardt.net>
2024
2025         * gcc.c (process_command): Allow -l lib in addition to -llib
2026         for POSIX compliance. This fixes PR c/2347.
2027
2028         * invoke.texi: Update section on Link Options accordingly.
2029
2030 2001-04-27  Zack Weinberg  <zackw@stanford.edu>
2031
2032         * function.c (purge_addressof_1): Remove the duplicate
2033         if (code == SET) block.  Fold the two if (code == ADDRESSOF)
2034         blocks together.
2035
2036 2001-04-28  Jason Merrill  <jason_merrill@redhat.com>
2037
2038         * except.c (expand_eh_region_start): Don't start a new block.
2039         (expand_eh_region_end): Don't end a block.
2040         * stmt.c (expand_end_bindings): Don't end EH blocks.
2041         (expand_decl_cleanup): Starting an EH region won't change the block.
2042         (mark_block_as_eh_region, mark_block_as_not_eh_region): Lose.
2043         (is_eh_region): Lose.
2044         * tree.h: Adjust.
2045
2046 2001-04-27  Jeffrey Oldham  <oldham@codesourcery.com>
2047
2048         * except.c (expand_eh_region_end_cleanup): word_mode, not Pmode.
2049
2050         * collect2.c (main): Add `-L' case to remove duplicate entries.
2051         (is_in_args): New function to check for a duplicate argument.
2052         * defaults.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New macro.
2053         * tm.texi (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New documentation.
2054         * config/mips/iris6.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES):
2055         Define to be nonzero.
2056
2057 2001-04-27  Andreas Jaeger  <aj@suse.de>
2058             Richard Henderson  <rth@redhat.com>
2059
2060         * md.texi (Machine Constraints): Document additional i386
2061         constraints and fix description of "A".
2062
2063 Fri Apr 27 10:43:49 2001  Jeffrey A Law  (law@cygnus.com)
2064
2065         * tm.texi (TARGET_MEM_FUNCTIONS): Update text.
2066
2067 2001-04-27  Jason Merrill  <jason_merrill@redhat.com>
2068
2069         * except.c (get_exception_filter): word_mode, not Pmode.
2070
2071 2001-04-26  Geoffrey Keating  <geoffk@redhat.com>
2072
2073         * config/sparc/sparc.md (movsf_no_f_insn): Add more alternatives
2074         common to other movsf patterns.  Move up so that in future
2075         people who change the other patterns will change it too.
2076         (movsf_lo_sum): Allow even for soft-float; add appropriate
2077         constraints.
2078         (movsf_high): Likewise.
2079         (movsf_high+1): Allow even for soft-float.
2080
2081         * function.c (expand_function_end): Always clobber the
2082         return registers, even if there is no return label.
2083
2084 Thu Apr 26 20:28:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
2085
2086         * (ix86_expand_fp_movcc): Re-enable SSE conditional move generation.
2087
2088 Thu Apr 26 19:20:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
2089
2090         * i386.md (abs/neg splitter): Fix calculation of sign bit for TFmodes
2091         (pushqi2_rex64, pushhi2_rex64): Add.
2092
2093 2001-04-26  Andrew Haley  <aph@cambridge.redhat.com>
2094
2095         * except.c (expand_eh_region_end_cleanup): Force pending stack
2096         adjust before emitting label that branches around cleanup code.
2097
2098 2001-04-26  H.J. Lu  (hjl@gnu.org)
2099
2100         * config.gcc (mips*-*-linux*): Add elfos.h to tm_file.
2101
2102         * config/mips/ecoff.h (STARTFILE_SPEC): Undefine before
2103         define.
2104         * config/mips/elf64.h (MAX_OFILE_ALIGNMENT): Likewise.
2105         (ASM_OUTPUT_SECTION_NAME): Likewise.
2106         (ASM_WEAKEN_LABEL): Likewise.
2107         (UNIQUE_SECTION): Likewise.
2108         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
2109         (ASM_OUTPUT_DESTRUCTOR): Likewise.
2110         * config/mips/elf.h (MAX_OFILE_ALIGNMENT): Likewise.
2111         (ASM_OUTPUT_SECTION_NAME): Likewise.
2112         (ASM_WEAKEN_LABEL): Likewise.
2113         (UNIQUE_SECTION): Likewise.
2114         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
2115         (ASM_OUTPUT_DESTRUCTOR): Likewise.
2116         * config/mips/linux.h (HANDLE_SYSV_PRAGMA): Likewise.
2117         * config/mips/mips.h (DBX_CONTIN_LENGTH): Likewise.
2118         (ASM_FILE_START): Likewise.
2119         (ASM_OUTPUT_SOURCE_LINE): Likewise.
2120         (ASM_DECLARE_OBJECT_NAME): Likewise.
2121         (ASM_FILE_END): Likewise.
2122         (ASM_DECLARE_FUNCTION_NAME): Likewise.
2123         (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
2124         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2125         (ASM_OUTPUT_CASE_LABEL): Likewise.
2126         (ASM_OUTPUT_SKIP): Likewise.
2127         (ASM_OUTPUT_ASCII): Likewise.
2128         (ASM_OUTPUT_IDENT): Likewise.
2129         (READONLY_DATA_SECTION): Likewise.
2130         (EXTRA_SECTIONS): Likewise.
2131         (EXTRA_SECTION_FUNCTIONS): Likewise.
2132         (SELECT_RTX_SECTION): Likewise.
2133         (SELECT_SECTION): Likewise.
2134
2135         * config/mips/linux.h (INVOKE__main): Undefine.
2136         (CTOR_LIST_BEGIN): Likewise.
2137         (CTOR_LIST_END): Likewise.
2138         (DTOR_LIST_BEGIN): Likewise.
2139         (DTOR_LIST_END): Likewise.
2140         (SET_ASM_OP): Defined it to ".dummy".
2141         (ASM_OUTPUT_DEF): Defined.
2142         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Defined.
2143
2144 2001-04-26  Nick Clifton  <nickc@cambridge.redhat.com>
2145
2146         * config/arm/arm.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define, if the
2147         assembler supports .p2align.
2148
2149 2001-04-26  Nathan Sidwell <nathan@codesourcery.com>
2150
2151         * c-lex.c (c_lex): Remove # from %o diagnostic formatting.
2152
2153 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
2154
2155         * integrate.c (expand_inline_function): Check for error_mark_node
2156         in actual argument.
2157
2158 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
2159
2160         * config/i386/i386.h (CC1_CPU_SPEC): Fix deprecation warnings for
2161         -m386 and -m486.
2162
2163 2001-04-26  Alexandre Oliva  <aoliva@redhat.com>
2164
2165         * configure.in (configargs.h): Define thread_model.
2166         * configure: Rebuilt.
2167         * gcc.c (main): Print it with -v.
2168
2169 2001-04-25  Joseph S. Myers  <jsm28@cam.ac.uk>
2170
2171         * invoke.texi: Document -Wmissing-braces, -dumpspecs,
2172         -dumpmachine, -dumpversion, -fmem-report and -ftime-report.
2173         * gcc.1: Regenerate.
2174
2175 2001-04-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2176
2177         * dwarfout.c (is_pseudo_reg, type_main_variant, is_tagged_type,
2178         is_redundant_typedef): Use static inline instead of inline static.
2179
2180 Wed Apr 25 18:21:01 2001  Christopher Faylor <cgf@cygnus.com>
2181
2182         * config/i386/cygwin.h: Move W32API search to LINK_SPEC to ensure that
2183         this directory is always searched.
2184
2185 2001-04-25  Richard Henderson  <rth@redhat.com>
2186
2187         * config/i386/i386.c (ix86_expand_epilogue): Properly compute size
2188         of registers to restore along non eh_return path.
2189
2190 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
2191
2192         * c-format.c (check_format_info_recurse): Handle
2193         PLUS_EXPR for format string.
2194
2195 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
2196
2197         * config/ia64/ia64.h (CC1_SPEC): Define.
2198         * config/ia64/linux.h (CC1_SPEC): Define.
2199
2200 Wed Apr 25 17:09:50 2001  J"orn Rennecke <amylaar@redhat.com>
2201
2202         * emit-rtl.c (constant_subword): Also do sign extension in
2203         BITS_PER_WORD == 16 case.
2204
2205 2001-04-25  Jason Merrill  <jason_merrill@redhat.com>
2206
2207         * loop.c (try_swap_copy_prop): Go back to checking insn.
2208
2209 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
2210
2211         * emit-rtl.c (subreg_hard_regno): Only do HARD_REGNO_MODE_OK check
2212         if check_mode is non-zero.
2213
2214 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
2215
2216         * config/i386/i386.c (ix86_expand_int_movcc): If overlap between
2217         out and comparison sequence has been detected, put result into
2218         proper temporary pseudo.
2219
2220 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
2221
2222         * Makefile.in (LIB2FUNCS): Remove _varargs and __dummy.
2223         * libgcc-std.ver: Remove __builtin_saveregs, __dummy, and __empty.
2224         * libgcc2.c: Remove __dummy and __builtin_saveregs.
2225         * libgcc2.h: Don't prototype __builtin_saveregs or __dummy.
2226         * config/i860/varargs.asm: New file - preserve i860 __builtin_saveregs
2227         for future reference.
2228
2229 2001-04-24  Jason Merrill  <jason_merrill@redhat.com>
2230
2231         * except.c (reachable_handlers): Step out one level from a RESX.
2232
2233         * except.c (struct eh_region): Rename 'last' to 'resume'.
2234         (mark_eh_region, duplicate_eh_region_1): Adjust.
2235         (expand_eh_region_end_cleanup): Remember the jump, not the barrier.
2236         (build_post_landing_pads): Likewise.
2237         (expand_end_catch, expand_eh_region_end_allowed): Don't set it.
2238         (expand_eh_region_end_must_not_throw): Likewise.
2239         (connect_post_landing_pads): Thread (only) regions with non-deleted
2240         resume insns.
2241
2242         * except.c (expand_eh_region_end_cleanup): Save the EH return data
2243         registers around the cleanup.
2244         (get_exception_filter): New fn.
2245         (finish_eh_generation): Use it.
2246
2247 2001-04-24  Nathan Sidwell <nathan@codesourcery.com>
2248
2249         * c-semantics.c (add_scope_stmt): Don't call
2250         current_scope_stmt_stack multiple times.
2251
2252 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
2253             Nathan Sidwell <nathan@codesourcery.com>
2254
2255         Lazy __FUNCTION__ generation.
2256         * c-common.h (RID_FUNCTION_NAME, RID_PRETTY_FUNCTION_NAME,
2257         RID_C99_FUNCTION_NAME): New _RIDs.
2258         (CTI_FUNCTION_ID, CTI_PRETTY_FUNCTION_ID, CTI_FUNC_ID): Remove.
2259         (CTI_FUNCTION_NAME_DECL, CTI_PRETTY_FUNCTION_NAME_DECL,
2260         CTI_C99_FUNCTION_NAME_DECL, CTI_SAVED_FUNCTION_NAME_DECLS): New
2261         global tree slots.
2262         (function_id_node, pretty_function_id_node, func_id_node): Remove.
2263         (c99_function_name_decl_node, function_name_decl_node,
2264         pretty_function_name_decl_node, saved_function_name_decls):
2265         Declare.
2266         (struct language_function): Remove x_function_name_declared_p.
2267         (make_fname_decl): Remove a parameter.
2268         (declare_function_names): Remove prototype.
2269         (start_fname_decls, finish_fname_decls): Prototype.
2270         (fname_as_string): Likewise.
2271         (fname_string, fname_decl): Likewise.
2272         * c-common.c (make_fname_decl): Adjust.
2273         (struct fname_var_t): New struct.
2274         (fname_vars): New static array.
2275         (declare_function_name): Remove.
2276         (start_fname_decls, finish_fname_decls): New functions.
2277         (fname_as_string): New function from remnants of
2278         declare_function_name.
2279         (fname_string, fname_decl): New functions.
2280
2281         * c-decl.c (c_function_name_declared_p): Remove.
2282         (init_decl_processing): Don't generate __FUNCTION__ et al ids,
2283         don't call declare_function_name. Call start_fname_decls.
2284         (c_make_fname_decl): Adjust parameters. Generate the name. Don't
2285         clobber the line number. Call finish_decl.
2286         (start_function): Call start_fname_decls.
2287         (finish_function): Call finish_fname_decls.
2288         Remove c_function_name_declared_p.
2289         (push_c_function_context): Don't push c_function_name_declared_p.
2290         (pop_c_function_context): Don't pop c_function_name_declared_p.
2291         (c_begin_compound_stmt): Don't check c_function_name_declared_p.
2292         * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): New tokens.
2293         (program): Call finish_fname_decls for C.
2294         (primary): Add VAR_FUNC_NAME.
2295         (reswords): Add slots for __FUNCTION__ et al.
2296         (rid_to_yy): Add mappings for __FUNCTION__ et al.
2297         (yylexname): If it's a STRING_FUNC_NAME generate the function name
2298         now. Don't look for VAR_DECLs containing __FUNCTION__ et al.
2299         * c-semantics.c (prune_unused_decls): Remove.
2300         (finish_stmt_tree): Don't call prune_unused_decls.
2301         (genrtl_decl_stmt): Don't prune unused decls here.
2302
2303 2001-04-24  Nick Clifton  <nickc@cambridge.redhat.com>
2304
2305         * dwarf2out.c (mem_loc_descriptor): If a SYMBOL_REF is in the
2306         constant pool, use the pool's SYMBOL_REF instead.
2307
2308         * config/v850/v850.h (STRICT_ALIGNMENT): Always set, even for the
2309         v850e.
2310
2311 2001-04-23  Joseph S. Myers  <jsm28@cam.ac.uk>
2312
2313         * c-convert.c (convert): When converting to a BOOLEAN_TYPE, avoid
2314         passing nested NOP_EXPRs to fold.
2315
2316 Mon Apr 23 14:32:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
2317
2318         * reg-stack.c (emit_swap_insn): Do not get pass CALL_INSNs.
2319
2320 2001-04-22  Mark Mitchell  <mark@codesourcery.com>
2321
2322         * loop.c (loop_delete_insns): Add prototype.
2323
2324 2001-04-23  Phil Edwards  <pme@sources.redhat.com>
2325
2326         * configure.in:  Remove ENABLE_STD_NAMESPACE.
2327         * config.in:  Regenerated.
2328         * configure:  Regenerated.
2329
2330 2001-04-22  Stan Shebs  <shebs@apple.com>
2331
2332         * config.gcc (powerpc-*-darwin*): Move the flag in xm-darwin.h
2333         into xm_defines.
2334         * config/rs6000/xm-darwin.h: Remove file.
2335
2336 2001-04-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2337
2338         * collect2.c (main): Use concat in lieu of xmalloc/sprintf.
2339         (write_c_file_stat): Likewise.
2340
2341         * dbxout.c (dbxout_init): Likewise.
2342
2343         * profile.c (output_func_start_profiler): Likewise.
2344
2345 2001-04-22  Philipp Thomas  <pthomas@suse.de>
2346
2347         * ABOUT-GCC-NLS: Now that gettext 0.10.37 is out,
2348         require it instead of the CVS version.
2349         * cpperror.c (v_message): Put a blank before the macro
2350         body to not confuse exgettext.
2351
2352 2001-04-21  Mark Mitchell  <mark@codesourcery.com>
2353
2354         * flow.c (proagate_one_insn): Remove useless assignment.
2355         * jump.c (delete_insn): Tidy.
2356         * loop.c (try_copy_prop): When deleting an instruction with a
2357         REG_RETVAL note, delete the entire libcall sequence.
2358         (loop_delete_insns): New function.
2359         * unroll.c (initial_reg_note_copy): Copy INSN_LIST notes, even if
2360         we're not substituting into them yet.
2361
2362 2001-04-21  Kazu Hirata  <kazu@hxi.com>
2363
2364         * config/h8300/h8300.c (general_operand_src): Fix a comment typo.
2365
2366         * config/sparc/sparc.c (sparc_flat_eligible_for_epilogue_delay):
2367         Fix a comment typo.
2368         * config/i960/i960.c (signed_arith_operand): Likewise.
2369
2370         * calls.c (expand_call): Fix a comment typo.
2371
2372 2001-04-20  Zack Weinberg  <zackw@stanford.edu>
2373
2374         * configure.in: Probe for times, clock, struct tms, and clock_t.
2375         * configure, config.in: Regenerate.
2376         * timevar.c: Replace ifdef forest in get_time with (relatively)
2377         straightforward series of checks based on autoconf's probes.
2378
2379 Fri Apr 20 12:24:50 2001  Jeffrey A Law  (law@cygnus.com)
2380
2381         * config/pa/som.h (NM_FLAGS): Define.
2382
2383 2001-04-20  Bernd Schmidt  <bernds@redhat.com>
2384
2385         * ia64.h (MD_SCHED_REORDER, MD_SCHED_REORDER2): Pass CLOCK to called
2386         function.
2387         * ia64-protos.h (ia64_sched_reorder): Additional arg for clock.
2388         * ia64.c (nop_cycles_until): New function.
2389         (prev_cycle, prev_first, last_issued): New static variables.
2390         (ia64_sched_reorder): Additional arg for clock.
2391         On final scheduling pass, emit extra NOPs as needed.
2392         Set prev_first and prev_cycle.
2393         (ia64_sched_reorder2): Pass clock arg down to ia64_sched_reorder.
2394         (ia64_variable_issue): Set last_issued.
2395
2396 2001-04-20  Alexandre Oliva  <aoliva@redhat.com>
2397
2398         * config/i386/i386.c (ix86_expand_int_movcc,
2399         ix86_expand_strlensi_unroll_1): Sign-extend CONST_INTs.
2400
2401 2001-04-20  Geoff Keating  <geoffk@redhat.com>
2402
2403         * config/rs6000/rs6000.md (ctrsi_internal1, ctrsi_internal2,
2404         ctrsi_internal3, ctrsi_internal4, ctrsi_internal5,
2405         ctrsi_internal6, ctrdi_internal1, ctrdi_internal2,
2406         ctrdi_internal3, ctrdi_internal4, ctrdi_internal5,
2407         ctrdi_internal6): In the short-branch case, this insn is only 4
2408         bytes long.  Reported by Reza Yazdani <reza@apple.com>.
2409
2410 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
2411
2412         * reg-stack.c (check_asm_stack_operands): Issue error if "=t" resp.
2413         "=u" is used together with "st" resp. "st(1)" clobber.
2414
2415 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
2416
2417         * gcse.c (gcse_main): Fix comment typo.
2418         (delete_null_pointer_check): Likewise.
2419         (hash_scan_set): Don't consider sets with REG_EQUIV MEM notes.
2420         * cse.c (cse_insn): Likewise.
2421         * function.c (fixup_var_refs_insns_with_hash): The sequence is
2422         toplevel.
2423
2424 2001-04-19  Zack Weinberg  <zackw@stanford.edu>
2425
2426         * toplev.c: Excise all code for the undocumented -dm option.
2427         (float_signal): Call signal just once, unconditionally.
2428
2429 2001-04-19  Geoff Keating  <geoffk@redhat.com>
2430
2431         * fold-const.c (fold): Use first_rtl_op rather than
2432         TREE_CODE_LENGTH when looping over parameters of a tree.
2433         Correct strange grouping in test for evaluated SAVE_EXPR.
2434
2435 Thu Apr 19 19:15:26 2001  Jeffrey A Law  (law@cygnus.com)
2436
2437         * config/pa/pa-linux.h (CPLUSPLUS_CPP_SPEC): Undefine.
2438         * config/pa/pa.h (CPLUSPLuS_CPP_SPEC): Define.
2439
2440         * config/pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Truncate subspace
2441         name at 32 total characters.
2442         (ASM_OUTPUT_SECTION_NAME): Similarly.  Also, only support placing
2443         functions in named sections -- data items can still go into unique
2444         sections, but they have normal names (ie $LIT$ and $DATA$).
2445
2446         * config/pa/som.h (SUPPORTS_INIT_PRIORITY): SOM does not support
2447         INIT_PRIORITY.
2448
2449 2001-04-19 DJ Delorie  <dj@redhat.com>
2450
2451         * config/alpha/vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
2452         to TARGET_OBJECT_SUFFIX and TARGET_EXECUTABLE_SUFFIX.
2453         * config/i386/cygwin.h: Likewise.
2454         * config/i386/mingw32.h: Likewise.
2455         * config/vax/vms.h: Likewise.
2456         * config/i386/djgpp.h: Remove NO_AUTO_EXE_SUFFIX.
2457
2458         * config/alpha/xm-vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
2459         to HOST_OBJECT_SUFFIX and HOST_EXECUTABLE_SUFFIX.
2460         * config/i386/xm-cygwin.h: Likewise.
2461         * config/i386/xm-djgpp.h: Likewise.
2462         * config/i386/xm-mingw32.h: Likewise.
2463         * config/vax/xm-vms.h: Likewise.
2464
2465         * mkdeps.c (deps_add_default_target): Use TARGET_OBJECT_SUFFIX
2466         instead of OBJECT_SUFFIX.
2467         * collect2.c (find_a_file): Look for files matching the extension
2468         HOST_EXECUTABLE_SUFFIX instead of EXECUTABLE_SUFFIX.
2469         * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION): Depend on
2470         TARGET_EXECUTABLE_SUFFIX.
2471         (find_a_file): Use HOST_EXECUTABLE_SUFFIX.
2472         (make_relative_prefix): Likewise.
2473         (convert_filename): Use TARGET_ suffixes throughout.  Remove
2474         NO_AUTO_EXE_SUFFIX.
2475         (process_command): Likewise.
2476         (do_spec_1): Likewise.
2477         * java/lang.c (init_parse): Likewise.
2478
2479         * gcc.texi : Document four new options matching the pattern
2480         (HOST|TARGET)_(OBJECT|EXECUTABLE)_SUFFIX.  Remove documentation
2481         for deleted macros OBJECT_SUFFIX and EXECUTABLE_SUFFIX.  Remove
2482         documentation for NO_AUTO_EXE_SUFFIX.
2483
2484 2001-04-19  Mark Mitchell  <mark@codesourcery.com>
2485
2486         * toplev.h (struct lang_hooks): Allow decode_option to indicate
2487         that language-independent processing should not be done.
2488         * toplev.c (main): Adjust accordingly.
2489
2490         * rtl.texi (jump_insn): Expand on JUMP_LABEL documentation.
2491         * loop.c (load_mems): Handle a NULL JUMP_LABEL for a JUMP_INSN.
2492
2493         * mips.md (reload_outputdi): Require that operand0 be a
2494         general_operand.
2495
2496 2001-04-19  Jakub Jelinek  <jakub@redhat.com>
2497
2498         * invoke.texi (-Wshadow): Clarify.
2499
2500 2001-04-18  Mark Mitchell  <mark@codesourcery.com>
2501
2502         * loop.c (load_mems): Examine all the instructions in the loop
2503         before concluding that all jumps branch to the first instruction
2504         after the loop.
2505
2506 Wed Apr 18 20:32:03 2001  Christopher Faylor <cgf@cygnus.com>
2507
2508         * config/i386/xm-cygwin.h (CPP_SPEC): Fix typo.
2509
2510 2001-04-18  Jakub Jelinek  <jakub@redhat.com>
2511
2512         * cpp.texi (-Wwhite-space): Remove.
2513         (-Wall): -Wall does not imply -Wwhite-space.
2514
2515 2001-04-17  Zack Weinberg  <zackw@stanford.edu>
2516
2517         * dbxout.c (dbxout_init): If DBX_OUTPUT_GCC_MARKER is defined,
2518         use it instead of blindly generating a .stabs.
2519         * xcoffout.h: Define DBX_OUTPUT_GCC_MARKER so we put the type
2520         in the right place.
2521         * xcoffout.c: Don't bother defining default for N_CATCH.
2522         (UNKNOWN_STAB): Use internal_error.
2523         (stab_to_sclass): Remove now-unnecessary aborts.
2524         Remove #if 0'ed case N_BROWS.  Add #ifdef N_OPT block.
2525
2526 Tue Apr 17 21:41:11 2001  Jeffrey A Law  (law@cygnus.com)
2527
2528         * jump.c (mark_all_labels): Canonicalize the tail recursion
2529         label attached to CALL_PLACEHOLDER insns.
2530
2531 2001-04-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2532
2533         * output.h (dump_flow_info, free_basic_block_vars,
2534         which_alternative): Delete redundant prototypes.
2535
2536         * rtl.h (bss_section): Likewise.
2537
2538 2001-04-17  Loren J. Rittle  <ljrittle@acm.org>
2539
2540         * dbxout.c (N_OPT): Define if not available from <stab.h>
2541
2542 2001-04-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2543
2544         * vax.h (PROMOTE_PROTOTYPES): Define for compatibility with system
2545         libraries and native K&R compilers.
2546
2547 2001-04-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2548
2549         * c-typeck.c (convert_arguments): Don't check for width changes
2550         with -Wtraditional.
2551
2552         * invoke.texi (-Wtraditional): Update documentation.
2553
2554 2001-04-16  Zack Weinberg  <zackw@stanford.edu>
2555
2556         * toplev.c (output_lang_identify): Delete.
2557         (compile_file): Don't call ASM_IDENTIFY_GCC or ASM_IDENTIFY_LANGUAGE.
2558         Don't generate gcc2_compiled. label.  Don't emit a nop if profiling.
2559         If IDENT_ASM_OP is defined, emit an .ident "GCC (GNU) <version>"
2560         after calling ASM_FILE_END.
2561
2562         * dbxout.c (dbxout_init): Don't call ASM_IDENTIFY_GCC_AFTER_SOURCE.
2563         Instead, unconditionally emit an N_OPT stab with string equal
2564         to STABS_GCC_MARKER, which defaults to "gcc2_compiled."
2565
2566         * defaults.h: Don't provide default for ASM_IDENTIFY_LANGUAGE.
2567
2568         * config/dbxelf.h, config/freebsd.h, config/nextstep.h,
2569         config/psos.h, config/ptx4.h, config/1750a/1750a.h,
2570         config/alpha/alpha.h, config/alpha/elf.h, config/arc/arc.h,
2571         config/arm/aof.h, config/arm/coff.h, config/arm/elf.h,
2572         config/arm/linux-elf.h, config/avr/avr.h, config/d30v/d30v.h,
2573         config/dsp16xx/dsp16xx.h, config/h8300/h8300.h,
2574         config/i370/i370.h, config/i386/beos-elf.h,
2575         config/i386/osf1elf.h, config/i386/osfrose.h,
2576         config/ia64/sysv4.h, config/m68k/3b1.h, config/m68k/auxgas.h,
2577         config/m68k/crds.h, config/m68k/hp320.h, config/m68k/m68kv4.h,
2578         config/m68k/mot3300.h, config/m68k/news.h, config/m68k/sgs.h,
2579         config/m68k/tower-as.h, config/mcore/mcore-elf.h,
2580         config/mips/iris6.h, config/mips/osfrose.h,
2581         config/mips/sni-svr4.h, config/pa/som.h, config/pdp11/pdp11.h,
2582         config/sparc/sp64-elf.h:
2583         Delete definitions of any or all of: ASM_IDENTIFY_GCC,
2584         ASM_IDENTIFY_GCC_AFTER_SOURCE, and ASM_IDENTIFY_LANGUAGE.
2585
2586         * config/elfos.h, config/freebsd.h, config/linux.h,
2587         config/alpha/elf.h, config/arm/linux-elf.h, config/i386/i386elf.h,
2588         config/i386/ptx4-i.h, config/mips/gnu.h, config/mips/linux.h,
2589         config/sparc/linux.h, config/sparc/linux64.h: Delete definitions
2590         of ASM_FILE_START which merely emit a .version directive.  Delete
2591         definitions of ASM_FILE_END which merely emit an .ident directive.
2592
2593         * config/avr/avr.h, config/vax/vax.h: Delete definition of
2594         ASM_IDENTIFY_GCC and move part of its logic into
2595         ASM_FILE_START.
2596
2597         * config/i386/att.h, config/i386/gas.h, config/i386/linux.h,
2598         config/sparc/linux-aout.h: Don't emit .version directive in
2599         ASM_FILE_START.
2600
2601         * config/i386/dgux.c, config/m88k/m88k.c, config/sh/sh.c
2602         (output_file_start): Correct comment.
2603
2604         * config/i386/osfrose.h: Don't emit trailing .ident directive.
2605         * config/m68k/mot3300.h: Override STABS_GCC_MARKER to "gcc2_compiled%"
2606         to match gdb.
2607         * config/pa/lib2funcs.asm: Delete gcc_compiled. label.
2608         * config/rs6000/aix.h: Correct comment.
2609
2610         * config/i386/i386afe.h: Delete.
2611         * config.gcc: Remove references to i386afe.h.
2612
2613         * tm.texi: Delete documentation of ASM_IDENTIFY_GCC.  The
2614         other macros deleted by this patch were undocumented.
2615
2616 Mon Apr 16 08:03:48 2001  Jeffrey A Law  (law@cygnus.com)
2617
2618         * pa.md (reload_outdi): Operand 0 must be a non hard register.
2619
2620         * pa.c (secondary_reload_class): SAR<->FP copies require a
2621         secondary register.
2622
2623         * install.texi (mips-mips-bsd): Update list of functions
2624         required to include memmove.
2625         * tm.texi (TARGET_MEM_FUNCTIONS): Update list of implicitly
2626         used functions to include memmove.
2627
2628 2001-04-15  Toon Moene  <toon@moene.indiv.nluug.nl>
2629
2630         * i386.md (sqrtdf2): SFmode should be DFmode.
2631
2632 2001-04-15  Alexandre Oliva  <aoliva@redhat.com>
2633
2634         * gcse.c (compute_ld_motion_mems): ASM outputs aren't moveable.
2635         (find_moveable_store): Likewise.
2636
2637 2001-04-15  Jim Wilson  <wilson@redhat.com>
2638
2639         * function.c (expand_function_end): Handle PARALLEL real_decl_rtl.
2640
2641 Sat Apr 14 16:24:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
2642
2643         * i386.md (ashldi3_1_rex64): Add 'J' to the constraints
2644         (ashrdi3_1_rex64): Change 'n' constraint to 'J'.
2645
2646 2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
2647
2648         * config/mn10300/mn10300.md (cmpsi): Tell reload to disregard the
2649         first alternative.
2650
2651 2001-04-14  Alan Modra  <amodra@one.net.au>
2652
2653         * pa.c (force_mode): New function.
2654         (emit_move_sequence): Use it instead of generating new rtx_REGs.
2655
2656 2001-04-13  Jim Wilson  <wilson@redhat.com>
2657
2658         * config/ia64/ia64.c (ia64_expand_epilogue): Emit alloc if sibcall_p.
2659         (first_instruction): New static variable.
2660         (rtx_needs_barrier): Return 1 for alloc.
2661         (init_insn_group_barriers): Set first_instruction.
2662         (rws_sum): Delete duplicate definition.
2663         (group_barrier_needed_p): Return 0 when first_instruction true.
2664         (safe_group_barrier_needed_p): Save and restore first_instruction
2665         around group_barrier_needed_p call.
2666
2667 Fri Apr 13 21:40:28 2001  Loren J. Rittle  <ljrittle@acm.org>
2668
2669         * expr.h (enum libfunc_index): Add LTI_memmove.
2670         (memmove_libfunc): Define macro.
2671         * optabs.c (init_optabs): Initialize memmove_libfunc.
2672         * expr.c (expand_assignment): Use memmove_libfunc instead of
2673         memcpy_libfunc.
2674
2675 2001-04-13  Alan Modra  <alan@linuxcare.com.au>
2676
2677         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Disallow PIC LO_SUM
2678         fp mode addresses.
2679
2680 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2681
2682         * Makefile.in (reg-stack.o): Depend on reload.h.
2683         (insn-attrtab.o): Depend on flags.h.
2684
2685         * genattrtab (main): Include flags.h in insn-attrtab.c.
2686
2687         * reg-stack.c: Include reload.h.
2688
2689         * sparc.h (flag_pic): Delete redundant declaration.
2690
2691         * output.h (flag_pic): Likewise.
2692
2693         * tree.h (pedantic): Likewise.
2694
2695 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2696
2697         * Makefile.in (toplev.o, jump.o, regmove.o): Depend on reload.h
2698
2699         * jump.c, regmove.c, toplev.c: Include reload.h.
2700
2701         * reload.h (reload_cse_regs): Declare.
2702
2703         * rtl.h (find_equiv_reg, operands_match_p, safe_from_earlyclobber,
2704         reload_cse_regs, init_reload, mark_home_live, reload,
2705         init_caller_save): Delete redundant prototypes.
2706
2707 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2708
2709         * Makefile.in (ssa.o, regclass.o): Depend on $(EXPR_H).
2710
2711         * regclass.c, ssa.c: Include expr.h.
2712
2713         * rtl.h (memory_address, force_reg, emit_queue, emit_move_insn,
2714         gen_move_insn): Delete redundant declarations.
2715
2716 2001-04-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2717
2718         * Makefile.in (CFLAGS, BOOT_CFLAGS): Partly revert 2000-10-27 patch.
2719         (stage1_build): Instead pass down STAGE1_CFLAGS here. Pass down
2720         MAKEINFO and MAKEINFOFLAGS too.
2721         (stage4_build): Correctly order -B flags.
2722
2723 2001-04-13  Alan Modra  <amodra@one.net.au>
2724
2725         * pa.c (hppa_init_pic_save): Set rtx_unchanging for
2726         PIC_OFFSET_TABLE_SAVE_RTX.
2727         (zdepi_cint_p): Describe zdepi insn.
2728         Formatting and white space fixes throughout file.
2729
2730         * pa.c (uint32_operand): Don't use long constant >= 2^32.
2731         (emit_move_sequence): Use HOST_WIDE_INT constants.  Don't worry
2732         about 32->64 bit sign extension if 32 bit HOST_WIDE_INTs.
2733         (compute_movstrsi_length): Make `align' unsigned to avoid warning.
2734         (output_64bit_and): Use plain `int's for shift counts.
2735         (output_64bit_ior): Likewise.
2736         (function_arg_partial_nregs): Use unsigned vars to avoid warnings.
2737         * pa.h (CONST_OK_FOR_LETTER_P): Use HOST_WIDE_INT constants for case
2738         `N', and simplify.
2739
2740         * pa-hpux10.h (NEW_HP_ASSEMBLER): Define to 1.
2741         * pa-hpux11.h (NEW_HP_ASSEMBLER): Likewise.
2742         * pa.h (LEGITIMATE_CONSTANT_P) Collapse two defines depending on
2743         NEW_HP_ASSEMBLER into one.  Kill warnings.
2744
2745         * pa-gas.h: Delete file.
2746         * config.gcc: Match `parisc' as well as `hppa' for cpu_type=pa.
2747         Add new targets hppa*64*-*-linux* and parisc*64*-*-linux*.  Update
2748         hppa*-*-linux*.  For all pa targets, remove pa/gas.h from tm_file,
2749         instead setting MASK_GAS | MASK_JUMP_IN_DELAY in target_cpu_default2.
2750
2751         * config/pa/mill32.S: New file.
2752         * config/pa/mill64.S: New file.
2753         * config/pa/t-linux (LIBGCC1, CROSS_LIBGCC1, LIB1ASMFUNCS,
2754         LIB1ASMSRC, CRTSTUFF_T_CFLAGS_S, TARGET_LIBGCC2_CFLAGS): Define.
2755         * config/pa/t-linux64: New file.
2756         * config/pa/t-pa64 (CROSS_LIBGCC1): Change to libgcc1-asm.a
2757         (LIB1ASMFUNCS, LIB1ASMSRC): Define.
2758         (TARGET_LIBGCC2_CFLAGS): Add -Dpa64=1 -DELF=1.
2759
2760         * elfos.h (SELECT_SECTION): Undef before defining.
2761         * pa-linux.h (LINUX_DEFAULT_ELF, PTRDIFF_TYPE, CPP_SPEC): Remove.
2762         (LIB_SPEC): Remove -lmilli.
2763         (DBX_REGISTER_NUMBER): Remove.
2764         (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
2765         (DWARF2_UNWIND_INFO, ASM_SPEC, LINK_SPEC, FUNCTION_OK_FOR_SIBCALL,
2766         NO_PROFILE_COUNTERS, SELECT_RTX_SECTION, INCOMING_RETURN_ADDR_RTX,
2767         DWARF_FRAME_RETURN_COLUMN, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
2768         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_FILE_START,
2769         ASM_OUTPUT_DEF, ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
2770         ASM_OUTPUT_LABEL, ASM_GLOBALIZE_LABEL, ASM_DECLARE_FUNCTION_NAME,
2771         TARGET_GAS): Define.
2772         * pa.c (output_arg_descriptor): Disable for TARGET_ELF32.
2773         (function_arg): If TARGET_ELF32, pass fp args in both general and fp
2774         regs if we don't have a prototype.
2775         * pa.md (canonicalize_funcptr_for_compare): Not for TARGET_ELF32.
2776         * pa.h (TARGET_ELF32): Default to 0 if undefined.
2777         (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX,
2778         EH_RETURN_HANDLER_RTX): Define.
2779         * pa32-regs.h (DBX_REGISTER_NUMBER): Remove unnecessary test.
2780         (DWARF_FRAME_REGNUM): Define.
2781         * pa64-regs.h (DWARF_FRAME_REGNUM): Define.
2782         * pa32-linux.h: New file.
2783         * pa64-linux.h: New file.
2784
2785         * pa-64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
2786         (ASM_OUTPUT_DOUBLE_INT): Format, protect macro with do..while.
2787         (LINK_SPEC, LIB_SPEC, MD_EXEC_PREFIX, MD_STARTFILE_PREFIX,
2788         NEW_HP_ASSEMBLER, ASM_FILE_START, OBJECT_FORMAT_ELF,
2789         DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_FORMAT,
2790         DWARF2_ASM_LINE_DEBUG_INFO, USE_CONST_SECTION, CONST_SECTION_ASM_OP,
2791         CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
2792         FINI_SECTION_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
2793         READONLY_DATA_SECTION, CONST_SECTION_FUNCTION, CTORS_SECTION_FUNCTION,
2794         DTORS_SECTION_FUNCTION, ASM_OUTPUT_SECTION_NAME, MAKE_DECL_ONE_ONLY,
2795         UNIQUE_SECTION_P, UNIQUE_SECTION, INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
2796         ASM_OUTPUT_DESTRUCTOR, TYPE_ASM_OP, SIZE_ASM_OP, ASM_WEAKEN_LABEL,
2797         TYPE_OPERAND_FMT, ASM_DECLARE_RESULT): Move to..
2798         * pa64-hpux.h: New file.
2799         (ASM_FILE_START): Correct typo.
2800         (PREFERRED_DEBUGGING_FORMAT): Rename to PREFERRED_DEBUGGING_TYPE.
2801         * config.gcc: Modify for above.
2802
2803 Fri Apr 13 00:09:22 EDT 2001  John Wehle  (john@feith.com)
2804
2805         * jump.c (jump_optimize_1): Don't delete dead stores here.
2806         * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns
2807         prior to running jump optimize before cse2.
2808
2809 2001-04-12  Richard Henderson  <rth@redhat.com>
2810
2811         * Makefile.in (regmove.o): Depend on except.h.
2812         * regmove.c: Include it.
2813
2814 2001-04-12  Stan Shebs  <shebs@apple.com>
2815
2816         * objc/objc-act.c: Remove all code ifdefed with the never-used
2817         macro OBJC_INT_SELECTORS.
2818         * config/d30v/d30v.h: Remove commented-out ref to OBJC_INT_SELECTORS.
2819         * tm.texi: Remove doc for OBJC_INT_SELECTORS.
2820
2821 Thu Apr 12 18:13:37 2001  Rodney Brown  <RodneyBrown@mynd.com>
2822
2823         * config/pa/quadlib.c: Add prototypes.
2824
2825 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2826
2827         * bitmap.h (debug_bitmap): Delete redundant prototype.
2828
2829         * rtl.h (get_frame_size): Likewise.
2830
2831 2001-04-12  Jim Wilson  <wilson@redhat.com>
2832
2833         * config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Simplify
2834         to just emit an fnorm.
2835
2836 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2837
2838         * c-common.h (truthvalue_conversion, type_for_mode,
2839         type_for_size): Delete redundant declarations.
2840
2841         * c-lex.h (is_class_name): Likewise.
2842
2843         * c-tree.h (pedantic, convert, getdecls, gettags,
2844         global_bindings_p, init_decl_processing, insert_block,
2845         maybe_build_cleanup, poplevel, print_lang_decl,
2846         print_lang_identifier, print_lang_type, pushdecl, pushlevel,
2847         set_block, incomplete_type_error, build_function_call,
2848         lvalue_or_else, mark_addressable): Likewise.
2849
2850         * expr.h (expand_tree_builtin): Likewise.
2851
2852 2001-04-12  Mark Mitchell  <mark@codesourcery.com>
2853
2854         * invoke.texi: Document --param max-gcse-memory.
2855
2856 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2857
2858         * configure.in (errno): Check for declaration.
2859         * configure, config.in: Regenerated.
2860
2861         * system.h (errno): Only declare if not already done.
2862
2863 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
2864
2865         * recog.c (general_operand, immediate_operand,
2866         nonmemory_operand): Require CONST_INTs to be sign-extended
2867         values for their modes.
2868
2869 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
2870
2871         * expmed.c (store_bit_field): Truncate CONST_INTs.
2872         (expand_mult_highpart, expand_divmod): Likewise.
2873         * expr.c (convert_modes, store_field): Likewise.
2874         * integrate.c (expand_inline_function): Use promote_mode() to
2875         determine whether to convert_modes() an argument as signed
2876         or unsigned.
2877         * optabs.c (expand_binop): Get CONST_INT operands
2878         sign-extended for their appropriate modes.
2879         * stmt.c (emit_case_nodes): Convert node values to the
2880         appropriate mode.
2881         (expand_end_case): Convert minval and range to the appropriate
2882         mode.
2883         * unroll.c (loop_iterations): Truncate abs_diff to the mode of
2884         the iteration variable.
2885         * varasm.c (immed_double_const): Don't require words to be
2886         narrower than host wide ints to properly sign-extend
2887         CONST_INTs.
2888
2889 2001-04-12  kaz Kojima  <kkojima@rr.iij4u.or.jp>
2890
2891         * sh.md (builtin_setjmp_receiver): New expander.
2892
2893 2001-04-12  David Edelsohn  <dje@watson.ibm.com>
2894
2895         * config/rs6000/rs6000.c (rs6000_emit_move): Do not
2896         special-case HOST_BITS_PER_WIDE_INT != 32.  Use same criteria
2897         for generating CONST_INT and CONST_DOUBLE.
2898
2899 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
2900
2901         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
2902         already sign-extended.
2903         (rs6000_emit_prologue): Make register iterator signed.
2904         (rs6000_emit_epilogue): Likewise.
2905         * config/rs6000/rs6000.md (addsi3, adddi3): Sign-extend high
2906         and low.
2907         (movsf split, movdf split): Sign-extend CONST_INTs.
2908         (movdi splits): Likewise.
2909
2910 2001-04-12  Kelley Cook <kelley.cook@home.com>
2911
2912         * config-lang.in (lang_dirs): Add in zlib.
2913
2914 2001-04-11  Alexandre Oliva  <aoliva@redhat.com>
2915
2916         * config/i386/i386.md: Apply trunc_int_for_mode() to GEN_INT
2917         operands that make it to RTL.
2918
2919 2001-04-11  Stan Shebs  <shebs@apple.com>
2920
2921         Add Darwin (Mac OS X kernel) native support.
2922         * config.gcc (powerpc-*-darwin*): Add native bits.
2923         * config/darwin.c: New file, generic Darwin support functions.
2924         * config/darwin.h: New file, generic Darwin definitions.
2925         * config/darwin-protos.h: New file, generic Darwin prototypes.
2926         * rs6000/darwin.h: New file, Darwin for PowerPC.
2927         * rs6000/t-darwin: New file, Darwin makefile fragment.
2928         * rs6000/rs6000.h (OBJECT_MACHO): New macro.
2929         (TARGET_MACHO): Ditto.
2930         (rs6000_abi): Add ABI_DARWIN.
2931         (RS6000_REG_SAVE): Add ABI_DARWIN case.
2932         (RS6000_SAVE_AREA): Ditto.
2933         (FP_ARG_MAX_REG): Ditto.
2934         (RETURN_ADDRESS_OFFSET): Ditto.
2935         * rs6000/rs6000.c (rs6000_legitimize_address): Add TARGET_MACHO
2936         cases.
2937         (rs6000_emit_move): Add ABI_DARWIN cases.
2938         (print_operand): Ditto.
2939         (first_reg_to_save): Ditto.
2940         (rs6000_stack_info): Ditto, also align stack by 16 instead of 8.
2941         (debug_stack_info): Ditto.
2942         (rs6000_emit_prologue): Ditto.
2943         (rs6000_emit_epilogue): Ditto.
2944         (output_profiler_hook): Ditto.
2945         (output_function_profiler): Ditto.
2946         (rs6000_add_gc_roots): Call machopic_add_gc_roots if TARGET_MACHO.
2947         (output_mi_thunk): Add TARGET_MACHO case.
2948         (add_compiler_stub): Ditto.
2949         (output_compiler_stub): Ditto.
2950         (no_previous_def): Ditto.
2951         (output_call): Ditto.
2952         (machopic_output_stub): Ditto.
2953         (rs6000_machopic_legitimize_pic_address): Ditto.
2954         (toc_section): Ditto.
2955         * rs6000/rs6000.md (addsi3_high): New TARGET_MACHO pattern.
2956         (macho_high): Ditto.
2957         (macho_low): Ditto.
2958         (movsi_low): Ditto.
2959         (load_macho_picbase): Ditto.
2960         (call): Add TARGET_MACHO case to modify function.
2961         (call_value): Ditto.
2962         (call_nonlocal_sysv): Add ABI_DARWIN case.
2963         (call_value_nonlocal_sysv): Ditto.
2964         * rs6000/rs6000-protos.h (rs6000_machopic_legitimize_pic_address):
2965         Add prototype.
2966         (machopic_output_stub): Ditto.
2967         * ginclude/stddef.h: Test _BSD_WCHAR_T_DEFINED_.
2968
2969 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
2970
2971         * dwarf2out.c (modified_type_die): Don't create new types here.
2972         * tree.h (get_qualified_type): New function.
2973         (build_qualified_type): Adjust comment.
2974         * tree.c (get_qualified_type): New function.
2975         (build_qualified_type): Use it.
2976
2977 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2978
2979         * cpp.texi (-Wtraditional): Update description.
2980
2981         * invoke.texi (-Wtraditional): Likewise.
2982
2983 2001-04-11  Jim Wilson  <wilson@redhat.com>
2984
2985         * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Return 128 if argument
2986         requires more than 64 bits of alignment.
2987
2988 2001-04-11  Neil Booth  <neil@daikokuya.demon.co.uk>
2989
2990         * cpplib.c (do_line): Sanity check iff enable checking.
2991
2992 2001-04-11  Richard Henderson  <rth@redhat.com>
2993
2994         * Makefile.in (insn-recog.o): Depend on toplev.h.
2995         (insn-emit.o, doloop.o): Likewise.
2996         * genrecog.c, genemit.c: Include toplev.h in generated file.
2997         * doloop.c: Include toplev.h.
2998
2999 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
3000
3001         * Makefile.in (gcse.o): Depend on params.h.
3002         * gcse.c: Include params.h.
3003         (gcse_main): Don't do GCSE if doing so will take inordinate
3004         amounts of memory.
3005         * params.def (PARAM_MAX_GCSE_MEMORY): New  parameter.
3006         * params.h (MAX_GCSE_MEMORY): New macro.
3007
3008 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3009
3010         * Makefile.in (insn-output.o): Depend on $(EXPR_H).
3011
3012         * genoutput.c (output_prologue): Include expr.h in insn-output.c.
3013
3014 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3015
3016         * output.h (assemble_real): Declare if REAL_VALUE_TYPE is defined.
3017
3018         * real.h (ereal_atof, real_value_truncate, target_isnan,
3019         target_isinf, target_negative, assemble_real, debug_real): Delete
3020         redundant prototypes.
3021
3022         * Makefile.in (ifcvt.o): Depend on toplev.h.
3023
3024         * c-semantics.c: Include expr.h.
3025
3026         * ifcvt.c: Include toplev.h.
3027
3028         * expr.h (rtx_equal_p): Delete prototype.
3029
3030         * rtl.h (exact_log2_wide, floor_log2_wide, permalloc,
3031         protect_from_queue, gen_jump, gen_beq, gen_bge, gen_ble,
3032         eliminate_constant_term, expand_complex_abs, find_single_use,
3033         make_tree, init_expr_once, init_optabs, supports_one_only):
3034         Likewise.
3035
3036         * tree.h (exact_log2_wide, floor_log2_wide, expand_null_return,
3037         rest_of_type_compilation, emit_queue, do_pending_stack_adjust,
3038         expand_assignment, store_expr, emit_line_note_after,
3039         emit_line_note_force, split_specs_attrs, label_rtx): Likewise.
3040
3041         * toplev.h (exact_log2_wide, floor_log2_wide): Add prototype.
3042
3043         * sparc-protos.h: Delete redundant prototypes.
3044
3045 2001-04-11  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
3046
3047         * reload.c (push_reload): Add condition missed in SUBREG byte
3048         offset patch.
3049
3050 Wed Apr  4 00:28:23 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3051
3052         * sparc/sol2-sld-64.h (STARTFILE_SPEC): Added missing blank.
3053
3054 Wed Apr 11 14:06:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
3055
3056         * i386.md (floatsisf_sse): Fix output template
3057         * i386.c (ix86_expand_fp_movcc)
3058
3059         * reg-stack.c (emit_pop_insn): Handle complex modes.
3060         (move_for_stack_reg): Emit proper move mode.
3061         (subst_stack_regs_pat): Handle complex modes.
3062
3063 2001-04-11  Jakub Jelinek  <jakub@redhat.com>
3064
3065         * cpplex.c (_cpp_lex_token): Only warn if -Wcomment.
3066
3067 2001-04-10  Richard Henderson  <rth@redhat.com>
3068
3069         * libgcc2.h (__terminate_func_ptr): Remove typedef.
3070         (__pure_virtual, __terminate, __terminate_set_func,
3071         __default_terminate, __throw_type_match, __empty,
3072         __get_eh_context, __get_eh_info, __get_dynamic_handler_chain,
3073         __eh_rtime_match, __unwinding_cleanup, __rethrow,
3074         __sjthrow, __sjpopnthrow, __eh_alloc, __eh_free):
3075         Remove prototypes of deleted functions.
3076
3077 2001-04-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3078
3079         * c-typeck.c (convert_arguments): -Wtraditional now activates
3080         -Wconversion warnings, except for changes in signed-ness.
3081         Detect complex<->int & int<->complex conversions as well.
3082
3083         * invoke.texi (-Wtraditional): Document it.
3084
3085 Tue Apr 10 17:45:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3086
3087         * gcse.c (update_ld_motion_stores): Don't use variable I for an insn.
3088         * flow.c (set_block_for_new_insns): Remove needless cast and
3089         properly check for unset block number.
3090
3091 2001-04-10  Andrew MacLeod  <amacleod@redhat.com>
3092
3093         * function.c (purge_single_hard_subreg_set): Only check REGNO if
3094         the subreg was a hard register. Pseudos are left as subregs.
3095
3096 2001-04-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3097
3098         * Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro.
3099         (LIB2ADD_ST): New macro, pass it to mklibgcc.
3100         * mklibgcc.in (libgcc2_st_objs): New variable, set it from LIB2ADD_ST.
3101         (libgcc_st_objs): New, set from libgcc2_st_objs. Use it for libgcc.a.
3102         * config/rs6000/t-ppccomm (LIB2FUNCS_STATIC_EXTRA): New macro.
3103
3104 2001-04-09  Bo Thorsen  <bo@suse.co.uk>
3105
3106         * config/i386/i386.md: "TARGET_64BIT && TARGET_64BIT": Removed one.
3107
3108 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
3109
3110         * output.h (set_block_num): Missed it earlier, remove deprecated
3111         prototype.
3112
3113 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
3114
3115         * gcse.c (oprs_unchanged_p): Pass basic_block to load_killed_in_block_p.
3116         (load_killed_in_block_p): Change bb parameter from int to basic_block.
3117         (oprs_not_set_p): Pass basic_blocks instead of ints as parameters.
3118         (handle_rd_kill_set): Change bb parameter from int to basic_block.
3119         (compute_kill_rd): Pass basic_blocks instead of ints as parameters.
3120         (expr_killed_p): Change bb parameter from int to basic_block, pass
3121         basic_blocks instead of ints as parameters.
3122         (compute_ae_kill): Pass basic_blocks instead of ints as parameters.
3123         (expr_reaches_here_p_work, expr_reaches_here_p): Change bb parameter
3124         from int to basic_block, pass basic_blocks instead of ints as parms.
3125         (pre_expr_reaches_here_p_work, pre_expr_reaches_here_p): Change bb
3126         parameter from int to basic_block, pass basic_blocks instead of ints.
3127         (process_insert_insn): Pass basic_blocks instead of ints as parameters.
3128         (insert_insn_end_bb): Change bb parameter from int to basic_block,
3129         pass basic_blocks instead of ints.
3130         (pre_edge_insert, pre_insert_copy_insn, pre_insert_copies): Pass
3131         basic_blocks instead of ints as parameters.
3132         (pre_delete): Pass basic_blocks instead of ints as parameters.
3133         (hoist_expr_reaches_here_p): Change bb parameter from int to
3134         basic_block, pass basic_blocks instead of ints.
3135         (hoist_code): Pass basic_blocks instead of ints as parameters.
3136         (reg_set_info, store_ops_ok, store_killed_after, store_killed_before):
3137         Change bb parameter from int to basic_block.
3138         (build_store_vectors): Pass basic_blocks instead of ints as parameters.
3139         (insert_insn_start_bb): Change bb parameter from int to basic_block,
3140         pass basic_blocks instead of ints.
3141         (insert_store): Pass basic_blocks instead of ints as parameters.
3142         (replace_store_insn, delete_store): Change bb parameter from int to
3143         basic_block, pass basic_blocks instead of ints.
3144         (store_motion): Pass basic_blocks instead of ints as parameters.
3145
3146 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
3147
3148         * basic-block.h (set_new_block_for_insns): New Prototype.
3149         (set_block_num): Delete prototype.
3150         * flow.c (set_block_num): Remove obsolete function.
3151         (set_block_for_new_insns): Set BB for single or multiple insns.
3152         * gcse.c (handle_avail_expr): Use set_block_for_new_insns.
3153         (process_insn_end_bb): Use set_block_for_new_insns or
3154         set_block_for_insn instead of set_block_num.
3155         (pre_insert_copy_insn): Use set_block_for_new_insns.
3156         (update_ld_motion_stores): Use set_block_for_new_insns.
3157         (insert_insn_start_bb): Use set_block_for_new_insns.
3158         (replace_store_insn): Use set_block_for_new_insns.
3159
3160 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
3161             Jeff Law  <law@redhat.com>
3162
3163         * alias.c (get_addr): Externalize.
3164         (canon_true_dependence): New function. Behaves like true_dependance
3165         except it already assumes a MEM has been canonicalized.
3166         * flags.h (flag_gcse_lm, flag_gcse_sm): New optimization flags.
3167         * gcse.c (struct ls_expr): Add load/store expressions structure.
3168         (modify_mem_list, canon_modify_mem_list): New variable.
3169         (gcse_main): Initialize & finalize alias analysis. Use enhanced
3170         load motion and store motion if requested.
3171         (alloc_gcse_mem): Allocate space for modify_mem_list array.
3172         (free_gcse_mem): Free the modify_mem_list array.
3173         (oprs_unchanged_p): Use load_killed_in_block_p.
3174         (gcse_mems_conflict_p, gcse_mem_operand): New variables.
3175         (mems_conflict_for_gcse_p): New function.  Don't kill loads
3176         with stores to themselves if its in the load/store expression list.
3177         (load_killed_in_block_p): New function.
3178         (canon_list_insert): New Function.
3179         (record_last_mem_set_info): Keep a list of all instructions which
3180         can modify memory for each basic block.
3181         (compute_hash_table, reset_opr_set_tables): Clear modify_mem_list.
3182         (oprs_not_set_p): Use load_killed_in_block_p.
3183         (mark_call, mark_set, mark_clobber): Use record_last_mem_set_info.
3184         (expr_killed_p): Use load_killed_in_block_p.
3185         (compute_transp): Do not pessimize memory references.
3186         (pre_edge_insert): Update stores for a load motion expression.
3187         (one_pre_gcse_pass): Check loads/stores for extra load motion.
3188         (ldst_entry): Find or create a ldst_expr structure.
3189         (free_ldst_entry): Free memory for an individual item.
3190         (free_ldst_mems): Free entire load/store expression list.
3191         (print_ldst_list): Print debug info.
3192         (find_rtx_in_ldst): Try to find an rtx expression in the ldst list.
3193         (enumerate_ldsts): Assign integer values to each entry in list.
3194         (first_ls_expr): First expression in the list.
3195         (next_ls_expr): Next expression in the list.
3196         (simple_mem): Check if expression qualifies for ld/st expression list.
3197         (invalidate_any_buried_refs): Remove from expression list if its
3198         used in some other way we dont understand.
3199         (compute_ld_motion_mems): Find all potential enhanced load motion
3200         expression.
3201         (trim_ld_motion_mems): Remove any expressions which are invalid.
3202         (update_ld_motion_stores): Copy store values to registers for loads
3203         which have been moved.
3204         (regvec, st_antloc, num_store): New global statics.
3205         (reg_set_info): Marks registers as set.
3206         (store_ops_ok): Verfies registers expressions are valid in a block.
3207         (find_moveable_store): Look for moveable stores in a pattern.
3208         (compute_store_table): Find stores in a function worth moving, maybe.
3209         (load_kills_store): Check dependance of a load and store.
3210         (find_loads): Find any loads in a pattern.
3211         (store_killed_in_insn): Check if a store is killed in an insn.
3212         (store_killed_after): Check is store killed after an insn in a block.
3213         (store_killed_before): Check is store killed before an insn in a block.
3214         (build_store_vectors): Generate the antic and avail vectors.
3215         (insert_insn_start_bb): Insert at the start of a BB, update BLOCK_HEAD.
3216         (insert_store): Add a store to an edge.
3217         (replace_store_insn): Replace a store with a SET insn.
3218         (delete_store): Delete a store insn.
3219         (free_store_memory): Free memory.
3220         (store_motion): Perform store motion.
3221         * invoke.texi: Add documentation for -fcse-lm and -fgcse-sm.
3222         * rtl.h (get_addr, canon_true_dependence): Add prototypes.
3223         * toplev.c (flag_gcse_lm, flag_gcse_sm): New Variables.
3224         (f_options): Add gcse-lm and gcse-sm.
3225
3226 Mon Apr  9 16:18:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
3227
3228         * i386.c (expand_fp_movcc): Fix condition reversal code.
3229
3230         * i386.c (ix86_register_move_cost): Fix handling of reformating penalty
3231         * i386.h (INTEGER_CLASS_P, MAYBE_INTEGER_CLASS_P): New.
3232         (CLASS_MAX_NREGS): Use it.
3233
3234         * i386.h (HARD_REGNO_NREGS): Handle properly TF and TCmodes on 64bit;
3235         handle properly complex values.
3236         (CLASS_MAX_NREGS): Likewise; update comment.
3237
3238 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
3239
3240         * ia64.c (ia64_flag_schedule_insns2): New variable.
3241         (ia64_override_options): Initialize it.  Clear
3242         flag_schedule_insns_after_reload.
3243         (ia64_reorg): Only do scheduling if ia64_flag_schedule_insns2.
3244
3245 Mon Apr  9 15:09:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
3246
3247         * i386.md (truncdfsf2_*): Add i387->int/sse reg alternatives;
3248         Do not require source to match destination anymore;
3249         Add abort to the nontrivial cases that should be handled by split.
3250         (fix_trunc?fdi): Add SSE case for x86_64.
3251         (floatdi?f): Likewise.
3252         (floatdi?f_sse): New.
3253         (fix_trunc?fdi_sse): New.
3254
3255 2001-04-09  Richard Sandiford   <rsandifo@redhat.com>
3256
3257         * dwarfout.c (DEBUG_ARANGES_BEGIN_LABEL): New label.
3258         (DEBUG_ARANGES_END_LABEL): Ditto.
3259         (dwarfout_init): Generate length and version fields at the start
3260         of the .debug_aranges info.  Insert DEBUG_ARANGES_BEGIN_LABEL
3261         after the length field.
3262         (dwarfout_finish): Insert DEBUG_ARANGED_END_LABEL at the end of
3263         the .debug_aranges info.
3264
3265 Sun Apr  8 00:43:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
3266
3267         * i386.c (call, call_value): Make sure that resulting call_insn
3268         does have proper second operand.
3269
3270 Sun Apr  8 22:50:49 2001  Christopher Faylor <cgf@cygnus.com>
3271
3272         * config/i386/xm-cygwin.h (GET_ENV_PATH_LIST): Eliminate obsolete
3273         function.  Remove include of sys/cygwin.h.
3274
3275 Sun Apr  8 22:20:27 2001  Christopher Faylor <cgf@cygnus.com>
3276
3277         * config/i386/cygwin.h (STARTFILE_SPEC): search */lib/w32api by default.
3278         (CPP_SPEC): Always search */include/w32api for header files.
3279         (ASM_OUTPUT_SECTION_NAME): Avoid testing NULL DECL.
3280         (LINK_SPEC): Add "cyg" to the library search prefixes.
3281
3282 2001-04-08  Philip Blundell  <philb@gnu.org>
3283
3284         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Use asm_fprintf.
3285
3286 2001-04-08  Neil Booth  <neil@daikokuya.demon.co.uk>
3287
3288         * cpperror.c (print_location): Don't special case <stdin>.
3289         (_cpp_begin_message): Handle WARNING_SYSHDR the same as
3290         WARNING, but we don't check if we're in system headers.
3291         * cpplib.h (enum error_type): WARNING_SYSHDR: New.
3292         * cpplib.c (do_warning): Warn in system headers.
3293
3294 2001-04-07  Mumit Khan <khan@NanoTech.Wisc.EDU>
3295
3296         * mbchar.c: Include config.h first.
3297
3298 2001-04-07  Zack Weinberg  <zackw@stanford.edu>
3299
3300         * config.gcc: Set default for xmake_file at top, not bottom.
3301         Change places that set xmake_file to "none" to set to the
3302         empty string instead, or remove them entirely if there is no
3303         default xmake_file for this cpu_type.  Remove references to
3304         deleted files.
3305
3306         * config/x-lynx, config/convex/x-convex, config/elxsi/x-elxsi,
3307         config/i386/x-isc, config/i386/x-isc3, config/i386/x-ncr3000,
3308         config/i386/x-next, config/i386/x-sco, config/i386/x-sysv3,
3309         config/i386/x-vsta, config/i860/x-sysv4, config/m68k/x-amix,
3310         config/m68k/x-apollo68, config/m68k/x-ccur, config/m68k/x-crds,
3311         config/m68k/x-hp2bsd, config/m68k/x-mot3300, config/m68k/x-mot3300-gas,
3312         config/m68k/x-tower, config/m88k/x-sysv4, config/mips/x-dec-osf1,
3313         config/mips/x-sni-svr4, config/mips/x-ultrix, config/romp/x-mach,
3314         config/romp/x-romp, config/rs6000/x-beos, config/rs6000/x-lynx,
3315         config/rs6000/x-mach, config/rs6000/x-sysv4, config/sparc/x-sysv4:
3316         Delete.
3317
3318         * config/a29k/x-unix, config/i386/x-aix, config/i386/x-osf1elf,
3319         config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
3320         config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
3321         config/mips/x-sysv, config/rs6000/x-aix31:
3322         Just set CLIB to -lld or -lmld, as appropriate.
3323
3324         * config/arm/x-riscix, config/i370/x-oe, config/i386/x-dgux,
3325         config/i386/x-sco4, config/i386/x-sco5, config/m68k/x-hp320,
3326         config/m68k/x-hp320g, config/m68k/x-next, config/m88k/x-dgux,
3327         config/mips/x-iris, config/pa/x-pa:
3328         Just set (some of) FIXPROTO_DEFINES, STMP_FIXPROTO,
3329         OTHER_FIXINCLUDES_DIRS.
3330
3331         * config/i386/x-djgpp: Don't set LN or LN_S.
3332         * config/m88k/x-dolph: Don't define __m88k__.
3333         * config/m88k/x-tekXD88: Don't set AR_FLAGS.
3334         * config/pa/x-pa-mpeix: Just set up quadlib.asm.
3335         * config/i860/fx2800.h: No need to #undef SVR4.
3336
3337         38 x-host fragments remain, 2 x-cpu.
3338
3339 2001-04-07  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3340
3341         * c4x.h (HARD_REGNO_NREGS): HCmode mode uses 2 regs not 4.
3342
3343 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
3344
3345         * cpplib.c (cpp_push_buffer): Give stdin buffers the name <stdin>.
3346
3347 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
3348
3349         * configure.in: Add check for lstat.
3350         * configure, config.in: Regenerate.
3351         * cppinit.c (append_include_chain): Make empty path ".".
3352         * cpplib.c (do_line): Don't simplify #line paths.
3353         * cppfiles.c (remove_component_p): New function.
3354         (find_or_create_entry): Acknowledge stat () errors during
3355         path simplification.
3356         (handle_missing_header): Don't simplify paths.
3357         (_cpp_simplify_pathname): Don't simplify VMS paths.  Return
3358         the empty path untouched.  Don't leave a trailing '/'.
3359
3360 2001-04-06  Benjamin Kosnik  <bkoz@redhat.com>
3361
3362         * cppdefault.c (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
3363         * Makefile.in (-DGPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
3364
3365 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
3366
3367         * cppfiles.c (open_file): Fail directories silently, but
3368         with an errno of NOENT set.
3369         (read_include_file): Move the common exit code to the sole
3370         caller.  Return an int indicating success or failure.  Let
3371         open_file handle directories.
3372         (stack_include_file): If read_include_file fails,
3373         push a "null" buffer.
3374
3375 2001-04-05  DJ Delorie  <dj@redhat.com>
3376
3377         * function.h (virtuals_instantiated): Declare.
3378         * function.c: (virtuals_instantiated): Make global.
3379         * calls.c (emit_library_call_value_1): Use
3380         virtual_outgoing_args_rtx only if it hasn't been instantiated.
3381         Otherwise, use the stack pointer directly.
3382
3383 Thu Apr  5 19:13:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
3384
3385         * i386.c (x86_initialize_trampoline): New global function.
3386         * i386.h (TRAMPOLINE_SIZE): Size is 23 for x86_64.
3387         (INITIALIZE_TRAMPOLINE): Move offline.
3388         * i386-protos.h (x86_initialize_trampoline): Declare.
3389
3390 Thu Apr  5 19:02:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
3391
3392         * i386.md (movdi_1_rex64): Allow SSE->SSE reg move.
3393         (lea_0): Rename to lea_1.
3394         (lea_1_zext, lea_1_rex64, lea_2_rex64): New patterns.
3395         (lea_general_?): Allow SImodes on TARGET_64BIT
3396         (lea_general_?_zext): New patterns.
3397         (call_1, call_1_rex64): Fix.
3398
3399 Thu Apr  5 19:00:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
3400
3401         * i386.c (ix86_split_long_move): Use PUT_MODE instead of change_address.
3402
3403 Thu Apr  5 18:25:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
3404
3405         * i386.c (function_arg): Return constm1_rtx for last argument.
3406         (ix86_expand_prologue): Update gen_call calls.
3407         * i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
3408         * i386.md (call_pop): Likewise.
3409         (call): Second operand is VOIDmode.
3410         (call_0): Likewise; Support 64bits.
3411         (call_exp): New expander.
3412         (call_1): Get to the sync.
3413         (call_1_exp): New pattern.
3414         (call_value): Support 64bit.
3415         (call_value_exp): New pattern.
3416         (untyped_call): Update gen_call call.
3417         (call_value_pop): Disable for 64bit.
3418         (call_value_0_rex64): New pattern.
3419         (call_value_1_rex64): Likewise.
3420
3421 2001-04-05  Bo Thorsen  <bo@suse.de>
3422
3423         * i386.md: Don't allow "builtin_setjmp_receiver" for TARGET_64BIT.
3424
3425 Thu Apr  5 13:44:17 2001  J"orn Rennecke <amylaar@redhat.com>
3426
3427         * i386.md (*andsi_1+3): If used after reload, make sure the operand
3428         satisfies ANY_QI_REG_P.
3429
3430 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
3431
3432         * config/ia64/ia64.c (rtx_needs_barrier): A PARALLEL can contain
3433         ASM_OPERAND.
3434
3435         * sched-deps.c (sched_analyze_insn): Revert more of the March 27
3436         change.
3437
3438 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
3439
3440         * config.gcc: Remove default for xm_file.  Clean up local
3441         machine type handling.  Remove settings of xm_file to
3442         something that doesn't exist.  In the big switch, set xm_file,
3443         don't append to it (the value before the big switch is always
3444         null).  Don't force build_xm_file or host_xm_file to have a value.
3445         * configure.in: Remove default for xm_file.  Do not special
3446         case $cpu/xm-$cpu.h not existing.
3447         * configure: Regenerate.
3448
3449 2001-04-04  Diego Novillo  <dnovillo@redhat.com>
3450
3451         * simplify-rtx.c (simplify_binary_operation): Check for overflow
3452         when folding integer division and modulo operations.
3453
3454 2001-04-04  Andrew MacLeod  <amacleod@redhat.com>
3455
3456         * dwarf2out.c (output_cfi): Add 'for_eh' parameter, use PTR_SIZE
3457         instead of DWARF2_ADDR_SIZE for EH addresses.
3458         (output_call_frame_info): Use PTR_SIZE instead of DWARF2_ADDR_SIZE for
3459         EH addresses.
3460
3461 2001-04-04  Richard Henderson  <rth@redhat.com>
3462
3463         * config/ia64/ia64.h (IA64_UNWIND_INFO): Disable.
3464         * config/ia64/t-glibc (LIB2ADDEH): Disable.
3465         * config/ia64/t-ia64 (LIB2ADDEH): Disable.
3466
3467 2001-04-04  Richard Henderson  <rth@redhat.com>
3468
3469         * configure.in (gcc_cv_as_leb128): Escape "." in regexp.
3470         * configure: Rebuilt.
3471
3472 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
3473
3474         * gcse.c (delete_null_pointer_checks_1): Add delete_list argument,
3475         push insns to delete to it instead of deleting them.
3476         (delete_null_pointer_checks): Delete insns from delete_list after
3477         all delete_null_pointer_checks_1 passes are done.
3478
3479 2001-04-04  Richard Henderson  <rth@redhat.com>
3480
3481         * configure.in (gcc_cv_as_leb128): Tweek minor number extraction.
3482         * configure: Rebuilt.
3483
3484 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
3485
3486         * expr.h: Remove #ifdef FUNCTION_CONVERSION_BUG logic.
3487         * config/romp/xm-romp.h: Delete.
3488
3489 2001-04-04  Bernd Schmidt  <bernds@redhat.com>
3490
3491         * sched-deps.c (sched_analyze_insn): Partially revert March 27
3492         change.
3493
3494 2001-04-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3495
3496         * emit-rtl.c (mark_label_nuses) Increment the label uses for
3497         all labels present in rtx.
3498         (try_split) Call new function for all split insns.
3499
3500 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
3501
3502         * recog.c (validate_replace_rtx_1): Instead of aborting just make
3503         sure the change won't be validated.
3504
3505 Wed Apr  4 00:45:38 EDT 2001  John Wehle  (john@feith.com)
3506
3507         * rtl.h (set_noop_p): Declare.
3508         * flow.c (set_noop_p): Move from here ...
3509         * rtlanal.c (set_noop_p): ... to here and enhance.
3510         * cse.c (delete_trivially_dead_insns): Use it.
3511         * gcse.c (hash_scan_set): Likewise.
3512         * jump.c (delete_noop_moves): Likewise.
3513         * recog.c (split_all_insns): Likewise.
3514
3515 2001-04-04  Alan Modra  <alan@linuxcare.com.au>
3516
3517         * dwarf2out.c (dwarf2out_frame_debug_expr): Support adjusting
3518         stack pointer via a LO_SUM.  Ditto for setting a temp register
3519         used to save to the stack.  Set cfa_temp when setting fp, and
3520         allow matches to cfa_temp in addition to cfa_store when saving
3521         regs.  Handle POST_INC and LO_SUM register stores.  Document the
3522         changes and errors in rule 12 doco.
3523
3524         * pa.c (set_reg_plus_d, store_reg, load_reg): Return last insn.
3525         (actual_fsize, local_fsize, save_fregs): Move for store_reg to see.
3526         (load_reg): Move closer to epilogue code.
3527         (DO_FRAME_NOTES): Define to control the following..
3528         (FRP): Define to set RTX_FRAME_RELATED_P on insns.
3529         (hppa_expand_prologue): Use FRP and REG_FRAME_RELATED_EXPR
3530         notes as necessary.
3531         (hppa_expand_epilogue): Likewise.
3532
3533 2001-04-03  Richard Henderson  <rth@redhat.com>
3534
3535         * configure.in (gcc_cv_as_leb128): Reject gas before 2.11.
3536         * configure: Rebuild.
3537
3538 2001-04-03  Richard Henderson  <rth@redhat.com>
3539
3540         * rtl.h (LCT_THROW): New.
3541         * calls.c (emit_library_call_value_1): Handle it.
3542         * except.c (connect_post_landing_pads): Use it.
3543
3544 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
3545
3546         * gansidecl.h: Delete file.
3547         * configure.in: Change all refs to gansidecl.h to use
3548         ansidecl.h.  Adjust *_file_list so they know where ansidecl.h
3549         lives.
3550         * configure: Regenerate.
3551
3552         * Makefile.in (intl.o): Don't depend on gansidecl.h.
3553         * defaults.h: s/gansidecl.h/ansidecl.h/ in comment.
3554         * ggc.h, config/fr30/fr30.h, config/mcore/mcore.c:
3555         Don't include gansidecl.h.
3556         * intl.c, main.c, version.c, fixinc/fixlib.h,
3557         fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not
3558         gansidecl.h.
3559
3560 Tue Apr  3 19:41:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
3561
3562         * i386.c (ix86_force_to_memory, ix86_free_from_memory):
3563         Update for 64bit.
3564
3565 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
3566
3567         * config/i386/xm-beos.h, config/i386/xm-isc.h,
3568         config/i386/xm-next.h, config/i386/xm-sco.h,
3569         config/i386/xm-sco5.h, config/m68k/xm-plexus.h,
3570         config/m88k/xm-m88k.h: Delete.
3571
3572         * config/i386/xm-djgpp.h: Don't define __MSDOS__.
3573         * config/romp/xm-romp.h: Don't define bcopy.
3574         * config/rs6000/xm-beos.h: Don't define bcopy, HAVE_VPRINTF,
3575         HAVE_PUTENV, HAVE_RENAME, or USE_C_ALLOCA.
3576
3577         * config.gcc: Remove references to deleted files.
3578
3579         14 xm-host.h remain, 1 xm-cpu.h.
3580
3581 2001-04-03  Jakub Jelinek  <jakub@redhat.com>
3582             David S. Miller  <davem@pierdol.cobaltmicro.com>
3583             Andrew MacLeod  <amacleod@redhat.com>
3584
3585         Use byte offsets in SUBREGs instead of words.
3586
3587         * alias.c (nonlocal_mentioned_p): Use subreg_regno function.
3588         * caller-save.c (mark_set_regs): Change callers of subreg_hard_regno
3589         to pass new argument.
3590         (add_stored_regs): Use subreg_regno_offset function.
3591         * calls.c (expand_call): For non-paradoxical SUBREG take endianess
3592         into account.
3593         (precompute_arguments): Use gen_lowpart_SUBREG.
3594         * combine.c (try_combine): Replace explicit XEXP with SUBREG_REG.
3595         (combine_simplify_rtx): Rework to use SUBREG_BYTE.
3596         (simplify_set): Rework to use SUBREG_BYTE.
3597         (expand_field_assignment): Use SUBREG_BYTE.
3598         (make_extraction): Use SUBREG_BYTE.
3599         (if_then_else_cond): Use SUBREG_BYTE.
3600         (apply_distributive_law): Use SUBREG_BYTE and fixup subreg comments.
3601         (gen_lowpart_for_combine): Compute full byte offset.
3602         * cse.c (mention_regs): Use SUBREG_BYTE.
3603         (remove_invalid_subreg_refs): Rework to use SUBREG_BYTE.
3604         (canon_hash): Use SUBREG_BYTE.
3605         (fold_rtx): Pass SUBREG_BYTE div UNITS_PER_WORD to operand_subword.
3606         (gen_lowpart_if_possible): Formatting.
3607         * dbxout.c (dbxout_symbol_location): Compute SUBREG hard regnos
3608         correctly.
3609         * dwarf2out.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
3610         (mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
3611         (loc_descriptor): Fixup explicit XEXP into SUBREG_REG
3612         * dwarfout.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
3613         (output_mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
3614         (output_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
3615         * emit-rtl.c (gen_rtx_SUBREG): New function, used to verify
3616         certain invariants about SUBREGs the compiler creates.
3617         (gen_lowpart_SUBREG): New function.
3618         (subreg_hard_regno): New function to get the final register number.
3619         (gen_lowpart_common): Use SUBREG_BYTE.
3620         (gen_imagpart): Spacing nits.
3621         (subreg_realpart_p): Use SUBREG_BYTE.
3622         (gen_highpart): Use SUBREG_BYTE.
3623         (subreg_lowpart_p): Always compute endian corrected goal offset,
3624         even at the byte level, then compare against that.
3625         (constant_subword): New function, pulled out all constant cases
3626         from operand_subword and changed second argument name to offset.
3627         (operand_subword): Detect non REG/SUBREG/CONCAT/MEM cases early
3628         and call constant_subword to do the work.  Return const0_rtx if
3629         looking for a word outside of OP.
3630         (operand_subword_force): Change second arg name to offset.
3631         * expmed.c (store_bit_field): Use SUBREG_BYTE.
3632         (store_split_bit_field): Use SUBREG_BYTE.
3633         (extract_bit_field): Use SUBREG_BYTE.
3634         (extract_split_bit_field): Use SUBREG_BYTE.
3635         (expand_shift): Use SUBREG_BYTE.
3636         * expr.c (store_expr, expand_expr): Use gen_lowpart_SUBREG.
3637         * final.c (alter_subreg) Use subreg_hard_regno and SUBREG_BYTE.
3638         * flow.c (set_noop_p): Use SUBREG_BYTE.
3639         (mark_set_1): Remove ALTER_HARD_SUBREG. Use subreg_regno_offset instead.
3640         * function.c (fixup_var_refs_1): Fixup explicit XEXP into a SUBREG_REG.
3641         (fixup_memory_subreg): Use SUBREG_BYTE and remove byte endian
3642         correction code.
3643         (optimize_bit_field): Use SUBREG_BYTE.
3644         (purge_addressof_1): Use SUBREG_BYTE.
3645         (purge_single_hard_subreg_set): Use subreg_regno_offset function.
3646         (assign_params): Mark arguments SUBREG_PROMOTED_VAR_P if they are
3647         actually promoted by the caller and PROMOTE_FOR_CALLS_ONLY is true.
3648         * gengenrtl.c (special_rtx): Add SUBREG.
3649         * global.c (mark_reg_store): Use SUBREG_BYTE.
3650         (set_preference): Rework to use subreg_regno_offset and SUBREG_BYTE.
3651         * ifcvt (noce_emit_move_insn): Use SUBREG_BYTE.
3652         * integrate.c (copy_rtx_and_substitute): Use SUBREG_BYTE and make sure
3653         final byte offset is congruent to subreg's mode size.
3654         (subst_constants): Use SUBREG_BYTE.
3655         (mark_stores): Use subreg_regno_offset function.
3656         * jump.c (rtx_renumbered_equal_p, true_regnum): Use subreg_regno_offset
3657         function and SUBREG_BYTE.
3658         * local-alloc.c (combine_regs): Use subreg_regno_offset function.
3659         (reg_is_born): Use subreg_hard_regno.
3660         * recog.c (valid_replace_rtx_1): Use SUBREG_BYTE and remove byte
3661         endian correction code.  Don't combine subregs unless resulting
3662         offset aligns with type.  Fix subreg constant extraction for DImode.
3663         Simplify SUBREG of VOIDmode CONST_DOUBLE.
3664         (general_operand): Remove dead mode_altering_drug code.
3665         (indirect_operand): Use SUBREG_BYTE.
3666         (constrain_operands): Use subreg_regno_offset function.
3667         * reg-stack.c (get_true_reg): Use subreg_regno_offset function.
3668         * regmove.c (regmove_optimize): Use SUBREG_BYTE.
3669         (optimize_reg_copy_3): Use gen_lowpart_SUBREG.
3670         * regs.h (REG_SIZE): Allow target to override.
3671         (REGMODE_NATURAL_SIZE): New macro which target can override.
3672         * reload.c (reload_inner_reg_of_subreg): subreg_regno should be used
3673         on the entire subreg rtx.
3674         (push_reload): Use SUBREG_BYTE in comments and code.
3675         (find_dummy_reload): Use subreg_regno_offset.  Only adjust offsets
3676         for hard registers inside subregs.
3677         (operands_match_p): Use subreg_regno_offset.
3678         (find_reloads): Use SUBREG_BYTE and only advance offset for subregs
3679         containing hard regs.
3680         (find_reload_toplev): Use SUBREG_BYTE.  Remove byte endian
3681         corrections when fixing up MEM subregs.
3682         (find_reloads_address_1): Use SUBREG_BYTE, subreg_regno, and
3683         subreg_regno_offset where appropriate.
3684         (find_reloads_subreg_address): Use SUBREG_BYTE.  Remove
3685         byte endian corrections when fixing up MEM subregs.
3686         (subst_reloads): When combining two subregs, make sure final
3687         offset is congruent to subreg's mode size.
3688         (find_replacement): Use SUBREG_BYTE and subreg_regno_offset.
3689         (refers_to_regno_for_reload_p): Use subreg_regno.
3690         (reg_overlap_mentioned_for_reload_p): Use subreg_regno_offset.
3691         * reload1.c (eliminate_regs) Use SUBREG_BYTE. Remove byte endian
3692         correction code for memory subreg fixups.
3693         (forget_old_reload_1): Use subreg_regno_offset.
3694         (choose_reload_regs): Use subreg_regno.
3695         (emit_input_reload_insns): Use SUBREG_BYTE.
3696         (reload_combine_note_store): Use subreg_regno_offset.
3697         (move2add_note_store): Use subreg_regno_offset.
3698         * resource.c (update_live_status, mark_referenced_resources): Use
3699         subreg_regno function.
3700         (mark_set_resources): Use subreg_regno function.
3701         * rtl.h (SUBREG_WORD): Rename to SUBREG_BYTE.
3702         (subreg_regno_offset, subreg_regno): Define prototypes.
3703         (subreg_hard_regno, constant_subword, gen_rtx_SUBREG): Newi functions.
3704         (gen_lowpart_SUBREG): Add prototype.
3705         * rtl.texi (subreg): Update to reflect new byte offset representation.
3706         Add mentioning of the effect that BYTES_BIG_ENDIAN has on subregs now.
3707         * rtlanal.c (refers_to_regno_p): Use subreg_regno.
3708         (reg_overlap_mentioned_p): Use subreg_regno.
3709         (replace_regs); Make sure final offset of combined subreg is
3710         congruent to size of subreg's mode.
3711         (subreg_regno_offset): New function.
3712         (subreg_regno): New function.
3713         * sched-vis.c (print_value): Change SUBREG_WORD to SUBREG_BYTE.
3714         * sdbout.c (sdbout_symbol): Compute offset using alter_subreg.
3715         * stmt.c (expand_anon_union_decl): Use gen_lowpart_SUBREG.
3716         * tm.texi (ALTER_HARD_SUBREG): Remove, it is now dead.
3717         (SUBREG_REGNO_OFFSET): Describe SUBREG_REGNO_OFFSET overrides.
3718         * config/a29k/a29k.c (gpc_reg_operand): Use subreg_regno.
3719         (a29k_get_reloaded_address): Use SUBREG_BYTE.
3720         (print_operand): Use SUBREG_BYTE.
3721         * config/alpha/alpha.c (print_operand_address): Use SUBREG_BYTE.
3722         * config/arm/arm.c (arm_reload_in_hi): Use SUBREG_BYTE.
3723         (arm_reload_out_hi): Use SUBREG_BYTE.
3724         * config/d30v/d30v.c (d30v_split_double): Use subreg_regno_offset
3725         instead of SUBREG_WORD.
3726         (d30v_print_operand_memory_reference): Use subreg_regno_offset.
3727         * config/dsp16xx/dsp16xx.md (extendqihi2, zero_extendqihi2): Fix
3728         SUBREG creation to use byte offset.
3729         * config/h8300/h8300.md (Unnamed HImode zero extraction and 16bit
3730         inverted load insns): Fix explicit rtl subregs to use byte
3731         offsets.
3732         * config/i370/i370.md (cmpstrsi, movstrsi, mulsi3, divsi3,
3733         udivsi3, umodsi3): Generate SUBREGs with byte offsets.
3734         * config/i860/i860.c (single_insn_src_p): Use SUBREG_BYTE.
3735         * config/i860/i860.md (mulsi3_big): Fixup explicit SUBREGs in rtl
3736         to use byte offsets.
3737         (unnamed fmlow.dd insn): Fixup SUBREGS to use byte offsets.
3738         * config/i960/i960.md (extendhisi2): Generate SUBREGs with byte
3739         offsets, also make sure it is congruent to SUBREG's mode size.
3740         (extendqisi2, extendqihi2, zero_extendhisi2, zero_extendqisi2,
3741         unnamed ldob insn): Generate SUBREGs with byte offset.
3742         (zero_extendqihi2): SUBREG's are byte offsets.
3743         * config/m68hc11/m68hc11.c (m68hc11_gen_lowpart): Use SUBREG_BYTE.
3744         (m68hc11_gen_highpart): Use SUBREG_BYTE.
3745         * config/m68k/m68k.md (zero_extendhisi2, zero_extendqihi2,
3746         zero-extendqisi2): Generate SUBREGs with byte offset.
3747         (umulsidi3, mulsidi3, subreghi1ashrdi_const32,
3748         subregsi1ashrdi_const32, subreg1lshrdi_const32): Fixup explicit
3749         subregs in rtl to use byte offsets.
3750         * config/m88k/m88k.md (extendsidi2): fixup subregs to use byte offset.
3751         * config/mips/mips.c (mips_move_1word): Use subreg_regno_offset.
3752         (mips_move_2words): Use subreg_regno_offset.
3753         (mips_secondary_reload_class): Use subreg_regno_offset.
3754         * config/mips/mips.md (DImode plus, minus, move, and logical op
3755         splits): Fixup explicit subregs in rtl to use byte offsets.
3756         * config/mn10200/mn10200.c (print_operand): Use subreg_regno function.
3757         * config/mn10300/mn10300.c (print_operand): Use subreg_regno function.
3758         * config/ns32k/ns32k.md (udivmoddisi4): Fix explicit subregs in
3759         rtl to use byte offsets.
3760         * config/pa/pa.c (emit_move_sequence): Use SUBREG_BYTE.
3761         * config/pa/pa.md (floatunssisf2, floatunssidf2, mulsi3): fix explicit
3762         subregs to use byte offsets.
3763         * config/pdp11/pdp11.md (zero_extendhisi2, modhi3, modhi3+1):
3764         Fixup explicit subregs in rtl to use byte offsets.
3765         * config/romp/romp.c (memory_offset_in_range_p): Use SUBREG_BYTE
3766         and remove byte endian correction code.
3767         * config/sh/sh.c (output_movedouble): Use subreg_regno.
3768         (gen_ashift_hi): Use SUBREG_BYTE.
3769         (regs_used): Use subreg_regno_offset.
3770         (machine_dependent_reorg): Use subreg_regno_offset.
3771         * config/sh/sh.h (INDEX_REGISTER_RTX_P): Use SUBREG_BYTE.
3772         * config/sh/sh.md (DImode and DFmode move splits): Use subreg_regno.
3773         (movdf_i4): Subregs are byte offsets now.
3774         * config/sparc/sparc.c (ultra_find_type): Use SUBREG_BYTE.
3775         * config/sparc/sparc.h (ALTER_HARD_SUBREG): Removed.
3776         (REGMODE_NATURAL_SIZE): Override.
3777         (REG_SIZE): For SUBREG check float mode on SUBREG_REG's mode.
3778         * config/sparc/sparc.md (TFmode move splits): Generate SUBREGs
3779         with byte offsets.
3780         (zero_extendhisi2, zero_extendqidi2_insn, extendhisi2,
3781         extendqihi2, sign_extendqihi2_insn, sign_extendqisi2_insn,
3782         extendqidi2): Generate SUBREGs with byte offsets, also make sure
3783         it is congruent to SUBREG's mode size.
3784         (smulsi3_highpart_v8plus): Fix explicit subregs in rtl to use byte
3785         offsets.
3786         (cmp_siqi_trunc, cmp_siqi_trunc_set, cmp_diqi_trunc,
3787         cmp_diqi_trunc_set, lshrdi3_v8plus+1, lshrdi3_v8plus+2,
3788         lshrdi3_v8plus+3, lshrdi3_v8plus+4): Use proper
3789         SUBREG_BYTE offset for non-paradoxical subregs in patterns.
3790         * config/v850/v850.c (print_operand, output_move_double): Use
3791         subreg_regno function.
3792
3793 2001-04-03  Alexandre Oliva  <aoliva@redhat.com>
3794
3795         * configure.in (target_subdir): Use target_alias, not target.
3796         * configure: Rebuilt.
3797
3798         * config/sh/crtn.asm (init, fini): Restore r15 from r14, not the
3799         other way round.
3800         * config/sh/crti.asm: Fix typos in comments.
3801
3802 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
3803
3804         * pa.h: Revise comments for TARGET_NO_SPACE_REGS and
3805         TARGET_FAST_INDIRECT_CALLS.
3806         * pa.c (override_options): TARGET_NO_SPACE_REGS is now OK with
3807         -fPIC.  Don't warn.
3808         (return_addr_rtx): Short circuit export stub matching when
3809         TARGET_NO_SPACE_REGS.
3810         (output_millicode_call): For out of range calls, make -fPIC
3811         take precedence, then TARGET_PORTABLE_RUNTIME, then ble.  Don't
3812         return before delay slot checks when TARGET_PORTABLE_RUNTIME.
3813         * pa.md: Modify length attr calculation of all millicode insns to
3814         match above.
3815
3816 2001-04-02  Geoffrey Keating  <geoffk@redhat.com>
3817
3818         * configure.in (gcc_cv_as_leb128): Correct name of cache variable.
3819         Require at least 2.11 in the version test.  Specifically check
3820         for and reject GAS version 2.10.90.
3821         * configure: regenerate.
3822
3823 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
3824
3825         * pa.c (override_options): Remove PIC profiling warning.
3826         (hp_profile_labelno): Delete.
3827         (hp_profile_label_rtx): Delete.
3828         (hp_profile_label_name): Delete.
3829         (pa_add_gc_roots): Remove reference to hp_profile_label_rtx.
3830         (output_function_prologue): Remove profiling code and all tests on
3831         profile_flag.  Move store of PIC_OFFSET_TABLE_REGNUM now that
3832         merge_sp_adjust_with_store can work for PIC and profiling.
3833         (hppa_expand_epilogue): Remove profile_flag test.
3834         (hppa_can_use_return_insn_p): Likewise.
3835         (hppa_init_pic_save): Emit before tail_recursion_reentry, and
3836         cater for PROFILE_HOOK.
3837         (hppa_profile_hook): New function.
3838         * pa.h (FUNCTION_PROFILER): Now does nothing.
3839         (PROFILE_HOOK): Define.
3840         (hppa_profile_hook): Declare.
3841         (PROFILE_BEFORE_PROLOGUE): Delete.
3842         (ASM_OUTPUT_REG_PUSH): Delete.
3843         (ASM_OUTPUT_REG_POP): Delete.
3844         * pa.md (call_profiler): Turn it into a call insn, and don't `use'
3845         r24.  Accept function name operand, and use this and a locally
3846         generated label to calculate pc-rel offset to func start.
3847
3848 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3849
3850         * $(HOST_PREFIX_1)errors.o, $(HOST_PREFIX_1)ggc-none.o,
3851         ggc-common.o, ggc-simple.o, ggc-page.o, ggc-none.o: Depend on
3852         $(SYSTEM_H).
3853
3854 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
3855
3856         * dwarf2out.c (dwarf2out_frame_debug_expr): Move errant HIGH and
3857         LO_SUM cases to where they belong.
3858
3859 2001-04-02  Richard Henderson  <rth@redhat.com>
3860
3861         * except.h (lang_eh_type_covers): Mark extern.
3862         (lang_eh_runtime_type): Likewise.
3863
3864 2001-04-02  Zack Weinberg  <zackw@stanford.edu>
3865
3866         * genattr.c, gencheck.c, gencodes.c, genconfig.c, genflags.c,
3867         gengenrtl.c:  Wrap generated header in multiple-include guard.
3868         Improve error checking.
3869
3870 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3871
3872         * configure.in: Don't check for putenv.
3873         * configure: Regenerate.
3874         * gcc.c (putenv): Don't define.
3875         * vax/xm-vms.h: Handle putenv.
3876
3877 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
3878
3879         * ifcvt.c (noce_emit_move_insn): New.
3880         (noce_try_store_flag, noce_try_store_flag_constants,
3881         noce_try_store_flag_inc, noce_try_store_flag_mask,
3882         noce_try_cmove, noce_try_cmove_arith, noce_try_minmax,
3883         noce_try_abs): Use it.
3884         (noce_process_if_block): Likewise.
3885         For STRICT_LOW_PART, take mode from its SUBREG.
3886
3887 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
3888
3889         * fold-const.c (fold): Before optimizing unsigned comparison with
3890         0x7fffffffU, make sure arg0 is integral type.
3891
3892 2001-04-02  Joseph S. Myers  <jsm28@cam.ac.uk>
3893
3894         * c-tree.texi: Document representation of wide strings.
3895
3896 2001-04-01  Richard Henderson  <rth@redhat.com>
3897
3898         * except.h (expand_builtin_dwarf_fp_regnum): Declare.
3899
3900 Sun Apr  1 11:49:05 CEST 2001  Jan Hubicka  <jH@suse.cz>
3901
3902         * i386.md: remove obsoleted comments.
3903         (adddi_?): Rename to adddi_?_rex64; disable for 32bit.
3904         (x86_movsicc_0_m1_rex64): Rename to x86_movdicc_0_m1_rex64;
3905         fix output template.
3906
3907 2001-03-31  Marek Michalkiewicz  <marekm@linux.org.pl>
3908
3909         * config/avr/libgcc.S (__mulhi3): Optimize previous change.
3910
3911 2001-03-30  Bernd Schmidt  <bernds@redhat.com>
3912
3913         * loop.c (load_mems): When generating a load from a pseudo, update
3914         REGNO_LAST_UID.
3915
3916 Fri Mar 30 17:36:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
3917
3918         * i386.c (ix86_split_long_move): Use change address to compensate
3919         stack pointer change in push instruction.
3920
3921 Fri Mar 30 00:31:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
3922
3923         * i386.md (sse_movdfcc_eq): Fix constraint (sse_mov?fcc splitter): Use operands_match_p
3924         instead of rtx_equal_p; fix the output template.
3925
3926 Fri Mar 30 00:21:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
3927
3928         * i386.c (ix86_expand_setcc): Support 64bit.
3929         (ix86_expand_int_movcc): Likewise.
3930         * i386.md (movdicc_rex64, x86_movsicc_0_m1_rex64, movdicc_c_rex64):
3931         New patterns.
3932
3933         * i386.md (allocate_stack_worker): Turn to expander.
3934         (allocate_stack_worker_1, allocate_stack_worker_rex64): New insns.
3935
3936         * i386.c (print_reg): Do not print x86_64 style regs on IA-32
3937
3938 2001-03-29  Richard Henderson  <rth@redhat.com>
3939
3940         * libgcc2.c [L__main]: Include unwind-dw2-fde.h instead of frame.h.
3941
3942 2001-03-28  Matthew Hiller  <hiller@redhat.com>
3943
3944         * config/mn10300/mn10300.md (cmpsi): Fix first alternative's
3945         output template.
3946
3947         * MAINTAINERS: Added self.
3948
3949 2001-03-28  Richard Henderson  <rth@redhat.com>
3950
3951         * Makefile.in (cs-tconfig.h): Depend on CONFIG_H, not GCONFIG_H.
3952         Use ALL_CFLAGS not HOST_CFLAGS for sjlj detection.
3953
3954 2001-03-28  Jim Wilson  <wilson@redhat.com>
3955
3956         * config/ia64/ia64.md (movtf): Change DImode to TFmode in calls to
3957         operand_subword.
3958
3959 2001-03-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3960
3961         * toplev.h (fatal_error): Add ATTRIBUTE_NORETURN.
3962
3963         * tradcif.y (yyerror): Likewise.  Add format specifier in call to
3964         `error'.
3965
3966         * tradcpp.c (macroexpand): Likewise for call to `error_with_line'.
3967
3968 2001-03-28  DJ Delorie  <dj@redhat.com>
3969
3970         * Makefile.in (stage1_build): Revert CFLAGS patch.
3971
3972 2001-03-28  Marek Michalkiewicz  <marekm@linux.org.pl>
3973
3974         * config/avr/libgcc.S (__mulhi3): Correct tests to exit the loop
3975         when multiplier or multiplicand is zero.
3976
3977 2001-03-28  Bernd Schmidt  <bernds@redhat.com>
3978
3979         * cselib.c (hash_rtx): Don't do tail recursion elimination by hand.
3980
3981         * config/ia64/ia64.c (update_set_flags): New function, broken out of
3982         rtx_needs_barrier.
3983         (set_src_needs_barrier): Likewise.
3984         (rtx_needs_barrier): For SET case, use these two functions.  Rework
3985         PARALLEL case to handle all inputs before all outputs.
3986         (emit_insn_group_barriers): Call init_insn_group_barriers only if we
3987         saw a label and no stop bit since then.
3988         (maybe_rotate, process_epilogue): Add prototypes.
3989
3990 2001-03-28  Richard Henderson  <rth@redhat.com>
3991
3992         * config/rs6000/rs6000.h (EPILOGUE_USES): Use TARGET_AIX,
3993         not TARGET_TOC for special toc restore handling.
3994         * config/rs6000/rs6000.md (eh_return): Likewise.
3995
3996 2001-03-28  Richard Henderson  <rth@redhat.com>
3997
3998         * config/sparc/sparc.c (eligible_for_epilogue_delay): False if
3999         current_function_calls_eh_return.
4000         (output_function_epilogue): Handle eh_return.
4001         * config/sparc/sparc.h (DOESNT_NEED_UNWINDER): Remove.
4002         (EH_RETURN_DATA_REGNO): New.
4003         (EH_RETURN_STACKADJ_RTX): New.
4004         (EH_RETURN_HANDLER_RTX): New.
4005         * config/sparc/sparc.md (call/short branch peepholes): Check
4006         can_throw_internal instead of in_same_eh_region.
4007
4008         * config/rs6000/rs6000.c (rs6000_stack_info): Allocate space
4009         for eh_return data registers.
4010         (rs6000_emit_prologue): Save eh_return data registers.
4011         (rs6000_emit_epilogue): Force inline restores if eh_return.
4012         Restore eh_return data registers.  Mind EH_RETURN_STACKADJ_RTX.
4013         * config/rs6000/rs6000.h (rs6000_stack_t): Add ehrd_offset.
4014         (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX): New.
4015         (EPILOGUE_USES): True for TOC_REGISTER if calls_eh_return and
4016         the target uses one.
4017         * config/rs6000/rs6000.md (eh_epilogue, eh_reg_restore): Remove.
4018         (return_eh_si, return_eh_di): Remove.
4019         (eh_return): New, from corpse of eh_epilogue.
4020         (eh_set_lr_si, eh_set_lr_di): New.
4021
4022         * config/i386/i386.c (general_no_elim_operand): Disallow virtual regs.
4023         (ix86_save_reg): If maybe_eh_return, true for EH_RETURN_DATA_REGNOs.
4024         True for pic register if current_function_calls_eh_return.
4025         (ix86_expand_epilogue): Change "emit_return" argument into "style".
4026         Handle eh_return requirements.
4027         * config/i386/i386.h (EH_RETURN_DATA_REGNO): New.
4028         (EH_RETURN_STACKADJ_RTX): New.
4029         * config/i386/i386.md (exception_receiver): Remove.
4030         (eh_return, eh_return_1): New.
4031         * config/i386/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
4032
4033         * config/alpha/alpha.c (alpha_sa_mask): Add EH_RETURN_DATA_REGNOs.
4034         (alpha_mark_machine_status): No eh_epilogue_sp_ofs ...
4035         (alpha_expand_epilogue): ... use EH_RETURN_STACKADJ_RTX instead.
4036         * config/alpha/alpha.h (machine_function): Remove eh_epilogue_sp_ofs.
4037         (EH_RETURN_DATA_REGNO): New.
4038         (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): New.
4039         * config/alpha/alpha.md (eh_epilogue): Remove.
4040         (exception_receiver): Use $26 for ldgp input.
4041         * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
4042
4043 2001-03-28  Richard Henderson  <rth@redhat.com>
4044
4045         * except.c: Rewrite entirely for IA-64 ABI exception handling.
4046         * except.h: Likewise.
4047
4048         * Makefile.in (LIB2ADDEH): Mention unwind-dw2*.c
4049         (LIB2ADDEHDEP): New.
4050         (LIB2FUNCS_EH): Remove.
4051         (LIB2ADD): Remove LIB2ADDEH.
4052         (libgcc.mk): Pass LIB2ADDEHDEP, don't pass LIB2FUNCS_EH.
4053         (LIBGCC_DEPS): Use LIB2ADDEHDEP.
4054         (crt{begin,end}[S].o): Likewise.
4055         (except.o): Update includes.
4056         * mklibgcc.in: Remove LIB2FUNCS_EH, add LIB2ADDEH, LIB2ADDEHDEP.
4057         (libgcc2_c_dep): Use LIB2ADDEHDEP.
4058
4059         * basic-block.h (struct basic_block_def): Remove eh_beg, eh_end.
4060         * bb-reorder.c (reorder_basic_blocks): Don't disable for EH.
4061         * builtins.def (BUILT_IN_EH_RETURN_DATA_REGNO): New.
4062         * builtins.c (expand_builtin): Implement it.
4063         [BUILT_IN_EH_RETURN]: Update for nr arguments change.
4064         * c-common.c (c_common_nodes_and_builtins): Declare it.
4065         * c-decl.c (init_decl_processing): Update __builtin_eh_return.
4066         * calls.c (libfunc_nothrow): Remove.
4067         (emit_library_call_value_1): Don't call it.
4068         * crtstuff.c: Include unwind-dw2-fde.h instead of frame.h.
4069         * dwarf2.h (dwarf_call_frame_info): Add dwarf2.1 elements.
4070         (DW_EH_PE_*): New defines for pointer encoding in .eh_frame.
4071         * dwarf2out.c (struct dw_fde_struct): Add uses_eh_lsda, funcdef_number.
4072         (current_funcdef_number): Globalize.
4073         (output_call_frame_info): Emit frame data if an lsda is needed.
4074         Generate augmentation for personality routine.  Don't play with
4075         difference symbols.
4076         (dwarf2out_begin_prologue): Record funcdef_number.
4077         * dwarf2out.h (current_funcdef_number): Declare.
4078         * expr.c (expand_expr): Update for except.h name changes.
4079         Remove POPDCC_EXPR, POPDHC_EXPR.  Add EXC_PTR_EXPR.
4080         * expr.h (LTI_throw, LTI_rethrow): Remove.
4081         (LTI_sjthrow, LTI_sjpopnthrow, LTI_terminate): Remove.
4082         (LTI_eh_rtime_match): Remove.
4083         (LTI_unwind_resume, LTI_eh_personality): Add.
4084         (LTI_unwind_sjlj_register, LTI_unwind_sjlj_unregister): Add.
4085         * final.c (final): Don't call check_exception_handler_labels,
4086         init_insn_eh_region, or free_insn_eh_region.
4087         (final_scan_insn): Always emit debug labels for
4088         NOTE_INSN_EH_REGION notes.
4089         * flags.h (flag_new_exceptions): Remove.
4090         * flow.c (entry_exit_blocks): Remove eh_beg, eh_end.
4091         (record_active_eh_regions): Remove.
4092         (count_basic_blocks): Check all instructions for REG_EH_REGION.
4093         Use can_throw_internal.
4094         (find_basic_blocks_1): Likewise.
4095         (move_stray_eh_region_notes): Remove.
4096         (find_label_refs): No eh_return_stub_label.
4097         (make_edges): Likewise.  No init/free_eh_nesting_info.  Handle RESX.
4098         (make_eh_edge): No eh_nest_info.  Update for reachable_handlers
4099         changes.
4100         (delete_unreachable_blocks): Don't track deleted handlers.
4101         (flow_delete_block): Use maybe_remove_eh_handler.
4102         (delete_eh_regions): Remove.
4103         (merge_blocks): Don't check for eh region match.
4104         (mark_regs_live_at_end): Handle EH_RETURN_DATA_REGNO,
4105         EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX.
4106         (init_propagate_block_info): Disable dead frame store optimization
4107         when current_function_calls_eh_return.
4108         (dump_bb): Don't print eh_beg, eh_end.
4109         * function.c (fixup_var_refs): No catch_clauses.
4110         (expand_function_end): Likewise.  Call expand_eh_return before
4111         the return register use.  Call sjlj_emit_function_exit_after.
4112         (expand_function_start): Force pseudo DECL_RESULT if sjlj exceptions.
4113         * function.h (struct function): Add calls_eh_return, uses_eh_lsda.
4114         * ifcvt.c (dead_or_predicable): Remove eh region check.
4115         * integrate.c (function_cannot_inline_p): Disallow __builtin_eh_return.
4116         Don't check for EH vs parameters.
4117         (expand_inline_function_eh_labelmap, eif_eh_map): Remove.
4118         (expand_inline_function): Call duplicate_eh_regions.
4119         (copy_insn_list): Don't handle NOTE_INSN_EH_REGION_BEG/END.
4120         (copy_insn_notes): Remap REG_EH_REGION notes.
4121         (copy_rtx_and_substitute): Remove SYMBOL_REF_NEED_ADJUST check.
4122         * integrate.h (struct inline_remap): Add local_return_label.
4123         * jump.c (jump_optimize_1): Don't init/free_insn_eh_region, nor
4124         check_exception_handler_labels, nor exception_optimize.
4125         (find_cross_jump): No EH region check.
4126         * optabs.c (init_optabs): Update for changed eh libfuncs.
4127         * rtl.def (RESX): New.
4128         * rtl.h (SYMBOL_REF_NEED_ADJUST): Remove.
4129         * stmt.c (expand_decl_cleanup): Simplify using_eh_for_cleanups_p
4130         checks.  Update for except.h name changes.
4131         (expand_cleanups): Likewise.
4132         (expand_dcc_cleanup, expand_dhc_cleanup): Remove.
4133         * toplev.c (dump_file_index, dump_file): Add .02.eh dump.
4134         (compile_file): Call init_eh before init_optabs.  Don't
4135         output_exception_table here.
4136         (rest_of_compilation): Call convert_from_eh_region_ranges,
4137         convert_to_eh_region_ranges, output_function_exception_table.
4138         Don't emit_eh_context.
4139         * tree.def (POPDHC_EXPR, POPDCC_EXPR): Remove.
4140         (EXC_PTR_EXPR): New.
4141
4142         * md.texi (eh_epilogue): Remove.
4143         (eh_return): Document.
4144         * tm.texi (EH_RETURN_DATA_REGNO): Document.
4145         (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): Document.
4146
4147         * eh-common.h: Remove file.
4148         * frame-dwarf2.c, frame.c, frame.h: Remove files.
4149         * libgcc2.c (L_eh): Remove.
4150
4151         * unwind-dw2-fde.c: New file, largely copied from frame.c.
4152         * unwind-dw2-fde.h: New file.
4153         * unwind-dw2.c: New file, largely cribbed from frame-dwarf2.c.
4154         * unwind-sjlj.c, unwind.h, unwind.inc: New files.
4155         * libgcc-std.ver: Update for eh symbols.
4156
4157 2001-03-27  Richard Henderson  <rth@redhat.com>
4158
4159         * regmove.c (perhaps_ends_bb_p): Use can_throw_internal to
4160         reduce false positives.
4161         (regmove_optimize): Disable if flag_non_call_exceptions.
4162
4163         * stmt.c (expand_return): Remove always true predicate.
4164         (expand_decl_cleanup_no_eh): Remove dead code.
4165
4166         * sched-deps.c (sched_analyze_insn): Consolidate scheduling
4167         barrier code.  Add a scheduling barrier if a non-call insn
4168         can throw internally.
4169
4170         * rtlanal.c (rtx_addr_can_trap_p): Virtual registers cannot trap.
4171         Auto-inc addresses trap only if their base register does.
4172
4173         * except.c (can_throw_internal): Rename from can_throw.
4174         * except.h, resource.c: Update references.
4175
4176         * integrate.c (copy_insn_list): Use returnjump_p.
4177         (copy_insn_notes): Recurse for CALL_PLACEHOLDER.
4178
4179         * function.h (struct function): Move all boolean valued fields
4180         to single bit fields at the end of the struct.
4181
4182         * bb-reorder.c, dwarf2out.c, except.c, except.h, flow.c,
4183         jump.c, toplev.c:
4184         Rename asynchronous_exceptions to flag_non_call_exceptions.
4185
4186         * gthr-single.h (UNUSED): New.  Distinguish between how C
4187         and C++ mark unused function arguments.  Use throughout.
4188
4189         * Makefile.in (cs-tconfig.h): Copy USING_SJLJ_EXCEPTIONS
4190         value to target configuration header.
4191         * configure.in (CONFIG_SJLJ_EXCEPTIONS): New.
4192         * config.in, configure: Rebuild.
4193         * except.h (USING_SJLJ_EXCEPTIONS): New.  Define based on
4194         configuration and target defines.
4195         (exceptions_via_longjmp): Remove.
4196         * dwarf2out.c, except.c, final.c, toplev.c, config/ia64/ia64.c:
4197         Use USING_SJLJ_EXCEPTIONS instead of exceptions_via_longjmp.
4198
4199         * except.h (flag_non_call_exceptions): Move ...
4200         * flags.h: ... here.
4201
4202         * combine.c (distribute_notes) [REG_EH_REGION]: If non-call
4203         exceptions, put the note on the trapping instruction.
4204
4205         * flags.h (flag_new_exceptions): Remove.
4206         * toplev.c: Don't set it.
4207         * final.c: Don't check it.
4208         * except.c: Provide stub definition.
4209
4210         * flow.c (tidy_fallthru_edges): Don't combine complex edges.
4211         (calculate_global_regs_live): Kill call-clobbered registers
4212         across exception edges.
4213         * reg-stack.c (convert_regs_1): Kill the entire target stack
4214         across non-call exception edges.
4215
4216         * flow.c (cleanup_cfg): Take no argument.
4217         * output.h, sibcall.c, toplev.c: Update all calls.
4218
4219 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4220
4221         * configure.in: Don't check for bcopy.
4222         * configure, config.in: Regenerate.
4223
4224         * system.h: Don't define or prototype bcopy, instead poison it.
4225
4226 2001-03-27  Richard Henderson  <rth@redhat.com>
4227
4228         * function.c (expand_function_start): Set DECL_REGISTER on
4229         a pseudo used for DECL_RESULT.
4230
4231         * rtl.h (LCT_NORETURN): New.
4232         * calls.c (emit_library_call_value_1): Handle it.
4233
4234 2001-03-27  Stan Shebs  <shebs@apple.com>
4235
4236         * objc/objc-act.c (objc_init): Use dump_base_name.
4237         (gen_declaration): Clear the buffer arg.
4238         (gen_declaration_1): New function, body of gen_declaration.
4239         (adorn_decl): Call gen_declaration_1 instead of gen_declaration.
4240         (gen_method_decl): Ditto, plus always clear buffer arg.
4241         (error_with_ivar): Simplify.
4242         (warn_with_method): Ditto.
4243         (build_message_expr): Don't clear buffers.
4244         (dump_interface): Ditto.
4245         (objc_debug): Ditto.
4246         (build_keyword_selector): Clear the buffer by only zeroing
4247         the first element.
4248         (objc_implementation_context): Declare.
4249         (start_class): Warn about missing @end.
4250         (finish_objc): Ditto.
4251
4252 2001-03-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4253
4254         * reload1.c (eliminate_regs): Don't abort on MEM USEs.
4255
4256 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4257
4258         * Makefile.in (SYSTEM_H): Define.
4259         Depend on $(SYSTEM_H), not system.h.
4260
4261         * objc/Make-lang.in: Depend on $(SYSTEM_H), not system.h.
4262
4263 2001-03-27  Jim Wilson  <wilson@redhat.com>
4264
4265         * final.c (final_scan_insn, case NOTE_INSN_BASIC_BLOCK): Call
4266         IA64_UNWIND_EMIT.
4267         * config/ia64/ia64.c (block_num, need_copy_state): New static vars.
4268         (process_epilogue): New static function.
4269         (process_set): Call process_epilogue instead of emitting .restore
4270         directly.
4271         (process_for_unwind_directive): Handle NOTE_INSN_BASIC_BLOCK.
4272
4273         * flow.c (struct reg_cond_life_info): New fields orig_condition
4274         and stores.
4275         (init_propagate_block_info): Set new fields.
4276         (mark_regno_cond_dead): Set and use new fields.
4277         (flush_reg_cond_reg_1): Likewise.
4278         (and_reg_cond, case AND): Check for redundant AND conditions.
4279         (mark_used_reg): Delete unnecessary clears before freeing splay trees.
4280         Set new fields.
4281
4282 2001-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
4283
4284         * cppmacro.c (stringify_arg): Null terminate strings.
4285
4286 2001-03-27  Zack Weinberg  <zackw@stanford.edu>
4287
4288         * config.gcc (m68hc11-*-*, m68hc12-*-*): Convert to new tm.h
4289         inclusion style.  xm-m68hc11.h no longer exists.
4290         * config/m68hc11/xm-m68hc11.h: Delete file.
4291         * config/m68hc11/m68hc12.h: Convert to new tm.h inclusion style.
4292
4293         * config/m68hc11/m68hc11.h: Convert to new tm.h inclusion style.
4294         Don't define GCC_VERSION, N_, or PARAMS; don't include
4295         gansidecl.h or stdio.h.  Define inhibit_libc here.
4296         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
4297         Delete code conditioned on #if GCC_VERSION == 2095.
4298
4299         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
4300         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
4301         Delete code conditioned on #if GCC_VERSION == 2095.
4302
4303 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4304
4305         * system.h: Include symcat.h.
4306         (STRINGIFY): Don't define.
4307
4308         * configure.in: Adjust comment.
4309
4310         * builtins.c: Use STRINGX, not STRINGIFY.
4311         * gencheck.c: Likewise.
4312         * gengenrtl.c: Likewise.
4313         * protoize.c: Likewise.
4314
4315         * cpplex.c: Don't include symcat.h.
4316         * cpplib.c: Likewise.
4317
4318         * gansidecl.h (HAVE_STRINGIZE): Don't define.
4319
4320 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
4321
4322         * c-typeck.c (digest_init): Fold init expression.
4323
4324 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4325
4326         * sbitmap.c (sbitmap_copy): Call memcpy, not bcopy.
4327
4328 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
4329
4330         * except.c (eh_regs): Save results of build_pointer_type to a temp
4331         as FUNCTION_VALUE macro may evaluate its args multiple times.
4332
4333 2001-03-26  Mark Mitchell  <mark@codesourcery.com>
4334
4335         * c-common.h (DECL_NUM_STMTS): New macro.
4336         * c-decl.c (duplicate_decls): Copy DECL_NUM_STMTS, not
4337         DECL_FRAME_SIZE.
4338         (pushdecl): Likewise.
4339         * c-semantics.c (add_stmt): Update DECL_NUM_STMTS.
4340         * integrate.c (expand_inline_function): Don't check
4341         DECL_FRAME_SIZE.
4342         * print-tree.c (print_node): Don't print it.
4343         * toplev.c (rest_of_compilation): Don't try to inline when
4344         flag_no_inline is on.
4345         * tree.h (DECL_FRAME_SIZE): Remove.
4346         (tree_decl): Adjust accordingly.
4347
4348 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4349
4350         * combine.c (try_combine): Use memcpy, not bcopy.
4351
4352         * genattrtab.c (expand_units): Likewise.
4353
4354 Mon Mar 26 15:55:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
4355
4356         * i386.md (push mem DI peep2): New.
4357         (mov 0, mov -1 peep2): Handle 64bit.
4358         (lea to arithmetics peep2): Handle 64bit leas.
4359         (rsp arithmetics to push/pop peep2s): New.
4360
4361         * i386.md (truncdfsf2_3, trunctfsf2_2): Change predicate to memory_operand.
4362
4363 Mon Mar 26 14:35:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
4364
4365         * i386.c (struct machine_function): Add save_varrargs_registers.
4366         (ix86_save_varrargs_registers): New macro.
4367         (ix86_frame_layout): Support 64bit; support red zones and varrargs area.
4368         (ix86_expand_prologue): Likewise.
4369         (ix86_emit_epilogue_esp_adjustement): Likewise.
4370         (ix86_expand_epilogue): Likewise.
4371         * i386.md (pro_epilogue_adjust_stack): Turn to expander; support 64bit.
4372         (pro_epilogue_adjust_stack_1): New insn.
4373         (pro_epilogue_adjust_stack_rex64): Likewise.
4374         * i386.h (MASK_NO_RED_ZONE): New constant.
4375         (TARGET_RED_ZONE): New macro.
4376         (TARGET_OPTIONS): Add "red-zone" and "no-red-zone"
4377         (RED_ZONE_SIZE): New constant.
4378         (RED_ZONE_RESERVE): New constant.
4379
4380 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4381
4382         * toplev.c (set_float_handler): Use memcpy, not bcopy.
4383
4384 2001-03-25  Kazu Hirata  <kazu@hxi.com>
4385
4386         * config/h8300/h8300.md (umodqi3): Output a tab instead of a
4387         space.
4388         (modqi3): Likewise.
4389         (umodhi3): Likewise.
4390         (modhi3): Likewise.
4391
4392 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4393
4394         * mkconfig.sh (DEFINES): Handle entries with '='.
4395
4396         * config.gcc: Don't use i370/xm-mvs.h or ns32k/xm-pc532-min.h.
4397         Set xm_defines to MACRO=value instead.
4398
4399         * i370/xm-mvs.h: Delete.
4400
4401         * ns32k/xm-pc532-min.h: Likewise.
4402
4403 Sun Mar 25 15:01:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
4404
4405         * i386.md (ashldi3, ashrdi3, lshrdi3): Change predicates to
4406         shiftdi_operand;
4407         use ix86_expand_binary_operator
4408         (?sh??i_?): Disable for 64bit.
4409         * i386.h (PREDICATE_CODES): Add shiftdi_operand.
4410         * i386.c (shiftdi_operand): New predicate.
4411
4412         * (ashldi3_1_rex64, ashldi3_cmp_rex64, ashlsi3_1_zext, ashlsi3_cmp_zext,
4413         ashrdi3_63_rex64, ashrdi3_1_one_bit_rex64, ashrdi3_1_rex64,
4414         ashrdi3_one_bit_cmp_rex64, ashrdi3_cmp_rex64, ashrsi3_31_zext,
4415         ashrsi3_1_one_bit_zext, ashrsi3_1_zext, ashrsi3_one_bit_cmp_zext,
4416         ashrsi3_cmp_zext, lshrdi3_1_one_bit_rex64, lshrdi3_1_rex64,
4417         lshrdi3_cmp_one_bit_rex64, lshrdi3_cmp_rex64, lshrsi3_1_one_bit_zext,
4418         lshrsi3_1_zext, lshrsi3_cmp_one_bit_zext, lshrsi3_cmp_zext,
4419         rotlsi3_1_one_bit_rex64, rotldi3_1_rex64,
4420         rotlsi3_1_one_bit_zext, rotlsi3_1_zext, rotrdi3_1_one_bit_rex64,
4421         rotrdi3_1_rex64, rotrsi3_1_one_bit_zext, rotrsi3_1_zext): New patterns.
4422         (rotldi3, rotrdi3): New expanders.
4423
4424 Sun Mar 25 14:25:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
4425
4426         * i386.md (movstrsi): Move offline.
4427         (movstrdi): New.
4428         (strmovdi_rex64): New.
4429         (strmov?i): Accept 64bit.
4430         (strmov?i_rex64): New.
4431         (strmov?i_rex_1): New.
4432         (strmov?i_1): Disable for 64bit.
4433         (rep_mov?i_rex64): New.
4434         (rep_mov?i): Disable for 64bit.
4435         (clrstrsi): Move offline.
4436         (strset?i_rex64): New.
4437         (strset?i: Accept 64bit.
4438         (rep_stos?i): Disable for 64bit.
4439         (rep_stos?i_rex64): New.
4440         (strset?i_rex_1): New.
4441         (strset?i_1): Disable for 64bit.
4442         (cmpstrsi): Accept 64bit.
4443         (cmpstrsi_nz_1): Rename to cmpstrqi_nz_1; Disable for 64bit.
4444         (cmpstrqi_nz_rex_1): New.
4445         (cmpstrsi_1): Rename to cmpstrqi_1; Disable for 64bit.
4446         (strlensi): Move offline.
4447         (strlendi): New.
4448         (strlenqi_1): Disable for 64bit; fix constraints.
4449         (strlenqi_rex_1): New.
4450         * i386.c (ix86_adjust_counter): New static function.
4451         (ix86_zero_extend_to_Pmode): Likewise.
4452         (ix86_expand_aligntest): Likweise.
4453         (ix86_expand_strlensi_unroll_1): Make static; update for 64bit.
4454         (ix86_expand_movstr): New global function.
4455         (ix86_expand_clrstr): New global function.
4456         (ix86_expand_strlen): New global function.
4457         * i386-protos.h (ix86_expand_movstr, ix86_expand_clrstr,
4458         ix86_expand_strlen): Declare.
4459         (ix86_expand_strlensi_unroll_1): Delete.
4460
4461 Sat Mar 24 23:15:19 CET 2001  Jan Hubicka  <jh@suse.cz>
4462
4463         * i386.md (cmpdi): Fix operand predicates.
4464         (cmpdi_ccno_1_rex64, cmpdi_minus_1_rex64, cmpdi_1_rex64,
4465          cmpdi_1_insn_rex64): New patterns.
4466         (adddi3): Turn to expander.
4467         (adddi3_1, adddi3_carry_rex64, adddi3_cc_rex64): New patterns.
4468         (addsi3_carry_zext): New pattern.
4469         (adddi_?_rex64): New patterns and splitters.
4470         (addsi_?_zext): New patterns.
4471         (subsi3_carry_zext): New pattern.
4472         (subdi_?_rex64): New patterns and splitters.
4473         (iorsi_?_zext): New patterns.
4474         (iordi_?_rex64): New patterns and splitters.
4475         (iorsi_?_zext): New patterns.
4476         (iorsi_?_zext_imm): New patterns.
4477         (xorsi_?_zext): New patterns.
4478         (xordi_?_rex64): New patterns and splitters.
4479         (xorsi_?_zext): New patterns.
4480         (negdi*): New patterns.
4481         (one_cmpldi*): Likewise.
4482         (one_cmplsi*_zext, negsi*_zext): Likewise.
4483         (testqi_ext_3_rex64): New pattern.
4484
4485 Sat Mar 24 21:13:28 CET 2001  Jan Hubicka  <jh@suse.cz>
4486
4487         * i386-protos.h (ix86_split_long_move): Return void.
4488         * i386.c (ix86_split_to_parts): Handle 64bit target.
4489         (ix86_split_long_move): Likewise.
4490         * i386.md (all calls to ix86_split_long_move): Update.
4491
4492 2001-03-23  Richard Henderson  <rth@redhat.com>
4493
4494         * config/mips/iris4.h (ASM_OUTPUT_ASCII): Rename local variables
4495         to avoid shadowing arguments.
4496
4497 2001-03-23  Jakub Jelinek  <jakub@redhat.com>
4498
4499         * varasm.c (make_decl_rtl): Don't append var_labelno discriminator
4500         to variable names where DECL_NAME is different from
4501         DECL_ASSEMBLER_NAME.
4502
4503 2001-03-23  Jim Wilson  <wilson@redhat.com>
4504
4505         * varasm.c (make_decl_rtl): Add TREE_PUBLIC check to abort test.
4506         (assemble_alias): Call make_decl_rtl.
4507
4508 Fri Mar 23 16:59:08 2001  J"orn Rennecke <amylaar@redhat.com>
4509
4510         * stor-layout.c (layout_type): Give OFFSET_TYPE a MODE_INT type.
4511
4512 2001-03-23  Bryce McKinlay  <bryce@albatross.co.nz>
4513
4514         * extend.texi: Document the "java_interface" attribute.
4515
4516 2001-03-22  Zack Weinberg  <zackw@stanford.edu>
4517
4518         * mkconfig.sh: Use a subshell with redirected stdout,
4519         instead of closing stdout and confusing commands that run
4520         afterward.  Throw away output of cmp.
4521
4522 2001-03-22  Gordon Sadler  <gbsadler1@lcisp.com>
4523
4524         * Makefile.in (stage1_build): Pass CFLAGS to stage1_build.
4525
4526 Thu Mar 22 22:15:59 CET 2001  Jan Hubicka  <jh@suse.cz>
4527
4528         * i386.md (zero_extendsidi2_32): Break out from ...
4529         (zero_extendsidi2): ... here ; turn to expander.
4530         (zero_extendsidi2_rex64): New.
4531         (extendsidi2_32): Break out from ...
4532         (extendsidi2): ... here ; turn to expander.
4533         (extendsidi2_rex64): New.
4534         (zero_extendhidi2, zero_extendqidi2, extendhidi2, extendqidi2): New.
4535         (trunc?f?f splitters): Add 64bit versions.
4536
4537 Thu Mar 22 21:41:16 CET 2001  Jan Hubicka  <jh@suse.cz>
4538
4539         * i386.md (pushsi, pushsi2_prologue): Disable.
4540         (pushsi2_rex64): New.
4541         (movabs?i_1_rex64, movabs?i_2_rex64): New.
4542         (movqi_ext_1): Disable for 64bit.
4543         (movqi_ext_1_rex64): New.
4544         (pushdi2_rex64): New pattern, peep2s and splitter.
4545         (pushdi2_prologue_rex64): New pattern.
4546         (popdi1_epilogue_rex64, popdi1, movdi_xor_rex64, movdi_or_rex64):
4547         Likewise.
4548         (movdi splitters): Disable for 64bit.
4549         (movdi_1_rex64): New pattern, peep2s and splitters.
4550         (swapdi): New pattern.
4551         (pushsf): Disable for 64bit.
4552         (pushsf_rex64): New pattern and splitter.
4553         (pushdf_nointeger): Disable for 64bit.
4554         (pushdf_integer): Handle the 64bit case.
4555         (pushtf): Likewise; update splitters.
4556
4557 2001-03-22  Richard Henderson  <rth@redhat.com>
4558
4559         * mkconfig.sh: Include insn-flags.h.
4560         * Makefile.in (CONFIG_H): Include insn-flags.h.
4561         (lots of objects): Remove insn-codes.h and insn-flags.h.
4562
4563         * alias.c, bb-reorder.c, calls.c, do-loop.c, flow.c, haifa-sched.c,
4564         integrate.c, jump.c, loop.c, predict.c, profile.c, reg-stack.c,
4565         regmove.c, reorg.c, a29k/a29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
4566         avr/avr.c, clipper/clipper.c, convex/convex.c, d30v/d30v.c,
4567         dsp16xx/dsp16xx.c, fr30/fr30.c, h8300/h8300.c, i370/i370.c,
4568         i386/i386.c, i860/i860.c, ia64/ia64.c, m32r/m32r.c, m68hc11/m68hc11.c,
4569         m68k/m68k.c, m88k/m88k.c, mcore/mcore.c, mn10200/mn10200.c,
4570         mn10300/mn10300.c, ns32k/ns32k.c, pa/pa.c, pdp11/pdp11.c,
4571         pj/pj.c, romp/romp.c, rs6000/rs6000.c, sh/sh.c, sparc/sparc.c,
4572         v850/v850.c, vax/vax.c:
4573         Don't include insn-flags.h.
4574
4575         * diagnostic.c, expr.h, reload.c, toplev.c:
4576         Don't include insn-codes.h.
4577
4578         * builtins.c, combine.c, except.c, explow.c, expmed.c, expr.c,
4579         final.c, function.c, optabs.c, recog.c, reload1.c, stmt.c,
4580         c4x/c4x.c, i960/i960.c, mips/mips.c:
4581         Don't include insn-codes.h or insn-flags.h.
4582
4583         * genemit.c, genopinit.c, genoutput.c: Don't include insn-codes.h
4584         or insn-flags.h in the generated code.
4585         * genflags.c (gen_proto): Use "struct rtx_def *" instead of "rtx".
4586         (main): Forward declare struct rtx_def.
4587
4588 2001-03-22  Joseph S. Myers  <jsm28@cam.ac.uk>
4589
4590         * invoke.texi (-ffast-math): Remove duplicate line about
4591         __FAST_MATH__.
4592
4593         * gcc.texi: Remove more obsolete documentation of bugs and
4594         installation problems.
4595
4596 2001-03-21  Kazu Hirata  <kazu@hxi.com>
4597
4598         * config/h8300/h8300.md (movsi_h8300hs): Split the 2nd alternative
4599         into two parts.
4600
4601 2001-03-20  Jason Merrill  <jason@redhat.com>
4602
4603         * collect2.c (is_ctor_dtor): Always use '_' in the file fn names,
4604         not '.' or '$'.
4605         * tree.c (FILE_FUNCTION_FORMAT): Likewise.
4606         * varasm.c (CHKR_PREFIX): Likewise.
4607
4608 Wed Mar 21 14:27:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4609
4610         * gcse.c (hash_scan_set): An expression is not anticipatible if it
4611         is part of a multi-SET insn.
4612
4613         * cse.c (find_comparison_args): Remove previous change.
4614         * ifcvt.c (noce_process_if_block): When moving an insn, remove any
4615         REG_EQUAL notes.
4616
4617         * config/i386/i386.md (conditional_trap): Remove warning.
4618
4619         * recog.c (push_operand): Fix error in last change that caused
4620         undefined symbol on many targets.
4621
4622         * sdbout.c: #include ggc.h.
4623         (sdbout_init): Move to end of file.
4624         Call ggc_add_tree_root for anonymous_types.
4625         (sdbout_symbol): Use DECL_NAME for local, not DECL_ASSEMBLER_NAME.
4626         (sdbout_one_type): Use DECL_NAME for field name.
4627         * Makefile.in (sdbout.o): Show includes ggc.h.
4628
4629 Wed Mar 21 20:33:26 CET 2001  Jan Hubicka  <jh@suse.cz>
4630
4631         * i386.c (override_options): Default ix86_regparm to REGPARM_MAX.
4632         (override_options): Use properlimits for preferred_stack_boundary.
4633         (ix86_valid_type_attribute_p): Disable stdcall and cdecl attributes
4634         on x86_64.
4635         (ext_register_operand): Accept DImode.
4636         (load_pic_register): Abort on 64bit.
4637         (gen_push): Use Pmode instead of SImode.
4638         (ix86_save_reg): Pic reg is never used on 64bit.
4639         (ix86_expand_prologue): Likewise.
4640         (ix86_emit_save_regs): Use Pmode instead of SImode.
4641         (legitimate_address_p): Check displacement for 64bit.
4642         (print_operand): Avoid outputting of (%rip) on 64bit.
4643         (print_operand_address): Output (%rip) where possible.
4644         (split_di): Abort on 64bit registers.
4645         (ix86_expand_branch): DImode comparison is simple for x86_64.
4646         (memory_address_length): Recognize memory addresses formed using
4647         PRE/POST modify.
4648         (ix86_data_alignment, ix86_local_alignment): Align arrays to 16 bytes
4649         for x86_64.
4650         * i386.h (TARGET_USE_SAHF): Disable for 64bit.
4651
4652 Wed Mar 21 18:51:19 CET 2001  Jan Hubicka  <jh@suse.cz>
4653
4654         * recog.c (push_operand): Recognize new format of push instructions.
4655
4656 Wed Mar 21 10:53:57 CET 2001  Jan Hubicka  <jh@suse.cz>
4657
4658         * i386.md (pushqi1): New.
4659         * i386-protos.h (x86_64_general_operand, x86_64_szext_general_operand,
4660         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
4661         x86_64_immediate_operand, x86_64_immediate_operand,
4662         x86_64_zext_immediate_operand): Declare.
4663         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
4664         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
4665         x86_64_immediate_operand, x86_64_immediate_operand,
4666         x86_64_zext_immediate_operand): define.
4667         * i386.h (PREDICATE_CODES): Add new predicates.
4668
4669 Wed Mar 21 10:25:13 CET 2001  Jan Hubicka  <jh@suse.cz>
4670
4671         * i386.md (pophi1, popqi1, pushqi1): Remove.
4672
4673         * expr.c (emit_single_push_insn): New function.
4674         (move_by_pieces): Accept NULL as destination for push instructions.
4675         (gen_push_operand): Kill.
4676         (emit_push_insn): Pass NULL when pushing; avoid updating of
4677         stack_pointer_delta.
4678         * expr.h (gen_push_operand): Kill.
4679
4680 Tue Mar 20 20:15:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4681
4682         * rtl.texi (COMPARE): Clarify documentation and reference section
4683         on comparisons.
4684
4685 2001-03-20  Stan Shebs  <shebs@apple.com>
4686
4687         * objc/objc-act.c (get_static_reference): Use NULL_TREE.
4688         (get_object_reference): Ditto.
4689         (error_with_ivar): Use error_with_file_and_line.
4690         (warn_with_method): Use warning_with_file_and_line.
4691
4692 2001-03-20  Tom Tromey  <tromey@redhat.com>
4693
4694         * libgcc-std.ver: Added __fixunssfsi and __fixunsdfsi.
4695
4696 2001-03-20  Mark Mitchell  <mark@codesourcery.com>
4697
4698         * tree.c (set_decl_assembler_name): Set DECL_ASSEMBLER_NAME for
4699         variables that are TREE_PUBLIC, even if not TREE_STATIC.
4700
4701 2001-03-20  DJ Delorie  <dj@redhat.com>
4702
4703         * Makefile.in (install-libgcc): Pass complete list of variables.
4704         (install-multilib): Ditto.
4705
4706 2001-03-20  David Billinghurst  <David.Billinghurst@riotinto.com>
4707
4708         * config/i386/cygwin.h: Declare ctor_section, dtor_section
4709         drectve_section, switch_to_section.
4710
4711         * winnt.c: Declare functions associated_type, gen_stdcall_suffix,
4712         i386_pe_dllexport_p, i386_pe_dllimport_p, i386_pe_mark_dllexport,
4713         i386_pe_mark_dllimport.
4714
4715 2001-03-20  David Billinghurst <David.Billinghurst@riotinto.com>
4716
4717         * config/i386/cygwin.h: Include <stdio.h> Declare and constify
4718         functions i386_pe_*.
4719
4720         * config/i386/winnt.c: Include "tm_p.h" and "toplev.h" Constify
4721         i386_pe_* functions with char * arguments.
4722
4723 2001-03-20  Alexandre Oliva  <aoliva@redhat.com>
4724
4725         * config/sh/sh.md (movsf_ie): Fix output patterns for fpul load
4726         and store.
4727         (movsi_ie): Introduce fpul store.
4728
4729 2001-03-20  Alan Modra  <alan@linuxcare.com.au>
4730
4731         * Makefile.in (OBJS): Remove hashtab.o.
4732
4733 2001-03-19  Stan Shebs  <shebs@apple.com>
4734
4735         * objc/objc-act.c (maybe_objc_method_name): Remove, never called.
4736         * c-lang.c (maybe_objc_method_name): Ditto.
4737         * c-tree.h (maybe_objc_method_name): Remove decl.
4738
4739 2001-03-19  Tom Tromey  <tromey@redhat.com>
4740
4741         * gcc.c (init_gcc_specs): Fix comment.
4742
4743 2001-03-19  Mark Mitchell  <mark@codesourcery.com>
4744
4745         Compute DECL_ASSEMBLER_NAME lazily.
4746         * tree.h (DECL_ASSEMBLER_NAME): Compute it lazily.
4747         (DECL_ASSEMBLER_NAME_SET_P): New macro.
4748         (SET_DECL_ASSEMBLER_NAME): Likewise.
4749         (COPY_DECL_ASSEMBLER_NAME): Likewise.
4750         (set_decl_assembler_name): Declare.
4751         (lang_set_decl_assembler_name): Likewise.
4752         * tree.c (lang_set_decl_assembler_name): New variab.e
4753         (set_decl_assembler_name): New function.
4754         (init_obstacks): Set lang_set_decl_assembler_name.
4755         (build_decl): Don't set DECL_ASSEMBLER_NAME.
4756         * c-decl.c (duplicate_decls): Use SET_DECL_ASSEMBLER_NAME,
4757         COPY_DECL_ASSEMBLER_NAME, etc.  Don't set DECL_ASSEMBLER_NAME
4758         where it's not necessary.
4759         (builtin_function): Likewise.
4760         (finish_decl): Likewise.
4761         * dbxout.c (dbxout_type_methods): Likewise.
4762         * ggc-common.c (ggc_mark_trees): Likewise.
4763         * profile.c (output_func_start_profiler): Likewise.
4764         * varasm.c (make_decl_rtl): Likewise.
4765
4766         * cse.c (find_comparison_args): Update documentation.  Fix
4767         mishandling of COMPARE operations.
4768
4769         * tree.def (ABS_EXPR): Add documentation.
4770         * fold-const.c (fold): Improve folding of ABS_EXPRs.
4771
4772 2001-03-19  Zack Weinberg  <zackw@stanford.edu>
4773
4774         * Makefile.in (hash.o): Depend on $(GCONFIG_H), not $(CONFIG_H).
4775
4776 2001-03-19  Jakub Jelinek  <jakub@redhat.com>
4777
4778         * crtstuff.c (init_dummy): Use CRT_END_INIT_DUMMY if defined.
4779         Remove ia32 linux PIC kludge and move it...
4780         * config/i386/linux.h (CRT_END_INIT_DUMMY): ...here.
4781
4782 Mon Mar 19 18:53:54 CET 2001  Jan Hubicka  <jh@suse.cz>
4783
4784         * i386.md (absdf2 expander): Fix 64bit case.
4785
4786 2001-03-19  Brad Lucier  <lucier@math.purdue.edu>
4787
4788         * Makefile.in: Have splay-tree.o depend on $(GCONFIG_H).
4789
4790 2001-03-16  Andrew Haley  <aph@cambridge.redhat.com>
4791
4792         * config/ia64/libgcc-ia64.ver: Add __ia64_backtrace.
4793
4794 2001-03-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4795
4796         * README.X11: Remove obsolete file.
4797
4798 2001-03-18  Anthony Green  <green@redhat.com>
4799
4800         * config/pj/pj.h: Remove some trailing commas.
4801         (ASM_SPEC): Use -EB and -EL, not -mb and -ml.
4802
4803 2001-03-18  Richard Henderson  <rth@redhat.com>
4804
4805         * defaults.h (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Move from ...
4806         * calls.c: ... here.
4807         * combine.c, expr.c, final.c, function.c toplev.c: Don't provide
4808         defaults for them here.
4809
4810 2001-03-17  Anthony Green  <green@redhat.com>
4811
4812         * config/pj/lib1funcs.S: Fix broken comment.
4813         * config/pj/pj.h (LOCAL_LABEL_PREFIX): Prefix internal
4814         labels with '.'.
4815
4816 2001-03-18  Joseph S. Myers  <jsm28@cam.ac.uk>
4817
4818         * gcc.texi: Remove obsolete information relating to build and
4819         installation problems with enquire or the Pyramid C compiler.
4820
4821 2001-03-17  Richard Henderson  <rth@redhat.com>
4822
4823         * dwarf2out.c (queue_reg_save): New.
4824         (flush_queued_reg_saves, clobbers_queued_reg_save): New.
4825         (dwarf2out_frame_debug_expr): Call queue_reg_save instead of
4826         dwarf2out_reg_save.
4827         (dwarf2out_frame_debug): Call flush_queued_reg_saves when needed.
4828         (cfa, cfa_store, cfa_temp): Make static.
4829         * final.c (final_scan_insn): Always call dwarf2out_frame_debug.
4830
4831 2001-03-17  Richard Henderson  <rth@redhat.com>
4832
4833         * integrate.h (struct inline_remap): Add local_return_label.
4834         * integrate.c (expand_inline_function): Initialize it and emit
4835         it after copy_insn_notes.
4836         (copy_insn_list): Don't store local_return_label here.
4837         (copy_insn_notes): New function split out from copy_insn_list.
4838
4839 2001-03-17  Richard Henderson  <rth@redhat.com>
4840
4841         * dwarf2out.c (lookup_filename): Emit .file if the assembler
4842         is generating .debug_line.
4843         (dwarf2out_init): Add main_input_filename to the file table first.
4844         * configure.in (as_dwarf2_debug_line): Test with file number 1
4845         instead of file number 0.
4846
4847 Sat Mar 17 11:52:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4848
4849         * combine.c (undobuf): Remove field previous_undos; all refs deleted.
4850         (gen_rtx_combine): Deleted; all references changed as appropriate.
4851         (gen_unary): Deleted; all refs changed to call simplify_gen_unary.
4852
4853         * print-tree.c (print_node): Print DECL_NONADDRESSABLE_P.
4854
4855 2001-03-17  David Billinghurst  <David.Billinghurst@riotinto.com>
4856
4857         * config/i386/xm-cygwin.h: Include <sys/cygwin.h.  Remove unused
4858         variable.
4859
4860 2001-03-16  Jim Wilson  <wilson@redhat.com>
4861
4862         * config/ia64/ia64.c (ia64_compute_frame_size): If reg_fp is zero,
4863         then set it to LOC_REG (79) instead of aborting.
4864
4865 2001-03-16  Phil Edwards  <pme@sources.redhat.com>
4866
4867         * gccbug.in:  Remove high priority.
4868
4869 2001-03-16  Richard Henerson  <rth@redhat.com>
4870
4871         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): Substitute leading od
4872         output with a space instead of deleting it.
4873         * configure: Regenerate.
4874
4875 2001-03-16  Zack Weinberg  <zackw@stanford.edu>
4876
4877         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): New utility macro which
4878         handles the gory details of converting an object file into
4879         something that's safe to grep.
4880         (gcc_AC_C_COMPILE_BIGENDIAN): Rename to
4881         gcc_AC_C_COMPILE_ENDIAN.  Use gcc_AC_EXAMINE_OBJECT.  Put
4882         newlines at either end of the string we're looking for.
4883         Make 'checking ...' message less stilted.
4884         (gcc_AC_C_FLOAT_FORMAT): Use gcc_AC_EXAMINE_OBJECT.  Handle
4885         ARM in-memory layout and its hypothetical converse.  Don't
4886         define HOST_FLOAT_WORDS_BIG_ENDIAN unless it's different from
4887         HOST_WORDS_BIG_ENDIAN.
4888
4889         * configure.in: Adjust for renamed macro.  Move
4890         gcc_AC_C_FLOAT_FORMAT below gcc_AC_C_COMPILE_ENDIAN.
4891         * configure, config.in: Regenerate.
4892
4893 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
4894
4895         * fixinc/Makefile.in: Set SHELL.
4896
4897 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
4898
4899         * fixinc/fixincl.c (fix_with_system): Quote file names before
4900         passing them to shell.
4901
4902 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
4903
4904         * Makefile.in: Use fix-header$(build_exeext) instead
4905         of fix-header.
4906
4907 2001-03-16  Richard Henderson  <rth@redhat.com>
4908
4909         * dwarf2out.c: Revert most of 2000-11-25 and 2001-01-24 changes.
4910         (LN_PROLOG_AS_LABEL, LN_PROLOG_END_LABEL): New.
4911         (size_of_line_prolog): Remove.
4912         (output_line_info): Compute prologue size via label difference.
4913         (lookup_filename): Return "unspecified" for <internal> and <built-in>.
4914
4915         * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Require that the
4916         assembler error when redefining file numbers.
4917         * config.in, configure: Rebuild.
4918
4919         * dwarf2asm.c (dw2_asm_output_data): Mask data to the output size.
4920         (dw2_asm_output_data_uleb128): Use space not tab after .uleb128.
4921         (dw2_asm_output_delta_uleb128): Likewise.
4922         (dw2_asm_output_delta_sleb128): Similarly.
4923         (dw2_asm_output_data_sleb128): Similarly.  Print number in decimal.
4924
4925 2001-03-16  Michael Meissner  <meissner@redhat.com>
4926
4927         * mips.h (BITMASK_HIGH): Replacement for 0x80000000 that avoids
4928         warnings.
4929         (BITMASK_UPPER16): Replacement for 0xffff0000 that avoids
4930         warnings.
4931         (BITMASK_LOWER16): Replacement for 0x0000ffff.
4932
4933         * mips.c (save_restore_insns): Use BITMASK_UPPER16/BITMASK_LOWER16
4934         instead of 0xffff0000/0x0000ffff to avoid warnings about constants
4935         being unsigned in ISO C and signed in traditional.
4936         (expand_prologue): Ditto.
4937         (RA_MASK): Use BITMASK_HIGH to avoid warnings.
4938
4939         * mips.md (divmodsi4,divmodsi4): Use BITMASK_HIGH to avoid
4940         warnings.
4941         (divsi3,divdi3): Ditto.
4942         (modsi3,moddi3): Ditto.
4943         (fix_truncdfsi2,fix_truncdfdi2): Ditto.
4944         (fix_truncsfsi2,fix_truncsfdi2): Ditto.
4945         (movsi split): Use BITMASK_UPPER16/BITMASK_LOWER16 to avoid
4946         warnings.
4947
4948 Fri Mar 16 14:47:57 CET 2001  Jan Hubicka  <jh@suse.cz>
4949
4950         * i386.c (ix86_expand_fp_movcc): Do not attempt to construct
4951         SSE based conditional moves on LTGT/UNEQ conditions;
4952         Canonicalize EQ to NE.
4953         * i386.md (sse_mov?fcc): Disallow EQ and NE in IEEE mode.
4954         (sse_mov?fcc_ne): New.
4955
4956         * i386-protos.h (sign_extended_value, zero_extended_value): Declare.
4957
4958 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
4959
4960         * config/sh/sh.c (sh_expand_prologue): Insns that set up the PIC
4961         register may be dead.
4962
4963 2001-03-16  Brad Lucier  <lucier@math.purdue.edu>
4964
4965         * Makefile.in (hash.o): Depend on CONFIG_H.
4966
4967 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
4968
4969         * dwarf2out.c (rtl_for_decl_location): Use DECL_RTL_IF_SET.
4970
4971 2001-03-15  Richard Henderson  <rth@redhat.com>
4972
4973         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): New.
4974         (ASM_OUTPUT_DWARF_PCREL): New.
4975         * config/ia64/hpux.h (ASM_OUTPUT_DWARF_OFFSET): Remove.
4976
4977 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
4978
4979         * cppfiles.c (stack_include_file): Use MAX of sysp.
4980
4981 2001-03-15  Steve Ellcey  <sje@cup.hp.com>
4982
4983         * config.gcc (ia64*-*-hpux*): New case.
4984         * config/ia64/hpux.h: New file for HP-UX support.
4985         * config/ia64/t-hpux: New file for HP-UX support.
4986
4987 2001-03-16  Bruce Korb  <bkorb@gnu.org>, Alexandre Oliva  <aoliva@redhat.com>
4988
4989         * fixinc/inclhack.def (irix_stdio_va_list): New.
4990         * fixinc/fixincl.x: Rebuilt.
4991
4992 2001-03-15  Richard Henderson  <rth@redhat.com>
4993
4994         * dwarf2asm.c (dw2_asm_output_offset): Use ASM_OUTPUT_DWARF_OFFSET
4995         if provided by the target.
4996         (dw2_asm_output_pcrel): Likewise with ASM_OUTPUT_DWARF_PCREL.
4997         (dw2_asm_output_addr): New.
4998         * dwarf2asm.h (dw2_asm_output_addr): Declare.
4999         * dwarf2out.c (output_cfi): Use it for program addresses.
5000         (output_call_frame_info, output_die): Likewise.
5001         (output_aranges, output_line_info): Likewise.
5002
5003 2001-03-15  Bruce Korb  <bkorb@gnu.org>
5004
5005         * gcc.c(main): make more rigorous
5006         * collect2.c(main): guard against ignoring SIGCHLD
5007         * protoize.c(main): ditto
5008         * gcc/fixinc/fixincl.c(initialize): ditto
5009
5010 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
5011
5012         * sdbout.c (sdbout_symbol): Use DECL_RTL_SET_P, SET_DECL_RTL.
5013         (sdbout_parms): Likewise.
5014
5015 Thu Mar 15 12:57:14 2001  Jeffrey A Law  (law@cygnus.com)
5016
5017         * reload1.c (reload_cse_simplify_set): For LOAD_EXTEND_OP, do not
5018         "widen" a destination that is already wider than a word.  Also do
5019         not widen if LOAD_EXTEND_OP is NIL for the given mode.
5020
5021 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
5022
5023         * config/ia64/ia64.c (ia64_sched_reorder): Remove debugging aids.
5024
5025 Thu Mar 15 11:30:31 EST 2001  John Wehle  (john@feith.com)
5026
5027         * i960.h (ROUND_TYPE_SIZE_UNIT): Fix typo.
5028
5029 Thu Mar 15 11:24:29 EST 2001  John Wehle  (john@feith.com)
5030
5031         * i960.h (i960_maxbitalignment,
5032         i960_last_maxbitalignment): Declare.
5033         * i960.c (i960_maxbitalignment,
5034         i960_last_maxbitalignment): Make global.
5035         (process_pragma): Delete.
5036         (i960_pr_align, i960_pr_noalign): Move from here ...
5037         * i960-c.c: ... to this new file.
5038         * t-960bare (i960-c.o): New rule.
5039         * t-vxworks960 (i960-c.o): Likewise.
5040         * config.gcc (i960-*-*): Define c_target_objs and
5041         cxx_target_objs.
5042
5043 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
5044
5045         * cselib.c (hash_rtx): For REG and MEM, just use value of expression
5046         without adding in rtx code and mode.
5047
5048         * alias.c (init_alias_analysis): Don't use any rtx whose value
5049         varies as a known value.
5050         Delete a superfluous test.
5051
5052         * config/ia64/ia64.c (maybe_rotate): New function, broken out of
5053         ia64_sched_reorder.
5054         (ia64_sched_reorder): Call maybe_rotate; also rotate after
5055         scheduling a stop bit.
5056         (ia64_emit_nops): Correctly handle ASMs.
5057
5058 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
5059
5060         * varasm.c (assemble_variable): Use DECL_RTL_SET_P.
5061
5062 2001-03-15  Neil Booth  <neil@daikokuya.demon.co.uk>
5063
5064         * cpp.texi: Update documentation for -include and -imacros.
5065         * cppfiles.c (struct include_file): Remove "defined" memeber.
5066         (find_or_create_entry): Make a copy of the file name, and
5067         simplify it.
5068         (open_file): Update to ensure we use the simplified filename.
5069         (stack_include_file): Don't set search_from.
5070         (cpp_included): Don't simplify the path name here.
5071         (find_include_file): New prototype.  Call search_from to
5072         get the start of the "" include chain.  Don't simplify the
5073         filenames here.
5074         (_cpp_execute_include): New prototype.  Move diagnostics to
5075         do_include_common.  Update.
5076         (_cpp_pop_file_buffer): Don't set defined.
5077         (search_from): New prototype.  Use the preprocessor's cwd
5078         for files included from the command line.
5079         (read_name_map): Don't simplify the pathname here.
5080         * cpphash.h (enum include_type): New.
5081         (struct buffer): Delete search from.  New search_cached.
5082         (_cpp_execute_include): Update prototype.
5083         * cppinit.c (do_includes): Use _cpp_execute_include.
5084         * cpplib.c (do_include_common): New function.
5085         (do_include, do_include_next, do_import): Use it.
5086
5087 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
5088
5089         * varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME, not the
5090         contents of the RTL, to determine the name of the object.
5091
5092 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
5093
5094         * tree.h (DECL_RTL): Allocate RTL lazily.
5095         (SET_DECL_RTL): New macro.
5096         (DECL_RTL_SET_P): Likewise.
5097         (COPY_DECL_RTL): Likewise.
5098         (DECL_RTL_IF_SET): Likewise.
5099         * varasm.c (make_decl_rtl): Add assertions about the kind of
5100         declaration we are processing.
5101         * c-decl.c (duplicate_decls): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
5102         (start_decl): Likewise.
5103         (finish_decl): Likewise.
5104         * c-semantics.c (emit_local_var): Likewise.
5105         * calls.c (expand_call): Likewise.
5106         * dbxout.c (dbxout_symbol): Likewise.
5107         * emit-rtl.c (unshare_all_rtl): Likewise.
5108         (unshare_all_decls): Likewise.
5109         (reset_used_decls): Likewise.
5110         * expr.c (store_constructor): Likewise.
5111         (safe_from_p): Likewise.
5112         (expand_expr): Likewise.
5113         * function.c (put_var_into_stack): Likewise.
5114         (instantiate_decls_1): Likewise.
5115         (assign_parms): Likewise.
5116         (expand_function_start): Likewise.
5117         (expand_function_end): Likewise.
5118         * ggc-common.c (gcc_mark_trees): Likewise.
5119         * integrate.c (function_cannot_inline_p): Likewise.
5120         (copy_decl_for_inlining): Likewise.
5121         (expand_inline_function): Likewise.
5122         (integrate_parm_decls): Likewise.
5123         (integrate_decl_tree): Likewise.
5124         * print-tree.c (print_node): Likewise.
5125         * reg-stack.c (stack_result): Likewise.
5126         * stmt.c (label_rtx): Likewise.
5127         (expand_return): Likewise.
5128         (expand_decl): Likewise.
5129         (expand_decl_cleanup): Likewise.
5130         (expand_anon_union_decl): Likewise.
5131         * toplev.c (check_global_declarations): Likewise.
5132         (rest_of_decl_compilation): Likewise.
5133         * tree.c (simple_cst_equal): Likewise.
5134         * objc/objc-act.c (generate_static_references): Likewise.
5135
5136 2001-03-14  Zack Weinberg  <zackw@stanford.edu>
5137
5138         * aclocal.m4 (gcc_AC_C_CHARSET, gcc_AC_C_COMPILE_BIGENDIAN,
5139         gcc_AC_C_FLOAT_FORMAT): New macros.
5140         * configure.in: Add AC_PROG_CPP after CC tests;
5141         gcc_AC_C_CHARSET and gcc_AC_C_FLOAT_FORMAT after the sizeof
5142         tests; and gcc_AC_C_COMPILE_BIGENDIAN after gcc_AC_C_CHAR_BIT.
5143         * configure, config.in: Regenerate.
5144
5145         * config/a29k/xm-a29k.h, config/arc/xm-arc.h,
5146         config/arm/xm-arm.h, config/c4x/xm-c4x.h,
5147         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
5148         config/i370/xm-linux.h, config/i370/xm-oe.h,
5149         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
5150         config/m68k/xm-m68k.h, config/mips/xm-mips.h,
5151         config/pa/xm-linux.h, config/pa/xm-pa.h,
5152         config/rs6000/xm-lynx.h, config/rs6000/xm-mach.h,
5153         config/rs6000/xm-rs6000.h, config/rs6000/xm-sysv4.h,
5154         config/sparc/xm-sparc.h, config/vax/xm-vax.h,
5155         config/we32k/xm-we32k.h: Delete.
5156
5157         * config/i370/xm-mvs.h, config/m88k/m88k.h,
5158         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
5159         config/vax/xm-vms.h: Don't define any of:
5160         HOST_FLOAT_FORMAT, HOST_EBCDIC, HOST_WORDS_BIG_ENDIAN
5161
5162         * config/rs6000/aix.h: Define COLLECT_EXPORT_LIST here.
5163
5164         * config.gcc: Remove references to deleted files.
5165         (i370-*-opened*): Use i370/xm-mvs.h (which now defines only
5166         FATAL_EXIT_CODE, which is the same between oe and mvs).
5167
5168 2001-03-14  DJ Delorie  <dj@redhat.com>
5169             Vladimir Makarov  <vmakarov@redhat.com>
5170
5171         * config/i960/i960.c (i960_function_prologue): Compute size of
5172         frame according to number of registers actually saved there.
5173
5174 2001-03-14  Richard Henderson  <rth@redhat.com>
5175
5176         * expr.c (emit_move_insn_1): Fix else if around #endif.
5177
5178 Wed Mar 14 22:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
5179                               Vojtech Pavlik
5180
5181         * md.texi (machine constraints): Document 'Q', 'R', 'e' and 'Z'
5182         constraints.
5183
5184 Wed Mar 14 22:26:10 CET 2001  Jan Hubicka  <jh@suse.cz>
5185
5186         * i386.c (ix86_cmodel_string, ix86_cmodel): Define.
5187         (override_options): Parse cmodel string.
5188         (x86_64_sign_extended_value, x86_64_zero_extended_value): New.
5189         * i386.h (TARGET_OPTIONS): Add "cmodel".
5190         (EXTRA_CONSTRAINT): Recognize 'e' and 'Z'.
5191         (enum cmodel): New.
5192         (ix86_cmodel_string, ix86_cmodel): Declare.
5193
5194 Wed Mar 14 22:26:54 CET 2001  Jan Hubicka  <jh@suse.cz>
5195
5196         Spot by Matt Kraai:
5197         * i386.h (GENERAL_REG_P): Add missing REG_P.
5198
5199 2001-03-14  Laurynas Biveinis  <lauras@softhome.net>
5200
5201         * configure.in: Use $gcc_cv_as instead of $as.
5202         * configure: Regenerated.
5203
5204 2001-03-14  Neil Booth  <neil@daikokuya.demon.co.uk>
5205
5206         * cppfiles.c (stack_include_file): Only increase the include
5207         count if we actually process the file properly, as opposed
5208         to treating it as length zero.  Only call read_include_file
5209         if not DO_NOT_REREAD.  Handle the -H include file output
5210         here.
5211         (read_include_file): Remove now redundant DO_NOT_REREAD check.
5212         (cpp_included, find_include_file): Simplify pathnames after
5213         remapping them.  If remapping, don't use the remapped file
5214         name's buffer as our scratch buffer.
5215         (cpp_pop_file_buffer): Replace the multiple include macro
5216         only if it isn't yet set.
5217         (read_name_map): Simplify remapped names when reading in.
5218         (remap_filename): Move code to code path that uses it.
5219         (_cpp_simplify_pathname): Return the input pointer.
5220         * cpphash.h (_cpp_simplify_pathname): Update prototype.
5221
5222 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
5223
5224         * expr.c (expand_expr): Revove bogus conditional.
5225
5226 Wed Mar 14 19:29:50 CET 2001  Jan Hubicka  <jh@suse.cz>
5227
5228         * expr.c (emit_move_insn_1): Guard PUSH_ROUNDING use by ifdef.
5229
5230 2001-03-14  Jakub Jelinek  <jakub@redhat.com>
5231
5232         * reg-stack.c (stack_result): Unconditionally use
5233         FUNCTION_OUTGOING_VALUE resp. FUNCTION_VALUE.
5234
5235 Wed Mar 14 16:36:25 CET 2001  Jan Hubicka  <jh@suse.cz>
5236
5237         * expr.c (emit_move_insn_1):  Split push of complex value when
5238         no suitable push instruction exist.
5239
5240         * i386.md (QImode move/add/shift patterns): Use ANY_QI_REG_P
5241         instead of QI_REG_P.
5242
5243 Tue Mar 13 22:22:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5244
5245         * alias.c (handled_component_p, can_address_p): New functions.
5246         (get_alias_set): Use them.
5247
5248 2001-03-13  Jim Wilson  <wilson@redhat.com>
5249
5250         * config/ia64/ia64.c (find_gr_spill): Subtract frame_pointer_needed
5251         from 80 in try_locals code.
5252         (ia64_expand_prologue): Add comment pointing to find_gr_spill change.
5253
5254 2001-03-13  Zack Weinberg  <zackw@stanford.edu>
5255
5256         * aclocal.m4 (gcc_AC_COMPILE_CHECK_SIZEOF, gcc_AC_C_CHAR_BIT,
5257         gcc_AC_C_LONG_LONG): New.
5258         * configure.in: Use them.  Probe the size of short, int, long,
5259         and long long/__int64 if we have them.  Move all the AC_C_*
5260         checks together, except gcc_AC_C_CHAR_BIT which has to go
5261         after AC_CHECK_HEADERS(limits.h).
5262         Take hwint.h out of host_xm_file and build_xm_file.
5263
5264         * hwint.h: Unconditionally define HOST_BITS_PER_CHAR,
5265         HOST_BITS_PER_SHORT, HOST_BITS_PER_INT, HOST_BITS_PER_LONG,
5266         and HOST_BITS_PER_LONGLONG in terms of SIZEOF_* and CHAR_BIT.
5267         Move the HOST_WIDEST_INT setup logic here from system.h.
5268         Provide HOST_WIDEST_INT even if HOST_BITS_PER_LONGLONG is not
5269         defined.
5270         * system.h: Include hwint.h after limits.h.  HOST_WIDEST_INT
5271         is now handled by hwint.h.
5272
5273         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms.h,
5274         config/c4x/xm-c4x.h, config/i370/xm-oe.h,
5275         config/ia64/xm-ia64.h: Don't define any of:
5276         HOST_BITS_PER_LONG, HOST_BITS_PER_CHAR, HOST_BITS_PER_SHORT,
5277         HOST_BITS_PER_LONGLONG.
5278
5279         * config/alpha/xm-alpha.h, config/dsp16xx/xm-dsp16xx.h,
5280         config/h8300/xm-h8300.h, config/mips/iris6.h,
5281         config/mn10200/xm-mn10200.h, config/pa/xm-pa64hpux.h,
5282         config/sparc/xm-sp64.h: Delete.
5283         * config.gcc: Remove references to deleted files.
5284
5285         * config/arm/xm-arm.h, config/mips/xm-mips.h: Don't define
5286         HOST_FLOAT_FORMAT to IEEE_FLOAT_FORMAT.
5287         * config/i370/xm-linux.h: Clarify floating-point situation in
5288         a comment.
5289
5290 2001-03-13  Neil Booth  <neil@daikokuya.demon.co.uk>
5291
5292         * cppfiles.c (NO_INCLUDE_PATH): New macro.
5293         (find_include_file): Decide here which part of the include
5294         chain to start the search.  Complain about an empty include
5295         chain in all cases apart from an abolsute file name.
5296         (_cpp_execute_include): Don't choose the search chain here.
5297         Don't call handle_missing_include in the case of an empty
5298         include chain.
5299         (_cpp_compare_file_date): Don't choose the search chain here.
5300         * cpplib.c (do_include_next): Move the in-main-file diagnostic
5301         here from _cpp_execute_include.  Behave like #include if
5302         we're in the main file.
5303
5304 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5305
5306         * system.h (malloc, realloc, calloc, strdup): Only poison these
5307         tokens when IN_GCC is defined.
5308
5309 Tue Mar 13 14:38:44 CET 2001  Jan Hubicka  <jh@suse.cz>
5310
5311         * i386.md (abs?f expander): Support SSE case.
5312         (abd?f_if): Add new "USE"; add splitters.
5313
5314 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5315
5316         * cpp.texi (poison): Explain the macro expansion exception.
5317
5318 2001-03-13  Jakub Jelinek  <jakub@redhat.com>
5319
5320         * expr.c (store_expr): Add dont_store_target.  If temp is already in
5321         target before copying to reg, don't store it into target again.
5322
5323 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
5324
5325         * cppinternals.texi: Update for file handling.
5326
5327 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
5328
5329         * emit-rtl.c (remove_unnecessary_notes): Reverse Richard Kenner's
5330         2001-02-24 which broke building the Java library.
5331         * function.c (identify_blocks): Likewise.
5332         (all_blocks): Likewise.
5333         * integrate.c (integrate_decl_tree): Likewise.
5334         * print-tree.c (print_node): Likewise.
5335         * tree.h (BLOCK_NUMBER): Likewise.
5336         (struct tree_block): Likewise.
5337
5338 2001-03-12  David Edelsohn  <edelsohn@gnu.org>
5339
5340         * rs6000/aix51.h (CPP_SPEC, CPLUSPLUS_CPP_SPEC): Fix typo in
5341         __WCHAR_TYPE__ definition.
5342         (WCHAR_TYPE_SIZE): #undef before #define.
5343
5344 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
5345
5346         * cppfiles.c: Update comments.
5347         (destroy_include_file_node): Rename destroy_node.
5348         (find_or_create_entry): New function.
5349         (open_file, _cpp_fake_include): Use it.
5350         (handle_missing_header): New function, broken out of
5351         _cpp_execute include.  Don't segfault if there is no
5352         system or quoted path.
5353         (_cpp_execute_include): Use handle_missing_header.
5354
5355 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
5356
5357         * jump.c (reversed_comparison_code_parts): Reverse Jan Hubricka's
5358         2001-02-28 patch because it breaks arm-linux and mips-sgi-irix6.5.
5359
5360 Mon Mar 12 14:05:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5361
5362         * flow.c (insn_dead_p): Don't consider two memrefs equivalent
5363         unless anti_dependence says they are.
5364         * alias.c (objects_must_conflict): If neither has a type specified,
5365         they must conflict.
5366
5367 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
5368             David Billinghurst <David.Billinghurst@riotinto.com>
5369
5370         * config/mips/iris5.h:  Change WCHAR_TYPE to int.
5371
5372 Mon Mar 12 16:32:21 CET 2001  Jan Hubicka  <jh@suse.cz>
5373
5374         * i386.md (trunctfdf2_2): Rename missnamed pattern.
5375         (*_one_bit): Remove type on the match_operand in attributes.
5376
5377 Mon Mar 12 16:27:56 CET 2001  Jan Hubicka  <jh@suse.cz>
5378
5379         * i386.c: Commit forgotten hunk in previous patch.
5380         (regclass_map): Add extended registers.
5381         (dbx_register_map): Add missing frame register.
5382
5383 Mon Mar 12 15:41:08 CET 2001  Jan Hubicka  <jh@suse.cz>
5384
5385         * i386.md (all XFmode patterns except swapxf): Disable for 64bit.
5386
5387         * i386.md (x86_sahf_1): Disable for 64bit.
5388         (popsi*, pophi*): Likewise.
5389         (pushqi, pushhi): Likewise.
5390         (movdi, pushdi): Likewise.
5391         (zero extend DImode splitter): Likewise.
5392         (adddi, minusdi splitter): Likewise.
5393         (umulsidi): Likewise.
5394         (umulsi): New.
5395         (mulsidi): Disable for 64bit
5396         (lshift:DI/ashift:DI): Disable for 64bit.
5397         (loop patterns): Likewise.
5398         (call_pop, call_value_pop expanders and patterns): Likewise.
5399         (prologue_get_pc): Likewise.
5400         (leave): Likewise.
5401         (fcmovDI pattern and splitter): Likewise.
5402         (movdfcc_1_rex64): New.
5403
5404 Mon Mar 12 15:16:36 CET 2001  Jan Hubicka  <jh@suse.cz>
5405
5406         * i386.h (VALID_FP_MODE_P): XFmode is invalid on x86_64.
5407         (MODES_TIEABLE_P): QImodes and DImodes are tiable on x86_64.
5408         (HARD_REGNO_CALLER_SAVE_MODE): Save QImodes as QImodes for x86_64.
5409         (STATIC_CHAIN_REGNUM): Set to r10 for x86_64.
5410         (PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM for x86_64.
5411         (LIMIT_RELOAD_CLASS): Avoid limiting of QImodes on x86_64.
5412         (SECONDARY_OUTPUT_RELOAD_CLASS): No need to QImodes.
5413         (PUSH_ROUNDING): x86_64 rounds to 64bits.
5414         (CONSTANT_ADDRESS_P): Accept CONST_DOUBLE.
5415         (REGPARM_MAX): Set to 6 for x86_64.
5416         (SSE_REGPARM_MAX): Set to 16 for x86_64.
5417         * i386.c (hard_regno_mode_ok): QImodes can be in all general purpose
5418         registers.
5419
5420         * (patterns that does use upper halves): Update constraints
5421         'q' to 'Q' and 'r' to 'R'.
5422         (cmpqi_ext_1): Disable for 64bit.
5423         (cmpqi_ext_3_insn): Likewise.
5424         (movqi_extzv_1): Likewsie.
5425         (addqi_ext_1): Liekwsie
5426         (testqi_ext_1): Liekwsie
5427         (andqi_ext_1): Liekwsie
5428         (xorqi_ext_1): Liekwsie
5429         (cmpqi_ext_1_rex64): New.
5430         (cmpqi_ext_3_insn_rex64): Likewise.
5431         (movqi_extzv_1_rex64): Likewsie.
5432         (addqi_ext_1_rex64): Liekwsie
5433         (testqi_ext_1_rex64): Liekwsie
5434         (andqi_ext_1_rex64): Liekwsie
5435         (xorqi_ext_1_rex64): Liekwsie
5436
5437 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
5438
5439         * configure.in: Move check for unsigned enumerated bitfields
5440         to macro in aclocal.m4.  Disable it for now.
5441         * configure, config.in: Regenerate.
5442         * system.h: Don't do anything with ONLY_INT_FIELDS.  Use the
5443         unsigned-int form of ENUM_BITFIELD() unless being compiled by GCC.
5444         * varasm.c (struct rtx_const): Use ENUM_BITFIELD().  Move enum
5445         kind above its first use.
5446
5447         * config/xm-interix.h, config/alpha/xm-alpha.h,
5448         config/i370/xm-linux.h, config/i386/xm-beos.h,
5449         config/i386/xm-mingw32.h, config/mips/xm-mips.h,
5450         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
5451         config/rs6000/xm-beos.h, config/rs6000/xm-sysv4.h,
5452         Don't define ONLY_INT_FIELDS under any circumstances.
5453
5454         * config/pa/xm-pa.h: Don't define __BSD_NET2__.
5455
5456         * config/pa/xm-pahpux.h, config/pa/xm-papro.h,
5457         config/sparc/xm-sysv4.h: Delete - now identical with some
5458         other xm header.
5459         * config.gcc (hppa targets): Replace xm-pahpux.h and
5460         xm-papro.h with implicit xm-pa.h.
5461         (sparc targets): Replace xm-sysv4.h with implicit or explicit
5462         xm-sparc.h.
5463
5464 2001-03-12  Aldy Hernandez  <aldyh@redhat.com>
5465
5466         * reload1.c (reload_cse_simplify): Call reload_cse_simplify_set
5467         before reload_cse_noop_set_p.
5468
5469 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
5470
5471         * config.gcc: Where xm-host.h used to include another
5472         xm-host.h, list the nested header directly in xm_file.  Remove
5473         references to deleted files.  Can now use sparc/xm-sp64.h for
5474         sparcv9-*-solaris*.
5475
5476         * config/xm-linux.h, config/arm/xm-linux.h,
5477         config/i386/xm-dos.h, config/i386/xm-gnu.h,
5478         config/i386/xm-linux.h, config/i386/xm-openbsd.h,
5479         config/i860/xm-fx2800.h, config/m68k/xm-atari.h,
5480         config/m68k/xm-linux.h, config/m68k/xm-sun3.h,
5481         config/sparc/xm-linux.h, config/sparc/xm-sysv4-64.h:
5482         Delete.
5483
5484         * config/alpha/xm-alpha-interix.h: Don't include alpha/xm-alpha.h.
5485         * config/mips/xm-iris5.h: Don't include mips/xm-mips.h.  Don't
5486         bother to wrap #undef in #ifdef.
5487         * config/pa/xm-linux.h, config/rs6000/xm-sysv4.h:
5488         Don't include xm-linux.h.
5489         * config/sparc/xm-sp64.h: Don't include sparc/xm-sparc.h.
5490
5491         * configure.in: Wrap regexps using [] in changequote block.
5492         Use expr : not echo | grep.  Simplify regexps.
5493         * configure: Regenerate.
5494
5495         56 xm-files remain, 22 xm-arch.
5496
5497 2001-03-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5498
5499         * mips-tfile.c: Cast arg to PTR when specifier is HOST_PTR_PRINTF.
5500         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
5501         (local_index, local_rindex): Delete, use strchr/strrchr instead.
5502         (copy_object): Fix format specifier vs argument mismatch.
5503
5504         * mips-tdump.c: Make local functions static.
5505         (rindex): Don't #undef.
5506         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
5507         (fatal, fancy_abort): Delete.
5508         (read_seek): Avoid signed/unsigned compare.
5509
5510 Sun Mar 11 17:01:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5511
5512         * combine.c (try_combine): Fix error in change to try original
5513         register.
5514         (gen_rtx_combine): Do same as gen_rtx for now.
5515
5516 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
5517
5518         * configure.in: AC_SUBST xm_defines.
5519         * configure: Regenerate.
5520         * Makefile.in: Set DEFINES=$(xm_defines) when building
5521         tconfig.h.
5522
5523 2001-03-11  Neil Booth  <neil@daikokuya.demon.co.uk>
5524
5525         * cppfiles.c (INCLUDE_LEN_FUDGE, ENOMEM): Delete.
5526         (cpp_included, find_include_file): Update.
5527         (_cpp_compare_file_date): Make else unconditional.
5528
5529 2001-03-10  kaz Kojima <kkojima@rr.iij4u.or.jp>
5530
5531         * config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.
5532
5533 2001-03-10  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
5534
5535         * config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics.
5536         * config/sh/lib1funcs.asm (mulsi3): Convert mulu to mulu.w.
5537
5538 Sat Mar 10 22:42:05 2001  Alexandre Oliva  <aoliva@redhat.com>
5539
5540         * tree.c (build_common_tree_nodes_2): Don't copy va_list_type_node
5541         if it's a record type.
5542
5543 Sat Mar 10 17:52:54 2001  Christopher Faylor <cgf@cygnus.com>
5544
5545         * config/i386/cygwin.h: Make ../w32api a system directory.  Reorganize
5546         mingw includes slightly.
5547
5548 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5549
5550         * system.h (malloc, realloc, calloc, strdup, bzero, bcmp, rindex):
5551         #undef token before poisoning it.
5552
5553 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5554
5555         * alpha.c (check_float_value): Use memcpy, not bcopy.
5556
5557         * m32r.c (m32r_sched_reorder): Likewise.
5558
5559         * vax.c (check_float_value): Likewise.
5560
5561 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
5562
5563         * toplev.c (file_name_nondirectory): Remove.
5564         * toplev.h: Similarly.
5565         * dwarf2out.c (compute_section_prefix): Use lbasename instead
5566         of file_name_nondirectory.
5567
5568 Sat Mar 10 10:36:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5569
5570         * mips-tdump.c (read_seek): Call xmalloc, not malloc.
5571         * mips-tfile.c: Don't #undef rindex; not used.
5572
5573 Sat Mar 10 14:34:59 CET 2001  Jan Hubicka  <jh@suse.cz>
5574
5575         * i386.h (DBX_REGISTER_NUMBER): Return proper values for 64bits.
5576         (dbx64_register_map): Declare.
5577         (RETURN_ADDR_RTX): Fix for 64bit.
5578         (DWARF_FRAME_RETURN_COLUMN): Set to 16 for 64bit.
5579         (INCOMING_FRAME_SP_OFFSET): Set to 8.
5580         * i386.c (dbx64_register_map): New global array.
5581         * beos-elf.h, freebsd.h, i386-interix.h, i386elf.h,
5582         linux.h (DBX_REGISTER_REGNUMBER): Use dbx64_register_map
5583         for 64bits.
5584
5585 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
5586
5587         * cppfiles.c (search_from): Use lbasename.
5588         * mkdeps.c (deps_add_default_target): Use lbasename.
5589
5590 2001-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5591
5592         * fixinc/server.c (load_data, run_shell): Use xmalloc, xrealloc &
5593         xcalloc in lieu of malloc, realloc & calloc.
5594
5595         * gencheck.c (xmalloc): Use really_call_malloc, not malloc.
5596
5597         * gengenrtl.c (xmalloc): Likewise.
5598
5599         * gensupport.c (xcalloc, xrealloc, xmalloc): Use the
5600         really_call_* memory allocation routines.
5601
5602         * stmt.c (check_for_full_enumeration_handling): Use
5603         really_call_calloc, not calloc.
5604
5605         * system.h (really_call_malloc, really_call_calloc,
5606         really_call_realloc): Define.
5607         (malloc, realloc, calloc, strdup, bzero, bcmp, rindex): Poison.
5608
5609 Fri Mar  9 18:39:19 2001  Jeffrey A Law  (law@cygnus.com)
5610
5611         * pa.md (builtin_longjmp): Rework slightly to work for PA64 too.
5612
5613 2001-03-09  Nicola Pero <n.pero@mi.flashnet.it>
5614
5615         * configure: Rebuilt.
5616         * configure.in: Only use `lang_requires' for languages athat are
5617         actually enabled.
5618
5619 2001-03-09  Joseph S. Myers  <jsm28@cam.ac.uk>
5620
5621         * invoke.texi: Fix typo.
5622         * gcc.1: Regenerate.
5623
5624 2001-03-09  Zack Weinberg  <zackw@stanford.edu>
5625
5626         * configure.in: Prune nonexistent files from build_xm_file,
5627         xm_file, and host_xm_file lists.  Warn unless they're
5628         $cpu/xm-$cpu.h.
5629         Don't generate *config.h here.
5630         AC_SUBST all variables needed to generate *config.h.
5631         * configure: Regenerate.
5632         * mkconfig.sh: New helper script, from code removed from
5633         configure.in.
5634         * Makefile.in: Zap all MALLOC variables - no longer used
5635         anywhere, and malloc.c doesn't exist.
5636         Substitute in variables needed to generate *config.h.
5637         Stop lying about the dependencies contained in CONFIG_H and
5638         GCONFIG_H.
5639         (HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
5640         (config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
5641         cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
5642         (all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
5643         $(TM_P_H), etc. as appropriate.
5644
5645         * config.gcc: Zap references to deleted files.
5646         * ggc-none.c: Don't include rtl.h or tm_p.h.
5647
5648         * config/i386/xm-beos.h, config/i386/xm-dgux.h,
5649         config/i386/xm-djgpp.h, config/i386/xm-dos.h,
5650         config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
5651         config/i386/xm-linux.h, config/i386/xm-linux.h,
5652         config/i386/xm-next.h, config/i386/xm-openbsd.h,
5653         config/i386/xm-sun.h, config/i386/xm-sysv3.h:
5654         Don't include i386/xm-i386.h.
5655
5656         * config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
5657         config/i386/xm-i386.h, config/i860/xm-i860.h,
5658         config/i960/xm-i960.h, config/mcore/xm-mcore.h,
5659         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
5660         config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
5661         Delete (empty except comments, #includes of other deleted
5662         files, and macros used nowhere).
5663
5664 Fri Mar  9 20:05:27 CET 2001  Jan Hubicka  <jh@suse.cz>
5665
5666         * i386.h (MAX_WCHAR_TYPE_SIZE): New constant to keep tradcpp
5667         independent on TARGET_FLAGS.
5668
5669 Fri Mar  9 19:52:52 CET 2001  Jan Hubicka  <jh@suse.cz>
5670
5671         * i386.h (FIRST_PSEUDO_REGISTER): Set to 53.
5672
5673         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ONES): Add
5674         extended ones.
5675         (CONDITIONAL_REGISTER_USAGE): Set proper values according to
5676         TARGET_64BIT.
5677         (FIRST_REX_INT_REG, LAST_REX_INT_REG, FIRST_REX_SSE_REG,
5678         LAST_REX_SSE_REG): define.
5679         (enum reg_class): Add 'LEGACY_REGS'
5680         (REG_CLASS_CONTENTS): Likewise; add extended registers.
5681         (SSE_REGNO_P): Recognize extended registers.
5682         (ANY_QI_REG_P, REX_INT_REGNO_P, REX_INT_REG_P): New.
5683         (REG_CLASS_FROM_LETTER): Add 'R' and 'Q'.
5684         (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P,
5685         REG_OK_FOR_BASE_NONSTRICT_P): Recognize REX registers.
5686         (REG_OK_FOR_STRREG_NONSTRICT_P, REG_OK_FOR_STRREG_STRICT_P,
5687          REG_OK_FOR_STRREG_P): Remove.
5688         (HI_REGISTER_NAMES): Add extended registers.
5689         (ADDITIONAL_REGISTER_NAMES): Likewise.
5690         (QI_REGISTER_NAMES): Add 8bit extended registers.
5691         (DEBUG_REG): Support extended registers.
5692         * i386.c (regclass_map): Add extended registers.
5693         (dbx_register-map): Likewise.
5694         (svr4_dbx_register_map): Likewise.
5695         (print_reg): Support extended registers.
5696         (print_operand): Support 64bit operands.
5697
5698 Fri Mar  9 19:37:46 CET 2001  Jan Hubicka  <jh@suse.cz>
5699
5700         * i386.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 128bit for x86_64
5701         (BOOL_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
5702          FLOAT_TYPE_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE,
5703          DOUBLE_TYPE_SIZE, LONG_LONG_TYPE_SIZE): New constants.
5704         (BITS_PER_WORD, UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY,
5705          STACK_BOUNDARY): Set properly for 64bits.
5706         (MAX_BITS_PER_WORD, MIN_UNITS_PER_WORD): New constants.
5707         (EMPTY_FIELD_BOUNDARY): Define using BITS_PER_WORD.
5708         (BIGGEST_FIELD_ALIGNMENT): Set to 128 for 64bits.
5709         (MOVE_MAX): Set to 16.
5710         (MOVE_MAX_PIECES): 8 for 64bit.
5711         (Pmode): Set to SImode.
5712
5713 Fri Mar  9 09:00:36 2001  Mike Stump  <mrs@wrs.com>
5714
5715         * cselib.c (hash_rtx): Ensure that hash isn't zero upon return.
5716
5717 Fri Mar  9 17:38:08 CET 2001  Jan Hubicka  <jh@suse.cz>
5718
5719         * i386.h (mask_64bit): New constant.
5720         (target_64bit): New macro.
5721         (target_options): Add '64'/'32'
5722         (target_default): Define.
5723         * cygwin.h freebsd-aout.h i386-interix.h i386.h i386elf.h isc.h
5724         isccoff.h netbsd.h next.h openbsd.h p sco.h sco5.h scodbx.h sequent.h
5725         unix.h win32.h (TARGET_DEFAULT): Rename to TARGET_SUBTARGET_DEFAULT.
5726
5727 Thu Mar  8 23:36:56 2001  Jeffrey A Law  (law@cygnus.com)
5728
5729         * config/pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Disable.
5730
5731 Thu Mar  8 23:29:37 2001  John Wehle  (john@feith.com)
5732
5733         * rtlanal.c (rtx_varies_p): Check operand 0 of a
5734         LO_SUM unless for_alias is set.
5735
5736 2001-03-08  Stan Shebs  <shebs@apple.com>
5737
5738         * objc/objc-act.c: Fix old typos in comments, add comments for
5739         various functions.
5740         (hash_init): Fix file name in error message.
5741         (hash_enter): Ditto.
5742         (hash_add_attr): Ditto.
5743         (continue_class): Ditto.
5744
5745 2001-03-08  Bruce Korb  <bkorb@gnu.org>
5746
5747         gcc.c(main): ensure SIGCHLD handling is set to SIG_DFL so that
5748         wait4() can receive the signal.
5749
5750 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5751
5752         * fixinc/inclhack.def (AAB_dgux_int_varargs): Don't use HTML
5753         entities.
5754         * fixinc/fixincl.x: Regenerate.
5755
5756 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5757
5758         * fixinc/inclhack.def (AAA_standards): Undo <standards.h> breakage
5759         on Tru64 UNIX.
5760         * fixinc/fixincl.x: Regenerate.
5761
5762 2001-03-08  Richard Henderson  <rth@redhat.com>
5763
5764         * configure.in (HAVE_AS_LEB128): New assembler check.
5765         * configure, config.in: Rebuilt.
5766
5767 Thu Mar  8 19:54:04 CET 2001  Jan Hubicka  <jh@suse.cz>
5768
5769         * reg-stack.c (move_for_stack_reg): Avoid non-poping fst for
5770         TFmode too.
5771
5772 2001-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5773
5774         * config/ns32k/xm-pc532-min.h, config/we32k/xm-we32k.h: Delete
5775         references to the MAXPATHLEN macro.
5776
5777         * config/alpha/xm-alpha.h, config/arm/xm-arm.h,
5778         config/i386/xm-cygwin.h, config/xm-linux.h: Delete references to
5779         the POSIX macro.
5780
5781         * config/i386/xm-gnu.h, config/xm-gnu.h,
5782         config/alpha/xm-openbsd.h, config/i386/xm-openbsd.h,
5783         config/m68k/xm-openbsd.h, config/mips/xm-openbsd.h,
5784         config/sparc/xm-openbsd.h, config/xm-openbsd.h: Delete empty
5785         and/or unused files.
5786
5787         * config.gcc: Define POSIX in xm_defines as appropriate in lieu of
5788         doing so in various xm-*.h files.
5789
5790 Thu Mar  8 06:32:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5791
5792         * config/i386/i386.md (clrstrsi): Call ix86_set_move_mem_attrs.
5793
5794 2001-03-08  Alexandre Oliva  <aoliva@redhat.com>
5795
5796         * configure.in (enable_shared): Support per-package shared-library
5797         enabling.
5798         * configure: Rebuilt.
5799
5800 2001-03-07  David Edelsohn  <edelsohn@gnu.org>
5801
5802         * rs6000.md (cr logic): Add original POWER mnemonic alternative
5803         for crnot.  Set operands[5] in splitter.
5804
5805 2001-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5806
5807         * config/i370/xm-mvs.h, config/i370/xm-oe.h,
5808         config/i386/xm-beos.h, config/i386/xm-mingw32.h,
5809         config/m88k/xm-m88k.h, config/mips/xm-iris6.h,
5810         config/mips/xm-openbsd.h, config/pa/xm-pa64hpux.h,
5811         config/pa/xm-pahpux.h, config/rs6000/xm-beos.h,
5812         config/rs6000/xm-darwin.h, config/rs6000/xm-mach.h,
5813         config/rs6000/xm-rs6000.h, config/xm-interix.h: Delete references
5814         to the USG macro.
5815
5816         * config/vax/xm-vaxv.h, config/a29k/xm-unix.h,
5817         config/i370/xm-i370.h, config/i386/xm-dgux.h,
5818         config/i386/xm-sun.h, config/i386/xm-sysv3.h,
5819         config/m68k/xm-tower.h, config/m68k/xm-aux.h,
5820         config/m68k/xm-hp320.h, config/m68k/xm-amix.h,
5821         config/m68k/xm-altos3068.h, config/m68k/xm-mot3300.h,
5822         config/m68k/xm-m68kv.h, config/m88k/xm-openbsd.h,
5823         config/mips/xm-nws3250v4.h, config/mips/xm-sysv.h,
5824         config/mips/xm-iris3.h, config/mips/xm-iris4.h, config/xm-svr3.h,
5825         config/xm-svr4.h, config/sparc/xm-pbd.h, config/clipper/xm-clix.h:
5826         Delete unused and/or empty files.
5827
5828         * config.gcc: Define USG in xm_defines as appropriate.  Define
5829         POSIX in lieu of xm-svr4.h.  Delete all references to the SVR3
5830         macro.  Remove deleted xm-* files from $xm_files variable.
5831
5832 2001-03-07  Tom Tromey  <tromey@redhat.com>
5833
5834         * configure: Rebuilt.
5835         * configure.in: Allow config-lang.in to set `lang_requires' to list
5836         of other required languages.
5837
5838 2001-03-07  Andrew MacLeod  <amacleod@redhat.com>
5839
5840         * config/a29k/a29k.c (print_operand): Free a29k_last_prologue_insn
5841         after its emitted.
5842         (output_prologue): Use xmalloc not oballoc.
5843         (output_epilog): Free a29k_first_epilogue_insn when finished.
5844         * confif/a29k/a29k.h (PREDICATE_CODES): Remove shift_constant_operand.
5845
5846 2001-03-07  Brad Lucier  <lucier@math.purdue.edu>
5847
5848         * builtins.c (expand_builtin_mathfn): Check
5849         flag_unsafe_math_optimizations, not flag_fast_math.
5850         (expand_builtin): Likewise
5851         * combine.c (combine_simplify_rtx): Likewise.
5852         (simplify_if_then_else): Likewise.
5853         * cse.c (fold_rtx): Likewise.
5854         * flags.h: Remove flag_fast_math.  Add
5855         flag_unsafe_math_optimizations and flag_trapping_math.
5856         * fold-const.c (negate_expr): Check
5857         flag_unsafe_math_optimizations, not flag_fast_math.
5858         (invert_truthvalue): Likewise.
5859         (fold): Likewise.  Before associating operands, check that
5860         code == MULT_EXPR, not code != MULT_EXPR.
5861         * ifcvt.c (noce_try_minmax): Check
5862         flag_unsafe_math_optimizations, not flag_fast_math.
5863         (noce_operand_ok): Check flag_trapping_math, not flag_fast_math.
5864         * invoke.texi: Document -funsafe-math-optimizations and
5865         -fno-trapping-math.  Change documentation for -ffast-math.
5866         * jump.c (reversed_comparison_code_parts): Likewise.
5867         (rtx_equal_for_thread_p): Likewise.
5868         * optabs.c (emit_conditional_move): Likewise.
5869         * simplify-rtx.c (simplify_binary_operation): Likewise.
5870         (simplify_relational_operation): Likewise.
5871         (simplify_ternary_operation): Likewise.
5872         * toplev.c: Remove flag_fast_math.  Add flag_trapping_math and
5873         flag_unsafe_math_optimizations.  Remove fast-math entry from f_options.
5874         Add trapping-math and unsafe-math-optimizations entries to f_options.
5875         (set_fast_math_flags): New, sets flags for -ffast-math.
5876         (set_no_fast_math_flags): New, sets flags for -fno-fast-math.
5877         (decode_f_option): Add code to handle -ffast-math and -fno-fast-math.
5878         * toplev.h: Declare set_fast_math_flags and set_no_fast_math_flags.
5879
5880         * config/alpha/alpha.c (alpha_emit_conditional_branch): Likewise.
5881         (alpha_emit_conditional_move): Initialize local_fast_math to
5882         flag_unsafe_math_optimizations, not flat_fast_math.
5883         * config/c4x/c4x.c (c4x_override_options): Call set_fast_math_flags
5884         instead of setting flag_fast_math to 1.
5885         * config/convex/convex.md: Check flag_unsafe_math_optimizations,
5886         not flag_fast_math.
5887         * config/i386/i386.c (override_options): Likewise
5888         * config/i386/i386.md: Likewise.
5889         * config/m68k/m68k.md: Likewise.
5890         * config/mips/mips.md: Likewise.
5891         * config/rs6000/rs6000.c (validate_condition_mode): Likewise.
5892         (rs6000_generate_compare): Likewise.
5893
5894 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
5895
5896         * Makefile.in: Set RANLIB to @RANLIB@.
5897         Remove RANLIB_TEST.
5898
5899 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
5900
5901         * fixinc/inclhack.def (djgpp_wchar_h): New test.
5902         * fixinc/fixincl.x: Regenerated.
5903
5904 2001-03-07  Richard Henderson  <rth@redhat.com>
5905
5906         * config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
5907
5908 2001-03-07  Richard Henderson  <rth@redhat.com>
5909
5910         * emit-rtl.c (remove_unnecessary_notes): Verify proper nesting
5911         of block notes and exception handling notes.
5912
5913         * lists.c (init_EXPR_INSN_LIST_cache): Don't check initialized.
5914         * toplev.c (rest_of_compilation): Call init_EXPR_INSN_LIST_cache ...
5915         (compile_file): ... here.
5916
5917 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5918
5919         * fixinc/Makefile.in (FIXINC_DEFS): Add -DHAVE_CONFIG_H.
5920
5921         * fixinc/gnu-regex.c: Don't include auto-host.h since we get
5922         config.h now.  Include libiberty.h to handle alloca.
5923
5924 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
5925
5926         * c-parse.in (yylexname): New function, split out of _yylex.
5927         (objc_rid_sans_at): New table.
5928         (init_reswords): Initialize it.
5929         (_yylex): Give labels clearer names.  Handle CPP_ATSIGN by
5930         retrieving the next token and checking it for significance as
5931         an ObjC keyword or string constant.
5932
5933         * cpplex.c (_cpp_lex_token): Just return CPP_ATSIGN for '@'.
5934         * cpplib.h (TTYPE_TABLE): Add CPP_ATSIGN, drop CPP_OSTRING.
5935
5936         * c-lex.c, c-parse.in, cppmacro.c, cpplex.c: Remove references
5937         to CPP_OSTRING.
5938
5939 2001-03-06  Stephen L Moshier  <moshier@mediaone.net>
5940
5941         * config/m68k/m68k.c (const_uint32_operand): Accept any
5942         const_int on a 32-bit host.
5943
5944 2001-03-06  Nicola Pero  <n.pero@mi.flashnet.it>
5945
5946         * objc/objc-act.c (init_objc): Set save_lang_status,
5947         restore_lang_status, and mark_lang_status.
5948
5949 2001-03-06  Krister Walfridsson  <cato@df.lth.se>
5950
5951         * dwarf2asm.c (dw2_asm_output_delta): Fix smallest_mode_for_size call.
5952
5953 2001-03-06  Neil Booth  <neil@daikokuya.demon.co.uk>
5954
5955         * cppinternals.texi: Update.
5956
5957 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5958
5959         * config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
5960         config/alpha/xm-alpha.h, config/arc/xm-arc.h, config/arm/xm-arm.h,
5961         config/c4x/xm-c4x.h, config/clipper/xm-clix.h,
5962         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
5963         config/dsp16xx/xm-dsp16xx.h, config/elxsi/xm-elxsi.h,
5964         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
5965         config/i370/xm-linux.h, config/i370/xm-mvs.h, config/i370/xm-oe.h,
5966         config/i386/xm-i386.h, config/i860/xm-i860.h,
5967         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
5968         config/m32r/xm-m32r.h, config/m68k/xm-m68k.h,
5969         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
5970         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
5971         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
5972         config/pa/xm-linux.h, config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
5973         config/pa/xm-pahpux.h, config/pa/xm-papro.h, config/pj/xm-pj.h,
5974         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
5975         config/rs6000/xm-lynx.h, config/rs6000/xm-rs6000.h,
5976         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
5977         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
5978         config/v850/xm-v850.h, config/vax/xm-vax.h, config/vax/xm-vms.h,
5979         config/we32k/xm-we32k.h: Delete HOST_BITS_PER_* definitions which
5980         match the defaults provided in hwint.h.
5981
5982         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
5983         config/sparc/xm-lynx.h, config/xm-std32.h: Delete files.
5984
5985         * config.gcc (xm_file): Don't set to files which are deleted.
5986
5987         * hwint.h: Provide default values for HOST_BITS_PER_*.  No longer
5988         guard this file against these macros being undefined.
5989
5990 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
5991
5992         * objc/objc-act.c (objc_add_static_instance): Set DECL_INITIAL
5993         and DECL_DEFER_OUTPUT on the decl we create, before calling
5994         rest_of_decl_compilation.
5995
5996 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
5997
5998         * aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE
5999         AC_FUNC_ALLOCA.
6000         * configure, config.in: Regenerate.
6001         * config.gcc: Remove references to deleted files.
6002
6003         * genattr.c, genattrtab.c, genextract.c, genoutput.c,
6004         genrecog.c, rtl.c: Do not use alloca anywhere.
6005
6006         * Makefile.in, build-make, system.h, config/x-interix,
6007         config/x-svr4, config/xm-interix.h, config/xm-openbsd.h,
6008         config/alpha/xm-alpha.h, config/alpha/xm-vms.h,
6009         config/arc/xm-arc.h, config/arm/xm-arm.h,
6010         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
6011         config/h8300/xm-h8300.h, config/i370/x-oe,
6012         config/i370/xm-linux.h, config/i386/x-aix, config/i386/x-beos,
6013         config/i386/x-ncr3000, config/i386/x-sco5,
6014         config/i386/xm-dgux.h, config/i860/x-sysv4,
6015         config/i960/xm-i960.h, config/m32r/xm-m32r.h,
6016         config/m68k/x-crds, config/m68k/x-dpx2, config/m68k/x-hp320,
6017         config/m68k/x-hp320g, config/m69k/x-mot3300,
6018         config/m68k/x-mot3300-gas, config/m68k/xm-amix.h,
6019         config/m68k/xm-hp320.h, config/m68k/xm-m68kv.h,
6020         config/m68k/xm-mot3300.h, config/m88k/x-dolph,
6021         config/m88k/x-sysv4, config/m88k/x-tekXD88,
6022         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
6023         config/mips/x-iris, config/mips/x-iris3,
6024         config/mips/x-sni-svr4, config/mips/x-sysv,
6025         config/mips/xm-iris6.h, config/mips/xm-mips.h,
6026         config/mips/xm-nws3250v4.h, config/pa/x-hpux,
6027         config/pa/x-pa-mpeix, config/pa/xm-pa.h,
6028         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
6029         config/pa/xm-papro.h, config/romp/xm-romp.h,
6030         config/rs6000/x-aix31, config/rs6000/x-aix41,
6031         config/rs6000/x-beos, config/rs6000/x-lynx,
6032         config/rs6000/x-mach, config/rs6000/x-rs6000,
6033         config/rs6000/x-sysv4, config/rs6000/xm-rs6000.h,
6034         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
6035         config/sparc/x-sysv4, config/sparc/xm-linux.h,
6036         config/sparc/xm-pbd.h, config/sparc/xm-sparc.h,
6037         config/vax/xm-vms.h: Eradicate all references to alloca and
6038         related stuff.
6039
6040         * config/xm-alloca.h, config/clipper/x-clix,
6041         config/i386/xm-sysv4.h, config/i860/x-fx2800,
6042         config/i860/x-sysv3, config/m88k/x-sysv3,
6043         config/sparc/xm-sol2.h, config/we32k/x-we32k: Delete
6044         (contained only alloca related hacks).
6045
6046         * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Just define
6047         USE_C_ALLOCA.
6048
6049 2001-03-05  Brad Lucier  <lucier@math.purdue.edu>
6050
6051         * invoke.texi: Document __FAST_MATH__.
6052
6053 2001-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6054
6055         * crtstuff.c: Restore include of auto-host.h.
6056
6057 2001-03-05  Fergus Henderson  <fjh@cs.mu.oz.au>
6058
6059         Put main() in a separate file, so that the language
6060         front-end can use a different main().
6061
6062         * main.c: New.
6063         * toplev.c: (main): Rename as toplev_main.
6064         * toplev.h: Declare toplev_main.
6065         * Makefile.in (OBJS): add toplev.o.
6066           (BACKEND): remove toplev.o, add main.o.
6067
6068 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
6069
6070         * cppfiles.c (search_from): Special case the empty string.
6071
6072 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
6073
6074         * cppfiles.c (_cpp_execute_include): Don't make a null-terminated
6075         copy of the filename.  Don't use CPP_PREV_BUFFER.  Don't call
6076         strlen or strcpy; we already know the length.
6077         (_cpp_compare_file_date): Similarly.
6078         * cpphash.h (struct cpp_reader): Delete done_initialising.
6079         (CPP_PREV_BUFFER): Delete.
6080         * cppinit.c (cpp_start_read): Don't set done_initialising.
6081         * cpplex.c (parse_string): Guarantee null-termination.
6082         (_cpp_equiv_toklists): Remove.
6083         * cpplib.c (glue_header_name): Null-terminate.
6084         (do_line): Don't leak memory.
6085         * cpplib.h (BT_WEAK): Delete.
6086         * cppmain.c (cb_ident): Strings are now null-terminated.
6087
6088 2001-03-04  Laurynas Biveinis  <lauras@softhome.net>
6089
6090         * gcc.c (convert_filename): Append executable suffix
6091         if NO_AUTO_EXE_SUFFIX is not defined.
6092         * gcc.texi: Document NO_AUTO_EXE_SUFFIX.
6093         * config/i386/djgpp.h: Define NO_AUTO_EXE_SUFFIX.
6094
6095 2001-03-03  David O'Brien  <obrien@FreeBSD.org>
6096
6097         from 2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
6098         * c-parse.gperf, c-gperf.h: Delete.
6099         (c-gperf.h was accidently re-added to the CVS repo in the rev
6100         1.16 commit by tromey)
6101
6102 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
6103
6104         * cpplex.c (_cpp_lex_token): Don't warn about directives in
6105         macro arguments when looking for the '('.
6106         * cppmacro.c (funlike_invocation_p): Set parsing_args to
6107         2 when really parsing arguments; 1 when looking for '('.
6108         Always restore the lexer position.
6109
6110 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
6111
6112         * longlong.h (umul_ppmm): Don't use a multiline string.
6113
6114 2001-03-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6115
6116         * fixinc/fixlib.h (t_bool): Add identifier `t_bool' in typedef.
6117         * fixinc/server.c (read_pipe_timeout): Use enum t_bool instead of
6118         t_bool in declaration because pcc can't combine volatile with typedef
6119         types.
6120
6121 Sat Mar  3 19:47:13 CET 2001  Jan Hubicka  <jh@suse.cz>
6122
6123         * i386.c (ix86_expand_fp_compare): Delay creating of scratch register
6124         until when it is really needed.
6125         (ix86_expand_compare): Update call of ix86_expand_fp_compare.
6126         * i386.h (PREDICATE_CODES): Add all codes for sse_comparison_operator
6127         * i386.md (float?i?f splitter): Don't force source operand to memory
6128         for SSE.
6129         (sse_movdfcc): Fix constraint.
6130         (sse_movdfcc splitter): Handle properly the second alternative.
6131
6132 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
6133
6134         * cpplex.c (parse_string): Unconditionally pedwarn.
6135
6136 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
6137
6138         * cpp.texi: Update.
6139         * cppexp.c (parse_number): Update.
6140         * cpplex.c (parse_string): Pedwarn if multiline string does not
6141         result from a system header's macro.
6142         * cpplib.h (sys_objmacro_p): Rename sys_macro_p.
6143         * cppmacro.c (sys_objmacro_p): Rename sys_macro_p.  Return true
6144         for function-like macros too.
6145         * c-lex.c (lex_number): Update.
6146
6147 2001-03-03  Richard Henderson  <rth@redhat.com>
6148
6149         * dwarf2out.c (output_call_frame_info): Fix augmentation length.
6150
6151 Sat Mar  3 04:17:17 2001  J"orn Rennecke <amylaar@redhat.com>
6152
6153         * combine.c (try_combine): If split with mode-changed scratch
6154         register didn't work, try the original mode.
6155
6156 Sat Mar  3 03:46:47 2001  J"orn Rennecke <amylaar@redhat.com>
6157
6158         * tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
6159         * config/c4x/c4x.h: Likewise.
6160         * stor-layout.c (compute_record_mode): Likewise.
6161         (layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK.
6162
6163 2001-03-02  Zack Weinberg  <zackw@stanford.edu>
6164
6165         * configure.in: Kill tm.h.  Include the files in the $tm_file
6166         list in all three of config.h, hconfig.h, tconfig.h, after the
6167         relevant set of xm_files.  Put TARGET_CPU_DEFAULT in all
6168         three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
6169         * configure: Regenerate.
6170         * Makefile.in (clean): Don't delete tm.h.
6171
6172         * system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
6173         defined, set them from EXIT_SUCCESS and EXIT_FAILURE.  If
6174         those are not defined, set SEC and FEC to 0 and 1.
6175         * gcc.texi: Update to match.
6176
6177         * crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
6178         * config/fp-bit.c, config/m68k/aux-crt2.asm,
6179         config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
6180         Include tconfig.h, not tm.h.
6181
6182         * config/xm-lynx.h, config/xm-std32.h,
6183         config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
6184         config/alpha/xm-alpha.h, config/arc/xm-arc.h,
6185         config/avr/xm-avr.h, config/c4x/xm-c4x.h,
6186         config/clipper/xm-clix.h, config/convex/xm-convex.h,
6187         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
6188         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
6189         config/h8300/xm-h8300.h, config/i370/xm-linux.h,
6190         config/i386/xm-i386.h, config/i860/xm-i860.h,
6191         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
6192         config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h,
6193         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
6194         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
6195         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
6196         config/pa/xm-linux.h, config/pa/xm-pa.h,
6197         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
6198         config/pa/xm-papro.h, config/pdp11/xm-pdp11.h,
6199         config/pj/xm-pj.h, config/romp/xm-romp.h,
6200         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
6201         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
6202         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
6203         config/v850/xm-v850.h, config/vax/xm-vax.h,
6204         config/we32k/xm-we32k.h:
6205         Don't include tm.h.
6206         Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
6207
6208         * config/i370/xm-i370.h, config/i370/xm-mvs.h,
6209         config/i370/xm-oe.h: Don't include tm.h.  Don't define
6210         SUCCESS_EXIT_CODE.
6211         * config/vax/xm-vms.h: Don't include tm.h.
6212
6213         * config/xm-lynx.h, config/avr/xm-avr.h,
6214         config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h,
6215         Delete; made empty by above changes.
6216         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
6217         config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h:
6218         Don't include config/xm-lynx.h or tm.h.
6219
6220         * config/xm-gnu.h: Don't include fcntl.h.
6221         * config/sparc/xm-lynx.h: Don't include sys/types.h and
6222         sys/wait.h.
6223         * config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf.
6224
6225 2001-03-02  Richard Henderson  <rth@redhat.com>
6226
6227         * tm.texi (File Framework): Document UNALIGNED_SHORT_ASM_OP,
6228         UNALIGNED_INT_ASM_OP, and UNALIGNED_DOUBLE_INT_ASM_OP.
6229
6230 2001-03-02  Richard Henderson  <rth@redhat.com>
6231
6232         * Makefile.in (OBJS): Add dwarf2asm.o.
6233         * dwarf2asm.c, dwarf2asm.h: New files.
6234         * dwarf2out.c (*): Use them.
6235         (size_of_uleb128, size_of_sleb128): Remove.
6236         (output_uleb128, output_sleb128): Remove.
6237         (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Remove.
6238         (UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Remove.
6239         (UNALIGNED_OFFSET_ASM_OP, UNALIGNED_WORD_ASM_OP): Remove.
6240         (FDE_LABEL, LINE_NUMBER_BEGIN_LABEL, LINE_NUMBER_END_LABEL): New.
6241         (ASM_OUTPUT_DWARF_DATA1, ASM_OUTPUT_DWARF_DELTA1): Remove.
6242         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_DELTA2): Remove.
6243         (ASM_OUTPUT_DWARF_DATA4, ASM_OUTPUT_DWARF_DELTA4): Remove.
6244         (ASM_OUTPUT_DWARF_DATA, ASM_OUTPUT_DWARF_DELTA): Remove.
6245         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_ADDR_DATA): Remove.
6246         (ASM_OUTPUT_DWARF_ADDR_DELTA, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
6247         (ASM_OUTPUT_DWARF_OFFSET4, ASM_OUTPUT_DWARF_OFFSET): Remove.
6248         (ASM_OUTPUT_DWARF_CONST_DOUBLE): Remove.
6249         (ASM_OUTPUT_DWARF_NSTRING, ASM_OUTPUT_DWARF_STRING): Remove.
6250         (dwarf2out_frame_debug): Remove unused variables.
6251         (output_loc_operands): Don't abort on 8 byte constants if
6252         host integers are wide enough.
6253         (output_symbolic_ref): Remove.
6254         (size_of_die): Don't assume 4 byte host integers.
6255         (output_line_info): Use ASM_GENERATE_INTERNAL_LABEL for begin
6256         and end labels.
6257         (add_const_value_attribute) [CONST_INT]: Verify we're not doing
6258         something stupid with HOST_WIDE_INT to long truncation.
6259         [CONST_DOUBLE]: Likewise.
6260
6261         * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Remove.
6262         (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
6263         * config/arm/unknown-elf.h: Likewise.
6264         * config/rs6000/aix.h (UNALIGNED_SHORT_ASM_OP): New.
6265         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): New.
6266         (ASM_OUTPUT_DWARF_ADDR_VAR, ASM_OUTPUT_DWARF_DELTA_VAR): Remove.
6267         (ASM_OUTPUT_DWARF_DELTA2, ASM_OUTPUT_DWARF_DELTA4): Remove.
6268         (ASM_OUTPUT_DWARF_DELTA, ASM_OUTPUT_DWARF_ADDR_DELTA): Remove.
6269         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_DATA4): Remove.
6270         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_OFFSET4): Remove.
6271         (ASM_OUTPUT_DWARF_OFFSET): Remove.
6272         * config/rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Remove.
6273         * config/sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
6274         (UNALIGNED_LONGLONG_ASM_OP, ASM_OUTPUT_DWARF_ADDR): Remove.
6275         (ASM_OUTPUT_DWARF_ADDR_CONST, ASM_OUTPUT_DWARF_REF): Remove.
6276
6277 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6278
6279         * cselib.c (hash_rtx): Cast enums to unsigned int.
6280
6281 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6282
6283         * print-rtl.c (print_rtx): Cast enums to int for comparison.
6284         * c-decl.c (grokdeclarator): Cast enums to int for comparison and
6285         shifts.
6286         * c-format.c (C_STD_VER): Cast to int for comparisons.
6287         (check_function_format): Cast various enums to int for &.
6288         (maybe_read_dollar_number): Likewise.
6289         (check_format_info): Likewise.
6290         (check_format_info_main): Likewise.
6291         * expr.c (emit_move_insn_1): Cast enums to unsigned int for comparison.
6292         (safe_from_p): Likewise.
6293         * varasm.c (const_hash): Cast enum to int for %.
6294         * emit-rtl.c (init_emit_once): Use int loop variable to work around
6295         pcc enum problems with < and ++ operators.
6296         * regclass.c (init_reg_sets_1): Cast enums for comparison.
6297         (choose_hard_reg_mode): Use unsigned int to iterate over CCmodes.
6298         (regclass_init): Change enum class to int to iterate over reg_classes.
6299         * genrecog.c (merge_trees): Cast enums for comparison.
6300         * rtl.h (GET_CODE): Cast to enum rtx_code.
6301         (PUT_CODE): Cast to ENUM_BITFIELD(rtx_code).
6302         (GET_MODE): Cast to enum machine_mode.
6303         (PUT_MODE): Cast to ENUM_BITFIELD(machine_mode).
6304         (GET_NOTE_INSN_NAME): Cast enum to int.
6305         * tree.h (TREE_CODE): Cast to enum tree_code.
6306         (TREE_SET_CODE): Cast VALUE to ENUM_BITFIELD(tree_code).
6307         * timevar.c (timevar_print): Change loop variable id from enum to
6308         unsigned int.
6309         * fixinc/fixincl.c (VLEVEL): Cast enums in comparison to unsigned int.
6310         * config/i386/i386.md: Use PUT_MODE for mode assignment.
6311         * toplev.c (compile_file): Cast enum DFI to int.
6312         (decode_d_option): Likewise.
6313
6314 Fri Mar  2 12:18:13 2001  Christopher Faylor <cgf@cygnus.com>
6315
6316         * cppinit.c (append_include_chain): Mark "after" include file name list
6317         as a system directory.
6318         * cpp.texi: Document new behavior.
6319
6320 Fri Mar  2 11:59:43 CET 2001  Jan Hubicka  <jh@suse.cz>
6321
6322         * ifcvt.c (noce_operand_ok): Handle properly unarry operations.
6323
6324 2001-03-02  Neil Booth  <neil@daikokuya.demon.co.uk>
6325
6326         * cppfiles.c (struct include_file): Update.
6327         (stack_include_file): Use search_from.
6328         (cpp_included, find_include_file): Update.
6329         (cpp_execute_include): Update.  ptr->name may not be
6330         null terminated.  Use the new search_from member variable
6331         of cpp_buffer.
6332         (_cpp_compare_file_date): Similarly.
6333         (search_from): New function, similiar to actual_directory.
6334         (actual_directory): Delete.
6335         (remap_filename): Update.  loc->name may not be null terminated.
6336         (struct file_name_list): Rename search_path.  Update.
6337         * cpphash.h (struct cpp_buffer): Delete actual_dir.  New members
6338         search_from and dir.
6339         (struct cpp_reader): Remove actual_dirs.
6340         * cppinit.c (struct cpp_pending): Update for renamed objects.
6341         (append_include_chain, remove_dup_dir, remove_dup_dirs,
6342         merge_include_chains, cpp_destroy, cpp_start_read): Similarly.
6343         * cpplib.h (struct cpp_options): Similarly.
6344
6345 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
6346
6347         * config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
6348         config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
6349         config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
6350         config/clipper/xm-clix.h, config/convex/xm-convex.h,
6351         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
6352         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
6353         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
6354         config/i370/xm-linux.h, config/i370/xm-mvs.h,
6355         config/i370/xm-oe.h, config/i386/xm-aix.h,
6356         config/i386/xm-i386.h, config/i386/xm-osf.h,
6357         config/i860/xm-i860.h, config/i960/xm-i960.h,
6358         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
6359         config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
6360         config/mcore/xm-mcore.h, config/mips/xm-mips.h,
6361         config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
6362         config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
6363         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
6364         config/pa/xm-pahpux.h, config/pa/xm-papro.h,
6365         config/pj/xm-pj.h, config/romp/xm-romp.h,
6366         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
6367         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
6368         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
6369         config/v850/xm-v850.h, config/vax/xm-vax.h,
6370         config/vax/xm-vms.h, config/we32k/xm-we32k.h:
6371         Do not define TRUE or FALSE.
6372
6373         * config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
6374         empty by above change.
6375         * config.gcc: Remove references to these files.
6376
6377         * configure.in: Detect stdbool.h.
6378         * configure, config.in: Regenerate.
6379         * system.h: Include stddef.h here if available.
6380         Set HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.
6381         Then set up a sensible boolean type at the very end.
6382
6383         * combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
6384         config/mcore/mcore.c: Rename variables named 'true' and/or 'false'.
6385
6386         * hash.h: Delete 'boolean' typedef and related #undefs.
6387
6388         * function.c, ggc-common.c, hash.h, hash.c, tlink.c: Replace
6389         all uses of 'boolean' with 'bool'.
6390
6391 2001-03-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6392
6393         * cpplib.c (_cpp_init_stacks): Cast enum for comparison.
6394         * cppexp.c (lex): Cast enums for comparison.
6395         * cppinit.c (parse_option): Cast enum for comparison.
6396         * cpplex.c (cpp_spell_token): Cast enums to int for minus.
6397         (cpp_output_token): Likewise.
6398         (cpp_can_paste): Cast enums for comparsion and plus/minus.
6399         (cpp_avoid_paste): Cast enums for minus and comparison.
6400
6401 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
6402
6403         * gcc.c, objc/lang-specs.h: Add zero initializer for cpp_spec
6404         field to all array elements.
6405
6406 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
6407
6408         * cpphash.h (struct cpp_reader): Add print_version field.
6409         * cppinit.c (cpp_handle_option): For -v, -version, and --version,
6410         just set print_version and other flags as appropriate.
6411         (cpp_post_options): Print version here if print_version is set.
6412
6413         * toplev.c (exit_after_options): New flag.
6414         (independent_decode_option): Don't exit here; just set
6415         exit_after_options.
6416         (main): Exit after calling lang_hooks.post_options if
6417         exit_after_options is true.
6418
6419         * cppinit.c (append_include_chain): Drop never-used case QUOTE.
6420         (merge_include_chains): Adjust comment to match code.
6421
6422 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
6423
6424         * stringpool.c (set_identifier): New function.
6425         * tree.h: Prototype it.
6426
6427         * c-parse.in: Kill D_YES. If compiled for objc, call
6428         save_and_forget_protocol_qualifiers from init_reswords.
6429         * objc/objc-act.c (remember_protocol_qualifiers,
6430         forget_protocol_qualifiers): Don't diddle C_IS_RESERVED_WORD.
6431         Swap out the non-keyword IDENTIFIER_NODEs for keyword ones, or
6432         vice versa.
6433         (save_and_forget_protocol_qualifiers): New function.
6434         * c-lex.h: Prototype save_and_forget_protocol_qualifiers.
6435
6436 2001-03-01  Diego Novillo  <dnovillo@redhat.com>
6437
6438         * c-semantics.c (prune_unused_decls): Return error_mark_node
6439         instead of (tree) 1 to stop traversing the tree chain.
6440
6441 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
6442
6443         Fix a problem introduced by Kenner's Feb 18 change.
6444         * toplev.c (rest_of_compilation): Disable flag_cse_follow_jumps and
6445         flag_cse_skip_blocks only temporarily, not for ever.
6446
6447 Thu Mar  1 09:49:58 2001  Jeffrey A Law  (law@cygnus.com)
6448
6449         * config/pa/som.h  (ASM_IDENTIFY_GCC): Define.
6450         (ASM_IDENTIFY_GCC_AFTER_SOURCE): Likewise.
6451
6452         * pa.c (emit_move_sequence): Verify operand0 is a hard register
6453         before determining its register class.
6454
6455 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
6456
6457         * config/ia64/ia64.c (ia64_hard_regno_rename_ok): Disallow renaming
6458         from reg 4 if current_function_calls_setjmp.
6459         (gen_nop_type): New function.
6460         (ia64_emit_nops): New function.
6461         (ia64_reorg): Call it.
6462         (ia64_sched_reorder): Move code that rotates bundles up a bit.
6463
6464         * reload1.c (eliminate_regs_in_insn): Restrict the special case
6465         code not to try to optimize adds with anything but a REG destination.
6466
6467         * sched-int.h (struct haifa_insn_data): Add new member priority_known.
6468         (INSN_PRIORITY_KNOWN): New accessor macro.
6469         * haifa-sched.c (priority): Use it instead of testing priority against
6470         zero.
6471
6472 2001-02-28  DJ Delorie  <dj@redhat.com>
6473
6474         * config/m68k/m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes,
6475         since that doesn't work the way gcc wants on a generic m68k.
6476
6477 2001-02-28  Richard Henderson  <rth@redhat.com>
6478
6479         * caller-save.c (save_call_clobbered_regs): Fix typo in
6480         comparison last change.
6481
6482 Wed Feb 28 19:31:42 CET 2001  Jan Hubicka  <jh@suse.cz>
6483
6484         * i386.c (pentium4_cost): New.
6485         (m_PENT4): New macro.
6486         (x86_push_memory, x86_movx,x86_cmove, x86_deep_branch, x86_use_sahf
6487         x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8
6488         x86_integer_DFmode_moves, x86_partial_reg_dependency,
6489         x86_memory_mismatch_stall): Add Pentium4
6490         (x86_use_q_reg, x86_use_any_reg): Kill.
6491         (override_options): Add pentium4.
6492         (incdec_operand): Return 0 for pentium4.
6493         (ix86_issue_rate): Add PROCESSOR_PENTIUM4 and PROCESSOR_ATHLON.
6494         * i386.h (x86_use_q_reg, x86_use_any_reg): Kill.
6495         (TARGET_PENTIUM4): Define.
6496         (enum processor_type): Add PROCESSOR_PENTIUM4.
6497         (CPP_CPU_DEFAULT_SPEC): Add pentium4 support.
6498         * i386.md (attribute "cpu"): Add pentium4.
6499         * invoke.texi (march): Add pentium4.
6500
6501 Wed Feb 28 19:28:06 CET 2001  Jan Hubicka  <jh@suse.cz>
6502
6503         * i386.md (sse_mov?fcc*): New patterns and splitters.
6504         * i386.c (ix86_expand_movcc): Work post-reload; recognize
6505         the SSE based conditional moves.
6506
6507 Wed Feb 28 19:18:23 CET 2001  Jan Hubicka  <jh@suse.cz>
6508
6509         * i386.md (attribute mode): Add "TI".
6510         (movsf_1): Add pxor support; remove constant propagation splitter.
6511         (movdf_integer): Likewise.
6512         (movdf_nointeger): Likewise.
6513         (movxf constant prop splitter): Handle all modes; update for SSE.
6514         * i386.h (CONST_DOUBLE_OK_FOR_LETTER): Add 'H' for SSE constants.
6515         * i386.c (standard_80387_constant_p): Rewrite.
6516         (standard_sse_constant_p): New.
6517         * i386-protos.h (standard_sse_constant_p): New.
6518
6519 Wed Feb 28 19:05:37 CET 2001  Jan Hubicka  <jh@suse.cz>
6520
6521         * i386.md (sse_setccsf, sse_setccdf): New.
6522         (sse_cmp* patterns): Use '%D' instead of outputtting condition
6523         flag directly.
6524         * i386.c (sse_comparison_operator): Accept the supported unordered
6525         comparses; be ready for fast_math.
6526         (print_operand): Support 'D'.
6527
6528 Wed Feb 28 18:54:51 CET 2001  Jan Hubicka  <jh@suse.cz>
6529
6530         * jump.c (reversed_comparison_code): Kill.
6531
6532 Wed Feb 28 18:50:15 CET 2001  Jan Hubicka  <jh@suse.cz>
6533
6534         * toplev.c (rest_of_compilation): Do post-reload splitting unconditionally
6535         for STACK_REGS
6536
6537 Wed Feb 28 18:47:37 CET 2001  Jan Hubicka  <jh@suse.cz>
6538
6539         * i386.md (sse_andti3, sse_nandti_3, sse_xorti3): Add SSE2 versions;
6540         add missing '%' in constraints.
6541
6542 Wed Feb 28 17:24:24 CET 2001  Jan Hubicka  <jh@suse.cz>
6543
6544         * c-common.c (build_common_tree_nodes): Build intTI_type_nodes
6545         for HOST_BITS_PER_WIDE_INT == 32 too.
6546
6547 Wed Feb 28 17:22:35 CET 2001  Jan Hubicka  <jh@suse.cz>
6548
6549         * caller-save.c (reg_save_code, reg_restore_code):  Index by mode, not
6550         NREGS.
6551         (insert_save, insert_restore): New parameter save_mode.
6552         (init_caller_save): Update initialization of reg_save_code
6553         and reg_restore_code.
6554         (save_call_clobbered_regs):  Compute save_modes and update calls to
6555         reg_save_code and reg_restore_code.
6556         (insert_restore):  Unsignetize numbers; use save_modes to choose mode
6557         of spill; update use of reg_restore_code.
6558         (insert_save):  Likewise.
6559         * i386.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
6560         * c4x.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
6561         * regs.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
6562
6563 Wed Feb 28 17:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
6564
6565         * ifcvt.c (noce_emit_store_flag, noce_try_store_flag_constants,
6566         noce_try_store_flag_inc, noce_try_store_flag_mask,
6567         noce_try_cmove_arith):
6568         Use reversed_comparison_code instead of reverse_comparison and
6569         can_reverse_comparison_p.
6570
6571 Wed Feb 28 17:17:29 CET 2001  Jan Hubicka  <jh@suse.cz>
6572
6573         * jump.c (reversed_comparison_code_parts): Allow reversal of
6574         unordered compares in -ffast-math mode; reverse ordered compares
6575         for FP even w/o -ffast-math.
6576
6577 2001-02-27  Richard Henderson  <rth@redhat.com>
6578
6579         * print-rtl.c (print_rtx) [i]: Don't print field five on
6580         NOTEs other than NOTE_INSN_DELETED_LABEL.
6581
6582 2001-02-27  Zack Weinberg  <zackw@stanford.edu>
6583
6584         * mips/xm-iris4.h: Delete #if 0 block (there since before 1997).
6585         * pa/xm-linux.h, pa/xm-pa.h, pa/xm-papro.h: Don't declare errno.
6586
6587 2001-02-27  Diego Novillo  <dnovillo@redhat.com>
6588
6589         * c-common.c (walk_stmt_tree): Visit the chain of the current tree
6590         even if walk_subtrees is 0.
6591         * c-semantics.c (prune_unused_decls): Return a non-null value to
6592         stop traversing the tree chain.
6593
6594 2001-02-27  DJ Delorie  <dj@redhat.com>
6595
6596         * config/m68k/m68k.c (output_function_prologue): Save the new CFA
6597         register, *then* define it as the new CFA.
6598
6599 Tue Feb 27 16:49:13 2001  Jeffrey A Law  (law@cygnus.com)
6600
6601         * pa.c (override_options): Promote -fpic to -fPIC.
6602         (legitimize_pic_address): Simplify due to removal of
6603         small PIC as a code generation option.
6604         (secondary_reload_class): Similarly.
6605         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Similarly.
6606         (PRINT_OPERAND_ADDRESS): Similarly.
6607         * pa.md (various patterns): Similarly.
6608         (small pic lo_sum pattern): Remove.
6609
6610 Tue Feb 27 16:01:13 CET 2001  Jan Hubicka  <jh@suse.cz>
6611                               Fergus Henderson
6612
6613         * md.texi (min, max): Document
6614
6615 Tue Feb 27 15:51:35 CET 2001  Jan Hubicka  <jh@suse.cz>
6616
6617         * i386.md (movsf, movdf): Use movaps for reg-reg moves if
6618         TARGET_PARTIAL_REG_DEPENDENCY.
6619         (truncdfsf2_1_sse, truncdfsf2_2): Penalize the fpreg->mem case.
6620
6621 Tue Feb 27 15:36:48 CET 2001  Jan Hubicka  <jh@suse.cz>
6622
6623         * i386.md (mins*, maxs*): New patterns, expanders and splitters.
6624
6625 2001-02-26  Jeffrey Oldham  <oldham@codesourcery.com>
6626
6627         * mips.c (mips_make_temp_file): Fix thinko in last change.
6628
6629 2001-02-26  Jason Eckhardt  <jle@redhat.com>
6630
6631         * combine.c (known_cond): Do not reverse the condition when
6632         SMAX/UMAX is being considered and the condition is for equality
6633         or inequality.
6634
6635         * testsuite/gcc.c-torture/execute/20010221-1.c: New test.
6636
6637 2001-02-26  Philip Blundell  <philb@gnu.org>
6638
6639         * config.gcc: Remove obsolete targets "arm*-*-linuxoldld" and
6640         "armv2-*-linux".
6641         * config/arm/linux-elf.h: Remove historical relics related to
6642         above configurations.
6643         * config/arm/linux-oldld.h: Delete.
6644         * config/arm/linux-elf26.h: Delete.
6645
6646 2001-02-26  Jason Merrill  <jason@redhat.com>
6647
6648         * c-decl.c (finish_decl): Set DECL_DEFER_OUTPUT on tentative file-scope
6649         definitions.
6650         * toplev.c (rest_of_decl_compilation): Check DECL_DEFER_OUTPUT to
6651         recognize a tentative definition.  Lose obsolete code.
6652
6653         * toplev.c (wrapup_global_declarations): Don't emit DECL_COMDAT
6654         variables unless necessary, either.
6655
6656 2001-02-25  Richard Henderson  <rth@redhat.com>
6657
6658         * ifcvt.c (struct noce_if_info): Add test_bb.
6659         (noce_get_alt_condition): New.
6660         (noce_try_minmax, noce_try_abs): New.
6661         (noce_operand_ok): New.
6662         (noce_process_if_block): Use them.
6663         * rtlanal.c (may_trap_p): NEG and ABS can never trap.
6664
6665 Sun Feb 25 14:26:17 2001  Christopher Faylor <cgf@cygnus.com>
6666
6667         * config/i386/cygwin.h (CPP_SPEC): Add missing space before w32api
6668         include.
6669
6670 2001-02-25  Zack Weinberg  <zackw@stanford.edu>
6671
6672         * config.gcc: Put back pa/t-openbsd and rs6000/t-openbsd.
6673         * config/mips/mips.c (mips_make_temp_file): Set temp_filename
6674         properly.
6675         (mips_asm_file_end): Free temp_filename here.
6676
6677 Sun Feb 25 08:34:23 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6678
6679         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): Move decl.
6680         * config/i386/i386.c (ix86_set_move_mem_attrs_1): Fix typo.
6681
6682         * config/i386/i386.md (movstrsi): Handle FAIL case.
6683
6684 2001-02-25  Neil Booth  <neil@daikokuya.demon.co.uk>
6685
6686         * cppinit.c (builtin_array): Update.
6687         (init_builtins): Flag builtins to warn if redefined or
6688         undefined.  Define __GXX_WEAK as a normal macro.
6689         * cpplib.c (do_undef): Warn if flagged NODE_WARN.
6690         * cpplib.h (NODE_WARN): New flag.
6691         * cppmacro.c (builtin_macro): Remove handling of __GXX_WEAK__.
6692         Handle __STDC__ as a builtin only on Solaris.
6693         (warn_of_redefinition): Renamed from check_macro_definition.
6694         Reverse sense of test.  Always warn if NODE_WARN.
6695         (_cpp_create_definition): Use warn_of_redefinition.  Flag
6696         any macro beginning with "__STDC_" to require a mandatory
6697         warning if redefined or undefined.
6698
6699 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
6700
6701         * xm-interix.h, xm-lynx.h, alpha/xm-vms.h, convex/xm-convex.h,
6702         i370/xm-i370.h, i370/xm-linux.h, i370/xm-mvs.h, i370/xm-oe.h,
6703         i386/xm-beos.h, i386/xm-dos.h, i386/xm-mingw32.h,
6704         i860/xm-i860.h, m68k/xm-3b1.h, m68k/xm-amix.h, m68k/xm-aux.h,
6705         m68k/xm-crds.h, m68k/xm-mot3300.h, m88k/xm-sysv3.h,
6706         mips/xm-mips.h, rs6000/xm-beos.h, vax/xm-vms.h:
6707         Don't define any of:
6708         USE_PROTOTYPES, vfork, mktemp, SVR3, NO_SYS_PARAMS_H,
6709         P_tmpdir, MVS, NO_DBX_FORMAT, USE_STDARGS, STDC_HEADERS,
6710         NO_PRECOMPILES, i860, __PTR_TO_INT, __INT_TO_PTR, rindex,
6711         index, FULL_PROTOTYPES, AUX, R_OK, W_OK, X_OK, F_OK,
6712         STACK_DIRECTION, MIPS, MAX_READ_LEN, MAX_WRITE_LEN.
6713
6714         * alpha/xm-alpha.h, clipper/xm-clix.h, d30v/xm-d30v.h,
6715         fr30/xm-fr30.h, i370/xm-linux.h: Remove commented-out macro
6716         definitions.
6717
6718         * m68k/xm-3b1.h, m68k/xm-crds.h, m88k/xm-sysv3.h:
6719         Delete now-empty file.
6720
6721         * alpha/vms.h: Define NEED_ATEXIT here...
6722         * alpha/xm-vms.h: ...not here.
6723
6724         * i386/cygwin.h: Don't define PARAMS.
6725         * mips/mips.c: Don't prototype mktemp.  Don't define
6726         P_tmpdir.  Use make_temp_file to create temporary files.
6727         Don't be clever and delete temporary files early.
6728         * config.gcc: Drop references to deleted files.  Don't define
6729         FULL_PROTOTYPES.
6730         * gcc.texi: Don't mention USE_PROTOTYPES.
6731
6732 Sat Feb 24 20:25:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6733
6734         * config/i386/i386.c (ix86_set_move_mem_attrs): New function.
6735         (ix86_set_move_mem_attrs_1): Likewise.
6736         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): New declaration.
6737         * config/i386/i386.md (movstrsi): Call it.
6738
6739 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
6740
6741         * config.gcc: Expunge references to alpha/t-pe, pa/t-openbsd,
6742         x-linux-aout, i386/t-go32, t-osf, m68k/x-m68kv,
6743         ns32k/xm-netbsd.h, rs6000/t-openbsd, rs6000/t-xnewas,
6744         rs6000/x-aix41-gld.  These are nonexistent, empty, or obsolete.
6745
6746         (i750a-*-*): Error here if hosting on i750a.
6747         (alpha*-*-winnt*, ix86-*-winnt3*): Remove stanzas entirely.
6748
6749         * x-linux-aout, xm-freebsd.h, i386/beos-pe.h, ns32k/xm-netbsd.h:
6750         Remove (empty modulo comments).
6751
6752         * 1750a/xm-1750a.h, alpha/config-nt.sed, alpha/win-nt.h,
6753         alpha/xm-winnt.h, i386/config-nt.sed, i386/os2.h,
6754         i386/t-winnt, i386/win-nt.h, i386/xm-freebsd.h, i386/xm-os2.h,
6755         i386/xm-winnt.h, m68k/x-alloca-c, m88k/x-dguxbcs,
6756         mips/x-netbsd, mips/x-nws3250v4, rs6000/t-xnewas,
6757         rs6000/t-xrs6000, rs6000/xm-cygwin.h: Remove (obsolete)
6758
6759         * i386/crtdll.h, i386/cygwin.h, i386/mingw32.h:
6760         Remove reference to winnt.h in comment.
6761         * rs6000/t-newas, rs6000/t-rs6000: Override LIBGCC1_TEST to null.
6762
6763 2001-02-24  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6764
6765         * loop.c (check_dbra_loop): A biv has uses besides counting if it is
6766         used to set another biv.
6767
6768 Sat Feb 24 06:45:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6769
6770         * tree.h (BLOCK_DEAD): New macro.
6771         (struct tree_block): New flag, dead_flag.
6772         * print-tree.c (print_node, case 'b'): Print missing fields.
6773         * emit-rtl.c (remove_unnecessary_notes): Set BLOCK_DEAD.
6774         * function.c (identify_blocks): Enable test for misplaced notes.
6775         (all_blocks): Skip BLOCK_DEAD blocks.
6776         * integrate.c (integrate_decl_tree): Likewise.
6777
6778         * errors.c (internal_error, trim_filename): New functions.
6779         (fancy_abort): Call internal_error.
6780         * errors.h (internal_error, trim_filename): New declarations.
6781
6782 2001-02-24  Alexandre Oliva  <aoliva@redhat.com>
6783
6784         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Reverted
6785         2000-08-26's patch.
6786         (EXTRA_CONSTRAINT): Formatting changes.
6787
6788 2001-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6789
6790         * rtl.c (rtl_check_failed_code2): Fix typo in last change.
6791
6792 2001-02-23  Per Bothner  <per@bothner.com>
6793
6794         * gcc.c (record_temp_file, pfatal_with_name, error):  Make non-static,
6795         so they can be called from java/jvspec.c.
6796         * gcc.h (record_temp_file, pfatal_with_name, error):  Declare.
6797
6798 Sat Feb 24 03:32:50 CET 2001  Jan Hubicka  <jh@suse.cz>
6799
6800         * i386.c (ix86_frame): New structure.
6801         (ix86_compute_frame_size): Kill.
6802         (ix86_compute_frame_layout): New.
6803         (ix86_save_reg): New.
6804         (ix86_can_use_return_insn_p): Use frame layout stuff.
6805         (ix86_expand_prologue): Likewise.
6806         (ix86_expand_epilogue): Likewise.
6807         (ix86_initial_elimination_offset): Likewise.
6808         (ix86_nsaved_regs): Use ix86_save_reg.
6809         (ix86_emit_save_regs): Likewise.
6810
6811 Sat Feb 24 03:30:38 CET 2001  Jan Hubicka  <jh@suse.cz>
6812
6813         * flow.c (find_sub_basic_blocks): New function.
6814         (split_block): Be ready for basic block introduced by CODE_LABEL.
6815         (commit_one_edge_insertion): Call find_sub_basic_block.
6816
6817         * flow.c (make_edges): Add edge from entry for blocks starting with
6818         label having ALTERNATE_NAME
6819
6820 Sat Feb 24 03:19:42 CET 2001  Jan Hubicka  <jh@suse.cz>
6821
6822         * function.c (epilogue_done): Be ready for first basic block not
6823         containing PROLOGUE_END note.
6824         (reposition_prologue_and_epilogue_notes): Avoid placing
6825         PROLOGUE_END note between BASIC_BLOCK.
6826
6827 Sat Feb 24 03:17:09 CET 2001  Jan Hubicka  <jh@suse.cz>
6828
6829         * loop.c (canonicalize_condition): Move to reversed_comparison_code.
6830
6831 2001-02-21  DJ Delorie  <dj@redhat.com>
6832
6833         * config/i960/i960.h (FRAME_POINTER_REQUIRED): Revert removal of
6834         check for current_function_has_nonlocal_goto from 1999-11-12.
6835
6836 Fri Feb 23 15:28:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6837
6838         * diagnostic.c (trim_filename): No longer static.
6839         * toplev.h (trim_filename): Declare.
6840         * rtl.c (rtl_check_failed_bounds): Call internal_error.
6841         (rtl_check_failed_type1, rtl_check_failed_type2): Likewise.
6842         (rtl_check_failed_code1, rtl_check_failed_code2): Likewise.
6843         (rtvec_check_failed_bounds): Likewise.
6844         * tree.c (tree_check_failed, tree_class_check_failed): Likewise.
6845
6846         * convert.c (convert_to_integer): Don't do unsigned unless result or
6847         both inputs are unsigned.
6848
6849         * fold-const.c (fold_convert): Don't call size_int_type_wide if
6850         input overflows.
6851
6852         * c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
6853
6854         * varasm.c (output_constant): Recompute CODE after lang-specific fn.
6855
6856 2001-02-23  Jeffrey Oldham  <oldham@codesourcery.com>
6857
6858         * Makefile.in (resource.o): Add params.h dependence.
6859         * params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter.
6860         * params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise.
6861         * resource.c: Add dependence on params.h.
6862         (current_live_regs): Fix explanatory comment.
6863         (find_basic_block): Add new parameter to permit limiting search
6864         for a BARRIER.
6865         (mark_target_live_regs): Add new argument to find_basic_block call.
6866         (incr_ticks_for_insn): Likewise.
6867
6868 2001-02-23  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
6869
6870         * diagnostic.c (output_to_stream): Rename to
6871         output_buffer_to_stream. Loses the stream parameter.
6872         (init_output_buffer): Set diagnosic_buffer's stream.
6873         (flush_diagnostic_buffer): Adjust.
6874         (default_print_error_function): Likewise.
6875         (finish_diagnostic): Likewise.
6876         (verbatim): Likewise.
6877
6878         * diagnostic.h (struct output_buffer): Add `stream' field.
6879         (output_buffer_attached_stream): New macro.
6880
6881 2001-02-23  Jakub Jelinek  <jakub@redhat.com>
6882
6883         * fold-const.c (extract_muldiv) [case PLUS_EXPR]: If not MULT_EXPR,
6884         check if either operand is divisible by C.
6885         (multiple_of_p): Handle LSHIFT_EXPR with small constant shift.
6886         If type is signed, consider negative numbers as well.
6887
6888 2001-02-22  Richard Henderson  <rth@redhat.com>
6889
6890         * config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to
6891         reach .text instead of gp-relative relocs.
6892         * config/ia64/crtend.asm (.init): Likewise.
6893
6894 2001-02-22  Andreas Jaeger  <aj@suse.de>
6895
6896         * extend.texi (C++ Attributes): Fix typo.
6897
6898 2001-02-21  David Mosberger  <davidm@hpl.hp.com>
6899
6900         * config/ia64/ia64.c (ia64_epilogue_uses): For syscall_linkage
6901         functions, drop current_function_args_info.words test.
6902         (ia64_compute_frame_size): Mark syscall_linkage functions as
6903         using eight input registers.
6904
6905 2001-02-21  Loren J. Rittle  <ljrittle@acm.org>
6906         Bruce Korb  <bkorb@gnu.org>
6907
6908         * fixinc/inclhack.def (freebsd_gcc3_breakage): new fix
6909         * fixinc/README: Document how to convert sed substitutions
6910         to format style c_fix-es.
6911         * fixinc/fixincl.x: regen
6912
6913 2001-02-21  Jeffrey D. Oldham  <oldham@codesourcery.com>
6914
6915         * gcc.c: Add comment explaining how to add a command-line option.
6916         Add title to specs language comment.
6917
6918 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
6919
6920         * gcc.c (cc1_options): Add "-param".
6921         (DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
6922         (option_map): Likewise.
6923         * toplev.c (display_help): Add entry for "--param".
6924         (independent_decode_option): Fix typographical error.
6925
6926 Wed Feb 21 18:57:28 CET 2001  Catherine Moore  <clm@redhat.com>
6927                               Bernd Schmidt  <bernds@redhat.com>
6928                               Jan Hubicka  <jh@suse.cz>
6929
6930         * i386.c (function_arg_advance):  Pass SSE arguments in registers.
6931         (function_arg): Likewise.
6932
6933 Wed Feb 21 18:12:41 CET 2001  Jan Hubicka  <jh@suse.cz>
6934
6935         * i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.
6936
6937 2001-02-21  Kazu Hirata  <kazu@hxi.com>
6938
6939         * config/h8300/h8300.md (iorsi3): Do not output an extra newline
6940         character.
6941         (xorsi3): Likewise.
6942
6943 Wed Feb 21 17:35:24 CET 2001  Jan Hubicka  <jh@suse.cz>
6944
6945         * flow.c (init_propagate_block_info): Canon address and use single_set
6946         for killing dead memory stores.
6947
6948 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
6949
6950         * Makefile.in (reorg.o): Add params.h dependence.
6951         * params.def: Fix typographical error in comment.
6952         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
6953         * params.h: Modify introductory comment.
6954         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
6955         * reorg.c: Add dependence on params.h.
6956         (redundant_insn): Add parameterized throttle for search.
6957         (fill_simple_delay_slots): Add a comment explaining a variable.
6958         Move conditional out of loop, simplifying code.
6959         (fill_eager_delay_slots): Fix typographical error in comment.
6960
6961 2001-02-20  Aldy Hernandez  <aldyh@redhat.com>
6962
6963         * tm.texi (REVERSE_CONDEXEC_PREDICATES_P): New macro documentation.
6964
6965         * flow.c (ior_reg_cond): Use REVERSE_CONDEXEC_PREDICATES_P macro.
6966         (REVERSE_CONDEXEC_PREDICATES_P): Define macro.
6967
6968 2001-02-21  Jason Merrill  <jason@redhat.com>
6969
6970         * tree.h (DECL_UNINLINABLE): Move from C++ frontend.
6971         (struct tree_decl): Add uninlinable bitfield.
6972         * c-decl.c (duplicate_decls): Set it.
6973         * integrate.c (function_cannot_inline_p): Check it.
6974
6975         * dwarf2out.c (add_name_and_src_coords_attributes): Don't add
6976         DW_AT_MIPS_linkage_name to abstract methods.
6977         (dwarf2out_abstract_function): Emit class context before calling
6978         set_decl_abstract_flags.  Don't clear DECL_ABSTRACT.
6979         (gen_subprogram_die): Remove obsolete code.
6980         (gen_member_die): Don't include clones in the member list.
6981         (gen_decl_die): Emit abstract info for clone origin.
6982         * dwarfout.c (output_type): Don't include clones in the member list.
6983         * dbxout.c (dbxout_type_methods): Ignore abstract methods.
6984         * toplev.c (note_deferral_of_defined_inline_function): Don't clear
6985         DECL_ABSTRACT on a function that already has it set.
6986
6987         * dwarf2out.c (gen_formal_types_die): Also accept a FUNCTION_DECL.
6988         (get_subprogram_die): Pass it in.
6989
6990 2001-02-21  Richard Earnshaw  <rearnsha@arm.com>
6991
6992         * flow.c (mark_set_1): Make not_dead unsigned long.  For
6993         non-pseudos, use it as a bitmask of the hard regs that
6994         don't die.
6995
6996 2001-02-21  Neil Booth  <neil@daikokuya.demon.co.uk>
6997
6998         * cppfiles.c: Update comments.
6999         (_cpp_read_file): Don't check for NULL filenames any more.
7000         * cppinit.c (cpp_start_read): Don't do canonicalization of
7001         in_fname and out_fname.  Use the passed file name exclusively.
7002         (_cpp_handle_options): Don't treat "-" as a command line option,
7003         but as a normal filename.
7004         (_cpp_post_options): Canonicalize in_fname and out_fname.
7005         * cppmain.c (printer_init): Don't check out_fname for NULL.
7006         * c-lex.c (orig_filename): Rename cpp_filename for clarity.
7007         (init_c_lex): Update, and use "" to represent stdin to CPP.
7008         (yyparse): Update.
7009
7010 2001-02-20  Will Cohen  <wcohen@redhat.com>
7011
7012         * config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
7013         * config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
7014         (INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
7015         fixunstfsi_libfunc.
7016
7017 2001-02-20  Stan Shebs  <shebs@apple.com>
7018
7019         * config/rs6000/rs6000.c (output_cbranch): Output branches
7020         on separate lines instead of using ';' to separate.
7021
7022 2001-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
7023
7024         * cppinit.c (set_lang):  Move builtin handling to...
7025         (init_builtins): ...here.
7026         (_cpp_create_reader): Move call to set_lang.
7027
7028 2001-02-20  Mark Mitchell  <mark@codesourcery.com>
7029
7030         * stmt.c (expand_return): If an attempt is made to return the
7031         error_mar_node, treat the return like a return without a value.
7032
7033 2001-02-19  Zack Weinberg  <zackw@stanford.edu>
7034
7035         * sibcall.c (skip_copy_to_return_value): Call
7036         identify_call_return_value here, and return orig_insn if it
7037         returns zero.  Hardret and softret arguments now unnecessary.
7038         (call_ends_block_p): Don't call identify_call_return_value here.
7039
7040         * ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or
7041         's' slots in RTXen.
7042         * ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete function.
7043         * ggc.h (ggc_mark_if_gcable): Delete prototype.
7044
7045 Mon Feb 19 20:30:16 2001  Jeffrey A Law  (law@cygnus.com)
7046
7047         * pa.c (move_operand): Accept code to load the address of a
7048         symbol out of the DLT as a valid move operand.
7049         (print_operand, case 'A'): New to handle generating a DLT
7050         reference for a LO_SUM expression.
7051         * pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references.
7052         * pa.md (movsi, movdi patterns): Allow DLT LO_SUM references.
7053
7054 2001-02-19  Joseph S. Myers  <jsm28@cam.ac.uk>
7055
7056         * README, cpp.texi, gcc.texi, version.c: Update version number to
7057         3.1.
7058         * cpp.1, gcov.1, gcc.1: Regenerate.
7059
7060 2001-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
7061
7062         * cppfiles.c (stack_include_file): Generate dependencies
7063         here, and manage include_count here too.
7064         (PRINT_THIS_DEP): Delete.
7065         (_cpp_execute_include): Do not generate dependencies here,
7066         apart from the case of a missing header.  Do not manage
7067         include_count.
7068         (_cpp_read_file): Leave dependency generation to
7069         stack_include_file.
7070
7071 Mon Feb 19 10:17:47 2001  Jeffrey A Law  (law@cygnus.com)
7072
7073         * config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to
7074         target_cpu_default.  Remove dead assignment to
7075         target_cpu_default.
7076
7077 Mon Feb 19 16:47:39 CET 2001  Jan Hubicka  <jh@suse.cz>
7078
7079         * regclass.c (contains_reg_of_mode): Make global.
7080         (init_reg_sets): Remove contains_reg_of_mode; take into account
7081         CLASS_MAX_NREGS when looking for the proper mode.
7082         (dump_regclass): Dump only classes considered for the pseudo.
7083         (regclass): Use contains_reg_of_mode.
7084
7085 Mon Feb 19 16:45:42 CET 2001  Jan Hubicka  <jh@suse.cz>
7086
7087         * gcc.c (do_spec_1): 'n' for printing notices.
7088         * i386.h (CC1_CPU_SPEC): Notice deprecated options as deprecated.
7089
7090 Mon Feb 19 15:51:30 CET 2001  Jan Hubicka  <jh@suse.cz>
7091
7092         * reg-stack.c (next_flags_user): Use current_block->end
7093         (swap_rtx_condition): Look for next user if flags don't die;
7094         give up on CALL_INSNs; use current_block->end.
7095
7096 Mon Feb 19 08:27:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7097
7098         * sibcall.c (call_ends_block_p): New function.
7099         (optimize_sibling_and_tail_recursive_call): Use it.
7100
7101 2001-02-18  Kazu Hirata  <kazu@hxi.com>
7102
7103         * config/h8300/h8300.md: Update copyright.
7104         (andsi3): Do not output an extra newline character.
7105
7106 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7107
7108         * toplev.c (note_deferral_of_defined_inlined_function): Argument
7109         FNDECL may be unused.
7110
7111         * toplev.c (rest_of_compilation): Don't have CSE skip blocks or
7112         follow jumps after first run.
7113         If -fexpensive-optimizations rerun CSE after GCSE and iterate until
7114         it doesn't change any jumps.
7115
7116 Sun Feb 18 17:05:50 2001  Jeffrey A Law  (law@cygnus.com)
7117
7118         * Makefile.in (rtlanal.o): Depend on hard-reg-set.h.
7119         ($HOST_PREFIX_1)rtlanal.o: Remove rules for building
7120         (mostlyclean): Corresponding changes.
7121         * rtlanal.c (hard-reg-set.h): Include.
7122         (rtx_unstable_p): Do not treat the argument pointer specially
7123         if it is not a fixed register.
7124         (rtx_varies_p, rtx_addr_can_trap_p): Similarly.
7125
7126 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7127
7128         * sibcall.c (optimize_sibling_and_tail_recursive_call): Compare
7129         against last real insn in basic block.
7130         Rework to avoid gotos.
7131
7132         * Makefile.in (gcse.o): Now includes ggc.h.
7133         * gcse.c: Include ggc.h.
7134         (want_to_gcse_p): Verify expression can be in SET as valid insn.
7135         (try_replace_reg): Remove warning of uninitialize variable.
7136         (process_insert_insn): Call invalid_insn_p to validate insn.
7137         * recog.c (insn_invalid_p): Now global.
7138         See if can make valid by adding CLOBBERs of SCRATCH only and do if so.
7139         * recog.h (insn_invalid_p): New declaration.
7140
7141         * jump.c (jump_optimize_1): Only define reversed_code #ifdef HAVE_trap.
7142
7143         * config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put
7144         assignments from FP constants since 'Y' output code can't handle it.
7145         (eligible_for_sibcall_delay): Likewise.
7146
7147         * flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.
7148         Call fancy_abort directly, passing args.
7149         (print_rtl_and_abort): Now a macro, like fancy_abort.
7150
7151         * final.c (output_operand_lossage): Use internal_error, not error.
7152
7153 2001-02-18  Shane Nay  <shane@agendacomputing.com>
7154
7155         * mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to
7156         structure shift insns.
7157
7158 2001-02-18  Mark Mitchell  <mark@codesourcery.com>
7159
7160         * invoke.texi (-fsquangle): Remove documentation.
7161         (-fname-mangling-version): Likewise.
7162
7163 2001-02-18  Lars Brinkhoff  <lars@nocrew.org>
7164
7165         * optabs.c (expand_abs): Remove reference to
7166         HAVE_contitional_arithmetic.
7167         * combine.c (simplify_set): Likewise.
7168
7169 2001-02-18  Richard Henderson  <rth@redhat.com>
7170
7171         * ifcvt.c (dead_or_predicable): Don't move code if eh regions
7172         would be disrupted.
7173
7174 2001-02-18  Richard Henderson  <rth@redhat.com>
7175
7176         * config/ns32k/ns32k.h (ADJSP): Upcase arguments.
7177
7178         * config/alpha/alpha.md (movsi_fix): Fix typo in pattern name.
7179
7180         * reload1.c (reload_cse_simplify_set): Fix typo.
7181
7182 Sun Feb 18 09:30:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7183
7184         * diagnostic.c (_fatal_insn): Decrement errorcount.
7185
7186         * invoke.texi (-I): Add note avoiding use for system header files.
7187
7188         * rtl.h (add_clobbers): Remove duplicate declaration.
7189         * recog.h (added_clobbers_hard_reg_p): New declaration.
7190         * genemit.c (struct clobber_pat): New field has_hard_reg.
7191         (gen_insn): Record if added clobbers clobber hard reg.
7192         (gen_split): Avoid unused warning if number of operands is 0.
7193         (output_added_clobbers_hard_reg_p): New function.
7194         (main): Call it.
7195
7196 2001-02-18  Alan Modra <alan@linuxcare.com.au>
7197
7198         * pa.c (hppa_expand_prologue): Simplify code storing return
7199         pointer.  For large (>=8k) frames with a post_store, adjust stack
7200         pointer by 8k-64 first rather than by 64.  When testing with
7201         VAL_14_BITS_P, always use the actual value rather than the value
7202         negated.  Add blockage to prevent scheduling of spills before
7203         stack frame has been created.
7204         (hppa_expand_epilogue): Simplify code loading return pointer.
7205         Allow a slightly larger range for merge_sp_adjust_with_load case.
7206         When testing with VAL_14_BITS_P, always use the actual value.
7207
7208         * pa.c (pa_adjust_insn_length): Check that block move
7209         pattern is a set before looking at operands.
7210
7211 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
7212
7213         * fold-const.c (fold_binary_op_with_conditional_arg): New
7214         function, split out from ...
7215         (fold): ... here.
7216         * tree.def (COND_EXPR): Document the use of VOID_TYPE for
7217         conditional arms that throw exceptions.
7218
7219         * print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not
7220         looking at a BLOCK.
7221
7222 2001-02-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7223
7224         * aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test,
7225         define HAVE_DECL_* to 1 to mask potential backup declarations.
7226         * configure: Regenerated.
7227
7228 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
7229
7230         * invoke.texi (-Woverloaded-virtual): Clarify documentation.
7231
7232 2001-02-17  Richard Henderson  <rth@redhat.com>
7233
7234         * reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP
7235         when replacing a memory load with a register.
7236
7237 Sat Feb 17 14:48:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7238                           Jan Hubicka  <jh@suse.cz>
7239
7240         * recog.c (validate_replace_src_1): New.
7241         (validate_replace_src_data): Likewise.
7242         (validate_replace_src): Use note_uses.
7243         * rtl.h (note_uses): Declare.
7244         * rtlanal.c (note_uses): New.
7245
7246 Sat Feb 17 10:52:34 CET 2001  Jan Hubicka  <jh@suse.cz>
7247
7248         * reg-stack.c (stack_def): Make field reg unsigned.
7249         (remove_regno_note): Unsignetize parameter.
7250
7251 2001-02-16  Jes Sorensen  <jes@linuxcare.com>
7252
7253         * ia64.c (errata_emit_nops): Add VOIDmode as second argument to
7254         shladd_operand() call.
7255
7256 2001-02-16  Bruce Korb  <bkorb@gnu.org>
7257             Rodney Brown  <RodneyBrown@mynd.com>
7258
7259         * fixinc/mkfixinc.sh: Use C fixincludes for UnixWare 7.
7260         * fixinc/inclhack.def: Add fixinc.svr4 patterns with matching
7261         machine restrictions
7262         * fixinc/fixincl.x: regen
7263
7264 Fri Feb 16 12:41:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7265
7266         * gcse.c (hash_scan_set): If cprop, see if REG_EQUAL or REG_EQUIV.
7267         Don't CSE a nop.
7268         (hash_scan_insn): Clean up calls to hash_scan_set.
7269         (compute_kill_rd): REGNO now unsigned.
7270         (try_replace_reg): Rework to use simplify_replace_rtx.
7271         (cprop_jump, cprop_cc0_jump): Likewise.
7272         (cprop_insn): Call find_reg_equal_equiv_note.
7273         Reflect changes to cprop_jump and cprop_cc0_jump.
7274
7275         * recog.c (validate_replace_src): Replace in operands of
7276         ZERO_EXTRACT in SET_DEST.
7277
7278         * cse.c (new_label_ref): New variable.
7279         (insert): Set it instead of recorded_label_ref.
7280         (cse_basic_block): Set recorded_label_ref if new_label_ref use, has
7281         CODE_LABEL for this function, and not already in REG_LABEL note.
7282
7283 2001-02-16  Jeffrey Oldham  <oldham@codesourcery.com>
7284
7285         * resource.c (mark_referenced_resources): Fix typo in introductory
7286         comment.
7287         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Fix typo in
7288         string constant.
7289
7290 2001-02-16  Jason Merrill  <jason@redhat.com>
7291
7292         * dwarf2out.c (add_bound_info): Don't crash if SAVE_EXPR_RTL is
7293         NULL.
7294         (gen_subprogram_die): Don't abort on seeing a second definition if
7295         the previous one was abstract.  Don't replace an abstract instance
7296         in the lookup table.
7297
7298         * dwarf2out.c (dwarf2out_abstract_function): Rename from
7299         gen_abstract_function.
7300         * dwarf2out.h: Declare it.
7301         * toplev.c (note_outlining_of_inline_function): New fn.
7302         * toplev.h: Declare it.
7303         * integrate.c (output_inline_function): Call it.
7304         * c-decl.c (duplicate_decls): Call it when redefining an extern
7305         inline.  Don't inline the new defn.
7306
7307         * tree.h (BLOCK_CHAIN): Use BLOCK_CHECK.
7308
7309 2001-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7310
7311         * .gdbinit: Rename to gdbinit.in.
7312         * gdbinit.in: New file,
7313         * configure.in: Generate .gdbinit from gdbinit.in.
7314         * configure: Regenerated.
7315         * Makefile.in (distclean): Always remove .gdbinit.
7316
7317 2001-02-16  Jakub Jelinek  <jakub@redhat.com>
7318
7319         * objc/objc-act.c (start_class): Register implemented_classes with
7320         GC.
7321
7322 2001-02-16  Neil Booth  <neil@daikokuya.demon.co.uk>
7323
7324         * cppfiles.c (_cpp_make_system_header): Generate a file
7325         change callback.
7326
7327 2001-02-15  Jim Meyering  <meyering@lucent.com>
7328
7329         * Makefile.in (install-common): Don't depend on installdirs here.
7330         Instead, make each of the lang.install-common targets (e.g.,
7331         c++.install-common in cp/Make-lang.in) depend on it.
7332         (install-driver): Depend on installdirs.
7333
7334 Thu Feb 15 21:30:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7335
7336         * flow.c (tidy_fallthru_edge): Never end block on line number NOTE.
7337
7338         * function.c (assign_parms): Set RTX_UNCHANGING_P in pseudo when we
7339         do in memory.
7340
7341 2001-02-15  Mark Mitchell  <mark@codesourcery.com>
7342
7343         * invoke.texi (--param): Document.
7344
7345 Thu Feb 15 15:16:38 2001  Alexandre Oliva  <aoliva@redhat.com>
7346
7347         * config/sh/sh.h (BOOL_TYPE_SIZE): Don't define.
7348
7349 Thu Feb 15 10:52:31 CET 2001  Jan Hubicka  <jh@suse.cz>
7350
7351         * i386.md (extendsfdf2_2): Fix constraints.
7352
7353 Thu Feb 15 09:46:21 CET 2001  Jan Hubicka  <jh@suse.cz>
7354
7355         * i386.md (fop_df_3 splitter): Fix operand number.
7356
7357 Wed Feb 14 12:37:37 CET 2001  Jan Hubicka  <jh@suse.cz>
7358
7359         * invoke.texi (-mreg-alloc): Nuke.
7360         * i386.c (ix86_reg_alloc_order, regs_allocated,
7361         order_regs_for_local_alloc): Nuke.
7362         (override_options): Kill reg_alloc code.
7363         * i386.h (TARGET_OPTIONS): Kill reg-alloc.
7364         (REG_ALLOC_ORDER): SSE goes before I387.
7365         (ORDER_REGS_FOR_LOCAL_ALLOC): Kill.
7366         (ix86_reg_alloc_order): Likewise.
7367         * i386-protos.h (ix86_reg_alloc_order): Kill.
7368
7369 2001-02-14  Richard Henderson  <rth@redhat.com>
7370
7371         * toplev.c (f_options): Clarify -fschedule-insns2 documentation.
7372
7373 Wed Feb 14 11:59:58 CET 2001  Jan Hubicka  <jh@suse.cz>
7374
7375         * i386.h (RETURN_IN_MEMORY): Fix formating; reject TFmodes
7376
7377 Wed Feb 14 11:12:38 CET 2001  Jan Hubicka  <jh@suse.cz>
7378
7379         * i386-protos.h (ix86_memory_move_cost): Move offline.
7380         * i386.c (ix86_register_move_cost): Compute properly cost of
7381         SSE, MMX and i387 instructions.
7382         (*_cost): Add costs of SSE/MMX moves.
7383         (ix86_memory_move_cost): Move offline from ....; Likewise.
7384         * i386.h (MEMORY_MOVE_COST): .... here;
7385         (struct processor costs): Add new fields to represent costs
7386         of SSE/MMX moves.
7387
7388 Wed Feb 14 10:08:26 CET 2001  Jan Hubicka  <jh@suse.cz>
7389
7390         * regclass.c (init_reg_sets_1): Reinstall the optimization of
7391         move_cost together with Matt Kraai's fix.
7392
7393 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
7394
7395         * Makefile.in (OBJS): Add params.o.
7396
7397 2001-02-14  Richard Henderson  <rth@redhat.com>
7398             DJ Delorie  <dj@redhat.com>
7399
7400         * jump.c (jump_optimize_1): When we delete a conditional jump
7401         preceeding a non-conditional jump to effectively the same place,
7402         make sure that the combined jump skips any clobber insns between
7403         the two labels.
7404
7405 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
7406
7407         * gcc.c (do_spec_1): Fix off-by-one error for '%M' case.
7408
7409 2001-02-14  Mark Mitchell  <mark@codesourcery.com>
7410
7411         * Makefile.in (toplev.o): Depend on params.h.
7412         (intergate.o): Likewise.
7413         (params.o): New target.
7414         * flags.h (inline_max_insns): Remove.
7415         * integrate.c: Include params.h.
7416         Use MAX_INLINE_INSNS instead of inline_max_insns.
7417         * params.c: New file.
7418         * params.h: Likewise.
7419         * params.def: Likewise.
7420         * toplev.c: Include params.h.
7421         (lang_independent_params): New variable.
7422         (decode_f_option): Use the param machinery instead of setting
7423         max_inline_insns.
7424         (independent_decode_option): Handle "--param name=value".
7425         (main): Register language-independent parameters.
7426
7427 Wed Feb 14 11:13:45 CET 2001  Jan Hubicka  <jh@suse.cz>
7428
7429         * i386.md (pushsf, pushdf_nointeger): Fix constraint.
7430
7431 2001-02-14  Richard Henderson  <rth@redhat.com>
7432
7433         * regclass.c (init_reg_sets_1): Revert last two changes.
7434
7435 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
7436
7437         * stor-layout.c (is_pending_size, put_pending_size): New functions.
7438         (variable_size): Call put_pending_size.
7439         * tree.h (is_pending_size, put_pending_size): Add prototypes.
7440         * fold-const.c (extract_muldiv): If SAVE_EXPR is on the pending
7441         sizes list, put newly created SAVE_EXPR there as well.
7442
7443 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
7444
7445         * config/ia64/ia64.c (last_group): Only 2 entries are needed.
7446         (errata_find_address_regs): load_group has only 2 entries.
7447         (errata_emit_nops): Likewise.  shladd is not problematic.
7448         Clear last_group if nop was emitted.
7449         (fixup_errata): load_group has only 2 entries.
7450         Optimize.
7451
7452 2001-02-14  Neil Booth  <neil@daikokuya.demon.co.uk>
7453
7454         * c-lex.c (lex_number): Only warn traditionally for U suffix
7455         outside system macros.
7456         * cppexp.c (parse_number): Similarly.
7457         * cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
7458         * cppmacro.c (struct cpp_macro): New member node.
7459         (parse_args): Only warn about missing rest args if not
7460         a system macro.
7461         (funlike_invocation_p): Similarly for uninvoked funlike macros.
7462         (cpp_sys_objmacro_p): New.
7463         (_cpp_create_definition): Store the node with the macro defn.
7464         Remember if the macro is defined in a system header.
7465
7466 2001-02-13  DJ Delorie  <dj@redhat.com>
7467
7468         * configure.in (check_languages): determine languages to check
7469         * Makefile.in (check-c++): alias for check-g++
7470         (check-f77): alias for check-g77
7471         (CHECK_TARGETS): depend on configured languages
7472
7473 Wed Feb 14 01:13:59 CET 2001  Jan Hubicka  <jh@suse.cz>
7474
7475         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
7476         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
7477         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
7478         (sqrtextendsfdf2): Disable for SSE2.
7479
7480 Wed Feb 14 00:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
7481
7482         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
7483         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
7484         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
7485         (sqrtextendsfdf2): Disable for SSE2.
7486
7487 Wed Feb 14 00:11:20 CET 2001  Jan Hubicka  <jh@suse.cz>
7488
7489         * i386.md (movsfcc_1): Support integer cmove instruction.
7490         (movdfcc_1): Likewise; new splitter.
7491
7492 Tue Feb 13 23:19:27 CET 2001  Jan Hubicka  <jh@suse.cz>
7493
7494         * i386.c (output_fp_compare): Support SSE.
7495         (prepare_fp_compare_args): SSE comparisons always support memory.
7496         * i386.h (TARGET_CMOVE): SSE imply cmove.
7497         * i386.md (cmp?f2): Enable for SSE too.
7498         (cmpfp_i*): Support SSE.
7499         (cmpfp_i_sse): New.
7500         (cmpfp_i_sse_only): New.
7501         (s*, b* fp expanters): Enable for SSE too.
7502         (fp_jcc_1_sse, fp_jcc_1_sse_only, fp_jcc_2_sse, fp_jcc_2_sse_only):
7503         New patterns.
7504
7505 Tue Feb 13 23:05:42 CET 2001  Jan Hubicka  <jh@suse.cz>
7506
7507         * regclass.c (init_reg_sets_1): Silence warning.
7508
7509 Tue Feb 13 22:03:07 CET 2001  Jan Hubicka  <jh@suse.cz>
7510
7511         * i386.md (sqrt?f2): Change to expander.
7512         (sqrt?f2_1, sqrt?f2_sse_only, sqrt?f2_i387): New.
7513
7514 Tue Feb 13 15:42:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7515
7516         * rtlanal.c (find_reg_equal_equiv_note): New function.
7517         * simplify-rtx.c (simplify_gen_unary, simplify_gen_ternary): New fns.
7518         (simplify_gen_relational, simplify_replace_rtx): Likewise.
7519         * rtl.h: Add declarations for above functions.
7520
7521 Tue Feb 13 21:09:11 CET 2001  Jan Hubicka  <jh@suse.cz>
7522
7523         * cse.c (cse_main): Converts ifdefs on PIC_OFFSET_TABLE_REGNUM to
7524         conditionals.
7525         * defaults.h (PIC_OFFSET_TABLE_REGNUM): Default to INVALID_REGNUM.
7526         * emit-rtl.c (init_emit_once): Convert ifdefs to conditionals.
7527         * flow.c (mark_regs_live_at_end): Likewise.
7528         (calculate_global_regs_live): Likewise.
7529         * gcse.c (compute_hash_table): Likewise.
7530         (compute_kill_rd): Likewise.
7531         * resource.c (mark_target_live_regs): Likewise.
7532         * rtl.h (INVALID_REGNUM): New macro.
7533
7534 Tue Feb 13 20:59:22 CET 2001  Jan Hubicka  <jh@suse.cz>
7535
7536         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch.
7537
7538 Tue Feb 13 16:32:20 CET 2001  Jan Hubicka  <jh@suse.cz>
7539
7540         * i386.md (fixsfsi2, fixdfdi2): Force operand to register
7541         for SSE.
7542
7543 Tue Feb 13 14:53:16 CET 2001  Jan Hubicka  <jh@suse.cz>
7544
7545         * i386.md (add?f3, sub?f3, mul?f3, dif?f3): Enable for TARGET_SSE(2)
7546         too.
7547         (fop_sf_comm, fop_df_comm, fop_sf_1, fop_df_1): Support SSE.
7548         (fop_sf_comm_sse, fop_df_comm_sse): New patterns.
7549         (fop_sf_1_sse, fop_df_1_sse): New patterns
7550         (fop_*): Disable float_extend and float patterns for SSE compilation.
7551         * i386.c (output_387_binary_op): Support SSE.
7552
7553 Tue Feb 13 14:16:34 CET 2001  Jan Hubicka  <jh@suse.cz>
7554
7555         * i386.md (dummy_extendsfdf2): Support SSE2
7556         (extendsfdf2): Enable if 80387 or SSE2.
7557         (extendsfdf2_1): Support SSE2. Disable if SSE2 is avialble
7558         and no MIX_I387_SSE2
7559         (extendsfdf2_1_sse_only): New pattern.
7560         (truncdfsf2): Enable if SSE2 or 80387; Always use SSE only version
7561         of SSE.
7562         (truncdfsf2_1): Support SSE.
7563         (truncdfsf2_2): Support SSE.
7564         (truncdfsf2_2_1_sse): New pattern.
7565         (fixtruncsfsi2): Always use SSE if available.
7566         (fix_truncsfsi_sse): New pattern.
7567         (fix_truncdfsi_sse): New pattern.
7568         (floatsis?f2): Support SSE.
7569         (floatsidf2_i387): New pattern.
7570         (floatsidf2_sse): Likewise.
7571
7572 Tue Feb 13 07:52:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7573
7574         * configure.in: Use "have_gnat" variable, not "gnat".
7575         * configure: Regenerated.
7576
7577         * config/sparc/sparc.c (function_value): Treat all non-record
7578         aggregate types like used to treat UNION_TYPE.
7579
7580 Tue Feb 13 13:31:33 CET 2001  Jan Hubicka  <jh@suse.cz>
7581
7582         * i386.c (print_reg): Use ANY_FP_REG instead of FP_REG
7583         * i386.h (MASK_128BIT_LONG_DOUBLE): Renumber
7584         (MASK_SSE2): New.
7585         (MASK_MIX_SSE_I387): New.
7586         (TARGET_SSE): SSE2 imply SSE.
7587         (TARGET_SSE2, TARGET_MIX_SSE_I387): New.
7588         (TARGET_SWITCHES): Add "sse2", "mix-sse-i387".
7589         (enum reg_class): Add new classes.
7590         (REG_CLASS_NAMES): Likewise.
7591         (REG_CLASS_CONTENTS): Likewise.
7592         (ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros.
7593         (REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is
7594         supported. Add 'Y' to be SSE_REGS when SSE2 is supported.
7595         (CLASS_MAX_NREGS): Use new macros.
7596         (REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED.
7597         * i386.md (pushsf, movsf): Support SSE.
7598         (pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update
7599         splitters to use ANY_FP_REGNO_P.
7600         (movdf_nointeger, movdf_integer): Likewise.
7601
7602 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
7603
7604         * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro.
7605         (try_combine): Use it.
7606
7607 Tue Feb 13 11:37:06 CET 2001  Jan Hubicka  <jh@suse.cz>
7608
7609         * i386.h (SSE_CLASS_P, MMX_CLASS_P, MAYBE_FLOAT_CLASS_P,
7610         MAYBE_SSE_CLASS_P, MAYBE_MMX_CLASS_P): New macros.
7611         (PREFERRED_RELOAD_CLASS, SECONDARY_MEMORY_NEEDED): Move offline.
7612         (REGISTER_MOVE_COST): Likewise.
7613         * i386-protos.h (ix86_secondary_memory_needed,
7614         ix86_preferred_reload_class, ix86_register_move_cost): Declare.
7615         * i386.c (ix86_secondary_memory_needed,
7616         ix86_preferred_reload_class, ix86_register_move_cost): New function.
7617
7618 Die Feb 13 11:04:25 CET 2001  Jan Hubicka  <jh@suse.cz>
7619
7620         * i386.h (VALID_FP_MODE_P, VALID_INT_MODE_P): New.
7621         (HARD_REGNO_MODE_OK): Move offline to ....
7622         * i386.c (ix86_hard_regno_mode_ok) ... here;
7623         refuse all incorrect modes.
7624         * i386-protos.h (ix86_hard_regno_mode_ok): Declare.
7625
7626 2001-02-13  Richard Henderson  <rth@redhat.com>
7627
7628         * sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the
7629         entire operator; replicate that and match_dup the operands.
7630         (cmp_ccx_arith_op_set): Likewise.
7631         (cmp_cc_arith_op_not_set): Likewise.
7632         (cmp_ccx_arith_op_not_set): Likewise.
7633
7634 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
7635
7636         * explow.c (trunc_int_for_mode): Sign-extend value to mode.
7637
7638 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
7639
7640         * config/rs6000/sysv4.h (MASK_NO_BITFIELD_WORD): New macro.
7641         (TARGET_NO_BITFIELD_WORD): New macro.
7642         (SUBTARGET_SWITCHES): Add -mbit-word, -mno-bit-word options.
7643         (BITFIELD_NBYTES_LIMITED): Define based on TARGET_NO_BITFIELD_WORD.
7644
7645 Mon Feb 12 18:13:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7646
7647         * cselib.c: New file, from simplify-rtx.c.
7648         * simplify-rtx.c: Remove cselib parts.
7649         * Makefile.in: Add cselib.o.
7650
7651 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
7652
7653         * config/rs6000/rs6000.c (rs6000_float_const): Remove warning.
7654         (setup_incoming_varargs): Remove warning.
7655
7656         * config/rs6000/rs6000.c (validate_condition_mode): When
7657         flag_fast_math, allow floating-point conditionals to be reversed.
7658         (rs6000_generate_compare): When flag_fast_math, don't generate
7659         cror operations for FP conditionals.
7660
7661         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
7662         -mcall-i960.
7663         (ASM_SPEC): Likewise.
7664         (CC1_ENDIAN_LITTLE_SPEC): Likewise.
7665         (CC1_SPEC): Likewise.
7666         (LINK_TARGET_SPEC): Likewise.
7667         (CPP_ENDIAN_SPEC): Likewise.
7668         * Makefile.in (check-consistency): New target.
7669
7670 2001-02-12  Joseph S. Myers  <jsm28@cam.ac.uk>
7671
7672         * c-decl.c (grokdeclarator): In C99 mode, give the more specific
7673         "return type defaults" warning for functions with return type
7674         defaulting to int.
7675         * c-lang.c (c_init): In C99 mode, enable warnings for implicit
7676         function declarations by default rather than only when pedantic.
7677
7678 Mon Feb 12 17:28:48 CET 2001  Jan Hubicka  <jh@suse.cz>
7679
7680         * regclass.c (init_reg_sets_1): Optimize calculation of move_cost
7681         arrays.
7682
7683 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
7684
7685         * extend.texi (Deprecated): Deprecate new initializer lists.
7686
7687 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
7688
7689         * mkdeps.c (deps_add_default_target): Robustify. Add
7690         basename component only.
7691         * cpp.texi (-M): Describe how default target is generated.
7692         * invoke.texi (-M): Likewise.
7693
7694 2001-02-12  Kazu Hirata  <kazu@hxi.com>
7695
7696         * toplev.c (push_float_handler): Remove.
7697         (pop_float_handler): Remove.
7698         * toplev.h: Remove prototypes for the above functions.
7699
7700 2001-02-12  Jakub Jelinek  <jakub@redhat.com>
7701
7702         * c-common.c (constant_fits_type_p): New function.
7703         (convert_and_check): Use it.
7704
7705 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
7706
7707         * Makefile.in (GXX_ABI_FLAG): Don't define.
7708         * configure.in (--enable-new-gxx-abi): Remove option.
7709         * config.in: Regenerated.
7710         * configure: Likewise.
7711
7712 2001-02-12  Alexandre Oliva  <aoliva@redhat.com>
7713
7714         * lcm.c (compute_earliest): Let EXIT_BLOCK be handled as a regular
7715         basic block.
7716         (optimize_mode_switching) [NORMAL_MODE]: Set up EXIT_BLOCK as a
7717         regular basic block, and arrange for all edges into it to switch
7718         to normal mode.
7719
7720 2001-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7721
7722         * Makefile.in (distclean): Do not remove .gdbinit.
7723
7724 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
7725
7726         * Makefile.in (gcc.o): Fix typos.
7727         (protize.o): Likewise.
7728         (unprotoize.o): Likewise.
7729
7730 2001-02-11  Richard Henderson  <rth@redhat.com>
7731
7732         * tree.c (build1): Check for null operand in last change.
7733
7734 2001-02-11  Richard Henderson  <rth@redhat.com>
7735
7736         * fold-const.c (split_tree): Don't assume a constant isn't splittable.
7737         (fold): Don't assume a constant isn't foldable.
7738         * tree.c (build): Set TREE_CONSTANT for an expression with no
7739         side-effects and constant operands.
7740         (build1): Likewise.
7741
7742 2001-02-10  Richard Henderson  <rth@redhat.com>
7743
7744         * jump.c (squeeze_notes): Revert 2000-05-12 change.
7745
7746 2001-02-10  Anthony Green  <green@redhat.com>
7747
7748         * cpp.texi (Standard Predefined): Add documentation for
7749         __OPTIMIZE_SIZE__.
7750
7751         * c-common.c (combine_strings): Improve warning message.
7752
7753 2001-02-10  Geoffrey Keating  <geoffk@redhat.com>
7754
7755         * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Use two dashes for
7756         --oformat.
7757         * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Likewise.
7758
7759 Fri Feb  9 15:05:27 2001  Christopher Faylor <cgf@cygnus.com>
7760
7761         * config/i386/t-cygwin (T_CPPFLAGS): Use correct location for
7762         CYGWIN_CROSS_DIR.
7763
7764 2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
7765
7766         * config/sh/sh.md (sibcalli, sibcalli_pcrel, sibcalli): Set
7767         fp_mode attribute.
7768
7769 2001-02-09  Nick Clifton  <nickc@redhat.com>
7770
7771         * config/arm/arm.md: Change output contraint on post inc
7772         load/store multiple patterns to be a read/write contraint.
7773
7774 2001-02-09  Neil Booth  <neil@daikokuya.demon.co.uk>
7775
7776         * gcc.c (cpp_options): Delete .d files on error.  Don't delete
7777         .o files when using the -M options.
7778
7779 2001-02-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7780             David Edelsohn  <edelsohn@gnu.org>
7781
7782         * config/rs6000/rs6000.c (output_toc): Allow 32-bit targets to
7783         handle DImode constants.  Use one TOC entry for SImode and smaller
7784         constants, aligned properly.
7785
7786 2001-02-08  Jason Merrill  <jason@redhat.com>
7787
7788         * config/arm/arm.c (arm_expand_prologue): Do tell the dwarf2 backend
7789         about the SP adjustment for saving the static chain pointer.
7790         * dwarf2out.c (dwarf2out_frame_debug_expr): Use the specified
7791         offset when setting a temporary CFA register.
7792
7793 2001-02-08  Chandrakala Chavva  <cchavva@redhat.com>
7794
7795         * config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
7796         powerpc-*-chorusos* .
7797         * config/rs6000/chorus.h : New file.
7798         * config/i386/chorus.h : New file.
7799         * config/sparc/chorus.h : New file.
7800         * config/sparc/t-chorus-elf : New file.
7801
7802 2001-02-08  David Edelsohn  <edelsohn@gnu.org>
7803
7804         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ...
7805         * config/rs6000/aix.h (ASM_OUTPUT_SYMBOL_REF): ... to here.
7806         * config/rs6000/aix51.h (CPLUSCPLUS_CPP_SPEC): Define it.
7807         (__WCHAR_TYPE__): Correct macro name.
7808
7809 2001-02-08  Richard Henderson  <rth@redhat.com>
7810
7811         * config/i386/i386.c (ix86_frame_pointer_required): New.
7812         (ix86_setup_frame_addresses): New.
7813         (struct machine_funciton): Add accesses_prev_frame.
7814         * config/i386/i386.h (FRAME_POINTER_REQUIRED): Call
7815         ix86_frame_pointer_required.
7816         (SUBTARGET_FRAME_POINTER_REQUIRED): New.
7817         (SETUP_FRAME_ADDRESSES): New.
7818         * config/i386/i386-protos.h: Update.
7819         * config/i386/sco5.h (SUBTARGET_FRAME_POINTER_REQUIRED): Rename
7820         from FRAME_POINTER_REQUIRED.
7821         * config/i386/svr3gas.h: Likewise.
7822         * config/i386/sysv3.h: Likewise.
7823         * config/i386/v3gas.h: Likewise.
7824
7825 2001-02-08  Richard Henderson  <rth@redhat.com>
7826
7827         * config/sparc/sparc.c (function_arg_record_value_3): Fix
7828         calculation of the number of integer registers required.
7829         (function_arg_record_value): Likewise.
7830
7831 2001-02-08  Jason Merrill  <jason@redhat.com>
7832
7833         * diagnostic.c (internal_error): Say "confused" after 1 error, not
7834         two.  Print file and line with "confused" message.
7835
7836         * dwarf2out.c (dwarf2out_line): Include filename in -dA output.
7837
7838 Thu Feb  8 11:21:28 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7839
7840         * rtlanal.c (remove_node_from_expr_list): Correctly update PREV.
7841
7842 2001-02-08  Bernd Schmidt  <bernds@redhat.com>
7843
7844         * final.c (cleanup_subreg_operands): The address of a MEM can
7845         contain SUBREGs.
7846
7847         * config/ia64/ia64.c (ia64_variable_issue): Call group_barrier_needed_p
7848         for asms, too.
7849
7850 2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
7851
7852         * gcc.texi (Incompatibilities): Update documentation of
7853         preprocessing numbers.
7854
7855 2001-02-07  Jakub Jelinek  <jakub@redhat.com>
7856
7857         * c-decl.c (finish_enum): Revert part of 2000-01-05 change.
7858
7859 2001-02-07  Mark Mitchell  <mark@codesourcery.com>
7860
7861         * config/rs6000/aix43.h (CPLUSCPLUS_CPP_SPEC): Define it.
7862
7863         * defaults.h (CPLUSPLUS_CPP_SPEC): New macro.
7864         * gcc.c (struct compiler): Add cpp_spec field.
7865         (input_file_compiler): New variable.
7866         (do_spec_1): Allow a particular compiler to handle `%C'
7867         specially.
7868         (main): Store the current compiler in input_file_compiler.
7869         * tm.texi (CPLUSPLUS_CPP_SPEC): Document.
7870
7871 2001-02-07  Zack Weinberg  <zack@wolery.stanford.edu>
7872
7873         * cpphash.h (struct spec_nodes): Add n_true and n_false.
7874         * cppinit.c (cpp_create_reader): Initialize them.
7875         (append_include_chain): cxx_aware arg might be unused.
7876         * cppexp.c (lex): In C++ mode, recognize 'true' and 'false'
7877         keywords and give them their phase 7 meaning.  Pedwarn about
7878         this unless '__bool_true_false_are_defined' is defined.
7879
7880 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
7881
7882         * lcm.c (optimize_mode_switching): Emit mode_set before the
7883         JUMP_INSN of an abnormal edge.
7884
7885 2001-02-07  Bernd Schmidt  <bernds@redhat.com>
7886
7887         * builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
7888         a scheduling barrier at the end.
7889
7890         * tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document.
7891
7892 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
7893
7894         * config/sh/sh.md (reload_outsf): Removed.
7895         (movsf_ie): Introduce constraints for FPUL loads and stores.
7896         (reload_insf): Broaden the output constraint.
7897
7898         * config/elfos.h (INT_ASM_OP): Don't define it if it's already
7899         defined.
7900         * config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
7901         ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h.
7902
7903 2001-02-06  Chandrakala Chavva  <cchavva@redhat.com>
7904
7905         * final.c: Revert my previous changes.
7906         * output.h: Make profile_label_no extern.
7907         * config/rs6000/rs6000.c (output_profile_hook): Use standard functions
7908         for generating label.
7909
7910 2001-02-06  Laurynas Biveinis  <lauras@softhome.net>
7911
7912         * config/i386/djgpp.h: Add comments about standard paths.
7913         (MD_EXEC_PREFIX): Undefine before defining.
7914         (MD_STARTFILE_PREFIX): New.
7915
7916 2001-01-30  Bruce Korb  <bkorb@gnu.org>
7917
7918         fixinc/fixincl.c(process):  Emit error message only if appropriate :)
7919         (load_file): do not rely on load_file_data() to close file pointer
7920         fixinc/fixlib.c(load_file_data): do not close passed in file pointer
7921         fixinc/inclhack.def(irix_limits_const): add test_text
7922
7923 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
7924
7925         * cppexp.c (parse_defined): Improve diagnostics for invalid
7926         syntax.
7927
7928 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
7929
7930         * cppmacro.c (cpp_get_token): Avoid pasting after a builtin.
7931
7932 2001-02-06  Mark Mitchell  <mark@codesourcery.com>
7933
7934         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Define.
7935         * config/rs6000/rs6000-protos.h (rs6000_output_symbol_ref): Declare.
7936         * config/rs6000/rs6000.c (VTABLE_NAME_P): New macro.
7937         (rs6000_output_symbol_ref): New function.
7938         (output_toc): Use VTABLE_NAME_P.
7939
7940 Tue Feb  6 07:54:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7941
7942         * print-tree.c (print_node, case PARM_DECL):
7943         Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN.
7944
7945         * stor-layout.c (reference_types_internal): New variable.
7946         (internal_reference_types): New function.
7947         (layout_type, case REFERENCE_TYPE): Make Pmode if internal.
7948         * tree.h (internal_reference_types): New declaration.
7949
7950         * cse.c (find_best_addr): Fix typo in computing cost.
7951
7952 Mon Feb  5 21:56:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7953
7954         * combine.c (nonzero_bits, case PLUS): If pointers extend unsigned
7955         and this is the sum of a pointer and a constant, we know the result
7956         did not overflow.
7957         (num_sign_bit_copies, case PLUS): Likewise.
7958         * explow.c (convert_memory_address): Remove opposite SUBREG.
7959         * function.c (instantiate_new_reg): New function (from common code).
7960         (instantiate_virtual_regs_1): Call it.
7961         For PLUS, handle if (plus (subreg (virt-reg) (const_int))
7962         if pointers sign- or zero-extend.
7963         * simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND):
7964         If pointers extend unsigned, use inside of SUBREG.
7965         (simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend.
7966
7967 2001-02-05  Benjamin Kosnik  <bkoz@redhat.com>
7968
7969         * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target
7970         subdir of gcc_gxx_include_dir.
7971         (gcc_gxx_target_include_dir): Remove.
7972
7973 2001-02-05  Jeffrey Oldham  <oldham@codesourcery.com>
7974
7975         * dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments.
7976         (dwarf2out_frame_debug_expr): Revise introductory comments to add
7977         a high-level description.
7978
7979 2001-02-05  Chandrakala Chavva  <cchavva@redhat.com>
7980
7981         * final.c: Move the declaration of profile_label_no to ...
7982         * output.h: ... here.
7983         * function.c (expand_function_start): Call PROFILE_HOOK.
7984         * config/rs6000/aix.h: Define PROFILE_HOOK.
7985         * config/rs6000/rs6000-protos.h: output_profile_hook new.
7986         * config/rs6000/rs6000.c (output_profile_hook): Define.
7987         (output_prolog): Do nothing for ABI_AIX as it is taken care by
7988         output_profile_hook.
7989         tm.texi : Explain new macro PROFILE_HOOK.
7990
7991 2001-02-06  Hans-Peter Nilsson  <hp@axis.com>
7992
7993         * extend.texi (Extended Asm): Do not say that semicolon is always
7994         a valid line-breaking character for GNU assemblers.  Use
7995         newline-tab as the most commonly supported syntax.  Use
7996         newline-tab rather than semicolon in multi-insn examples.
7997
7998 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7999
8000         * Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).
8001
8002 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8003             David Edelsohn  <edelsohn@gnu.org>
8004
8005         * config/rs6000/rs6000.c (rs6000_return_addr): Use PIC
8006         code for AIX, even without flag_pic.
8007
8008 2001-02-05  Jakub Jelinek  <jakub@redhat.com>
8009
8010         * c-typeck.c (common_type): push and pop binding level around
8011         calling common_type on function parameters.
8012
8013 Mon Feb  5 14:30:37 2001  Christopher Faylor <cgf@cygnus.com>
8014
8015         * config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter.
8016
8017 Mon Feb  5 11:23:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8018
8019         * config/mips/mips.c (override_options): Fix typo in last change.
8020         (mips_make_temp_file): Call fatal_io_error, not pfatal_with_name.
8021         (mips_asm_file_end): Likewise; also pass more args to fatal_io_error.
8022
8023 2001-02-05  Nathan Sidwell  <nathan@codesourcery.com>
8024
8025         * invoke.texi (-fdump-class-layout): Document.
8026         (-fdump-translation-unit): Use `=' as filename separator.
8027
8028 2001-02-05  Mark Mitchell  <mark@codesourcery.com>
8029
8030         * Makefile.in (s-mlib): Don't build multilibs if
8031         --disable-multilib.
8032         (DRIVER_DEFINES): Adjust accordingly.
8033         (gcc.o): Likewise.
8034         (protoize.o): Likewise.
8035         (unprotoize.o): Likewise.
8036         * configure.in: Recognize --enable-multilib.
8037
8038 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
8039
8040         * Makefile.in (DRIVER_DEFINES): Fix quoting.
8041
8042         * Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3.
8043         * configure.in: Remove --enable-libstdcxx_v3 support.
8044         * configure: Regenerated.
8045
8046 Sun Feb  4 15:52:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8047
8048         * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
8049         Call abort instead of fatal.
8050         (TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal.
8051         * config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise.
8052         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise.
8053         (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise.
8054         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
8055         * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise.
8056
8057         * diagnostic.h (set_internal_error_function): Renamed.
8058         * toplev.h (internal_error): Renamed from fatal.
8059         (pfatal_with_name): Deleted.
8060         (fatal_io_error): Now has printf-style arguments.
8061         * diagnostic.c (pfatal_with_name): Deleted.
8062         (fatal_io_error): Rework to have args in printf-style.
8063         (set_internal_error_function): Renamed from set_fatal_function.
8064         (internal_error): Renamed from fatal.
8065         (error_recursion, fancy_abort): Call internal_error instead of fatal.
8066         * dwarf2out.c (get_cfa_from_loc_descr): Likewise.
8067         * emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
8068         * expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
8069         * flow.c (verify_flow_info): Likewise.
8070         * config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
8071         * config/mips/mips.c (save_restore_insns): Likewise.
8072
8073         * except.c (duplicate_eh_handlers): Call abort instead of fatal.
8074         * flow.c (verify_flow_info): Likewise.
8075         * config/arm/arm.c (thumb_load_double_from_address): Likewise.
8076         * config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
8077         (avr_normalize_condition): Likewise.
8078         * config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
8079         * config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
8080         (limit_reload_class, double_reg_to_memory): Likewise.
8081         (print_operand_address, emit_1600_code_shift): Likewise.
8082         (gen_tst_reg, gen_compare_reg): Likewise.
8083         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
8084         * config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
8085         Deleted.
8086         * config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.
8087
8088         * c-parse.in (methoddef): Call fatal_error instead of fatal.
8089         * objc/objc-act.c (build_ivar_chain): Likewise.
8090         * dwarfout.c (dwarfout_init): Call fatal_io_error instead of
8091         pfatal_with_name.
8092         * graph.c (clean_graph_dump_file): Likewise.
8093         * profile.c (init_branch_prob): Likewise.
8094         * objc/objc-act.c (objc_init): Likewise.
8095
8096         * config/arm/arm.c (arm_override_options): Make errors non-fatal.
8097         * config/avr/avr.c (avr_override_options): Likewise.
8098         * config/c4x/c4x.c (c4x_expand_prologue): Likewise.
8099         * config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
8100         * config/h8300/h8300.c (h8300_init_once): Likewise.
8101         * config/mips/mips.c (override_options): Likewise.
8102         * config/i386/i386.c (override_options): Likewise, rework.
8103         * config/m68k/m68k.c (override_options): Likewise.
8104
8105         * config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
8106         instead of fatal.
8107         * config/mips/mips.c (print_operand): Likewise.
8108         * hash.c (hash_allocate): Don't check for failure returns from
8109         obstack functions that can't fail.
8110         (hash_table_init_n, hash_table_init): Likewise; also now return void.
8111         * hash.h (hash_table_init_n, hash_table_init): Now return void.
8112         * objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
8113         (get_object_reference): Likewise.
8114
8115 2001-02-04  Nick Clifton  <nickc@redhat.com>
8116
8117         * config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e,
8118         StrongARM1110, 10TDMI, and 1020T.
8119
8120 2001-02-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8121
8122         * mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif.
8123
8124 2001-02-04  Alexandre Oliva  <aoliva@redhat.com>
8125
8126         * config/sh/sh.md (movdf load split): Pass register number to
8127         FP_OR_XD_REGISTER_P.
8128
8129 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
8130
8131         * cppinit.c (BC): New macro.
8132         (builtin_array): Add __GXX_WEAK__.
8133         * cpplib.h (builtin_type): Add BT_WEAK.
8134         * cppmacro.c (builtin_macro): Handle BT_WEAK.
8135         * defaults.h (SUPPORTS_ONE_ONLY): Define.
8136         * varasm.c (SUPPORTS_ONE_ONLY): Do not define.
8137
8138 2001-02-03  Jakub Jelinek  <jakub@redhat.com>
8139
8140         * cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C.
8141
8142 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
8143
8144         * cpphash.h: Rename _ALIGN POOL_ALIGN.
8145         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
8146
8147 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
8148
8149         * cpphash.h: Rename ALIGN _ALIGN.
8150         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
8151
8152 Fri Feb  2 23:15:29 2001  Christopher Faylor <cgf@cygnus.com>
8153
8154         * config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross
8155         compilation environment.
8156         * config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow
8157         control over location of cygwin includes and libs.
8158
8159 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
8160
8161         * c4x.h (HARD_REGNO_CALL_PART_CLOBBERED): Fix typo.
8162
8163 2001-02-02  lars brinkhoff  <lars@nocrew.org>
8164
8165         * md.texi (Standard Names): remove reference to spur.md.
8166
8167 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
8168
8169         * c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define.
8170         (HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG.
8171         (INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise.
8172         * c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG.
8173         (c4x_expand_prologue, c4x_expand_epilogue): Likewise.
8174
8175 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
8176
8177         * c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand,
8178         c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register
8179         number before reload.
8180         (c4x_adjust_cost): Return zero before reload.
8181         * c4x.md (load_immed_address+1, load_immed_address+2): Do not
8182         split before reload.
8183
8184 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
8185
8186         * c4x.c (c4x_hard_regno_rename_ok): New.
8187         * c4x-protos.h (c4x_hard_regno_rename_ok): New.
8188         * c4x.h (HARD_REGNO_RENAME_OK): Define.
8189
8190 Fri Feb  2 20:03:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8191
8192         * diagnostic.h: Add missing "extern" in all declarations.
8193
8194 2001-02-02  Alex Samuel  <samuel@codesourcery.com>
8195
8196         * Makefile.in (gcc_gxx_target_include_dir): Generate dynamically
8197         as for gcc_gxx_include_dir.
8198
8199 2001-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
8200
8201         * cpp.texi, invoke.texi: Update -Wtraditional documentation.
8202
8203 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
8204
8205         * config/sh/sh.c (output_far_jump): Don't use braf on SH1.  Emit
8206         label before alignment to be used as the braf base address.
8207         * config/sh/sh.md (length): Use longer lengths for SH1 PIC far
8208         branches.
8209         (casesi_jump_2): Require at least TARGET_SH2.
8210
8211         * config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent
8212         truncation to 32-bit doubles on -m3e and -m4-single-only.
8213
8214 2001-02-02  Mark Mitchell  <mark@codesourcery.com>
8215
8216         * gcc.c (init_gcc_specs): New function.  Make -shared-libgcc
8217         the default when building a shared object.
8218         (init_spec): Use it.
8219         * testsuite/lib/g++.exp: Include the directory where libgcc
8220         is located to the LD_LIBRARY_PATH list.
8221         * invoke.texi (-shared-libgcc): Document the cases in which
8222         GCC defaults to using the shared libgcc.
8223
8224 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
8225
8226         * config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume
8227         unsigned is wide enough.
8228         (BITS_PER_SI): New.
8229         * config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI.
8230         (si_to_float): Likewise.
8231         (float_to_si, float_to_usi): Use BITS_PER_SI.
8232
8233 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
8234
8235         * dwarf2out.c: Added explanation of abbreviations.
8236         (def_cfa_1): Added comments listing DWARF2 instructions.
8237         (cfa_temp_reg): Removed in favor of cfa_temp.
8238         (cfa_temp_value): Removed in favor of cfa_temp.
8239         (cfa_temp): New global variable.
8240         (dwarf2out_frame_debug_expr): Added extensive introductory
8241         comments explaining the function's transformations.  Revised to
8242         use cfa_temp.  Added some rtx checking.  Generalize IOR case.
8243         (dwarf2out_frame_debug): Revised to use cfa_temp.
8244         (output_aranges): Cast as "unsigned" to avoid warning.
8245         * rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better
8246         explain which instructions must be marked.
8247
8248 2001-02-01  Richard Henderson  <rth@redhat.com>
8249
8250         * local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
8251         new instruction.
8252
8253 2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
8254
8255         * config/sh/crt1.asm (main_k): Modified so that start calls
8256         ___setup_argv_and_call_main.
8257
8258 2001-02-01  Neil Booth  <neil@daikokuya.demon.co.uk>
8259
8260         * cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader.
8261         * cpplex.c (_cpp_lex_token): New token picks up the saved flags,
8262         and AVOID_LPASTE is cleared on meeting an unescaped newline.
8263         * cppmacro.c (builtin_macro): Set builtin flags here.
8264         (paste_all_tokens): Preserve AVOID_LPASTE on pasted token.
8265         (replace_args): Clarify intent.
8266         (cpp_get_token): Macro expansion tokens get the saved flags.
8267         Update.
8268         * cppmain.c (scan_buffer): Remove now-redundant print.printed
8269         check.
8270
8271 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
8272
8273         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of
8274         2001-Jan-29.
8275
8276 Thu Feb  1 07:22:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8277
8278         * builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space
8279         returns Pmode pseudo, but we need ptr_mode.
8280         * explow.c (allocate_dynamic_stack_space): Use plus_constant.
8281         Remove bogus conversions; use HOST_WIDE_INT for size.
8282         Don't use TARGET if wrong mode.
8283
8284         * config/i386/i386.c (ix86_compute_frame_size): Allow
8285         stack_alignment_needed to be non-default even if size is zero.
8286
8287 2001-01-31  Alan Modra <alan@linuxcare.com.au>
8288
8289         * pa.c (hppa_init_pic_save): New function.
8290         * pa.h (hppa_init_pic_save): Declare.
8291         * pa.md (call, call_value, sibcall, sibcall_value): Use
8292         the above instead of duplicated code.
8293
8294         * pa.c (hppa_encode_label): Correct size of alloca buffer
8295         so we don't overrun it.  Correct leading `*' case.
8296         * pa.h (STRIP_NAME_ENCODING): Simplify now that we don't
8297         need to handle `*@'.
8298         (FUNCTION_NAME_P): Likewise.
8299
8300 2001-01-31  Richard Henderson  <rth@redhat.com>
8301
8302         * config.gcc (alpha-osf5): Use float-i128.h.
8303
8304         * config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
8305         * config/float-i32.h: Likewise.
8306         * config/float-i64.h: Likewise.
8307         * config/float-sh.h: Likewise.
8308         * config/float-sparc.h: Likewise.
8309
8310 2001-01-31  DJ Delorie  <dj@redhat.com>
8311
8312         * expmed.c (extract_bit_field): allow non-integral modes if we
8313         want to extract a whole register from itself.
8314
8315 2001-01-31  Jakub Jelinek  <jakub@redhat.com>
8316
8317         * c-typeck.c (set_init_index): If first is equal to last, assume as
8318         if it was not a range at all.
8319
8320 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
8321
8322         * config/fp-bit.c: Include tm.h.
8323         (float_to_si): Don't assume SImode is 32-bits wide.
8324         (float_to_usi): Likewise.
8325
8326 2001-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
8327
8328         * c-parse.in (structsp): Pedwarn when "enum foo" refers to an
8329         incomplete type.
8330         (typename): Call pending_xref_error after parsing typed_typespecs.
8331         * c-decl.c (lookup_tag): Give error immediately rather than
8332         leaving it pending if the tag of the wrong type is in the same
8333         binding level.
8334         (xref_tag): Don't pedwarn for forward declarations of enum types
8335         here.
8336         * gcc.texi (Actual Bugs): Remove entry for misuse of struct, union
8337         and enum tags.
8338
8339 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
8340
8341         * config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo.
8342
8343 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
8344
8345         * cpplib.c (T_ELIF): Move to STDC89, not that it matters.
8346         (_cpp_handle_directive): Suggest not using #elif with -Wtraditional.
8347
8348 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
8349
8350         * cpphash.h (struct cpp_reader): New saved_flags.
8351         * cppmacro.c (cpp_get_token): Use saved_flags to remember
8352         to avoid a paste after a pasted token.
8353
8354 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
8355
8356         * libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
8357         * libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
8358         Wtype_MIN instead of LONG_MIN.
8359
8360 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
8361
8362         * fixinc/fixincl.tpl: Add 2001 to copyright.  Change name of
8363         README file.
8364         * fixinc/fixincl.x: Regenerated.
8365         * fixinc/inclhack.def (irix_limits_const): New definition to
8366         convert "const" to "__const" in limits.h.
8367
8368 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
8369
8370         * fixinc/genfixes (AG): Fix "autogen4" thinko.
8371
8372 2001-01-30  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
8373
8374         * regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED
8375         when register dies in the insn.
8376
8377 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
8378
8379         * diagnostic.c (fatal): Fix word wrap.
8380
8381 2001-01-30  Alexandre Oliva  <aoliva@redhat.com>
8382
8383         * combine.c (try_combine): Fix SUBREG setting for
8384         HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD.
8385
8386 2001-01-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8387
8388         * jump.c (comparison_dominates_p): Don't try to handle UNKNOWN
8389         comparison codes.
8390
8391 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
8392
8393         * c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
8394         is not NULL.
8395         * toplev.c (decode_W_option): Update warn_larger_than
8396         unconditionally for each processed switch.
8397
8398 2001-01-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8399
8400         * pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
8401         to NULL_RTX.
8402         (hppa_expand_prologue): Delete code to save pic offset table register
8403         in the function prologue.
8404         * pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
8405         * pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
8406         table register at the beginning of the function after the prologue.
8407
8408 2001-01-29  lars brinkhoff  <lars@nocrew.org>
8409
8410         * tm.texi (PUSH_ROUNDING): Remove duplicate lines.
8411
8412 2001-01-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8413             Jeff Law <law@redhat.com>
8414
8415         * pa.md (return): Revise comment for trivial return.
8416         (return_internal): Non-trivial return pattern for non-PIC code.
8417         (return_internal_pic): Non-trivial return pattern for PIC code.
8418         It uses the PIC register to ensure it is restored after
8419         function calls.
8420         (epilogue): Generate appropriate return for PIC and non-PIC code.
8421
8422 Mon Jan 29 23:53:14 2001  Christopher Faylor <cgf@cygnus.com>
8423
8424         * config/i386/cygwin.h: Fix -mno-cygwin search path for link.
8425
8426 2001-01-29  DJ Delorie  <dj@redhat.com>
8427
8428         * combine.c (if_then_else_cond): Pass the correct mode to
8429         operand_subword() for constants.
8430
8431 Mon Jan 29 20:38:19 2001  Christopher Faylor <cgf@cygnus.com>
8432
8433         * config/i386/cygwin.h: Add w32api to include search.  Search different
8434         directories in a cross-build environment.
8435
8436 2001-11-29  Tim Josling  <tej@melbpc.org.au>
8437
8438         * tree.h (TYPE_STUB_DECL): Add documentation.
8439
8440 2001-11-29  Laurynas Biveinis  <lauras@softhome.net>
8441
8442         * sdbout.c (sdbout_one_type): Skip types with indeterminate size.
8443         (sdbout_field_types): Likwise.  Fix use of host_integerp.
8444
8445 2001-01-29  Thomas Pfaff  <tpfaff@gmx.net>
8446
8447         * mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
8448         cygwin.h.
8449
8450 2001-01-29  Jeffrey Oldham  <oldham@codesourcery.com>
8451
8452         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
8453         to use flag_gnu_linker.
8454
8455 2001-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
8456
8457         * cpplib.c (T_BAD_DIRECTIVE): Remove.
8458         (_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
8459
8460 2001-01-29  Joseph S. Myers  <jsm28@cam.ac.uk>
8461
8462         * tree.c, tree.h (build_parse_node): Remove; was identical to
8463         build_nt.
8464         * c-lang.c (start_cdtor), objc/objc-act.c
8465         (build_module_descriptor): Use build_nt instead of
8466         build_parse_node.
8467
8468 2001-01-29  Jakub Jelinek  <jakub@redhat.com>
8469
8470         * config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
8471         (testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
8472         not have any upper bits set.
8473
8474 2001-01-29  Phil Edwards  <pme@sources.redhat.com>
8475
8476         * COPYING.LIB:  Update to LGPL 2.1 from the FSF.
8477
8478 2001-01-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8479
8480         * stmt.c (estimate_case_costs): Use integer_minus_one_node.
8481
8482         * tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.
8483
8484         * tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
8485         (integer_minus_one_node): Define.
8486
8487 2001-01-28  Alexandre Oliva  <aoliva@redhat.com>
8488
8489         * Makefile.in (bootstrap2-lean): Fix typo.
8490
8491 2001-01-28  Neil Booth  <neil@daikokuya.demon.co.uk>
8492
8493         * cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
8494         : Don't set fe_value.
8495         * cpplib.h (AVOID_LPASTE): New flag.
8496         (struct cpp_hashnode): Remove fe_value.
8497         * cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
8498         * cppmacro.c (builtin_macro): Don't set flags here.
8499         (replace_args): Set AVOID_LPASTE flag on first token of an
8500         argument, and the token following it.
8501         (cpp_get_token): Set AVOID_LPASTE flag on first token of a
8502         macro expansion, and on the token following it.  Do it for
8503         builtins too.
8504         * cppmain.c (scan_buffer): Avoid pasting only flagged tokens.
8505
8506 2001-01-27  Richard Henderson  <rth@redhat.com>
8507
8508         * config/alpha/t-ieee: Remove multilibbing.
8509         (TARGET_LIBGCC2_CFLAGS): Add -mieee.
8510
8511 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8512
8513         * configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
8514
8515         * Makefile.in: Remove all dependencies on defaults.h.
8516         * builtins.c: Don't include defaults.h.
8517         * c-common.c: Likewise.
8518         * c-decl.c: Likewise.
8519         * c-pragma.c: Likewise.
8520         * c-typeck.c: Likewise.
8521         * combine.c: Likewise.
8522         * i386.c: Likewise.
8523         * frame-ia64.c: Likewise.
8524         * cppexp.c: Likewise.
8525         * crtstuff.c: Likewise.
8526         * dbxout.c: Likewise.
8527         * dwarf2out.c: Likewise.
8528         * dwarfout.c: Likewise.
8529         * emit-rtl.c: Likewise.
8530         * except.c: Likewise.
8531         * expr.c: Likewise.
8532         * final.c: Likewise.
8533         * frame-dwarf2.c: Likewise.
8534         * libgcc2.c: Likewise.
8535         * optabs.c: Likewise.
8536         * profile.c: Likewise.
8537         * sdbout.c: Likewise.
8538         * toplev.c: Likewise.
8539         * tradcif.y: Likewise.
8540         * tree.c: Likewise.
8541         * varasm.c: Likewise.
8542
8543 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8544
8545         * builtins.c (expand_builtin_fputs): Use size_one_node when
8546         transforming into fwrite.
8547
8548 2001-01-27  Joseph S. Myers  <jsm28@cam.ac.uk>
8549
8550         * extend.texi (Attribute Syntax): New section.
8551
8552 2001-01-27  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
8553
8554         * fixproto: Correctly install synthesised unistd.h and stdlib.h when
8555         they didn't need fixing.
8556
8557 2001-01-27  Janis Johnson <janis@us.ibm.com>
8558
8559         * config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
8560         if appropriate.
8561         * config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
8562         to remove macro definitions that are duplicated from elfos.h.
8563
8564 2001-01-27  Richard Henderson  <rth@redhat.com>
8565
8566         * config/i386/sco5gas.h: Move ...
8567         * config/usegas.h: ... here.
8568         * config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.
8569
8570 2001-01-27  Jakub Jelinek  <jakub@redhat.com>
8571
8572         * c-typeck.c (struct constructor_stack): Add range_stack member.
8573         (really_start_incremental_init): Clear it.
8574         (push_init_level): Save constructor_range_stack and clear it if
8575         pushing explicit braces.
8576         (pop_init_level): abort if constructor_range_stack is non-zero at
8577         explicit closing brace.  Restore saved constructor_range_stack if
8578         not implicit.
8579
8580 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
8581
8582         * expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
8583         into register was forced into memory.
8584
8585 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
8586
8587         * Makefile.in: Remove uses of + before $(MAKE).
8588
8589 2001-01-26  Richard Henderson  <rth@redhat.com>
8590
8591         * stmt.c (cost_table): Remove.
8592         (COST_TABLE, cost_table_initialized): New.
8593         (estimate_case_costs): Use the later instead of the former.
8594         (balance_case_nodes): Likewise.
8595
8596 2001-01-26  Richard Henderson  <rth@redhat.com>
8597
8598         * alias.c (objects_must_conflict_p): Read-only slots may not
8599         conflict despite having the same type.
8600
8601 2001-01-27  Michael Hayes  <mhayes@redhat.com>
8602
8603         * loop.c (loop_giv_reduce_benefit): Copy mode size into
8604         int variable.
8605         (check_ext_dependant_givs): Initialise u_start_val and
8606         u_end_val.
8607         (load_mems): Make last_max_reg unsigned.
8608         (try_swap_copy_prop): Use INSN_P and initialise set.
8609
8610 Fri Jan 26 23:22:58 2001  Denis Chertykov  <denisc@overta.ru>
8611
8612         * README.AVR : Removed.
8613
8614 Fri Jan 26 11:37:26 2001  Jeffrey A Law  (law@cygnus.com)
8615
8616         * pa-64.h (text_section): Remove declaration.
8617
8618         * pa.md (return_internal): Remove mode on PIC register use.
8619
8620 2001-01-25  lars brinkhoff  <lars@nocrew.org>
8621
8622         * tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN,
8623         ASM_CLOSE_PAREN): fix typos.
8624
8625 2001-01-25  Mark Mitchell  <mark@codesourcery.com>
8626
8627         * acconfig.h: Define `const' to the empty string if neither
8628         __STDC__ nor __cplusplus is defined.
8629         * config.in: Regenerated.
8630
8631 2001-01-25  David Edelsohn  <edelsohn@gnu.org>
8632
8633         * config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
8634         * collect2.c (main): Delete importf.  Add ".obj" file extension.
8635         (GCC_CHECK_HDR): Handle AIX V5 new magic number.
8636         (aix_std_libs): Add additional AIX libraries to skip.
8637         * config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
8638         * config/rs6000/aix51.h: New file.
8639
8640 2001-01-25  Michael Hayes  <mhayes@redhat.com>
8641
8642         * loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
8643         (loop_insn_emit_before): No longer static.
8644         (move_movables): Replace emit_insn_after with loop_insn_emit_after.
8645         (loop_givs_rescan, load_mems): Likewise.
8646         (check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
8647         (maybe_eliminate_biv_1):
8648         (move_movables): Replace emit_call_insn_before with
8649         loop_call_insn_hoist.
8650         * loop.h (loop_insn_emit_before): Add.
8651         * unroll.c (copy_loop_body): Replace emit_insn_before with
8652         loop_insn_emit_before.
8653
8654 2001-01-25  Neil Booth  <neil@daikokuya.demon.co.uk>
8655
8656         * diagnostic.c (fatal): Request preprocessed source.
8657
8658 Thu Jan 25 02:01:16 2001  J"orn Rennecke <amylaar@redhat.com>
8659
8660         * c-decl.c (duplicate_decls): If different_binding_level is nonzero,
8661         olddecl has argument types and newdecl has none, use the argument
8662         types from olddecl.
8663
8664 2001-01-24  Ulrich Drepper  <drepper@redhat.com>
8665
8666         * dwarf2out.c (prefix_of): New function.  Determine longest common
8667         prefix of the two arguments.  The units are whole path components.
8668         (output_file_names): When adding a new directory find the one entry
8669         with the longest common prefix already in the list.  Artificially
8670         generate entry if there is none for this prefix.
8671         Fix test to check whether the zeroth directory entry is used.
8672
8673 Wed Jan 24 23:51:55 2001  J"orn Rennecke <amylaar@redhat.com>
8674
8675         * reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
8676         Changed all callers.  Take it into account when deciding if a
8677         previously loaded value matches.
8678
8679 2001-01-24  Richard Henderson  <rth@redhat.com>
8680
8681         * reload.c (find_reloads_subreg_address): Fail the substitution
8682         if the resulting address is insufficiently aligned.
8683
8684 2001-01-24  DJ Delorie  <dj@redhat.com>
8685
8686         * combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
8687         check the original operand's mode also.
8688         * simplify-rtx.c (simplify_ternary_operation): Ditto.
8689
8690 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
8691
8692         * c-parse.in (cast_expr): Move compound literals from here ...
8693         (primary): ... to here.  Use standard terminology "compound
8694         literal" instead of "constructor expression".
8695
8696 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
8697
8698         * gcc.1, cpp.1: Regenerate.
8699
8700 2001-01-24  Alexandre Oliva  <aoliva@redhat.com>
8701
8702         * calls.c (emit_library_call_value_1): Memory slot for
8703         pass-by-reference argument should have the mode of the argument,
8704         not of the pointer to it.
8705
8706 2001-01-24  Tom Tromey  <tromey@redhat.com>
8707
8708         * gcc.texi (G++ and GCC): Mention gcj manual.
8709         (Standards): Link to section of manual mentioning gcj/Java
8710         compatibility.
8711
8712 2001-01-24  Jakub Jelinek  <jakub@redhat.com>
8713
8714         * cppfiles.c (_cpp_read_file): Add to dependencies if requested.
8715         * cppinit.c (cpp_start_read): Remove deps_add_dep call.
8716         * tradcpp.c (main): Add -imacros or -include'd dependencies
8717         for -M*.
8718         * cpp.texi (-M, -MM): Document -M -include behaviour.
8719
8720 2001-01-24  Roger Collins <roger@ProProject.com>
8721
8722         * config/i386/xm-i386.h: Make __i386__ a boolean macro.
8723
8724 2001-01-24  Will Cohen  <wcohen@redhat.com>
8725
8726         * config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
8727         whether registers are 32 bits or 64 bits in size.
8728
8729 2001-01-24  Ben Elliston  <bje@redhat.com>
8730
8731         * config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
8732
8733 2001-01-24  Richard Henderson  <rth@redhat.com>
8734
8735         * config/alpha/alpha.md (builtin_longjmp_internal): New.
8736         (builtin_longjmp): Use it instead of emit_indirect_jump.
8737
8738 2001-01-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8739
8740         * bb-reorder.c (make_reorder_chain_1): Handle case where
8741         jump edge goes to the same block as the fallthru edge.
8742
8743 2001-01-23  Jim Wilson  <wilson@redhat.com>
8744
8745         * dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
8746         * frame.h (__ia64_personality_v1): Add prototype.
8747         * libgcc2.c (ia64_throw_helper): Change personality declaration to
8748         prototype form.  Add void * cast to first argument to personality
8749         call.
8750         * real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
8751         (asctoe113): Likewise.
8752         * config/ia64/frame-ia64.c: Include eh-common.h.
8753         * config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
8754         prototypes.
8755         * config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
8756         to dump parameter.
8757         (itanium_split_issue): Add prototype.
8758         (gen_nop_type): Ifdef out.
8759         (find_best_packet): Initialize best_packet.
8760         (ia64_encode_section_info): New local string.  Use for ggc_alloc_string
8761         result.
8762         * config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
8763         * config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
8764         (flushrs): Add explicit stop bit at end.
8765         * config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
8766         trailing \ to >.
8767
8768 2001-01-23  Chris Demetriou  <cgd@broadcom.com>
8769
8770         * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
8771         of EH symbols.
8772         * libgcc2.c (__terminate_func): Make variable static.
8773         (__terminate_set_func): New function to set __terminate_func.
8774         * libgcc2.h (__terminate_func_ptr): New typedef.
8775         (__terminate_set_func): New function.
8776
8777 2001-01-23  Richard Henderson  <rth@redhat.com>
8778
8779         * flow.c (init_propagate_block_info): Don't consider unchanging
8780         memories for dead frame store elimination.
8781
8782 2001-01-23  Richard Henderson  <rth@redhat.com>
8783
8784         * varasm.c (UNIQUE_SECTION): Move default implementation ...
8785         * defaults.h: ... here.
8786
8787 2001-01-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
8788
8789         * c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
8790
8791 2001-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
8792
8793         * c-lex.c (lex_charconst): Fix typo: s/p/str.
8794
8795 2001-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8796
8797         * rs6000.h (rs6000_return_addr): Move prototype from here...
8798         * rs6000-protos.h (rs6000_return_addr): ...to here.
8799         (rs6000_init_expanders): Delete prototype.
8800
8801 2001-01-23  Nick Clifton  <nickc@redhat.com>
8802
8803         * invoke.texi: Replace , with \, inside @gccoptlist macros.
8804         (Spec Files): Document %B and %j and %. and %v3 and %M and
8805         %{S*&T} spec switches.
8806
8807 2001-01-24  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
8808
8809         * c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
8810
8811 2001-01-23  Chris Demetriou  <cgd@sibyte.com>
8812             Neil Booth  <neil@daikokuya.demon.co.uk>
8813
8814         * cpperror.c: Merge handlers of PEDWARN and WARNING.
8815         Have -Werror make pedantic warnings errors, like the
8816         rest of GCC.
8817
8818 2001-01-23  Phil Edwards  <pme@sources.redhat.com>
8819
8820         * c-tree.texi (IDENTIFIER_LENGTH):  Fix typo.
8821
8822 2001-01-23  Jakub Jelinek  <jakub@redhat.com>
8823
8824         * integrate.h (struct inline_remap): Add compare_src, compare_mode.
8825         * integrate.c (expand_inline_function): Initialize them.
8826         (subst_constants): If changing COMPARE so that both its arguments
8827         will be VOIDmode and the comparison mode will be lost, note
8828         compare_mode.  Use the recorded compare_mode to optimize
8829         IF_THEN_ELSE.
8830
8831 2001-01-23  Jason Merrill  <jason@redhat.com>
8832
8833         * dwarf2out.c (new_die): Use xcalloc.
8834         (output_die): Abort rather than emit a local reference to offset 0.
8835
8836 2001-01-17  Andrew Haley  <aph@redhat.com>
8837
8838         * libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
8839         of a saved register; return NULL instead.
8840         (copy_reg): Take a pointer to a source register rather than a
8841         frame_state.
8842         (next_stack_level): Remember the address in the stack frame of all
8843         saved registers.
8844         Use the saved register pointer array as the source of the CFA.
8845         (throw_helper): Rewrite.  Unwind once rather than twice and keep
8846         track of saved registers as we go.
8847
8848 2001-01-23  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
8849
8850         * c4x-protos.h (c4x_legitimize_reload_address): Remove.
8851         * c4x.c (c4x_legitimize_reload_address): Remove.
8852         * c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
8853         reload address for ldp(k) insn.
8854
8855 Mon Jan 22 20:53:47 2001  Jeffrey A Law  (law@cygnus.com)
8856
8857         * pa.md (return_internal): Add a USE of the PIC register to ensure
8858         it is restored after each call.
8859         (return expander): Corresponding changes.
8860
8861 2001-01-22  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8862
8863         * rs6000.h (INIT_EXPANDERS): Delete.
8864         (RETURN_ADDR_RTX): Call rs6000_return_addr().
8865         * rs6000.c (rs6000_override_options): Call *_machine_status from
8866         here...
8867         (rs6000_init_expanders): ...instead of here. Delete.
8868         (rs6000_mark_machine_status): New function.
8869         (rs6000_init_machine_status): Use xcalloc.
8870         (rs6000_return_addr): Generate RTX for the return address.
8871         (rs6000_ra_ever_killed): New, check if LR was ever destroyed.
8872         (rs6000_stack_info): Use it.
8873
8874 2001-01-22  Thomas Pfaff  <tpfaff@gmx.net>
8875
8876         * gthr-win32.h: Include errno.h to get a declaration for
8877         EINVAL and _mingw.h if the target is mingw32.
8878
8879 2001-01-22  Andres Felipe Vargas <avargas@teletulua.com.co>
8880
8881         * cpp.texi: Correct typos.
8882
8883 Mon Jan 22 13:59:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8884
8885         * explow.c (probe_stack_range): Ensure value passed to
8886         stack_check_libfunc is ptr_mode, not Pmode.
8887
8888 Mon Jan 22 16:53:06 2001  J"orn Rennecke <amylaar@redhat.com>
8889
8890         * recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
8891         case, don't use operand_subword to calculate a SUBREG that is
8892         wider than a word.
8893
8894         * rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
8895
8896 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
8897
8898         * c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
8899         (c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
8900         valid.  If not replace it by equivalent insns.
8901
8902 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
8903
8904         * c4x.c (c4x_check_legit_addr): Only check CONST.  Not if CONST
8905         contains SYMBOL_REF, LABEL_REF and CONST_INT.
8906         (c4x_U_constraint, symbolic_address_operand): Likewise.
8907         (c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
8908         memory.
8909         (c4x_r11_set_p, c4x_check_laj_p): New functions.
8910         * c4x-protos.h (c4x_check_laj_p): Add prototype.
8911         * c4x.md (in_annul_slot_3): Do not allow auto-increment in last
8912         anulling slot because of silicon bug.
8913         (laj, lajv): Call c4x_check_laj_p to check for silicon bug.
8914
8915 2001-01-22  Alan Modra <alan@linuxcare.com.au>
8916
8917         * cppexp.c (parse_charconst):  Change `mask' type to agree
8918         with parse_escape.
8919
8920 2001-01-21  Richard Henderson  <rth@redhat.com>
8921
8922         * config/i386/i386.c (ix86_asm_file_end): Disable putting
8923         pic_label_name in a linkonce section.
8924
8925 2001-01-17  Philipp Thomas  <pthomas@suse.de>
8926
8927         * aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
8928         found in libintl.
8929         * configure: Regenerate.
8930
8931 Sun Jan 21 02:38:56 2001  J"orn Rennecke <amylaar@redhat.com>
8932
8933         * expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
8934         uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
8935
8936 Sun Jan 21 09:44:17 2001  Denis Chertykov  <denisc@overta.ru>
8937
8938         * config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
8939         If REVERSE nonzero then condition code in X must be reversed.
8940         (encode_section_info): Optimise if/else.
8941         (avr_function_value): Fix formatting.
8942
8943         * config/avr/avr.md (branch): Call to ret_cond_branch changed.
8944         (difficult_branch): Likewise.
8945         (rvbranch): Likewise.
8946         (difficult_rvbranch): Likewise.
8947
8948         * config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
8949
8950         * config/avr/libgcc.S: Fix comment.
8951
8952 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
8953
8954         * sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
8955
8956 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
8957
8958         * cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
8959
8960 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
8961
8962         * aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
8963         * configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
8964         * configure, config.in: Regenerate.
8965         * Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
8966         (LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
8967         (strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
8968         (doprint.o): New rule.
8969
8970 2001-01-20  Joseph S. Myers  <jsm28@cam.ac.uk>
8971
8972         * c-typeck.c (digest_init): Handle boolean types as scalars.
8973
8974 Sat Jan 20 12:46:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8975
8976         * stmt.c (expand_return): Don't return anything if size is zero.
8977         Delete redundant assignment to BYTES.
8978         * expr.c (move_block_from_reg): Do nothing if NREGS is zero.
8979
8980 2001-01-20  Marek Michalkiewicz  <marekm@linux.org.pl>
8981
8982         * config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
8983         the same as the default library function names.
8984         * config/avr/avr.md: Document special characters after '%'.
8985         (mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
8986         knowing which of the call-used registers are really clobbered.
8987         (divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
8988         New.  Both quotient and remainder from one libgcc.S call.
8989         * config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
8990         clobber as few registers as possible.
8991         * config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
8992
8993 2001-01-20  Neil Booth  <neil@daikokuya.demon.co.uk>
8994
8995         * cppmacro.c (funlike_invocation_p): Don't move back up to the
8996         context of the top of the stack.
8997
8998 2001-01-20  Jakub Jelinek  <jakub@redhat.com>
8999
9000         * function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
9001         (fixup_var_refs_insns): ...here.
9002
9003 2001-01-20  Zack Weinberg  <zack@wolery.stanford.edu>
9004
9005         * function.c (fixup_var_refs_insns): Break up into
9006         fixup_var_refs_insn [body of loop], fixup_var_refs_insns
9007         [loop over entire insn list], and fixup_var_refs_insns_with_hash
9008         [loop over hash table entries].
9009         (fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
9010         fixup_var_refs_insns_with_hash, to match above changes.
9011
9012 2001-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9013
9014         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
9015         (libgcc.a): Likewise.
9016         (stmp-multilib): Likewise.
9017         (STAGE2_FLAGS_TO_PASS): Likewise.
9018
9019 2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
9020
9021         * config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
9022         temporary if no_new_pseudos.
9023
9024 2001-01-19  Neil Booth  <neil@daikokuya.demon.co.uk>
9025
9026         * cppinternals.texi: Update.
9027
9028 2001-01-19  Richard Earnshaw  <rearnsha@arm.com>
9029
9030         * arm.c (arm_init_builtins): Re-enable builtins.
9031
9032 Fri Jan 19 13:02:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9033
9034         * rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
9035         * flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
9036         element to be null, and always expect an EXPR_LIST.
9037         * rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
9038         * sched-deps.c (sched_analyze_1): Likewise.
9039         * sched-rgn.c (check_live_1, update_live_1): Likewise.
9040
9041         * regclass.c (max_set_parallel): New variable.
9042         (reg_scan): Take it into account in computation of max_parallel.
9043         (reg_scan_mark_refs, case SET): Compute it.
9044
9045         * alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
9046         args are REG.
9047         * expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
9048         * function.c (assign_parms): Use INTVAL for a CONST_INT.
9049
9050 2001-01-19  Jason Merrill  <jason@redhat.com>
9051
9052         * dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
9053         for the abstract instance of an inline function.
9054
9055 Fri Jan 19 14:31:35 2001  Alexandre Oliva  <aoliva@redhat.com>
9056                           J"orn Rennecke <amylaar@redhat.com>
9057
9058         * reload1.c (move2add_note_store): Treat all registers directly or
9059         indirectly derived from a base register as members of the same set
9060         of values.
9061         (reload_cse_move2add): Adjust accordingly.  Take mode and offset
9062         of base register into account.
9063
9064 Fri Jan 19 09:18:42 2001  J"orn Rennecke <amylaar@redhat.com>
9065
9066         * alias.c (find_base_value): Recognize TRUNCATE.
9067         (record_set): In PLUS case, invalidate if other summand is also a
9068         base value.
9069
9070 Thu Jan 18 06:43:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9071
9072         * flow.c (mark_set_1, case PARALLEL): New case; rework to allow
9073         entry to be EXPR_LIST.
9074         * rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
9075         be an EXPR_LIST (but not null, which other code doesn't allow).
9076         (note_stores): Properly handle PARALLEL in SET.
9077         Recursively call for top-level PARALLEL.
9078         * sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
9079         * sched-rgn.c (check_live_1, update_live_1): Likewise.
9080
9081         * config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
9082
9083 2001-01-18  Neil Booth  <neil@daikokuya.demon.co.uk>
9084
9085         * cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
9086         not pfile->skipping (== 0).
9087
9088 2001-01-17  Nick Clifton  <nickc@redhat.com>
9089
9090         * config/rs6000/rs6000.c: Add prototypes for {init|free}_
9091         machine_status.
9092
9093 2001-01-17  Jim Wilson  <wilson@redhat.com>
9094
9095         * invoke.texi (IA-64 options): Improve.
9096
9097 2001-01-17  Tom Tromey  <tromey@redhat.com>
9098
9099         * invoke.texi (Optimize Options): Use `{}' to around @samp
9100         argument.
9101
9102 2001-01-17  Aldy Hernandez  <aldyh@redhat.com>
9103
9104         * invoke.texi (-fno-guess-branch-probability): New option.
9105
9106 Wed Jan 17 13:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9107
9108         * combine.c (try_combine): Don't set i3_subst_into_i2 for
9109         case of making new double-word constant.
9110         Revert last change: instead just test i3_subst_into_i2.
9111
9112 2001-01-17  Jakub Jelinek  <jakub@redhat.com>
9113
9114         * config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
9115         Use q constraints instead of r.
9116
9117 Tue Jan 16 22:23:04 2001  Alan Modra (alan@linuxcare.com.au)
9118
9119         * config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
9120         (machine_function): Define.
9121         (PIC_OFFSET_TABLE_SAVE_RTX) : Define.
9122         * config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
9123         pa_free_machine_status): New functions.
9124         (override_options): Set {init,mark,free}_machine_status to above.
9125         (hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
9126         PIC_OFFSET_TABLE_REGNUM_SAVED.
9127         * config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
9128         PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
9129         * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
9130         references to PIC_OFFSET_TABLE_REGNUM_SAVED.
9131         * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
9132
9133 2001-01-15  DJ Delorie  <dj@redhat.com>
9134
9135         * Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
9136         (cpp.1): Ditto.
9137         (gcc.1): Ditto.
9138
9139 Tue Jan 16 17:20:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9140
9141         * flow.c (propagate_on_insn): Make trying to delete a prologue
9142         or epilogue insn an ICE, not a warning.  Allow doing this if
9143         the current function returns with stack pointer depressed.
9144
9145         * combine.c (try_combine): If i3_subst_into_i2, properly check for
9146         I3 having more than one SET.
9147
9148 2001-01-16  Jim Wilson  <wilson@redhat.com>
9149
9150         * invoke.texi: Document IA-64 options.
9151
9152         * config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
9153         (fixup_errata): Delete TARGET_A_STEP use.
9154         * config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
9155         (TARGET_SWITCHES): Delete -ma-step option.
9156         * config/ia64/ia64.md (all FP patterns): Delete %B0.
9157         (movqicc_astep, movqi_internal_astep, movhicc_astep,
9158         movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
9159         movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
9160         movdfcc_astep, movdf_internal_astep, movtfcc_astep,
9161         movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
9162         Delete.
9163         (movqi_internal, movhi_internal, movsi_internal, movdi_internal,
9164         movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
9165         cmovsi_internal): Delete ! TARGET_A_STEP check.
9166
9167 2001-01-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9168
9169         * gcc.texi (Bug Lists): Do not mention newsgroups nor the
9170         possibility to report bugs via postal mail. Change a URL and
9171         merge in a nearly duplicate statement...
9172         (Bug Reporting): ...from here.
9173         (Service): Refer to the Bug Reporting section instead of
9174         duplicating an URL.
9175         (Contributing): Remove trivial explanations concerning snapshots.
9176
9177 2001-01-16  Alan Modra <alan@linuxcare.com.au>
9178
9179         * cppmain.c (general_init): Don't use ANSI prototype.
9180
9181 2001-01-16  Tom Tromey  <tromey@redhat.com>
9182
9183         * gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
9184
9185 2001-01-16  Richard Henderson  <rth@redhat.com>
9186
9187         * config/i386/i386.h: Fix comment typo.
9188         * config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
9189         (ashr+compare patterns): Match CCGOCmode not CCNOmode.
9190
9191 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
9192
9193         * gcc.c:  Revert previous -fsyntax-only-related change; move
9194         to cp/g++spec.c.
9195
9196 2001-01-16  Jakub Jelinek  <jakub@redhat.com>
9197
9198         * config/i386/i386.c (fcmov_comparison_operator): Only initialize
9199         inmode after checking GET_CODE (op).
9200
9201 2001-01-16  Richard Henderson  <rth@redhat.com>
9202
9203         * flow.c (struct propagate_block_info): Add mem_set_list_len.
9204         (MAX_MEM_SET_LIST_LEN): New.
9205         (propagate_one_insn): Update mem_set_list_len.
9206         (invalidate_mems_from_autoinc): Likewise.
9207         (invalidate_mems_from_set): Likewise.
9208         (mark_used_regs): Likewise.
9209         (init_propagate_block_info): Likewise.  Stop collecting memories
9210         when we reach MAX_MEM_SET_LIST_LEN.
9211         (mark_set_1): Likewise.
9212
9213 2001-01-16  Richard Henderson  <rth@redhat.com>
9214
9215         * unroll.c (precondition_loop_p): Fail if no iteration
9216         variable found.
9217
9218 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
9219
9220         * gcc.c:  When -fsyntax-only is given, do not complain about
9221         unused libraries.
9222
9223 2001-01-15  Richard Henderson  <rth@redhat.com>
9224
9225         * config/i386/i386.c (asm_output_function_prefix): Remove.
9226         (ix86_asm_file_end): New.
9227         (load_pic_register): Generate pic_label_name into a
9228         staticly allocated buffer.
9229         * config/i386/i386-protos.h: Update.
9230         * config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
9231         (ASM_FILE_END): New.
9232         * config/i386/i386afe.h: New file.
9233         * config.gcc (i?86-*-elf) [tm_file]: Use it.
9234         (i?86-*-{freebsd,linux*,moss*}): Likewise.
9235         * config/elfos.h (ASM_FILE_END): Undef before redefinition.
9236         * config/i386/cygwin.h (ASM_FILE_END): Likewise.
9237         * config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
9238         * config/i386/sco5.h (ASM_FILE_END): Likewise.
9239         * config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
9240
9241 2001-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
9242
9243         * Makefile.in (install-man): Remove explicit dependency on
9244         $(srcdir)/gcc.1.
9245
9246         * configure.in, configure: Revert previous patch requiring perl
9247         5.6.0.
9248
9249 2001-01-12  Aldy Hernandez  <aldyh@redhat.com>
9250
9251         * toplev.c (flag_guess_branch_prob): New.
9252         (f_options): Add guess-branch-probability option.
9253         (rest_of_decl_compilation): Only estimate branch probability if
9254         flag set.
9255         (main): set flag_guess_branch_prob.
9256
9257         * flags.h (flag_guess_branch_prob): New.
9258
9259 2001-01-15  DJ Delorie  <dj@redhat.com>
9260
9261         * gcc.texi (Makefile): Add documentation for Makefile targets.
9262
9263 2001-01-15  Philip Blundell  <philb@gnu.org>
9264
9265         * config/arm/arm.c (arm_finalize_pic): New arg "prologue".
9266         (is_pic): Delete.
9267         * config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
9268         (is_pic): Delete declaration.
9269         * config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
9270         (OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
9271         * config/arm/arm.md (builtin_setjmp_receiver): New.
9272
9273 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
9274
9275         * arm.c (use_return_insn): Don't try to determine the function type
9276         until after reload has completed.
9277         (arm_output_epilogue): Don't adjust the sp value recovered from the
9278         stack.
9279         (emit_multi_reg_push): Don't record dwarf information for the pc.
9280         * arm.md (eh_epilogue): The function type may have changed, so it
9281         needs to be recalculated.
9282         * arm/netbsd.h (DWARF2_UNWIND_INFO): Delete.  Can now use dwarf2
9283         unwind tables on arm/netbsd.
9284
9285 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
9286
9287         * arm.md (cbranchsi4): Correct calculation of branch ranges.
9288         (negated_cbranchsi4): Likewise.
9289
9290 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
9291
9292         * config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
9293         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
9294         (ASM_SPEC): Call subtarget_extra_asm_spec.  Don't
9295         pass -mapcs-* options to assembler.
9296         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
9297         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
9298         (ASM_SPEC): Call subtarget_extra_asm_spec.
9299
9300 2001-01-15  Andreas Jaeger  <aj@suse.de>
9301
9302         * config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
9303         warnings.
9304         (ix86_expand_builtin): Likewise.
9305
9306         * gencodes.c (output_predicate_decls): Make i size_t to avoid
9307         warning about comparison between signed and unsigned.
9308
9309 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
9310
9311         * expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
9312
9313 2001-01-14  Ralf Baechle <ralf@gnu.org>
9314
9315         * config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
9316         SUBTARGET_CPP_SPEC apropriatly.
9317
9318 2001-01-12  Mark Mitchell  <mark@codesourcery.com>
9319
9320         * varasm.c (make_decl_rtl): Fix typo in last change.
9321
9322 2001-01-14  Jeffrey Oldham  <oldham@codesourcery.com>
9323
9324         * defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
9325         linker supports the init_priority C++ attribute.
9326         * tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
9327         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
9328         linker does not support init_priority C++ attribute.
9329
9330 Sun Jan 14 22:31:30 2001  J"orn Rennecke <amylaar@redhat.com>
9331
9332         * Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
9333
9334 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
9335
9336         * c-parse.in (finish_parse): Add comment about cpp_destroy.
9337         * cp/lex.c (finish_parse): Similarly.
9338         * cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
9339         Return the number of errors encountered.
9340         * cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
9341         * cppmain.c (main): Don't call cpp_destroy.
9342
9343 2001-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
9344
9345         * configure.in: Require at least perl 5.6.0 to regenerate
9346         manpages.
9347         * configure: Regenerate.
9348
9349 2001-01-14  Richard Henderson  <rth@redhat.com>
9350
9351         * genrecog.c (DT_veclen_ge): New.
9352         (add_to_sequence) [MATCH_PARALLEL]: Generate one.
9353         (maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
9354         (nodes_identical_1): Handle DT_veclen_ge.
9355         (write_cond, debug_decision_2): Likewise.
9356
9357 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
9358
9359         * arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete.  Replace
9360         with ...
9361         (ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
9362
9363 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
9364
9365         * cppmain.c (do_preprocessing): New function; most of the old
9366         main.
9367         (main): Call it to do most of the work.
9368         (cb): Move from global scope to set_callbacks ().
9369         (setup_callbacks): Get the callback pointer.
9370         (general_init, printer_init): Clean up code and comments.
9371
9372 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
9373
9374         * config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
9375         compiling PIC.
9376
9377 2001-01-14  Kazu Hirata  <kazu@hxi.com>
9378
9379         * config/h8300/h8300.c (get_shift_alg): Update comments.
9380
9381 Sun Jan 14 06:20:49 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9382
9383         * ggc-page.c (alloc_annon): Call perror and correctly call exit.
9384         (alloc_page, ggc_alloc): Add casts to remove warnings.
9385
9386 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
9387
9388         * combine.c (simplify_comparison): Don't change `code' when
9389         can't reverse comparison.
9390
9391 2001-01-14  Richard Henderson  <rth@redhat.com>
9392
9393         * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
9394         update all call sites.  Return true for all non-label constants.
9395
9396 Sun Jan 14 10:09:48 MET 2001  Jan hubicka  <jh@suse.cz>
9397
9398         * i386.c (ix86_expand_compare): Add bypass_test and second_test
9399         parameters.
9400         (ix86_expand_branch): Update.
9401         (ix86_expand_setcc): Update to handle multiple test conditions.
9402         (expand_int_movcc): Likewise.
9403         (expand_fp_movcc): Likewise.
9404         * i386-protos.h (ix86_expand_compare): New.
9405         * i386.md (andqi_?_slp, orqi_?_slp): New.
9406         (conditional trap expander): Update call to ix86_expand_compare.
9407
9408 2001-01-14  Richard Henderson  <rth@redhat.com>
9409
9410         * config/vax/vax.md: Use nonimmediate_operand instead of
9411         general_operand in destinations.
9412
9413         * config/vax/vax.md (indirect_jump): Use register_operand.
9414
9415         * config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
9416         * config/vax/vax.md (call_pop): Turn into an expander.
9417         (call_value_pop): Likewise.
9418         (call, call_value): New.
9419
9420 2001-01-14  Andreas Jaeger  <aj@suse.de>
9421
9422         * config/i386/i386.c (ix86_split_fp_branch): Remove unused
9423         variables.
9424         (ix86_fp_compare_mode): Add unused attribute.
9425         (ix86_expand_fp_movcc): Remove unused variable.
9426         (ix86_expand_builtin): Make fcode unsigned.
9427
9428         * expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
9429         (expand_expr): Add cast to avoid signed warning.
9430         (store_field): Likewise.
9431         (store_constructor_field): Likewise.
9432         (store_constructor): Likewise.
9433         (store_expr): Likewise.
9434         (clear_storage): Likewise.
9435         (emit_group_store): Likewise.
9436         (emit_group_load): Likewise.
9437
9438 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
9439
9440         * c-common.c: Move format checking code to ...
9441         * c-format.c: ... here.  New file.  Reorder some functions and
9442         declarations.
9443         (decl_handle_format_attribute, decl_handle_format_arg_attribute):
9444         New functions.
9445         * c-common.h (decl_handle_format_attribute,
9446         decl_handle_format_arg_attribute): Declare.
9447         * Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
9448         (c-common.o): Adjust dependencies.
9449         (c-format.o): New list of dependencies.
9450
9451 2001-01-13  Jakub Jelinek  <jakub@redhat.com>
9452
9453         * unroll.c (loop_iterations): If we cannot prove iteration variable
9454         is set once in each iteration, punt.
9455
9456 Sun Jan 14 00:23:15 2001  Denis Chertykov  <denisc@overta.ru>
9457
9458         * config/avr/avr.md ("strlenhi"): Remove clobber of input address.
9459         (*strlenhi): Remove clobber (which was buggy) of output address.
9460
9461 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
9462
9463         * Makefile.in (generated-manpages): Add gcc.1
9464         ($(srcdir)/gcc.1): New target.
9465         (maintainer-clean): Delete $(srcdir)/gcc.1.
9466         * gcc.texi: Add macros @gccoptlist and @gol.
9467         * invoke.texi: Include option summary in manpage.  Mark up option
9468         summary with @gccoptlist and @gol.  Use @r in one place where
9469         appropriate.
9470         * texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
9471         * gcc.1: Generate from invoke.texi.
9472
9473 2001-01-13  Richard Henderson  <rth@redhat.com>
9474
9475         * ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
9476         (struct page_entry): Add group member.
9477         (struct page_group): New.
9478         (struct globals): Add page_groups member.
9479         (alloc_anon): Only define for using mmap; remove valloc call.
9480         (page_group_index): New.
9481         (set_page_group_in_use): New.
9482         (clear_page_group_in_use): New.
9483         (alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
9484         (free_page, release_pages): Likewise.
9485         * configure.in (with-gc): Default to ggc-page always.
9486
9487 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
9488
9489         * reload1.c (replace_pseudos_in_call_usage): Use
9490         reg_equiv_constant and reg_equiv_address, and don't try
9491         regno_reg_rtx first.
9492
9493 2001-01-13  Richard Henderson  <rth@redhat.com>
9494
9495         * ggc-page.c (alloc_page): Round up allocation size to one page.
9496         Set e->order on extra pages.
9497
9498 2001-01-13  Richard Henderson  <rth@redhat.com>
9499
9500         * genrecog.c (nodes_identical): Expand commentary.
9501         (write_switch): Watch out for identical nodes.
9502
9503 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
9504
9505         * cppfiles.c (_cpp_fake_include): New function.
9506         * cpphash.h (_cpp_fake_include): New.
9507         * cpplib.c (do_line): Call _cpp_fake_include when entering
9508         header files in preprocessed input.
9509         * cppmain.c (cb_pragma_implementation): Remove handling.
9510         (setup_callbacks): Don't register pragmas.
9511
9512 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
9513
9514         * extend.texi: Udate for CPP.
9515
9516 2001-01-13  Andreas Jaeger  <aj@suse.de>
9517
9518         * reload1.c: Add prototype for replace_pseudos_in_call_usage.
9519
9520         * regmove.c: Add prototype for replace_in_call_usage.
9521
9522 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
9523
9524         * cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
9525         struct cpp_chunk, struct htab, struct toklist,
9526         struct cpp_context, CPP_STACK_MAX, struct lexer_state,
9527         struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
9528         CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
9529         ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
9530         (struct macro_args): Delete.
9531         * cpphash.h: See above.
9532
9533 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
9534
9535         * cppmain.c (struct printer): Remove no_line_dirs.
9536         (options, cb): New.
9537         (main, setup_callbacks, scan_buffer, printer_init, cb_define)
9538         : Use options rather than CPP_OPTION.
9539         (setup_callbacks): Use cb rather than pfile->cb.
9540         (main): No need to check for a buffer.  Use cpp_errors.
9541         (printer_init): Don't set no_line_dirs.
9542         (maybe_print_line): Use options not no_line_dirs.
9543         (cb_file_change): Don't call print_line if -P.
9544
9545 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
9546
9547         * c-lex.c (init_c_lex): Use cpp_get_callbacks to set
9548         callbacks.
9549         * c-parse.in (finish_parse): Use cpp_errors.
9550         (__yylex): Use return value of cpp_pop_buffer.
9551         * cp/lex.c (finish_parse): Use cpp_errors.
9552         * cp/spew.c (read_token): Use return value of cpp_pop_buffer.
9553
9554 Sat Jan 13 16:57:40 2001  Denis Chertykov  <denisc@overta.ru>
9555
9556         * README.AVR: URLs corrected.
9557
9558 Sat Jan 13 07:30:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9559
9560         * c-decl.c (start_function): Don't warn if old prototype is builtin
9561         that's not in C's namespace.
9562         * libgcc2.c (_varargs): Update definition of __builtin_saveregs.
9563         (_bb): Add prototype for ctime.
9564         * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
9565
9566 Sat Jan 13 09:53:32 MET 2001  Jan Hubicka  <jh@suse.cz>
9567
9568         * i386.c (ix86_fp_comparison_arithmetics_cost,
9569         ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
9570         ix86_fp_comparison_cost): New functions.
9571         (ix86_expand_fp_compare): Use the costs to choose best bethod; add
9572         two new parameters SECOND_TEST and BYPASS_TEST; allow generating
9573         two-branch sequences; make static.
9574         (ix86_use_fcomi_compare): Do decision according to the costs.
9575         (split_fp_branch): New.
9576         * i386.md (compare-and-branch patterns): Use split_fp_branch.
9577         * i386-protos.h (ix86_expand_fp_compare): Remove
9578         (ix86_split_fp_branch): Declare.
9579
9580         * i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
9581         and ix86_comparison_operator.
9582
9583         * i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
9584         to make it cheaper.
9585
9586         * i386.c (put_condition_code): Output properly the unordered/ordered
9587         compares in fp case.
9588         (ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
9589
9590         * tm.texi (REVERSE_CONDITION): Document.
9591         * i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
9592         in -ffast-math mode.
9593         * i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
9594
9595 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
9596
9597         * config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
9598
9599         * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
9600         optimized away.
9601
9602         * config/sh/sh.c (mova_p): Fix test for mova_const.
9603
9604 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
9605
9606         * fix-header.c (read_scan_file): Use cpp_get_callbacks and
9607         cpp_get_options rather than dereferencing pfile and using
9608         CPP_OPTION.
9609         * scan-decls.c (scan_decls): Use return value of
9610         cpp_pop_buffer rather than CPP_BUFFER.
9611
9612 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
9613
9614         * cppinit.c (cpp_handle_option): help_only is now part of the
9615         cpp_options structure.
9616         * cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
9617         cpp_set_callbacks): New functions.
9618         * cpplib.h (cpp_callbacks): Break out as a named structure.
9619         (cpp_options): Move help_only here from cpp_reader.
9620         (CPP_FATAL_ERRORS): Update to use cpp_errors.
9621         (cpp_errors, cpp_get_options, cpp_get_callbacks,
9622         cpp_set_callbacks): New prototypes.
9623         * cppmain.c (main): Update for help_only.
9624
9625 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
9626
9627         * Makefile.in (info, maintainer-clean, install-info, uninstall):
9628         Also build and remove and install and uninstall c-tree.info and
9629         cppinternals.info.
9630         ($(srcdir)/gcc.info): Add dependency on contrib.texi.
9631         ($(srcdir)/cppinternals.info): New target.
9632         * c-tree.texi: Change file name used when makeinfo used without -o
9633         from ir.info to c-tree.info.  Add info directory entry.
9634         * cppinternals.texi: Add info directory entry.
9635         * .cvsignore: Update.
9636
9637 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
9638
9639         * c-typeck.c (store_init_value): Don't require constant initializer
9640         elements with -pedantic -std=c99.
9641         (digest_init): Change error about non-constant initializer elements
9642         into pedwarn.
9643         (constructor_range_end): Remove.
9644         (constructor_incremental, designator_depth,
9645         designator_errorneous): New variables.
9646         (struct constructor_stack): Remove range_end, add incremental.
9647         (struct constructor_range_stack, constructor_range_stack): New.
9648         (struct initializer_stack): Add constructor_range_stack.
9649         (finish_init): Set it.
9650         (start_init): Likewise.  require_constant_elements for non-static
9651         trees only if not flag_isoc99.
9652         (really_start_incremental_init): Remove constructor_range_end, add
9653         constructor_incremental.
9654         (pop_init_level): Likewise.
9655         (push_init_level): Likewise.  If implicit and the subobject had some
9656         value set already, preinitialize the level with it.
9657         Warn about missing braces only if not pushing due to designators.
9658         (set_designator, push_range_stack): New functions.
9659         (set_init_label): Use them.
9660         (set_init_index): Likewise.  Remove constructor_range_end.
9661         Error if designator index is outside of array bounds.
9662         (add_pending_init): Compare values of purpose index trees, not the
9663         trees themselves.  Allow overwriting of already initialized element.
9664         Issue a warning if it had side-effects.
9665         (set_nonincremental_init, set_nonincremental_init_from_string): New
9666         functions.
9667         (pending_init_member): Rename to...
9668         (find_init_member): ...this function.  Call set_nonincremental_init
9669         if necessary.  Compare values of purpose index trees, not the trees
9670         themselves.  Return the actual value, not just non-zero if something
9671         is found.
9672         (output_init_element): Remove checks for duplicates.
9673         If field has zero size, only check the initializer for correctness.
9674         Call set_nonincremental_init if necessary.  Push RECORD/ARRAY into AVL
9675         if constructor_incremental is zero.  Change error about initializers
9676         not computable at load time into pedwarn.
9677         (output_pending_init_elements): Compare bit positions, not
9678         FIELD_DECLs to take into account zero-sized fields.
9679         (process_init_element): Use constructor_range_stack to fill all
9680         ranges in the designator lists from current level up.
9681         * extend.texi: Update documentation for labeled elements.
9682
9683 2001-01-12  Alexandre Oliva  <aoliva@redhat.com>
9684
9685         * calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
9686         to function usage for arguments passed by reference.  Optimize
9687         callee-copied arguments.
9688         * regmove.c (replace_in_call_usage): New function.
9689         (fixup_match_1): Call it.
9690         * cse.c (cse_insn): Canonicalize registers in function usage.
9691         * reload1.c (replace_pseudos_in_call_usage): New function.
9692         (reload): Call it.
9693
9694         * Makefile.in: Reverted yesterday's wrong patch.  Installed the
9695         right version.
9696
9697 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
9698
9699         * config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
9700         not XEXP (tmp, 0).
9701
9702 2001-01-12  DJ Delorie  <dj@redhat.com>
9703
9704         * Makefile.in (bootstrap): rename stages to be mnemonic.  Add
9705         restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
9706         targets.
9707
9708 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
9709
9710         * cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
9711         tm.texi: Consistently refer to ISO C instead of ANSI C.  Refer to
9712         -std options alongside references to -ansi.  Update some
9713         documentation for C99.
9714         * cpp.1: Regenerate.
9715
9716 2001-01-12  Andreas Jaeger  <aj@suse.de>
9717
9718         * haifa-sched.c (restore_line_notes): Remove argument block B
9719         since it's unused.
9720         * sched-ebb.c (schedule_ebb): Change caller.
9721         * sched-rgn.c (schedule_region): Likewise.
9722         * sched-int.h (restore_line_notes): Adjust prototype.
9723
9724         * loop.h: Remove wrong declaration of doloop_condition_get.
9725
9726 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
9727
9728         * extend.texi:  Move C++-extension-related node from the C section
9729         into the C++ section.
9730
9731 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
9732
9733         * extend.texi: Refer to an array of pointers to functions instead
9734         of one of functions.
9735
9736 Fri Jan 12 12:08:12 MET 2001  Andreas Jaeger  <aj@suse.de>
9737                               Jan Hubicka  <jh@suse.cz>
9738
9739         * combine.c (reversed_comparison): Fix typo in last patch.
9740         Check X for NULL.
9741         (combine_reversed_comparison_code): Make static to follow
9742         prototype declaration.
9743
9744 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
9745
9746         * install.texi:  Remove misplaced duplicate entry.
9747
9748 2001-01-11  Ulrich Drepper  <drepper@redhat.com>
9749
9750         * config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
9751
9752 Thu Jan 11 17:06:30 EST 2001  John Wehle  (john@feith.com)
9753
9754         * final.c: (leaf_function_p): Fix typo.
9755
9756 2001-01-11  Zack Weinberg  <zack@wolery.stanford.edu>
9757
9758         * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
9759         Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
9760         which you have.
9761         (AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
9762         * configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
9763         mmap_anon, and valloc is available.
9764         * ggc-page.c: Restructure ifdef logic to match new autoconf
9765         spec.  Don't throw away the test page in init_ggc.
9766
9767         * configure, config.in: Regenerate.
9768
9769 2001-01-12  Michael Hayes  <mhayes@redhat.com>
9770
9771         * loop.h (total_biv_increment): Constify iv_class pointer.
9772         (struct induction): Replace `mem_mode' with `mem' rtx.
9773         * unroll.c (total_biv_increment): Constify iv_class pointer.
9774         * loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
9775         (find_mem_givs, combine_givs_p): Likewise.
9776         (debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
9777
9778 2001-01-10  Thomas Pfaff <tpfaff@gmx.net>
9779
9780         * gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
9781         LastError.
9782         (__gthread_getspecific): Ditto.
9783
9784 Fri Jan 12 00:04:00 MET 2001  Jan Hubicka  <jh@suse.cz>
9785
9786         * i386.c (ix86_comparison_operator, fcmov_comparison_operator,
9787         put_condition_code): Convert fp comparison codes to integer
9788         before handling.
9789         (ix86_expand_fp_compare): Postnote the fp comparison code converison
9790         to final.
9791
9792         * i386.c (unsigned_comparison, no_comparison_operator): Kill.
9793         * i386-protos.h (no_comparison_operator): Kill.
9794
9795         * i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
9796
9797         * combine.c (REVERSIBLE_CC_MODE): Remove.
9798         (reversible_comparison_p): Remove.
9799         (combine_reversed_comparison_code): New.
9800         (reversed_comparison): New.
9801         (combine_simplify_rtx): Use
9802         combine_reversed_comparison_code/reversed_comparison instead
9803         of reversible_comparison_p.
9804         (simplify_if_then_else): Likewise.
9805         (simplify_set): Likewise.
9806         (simplify_logical): Likewise.
9807         (if_then_else_cond): Likewise.
9808         (known_cond): Likewise.
9809         (simplify_comparison): Likewise.
9810
9811 2001-01-11  Alan Lehotsky  <lehotsky@tiac.net>
9812
9813         * builtins.c (std_expand_builtin_va_start): Handle varargs when
9814         sizeof (int) is larger than sizeof(__word__).
9815
9816 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
9817
9818         * cppinit.c (do_includes): Fix typo.
9819
9820 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9821
9822         * config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
9823         in S_REGS does not occur because not all sources are possible
9824         when a S_REGS is a destination (sometimes needs a clobber).
9825         (movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
9826         (zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
9827         (anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
9828         (ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
9829         (ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
9830         (ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
9831         (lshrdi_const1, lshrsi3_const16): Likewise.
9832         (*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
9833         (*movhi_68hc12, *movqi_68hc12): Likewise.
9834         (movstrictqi): Make sure reloading in D_REGS as a destination
9835         does not happen.
9836
9837 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
9838
9839         * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
9840
9841 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
9842
9843         * cppinit.c (cpp_start_read): If -fpreprocessed, ignore
9844         -D, -U and -A, and don't initialize the builtins.
9845         (do_includes): Error if -include or -imacros with -fpreprocessed.
9846         * cppmain.c (cb_define, cb_undef): Unconditionally process
9847         the callback.
9848         * tradcpp.c (main): Fix typo.
9849
9850 2000-01-11  Mark Elbrecht  <snowball3@bigfoot.com>
9851
9852         * cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
9853         (read_name_map): Use IS_ABSOLUTE_PATH.
9854         * tradcpp.c (get_filename): Likewise.
9855
9856 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9857
9858         * config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
9859         (*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
9860         (*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
9861         (*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
9862         (*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
9863         (cmphi_z_used): Don't use '@' for the output.
9864         (tstqi_z_used): Likewise.
9865         (cmpqi_z_used): Likewise.
9866         (one_cmplsi2): Likewise.
9867
9868 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
9869
9870         * config/sh/sh.c (barrier_align): Recognize branch around far
9871         branch and redundant insn.
9872
9873 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
9874
9875         * invoke.texi: Restore documentation of the drivers' switches -MD
9876         and -MMD.
9877
9878 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
9879
9880         * config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
9881
9882         * Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
9883         check-objc//%): Support parallel testing of multilibs.
9884         (TESTSUITEDIR): Set to testsuite by default, but override for
9885         parallel testing.
9886         (check-gcc, check-g++, check-g77, check-objc): Enter
9887         $(TESTSUITEDIR).
9888
9889 2001-01-11  Bernd Schmidt  <bernds@redhat.com>
9890
9891         * alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
9892         * sched-deps.c (deps_may_trap_p): Likewise.
9893         * basic-block.h: Remove a comment.
9894         * flow.c (PROP_POSTRELOAD): Remove.
9895         (update_life_info): Don't add it to prop_flags.
9896         (mark_set_1): Lose the code that was enabled by it.
9897
9898 2001-01-11  Michael Hayes  <mhayes@redhat.com>
9899
9900         * flow.c (flow_call_edges_add): New.
9901         * basic_block.h (flow_call_edges_add): New.
9902
9903 2001-01-11  J"orn Rennecke <amylaar@redhat.com>
9904
9905         * reload1.c (move2add_note_store): Update reg_set_luid even if
9906         base reg remains the same.
9907
9908 2001-01-10  Nick Clifton  <nickc@redhat.com>
9909
9910         * config/d30v/d30v.c (d30v_init_machine_status): Initialise
9911         machine_function structure to zero.
9912         Add prototypes for machine_status functions.
9913
9914 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
9915
9916         * c-common.h (CTI_VOID_LIST): Remove.
9917         (void_list_node): Likewise.
9918         * tree.h (TI_VOID_LIST_NODE): New enumeral.
9919         (void_list_node): New macro.
9920         * config/arm/arm.c (arm_init_builtins): Use void_list_node.
9921         * config/i386/i386.c (ix86_init_builtins): Likewise.
9922         * config/ia64a/ia64.c (ia64_init_builtins): Likewise.
9923
9924 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
9925
9926         * Makefile.in (tradcpp0): Depend on mkdeps.h.  Link mkdeps.o
9927         * cppinit.c (cpp_start_read): Update comment, remove unneeded
9928         if statement.
9929         * tradcpp.c: Include mkdeps.h.
9930         (deps, print_deps_phony_targets, deps_append, output_deps,
9931         init_dependency_output, output_deps): New.
9932         (deps_buffer, deps_allocated_size, deps_size, deps_column,
9933         deps_output): Delete.
9934         (print_deps_missing_files): Rename deps_missing_files.
9935         (inhibit_output): Make global.
9936         (main): Delete inhibit_output, deps_stream, deps_target.
9937         Use mkdeps functionality in the same way as cpplib.  Remove
9938         -g3 handling.  Handle -MF, -MP, -MQ, -MT.  Update handling of
9939         -M and -MM.  Remove old handling of deps via deps_out, and
9940         old reading of environment variables.
9941         (get_filename): Update to use deps_add_dep.
9942
9943 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
9944
9945         * output.h (make_function_rtl): Remove prototype.
9946         (make_decl_rtl): Likewise.
9947         * varasm.c (make_function_rtl): Remove.
9948         (make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
9949         than from a third parameter.
9950         * tree.h (make_decl_rtl): Remove last parameter.
9951         * c-decl.c (builtin_function): Remove last argument in call to
9952         make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
9953         (start_function): Likewise.
9954         * except.c (call_get_eh_context): Likewise.
9955         * expr.c (emit_block_move): Likewise.
9956         (clear_storage): Likewise.
9957         * profile.c (output_func_start_profiler): Likewise.
9958         * toplev.c (rest_of_decl_compilation): Likewise.
9959         * objc/objc-act.c (create_builtin_decl): Likewise.
9960         (synth_module_prologue): Likewise.
9961         (generate_static_reference): Likewise.
9962         (build_selector_reference_decl): Likewise.
9963         (build_class_reference_decl): Likewise.
9964         (build_objc_string_decl): Likewise.
9965         (build_protocol_reference): Likewise.
9966
9967 2001-01-10  Richard Henderson  <rth@redhat.com>
9968
9969         * hwint.h: Revert yesterday's change.
9970
9971 2001-01-10  Nick Clifton  <nickc@redhat.com>
9972
9973         * function.h (save_machine_status): Delete.
9974         (restore_machine_status): Delete.
9975         Amend comment describing {init|mark|free}_machine_status.
9976
9977         * function.c (save_machine_status): Delete.
9978         (restore_machine_status): Delete.
9979         Amend comment describing {init|mark|free}_machine_status.
9980         (push_function_context_to): Remove invocation of
9981         save_machine_status.
9982         (pop_function_context_from): Remove invocation of
9983         restore_machine_status.
9984
9985         * emit-rtl.c (init_emit_once): Amend comment describing
9986         {init|mark|free}_machine_status.
9987
9988         * tm.texi (Per-Function Data): New node.  Describe the
9989         INIT_EXPANDERS macro and the {init|mark|free}_machine_status
9990         function pointers.
9991
9992 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
9993
9994         * cppinit.c (OPT_g): Remove.
9995         (cpp_handle_option): Update for removed -g3.
9996         (print_help): Update.
9997         * cpplib.h (struct cpp_options): Remove debug_output.
9998         * cppmain.c (setup_callbacks, cb_define): Update.
9999         * gcc.c (cpp_options): Translate -g3 to -dD.
10000
10001 2001-01-10  Aldy Hernandez  <aldyh@redhat.com>
10002
10003         * config/i960/i960.md: Change modifier to + on the zero_extract
10004         pattern after the (rotate -2 reg) canonicalization pattern.
10005
10006 2001-01-10  Richard Henderson  <rth@redhat.com>
10007
10008         * config/alpha/alpha.c (alpha_free_machine_status): New.
10009         (override_options): Install it.
10010         (alpha_mark_machine_status): Verify machine non-null.
10011         * config/i386/i386.c (ix86_free_machine_status): New.
10012         (override_options): Install it.
10013         (ix86_init_machine_status): Use xcalloc.
10014         (ix86_mark_machine_status): Verify machine non-null.
10015         * config/ia64/ia64.c (ia64_free_machine_status): New.
10016         (ia64_override_options): Install it.
10017         (ia64_mark_machine_status): Verify machine non-null.
10018
10019 Wed Jan 10 11:34:39 2001  Jeffrey A Law  (law@cygnus.com)
10020
10021         * function.c (instantiate_virtual_regs): Instantiate virtual
10022         registers found in CALL_INSN_FUNCTION_USAGE.
10023
10024 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
10025
10026         * i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
10027         equivalent to -ansi in disabling -Di386.
10028
10029 Wed Jan 10 16:38:31 MET 2001  Jan Hubicka  <jh@suse.cz>
10030
10031         * i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
10032         new functions.
10033         (ix86_expand_fp_compare): Make trivial use of new infrastructure.
10034
10035 2001-01-10  Richard Earnshaw  <rearnsha@arm.com>
10036
10037         * arm.c (arm_init_builtins): Temporarily disable xscale builtins.
10038
10039 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
10040
10041         * invoke.texi: Document that -fcond-mismatch isn't supported for
10042         C++.
10043
10044 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
10045
10046         * gcc.texi: Define macro gcctabopt.
10047         * invoke.texi: Add manpage sections BUGS and AUTHOR.  Use
10048         @command, @env and @option in some places where appropriate.  Use
10049         @gcctabopt where appropriate.  Put URLs and email addresses inside
10050         @w.
10051
10052 2001-01-10  Nathan Sidwell  <nathan@codesourcery.com>
10053
10054         * gcc.c (cpp_options): Set MD file name from output
10055         filename, if specified.
10056         (suffix_subst): New static variable.
10057         (do_spec): Clear it.
10058         (do_spec_1, case '.'): Handle new `%.suffix' spec.
10059         Clear it.
10060         (give_switch): Handle suffix_subst.
10061
10062 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
10063
10064         * invoke.texi:  Fix another typo.
10065
10066 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
10067
10068         * invoke.texi:  Fix typo.
10069
10070 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
10071
10072         * c-lang.c (lang_hooks): Update.
10073         (lang_decode_option): Remove.
10074         (lang_init_options): Rename c_init_options.
10075         * toplev.c (main): Use lang_hooks for lang_init_options
10076         and lang_decode_option.
10077         * toplev.h (lang_hooks): Add 2 new hooks.
10078         * tree.h: Remove lang_init_options and lang_decode_option.
10079         * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
10080         * cp/decl2.c: Similarly.
10081         * cp/lex.c (lang_init_options): Rename cxx_init_options.
10082         (lang_hooks): Update.
10083         * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
10084         for consistency.
10085         (lang_init_options): Rename ffe_init_options.
10086         (lang_hooks): Update.
10087         (lang_decode_option): Remove.
10088         * java/lang.c (lang_init_options): Rename java_init_options.
10089         (lang_decode_option): Rename java_decode_option.
10090         (lang_hooks): Update.
10091         * objc/objc-act.c (lang_init_options): Rename objc_init_options.
10092         (lang_decode_option): Rename objc_decode_option.
10093         (lang_hooks): Update.
10094
10095 2001-01-09  Nick Clifton  <nickc@redhat.com>
10096
10097         * config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
10098         (d30v_return_addr_rtx): Delete.
10099         (d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
10100         cfun->machine structure.
10101         (struct machine_function): Move to d30v.h
10102         (d30v_save_machine_status): Delete.
10103         (d30v_restore_machine_status): Delete.
10104         (d30v_init_machine_status): New Function.
10105         (d30v_mark_machine_status): New Function.
10106         (d30v_free_machine_status): New Function.
10107         (d30v_init_expanders): Use new functions.
10108         (d30v_return_addr): Use ra_rtx field in cfun->machine.
10109         (d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
10110         d30v_return_addr_rtx.
10111
10112         * config/d30v/d30v.h (struct_machine): Move here.
10113         Add eh_epilogue_sp_ofs field.
10114
10115         *config/d30v/d30v.md (epilogue): Initialise eh_epilogue_sp_ofs
10116         field in cfun->machine structure.
10117
10118 Tue Jan  9 21:34:57 2001  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10119
10120         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
10121         PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
10122         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
10123
10124 Tue Jan  9 21:25:19 2001  Jeffrey A Law  (law@cygnus.com)
10125
10126         * objc/lang-options.h: Remove bogus reference to
10127         Java trademark.
10128
10129 2001-01-09  Kazu Hirata  <kazu@hxi.com>
10130
10131         * config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
10132         return the result.
10133
10134 2001-01-09  Alan Lehotsky  <lehotsky@tiac.net>
10135
10136         * reload.c (find_reloads_address): Check for eliminable registers
10137         when substituting a constant expression for a pseudo.
10138
10139 2001-01-09  Joseph S. Myers  <jsm28@cam.ac.uk>
10140
10141         * c-common.c (enum format_type): Add format_type_error.
10142         (decode_format_type): New function.
10143         (decl_attributes): Use it.
10144         (format_kind_info): Adjust comment.
10145
10146 2001-01-09  David O'Brien  <obrien@BSDi.com>
10147
10148         * config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
10149         i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
10150         files in tm_file.
10151         * config/i386/gnu.h: Don't include required platform specific .h files,
10152         tm.h will do it instead.
10153         * config/i386/i386elf.h: Likewise.
10154         * config/i386/linux.h: Likewise.
10155         * config/i386/moss.h: Likewise.
10156         * config/mips/gnu.h: Likewise.
10157
10158 2001-01-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10159
10160         * config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
10161         (rs6000-ibm-aix3.[01]*): Likewise.
10162         (rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
10163         (rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
10164         (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
10165         (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
10166         (powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
10167         (powerpc-*-eabiaix*): Likewise.
10168         (powerpc-*-eabisim*): Likewise.
10169         (powerpc-*-elf*): Likewise.
10170         (powerpc-*-eabi*): Likewise.
10171         (powerpc-*-rtems*): Likewise.
10172         (powerpc-*-linux*libc1): Likewise.
10173         (powerpc-*-linux*): Likewise.
10174         (powerpc-wrs-vxworks*): Likewise.
10175         (powerpcle-wrs-vxworks*): Likewise.
10176         (powerpcle-*-sysv*): Likewise.
10177         (powerpcle-*-elf*): Likewise.
10178         (powerpcle-*-eabisim*): Likewise.
10179         (powerpcle-*-eabi*): Likewise.
10180         (powerpcle-*-solaris2*): Likewise.
10181         * config/rs6000/aix31.h: Delete includes.
10182         * config/rs6000/aix3newas.h: Likewise.
10183         * config/rs6000/aix41.h: Likewise.
10184         * config/rs6000/aix43.h: Likewise.
10185         * config/rs6000/beos.h: Likewise.
10186         * config/rs6000/rtems.h: Likewise.
10187         * config/rs6000/sysv4.h: Likewise.
10188
10189 2001-01-09  Kazu Hirata  <kazu@hxi.com>
10190
10191         * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
10192         Change an argument mode of machine_mode to shift_mode of
10193         shift_mode.  Remove an extra error check.
10194         (emit_a_shift): Adopt to the new calling prototype of
10195         get_shift_alg.
10196         (function_prologue): Fix code for a monitor
10197         function.  Support H8/S.
10198         (function_epilogue): Do not output pop for a monitor function.
10199
10200 2001-01-09  Nick Clifton  <nickc@redhat.com>
10201
10202         * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
10203         (setup_incoming_varargs): Use sysv_varargs_p field of the
10204         cfun->machine structure.
10205         (struct machine_function): Move to rs6000.h
10206         (rs6000_save_machine_status): Delete.
10207         (rs6000_restore_machine_status): Delete.
10208         (rs6000_init_machine_status): New Function.
10209         (rs6000_free_machine_status): New Function.
10210         (rs6000_init_expanders): Use new functions.
10211
10212         * config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
10213         export.
10214         (struct machine_function): Move here.
10215
10216         * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
10217         sysv_varargs_p field of the cfun->machine structure.
10218
10219         * config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
10220         Remove prototype.
10221         (rs6000_restore_machine_status): Remove prototype.
10222
10223 2001-01-09  Richard Henderson  <rth@redhat.com>
10224
10225         * sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
10226         reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
10227         * sched-deps.c (sched_analyze_1): Update uses of struct deps.
10228         (sched_analyze_2, sched_analyze_insn): Likewise.
10229         (sched_analyze, init_deps): Likewise.
10230         (free_deps): Likewise.  Iterate with EXECUTE_IF_SET_IN_REG_SET.
10231         * sched-rgn.c (propagate_deps): Likewise.  Remove max_reg argument.
10232         (compute_block_backward_dependences): Update propagate_deps call.
10233
10234 2001-01-09  Mark Elbrecht  <snowball3@bigfoot.com>
10235
10236         * gcc.c (process_command): Set switches[n_switches].ordering to 0.
10237
10238 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
10239
10240         * cppinit.c (OPT_MD, OPT_MMD): Restore.
10241         (cpp_handle_option): Handle them.
10242         (cpp_post_options): Ensure one of -M or -MM is specified with
10243         any other -M? option.
10244         (init_dependency_output): Suppress output with -MG.
10245
10246 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
10247
10248         * cpp.texi: Update.
10249         * invoke.texi: Update.
10250
10251 2001-01-09  Bernd Schmidt  <bernds@redhat.com>
10252
10253         * sh.md (reload_outsf): Generate recognizable patterns for
10254         TARGET_SH3E.
10255
10256 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
10257
10258         * c-lang.c (lang_hooks): Update.
10259         (lang_init): Rename c_init.
10260         (lang_finish): Remove.
10261         * toplev.c (compile_file): Use lang_hooks for lang_init ()
10262         and lang_finish ().
10263         * toplev.h (lang_hooks): Add init () and finish ().
10264         * tree.h (lang_init, lang_finish): Remove.
10265         * cp/tree.h (lang_init, lang_finish): Remove.
10266         * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
10267         * cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
10268         lang_hooks): New.
10269         (lang_init, lang_finish): Remove.
10270         * f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
10271         (lang_hooks): Update.
10272         * java/lang.c (lang_init): Rename java_init.
10273         (lang_finish): Remove.
10274         (lang_hooks): Update.
10275         * objc/objc-act.c (lang_init): Rename objc_init.
10276         (lang_finish): Remove.
10277         (lang_hoooks): Update.
10278
10279 20001-01-09  Graham Stott  <grahams@redhat.com>
10280
10281         * cppfiles.c (_cpp_execute_include): Move `len` initialisation
10282         after `ptr` is initialised.
10283
10284 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
10285
10286         * config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
10287         (INITIALIZE_TRAMPOLINE): Adjust accordingly.
10288         * config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
10289         stack adjusts, instead of r3.
10290
10291 2001-01-09  Michael Hayes  <mhayes@redhat.com>
10292
10293         * flow.c (flow_loop_scan): Break out of ...
10294         (flow_loops_find) ... here.
10295         * basic-block.h (flow_loop_scan): New.
10296         (LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
10297         (LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
10298
10299 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
10300
10301         * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
10302         macro_buffer_len.
10303         * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
10304         realloc()ing macro_buffer.
10305
10306         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
10307         if it's wider than long and the target's long is wider than the
10308         host's.
10309
10310 2001-01-09  Mark Mitchell  <mark@codesourcery.com>
10311
10312         Remove support for using UWIN as a host machine.
10313         * configure.in: Issue an error message.
10314         * configure: Regenerated.
10315         * config.gcc: Remove xm_* UWIN configury.
10316         * config/i386/xm-uwin.h: Remove.
10317
10318 2001-01-08  Nick Clifton  <nickc@redhat.com>
10319
10320         * config/v850/v850.c (ra_rtx): Delete.
10321         (v850_save_machine_status): Delete.
10322         (v850_restore_machine_status): Delete.
10323         (v850_init_machine_status): New function.
10324         (v850_mark_machine_status): New function.
10325         (v850_free_machine_status): New function.
10326         (v850_return_addr): Use ra_rtx field in machine structure.
10327         (v850_init_expanders): Use new functions.
10328
10329         * config/v850/v850-protos.h: Fix prototypes for v850_output_*
10330         * config/v850/v850.c: Change arguments to v850_output+* functions
10331         to take a const char *, to avoid compile time warning.
10332         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
10333         (USER_LABEL_PREFIX): Redefine.
10334
10335 2000-01-08  Jim Wilson  <wilson@redhat.com>
10336
10337         * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
10338         1 to unsigned HOST_WIDE_INT before left shift.
10339
10340 2001-01-08  Nick Clifton  <nickc@redhat.com>
10341
10342         * config/arm/arm.c (arm_mark_machine_status): Check to see if
10343         the machine structure has been allocated.
10344         (arm_free_machine_status): New function: Free the machine
10345         specific function structure.
10346
10347 2001-01-08  Richard Henderson  <rth@redhat.com>
10348
10349         * jump.c (simplejump_p): Revert last change.
10350
10351 2001-01-08  Neil Booth  <neil@daikokuya.demon.co.uk>
10352
10353         * cppinit.c (init): Rename init_library.
10354         (cpp_create_reader): Update.
10355         * gcc.c (cpp_options): If -o given, use it as the target of
10356         any -M options.
10357
10358 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
10359
10360         * arm.c (arm_arch5e): New variable.
10361         (all_cores): XScale is a 5TE device.
10362         (arm_override_options): Set arm_arch5e.
10363         (arm_init_builtins): __builtin_prefetch is in arch5e.
10364         * arm.h (arm_arch5e): Declare it.
10365
10366         * arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
10367
10368         * arm.md (define_constants): Add defines for UNSPEC and
10369         UNSPEC_VOLATILE insns.  Update all users.
10370         (define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
10371         * arm.c (multi_register_push, note_invalid_constants)
10372         (emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
10373         * arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
10374         (STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
10375
10376 Mon Jan  8 16:14:56 MET 2001  Jan Hubicka  <jh@suse.cz>
10377
10378         * jump.c (jump_optimize_1): Use reversed_comparison_code
10379         instead of can_reverse_comparison_p.
10380         (jump_back_p): Likewise.
10381         (invert_exp_1): Likewise.
10382         (thread_jumps): Likewise.
10383         * simplify-rtx.c (simplify_unary_operation): Likewise.
10384         (simplify_ternary_operation): Likewise.
10385         * cse.c (find_comparison_args): Convert to use
10386         can_reverse_comparison_p.
10387         (record_jump_equiv): Likewise.
10388
10389 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
10390
10391         * arm.h (HARD_REGNO_RENAME_OK): Delete.
10392         (EPILOGUE_USES): Define.
10393         (INITIAL_ELIMINATION_OFFSET): Current prologue code does not
10394         automatically stack the LR if it isn't live.
10395
10396 Mon Jan  8 13:46:02 MET 2001  Jan Hubicka  <jh@suse.cz>
10397
10398         * i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
10399         properly.
10400
10401 Sun Jan  7 18:37:43 2001  Mark P Mitchell  <mark@codesourcery.com>
10402
10403         * ggc-page.c (max_alignment): New structure.
10404         (MAX_ALIGNMENT): New macro.
10405         (init_ggc): Use it to round up the sizes in the
10406         extra_order_size_table.
10407
10408 2001-01-07  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10409
10410         * config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
10411         after reload.
10412
10413 2001-01-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10414
10415         * builtins.def (BUILT_IN_FPRINTF): New entry.
10416
10417         * c-common.c (c_expand_builtin_fprintf): New function.
10418         (init_function_format_info): Handle __builtin_fprintf.
10419         (c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
10420         (c_expand_builtin): Handle BUILT_IN_FPRINTF.
10421
10422         * c-decl.c (duplicate_decls): Adjust comment.
10423
10424         * extend.texi (fprintf): Document new builtin.
10425
10426 2001-01-07  Richard Henderson  <rth@redhat.com>
10427
10428         * jump.c (simplejump_p): Recognize any single_set jump
10429         of the proper form.
10430
10431 2001-01-07  Richard Henderson  <rth@redhat.com>
10432
10433         * configure.in (slibdir): Accept an --with-slibdir option.
10434         Use "test" not "[" in configure.  Default to $(libdir).
10435
10436         * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
10437         fix typo in rm -f.
10438         * config/t-aix43 (SHLIB_INSTALL): Likewise.
10439         * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
10440         (SHLIB_LINK): Create links for the soname.
10441         * config/mips/t-iris6: Likewise.
10442         * config/sparc/t-slibgcc: Likewise.
10443         * config/sparc/t-slibgcc-sld: Likewise.
10444
10445 2001-01-07  Jakub Jelinek  <jakub@redhat.com>
10446
10447         * config/i386/i386.c (constant_call_address_operand): Accept
10448         (const (plus (symbol_ref) (const_int))).
10449         * config/i386/i386.h (PREDICATE_CODES): Add CONST for
10450         constant_call_address_operand.
10451
10452 2001-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10453
10454         * libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
10455         and LONG_LONG_TYPE_SIZE > 32.
10456
10457 2001-01-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10458
10459         * jump.c (reversed_comparison_code_parts): Fix typo introduced by
10460         the previous change.
10461
10462 Sun Jan  7 19:37:48 MET 2001  Jan Hubicka  <jh@suse.cz>
10463
10464         * jump.c (reversed_comparison_code_parts, reversed_comparison_code):
10465         New.
10466         (can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
10467         (reverse_condition_maybe_unordered): Abort on unsigned comparisons.
10468         * rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
10469         Declare.
10470
10471 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
10472
10473         * fix-header.c (read_scan_file): s/pfile/scan_in/.
10474
10475 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
10476
10477         * c-lang.c (c_post_options): Call cpp_post_options.
10478         * objc/objc-act.c (objc_post_options): Similarly.
10479         * cppmain.c (main): Similarly.
10480         * fix-header.c (read_scan_file): Similarly.
10481         * cppinit.c (cpp_start_read): Move option consistency checks
10482         to cpp_post_options.  Don't call init_dependency_output.
10483         If needed, add default target and main file dependency.
10484         (OPT_MD, OPT_MMD): Remove.
10485         (OPT_MF): New.
10486         (cpp_handle_option): Update for OPT_* changes.
10487         (cpp_post_options): New.
10488         (init_dependency_output): Command line -MF overrides environment
10489         variables.  Don't set default target etc.  Suppress output
10490         if dependencies are going to stdout.
10491         (print_help): Update.
10492         * cpplib.h (cpp_post_options): New.
10493         * gcc.c (cpp_options): Update for -MD, -MMD, -MF.
10494
10495 Sun Jan  7 14:44:19 MET 2001  Jan Hubicka  <jh@suse.cz>
10496
10497         * jump.c (comparison_dominates_p): Support unordered compares.
10498
10499 Sun Jan  7 14:39:07 MET 2001  Jan Hubicka  <jh@suse.cz>
10500
10501         * simplify-rtx.c (simplify_relational_operation): Always simplify
10502         ORDERED and UNORDERED when FLAG_FAST_MATH.  Handle properly UNLE
10503         and UNGE.
10504
10505 Sun Jan  7 14:35:13 MET 2001  Jan Hubicka  <jh@suse.cz>
10506
10507         * combine.c (combine_simplify_rtx): Recognize the unordered compares.
10508         (nonzero_bits): Likewise.
10509         (simplify_comparison): Likewise.
10510         (num_sign_bit_copies): Likewise; return more sane value depending
10511         on STORE_FLAG_VALUE.
10512         (known_cond): Do not assume EQ to be always true for equivalent
10513         operands.
10514
10515 Sun Jan  7 14:31:57 MET 2001  Jan Hubicka  <jh@suse.cz>
10516
10517         * cse.c (fold_rtx): Handle unordered comparisons.
10518
10519 Sun Jan  7 13:49:19 MET 2001  Jan Hubicka  <jh@suse.cz>
10520
10521         * rtlanal.c (set_of_1): New static function.
10522         (reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
10523          reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
10524          reg_set_last_last_regno): Remove.
10525         (set_of): New global function.
10526         (set_of_data): New structure.
10527         (reg_set_p, reg_set_last): Revamp for set_of.
10528         * rtl.h (set_of): New.
10529
10530 2001-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
10531
10532         * c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
10533         * extend.texi: Document _Exit builtin.
10534
10535 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
10536
10537         * (initialize, initialize_builtins,
10538         initialize_dependency_output, initialize_standard_includes):
10539         Rename s/initialize/init. Update.
10540         (init_dependency_output): Move to after
10541         cpp_handle_options, the correct location temporally at least.
10542         (opt_comp): Move next to init (), its caller.  Fix prototype.
10543         (init): Make "initialized" local scope.
10544         (cpp_create_reader): Always call init ().
10545         (cpp_start_read): Update.
10546         (output_deps): New function, broken out of cpp_finish.
10547         (cpp_finish): Break out output_deps.
10548
10549 2001-01-07  Richard Henderson  <rth@redhat.com>
10550
10551         * collect2.c (COFF specific stuff): Revert 12-06 patch
10552         to prototype system functions.
10553
10554 2001-01-07  Michael Hayes  <mhayes@redhat.com>
10555
10556         * hard-reg-set.h: Add multiple include guard.
10557         * basic-block.h (struct loop): Add `sink' field.
10558         * loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
10559         (emit_iv_add_mult): Delete.
10560         (loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
10561         (loop_iv_add_mult_emit_before, loop_insn_sink): Define.
10562         (unroll_loop): Remove end_insert_before argument.
10563         * loop.c (loop_givs_rescan): Remove end_insert_before argument.
10564         (maybe_eliminate_biv_1): Likewise.
10565         (emit_iv_add_mult): Delete.
10566         (gen_add_mult, loop_regs_update): New.
10567         (loop_insn_emit_after, loop_insn_emit_before): New.
10568         (loop_insn_sink, loop_insn_sink_or_swim): New.
10569         (emit_iv_add_mult): Delete.
10570         (scan_loop): Set loop->sink.
10571         (loop_givs_reduce): Use loop_insn_sink and its ilk.
10572         (loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
10573         (maybe_eliminate_biv_1): Likewise.
10574         (maybe_eliminate_biv_1): Add basic block argument.
10575         * unroll.c (unroll_loop): Remove end_insert_before argument.
10576         (find_splittable_regs): Likewise.
10577         (find_splittable_regs): Use loop_insn_sink and its ilk.
10578         (find_splittable_givs, final_biv_value, final_giv_value): Likewise.
10579
10580 2001-01-07  Michael Hayes  <mhayes@redhat.com>
10581
10582         * loop.h (loop_insn_hoist): New prototype.
10583         * loop.c (loop_insn_hoist, loop_insn_emit_before): New.
10584         (move_movables, loop_givs_rescan): Use loop_insn_hoist.
10585         (check_dbra_loop, load_mems): Likewise.
10586         * unroll.c (unroll_loop, find_splittable_regs): Likewise.
10587         (find_splittable_givs): Likewise.
10588
10589 2001-01-07  Michael Hayes  <mhayes@redhat.com>
10590
10591         * loop.c (emit_iv_add_mult): Use single_set to examine new insn.
10592
10593 2001-01-07  Richard Henderson  <rth@redhat.com>
10594
10595         * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
10596
10597 2001-01-07  Richard Henderson  <rth@redhat.com>
10598
10599         * Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
10600         NO_SHARED_LIBGCC_MULTILIB as required for the target.
10601         * gcc.c (init_spec): Massage the existing libgcc_spec into a
10602         variant that handles a shared libgcc.
10603         (process_command): Always validate -{static,shared}-libgcc.
10604         (do_spec_1): New 'M' case.
10605         * invoke.text (Link Options): Document -{static,shared}-libgcc.
10606
10607 2001-01-07  Richard Henderson  <rth@redhat.com>
10608
10609         * Makefile.in (slibdir): New variable.
10610         (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
10611         (installdirs): Create slibdir.
10612         (install-libgcc, install-multilib): Defer to libgcc.mk.
10613         * configure.in (slibdir): Substitute.
10614         * mklibgcc.in (install): New target.
10615
10616         * config/t-linux (SHLIB_LINK): Create links for the soname.
10617         (SHLIB_INSTALL): New.
10618         * config/alpha/t-osf4 (SHLIB_INSTALL): New.
10619         * config/mips/t-iris6 (SHLIB_INSTALL): New.
10620         * config/rs6000/t-aix43 (SHLIB_INSTALL): New.
10621         * config/sparc/t-slibgcc (SHLIB_INSTALL): New.
10622         * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
10623
10624 2001-01-07  Richard Henderson  <rth@redhat.com>
10625
10626         * config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
10627         * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
10628         * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
10629
10630 2001-01-07  Michael Hayes  <mhayes@redhat.com>
10631
10632         * loop.c (count_loop_regs_set): Delete.
10633         (load_mems_and_recount_loop_regs_set): Delete.
10634         (loop_regs_scan): Merge common code from count_loop_regs_set,
10635         scan_loop, and load_mems_and_recount_loop_regs_set.
10636         (scan_loop): Call load_mems directly and loop_regs_scan
10637         again if new registers created.
10638
10639 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
10640
10641         * toplev.c (main): Call the front-end specific post_options
10642         hook if one is given.
10643         * toplev.h (struct_lang_hooks, lang_hooks): New.
10644         * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
10645         for the C front end.
10646         * cp/decl2.c (cxx_post_options, lang_hooks): Implement
10647         lang_hooks for the C++ front end.
10648         * objc/objc-act.c (objc_post_options, lang_hooks): Implement
10649         lang_hooks for the ObjC front end.
10650         * f/com.c (lang_hooks): Hooks for the Fortran front end.
10651         * java/lang.c (lang_hooks): Hooks for the Java front end.
10652
10653 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
10654
10655         * c-lex.c (init_c_lex): Request #define / #undef callbacks
10656         for verbose DWARF[2] debugging.
10657         (cb_define, cb_undef): The new callbacks.
10658         * toplev.h (debug_define, debug_undef): Make const correct.
10659         * toplev.c (debug_define, debug_undef): Similarly.  Do not
10660         perform the verbosity tests here anymore.
10661
10662 2001-01-07  Alexandre Oliva  <aoliva@redhat.com>
10663
10664         * reload.c (subst_reloads): Take INSN argument.  When
10665         replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
10666         * reload.h (subst_reloads): Adjust prototype.
10667         * reload1.c (reload_as_needed): Pass INSN to subst_reloads.
10668         * jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
10669         present in JUMP_INSNs and copy them to JUMP_LABEL.
10670         * flow.c (find_label_refs, find_basic_blocks_1): Skip
10671         JUMP_INSNs and insns with REG_LABELs that are followed by
10672         JUMP_INSNs with the same REG_LABEL.
10673         * sched-rgn.c (is_cfg_nonregular): Likewise.
10674         * rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
10675         note is available.
10676         * unroll.c (unroll_loop): Look for REG_LABEL notes in
10677         JUMP_INSNs too.
10678         * rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
10679
10680 2001-01-06  Richard Henderson  <rth@redhat.com>
10681
10682         * loop.c (scan_loop): Use xcalloc for the regs array.
10683         (load_mems_and_recount_loop_regs_set): Zero the new memory
10684         received from xrealloc.
10685
10686 2001-01-06  Neil Booth  <neil@daikokuya.demon.co.uk>
10687
10688         * mkdeps.c (deps_add_dep): Fix vector re-allocation.
10689
10690 Sat Jan  6 00:09:34 2001  J"orn Rennecke <amylaar@redhat.com>
10691
10692         * integrate.c (copy_rtx_and_substitute): When copying
10693         an ignored return value, strip REG_FUNCTION_VALUE_P.
10694
10695 2001-01-06  Michael Hayes  <mhayes@redhat.com>
10696
10697         * loop.c (debug_biv, debug_giv): New.
10698         (loop_biv_dump): Break out from ...
10699         (record_biv): ... here.
10700         (loop_giv_dump): Break out from ...
10701         (record_giv): ... here.
10702         (loop_bivs_check): Use print_simple_rtl.
10703         * unroll.c (loop_iterations): Use print_simple_rtl.
10704
10705 2000-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10706
10707         * pa.md (return, return_internal): Modify patterns to prevent regrename
10708         mucking with the return pointer.
10709
10710 2001-01-05  Richard Henderson  <rth@redhat.com>
10711
10712         * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
10713
10714 Fri Jan  5 16:34:18 2001  Nick Clifton  <nickc@redhat.com>
10715
10716         * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
10717         version supplied by Matteo Frigo.
10718
10719 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
10720
10721         * cpp.texi: Update for -MQ.
10722         * cppinit.c (cpp_create_reader): Always create pfile->deps.
10723         (cpp_cleanup): Always free pfile->deps.
10724         (initialize_dependency_output): Don't create pfile->deps.
10725         (cpp_handle_option): Similarly.
10726         (OPT_MQ): New.
10727         * gcc.c (cpp_options): Handle -MQ.
10728         (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
10729         * mkdeps.c (base_name): Remove.
10730         (deps_init): Don't allocate vector space until it's needed.
10731         (deps_free): Only free vectors if allocated.
10732         (deps_add_target, deps_add_dep): Update for initial allocation.
10733         (deps_add_default_target): Don't strip to the base_name.
10734
10735 2001-01-05  DJ Delorie <dj@redhat.com>
10736
10737         * config/v850/v850.h (RETURN_ADDR_RTX): Define.
10738         (INIT_EXPANDERS): Define.
10739
10740         * config/v850/v850.c (struct machine_function): Define.
10741         (v850_save_machine_status): New function.
10742         (v850_restore_machine_status): New function.
10743         (v850_return_addr): New function.
10744         (v850_init_expanders): New function.
10745
10746         * config/v850/v850-protos.h: Add prototypes for v850_return_addr
10747         and v850_init_expanders.
10748
10749 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
10750
10751         * cpplib.h (struct cpp_reader): Add help_only field.
10752         * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
10753         (cpp_handle_option): Set pfile->help_only if we see -h,
10754         --help, -target-help, or --version.  Print version string but
10755         do not set help_only if we see -v or -version.  Make text
10756         printed by -v match that printed by (-)-version.
10757
10758         * cppmain.c (main): Exit after option parsing if
10759         pfile->help_only is true.
10760
10761         * toplev.c (independent_decode_option): Call print_version,
10762         then exit, if we see --version (but not -version).
10763         (print_version): Split lengthy message into two lines.
10764
10765 2001-01-05  Nick Clifton  <nickc@redhat.com>
10766
10767         * config/v850/v850.c (v850_encode_data_area): Use alloca to create
10768         temporary string for initialisation before calling ggc_alloc_string.
10769
10770 2001-01-06  Michael Hayes  <mhayes@redhat.com>
10771
10772         * rtl.h (print_simple_rtl): New.
10773         * print-rtl.c (print_simple_rtl): New.
10774         (flag_simple): New.
10775         (print_rtx): Disable printing of flags and modes, etc.,
10776         if `flag_simple` nonzero.
10777
10778 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
10779
10780         * function.c (fixup_var_refs): Use push_to_full_sequence where
10781         possible.
10782
10783 2001-01-05  Michael Meissner  <meissner@redhat.com>
10784
10785         * flags.h (flag_reorder_blocks): Add declaration.
10786         (flag_rename_block): Ditto.
10787
10788 2001-01-05  DJ Delorie  <dj@redhat.com>
10789
10790         * function.c (reorder_blocks): Make sure the flags are all reset
10791         before using them to mark blocks, else a second invocation will
10792         corrupt the block chain.
10793         (reorder_blocks_0): New, resets the flags.
10794
10795 Fri Jan  5 20:34:06 2001  J"orn Rennecke <amylaar@redhat.com>
10796
10797         * cse.c (find_comparison_args): Stop if the argument is known to
10798         be constant.
10799
10800 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
10801
10802         * config/sh/sh.md (movdf): When splitting load into pair of
10803         registers, don't clobber the register used in the address too
10804         early.
10805
10806 2001-01-05  Jeffrey Oldham  <oldham@codesourcery.com>
10807
10808         * varasm.c (mark_constant_pool): Improve initial comments.
10809         (mark_constants): Move marking of constants to mark_constant.
10810         (mark_constant): New function to recursively mark all constants
10811         referred to by a constant.
10812
10813 2001-01-05  Catherine Moore  <clm@redhat.com>
10814
10815         * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
10816
10817 2001-01-05  Phil Edwards  <pme@sources.redhat.com>
10818
10819         * cp/lang-options.h:  Bring comment in line with reality.
10820         * f/lang-options.h:  Likewise.
10821         * java/lang-options.h:  Likewise.
10822         * objc/lang-options.h:  Likewise.
10823         * ch/lang-options.h:  Likewise.
10824         * f/g77.texi:  And update the manual.
10825
10826 2001-01-05  Marek Michalkiewicz  <marekm@linux.org.pl>
10827             Denis Chertykov  <denisc@overta.ru>
10828
10829         * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
10830         * config/avr/avr.c (avr_peep2_scratch_safe): New function.
10831         * config/avr/avr.md (all peepholes that request a scratch register):
10832         Call it, FAIL the peephole if not safe (in interrupt functions).
10833
10834 2001-01-05  Mark Mitchell  <mark@codesourcery.com>
10835
10836         * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
10837
10838 2001-01-05  Joseph S. Myers  <jsm28@cam.ac.uk>
10839
10840         * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
10841         Define.
10842         * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
10843         BUILT_IN_CREAL and BUILT_IN_CIMAG.
10844         * c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
10845         conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
10846         (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
10847         BUILT_IN_CIMAG.
10848         * extend.texi: Document these builtins.
10849
10850 2001-01-05  Daniel Berlin  <dberlin@redhat.com>
10851
10852         * c-common.c (lang_get_alias_set): Say we know nothing of
10853         VECTOR_TYPE aliasing.
10854
10855         * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
10856
10857 2001-01-05  Bruce Korb  <bkorb@gnu.org>
10858
10859         * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
10860         their x* equivalent versions for atexit-less systems
10861         * fixinc/fixincl.c(main): do not return from main() on atexit-less
10862         systems (or any other system any more).
10863
10864 2001-01-05  Richard Earnshaw  <rearnsha@arm.com>
10865
10866         * arm.md (ldmsi_postinc): Avoid use of match_dup between input and
10867         output operands.  Use arm_hard_register_operand for operand 4.
10868         (stmsi_postinc): Similarly.
10869         (ldmsi): Use arm_hard_register_operand for opernand 2.
10870         (stmsi): Similarly.
10871         * arm.c (arm_hard_register_operand): New function.
10872         * arm-protos.h (arm_hard_register_operand): Prototype it.
10873
10874         * arm.h (HARD_REGNO_RENAME_OK): Define.
10875
10876 Fri Jan  5 16:29:49 MET 2001  Jan Hubicka  <jh@suse.cz>
10877
10878         * simplify-rtx.c (cfc_args): add "unordered" field.
10879         (check_fold_consts): Set unordered field.
10880         (simplify_relational_operation): Simplify the unordered
10881         comparisons.
10882
10883         * reg-stack.c (swap_rtx_condition): Ensure that the transformation
10884         is valid.
10885
10886         * emit-rtl.c (try_split): Fix code to mark labels.
10887         * jump.c (mark_jump_label): Make global.
10888         * rtl.h (mark_jump_label): Declare.
10889
10890         * predict.c (estimate_probability): Handle unordred comparisons.
10891
10892 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
10893
10894         * cpp.texi: Update for -MP.  Clarify behaviour of -MT.
10895         * cppinit.c (initialize_dependency_output):  Update.
10896         (cpp_finish): Output dummy targets for -MP.
10897         (OPT_MP): New.
10898         (cpp_handle_option): Handle -MP.  Don't quote -MT options.
10899         * cpplib.h (struct cpp_options): Add deps_phony_targets.
10900         * gcc.c (cpp_options): Update to handle -MP.
10901         * mkdeps.c (deps_add_target, deps_add_default_target): Update
10902         to quote only the default target.
10903         (deps_phony_targets): Insert a preceding newline.  Rename from
10904         deps_dummy_targets for consistency.
10905         * mkdeps.h: Update
10906
10907 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
10908
10909         * calls.c (emit_library_call_value_1): Support
10910         INIT_CUMULATIVE_LIBCALL_ARGS.
10911         * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
10912
10913 2001-01-04  Richard Henderson  <rth@redhat.com>
10914
10915         * c-decl.c (finish_struct): Detect flexible array members
10916         used in an inappropriate context.
10917         * c-typeck.c (really_start_incremental_init): Special case
10918         constructor_max_index for zero length arrays.
10919         (pop_init_level): Allow initialization of flexible array
10920         members.  Deprecate initialization of zero length arrays.
10921         Don't issue missing initializer warning for flexible array
10922         members or zero length arrays.
10923         (process_init_element): Don't dereference null DECL_SIZE.
10924         * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
10925         Don't abort for empty constructors.  Use size_binop
10926         (output_constructor): Add commentary regarding zero length
10927         array futures.  Abort if we try to initialize an array of
10928         unspecified length with a non-empty constructor in the middle
10929         of a structure.
10930
10931         * extend.texi (Zero Length): Update and clarify documentation
10932         on static initialization.
10933
10934 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10935
10936         * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
10937         with more than 32767 words of local storage.
10938
10939 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10940
10941         * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
10942         for 'abs', 'labs', and 'fabs'.
10943         (c4x_expand_builtin): Likewise.
10944         * config/c4x/c4x.h (enum c4x_builtins): Likewise.
10945
10946 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
10947
10948         * config/sh/sh.md (prget, prset): New insn types.
10949         (return delay slot): Dont' allow prset.
10950         (call, sfunc delay slot): Don't allow prget.
10951         (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
10952         for prset and prget.
10953
10954 2001-01-05  Michael Hayes  <mhayes@redhat.com>
10955
10956         * loop.h (struct loop_reg): New.
10957         (struct loop_regs): Change to use array of `struct loop_reg'.
10958         * loop.c: Replace assortment of varrays with single regs array.
10959         (count_one_set): Delete may_not_move array argument
10960         and use regs array instead.  All caller's changed.
10961         (count_loop_regs_set): Delete may_not_move and single_usage
10962         arguments and use regs array instead.  All caller's changed.
10963         (find_single_use_in_loop): Replace usage array argument with pointer
10964         to regs structure.  All caller's changed.
10965         (loop_optimize): Delete `moved_once' array.
10966
10967 2001-01-05  Michael Hayes  <mhayes@redhat.com>
10968
10969         * loop.c (prescan_loop): Set loop_info->has_nonconst_call.
10970         Use it instead of loop_info->has_call for scanning loop mems.
10971         (check_dbra_loop): Replace loop_info->has_call test with
10972         loop_info->has_nonconst_call.
10973
10974 2000-01-04  Matthew Hiller  <hiller@redhat.com>
10975
10976         * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
10977         for TARGET_SH3E.
10978
10979 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
10980
10981         * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
10982         use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
10983
10984 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
10985
10986         * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
10987         (flag_short_double, flag_short_wchar): Define.
10988         (c_common_nodes_and_builtins): Create many tree nodes shared
10989         between C and C++ here instead of in cp/decl.c and ...
10990         * c-decl.c (init_decl_processing): ... here.
10991         (SIZE_TYPE, WCHAR_TYPE): Don't define.
10992         (flag_short_double, flag_short_wchar): Don't define.
10993         (record_builtin_type): New function.
10994         (build_void_list_node): New function.
10995         * c-common.h (flag_short_double, flag_short_wchar,
10996         record_builtin_type, build_void_list_node): Declare.
10997
10998 Thu Jan  4 21:09:47 2001  J"orn Rennecke <amylaar@redhat.com>
10999
11000         * integrate.c (expand_inline_function): Don't put a virtual
11001         register into the reg map.
11002
11003         * function.c (fixup_var_refs_1): If force_operand didn't put
11004         the address into the target, move it there.
11005
11006 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
11007
11008         Special-case tree_decl/tree_list allocations.
11009         * ggc-page.c (OBJECT_PER_PAGE): Reimplement.
11010         (OBJECT_SIZE): New macro.
11011         (NUM_EXTRA_ORDER): Likewise.
11012         (extra_order_size_table): New variable.
11013         (NUM_ORDERS): New macro.
11014         (objects_per_page_table): New variable.
11015         (object_size_table): New variable.
11016         (G.pages): Use NUM_ORDERS to bound the array.
11017         (G.page_tails): Likewise.
11018         (DIV_ROUND_UP): Remove.
11019         (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
11020         (alloc_page): Use OBJECT_SIZE.
11021         (size_lookup): Don't make it const.
11022         (ggc_alloc): Use OBJECT_SIZE.
11023         (ggc_set_mark): Likewise.
11024         (ggc_get_size): Likewise.
11025         (init_ggc): Set up the object_size_table, objects_per_page_table,
11026         and adjust size_lookup.
11027         (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
11028         (ggc_pop_context): Use NUM_ORDERS.
11029         (clear_marks): Likewise.
11030         (sweep_pages): Likewise.
11031         (poison_pages): Likewise.
11032         (ggc_print_statistics): Use OBJECT_SIZE.
11033
11034 Thu Jan  4 15:54:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11035
11036         * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
11037         Only call array_size_for_constructor if last field and array type
11038         with no upper bound.
11039
11040 2001-01-04  Philip Blundell  <philb@gnu.org>
11041
11042         * config/arm/arm.c (arm_gen_constant): Prefer to emit constants
11043         from bit 31 downwards, if this requires no more insns.
11044         (count_insns_for_constant): New helper function for above.
11045
11046 2001-01-04  Alexandre Oliva  <aoliva@redhat.com>
11047
11048         * gencodes.c (output_predicate_decls): Remove empty initializer.
11049
11050 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
11051
11052         * tree.c (copy_node): Remove documentation about obstacks.
11053         (buidl1): Check that nobody tries to build 2-argument nodes this
11054         way.
11055
11056 2001-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11057
11058         * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
11059         fp_high_losum_p.
11060
11061         * gencodes.c (output_predicate_decls): Fill empty initializer
11062         braces.
11063
11064 2001-01-04  Jakub Jelinek  <jakub@redhat.com>
11065
11066         * tradcpp.c (deps_file, print_deps_missing_files): New variables.
11067         (main): Handle -MG, -MD, -MMD.  Bail out if -MG is given without -M
11068         or -MM.
11069         (do_include): Handle missing headers like cpp0.
11070         * cppfiles.c (_cpp_execute_include): Don't prefix absolute header
11071         paths with first include pathname.  Don't strcat to uninitialized
11072         string.
11073
11074 2001-01-04  Bernd Schmidt  <bernds@redhat.com>
11075
11076         * regrename.c (regrename_optimize): Don't rename from frame pointer
11077         if frame_pointer_needed.
11078         (do_replace): Don't set ORIGINAL_REGNO to a hard register number.
11079         * config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
11080         (ia64_reorg): Use it instead of scheduling if ! optimize.
11081         (errata_emit_nops): Properly call asm_noperands.
11082         (ia64_sched_reorder): Finish cycle if we see an asm.
11083         (ia64_variable_issue): Clear scheduling state after asms.
11084
11085 2001-01-04  Neil Booth  <neil@daikokuya.demon.co.uk>
11086
11087         * cpp.texi: Update for -MT.
11088         * cppinit.c (initialize_dependency_output): Add a default
11089         target if none has been given already.
11090         (no_tgt, OPT_MT): New.
11091         (cpp_handle_option): Handle -MT.  Update -M etc.
11092         * cpplib.h (struct cpp_options): Remove deps_target.
11093         * gcc.c (cpp_options): Handle -MT.
11094         * mkdeps.c (struct deps): Move from mkdeps.h.
11095         (deps_calc_target): Rename deps_add_default_target.  Add a
11096         default target if none has been specified already.
11097         * mkdeps.h (struct deps): Move to mkdeps.c.
11098         (deps_calc_target): Rename deps_add_default_target.
11099
11100 2000-01-03  Richard Henderson  <rth@redhat.com>
11101
11102         * c-decl.c (grokdeclarator): Give zero-length arrays size zero.
11103         Remove dead code.
11104         * c-typeck.c (push_init_level): Move checks for flexible array
11105         members and zero length arrays ...
11106         (pop_init_level): ... here.  Silently discard empty initializations.
11107         Remove dead code.
11108         * varasm.c (output_constructor): Update for sizeof change to
11109         zero-length arrays.
11110
11111         * extend.texi (Zero Length): Clarify semantics.
11112
11113 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
11114
11115         * configure.in (tm.h): Include isns-codes.h last.
11116         * configure: Rebuilt.
11117
11118 2001-01-03  Richard Henderson  <rth@redhat.com>
11119
11120         * config/alpha/alpha.md (addvsi3, addvdi3): New.
11121         (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
11122
11123 2001-01-03  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11124
11125         * tradcpp.c (main): Make sure finclude() is called with a valid
11126         indepth value while handling -include.
11127
11128 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
11129
11130         * gencodes.c (output_predicate_decls): New function.
11131         (main): Call it.
11132         * machmode.h (GET_MODE_MASK): Arrange for it to be defined
11133         even if it is not the first time machmode.h is #included.
11134         * config/sh/sh.c (fpul_operand): Declare MODE argument.
11135         * tm.texi (PREDICATE_CODES): Document predicate declarations.
11136         * gcc.texi (Copyright): Added 2001.
11137
11138 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
11139
11140         * c-common.c (c_common_lang_init): New function.  Warn if format
11141         warning options which only have effects when used with -Wformat
11142         are used without -Wformat.
11143         * c-common.h (c_common_lang_init): Declare.
11144         * c-lang.c (lang_init): Call c_common_lang_init.
11145         * objc/objc-act.c (lang_init): Call c_common_lang_init.
11146
11147 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
11148
11149         * configure.in: Check for the mktemp command.
11150         * configure: Regenerate.
11151         * gccbug.in: Use a separate temporary file $TEMP0 for one use of
11152         $TEMP.  Create temporary files with mktemp, if available at
11153         configure time; otherwise use set -C.  Remove temporary files
11154         before exit.
11155
11156 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
11157
11158         * configure.in: Require at least texinfo 4.0.  Check for whether
11159         Pod::Man is sufficiently recent to regenerate GCC manpages.
11160         * configure:  Regenerate.
11161         * Makefile.in (TEXI2POD): Call perl explicitly rather than relying
11162         on #!.
11163         (GENERATED_MANPAGES): Define.
11164         (generated-manpages): New target.  Depend on cpp.1 as well as
11165         gcov.1.
11166         (install-man): Depend on $(GENERATED_MANPAGES) (defined by
11167         configure to generated-manpages or empty) rather than on the
11168         manpages directly.  Remove execute permission from installed
11169         gcov.1 as well as cpp.1.
11170         * cpp.1, gcov.1: Regenerate.
11171
11172 2001-01-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11173
11174         * builtins.c (expand_builtin_strncmp): Use host_integerp and
11175         tree_low_cst.  Allow using cmpstrsi in more cases.
11176
11177 Wed Jan  3 10:48:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11178
11179         * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
11180         sized types.
11181
11182 Wed Jan  3 12:22:32 2001  Alexandre Oliva  <aoliva@redhat.com>
11183
11184         * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
11185         * Makefile.in (HOST_CFLAGS): Mention build-make.
11186
11187 Wed Jan  3 08:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11188
11189         * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
11190         as JUMP_INSN.
11191
11192 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
11193
11194         * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
11195         a REG rtx.
11196
11197         * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg.  All
11198         callers changed.
11199
11200         * alias.c (throughout): Use ORIGINAL_REGNO when accessing
11201         reg_base_value and reg_known_value arrays.
11202         (init_alias_analysis): Add more cases to detect known values.
11203         * sched-deps.c (deps_may_trap_p): New function.
11204         (sched_analyze_2): Use it.
11205
11206 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
11207
11208         * combine.c (simplify_shift_const): Even if we're sign-extracting,
11209         don't discard an ASHIFTRT if we're shifting in a wider mode.
11210
11211 2000-01-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11212
11213         * toplev.c (rest_of_compilation): Don't print basic block information
11214         when CFG isn't up to date.
11215
11216 2001-01-02  Mark Elbrecht  <snowball3@bigfoot.com>
11217
11218         * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
11219         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
11220         (UNALIGNED_SHORT_ASM_OP): Define.
11221         (CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
11222
11223 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
11224
11225         * fold-const.c (fold_convert): Fix typo.
11226
11227 2001-01-02  Richard Henderson  <rth@redhat.com>
11228
11229         * c-common.h (ASM_INPUT_P): New.
11230         * c-parse.in (asm): Set it when needed.
11231         * c-semantics.c (genrtl_asm_stmt): Test it instead of the
11232         existance of an operand.
11233
11234 Tue Jan  2 20:27:07 MET 2001  Jan Hubicka  <jh@suse.cz>
11235
11236         * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
11237         (dwarf2out_frame_debug_expr): Likewise.
11238         (mem_loc_descriptor): Handle PRE and POST_MODIFY.
11239
11240 Tue Jan  2 20:21:31 MET 2001  Jan Hubicka  <jh@suse.cz>
11241
11242         * i386.c (ix86_split_to_parts): Return number of part required;
11243         handle TFmodes.
11244         (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
11245         TFmodes.
11246         (ix86_split_long_move): Use number of part returned
11247         by ix86_split_to_parts
11248         * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
11249         New macros.
11250         (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
11251         (LONG_DOUBLE_TYPE_SIZE): Change from constant.
11252         (MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
11253         (INTEL_EXTENDED_IEEE_FORMAT): Likewise.
11254         (ALIGN_MODE_128): Add TFmode.
11255         (IS_STACK_MODE): Likewise.
11256         (HARD_REGNO_NREGS): TFmode needs 3 registers.
11257         (HARD_REGNO_OK): Support TFmodes.
11258         (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
11259         * i386.md (scheduler definitions): Use memory operand to determine
11260         fst/fld instructions; use mode attribute to determine real mode of
11261         the instruction.
11262         (*tf): New patterns, expanders and splitters; based on XFmode patterns.
11263         * invoke.texi (128bit-long-double, 96bit-long-double): Document.
11264
11265 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
11266
11267         * tree.def (TRUTH_NOT_EXPR): Improve documentation.
11268
11269 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
11270
11271         * expr.c (store_constructor_field): Update ALIGN before calling
11272         store_constructor.
11273
11274 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
11275
11276         * config/mips/mips.c (function_arg): Don't pass NULL_TREE to
11277         host_integerp.
11278
11279 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
11280
11281         * tm.texi (FUNCTION_ARG): Document that @var{type} can be an
11282         incomplete type.
11283
11284 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
11285
11286         * c-decl.c (start_function): Don't warn on third parameter to main.
11287
11288 2001-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11289
11290         * tsystem.h: Define HAVE_DECL_GETOPT.
11291
11292 2001-01-02  Philip Blundell  <pb@futuretv.com>
11293
11294         * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
11295         of input operand.
11296
11297 2001-01-02  Richard Henderson  <rth@redhat.com>
11298
11299         * alpha.md (*ze_and_ne): Duplicate insn condition to split.
11300
11301 2001-01-02  Andreas Jaeger  <aj@suse.de>
11302
11303         * c-decl.c (c_decode_option): Remove support of
11304         -Wmissing-noreturn.
11305
11306         * toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
11307         (W_options): Add -Wmissing-noreturn here.
11308
11309         * flow.c: Define lang_missing_noreturn_ok_p.
11310         (check_function_return_warnings): Use it.
11311
11312         * c-common.h: Declare lang_missing_noreturn_ok_p.
11313
11314         * c-lang.c (c_missing_noreturn_ok_p): New function.
11315         (lang_init): Set lang_missing_noreturn_ok_p.
11316
11317         * invoke.texi (Warning Options): Document this.
11318
11319 2000-12-27  Phil Edwards  <pme@sources.redhat.com>
11320
11321         * extend.texi (C++ Extensions):  New node for C++ attributes;
11322         describe init_priority and com_interface.
11323         * invoke.texi:  Remove -finit-priority as it now has zero effect.
11324         * install.texi:  Fix xref syntax.
11325         * md.texi:  Likewise.
11326
11327 Mon Jan  1 21:28:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11328
11329         * config.gcc (sparc64-wrs-vxworks*): New case.
11330         * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
11331
11332         * config/sparc/sparc.c (sparc_override_options): Do support different
11333         pointer and architecture size.
11334         * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
11335         (POINTERS_EXTEND_UNSIGNED): Define.
11336         (Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
11337         (FUNCTION_MODE): Define to be Pmode.
11338         * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
11339
11340         * function.c (expand_function_end): Properly handle DECL_RESULT
11341         and copy when ptr_mode != Pmode.
11342         * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
11343
11344 2001-01-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11345
11346         * c-common.c (c_common_nodes_and_builtins): Set prototype
11347         parameters for __builtin_fputs, __builtin_fputc and
11348         __builtin_fwrite.  Don't declare plain fputc as a builtin.
11349
11350 2001-01-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11351
11352         * loop.c (add_label_notes): Increment the label usage count when
11353         a note is added to an insn which refers to a CODE_LABEL.
11354         * gcse.c (add_label_notes): Likewise.
11355
11356 2001-01-01  Andreas Jaeger  <aj@suse.de>
11357
11358         * loop.c (scan_loop): Use xmalloc to allocate movables.
11359
11360 2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
11361
11362         * tm.texi (REGISTER_MOVE_COST): Add a mode argument.
11363         * reload.c (REGISTER_MOVE_COST): Likewise.  Adjust all callers.
11364         * reload1.c (REGISTER_MOVE_COST): Likewise.
11365         * regclass.c (REGISTER_MOVE_COST): Likewise.
11366         (move_cost, may_move_in_cost, may_move_out_cost): Add mode
11367         dimension.  Adjust all users.
11368         (init_reg_sets_1): Iterate on all modes.
11369         * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
11370         * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
11371         * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
11372         * config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
11373         * config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
11374         * config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
11375         * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
11376         * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
11377         * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
11378         * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
11379         * config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
11380         * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
11381         * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
11382         * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
11383         * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
11384         * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
11385         * config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
11386         * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
11387         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
11388         * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
11389         * config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
11390         * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
11391         * config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
11392         * config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
11393         * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
11394         * config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
11395         * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
11396
11397 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
11398
11399         * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
11400         arg VARIES_P.  Call it with extra arg.
11401         (true_dependence): Likewise.
11402         * rtl.h (rtx_addr_can_trap_p): Declare.
11403         (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
11404         prototypes.
11405         * rtlanal.c (rtx_addr_can_trap_p): No longer static.
11406         (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
11407         pic offset table register if it's zero.  All callers changed.
11408         (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
11409
11410 Mon Jan  1 07:38:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11411
11412         * explow.c (convert_memory_address, case SYMBOL_REF): Copy
11413         STRING_POOL_ADDRESS_P.
11414
11415         * config/sparc/sparc.c (input_operand): Properly test for short op.
11416
11417         * config.gcc (sparc-*-elf): Include sparc/sol2.h.
11418         (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
11419         (sparclite-*-elf*, sparc86x-*-elf*): Likewise.
11420         * config/sparc/elf.h: No longer include sol2.h.
11421         * config/sparc/lifeelf.h: No longer include sparc/elf.h.
11422         * config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
11423
11424         * config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
11425
11426 2001-01-01  Michael Hayes  <mhayes@redhat.com>
11427
11428         * loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
11429         (find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
11430         (record_initial): Likewise.
11431         * unroll.c (copy_loop_body, loop_iterations): Likewise.
11432         (remap_split_bivs): Likewise.
11433
11434 2001-01-01  Michael Hayes  <mhayes@redhat.com>
11435
11436         * loop.c (loop_ivs_free): New function.
11437         (strength_reduce): Break out from...
11438
11439 2001-01-01  Michael Hayes  <mhayes@redhat.com>
11440
11441         * loop.h (struct iv): New.
11442         (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
11443         (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
11444         'reg_biv_class' fields with 'regs' and 'n_regs'.
11445         (struct ivs): Rename 'loop_iv_list' field to 'list'.
11446         * loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
11447         * unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
11448
11449 2000-12-31  Alexandre Oliva  <aoliva@redhat.com>
11450
11451         * resource.c (mark_referenced_resources): Abort() before
11452         attempting to mark a pseudo register.
11453         (mark_set_resources): Likewise.
11454
11455 2001-01-01  Michael Hayes  <mhayes@redhat.com>
11456
11457         * loop.h (REG_IV_CLASS): New accessor macro.
11458         * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
11459         * unroll.c (REG_IV_CLASS): Likewise.
11460
11461 See ChangeLog.4 for earlier changes.