OSDN Git Service

2001-11-30 Daniel Berlin <dan@cgsoftware.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
2
3         * genopinit.c (gen_insn): Handle MODE_VECTOR_INT and
4         MODE_VECTOR_FLOAT as allowed.
5
6 2001-11-29  Zack Weinberg  <zack@codesourcery.com>
7
8         Purge cruft now we have build libiberty.
9
10         * Makefile.in (OBSTACK, VFPRINTF, DOPRINT, STRSTR,
11         HOST_OBSTACK, HOST_VFPRINTF, HOST_DOPRINT, HOST_STRSTR,
12         USE_HOST_OBSTACK, USE_HOST_VFPRINTF, USE_HOST_DOPRINT,
13         USE_HOST_STRSTR): Delete variables.
14         (vfprintf.o, doprint.o, strstr.o, splay-tree.o, obstack.o,
15         hashtab.o, safe-ctype.o, $(HOST_PREFIX_1)obstack.o,
16         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
17         $(HOST_PREFIX_1)strstr.o), $(HOST_PREFIX_1)): Delete rules.
18         (LIBIBERTY, BUILD_LIBIBERTY): New variables.
19         (LIBDEPS): Now just $(INTLDEPS) $(LIBIBERTY).
20         (LIBS): Now just $(INTLLIBS) @LIBS@ $(LIBIBERTY).
21         (HOST_LIBDEPS): Now just $(BUILD_LIBIBERTY).
22         (HOST_LIBS): Ditto.
23         (HOST_RTL): Remove hashtab.o safe-ctype.o.
24         (OBJS): Remove splay-tree.o.
25         (gen-protos): Depend on $(HOST_LIBS), not ../libiberty/libiberty.a.
26         (distclean): No need to delete splay-tree.c obstack.c
27         hashtab.c safe-ctype.c.
28         (mostlyclean): Delete build copies of print-rtl.c bitmap.c
29         errors.c ggc-none.c (all prefixed with $(HOST_PREFIX_1).
30         * aclocal.m4 (gcc_AC_FUNC_VFPRINTF_DOPRNT, gcc_AC_FUNC_STRSTR):
31         Delete.
32         * configure.in: Don't use them.
33         Set and substitute @FORBUILD@.
34         * config.in, configure: Regenerate.
35         * doprint.c: Move to libiberty/_doprnt.c.
36         * doc/configterms.texi: Document that libiberty is now built
37         up to three times.  Fix typo.
38
39 2001-11-30  Jason Merrill  <jason@redhat.com>
40
41         * dwarf2out.c (add_data_member_location_attribute): Do the
42         right thing for virtual bases.
43         * dbxout.c (dbxout_type): For a virtual base, print the offset
44         within the vtable.
45
46 2001-11-29  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
47
48         * doloop.c (doloop_valid_p): Check for LTU and GTU as well.
49
50 2001-11-29  Aldy Hernandez  <aldyh@redhat.com>
51
52         * config/rs6000/rs6000.c (function_arg): Unnamed vector arguments
53         go in memory.
54         Remove unused attribute for named.
55
56 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
57
58         * genattrtab.c (attr_rtx_1): New function containing the
59         majority of `attr_rtx'.  Move variable declarations into the
60         scope where they are used.  Eliminate unnecessary gotos.
61         (attr_rtx): Now just a wrapper for `attr_rtx_1' using VA_OPEN,
62         VA_FIXEDARG, and VA_CLOSE.
63
64 2001-11-30  Hans-Peter Nilsson  <hp@axis.com>
65
66         * config/cris/cris.c (cris_notice_update_cc): Check first
67         destination also against overlap with cc_status.value2 and second
68         destination against overlap with cc_status.value1.  For overlaps,
69         clear overlapped value, don't just CC_STATUS_INIT.
70
71         * config/cris/cris.h (EXTRA_CONSTRAINT_T): Fix spacing and FIXME.
72         Fix typo in comment.
73         (LINK_SPEC): Remove whitespace at end of line.
74
75 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
76
77         * c-lex.c (init_c_lex): Canonicalize "-" filename to "".
78
79 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
80
81         * gcc.c (ASM_DEBUG_SPEC): Only check HAVE_AS_G*_DEBUG_FLAG
82         macros for the supported debugging types.
83
84 2001-11-29  Craig Rodrigues  <rodrigc@gcc.gnu.org>
85
86         PR other/4932
87         * config/i386/i386.c (print_operand):  Verify that the
88           argument to %c is a constant and not a conditional which
89           needs to be reversed.
90
91 Thu Nov 29 11:12:59 2001  Geoffrey Keating (geoffk@redhat.com)
92
93         * emit-rtl.c (gen_lowpart_common): Fix conversion of
94         REAL_VALUE_TYPEs to an array of target integers.  Fix extraction
95         of low part of those arrays for 32bit and 64bit hosts.
96
97 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
98
99         * Makefile.in (insn-output.o): Depend on insn-codes.h.
100
101 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
102
103         * configure.in (target_list): Add generated-manpages.
104         * configure: Regenerate.
105         * Makefile.in (generated-manpages): Depend on
106         lang.generated-manpages.
107         * objc/Make-lang.in (objc.generated-manpages): New dummy target.
108
109 2001-11-29  Nick Clifton  <nickc@cambridge.redhat.com>
110
111         * config/arm/crti.asm (_init): Add .thumb_func if compiled
112         with -mthumb.
113         (_fini): Add .thumb_func if compiled with -mthumb.
114
115 2001-11-28  Eric Christopher  <echristo@redhat.com>
116
117         * config/mips/mips.c (override_options): Fix thinko in mips_tune
118         for mips32/mips64. Remove MASK_SOFT_FLOAT configuration bits.
119
120 Thu Nov 29 00:24:15 EST 2001  John Wehle  (john@feith.com)
121
122         * alpha.md (tablejump): Use pic_offset_table_rtx
123         instead of gen_rtx_REG.
124
125 Wed Nov 28 15:36:13 2001  Jeffrey A Law  (law@cygnus.com)
126
127         * expr.c (store_expr): When copying a string constant into an
128         array, reset the known alignment of the MEM for the section to
129         be cleared to BITS_PER_UNIT.
130
131 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
132
133         * config/cris/cris.c: Remove whitespace at end of line.
134
135 Wed Nov 28 14:51:23 2001  Douglas B. Rupp  <rupp@gnat.com>
136
137         * config.gcc (i[34567]86-*-interix3*): New case.
138         * config/x-interix3, config/interix3.h, config/i386/i386-interix3.h:
139         New files.
140
141 2001-11-28  Richard Henderson  <rth@redhat.com>
142
143         * config/alpha/alpha.md (sibcall_osf_1, sibcall_value_osf_1): Use
144         symbolic_operand as the predicate.
145
146 2001-11-28  Richard Henderson  <rth@redhat.com>
147
148         * doloop.c (doloop_modify_runtime): Properly select induction
149         variable; skip late entry test if biv initializer created by loop.
150
151 Wed Nov 28 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
152
153         * tree.h (EXPR_WFL_LINECOL): Used by Java in node other than
154         EXPR_WITH_FILE_LOCATION, so change checks and documentation.
155
156         * tree.h (TREE_VIA_PROTECTED): Update to show can be in TREE_VEC.
157
158         * tree.h: Add missing checks on some macros; make formatting more
159         consistent.
160
161         * stor-layout.c (put_pending_size): Look for SAVE_EXPR if not at top
162         level; only add to pending_sizes if find it.
163
164         * langhooks.c (lhd_safe_from_p): Add ATTRIBUTE_UNUSED.
165
166         * df.c (iterate_dataflow_sbitmap, iterate_dataflow_bitmap):
167         Add casts to remove warnings.
168
169         * Makefile.in (OBJS): Sort alphabetically.
170
171         * print-rtl.c (print_rtx): If RTX code is bad, just say so.
172         Also minor cleanups.
173
174 Wed Nov 28 06:52:27 2001  Arnaud Charlet  <charlet@ACT-Europe.FR>
175
176         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Remove STAGE_PREFIX.
177         (FLAGS_TO_PASS): Add STAGE_PREFIX.
178         (SUBDIR_FLAGS_TO_PASS): Apply PREPEND_DOTDOT_TO_RELATIVE_PATH
179         to STAGE_PREFIX.
180
181 Wed Nov 28 10:42:19 CET 2001  Jan Hubicka  <jh@suse.cz>
182
183         * cse.c (true_dependence_in_rtx): New function.
184         (invalidate): Use it.
185
186         * c-common.h (GOTO_FAKE_P): New macro.
187         * tree-inline.c (GOTO_FAKE_P): Set.
188         * c-tree.texi (GOTO_FAKE_P): Document.
189
190         * varasm.c (assemble_variable): Set reloc to 3 for error_mark
191         containing pointers.
192         (output_addressed_constants): Check for local/external relocations.
193         * elfos.h (SELECT_SECTION): Classify data section.
194         * tm.texi (SELECT_SECTION): Update documentation.
195
196         * cfganal.c (flow_dfs_compute_reverse_add_bb): set visited bit.
197         (flow_dfs_compute_reverse_execute): Add only unvisited blocks.
198
199 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
200
201         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
202         UNALIGNED_DOUBLE_INT_ASM_OP): Also provide defaults when we have
203         OBJECT_FORMAT_ROSE.
204
205 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
206
207         * config/cris/cris.c: Tweak spacing for prototypes.
208         (LOSE_AND_RETURN): New macro.
209         (cris_operand_lossage): New function.
210         (cris_print_index, cris_print_base): Use cris_operand_lossage
211         rather than fatal_insn.
212         (cris_print_operand, cris_print_operand_address): Use
213         LOSE_AND_RETURN rather than fatal_insn and internal_error.
214         (cris_output_addr_const): Use LOSE_AND_RETURN and
215         output_operand_lossage rather than fatal_insn and internal_error
216         for valid but unexpected rtx expressions.
217
218         * config/cris/cris.c (cris_split_movdx): Don't call alter_subreg
219         for a SUBREG in src or dest, abort instead.
220
221 2001-11-28  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
222
223         * doc/passes.texi: Remove reference to c-dump.c. Update tree inlining
224         doc.
225
226 2001-11-27  Jakub Jelinek  <jakub@redhat.com>
227
228         * gcc.c (ASM_DEBUG_SPEC): Use conditional expression rather than
229         preprocessor define.  If only DBX_DEBUGGING_INFO or only
230         DWARF2_DEBUGGING_INFO is supported for the target, provide
231         appropriate definitions.
232
233 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
234
235         * Makefile.in: Update, and add c-objc-common.o dependencies.
236         * c-lang.c: Remove unnecessary includes.
237         (c_init): Move bulk of code to c_objc_common_init, and call it.
238         (c_tree_printer, c_missing_noreturn_ok_p, c_disregard_inline_limits,
239         inline_forbidden_p, c_cannot_inline_tree_fn): Move to
240         c-objc-common.c.
241         * c-objc-common.c: New.  Mostly pulled from c-lang.c.
242         * c-tree.h (c_disregard_inline_limits, c_cannot_inline_fn,
243         c_objc_common_init, c_missing_noreturn_ok_p): New.
244         * toplev.c: Update comment.
245         * doc/passes.texi: Update.
246 objc:
247         * ojbc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
248         LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
249         LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Override.
250         (objc_init): Update to use c_objc_common_init.
251
252 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
253
254         * cpphash.c (_cpp_init_hashtable): Update.
255         * cpphash.h (struct spec_nodes): Remove n_L.
256         * cpplex.c (_cpp_lex_direct): Check for prefix L separately.
257
258 2001-11-17  Richard Henderson  <rth@redhat.com>
259
260         * unroll.c (loop_iterations): Move last change ...
261         * doloop.c (doloop_modify_runtime): ... here.
262
263 2001-11-17  Corey Minyard  <minyard@acm.org>
264             Richard Henderson  <rth@redhat.com>
265
266         * unroll.c (loop_iterations): Detect one situation in which we
267         overestimate the number of iterations.
268
269 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
270
271         * gcc.c (set_input): Export.
272         Move declaration ...
273         gcc.h (set_input): ... here.
274
275 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
276
277         * gcc.c (set_collect_gcc_options): New function, split out from
278         main.
279         Ignore elided switches.
280         (do_spec): Invoke before executing command.
281         (do_spec_1): Likewise.
282         Fixes PR other/3968.
283
284 2001-11-27  Hans-Peter Nilsson  <hp@axis.com>
285
286         * config/cris/cris.h (INT_ASM_OP): Remove.
287
288 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
289
290         * config/i386/sol2.h (WINT_TYPE): Redefine.
291         (WINT_TYPE_SIZE): Likewise.
292
293 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
294
295         * collect2.c: Check HAVE_DUP2 instead of NO_DUP2.
296         (dup2): Make static and add prototype.
297         * m68k/plexus.h: Don't define NO_DUP2.
298         * configure.in (AC_CHECK_FUNCS): Add dup2.
299         * config.in, configure: Regenerate.
300
301         * ia64/aix.h (REG_SIZE): Don't #undef.
302         * sparc.h (REG_SIZE): Delete.
303         * flow.c (mark_used_regs): Don't use REG_SIZE.
304         * regs.h (REG_SIZE): Delete.
305
306 2001-11-27  Andreas Schwab  <schwab@suse.de>
307
308         * gcc.c: Fix typo PREFERRED_DEBUGGING_FORMAT ->
309         PREFERRED_DEBUGGING_TYPE.
310
311 Tue Nov 27 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
312
313         * Makefile.in (c-lang.o): Depends on langhooks-def.h.
314         (expr.o, varasm.o): Depends on langhooks.h.
315         * c-common.c (c_safe_from_p): Always declare.
316         (c_expand_expr): Refine when declared.
317         * c-lang.c (c-common.h): Now include.
318         (LANG_HOOKS_SAFE_FROM_P): Define new hook.
319         (c_init): Don't set lang_safe_from_expr.
320         * expr.c (langhooks.h): Now include.
321         (lang_safe_from_p): No longer define.
322         (safe_from_p): Use lang hook.
323         (expand_expr): Set IGNORE if VOID_TYPE result of VIEW_CONVERT_EXPR too.
324         (expand_expr, case VIEW_CONVERT_EXPR): Pass ro_modifier down.
325         * expr.h (lang_expand_constant, lang_safe_from_p): Delete.
326         * langhooks-def.h (lhd_return_tree, lhd_safe_from_p): New decls.
327         (LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks.
328         * langhooks.c (lhd_return_tree, lhd_safe_from_p): New functions.
329         * langhooks.h (struct lang_hooks): New fields expand_constant
330         and safe_from_p.
331         * output.h (output_constant): Size arg is HOST_WIDE_INT.
332         * stmt.c (expand_decl_init): No longer need to expand constant
333         for CONST_DECL.
334         * stor-layout.c (put_pending_size): Don't check for SAVE_EXPR.
335         * toplev.c (lang_expand_constant): Delete var.
336         * tree.c (save_expr): Don't put another SAVE_EXPR around simple
337         operations on SAVE_EXPR.
338         * varasm.c (langhooks.h): Now include.
339         (compare_constant_1): Use lang_hooks, not lang_expand_constant.
340         (record_constant_1, output_addressed_constants): Likewise.
341         (initializer_constant_valid_p, output_constant): Likewise.
342         (output_constant_def): Process no-defer of string constant.
343         (output_addressed_constants, case ADDR_EXPR): Use handled_component_p.
344         (output_constant): Strip more conversions.
345         Track our size and pad for the rest.
346         (array_size_for_constructor): Remove code for non-byte STRING_CST.
347         (output_constructor): SIZE now HOST_WIDE_INT.
348
349 2001-11-27  Richard Henderson  <rth@redhat.com>
350
351         * ifcvt.c (noce_try_store_flag_constants): Test for overflow
352         in computing DIFF.
353
354 2001-11-27  Zack Weinberg  <zack@codesourcery.com>
355
356         * cppfiles.c (read_include_file): Add comment.
357
358 2001-11-26  Richard Henderson  <rth@redhat.com>
359
360         * toplev.c (rest_of_compilation): Call free_bb_for_insn before exit.
361
362 2001-11-26  Richard Henderson  <rth@redhat.com>
363
364         * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Undef.
365         * config/ia64/aix.h (PREFERRED_DEBUGGING_TYPE): Remove
366         commented out override.
367
368 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
369
370         * cppfiles.c (stack_include_file): Don't optimize zero-length
371         files.
372         (read_include_file): NUL-terminate read files.
373         * cpplex.c (handle_newline, skip_escaped_newlines,
374         get_effective_char, skip_whitespace, parse_identifier,
375         parse_identifier_slow, parse_number, parse_string,
376         _cpp_lex_direct): Optimize for the fact that buffers are guaranteed
377         NUL-terminated.
378         * cpplib.c (destringize_and_run, cpp_define, handle_assertion):
379         Be sure buffers are NUL terminated.
380         * cppmacro.c (warn_of_redefinition): Kill compile warning.
381
382 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
383
384         * c-common.c: Include tree-inline.h.
385         (c_language): Move separate definitions here.
386         (c_common_init_options, c_common_post_options): New.
387         (c_common_lang_init): Rename c_common_init.
388         * c-common.h (c_common_lang_init): Similarly.
389         (c_common_init_options, c_common_post_options): New.
390         * c-lang.c (c_post_options): Move body to c_common_post_options.
391         (c_init_options): Use c_common_init_options.
392         (c_init): Update.
393         * langhooks.def: Rearrange.
394         * langhooks.h: Rearrange, and improve comments.
395         * toplev.c (do_compile): New function.
396         (toplev_main): Use it.
397         (lang_independent_f_options, parse_options_and_default_flags,
398         process_options): Remove trailing periods.
399         * Makefile.in: Update.
400 objc:   * objc-act.c (objc_post_options, objc_init_options): Use c-common.c
401         functions.
402         (ojbc_init): Update.
403
404 2001-11-26  Richard Henderson  <rth@redhat.com>
405
406         * config/alpha/alpha.md (unop): Add 0 offset for some gas versions.
407
408 2001-11-26  DJ Delorie  <dj@redhat.com>
409
410         * expr.c (store_constructor): Actually use the value computed
411         if WORD_REGISTER_OPERATIONS.
412
413 2001-11-26  Richard Henderson  <rth@redhat.com>
414
415         * config/elfos.h (SELECT_SECTION): Don't check TREE_READONLY
416         for CONSTRUCTOR.
417
418 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
419
420         * rs6000.c (output_mi_thunk): Handle minimal-toc and call
421         correct function on AIX.
422
423 2001-11-26  Alexandre Oliva  <aoliva@redhat.com>
424
425         * toplev.c (process_options): Don't force
426         flag_optimize_sibling_calls to zero just because exceptions are
427         enabled.
428
429 Mon Nov 26 12:37:05 2001  Jeffrey A Law  (law@cygnus.com)
430
431         * df.h (transfer_function_sbitmap): Use PARAMS around argument
432         list in function prototypes.
433         (transfer_function_bitmap): Likewise.
434
435 2001-11-26  Loren J. Rittle  <ljrittle@acm.org>
436
437         * config/stormy16/stormy16.h: Remove DEFAULT_VTABLE_THUNKS.
438         * config/i386/netbsd-elf.h: Likewise.
439
440 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
441
442         * doc/trouble.texi: Remove outdated RS/6000 comments.
443
444 Mon Nov 26 13:49:41 CET 2001  Jan Hubicka  <jh@suse.cz>
445
446         * final.c (walk_alter_subreg): Fix return value.
447
448 Mon Nov 26 11:36:20 CET 2001  Jan Hubicka  <jh@suse.cz>
449
450         * sparc.c (sparc_absnegfloat_split_legitimate): Do not call
451         alter_subreg.
452         * sparc.md (post-reload splitters): Do not call alter_subreg.
453         * cfgrtl.c (purge_dead_edges): Fix typo in previous fix.
454
455 2001-11-25  Aldy Hernandez  <aldyh@redhat.com>
456
457         * regclass.c (choose_hard_reg_mode): Handle vector arguments.
458
459 2001-11-26  Alan Modra  <amodra@bigpond.net.au>
460
461         * final.c: (insn_lengths): Make it an int *, so that large jump
462         tables don't overflow.
463
464 2001-11-25  Joseph S. Myers  <jsm28@cam.ac.uk>
465
466         * c-format.c (FMT_FLAG_DOLLAR_GAP_POINTER_OK): New.
467         (format_types): Use it for scanf.
468         (dollar_arguments_pointer_p): New.
469         (init_dollar_format_checking): Store details of which arguments
470         are pointers.
471         (maybe_read_dollar_number): Reallocate dollar_arguments_pointer_p.
472         (finish_dollar_format_checking): Take extra parameter
473         pointer_gap_ok.  Treat unused arguments differently if
474         pointer_gap_ok and the unused arguments are pointers.
475         (check_format_info_main): Pass extra argument to
476         finish_dollar_format_checking.
477         * doc/invoke.texi (-Wno-format-extra-args): Document behavior when
478         unused arguments are present between used arguments with operand
479         numbers.
480
481 2001-11-25  Daniel Berlin  <dan@cgsoftware.com>
482
483         * df.c: Add prototypes for hybrid_search_bitmap and
484         hybrid_search_sbitmap.
485         (hybrid_search_bitmap): New function.
486         (hybrid_search_sbitmap): New function.
487         (iterative_dataflow_sbitmap): Change to use hybrid_search_sbitmap.
488         (iterative_dataflow_bitmap): Ditto.
489
490 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
491
492         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
493         address computations.
494
495 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
496
497         * config/m68hc11/m68hc11.c (d_register_operand): Must accept
498         register b (low part of d).
499
500 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
501
502         * config/m68hc11/m68hc11.h (FUNCTION_PROFILER): Fix label name
503         passed to mcount.
504
505 Sun Nov 25 06:22:09 2001  Douglas B. Rupp  <rupp@gnat.com>
506
507         * config/alpha/vms-ld.c, config/alpha/vms-cc.c: New files.
508         * config/alpha/x-vms: New file, to compile the above.
509         * config.gcc (alpha*-dec-vms*): Add x-vms.
510
511 2001-11-24  Hans-Peter Nilsson  <hp@axis.com>
512
513         * genextract.c (main): Set ro_loc for peepholes.
514
515 Sat Nov 24 17:04:10 2001  Douglas B. Rupp  <rupp@gnat.com>
516
517         * fix-header.c (main): Move inf_buffer termination and inf_limit
518         calculation to after read.
519
520         * config/alpha/xm-vms.h (FILE_TYPE): Remove undef and baggage.
521         (__UNIX_FOPEN): Define.
522
523 Sat Nov 24 16:11:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
524
525         * function.c (assign_stack_temp_for_type): Clear alias set before
526         setting new one.
527
528 2001-11-23  David Edelsohn  <edelsohn@gnu.org>
529
530         * rs6000.c (print_operand, case 'v'): Use HOST_WIDE_INT_PRINT_HEX
531         format.
532         * rs6000.md (cmptf): Fix typo.
533
534 2001-11-23  Richard Sandiford  <rsandifo@redhat.com>
535
536         * final.c (output_addr_const): Output PC as '.' even if !flag_pic.
537         * varasm.c (output_constructor): Use assemble_integer rather
538         than ASM_OUTPUT_BYTE.
539
540 2001-11-23  Andreas Jaeger  <aj@suse.de>
541
542         * cpplex.c (cpp_interpret_charconst): Use HOST_WIDE_INT for sign
543         extension.
544
545 2001-11-23  Nick Clifton  <nickc@cambridge.redhat.com>
546
547         * config/arm/xscale-coff.h (SUBTARGET_CPU_DEFAULT): Override
548         default definition.
549         (SUBTARGET_EXTRA_ASM_SPEC): Remove previous definition.
550         (MULTILIB_DEFAULTS): Remove previous definition.
551
552 2001-11-23  Neil Booth  <neil@daikokuya.demon.co.uk>
553
554         * cppmacro.c (warn_of_redefinition): Warn regardless of -pedantic.
555         * gcc.dg/cpp/mi6.c, gcc.dg/cpp/redef2.c: Update.
556
557 2001-11-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
558
559         * cris.h: Revert thinko in last patch.
560
561 2001-11-23  Joseph S. Myers  <jsm28@cam.ac.uk>
562
563         * ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog,
564         FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c,
565         cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c,
566         dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h,
567         explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c,
568         sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors.
569
570         * predict.c, reg-stack.c: Fix spelling errors.
571
572 2001-10-09  Andrew Haley  <aph@redhat.com>
573
574         * calls.c (check_sibcall_argument_overlap): Use slot_offset for
575         start of stack slot.
576
577 2001-11-22  Graham Stott  <grahams@redhat.com>
578
579         * cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit
580         replacement jump after original jump.
581
582         (verify_flow_info): Remove redundent initialisation.
583         Handle reaching end of insn list before finding a BARRIER.
584         Only issue one missing barrier diagnostic.
585
586 2001-11-22  Graham Stott  <grahams@redhat.com>
587
588         * local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM.
589
590 Thu Nov 22 06:49:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
591
592         * config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
593         insn actually does.
594
595 2001-11-22  Nick Clifton  <nickc@cambridge.redhat.com>
596
597         * doc/invoke.texi (M32R/D Option Summary): Document -m32r switch.
598         Fix typo -mm32rx=> -m32rx.
599
600         * config/arm/arm.c (arm_elf_asm_named_section): Only build for elf
601         targets.
602
603         * config.gcc (xscale-coff): Add necessary header files to
604         tm_file variable.
605
606 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
607
608         * rs6000.c (output_cbranch): Use $, not %$, in output template.
609
610 2001-11-21  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
611
612         * tree-dump.c: Rename from c-dump.c. Include c-tree.h, not c-common.h.
613         (lang_type_quals): Declare.
614         (dequeue_and_dump): Use lang_hooks.tree_dump.type_quals function to
615         retrieve language-specific qualifiers for a type node, instead of
616         C_TYPE_QUALS. Likewise for lang_hooks.tree_dump.dump_tree instead of
617         lang_dump_tree.
618         * tree-dump.h: Rename from c-dump.h.
619         * c-common.h (C_TYPE_QUALS): Removed.
620         Move declarations for tree-dump.c interface to...
621         * tree.h: ... here. Remove lang_dump_tree.
622         * langhooks.h (struct lang_hooks_for_tree_dump): New.
623         (struct lang_hooks): Add tree_dump hooks.
624         * langhooks.c (lhd_tree_dump_dump_tree): New function.
625         (lhd_tree_dump_type_quals): New function.
626         * langhooks-def.h (lhd_tree_dump_dump_tree, lhd_tree_dump_type_quals):
627         Declare.
628         (LANG_HOOKS_INITIALIZER): Add tree_dump hooks.
629         * Makefile.in: Move tree-dump.o to language-independent back-end.
630
631 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
632
633         * 1750a.h (DBX_REGISTER_NUMBER): Don't define.
634         * alpha.h (DBX_REGISTER_NUMBER): Likewise.
635         * arc.h (DBX_REGISTER_NUMBER): Likewise.
636         * arm/aout.h (DBX_REGISTER_NUMBER): Likewise.
637         * avr.h (DBX_REGISTER_NUMBER): Likewise.
638         * c4x.h (DBX_REGISTER_NUMBER): Likewise.
639         * clipper.h (DBX_REGISTER_NUMBER): Likewise.
640         * convex.h (DBX_REGISTER_NUMBER): Likewise.
641         * cris.h (DBX_REGISTER_NUMBER): Likewise.
642         * dsp16xx.h (DBX_REGISTER_NUMBER): Likewise.
643         * elxsi.h (DBX_REGISTER_NUMBER): Likewise.
644         * fr30.h (DBX_REGISTER_NUMBER): Likewise.
645         * h8300.h (DBX_REGISTER_NUMBER): Likewise.
646         * i370.h (DBX_REGISTER_NUMBER): Likewise.
647         * i860.h (DBX_REGISTER_NUMBER): Likewise.
648         * i860/paragon.h (DBX_REGISTER_NUMBER): Likewise.
649         * i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise.
650         * i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
651         * m32r.h (DBX_REGISTER_NUMBER): Likewise.
652         * m68hc11.h (DBX_REGISTER_NUMBER): Likewise.
653         * m88k.h (DBX_REGISTER_NUMBER): Likewise.
654         * mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise.
655         * mcore.h (DBX_REGISTER_NUMBER): Likewise.
656         * mn10200.h (DBX_REGISTER_NUMBER): Likewise.
657         * mn10300.h (DBX_REGISTER_NUMBER): Likewise.
658         * pdp11.h (DBX_REGISTER_NUMBER): Likewise.
659         * romp.h (DBX_REGISTER_NUMBER): Likewise.
660         * rs6000.h (DBX_REGISTER_NUMBER): Likewise.
661         * rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
662         * s390/linux.h (DBX_REGISTER_NUMBER): Likewise.
663         * stormy16.h (DBX_REGISTER_NUMBER): Likewise.
664         * v850.h (DBX_REGISTER_NUMBER): Likewise.
665         * vax.h (DBX_REGISTER_NUMBER): Likewise.
666         * we32k.h (DBX_REGISTER_NUMBER): Likewise.
667
668         * defaults.h (DBX_REGISTER_NUMBER): Provide a default.
669         * doc/tm.texi (DBX_REGISTER_NUMBER): Update.
670
671 2001-11-21  H.J. Lu <hjl@gnu.org>
672
673         * config/rs6000/sysv4.h (LIB_SPEC): Fix a typo.
674
675 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
676
677         * s390.c (s390_va_arg): Eliminate ALIGN parameter in call to
678         emit_cmp_and_jump_insns.
679
680         * stormy16.c (xstormy16_expand_builtin_va_arg,
681         xstormy16_expand_casesi): Likewise.
682
683 Wed Nov 21 17:37:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
684
685         * function.c (keep_stack_depressed): Major rework.
686         (handle_epilogue_set, emit_equiv_load): New functions.
687         (thread_prologue_and_epilogue_insns): keep_stack_depressed now
688         has return value.
689         * jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
690         * rtl.h (SET_IS_RETURN_P): New macro.
691
692         * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
693         and also support TREE_ADDRESSABLE.
694         * tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.
695
696 2001-11-21  David Edelsohn  <edelsohn@gnu.org>
697
698         * rs6000.md (cmptf_internal1): Replace %$ with $.
699
700 Wed Nov 21 16:44:01 2001  Douglas B. Rupp  <rupp@gnat.com>
701
702         * cppfiles.c (STAT_SIZE_TOO_BIG): Define.
703         (read_include_file): Use STAT_SIZE_TOO_BIG.
704
705         * cppinit.c (INO_T_COPY): Define.
706         (INO_T_EQ): Uppercase parameters.
707         (append_include_chain): Use INO_T_COPY.
708
709 2001-11-21  Richard Sandiford  <rsandifo@redhat.com>
710
711         * cfg.c: Fix typos and formatting in the introductory comment.
712
713 Wed Nov 21 12:38:37 CET 2001  Jan Hubicka
714
715         * profile.c (compute_branch_probabilites):  Compute probabilities
716         for entry/exit edges; estimate probabilities for zero counts.
717
718 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
719
720         * explow.c (probe_stack_range): Use LCT_NORMAL as second argument
721         to emit_library_call.
722         * function.c (expand_main_function, expand_function_start,
723         expand_function_end): Likewise.
724         * profile.c (output_func_start_profiler): Likewise.
725         * stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
726         second argument to emit_library_call.
727         * optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
728         as second argument to emit_library_call.
729         * calls.c (emit_library_call): Update fn_type description.
730
731 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
732
733         * c-decl.c (c_expand_deferred_function): Only call c_expand_body
734         if fndecl is still DECL_INLINE and has DECL_RESULT.
735
736 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
737
738         * clipper.c (clipper_movstr): Avoid uninitialized warning.
739         * i960.c (is_mask, legitimize_address): Likewise.
740         * m88k.c (m88k_expand_prologue): Likewise.
741         * m88k.md: Likewise.
742         * mcore.c (emit_new_cond_insn): Likewise.
743         * stormy16.c (xstormy16_emit_cbranch): Likewise.
744
745 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
746
747         * config.gcc: Delete powerpcle-*-solaris2* stanza.
748         * config/rs6000/eabi.asm, config/rs6000/rs6000.c,
749         config/rs6000/rs6000.h, config/rs6000/rs6000.md,
750         config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
751         config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
752         config/rs6000/t-ppcos: Expunge all references to Solaris.
753
754         * config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.
755
756         * config/rs6000/rs6000.md: Replace '%$' with '$' in all
757         output templates.
758         * config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
759         and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.
760
761 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
762
763         * sh.md: Avoid uninitialized warnings.
764         * vax.c (vax_rtx_cost): Likewise.
765
766 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
767
768         * rs6000.c (direct_return): Check if we are saving altivec
769         registers.
770         (first_altivec_reg_to_save): New.
771         Updated stack frame layout comments.
772         (rs6000_stack_info): Calculate altivec register save size.
773         Save link register if we saved some altivec registers.
774         (rs6000_stack_info): Align save size to 16 if altivec abi or
775         abi_darwin.
776         (rs6000_stack_info): Calculate altivec register offsets.
777         (rs6000_stack_info): Add altivec info to save_size.
778         (debug_stack_info): Add altivec debug info.
779         (rs6000_emit_prologue): Save altivec registers and vrsave.
780         (compute_vrsave_mask): New.
781         (altivec_expand_builtin): Remove unused variables.
782         (rs6000_parse_abi_options): Add static qualifier.
783         (rs6000_expand_builtin): Remove unused parameters.
784         (altivec_expand_builtin): Cast bdesc_2arg to get rid of warning.
785         (altivec_init_builtins): Same.
786         (is_altivec_return_reg): New.
787         (vrsave_operation): New.
788         (ALTIVEC_REG_BIT): New.
789         (generate_set_vrsave): New.
790
791         * rs6000.md (get_vrsave): New.
792         (set_vrsave): New.
793         (*set_vrsave_internal): New.
794
795         * rs6000.h (rs6000_stack): Add first_altivec_reg_save,
796         altivec_save_offset, vrsave_save_offset, altive_size, vrsave_size,
797         altivec_padding_size, vrsave_mask.
798         (TOTAL_ALTIVEC_REGS): New.
799         (EPILOGUE_USES): Add VRSAVE_REGNO.
800
801 2001-11-20  Jeff Law <law@redhat.com>
802
803         * unroll.c (copy_loop_body): Update LABEL_NUSES for the
804         exit label as necessary.
805
806 2001-11-20  Brad Kaiser  <bkaiser@acelink.net>
807
808         * reload1.c (elimination_effects): Use function_invariant_p
809         instead of CONSTANT_P when considering register equivalences.
810
811 2001-11-20  David O'Brien  <obrien@FreeBSD.org>
812
813         * config.gcc: Add FreeBSD/PowerPC target.
814         (powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
815         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
816         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
817         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
818         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
819         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add
820         freebsd-spec.h to tm_file.
821         (rs6000-*-lynxos*): Add lynx.h to tm_file.
822         * config/freebsd.h: Tidy up.
823         (USING_CONFIG_FREEBSD): Define.
824         (FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG,
825         FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC,
826         FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h).
827         (TARGET_HAS_F_SETLKW): Define.
828         (ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine.
829         * config/freebsd-spec.h: New file.
830         * config/rs6000/freebsd.h: New file.
831         * config/rs6000/rs6000.h (TARGET_VERSION): Do not define.
832         * config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than
833         USING_SVR4_H to know when to turn on ELF support.
834         * config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef,
835         define only if not already defined.
836         Add FreeBSD support.
837         * config/rs6000/aix.h (TARGET_VERSION): Define.
838         * config/rs6000/beos.h: Likewise.
839         * config/rs6000/darwin.h: Likewise.
840         * config/rs6000/mach.h: Likewise.
841         * config/rs6000/lynx.h (TARGET_VERSION): Likewise.
842         Don't include lynx.h directly.
843
844 2001-11-20  Graham Stott  <grahams@redhat.com>
845
846         * unwind-dw2-fde.c (__deregister_frame_info_bases):
847         Fix lossage in last change return OB.
848
849 Tue Nov 20 11:56:12 2001  Douglas B. Rupp  <rupp@gnat.com>
850
851         * config/alpha/xm-vms.h (_POSIX_EXIT): Define.
852         Remove unneeded exit related macros.
853
854 2001-11-20  David Edelsohn  <edelsohn@gnu.org>
855
856         * rs6000.c (rs6000_emit_eh_toc_restore): Remove ALIGN parm.
857
858         * rs6000.c (rs6000_emit_move): Add TFmode case.
859         * sysv4.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128,
860         LONG_DOUBLE_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
861         LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move from here...
862         * rs6000.h: ... to here.
863         * rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2,
864         trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2,
865         fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns.
866
867 Tue Nov 20 06:41:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
868
869         * emit-rtl.c (get_mem_attrs): Fix typo.
870
871 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
872
873         * c-lang.c (finish_file): Backout 2001-11-16
874         changes, instead set DECL_DEFER_OUTPUT for static inline functions
875         before calling c_expand_deferred_function.
876
877 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
878
879         * unwind-dw2-fde.c (__register_frame_info_bases, __register_frame):
880         Don't register empty .eh_frame sections.
881         (__deregister_frame_info_bases, __deregister_frame): Don't
882         unregister them either.
883
884 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
885
886         * configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.
887         (HAVE_AS_GSTABS_DEBUG_FLAG): Define.
888         * configure: Regenerate.
889         * config.in: Add dummy definitions of new flags.
890         * toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to...
891         * defaults.h (PREFERRED_DEBUGGING_TYPE): ... here.
892         * gcc.c (ASM_DEBUG_SPEC): New macro.
893         (asm_debug): New static variable.
894         (default_compilers): Add asm_debug when assembling from
895         user input.
896         (static_specs): Add asm_debug.
897
898 2001-11-20  Loren J. Rittle  <ljrittle@acm.org>
899
900         * config.gcc (*-*-freebsd*): Remove configuration block.
901
902 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
903
904         bootstrap/4422
905         * configure.in: Setup ability to run ./stage[1234]/xgcc in
906         fixinc *as if* it were a proper lang subdirectory.
907         * configure: Rebuilt.
908
909 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
910
911         * config/freebsd.h: Remove DEFAULT_VTABLE_THUNKS (again).
912
913 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
914
915         * 1750a.md: Don't use hex format for a const_int.
916
917 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
918
919         * expmed.c (extract_bit_field): Don't create invalid SUBREGs.
920
921 2001-11-19  Zack Weinberg  <zack@codesourcery.com>
922
923         * mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is
924         defined (prevents link errors when gettext isn't in the system
925         library).
926
927 2001-11-19  DJ Delorie  <dj@redhat.com>
928
929         * read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these.
930         (validate_const_int): New.
931         (read_rtx): Validate constant integers.
932         * config/i386/i386.md (pmulhrwv4hi3): Use decimal constants.
933
934 2001-11-19  Jakub Jelinek  <jakub@redhat.com>
935
936         * doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table.
937
938 Mon Nov 19 16:57:44 2001  Douglas B. Rupp  <rupp@gnat.com>
939
940         * toplev.c (DUMPFILE_FORMAT): Define default.
941         (open_dump_file): Use DUMPFILE_FORMAT in sprintf.
942         (close_dump_file, compile_file): Likewise.
943         * config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define.
944         * doc/hostconfig.texi (DUMPFILE_FORMAT): Document
945
946 2001-11-19  Jeff Law <law@redhat.com>
947
948         * gcse.c (cprop_jump): Clear JUMP_LABEL field when we create
949         a nop-jump.
950
951 2000-11-19  Neil Booth  <neil@daikokuya.demon.co.uk>
952
953         * cppmacro.c (_cpp_backup_tokens): Revert previous check-in.
954         Don't fall off the base token run.
955
956 2001-11-19  Jason Wilkins <fenix@io.com>
957
958         * Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM.
959
960 Mon Nov 19 15:13:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
961
962         * tree.def (VIEW_CONVERT_EXPR): New tree code.
963         * tree.h (handled_component_p): New declaration.
964         * alias.c (handled_component_p): Move function from here ...
965         * expr.c (handled_component_p): ... to here and non longer static.
966         (is_zeros_p, case VIEW_CONVERT_EXPR): New case.
967         (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
968         (get_inner_reference): Handle VIEW_CONVERT_EXPR.
969         (expand_expr, case VAR_DECL): Clean up handling of re-layout case.
970         (expand_expr, case VIEW_CONVERT_EXPR): New case.
971         (expand_expr, cse ADDR_EXPR): No need to copy if already
972         BIGGEST_ALIGNMENT.
973         * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
974         * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
975         (output_constant): Handle VIEW_CONVERT_EXPR.
976         * dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
977         Add new case for VIEW_CONVERT_EXPR.
978
979 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
980
981         * a29k/unix.h (ASM_FILE_START): Const-ify.
982         * i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon.
983         * i386/isc.h (ASM_FILE_START): Const-ify.
984         * i386/sun386.h (ASM_FILE_START): Likewise.
985         * m32r.md: Likewise.
986         * m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets.
987         * m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise.
988         * m68k/tower.h (REGISTER_NAMES): Remove semi-colon.
989         * mn10200.md: Initialize variable.
990
991 Mon Nov 19 18:06:21 CET 2001  Jan Hubicka  <jh@suse.cz>
992
993         * gcse.c (try_replace_reg): Copy RTX before creating note.
994
995         * df.h (df_ref_flags): New uenum.
996         (DF_REF_FLAGS): New macro.
997         (struct ref): Add field "flags".
998         * df.c (HANDLE_SUBREG): Remove.
999         (df_ref_create): Likewise; set flags field of ref.
1000         (df_def_record_1): Strip down read_write subreg; remove
1001         commented out code; set READ_WRITE flag.
1002         (read_modify_subreg_p): New static function.
1003         (df_uses_record): Cleanup SET handling; set READ_WRITE flag;
1004         new argument "flags".
1005         (df_insn_refs_record): Update call of df_uses_record.
1006         (df_insn_modify): Avoid #if 0 around comment.
1007         (df_dump): Dump the read/write flag.
1008
1009         * predict.c (propagate_freq): Make cyclic_probability and frequency
1010         volatile
1011
1012         * i386.c (ix86_cc_mode): Accept USE.
1013
1014         * cfgrtl.c (purge_dead_edges):  Cleanup EDGE_ABNORMAL flag if computed
1015         jump is turned into simplejump.
1016
1017 2001-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
1018
1019         * doc/fragments.texi, doc/trouble.texi: Remove links to old
1020         installation chapter.
1021         * doc/gcc.texi: Don't claim that this manual documents
1022         installation.  Mark Installation menu entry as being out of date.
1023
1024 Mon Nov 19 07:21:35 2001  Douglas B. Rupp  <rupp@gnat.com>
1025
1026         * config/alpha/xm-vms.h: Don't define macros that autoconf handles.
1027         (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
1028         * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
1029
1030 2001-11-19  Jason Merrill  <jason@redhat.com>
1031
1032         * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
1033         cur_token, not after.
1034
1035         * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
1036         Lose ASM_OUTPUT_CONSTRUCTOR.
1037         * system.h: Poison it and INT_ASM_OP.
1038         * c-lang.c (finish_file): Don't check for it.
1039         * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
1040
1041 2001-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1042
1043         * mmix.c (mmix_cc1_ignored_option): Const-ify.
1044         (mmix_init_machine_status): Make static to match declaration.
1045         (mmix_unique_section): Const-ify.
1046         (mmix_output_quoted_string): Avoid automatic aggregate
1047         initialization.
1048         (mmix_output_register_setting): Likewise.
1049         (mmix_output_shiftvalue_op_from_str): Likewise.
1050
1051         * mmix.h (mmix_cc1_ignored_option): Const-ify.
1052         (ASM_OUTPUT_BYTE): Fix format specifier warning.
1053         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1054
1055 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1056
1057         PR c/4448
1058         * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
1059         name __objc_thread_exit_status so that it matches the
1060         variable defined in objc/thr.h.
1061
1062 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1063
1064         PR bootstrap/4020
1065         * mklibgcc.in: Add missing semi-colons.
1066         * Makefile.in: Same.
1067
1068 Sun Nov 18 16:47:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1069
1070         * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
1071         after re-laying out decl in incomplete case.
1072         (expand_expr, case ADDR_EXPR): Fix typo in copy case.
1073
1074 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
1075
1076         * doc/install-old.texi: Move some sections out to ...
1077         * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
1078         ... here.  New files.  Make into chapters rather than sections.
1079         * doc/gcc.texi: Include the new files and add menu entries for
1080         them.
1081         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
1082
1083 Sun Nov 18 14:13:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1084
1085         * tree.h (TYPE_ALIGN_OK): New flag.
1086         * emit-rtl.c (set_mem_attributes): Handle it.
1087         * expr.c (emit_single_push_insn): Only set to alias set 0 if
1088         doing sibcall optimization.
1089         (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
1090         when make temporary.
1091         (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
1092         (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
1093
1094         * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
1095
1096 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
1097
1098         * c-decl.c (c_decode_option): Give deprecation warning for
1099         -traditional.
1100         * doc/invoke.texi (-traditional): Note that this option is
1101         deprecated.
1102
1103 Sun Nov 18 07:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
1104
1105         * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
1106         arg to HOST_WIDE_INT, not long.
1107
1108         * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
1109         (HAS_INIT_SECTION): Define.
1110         (REAL_ARITHMETIC): Don't undefine.
1111
1112 2001-11-18  Egor Duda  <deo@logos-m.ru>
1113
1114         * config/i386/cygwin.h: Strip leading '*' from name, if any.
1115
1116 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
1117
1118         * Makefile.in (c-parse.o, c-common.o): Update dependencies.
1119         * c-common.c: Include diagnostic.h.
1120         (c_common_finish): New.
1121         * c-common.h (c_common_finish): New.
1122         * c-lang.c (LANG_HOOKS_FINISH): Override.
1123         * c-parse.in: Don't include diagnostic.h.
1124         (finish_parse): Remove.
1125         * langhooks.h: Update comments.
1126         * toplev.c (lang_dependent_init): New prototype.
1127         (finalize): New.
1128         (compile_file): Split cleanup code out to finalize.
1129         (lang_dependent_init): Stop if lang_hooks.init fails.
1130         (toplev_main): Update.
1131         * tree.h (finish_parse): Remove.
1132 objc:
1133         * objc-act.c (LANG_HOOKS_FINISH): Override.
1134
1135 Sat Nov 17 23:30:44 2001  Douglas B. Rupp  <rupp@gnat.com>
1136
1137         * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
1138         * config/alpha/vms_tramp.asm: New file.
1139         * config/alpha/vms-tramp.asm: Removed.
1140
1141 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
1142
1143         * c-common.c (struct disabled_builtin, disabled_builtins,
1144         disable_builtin_function, builtin_function_disabled_p): New.
1145         (builtin_function_2): Check for disabled built-in functions.
1146         * c-common.h (disable_builtin_function): Declare.
1147         * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
1148         * doc/invoke.texi: Document -fno-builtin-FUNCTION.
1149         * doc/extend.texi: Mention -fno-builtin-FUNCTION.
1150
1151 2001-11-17  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1152
1153         PR target/4606
1154         * config.gcc: Remove reference to va-clipper.h.
1155
1156 2001-11-17  Stan Shebs  <shebs@apple.com>
1157
1158         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
1159         AltiVec-related bitfields.
1160
1161 Sat Nov 17 12:06:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1162
1163         * except.c (enum eh_region_type): Add ERT_UNKNOWN.
1164         (mark_eh_region, case ERT_UKNONW): New case.
1165
1166 2001-11-17  Christopher Faylor  <cgf@redhat.com>
1167             Corinna Vinschen  <vinschen@redhat.com>
1168
1169         * config/i386/cygwin.h: Search target specific include directory for
1170         w32api stuff, if appropriate.
1171
1172 Sat Nov 17 08:20:44 2001  Douglas Rupp  <rupp@gnat.com>
1173
1174         * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
1175
1176 2001-11-16  Aldy Hernandez  <aldyh@redhat.com>
1177
1178         * config/rs6000/rs6000.md: Change all ldvx to lvx.
1179
1180 2001-11-16  Alexandre Oliva  <aoliva@redhat.com>
1181
1182         * gensupport.c (process_rtx): Don't assume filename is the first
1183         argument of any rtl.
1184
1185 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1186
1187         * vax-protos.h (reg_was_0_p): New prototype.
1188         * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
1189         * vax.c (follows_p, reg_was_0_p): New functions.
1190
1191 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1192
1193         * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
1194         (casesi1): Likewise.  Define new pattern which arises by simplification
1195         when operand 1 is a constant int.  Correct pattern which arises by
1196         simplification when operand 1 is zero.
1197
1198 2001-11-16  David O'Brien  <obrien@FreeBSD.org>
1199
1200         * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
1201         arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
1202         arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
1203         arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
1204         arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
1205         arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
1206         xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
1207         * config/arm/aof.h: Don't include arm.h.
1208         * config/arm/aout.h: Likewise.
1209         * config/arm/coff.h: Don't include semi.h and aout.h.
1210         * config/arm/elf.h: Don't include aout.h.
1211         * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
1212         (TARGET_VERSION): Undef before defining.
1213         (ARM_OS_NAME): Likewise
1214         (TARGET_DEFAULT): Likewise
1215         (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
1216         * config/arm/pe.h: Don't include arm/coff.h.
1217         * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
1218         SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
1219         * config/arm/riscix1-1.h: Likewise.
1220         * config/arm/rix-gas.h: Don't include riscix.h.
1221         (DBX_CONTIN_LENGTH): Undef before defining.
1222         * config/arm/semi.h: Don't include aout.h.
1223         * config/arm/semiaof.h: Don't include aof.h.
1224         * config/arm/strongarm-coff.h: Don't include coff.h.
1225         * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
1226         * config/arm/vxarm.h: Don't include arm/coff.h.
1227         * config/arm/xscale-coff.h: Don't include coff.h.
1228
1229 Fri Nov 16 15:22:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1230
1231         * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
1232         emit_cmp_insn.
1233
1234 2001-11-16  Andreas Jaeger  <aj@suse.de>
1235
1236         * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
1237         to ....
1238         (fixup_fallthru_exit_predecessor): ... this.
1239         Change callers and prototype.
1240
1241 2001-11-16  Bernd Schmidt  <bernds@redhat.com>
1242
1243         * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
1244         hand; don't use gen_setcc_2.
1245         (ix86_expand_builtin): Fix pshufw.
1246         * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
1247         case UNORDERED to emit the right assembler instruction.
1248         (mmx_pshufw): Lose operand 2.
1249         (cvtsi2ss): Fix representation.
1250         From Graham Stott:
1251         (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
1252
1253 2001-11-16  Joseph S. Myers  <jsm28@cam.ac.uk>
1254
1255         * doc/include/linux-and-gnu.texi: Remove.
1256         * doc/gnu.texi: New.
1257         * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
1258         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
1259
1260 2001-11-16  Kazu Hirata  <kazu@hxi.com>
1261
1262         * config/a29k/a29k.c: Fix comment formatting.
1263         * config/a29k/a29k.h: Likewise.
1264         * config/arc/arc.c: Likewise.
1265         * config/arc/arc.h: Likewise.
1266         * config/vax/vax.c: Likewise.
1267         * config/vax/vax.h: Likewise.
1268         * config/we32k/we32k.c: Likewise.
1269         * config/we32k/we32k.h: Likewise.
1270
1271 2001-11-16  Jeff Law  <law@redhat.com>
1272
1273         * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
1274         creating a new jump insn.
1275
1276 Fri Nov 13 09:06:25 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1277
1278         * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
1279         copy misaligned data.
1280         * varasm.c (assemble_variable): Set alignment into MEM when changed.
1281
1282 2001-11-16  Graham Stott  <grahams@redhat.com>
1283
1284         * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
1285         OPALIGN type.
1286
1287 2001-11-16  Olivier Hainque <hainque@act-europe.fr>
1288
1289         * except.c: Support for catching a list of types with a single handler
1290         (struct eh_region): Change type and filter to lists for catch regions.
1291         (mark_eh_region): Mark the filter list for GC also.
1292         (expand_start_catch): Always build a list if argument not NULL and
1293         register each type of the list through add_type_for_runtime.
1294         (duplicate_eh_region_1): Change type into type_list for catch regions.
1295         (assign_filter_values): Assign a filter to each type associated with a
1296         catch region. Assign filter for NULL types in a unique entry in the
1297         filter list.
1298         (build_post_landing_pads): Emit compare and jump for each filter of
1299         the list associated with a catch region.
1300         (reachable_next_level): When the type thrown is known, stop the search
1301         as soon as one type within a catch list matches. Also, a handler is
1302         potentially reachable only if at least one of the types it catches
1303         has not been previously caught.
1304         (collect_one_action_chain): Retrieve the filter for a NULL type list
1305         from the first filter list entry. For non NULL type lists, add an
1306         action record for every filter assigned.
1307         * except.h: Reflect changes in comment before expand_start_catch.
1308
1309 Fri Nov 16 07:12:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1310
1311         * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
1312         BLKmode.
1313
1314 Fri Nov 16 06:37:05 2001  Andreas Tobler  <a.tobler@schweiz.ch>
1315
1316         * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
1317
1318 2001-11-16  Jakub Jelinek  <jakub@redhat.com>
1319
1320         * c-lang.c (finish_file): Don't emit static inline functions if
1321         they weren't referenced.
1322
1323 2001-11-15  Stan Shebs  <shebs@apple.com>
1324
1325         * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
1326
1327 2001-11-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
1328
1329         * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
1330         call.
1331         * config/i386/i386.md: Likewise.
1332
1333 Thu Nov 15 21:40:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1334
1335         * timevar.c (rtl.h): Include so get fancy abort.
1336
1337 2001-11-15  Dale Johannesen  <dalej@apple.com>
1338
1339         * config/darwin.h (SELECT_RTX_SECTION):  Force address
1340         initializers into 'const' section
1341         * config/rs6000/rs6000.c (rs6000_emit_cmove):  Fix mode of
1342         if_then_else to match result, not operands
1343
1344 Thu Nov 15 17:57:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1345
1346         * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
1347         * emit-rtl.c (change_address): Fix typo in default alignment.
1348         (adjust_address_1): Use mode of NEW, not MODE, when setting size.
1349         * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
1350         * rtl.h (REGNO_PTR_FRAME_P): New macro.
1351
1352         * expr.c (store_field): Pass tree instead of max size; callers changed.
1353         Change handling of alignment.
1354         Only copy to_rtx if is TARGET.
1355         (expand_expr_unaligned): Delete; callers now use expand_expr.
1356         (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
1357         (expand_assignment): Change handling of alignment.
1358         Only copy to_rtx if was original.
1359         (get_inner_reference): No longer return alginment; callers changed.
1360         (expand_expr, case COMPONENT_REF): Change handling of alignment.
1361         (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
1362         (compare_from_rtx): Delete ALIGN parm; all callers changed.
1363         (do_compare_rtx_and_jump): Likewise.
1364         * expr.h: Reflect above changes.
1365         * tree.h: Likewise.
1366         * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
1367         to get_inner_reference.
1368         * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
1369         * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
1370         * optabs.c: Likewise.
1371         (prepare_cmp_insn): Now static; remove ALIGN parm.  Callers changed.
1372         (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
1373         * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
1374         compare_rtx_and_jump, and emit_cmp_jump_insns.
1375         * fold-const.c: Remove PALIGN in calls to get_inner_reference.
1376         * function.c (assign_stack_temp_for_type): No longer static.
1377         * optabs.h (emit_cmp_insn): Remove ALIGN parm.
1378         (prepare_cmp_insn): Delete declaration.
1379         * rtl.h (assign_stack_temp_for_type): Add declaration.
1380         * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
1381         * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
1382         * config/i386/i386.c,config/mips/mips.c: Likewise.
1383         * config/i860/i860.c, config/ia64/ia64.c: Likewise.
1384         * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
1385
1386 2001-11-15  Stan Shebs  <shebs@apple.com>
1387
1388         * config/rs6000/rs6000.h: Fix a comment typo.
1389         (RTX_COSTS): Sort processor versions better.
1390
1391 2001-11-15  Kazu Hirata  <kazu@hxi.com>
1392
1393         * config/h8300/h8300.md: Fix insn length of bit insns.
1394
1395 2001-11-15  Jason Merrill  <jason@redhat.com>
1396
1397         * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
1398         DIEs if there were errors in the source.
1399
1400         * config/alpha/alpha-interix.h, config/alpha/elf.h,
1401         config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
1402         config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
1403         config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
1404         config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
1405         config/elfos.h, config/lynx.h, config/netware.h,
1406         config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
1407         config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
1408         uses to use ASM_LONG.
1409
1410 2001-11-15  Alan Matsuoka  <alanm@redhat.com>
1411
1412         * gensupport.c  process_include : Change call to alloca to
1413         xmalloc.
1414
1415 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
1416
1417         * config/rs6000/rs6000.md: Use spaces instead of tabs in output
1418         templates.
1419
1420 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1421
1422         * final.c (alter_subreg): If simplify_subreg can't do anything,
1423         handle REG ourselves and abort for others.
1424
1425 2001-11-15  Richard Hodson  <hodsonr@dionecorp.com>
1426
1427         * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
1428         routines.
1429
1430 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
1431
1432         * fix-header.c (read_scan_file): Update.
1433
1434 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1435
1436         * toplev.c (toplev_main): Don't start timing until after
1437         command-line options are parsed.
1438
1439 2001-11-15  Andreas Schwab  <schwab@suse.de>
1440
1441         * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
1442         makefile frag, not host makefile frag.
1443         (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
1444         (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
1445         used.
1446         (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
1447         * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
1448         * config/m88k/t-dgux (STMP_FIXPROTO): Define.
1449         * config/i386/t-cygwin (STMP_FIXPROTO): Define.
1450         * config/i386/t-dgux (STMP_FIXPROTO): Define.
1451         * config/x-interix: Don't define STMP_FIXPROTO and
1452         FIXPROTO_DEFINES.
1453         * config/t-interix: New file, define STMP_FIXPROTO.
1454         * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
1455         * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
1456         * config/t-svr4 (FIXPROTO_DEFINES): Define.
1457         * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
1458         * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
1459         * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
1460         * config/m68k/t-hp3200: Renamed from x-hp3200.
1461         * config/i370/t-oe: Renamed from x-oe.
1462         * config/mips/t-iris: Renamed from x-iris.
1463         * config/pa/t-bsd: Renamed from x-pa.
1464         * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
1465         * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
1466         config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
1467         config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
1468         config/rs6000/x-cygwin: Remove files.
1469
1470         * configure.in: Check for target objdump and use that in eh_frame
1471         optimization test.
1472         * configure: Regenerated.
1473
1474 2001-11-15  Jakub Jelinek  <jakub@redhat.com>
1475
1476         * jump.c (squeeze_notes): Return true if no real insns were found.
1477         * rtl.h (squeeze_notes): Adjust prototype.
1478         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
1479         squeeze_notes finds no real instructions, abort.
1480         (merge_blocks_move_successor_nojumps): Likewise.
1481         * loop.c (find_and_verify_loops): Likewise.
1482         * stmt.c (expand_end_case): Likewise.
1483         * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
1484         find any real instructions.
1485
1486         * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
1487
1488         * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
1489         conditional jump, request updating life into for the block
1490         containing it.  Fix a typo which prevented life info update.
1491         Clear blocks bitmap before using it.
1492
1493 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
1494
1495         * c-common.c: Include c-lex.h.
1496         (c_common_lang_init): Change prototype.  Call init_c_lex and
1497         init_pragma from here.
1498         * c-common.h (c_common_lang_init): Change prototype.
1499         * c-decl.c (init_decl_processing): Rename.  Call c_parse_init.
1500         * c-lang.c (c_init): Change prototype.  Update.
1501         (c_init_options): Update.
1502         * c-lex.c (cpp_filename): Remove.
1503         (init_c_lex): Update.  Read the main file, and get the original
1504         file name.
1505         (yyparse): Finish the command line options.
1506         * c-parse.in (c_parse_init): Call init_reswords here.
1507         (init_parse): Remove.
1508         * c-tree.h (c_init_decl_processing): New.
1509         * cpphash.c (_cpp_init_hashtable): After initializing the hash
1510         table, populate it.
1511         * cppinit.c (read_original_filename, cpp_finish_options): New.
1512         (cpp_create_reader): New prototype. Defer hash table initialization.
1513         (cpp_start_read): Rename cpp_read_main_file.  Initialize the
1514         hash table.  Get the original filename.
1515         * cpplib.h (cpp_create_reader): Update.
1516         (cpp_start_read): Remove.
1517         (cpp_read_main_file, cpp_finish_options): New.
1518         * cppmain.c (main, do_preprocessing): Update.
1519         * langhooks.h (struct langhooks): Update init prototype.
1520         * toplev.c (general_init, parse_options_and_default_flags,
1521         process_options, lang_indpendent_init, lang_dependent_init,
1522         init_asm_output): New; perform the bulk of initialization.
1523         (compile_file): Move most of initialization to above functions.
1524         (debug_hooks): Initialize statically.
1525         (set_Wunused): Relocate.
1526         (toplev_main): Move most of initialization to other init functions.
1527         Have a clear logic flow.
1528         * tree.h (init_parse, init_decl_processing): Remove.
1529 objc:
1530         * objc-act.c (objc_init): Update prototype, combine with old
1531         init_parse.
1532         (objc_init_options): Update.
1533
1534
1535 2001-11-15  Andreas Jaeger  <aj@suse.de>
1536
1537         * cfgrtl.c (purge_all_dead_edges): Use int as argument for
1538         portability.
1539         * basic-block.h: Adjust prototype.
1540
1541 2001-11-15  Kazu Hirata  <kazu@hxi.com>
1542
1543         * config/rs6000/aix31.h: Fix comment formatting.
1544         * config/rs6000/beos.h: Likewise.
1545         * config/rs6000/darwin.h: Likewise.
1546         * config/rs6000/eabi.asm: Likewise.
1547         * config/rs6000/linux.h: Likewise.
1548         * config/rs6000/linux64.h: Likewise.
1549         * config/rs6000/lynx.h: Likewise.
1550         * config/rs6000/netbsd.h: Likewise.
1551         * config/rs6000/rs6000.c: Likewise.
1552         * config/rs6000/rs6000.h: Likewise.
1553         * config/rs6000/rs6000.md: Likewise.
1554         * config/rs6000/sol2.h: Likewise.
1555         * config/rs6000/tramp.asm: Likewise.
1556         * config/rs6000/xcoff.h: Likewise.
1557         * config/rs6000/xm-beos.h: Likewise.
1558
1559 2001-11-14  Alan Matsuoka  <alanm@redhat.com>
1560
1561         * rtl.def (INCLUDE) : Define.
1562         * gensupport.c  (init_include_reader, process_include,
1563         save_string) :  New functions to implement an include facility
1564         in .md files.
1565         * gensupport.h : Add prototype for init_md_reader_args.
1566         * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
1567         genextract.c genflags.c genopinit.c genoutput.c
1568         genpeep.c genrecog.c: Change call to init_md_reader to
1569         init_md_reader_args.
1570         * md.texi: Document (include "path") and -I directives for RTL
1571         generation tools.
1572
1573 2001-11-14  DJ Delorie  <dj@redhat.com>
1574
1575         * integrate.c (get_hard_reg_initial_reg): New.
1576         * integrate.h (get_hard_reg_initial_reg): Prototype.
1577         * local-alloc.c (block_alloc): Don't tie pseudos that
1578         represent call-saved hard regs' initial values.
1579
1580 2001-11-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1581
1582         * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
1583         recursion.
1584
1585 2001-11-14  Roger Sayle <roger@eyesopen.com>
1586
1587         * fold-const.c (fold): Optimize strlen comparisons against zero.
1588
1589 2001-11-14  David O'Brien  <obrien@FreeBSD.org>
1590
1591         * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
1592         sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
1593         sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
1594         sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
1595         sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
1596         sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
1597         sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
1598         Include various CPU headers via tm_file.  a.out based platforms now
1599         properly include sparc/aout.h.  sol2.h usage now implies including
1600         elfos.h, svr4.h, and sparc/sysv4.h.
1601         * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
1602         Also define to '1'.
1603         * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
1604         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
1605         DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
1606         Remove.  They are a.out specific and belong in sparc/aout.h.
1607         * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
1608         ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
1609         DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define.  Moved here from
1610         sparc/sparc.h.
1611         * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
1612         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
1613         Moved here from sparc/sparc.h.
1614         * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
1615         defining.
1616         * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
1617         * config/sparc/lynx.h:  Don't include lynx.h.
1618         (SELECT_SECTION): Do not undef.
1619         * config/sparc/openbsd.h: Don't include sparc/sparc.h.
1620         * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
1621         and sparc/sysv4.h.
1622         * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
1623         * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define.  Get from
1624         sparc/aout.h now.
1625         * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
1626         Don't undef, there is no need.
1627         * config/sparc/splet.h (CPP_PREDEFINES): Define.
1628         * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
1629         * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
1630         Don't include sparc/sparc.h.
1631         * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
1632         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
1633         DATA_SECTION_ASM_OP): Don't undef, there is no need now.  Don't include
1634         elfos.h and svr4.h.
1635         (TARGET_VERSION): Define.
1636         * config/sparc/vxsim.h (TARGET_VERSION): Define.
1637
1638 Wed Nov 14 19:46:08 CET 2001  Jan Hubicka  <jh@suse.cz>
1639
1640         * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
1641         (cfg_layout_finalize): Use it.
1642         * bb-reorder.c (HAVE_epilogue): Remove.
1643         (make_reorder_chain): Do not care special placement of
1644         last basic block.
1645
1646         * predict.c (expected_value_to_br_prob): Delete the note
1647         once transformed.
1648
1649         * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
1650         measure integration time separately.
1651
1652 Wed Nov 14 12:30:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1653
1654         * function.c (struct temp_slot): ALIGN now unsigned.
1655
1656 2001-11-14  Kazu Hirata  <kazu@hxi.com>
1657
1658         * config/dsp16xx/dsp16xx.c: Fix comment formatting.
1659         * config/dsp16xx/dsp16xx.h: Likewise.
1660         * config/dsp16xx/dsp16xx.md: Likewise.
1661
1662 2001-11-14  Kazu Hirata  <kazu@hxi.com>
1663
1664         * config/h8300/h8300.c (get_shift_alg): Reorganize the code
1665         that deals with 7-bit shifts in HImode.
1666
1667 Wed Nov 14 14:17:05 CET 2001  Jan Hubicka  <jh@suse.cz>
1668
1669         * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
1670         * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
1671         (final_scan_insn): Update call of alter_subreg.
1672         (cleanup_subreg_operands): Likewise.
1673         (alter_subreg): Rewrite using simplify_subreg.
1674         (output_address, output_operand): Update call of alter_subreg.
1675         * output.h (alter_subreg): Update prototype.
1676         * sdbout.c (sdbout_symbol): Update call of alter_subreg.
1677         * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
1678         * Makefile.in (final.o): Add dependency on expr.h
1679
1680 Wed Nov 14 06:37:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1681
1682         * c-lang.c (finish_file): Make I unsigned to eliminate warning.
1683
1684 2001-11-13  Jeff Sturm  <jsturm@one-point.com>
1685
1686         * doc/install.texi (sparc-*-linux*): Mention requirements for
1687         binutils and glibc.
1688
1689 2001-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
1690
1691         * Makefile.in (POD2MAN): Don't include --section=1.
1692         (manext): Rename to man1ext.  All users changed.
1693         (man7ext): New.
1694         (man7dir): New.
1695         (generated-manpages): Also depend on $(docdir)/gfdl.7,
1696         $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
1697         ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
1698         --section=1 in calls to $(POD2MAN).
1699         ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
1700         (maintainer-clean, install, uninstall): Handle the new man pages.
1701         ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
1702         (installdirs): Create man7dir.
1703         * doc/cpp.texi: Include GFDL in this manual.  In the man page,
1704         refer to gfdl(7) for the GFDL.  Apply Front Cover and Back Cover
1705         texts to man page.  Include gpl(7), gfdl(7) and fsf-funding(7) in
1706         the SEE ALSO man page section.
1707         * doc/gcov.texi: Apply GFDL to man page.  Include gpl(7), gfdl(7)
1708         and fsf-funding(7) in the SEE ALSO man page section.
1709         * doc/invoke.texi: Apply GFDL to man page.  Include gpl(7),
1710         gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
1711         * doc/include/fdl.texi, doc/include/funding.texi,
1712         doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
1713         * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
1714
1715 2001-11-13  Richard Henderson  <rth@redhat.com>
1716
1717         * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
1718         as appropriate for the artificial decl.
1719
1720 2001-11-13  Richard Henderson  <rth@redhat.com>
1721
1722         * loop.c (combine_movables): Turn off combination until
1723         move_movables validation bugs are fixed.
1724
1725 2001-11-13  DJ Delorie  <dj@redhat.com>
1726
1727         * config.gcc (powerpc|rs6000): Set default cpp options based
1728         on --with-cpu settings.
1729         * config/rs6000/softfloat.h: New.
1730
1731 2001-11-13  Kazu Hirata  <kazu@hxi.com>
1732
1733         * config/h8300/h8300.c (shift_alg_si): Use special code for
1734         25-bit shifts on H8/S.
1735         (get_shift_alg): Generate special code for 25-bit shifts on
1736         H8/S.
1737
1738 2001-11-13  Jakub Jelinek  <jakub@redhat.com>
1739
1740         * emit-rtl.c (adjust_address_1): Add ADJUST argument.
1741         (adjust_automodify_address_1): New.
1742         * expr.h (adjust_address, adjust_address_nv): Adjust.
1743         (adjust_automodify_address, adjust_automodify_address_nv): Define.
1744         (adjust_address_1): Update prototype.
1745         (adjust_automodify_address_1): Add prototype.
1746         * expr.c (move_by_pieces_1): Use adjust_automodify_address.
1747         (store_by_pieces_2): Likewise.
1748
1749 Tue Nov 13 05:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1750
1751         * Makefile.in (explow.o): Now depends on ggc.h.
1752         * explow.c (ggc.h): Include.
1753         (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
1754
1755         * Makefile.in (expr.o): Depends on insn-attr.h.
1756         * expr.c (insn-attr.h): New include.
1757         (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
1758         of MEM.
1759         (highest_pow2_factor, case INTEGER_CST): Handle negative values.
1760         (expand_expr): Remove unneeded mark_temp_addr_taken calls and
1761         clean up related usage in ADDR_EXPR.
1762         (expand_expr_unaligned): Likewise.
1763
1764         * emit-rtl.c (change_address): Fix typo in alias setting.
1765
1766 2001-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1767
1768         * Makefile.in (cfgcleanup.o): Depend on insn-config.h
1769
1770 2001-11-12  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1771
1772         PR bootstrap/3451
1773         * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
1774         GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
1775
1776 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
1777
1778         * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
1779         sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
1780         sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
1781         sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
1782         sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
1783         sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
1784         sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
1785         sparc64-*-linux*):  Include various CPU headers via tm_file.
1786         * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
1787         (SELECT_SECTION): Likewise.
1788         (SELECT_RTX_SECTION): Likewise.
1789         * config/sparc/sparc_bi.h: New file.
1790         * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
1791         * config/sparc/linux-aout.h: Likewise.
1792         * config/sparc/linux.h: Don't include sparc/sysv4.h.
1793         * config/sparc/linux64.h: Likewise.
1794         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
1795         * config/sparc/lite.h:  Don't include sparc/sparc.h and gofast.h.
1796         * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
1797         and dbxcoff.h
1798         (ASM_OUTPUT_IDENT): Do not #undef.
1799         (SELECT_SECTION): Likewise.
1800         (SELECT_RTX_SECTION): Likewise.
1801         * config/sparc/liteelf.h: Don't include gofast.h.
1802         * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
1803         * config/sparc/lynx.h: Don't include sparc/sparc.h.
1804         * config/sparc/pbd.h: Likewise.
1805         * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
1806         * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
1807         * config/sparc/rtemself.h: Don't include rtems.h.
1808         * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
1809         * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
1810         sparc_bi.h instead.
1811         * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
1812         * config/sparc/sol2.h: Include sparc/sparc.h directly.
1813         * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
1814         * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
1815         * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
1816         * config/sparc/sp86x-elf.h: Don't include gofast.h.
1817         * config/sparc/splet.h: Don't include sparc/aout.h.
1818         * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
1819         * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
1820         * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
1821         * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
1822         * config/sparc/vxsparc64.h: Don't include gofast.h.
1823         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
1824
1825 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
1826
1827         * doc/standards.texi: Mention C99 TC1.
1828
1829 2001-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1830
1831         * mips-protos.h (mips_output_conditional_branch): Const-ify.
1832         * mips.c (mips_output_conditional_branch): Likewise.
1833
1834 2001-11-12  Kazu Hirata  <kazu@hxi.com>
1835
1836         * config/h8300/h8300.c (shift_alg_si): Use special code for
1837         15-bit logical shifts and 31-bit logical shifts.
1838         (get_shift_alg): Generate special code for 15-bit and 31-bit
1839         logical shifts.
1840
1841 2001-11-12  Kazu Hirata  <kazu@hxi.com>
1842
1843         * config/h8300/h8300.c (shift_alg_qi): Use rotations when
1844         doing 6-bit logical shifts on H8/S.
1845         (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
1846         (get_shift_alg): Generate special code for 21-bit shifts on
1847         H8/S.
1848
1849 2001-11-12  Kazu Hirata  <kazu@hxi.com>
1850
1851         * config/h8300/h8300.c (get_shift_alg): Remove a redundant
1852         label.
1853
1854 Mon Nov 12 11:58:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1855
1856         * alias.c (nonoverlapping_memrefs_p): Only update size from memref
1857         if both size and offset known.
1858
1859 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
1860
1861         * config/ia64/freebsd.h: Fix misspelling.
1862
1863 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
1864
1865         * doc/gcc.texi: Move several chapters out to ...
1866         * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
1867         doc/include/linux-and-gnu.texi, doc/interface.texi,
1868         doc/makefile.texi, doc/passes.texi, doc/portability.texi:
1869         ... here.  New files.
1870         * doc/gcc.texi, doc/contrib.texi: Move section headings into
1871         contrib.texi.
1872         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
1873
1874 2001-11-12  Kazu Hirata  <kazu@hxi.com>
1875
1876         * config/alpha/alpha-interix.h: Fix comment formatting.
1877         * config/alpha/alpha.c: Likewise.
1878         * config/alpha/alpha.h: Likewise.
1879         * config/alpha/alpha32.h: Likewise.
1880         * config/alpha/freebsd.h: Likewise.
1881         * config/alpha/unicosmk.h: Likewise.
1882         * config/alpha/vms.h: Likewise.
1883
1884 2001-11-12  Kazu Hirata  <kazu@hxi.com>
1885
1886         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
1887
1888 2001-11-12  Jakub Jelinek  <jakub@redhat.com>
1889
1890         * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
1891         numbers.
1892
1893 Mon Nov 12 05:18:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1894
1895         * emit-rtl.c (set_mem_attributes): If making object, can set alignment
1896         from type.
1897         (replace_equiv_address): Call update_temp_slot_address.
1898
1899         * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
1900
1901         * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
1902
1903 2001-11-12  Kazu Hirata  <kazu@hxi.com>
1904
1905         * config/h8300/h8300.c (shift_alg_qi): New.
1906         (shift_alg_hi): Likewise.
1907         (shift_alg_si): Likewise.
1908         (get_shift_alg): Change the type of count to unsigned int.
1909         Use the tables.
1910
1911 2001-11-11  Alexandre Oliva  <aoliva@redhat.com>
1912
1913         * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
1914         * c-decl.c (c_expand_body): Take argument can_defer_p.  Use it
1915         to decide whether to defer a function.
1916         (finish_function): Adjust.
1917         (c_expand_deferred_function): New function.
1918         * c-lang.c (deferred_fns): New variable.
1919         (c_init): Initialize it, and mark it as a root.
1920         (defer_fn): New function.
1921         (finish_file): Expand all deferred functions.
1922         * c-tree.h (defer_fn): Declare.
1923         (c_expand_deferred_function): Likewise.
1924         * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
1925         * objc-act.c (deferred_fns): New variable.
1926         (objc_init): Initialize it, and mark it as a root.
1927         (defer_fn): New function.
1928         (finish_file): Expand all deferred functions.
1929
1930 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1931
1932         * alpha.c (unicosmk_special_name): Prototype.
1933         (unicosmk_ssib_name): Delete unused variable.
1934         * alpha/unicosmk.h (common_section, ssib_section): Prototype.
1935         * alpha/vms.h (PREFIX): Undef before defining.
1936         * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
1937         * i370/i370.c (mvs_hash_alias): Prototype.  Wrap with macro
1938         controlling usage.  Const-ify.
1939         (alias_number): Delete unused variable.
1940         * m32r/m32r.c (m32r_sched_init): Add missing argument.
1941         (m32r_expand_block_move): Fix uninitialized warnings.
1942         * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
1943         always true' warnings.
1944         * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
1945         * sh/sh.c: Include "integrate.h".
1946         (output_far_jump): Fix uninitialized warning.
1947         * final.c (shorten_branches): Avoid automatic aggregate
1948         initialization.
1949         * integrate.c (subst_constants): Likewise.
1950
1951 2001-11-11  Kazu Hirata  <kazu@hxi.com>
1952
1953         * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
1954         (get_shift_alg): Remove redundant code.
1955
1956 2001-11-11  Kazu Hirata  <kazu@hxi.com>
1957
1958         * config/pa/milli64.S: Fix comment formatting.
1959         * config/pa/pa-64.h: Likewise.
1960         * config/pa/pa-linux.h: Likewise.
1961         * config/pa/pa-protos.h: Likewise.
1962         * config/pa/pa.c: Likewise.
1963         * config/pa/pa.h: Likewise.
1964         * config/pa/pa32-linux.h: Likewise.
1965         * config/pa/pa32-regs.h: Likewise.
1966         * config/pa/pa64-hpux.h: Likewise.
1967         * config/pa/pa64-regs.h: Likewise.
1968         * config/pa/som.h: Likewise.
1969
1970 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1971
1972         * doc/gcc.texi: Move several chapters out to ...
1973         * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
1974         doc/service.texi, doc/standards.texi, doc/trouble.texi,
1975         doc/vms.texi: ... here.  New files.
1976         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
1977
1978 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1979
1980         * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
1981         cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
1982         collect2.c, combine.c, config.in, configure, configure.in,
1983         conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
1984         genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
1985         reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
1986         spelling errors.
1987
1988 Sun Nov 11 05:56:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1989
1990         * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
1991         Adjust operand number in CONST_DOUBLE.
1992
1993         * expmed.c (extract_bit_field): No longer pass in alignment.
1994         (extract_fixed_bit_field, extract_split_bit_field): Likewise.
1995         (store_bit_field, store_fixed_bit_field, store_split_bit_field):
1996         Likewise.
1997         * expr.c (store_constructor, store_constructor_field): Likewise.
1998         (store_field, emit_group_load, emit_group_store): Likewise.
1999         * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
2000         (store_bit_field, extract_bit_field): Likewise.
2001         * calls.c, expr.c, function.c: Change calls to above functions.
2002         * ifcvt.c, stmt.c: Likewise.
2003
2004         * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
2005         constant and one is on frame.
2006         If know memref offset, adjust size from decl.
2007
2008 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2009
2010         * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
2011         format specifier warning.
2012         * convex.h (ASM_OUTPUT_BYTE): Likewise.
2013         * elfos.h (ALIGN_ASM_OP): Undef before defining.
2014         * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
2015         warning.
2016         * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2017         * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2018         * i386-interix.h (gen_stdcall_suffix): Prototype.
2019         * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
2020         * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
2021         ASM_OUTPUT_LONG_DOUBLE): Likewise.
2022         * i386/interix.c (gen_stdcall_suffix): Const-ify.
2023         * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
2024         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
2025         specifier warnings.
2026         * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2027         * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
2028         ASM_OUTPUT_LONG_DOUBLE): Likewise.
2029         * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2030         * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2031         * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2032         * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2033         * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
2034         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
2035         * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
2036         * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
2037         Likewise.
2038         * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
2039         Likewise.
2040         * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
2041         * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
2042         ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
2043         Likewise.
2044         * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
2045         Likewise.
2046         * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
2047         Likewise.
2048         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
2049         * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
2050         * m68k/news.h (PRINT_OPERAND): Likewise.
2051         * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
2052         ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
2053         * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
2054         * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
2055         definition.
2056         * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
2057         ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
2058         ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
2059         * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
2060         * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
2061         ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
2062         PRINT_OPERAND): Likewise.
2063         * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
2064         Likewise.
2065         * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
2066         * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
2067         * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
2068         * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
2069         * mips.c (mips_output_external_libcall): Mark parameter with
2070         ATTRIBUTE_UNUSED.
2071         (mips_asm_file_start): Move variable into the scope where it's
2072         used.
2073         * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
2074         * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
2075         * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
2076         * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2077         * ns32k.c (print_operand): Likewise.
2078         * pa.c (print_operand, output_div_insn): Likewise.
2079         * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
2080         ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
2081         * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
2082         * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
2083         specifier warnings.
2084         * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2085         * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2086         (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
2087         * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
2088         specifier warnings.
2089         * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2090
2091         * sdbout.c (sdbout_end_epilogue): Mark parameter with
2092         ATTRIBUTE_UNUSED.
2093         * varasm.c (assemble_global): Likewise.
2094
2095 2001-11-11  H.J. Lu <hjl@gnu.org>
2096
2097         * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
2098
2099 Sun Nov 11 01:26:00 CET 2001  Jan Hubicka  <jh@suse.cz>
2100
2101         * final.c (*_MAX_SKIP): Use *_max_skip variables.
2102         * flags.h (align_loops_max_skip, align_jumps_max_skip,
2103         align_labels_max_skip): New global variables.
2104         * toplev.c (align_loops_max_skip, align_jumps_max_skip,
2105         align_labels_max_skip): New global variables.
2106         (toplev_main): Set new variables.
2107         * i386.c (override_options): Set max_skip values.
2108
2109 2001-11-10  Geoffrey Keating  <geoffk@redhat.com>
2110
2111         * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
2112         * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
2113         * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
2114         don't print an @fptr for labels either.
2115         (xstormy16_output_addr_vec): Don't print @fptr here.
2116         * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
2117
2118 Sat Nov 10 08:50:50 2001  Jeffrey A Law  (law@cygnus.com)
2119
2120         * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
2121         an ANSI/ISO definitino.
2122         (ssa_const_prop): Likewise.
2123
2124 2001-11-10  Aldy Hernandez  <aldyh@redhat.com>
2125
2126         * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
2127         altivec registers.
2128
2129 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2130
2131         * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
2132         * cpplex.c (hex_digit_value): Use hex_p/hex_value.
2133         * cppmain.c (general_init): Call hex_init.
2134         * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
2135
2136         * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
2137
2138         * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
2139         of dgux.c:output_file_start().
2140
2141         * i386/dgux.c: Delete file.
2142
2143 2001-11-09  Richard Henderson  <rth@redhat.com>
2144
2145         * config/alpha/alpha.c (decl_in_text_section): New.
2146         (current_file_function_operand): Use it.
2147         (alpha_encode_section_info, alpha_end_function): Likewise.
2148
2149 2001-11-07  David O'Brien  <obrien@FreeBSD.org>
2150
2151         * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
2152         * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
2153         they are OS specific.  Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
2154         so OS specific files and use CPP_PREDEFINES for their needs.
2155         * config/i64/elf.h (TARGET_VERSION): Add.  Also, move inclusion of
2156         target headers to tm_file.
2157         * config/ia64/aix.h (TARGET_VERSION): Likewise.
2158         * config/ia64/hpux.h (TARGET_VERSION): Likewise.
2159         * config/ia64/linux.h (TARGET_VERSION): Likewise.
2160         (FUNCTION_PROFILER): Remove.
2161         * config/ia64/ia64.h (FUNCTION_PROFILER): Update definition using the
2162         version in config/ia64/linux.h.
2163         * config/ia64/freebsd.h: New file.
2164         * config/freebsd.h: Tidy up.
2165         (_USING_CONFIG_FREEBSD): Define.
2166         (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
2167         (FBSD_CPP_SPEC): Define generic FreeBSD spec.
2168         (FBSD_STARTFILE_SPEC): Likewise.
2169         (FBSD_ENDFILE_SPEC): Likewise.
2170         (FBSD_LIB_SPEC): Likewise.
2171         (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
2172         (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
2173         set an ELF-improper one.
2174
2175 2001-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2176
2177         * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
2178         constant can be loaded in a single instruction to a register.  When
2179         loading immediate constants, use PLUS instead of HIGH/LO_SUM.  Use
2180         depdi for insertion of most significant 32-bits on 64-bit hosts.
2181         * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
2182         with ldil/ldo/depdi instruction sequence on 64-bit hosts.
2183         * pa.md: New addmove pattern for adding constant_int to HImode
2184         register and moving result to HImode register.  Remove HImode HIGH
2185         and LO_SUM patterns.
2186
2187 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
2188
2189         * Makefile.in: Update.
2190         * c-decl.c (print_lang_decl, print_lang_type): Remove.
2191         (print_lang_identifier): Rename c_print_identifier.
2192         * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
2193         (print_lang_statistics, lang_print_xnode): Remove.
2194         * c-parse.in (set_yydebug): Rename c_set_yydebug.
2195         * c-tree.h (c_set_yydebug, c_print_identifier): New.
2196         * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
2197         LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
2198         LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
2199         LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
2200         (LANG_HOOKS_INITIALIZER): Update.
2201         * langhooks.h (struct lang_hooks): New members.
2202         (lang_print_tree_hook): New.
2203         * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
2204         * print-tree.c: Include langhooks.h.
2205         (print_node): Update.
2206         * toplev.c (decode_d_option): Update.
2207         * tree.c: Include langhooks.h.
2208         (dump_tree_statistics): Update.
2209         * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
2210         print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
2211 objc:
2212         * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
2213         LANG_HOOKS_SET_YYDEBUG): Override.
2214         (lang_print_xnode, print_lang_statistics): Remove.
2215
2216 2001-11-09  Richard Henderson  <rth@redhat.com>
2217
2218         * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
2219         on the symbol string.
2220
2221 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2222
2223         * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
2224         ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
2225         * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
2226
2227         * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
2228
2229         * tlink.c (recompile_files): Copy strings passed to `putenv'.
2230
2231 2001-11-09  Geoffrey Keating  <geoffk@redhat.com>
2232
2233         * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
2234         (TYPE_READONLY): Likewise.
2235
2236         * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
2237
2238         * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
2239         don't pass --gdwarf2 to the assembler if the compiler will also
2240         provide debug info.
2241
2242         * config/stormy16/stormy16.c (xstormy16_expand_casesi):
2243         Don't change INDEX.
2244
2245 Fri Nov  9 17:51:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2246
2247         * alias.c (nonoverlapping_memrefs_p): New function.
2248         (true_dependence, canon_true_depenence, write_dependence_p): Call it.
2249
2250         * emit-rtl.c (set_mem_attributes): Get alignments for constants.
2251
2252 2001-11-09  Aldy Hernandez  <aldyh@redhat.com>
2253
2254         * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
2255         (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
2256         generating altivec code.
2257         (FIXED_REGISTERS): VRSAVE is fixed.
2258         (CALL_USED_REGISTERS): VRSAVE is call used.
2259
2260 2001-11-09  Jason Eckhardt  <jle@rice.edu>
2261
2262         * config/mips/mips.c (mips_output_conditional_branch): Do not hard
2263         code the branch target as ".+16/.+12", but rather use labels.
2264
2265 Fri Nov  9 11:27:42 2001  Jeffrey A Law  (law@cygnus.com)
2266
2267         * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
2268         to work around limitations of certain versions of GAS.
2269
2270         * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
2271         (muldi3): Update due to SUBREG_BYTE changes.
2272         (casesi): Similarly.
2273
2274 2001-11-09  Zack Weinberg  <zack@codesourcery.com>
2275
2276         * doc/invoke.texi: Remove comment referring to -xf77-version.
2277
2278 2001-11-09  Kazu Hirata  <kazu@hxi.com>
2279
2280         * config/convex/convex.c: Fix comment formatting.
2281         * config/convex/convex.h: Likewise.
2282
2283 2001-11-08  Zack Weinberg  <zack@codesourcery.com>
2284
2285         * Makefile.in (.po.pox): Look both in srcdir and builddir
2286         for $(PACKAGE).pot.
2287         (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
2288         to the source directory.
2289
2290 2001-11-09 Ben Elliston  <bje@redhat.com>
2291            Michael Meissner  <meissner@redhat.com>
2292            Andrew MacLeod  <amacleod@redhat.com>
2293            Richard Henderson  <rth@redhat.com>
2294            Nick Clifton  <nickc@redhat.com>
2295            Catherine Moore  <clm@redhat.com>
2296
2297         * m32r.c: Add support for m32rx processor.
2298         * m32r.h: Ditto.
2299         * m32r.md: Ditto.
2300         * t-m32r: Ditto.
2301         * m32r-protos.h: Add prototypes for m32rx functions.
2302         * doc/invoke.texi: Document -m32rx option.
2303
2304 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
2305
2306         * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
2307         or after reload.
2308
2309 2001-11-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2310
2311         * doc/install.texi2html: Use $MAKEINFO --no-split.
2312
2313 2001-11-09  Andreas Schwab  <schwab@suse.de>
2314
2315         * Makefile.in ($(HOST_PREFIX_1)rtl.o,
2316         $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
2317         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
2318         $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
2319         $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
2320
2321 2001-11-09  H.J. Lu <hjl@gnu.org>
2322
2323         * config/mips/mips.c (mips_output_function_prologues): Cast
2324         `tsize' to long for output.
2325
2326 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
2327
2328         * c-lang.c (LANG_HOOKS_NAME): New.
2329         (lang_hooks): Constify.
2330         (c_init_options): Update.
2331         (lang_identify): Remove.
2332         * c-parse.in (language_string): Remove.
2333         * dbxout.c: Include langhooks.h.
2334         (dbxout_symbol_location): Update.
2335         * dwarf2out.c: Include langhooks.h.
2336         (gen_compile_unit_die): Update.
2337         * dwarfout.c: Include langhooks.h.
2338         (prototyped_attribute, output_compile_unit_die): Update.
2339         * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
2340         (LANG_HOOKS_INITIALIZER): Update.
2341         * langhooks.h (struct lang_hooks): New members.  Constify.
2342         * stringpool.c: Don't include toplev.h.
2343         (set_identifier_size): Remove.
2344         * toplev.c (toplev_main): Initialize identifier size.
2345         (print_version): Update.
2346         * tree.h (language_string, init_lex, lang_identify,
2347         set_identifier_size): Remove.
2348         * Makefile.in: Update dependencies.
2349         * config/darwin.c: Include langhooks.h.
2350         (func_name_maybe_scoped): Update.
2351         * config/darwin.h (ASM_END_FILE): Update.
2352         * config/nextstep.h (ASM_END_FILE): Update.
2353         * config/nextstep21.h (ASM_END_FILE): Update.
2354         * config/i386/sun386.h (ASM_END_FILE): Update.
2355         * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
2356         (rs6000_output_function_epilogue): Update.
2357 objc:
2358         * objc-act.c (LANG_HOOKS_NAME): Override.
2359         (struct lang_hooks): Constify.
2360         (objc_init_options): Update.
2361         (lang_identify): Remove.
2362
2363 Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)
2364
2365         * fold-const.c (lshift_double): Honor PREC.
2366         (rshift_double): Likewise.
2367
2368 2001-11-08  Kazu Hirata  <kazu@hxi.com>
2369
2370         * config/1750a/1750a.c: Fix comment formatting.
2371         * config/1750a/1750a.h: Likewise.
2372
2373 2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>
2374
2375         * configure.in (--enable-languages): Be more permissive about
2376         syntax.  Check for empty lists better.  Warn about $LANGUAGES.
2377         * configure: Regenerated.
2378
2379 2001-11-08  Richard Henderson  <rth@redhat.com>
2380
2381         * dwarf2asm.c (dw2_force_const_mem): Fix typo.
2382
2383 2001-11-08  Geoffrey Keating  <geoffk@redhat.com>
2384
2385         * config.gcc: Rename stormy16 to xstormy16.
2386         * config/stormy16/stormy-abi: Likewise.
2387         * config/stormy16/stormy16-protos.h: Likewise.
2388         * config/stormy16/stormy16.c: Likewise.
2389         * config/stormy16/stormy16.h: Likewise.
2390         * config/stormy16/stormy16.md: Likewise.
2391
2392 2001-11-06  Geoffrey Keating  <geoffk@redhat.com>
2393
2394         * tree.h (TYPE_VOLATILE): Add enable-checking code.
2395         (TYPE_READONLY): Likewise.
2396
2397 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2398
2399         * reload1.c (reload): Don't delete equiv insn if can throw.
2400
2401         * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
2402         (clear_storage): Likewise, for OBJECT.
2403
2404 Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)
2405
2406         * pa.c (emit_move_sequence): Fix SUBREG expression to
2407         use proper byte offset when extending a constant from
2408         SImode to DImode.
2409
2410 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
2411
2412         * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
2413         which cannot throw.
2414
2415 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2416
2417         * explow.c (convert_memory_address, case SUBREG): Only return
2418         inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
2419
2420 2001-11-08  Richard Henderson  <rth@redhat.com>
2421
2422         * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
2423         (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
2424         (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
2425
2426 2001-11-08  Aldy Hernandez  <aldyh@redhat.com>
2427
2428         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
2429
2430 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
2431
2432         * dwarf2out.c (debug_str_hash): New.
2433         (struct indirect_string_node): New.
2434         (struct dw_val_struct): Change type of val_str to it.
2435         (DEBUG_STR_SECTION_FLAGS): Define.
2436         (add_AT_string): Push string into hashtable, increment reference
2437         counter.
2438         (AT_string): Return string from ht_identifier.
2439         (AT_string_form): New.
2440         (free_AT): For dw_val_class_str, just decrement reference counter.
2441         (size_of_string): Remove.
2442         (size_of_die): Use AT_string_form to decide what size the string
2443         occupies in DIE.
2444         (size_of_pubnames): Use strlen instead of size_of_string.
2445         (value_format): Use AT_string_form for dw_val_class_str.
2446         (output_die): Output DW_FORM_strp strings using
2447         dw2_asm_output_offset.
2448         (indirect_string_alloc, output_indirect_string): New.
2449         (dwarf2out_finish): Emit .debug_str strings if there are any.
2450
2451 2001-11-08  Andreas Franck  <afranck@gmx.de>
2452
2453         * configure.in: Add AC_ARG_PROGRAM to support program name
2454         transformation with --program-prefix, --program-suffix and
2455         --program-transform-name.
2456         * configure: Regenerated.
2457         * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
2458         PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
2459         GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
2460         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
2461         program_transform_name the way suggested by autoconf.
2462         (GCC_TARGET_INSTALL_NAME): Define.
2463         (install-driver): Use the transformed target alias name.
2464
2465 2001-11-08  Richard Henderson  <rth@redhat.com>
2466
2467         * config/mips/mips.c (save_restore_insns): Remove GP from the
2468         restore registers mask early instead of special casing it inside
2469         the loop.
2470
2471 2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>
2472
2473         * cp/decl.c (shadow_warning): New function.
2474         (pushdecl): Improve -Wshadow warnings.  Don't give both a warning
2475         and an error when a block scope decl shadows a parameter.
2476
2477 2001-11-08  Richard Henderson  <rth@redhat.com>
2478
2479         * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
2480         case as well.
2481
2482 2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2483
2484         * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
2485         to implement floating negation on processors prior to PA 2.0.
2486
2487 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
2488
2489         * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
2490         (USE_LINKONCE_INDIRECT): Define.
2491         (dw2_output_indirect_constant_1): Try to output indirect constants
2492         into linkonce sections if possible.
2493         (dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
2494         (dw2_output_indirect_constants): Likewise.
2495
2496 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
2497
2498         * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
2499
2500 2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>
2501
2502         * c-decl.c (pushdecl): Remove file and line.
2503         * c-typeck.c (pop_init_level): Remove size.
2504
2505 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
2506
2507         * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
2508         for rs6000.
2509
2510         * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
2511         (TARGET_ALTIVEC): New.
2512         (TARGET_SWITCHES): Add altivec.
2513         (FIRST_PSEUDO_REGISTER): Change to 109.
2514         (CALL_USED_REGISTERS): Same.
2515         (FIRST_ALTIVEC_REGNO): New.
2516         (LAST_ALTIVEC_REGNO): New.
2517         (ALTIVEC_REGNO_P): New.
2518         (UNITS_PER_ALTIVEC_WORD): New.
2519         (ALTIVEC_VECTOR_MODE): New.
2520         (FIXED_REGISTERS): Add altivec registers.
2521         (REG_ALLOC_ORDER): Same.
2522         (HARD_REGNO_NREGS): Adjust for altivec registers.
2523         (HARD_REGNO_MODE_OK): Same.
2524         (MODES_TIEABLE_P): Same.
2525         (REGISTER_MOVE_COST): Same.
2526         (REGNO_REG_CLASS): Same.
2527         (reg_class): Add ALTIVEC_REGS.
2528         (REG_CLASS_NAMES): Same.
2529         (REG_CLASS_CONTENTS): Same.
2530         (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
2531         (ALTIVEC_ARG_RETURN): New.
2532         (FUNCTION_VALUE): Handle VECTOR_TYPE.
2533         (LIBCALL_VALUE): Handle altivec vector modes.
2534         (VECTOR_MODE_SUPPORTED_P): New.
2535         (ALTIVEC_ARG_MIN_REG): New.
2536         (ALTIVEC_ARG_MAX_REG): New.
2537         (ALTIVEC_ARG_NUM_REG): New.
2538         (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
2539         (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
2540         (REGISTER_NAMES): Add altivec regs.
2541         (DEBUG_REGISTER_NAMES): Same.
2542         (ADDITIONAL_REGISTER_NAMES): Same.
2543         (rs6000_builtins): New.
2544         (MD_EXPAND_BUILTIN): New.
2545         (MD_INIT_BUILTINS): New.
2546         (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
2547         for AltiVec instructions.
2548         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
2549         (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
2550         registers.
2551         (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
2552         (TARGET_SWITCHES): Add no-altivec.
2553         (DATA_ALIGNMENT): Align vectors to 128 bits.
2554         (TARGET_OPTIONS): Add abi= option.
2555         Add rs6000_abi_string extern.
2556         (LOCAL_ALIGNMENT): New.
2557         (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
2558         (MASK_ALTIVEC_ABI): New.
2559         (TARGET_ALTIVEC_ABI): New.
2560         (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
2561         call-saved.
2562         (STACK_BOUNDARY): Adjust for altivec.
2563         (BIGGEST_ALIGNMENT): Same.
2564         (rs6000_args): Add vregno.
2565         (USE_ALTIVEC_FOR_ARG_P): New.
2566         (FIXED_REGISTERS): Add vrsave register.
2567         (CALL_USED_REGISTERS): Same.
2568         (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
2569         (VRSAVE_REGNO): New.
2570         (reg_class): Add VRSAVE_REGS.
2571         (REG_CLASS_NAMES): Same.
2572         (REG_CLASS_CONTENTS): Same.
2573         (REGNO_REG_CLASS): Same.
2574
2575         * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
2576         (ABI_STACK_BOUNDARY): Same.
2577         (BIGGEST_ALIGNMENT): Same.
2578         (ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
2579         (ROUND_TYPE_ALIGN): Same.
2580
2581         * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
2582         to 64.
2583
2584         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
2585         to 64.
2586
2587         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
2588         to 64.
2589
2590         * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
2591         (altivec_expand_builtin): New.
2592         (altivec_init_builtins): New.
2593         (TARGET_EXPAND_BUILTIN): New.
2594         (TARGET_INIT_BUILTINS): New.
2595         (rs6000_init_builtins): New.
2596         (struct builtin_description): New.
2597         (bdesc_2arg): New.
2598         (rs6000_reg_names): Add altivec registers.
2599         (alt_reg_names): Same.
2600         (secondary_reload_class): Altivec regs can hold altivec regs and
2601         memory.
2602         (rs6000_emit_move): Force constants into memory for AltiVec moves.
2603         (print_operand): Add 'y' case for printing altivec memory
2604         operands.
2605         (rs6000_legitimize_address): Legitimize vector addresses into
2606         [REG+REG] or [REG].
2607         (altivec_expand_binop_builtin): New.
2608         New string rs6000_current_abi.
2609         (rs6000_override_options): Call rs6000_parse_abi_options.
2610         (rs6000_parse_abi_options): New.
2611         (function_arg_boundary): Vector arguments must be 16
2612         byte aligned.
2613         (function_arg_advance): Handle vector arguments.
2614         (function_arg_partial_nregs): Same.
2615         (init_cumulative_args): Same.
2616         (function_arg): Same.
2617
2618         * config/rs6000/rs6000.md (altivec_lvx): New.
2619         (type): Add altivec attribute.
2620         (movv4si): New.
2621         (*movv4si_internal): New.
2622         (movv16qi): New.
2623         (*movv16qi_internal): New.
2624         (movv8hi): New.
2625         (*movv8hi_internal1): New.
2626         (movv4sf): New.
2627         (*movv4sf_internal1): New.
2628         (altivec_stvx): New.
2629         (vaddubm): New.
2630         (vadduhm): New.
2631         (vadduwm): New.
2632         (vaddfp): New.
2633         (vaddcuw): New.
2634         (vaddubs): New.
2635         (vaddsbs): New.
2636         (vadduhs): New.
2637         (vaddshs): New.
2638         (vadduws): New.
2639         (vaddsws): New.
2640         (vand): New.
2641         (vandc): New.
2642         (vavgub): New.
2643         (vavgsb): New.
2644         (vavguh): New.
2645         (vavgsh): New.
2646         (vavguw): New.
2647         (vavgsw): New.
2648         (vcmpbfp): New.
2649         (vcmpequb): New.
2650         (vcmpequh): New.
2651         (vcmpequw): New.
2652         (vcmpeqfp): New.
2653         (vcmpgefp): New.
2654         (vcmpgtub): New.
2655         (vcmpgtsb): New.
2656         (vcmpgtuh): New.
2657         (vcmpgtsh): New.
2658         (vcmpgtuw): New.
2659         (vcmpgtsw): New.
2660         (vcmpgtfp): New.
2661         (vcmpgefp): New.
2662         (vcmpgtub): New.
2663         (vcmpgtsb): New.
2664         (vcmpgtuh): New.
2665         (vcmpgtsh): New.
2666         (vcmpgtuw): New.
2667         (vcmpgtsw): New.
2668         (vcmpgtfp): New.
2669         (vmaxub): New.
2670         (vmaxsb): New.
2671         (vmaxuh): New.
2672         (vmaxsh): New.
2673         (vmaxuw): New.
2674         (vmaxsw): New.
2675         (vmaxfp): New.
2676         (vmrghb): New.
2677         (vmrghh): New.
2678         (vmrghw): New.
2679         (vmrglb): New.
2680         (vmrglh): New.
2681         (vmrglw): New.
2682         (vminub): New.
2683         (vminsb): New.
2684         (vminuh): New.
2685         (vminsh): New.
2686         (vminuw): New.
2687         (vminsw): New.
2688         (vminfp): New.
2689         (vmuleub): New.
2690         (vmulesb): New.
2691         (vmuleuh): New.
2692         (vmulesh): New.
2693         (vmuloub): New.
2694         (vmulosb): New.
2695         (vmulouh): New.
2696         (vmulosh): New.
2697         (vnor): New.
2698         (vor): New.
2699         (vpkuhum): New.
2700         (vpkuwum): New.
2701         (vpkpx): New.
2702         (vpkuhss): New.
2703         (vpkshss): New.
2704         (vpkuwss): New.
2705         (vpkswss): New.
2706         (vpkuhus): New.
2707         (vpkshus): New.
2708         (vpkuwus): New.
2709         (vpkswus): New.
2710         (vrlb): New.
2711         (vrlh): New.
2712         (vrlw): New.
2713         (vslb): New.
2714         (vslh): New.
2715         (vslw): New.
2716         (vsl): New.
2717         (vslo): New.
2718         (vsrb): New.
2719         (vrsh): New.
2720         (vrsw): New.
2721         (vsrab): New.
2722         (vsrah): New.
2723         (vsraw): New.
2724         (vsr): New.
2725         (vsro): New.
2726         (vsububm): New.
2727         (vsubuhm): New.
2728         (vsubuwm): New.
2729         (vsubfp): New.
2730         (vsubcuw): New.
2731         (vsububs): New.
2732         (vsubsbs): New.
2733         (vsubuhs): New.
2734         (vsubshs): New.
2735         (vsubuws): New.
2736         (vsubsws): New.
2737         (vsum4ubs): New.
2738         (vsum4sbs): New.
2739         (vsum4shs): New.
2740         (vsum2sws): New.
2741         (vsumsws): New.
2742         (vxor): New.
2743
2744 2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
2745
2746         * Makefile.in (df.o): Add fibheap.h to dependencies.
2747
2748         * df.h: Add prototypes for transfer functions, iterative_dataflow
2749         functions.
2750         (enum df_flow_dir): New enum.
2751         (enum df_confluence_op): New enum.
2752         (struct df): Add inverse_rts_map.
2753
2754         * df.c: Add sbitmap.h to the list of includes.
2755         (df_rd_global_compute): Removed.
2756         (df_ru_global_compute): Removed.
2757         (df_lr_global_compute): Removed.
2758         (df_rd_transfer_function): New function.
2759         (df_ru_transfer_function): New function.
2760         (df_lr_transfer_function): New function.
2761         (df_analyse_1): allocate/compute/free df->inverse_rts_map.
2762         Use iterative_dataflow_bitmap instead of df_*_global_compute.
2763         (iterative_dataflow_sbitmap): New function.
2764         (iterative_dataflow_bitmap): New function.
2765
2766 2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2767
2768         * doc/gcc.texi: Move terminology and spelling conventions to
2769         htdocs/codingconventions.html.
2770
2771 2001-11-07  Graham Stott  <grahams@redhat.com>
2772
2773         * cse.c (cse_insn): Emit BARRIER after unconditional jump.
2774
2775 Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>
2776
2777         * expmed.c (expand_mult): Force operand to register before computing
2778         cost.
2779         * i386.c (x86_decompose_lea): New global vairable.
2780         * i386.h (x86_decompose_lea): Declare.
2781         (TARGET_DECOMPOSE_LEA): New macro.
2782         (RTX_COST): Handle leas properly.
2783
2784 2001-11-06  Richard Henderson  <rth@redhat.com>
2785
2786         * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
2787         defined for a CONSTRUCTOR; don't check it.
2788
2789 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
2790
2791         * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
2792         test for absolute pathnames.
2793
2794 2001-11-06  Olivier Hainque <hainque@act-europe.fr>
2795
2796         * unwind-dw2.c (execute_cfa_program): Evaluate call frame
2797         instructions up to the target pc inclusive.
2798
2799 2001-11-06  Steve Christiansen  <smc@us.ibm.com>
2800
2801         * loop.c (loop_regs_scan):  Don't invalidate PIC register.
2802
2803 2001-11-06  Eric Christopher  <echristo@redhat.com>
2804
2805         * config/mips/mips.md(movdf_internal2): Add constraints for float
2806         to general register move.
2807         * config/mips/elf64.h: Add default ABI.
2808
2809 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2810
2811         * alias.c:: Include langhooks.h.
2812         * emit-rtl.c: Similarly.
2813         * toplev.c: Similarly.
2814         * tree-inline.c: Similarly.
2815         * langhooks-def.h: New, the old langhooks.h.  Give the default
2816         hooks a common prefix.
2817         * langhooks.h: Contents extracted from toplev.h.
2818         * toplev.h: Move langhook stuff to langhooks.h.
2819         * langhooks.c: Give default hooks a common prefix.
2820
2821         * c-lang.c: Include langhooks-def.h.
2822         * objc/objc-act.c: Similarly.
2823         * Makefile.in: Update.
2824         * objc/Make-lang.in: Update.
2825
2826 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
2827
2828         * doc/install.texi: Document that configure options not listed in
2829         this file are unsupported.  Document --with-system-zlib.
2830
2831 Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2832
2833         * rtl.h (mem_for_const_double): New declaration.
2834         * varasm.c (mem_for_const_double): New function.
2835         * config/convex/convex.md (movdf): Use it.
2836         * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
2837         * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
2838         * config/m68k/m68kv4.h: Likewise.
2839
2840         * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
2841         of new GP reg classes.
2842
2843         * expr.c (store_field): When making temp object for unaligned
2844         component, set it to alias set 0.
2845
2846 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
2847
2848         * c-common.c (c_expand_expr_stmt): Apply default conversions to
2849         non-lvalue arrays if C99.
2850         * c-typeck.c (default_conversion): Split out code handling
2851         array-to-pointer and function-to-pointer conversions into a
2852         separate default_function_array_conversion function.
2853         (default_function_array_conversion): New function.  Keep track of
2854         whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
2855         arrays unchanged outside C99 mode instead of giving an error for
2856         them.
2857         (build_component_ref): Use pedantic_non_lvalue when handling
2858         COMPOUND_EXPR.  Don't handle COND_EXPR specially.
2859         (convert_arguments): Use default_function_array_conversion.
2860         (build_unary_op): For ADDR_EXPR, take a flag indicating whether
2861         non-lvalues are OK.
2862         (unary_complex_lvalue): Likewise.
2863         (internal_build_compound_expr): Use
2864         default_function_array_conversion.  Apply default conversions to
2865         function in compound expression.
2866         (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
2867         Use default_function_array_conversion.
2868         * doc/extend.texi: Update documentation of subscripting non-lvalue
2869         arrays.
2870         Fixes PR c/461.
2871
2872 2001-11-05  Zack Weinberg  <zack@codesourcery.com>
2873
2874         * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
2875         (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
2876         corresponding to the complete set of .po and .gmo files in
2877         the source directory's po subdir, modified by LINGUAS.  Don't
2878         look at ALL_LINGUAS.
2879         * configure.in: Don't set ALL_LINGUAS.
2880         * configure: Regenerate.
2881
2882         * Makefile.in (.po.gmo): Don't move into source directory.
2883         (.po.pox): Clarify comments.
2884         (install-po): Look for .gmo files in both srcdir and objdir;
2885         don't fail if a file is totally missing.
2886         (distclean): rmdir ada subdirectory too.
2887
2888 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
2889
2890         * config/rs6000/rs6000.c (rs6000_select_section): Handle
2891         CONSTRUCTORs _correctly_.
2892
2893 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2894
2895         * c-decl.c (delete_block): Remove.
2896         * c-tree.h (delete_block): Remove.
2897
2898 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2899
2900         * cppexp.c (lex, parse_defined): Update warning about defined.
2901
2902 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
2903
2904         * config/rs6000/rs6000.c (rs6000_select_section): Handle
2905         CONSTRUCTORs too.
2906
2907 2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>
2908
2909         * config/arm/arm.c (arm_return_in_memory): Cope with
2910         int_size_in_bytes returning -1.
2911
2912         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
2913         DECL being NULL.
2914
2915 Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>
2916
2917         * Makefile.in (bb-reorder.o): Add dependency on cfglayout.h;
2918         remove unneeded dependencies;
2919         (cfglayout.o): New.
2920         * cfglayout.c, cfglayout.h: New files; break out from ...
2921         * bb-reorder.c: ... here; Remove unneeded includes;
2922
2923 2001-11-04  Alan Modra  <amodra@bigpond.net.au>
2924
2925         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
2926
2927 2001-11-04  David Edelsohn  <edelsohn@gnu.org>
2928
2929         * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
2930         mode as well.  Do not explicitly create intermediate regs.
2931
2932 2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2933
2934         * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
2935         (common_section): Delete unused variable.
2936         (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
2937         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
2938         * arm-protos.h (arm_poke_function_name, aof_add_import,
2939         aof_delete_import): Const-ify.
2940         * arm.c (legitimize_pic_address): Wrap variables in the macro
2941         controlling their usage.
2942         (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
2943         (arm_poke_function_name, pic_chain, import, aof_add_import,
2944         aof_delete_import): Const-ify.
2945         * i386.c (ix86_osf_output_function_prologue): Const-ify.
2946         * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
2947         ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
2948         * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
2949         * i860/sysv3.h: Add missing comment closure.
2950         * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
2951         * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
2952         to symbolic_operand.
2953
2954         * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
2955         (i960-*-*): Set tmake_file.
2956         (sparc86x-*-elf*): Fix typo in header name.
2957
2958         * sched-rgn.c (schedule_insns): Delete unused variable.
2959
2960 2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2961
2962         PR c/2820
2963         * c-typeck.c (lookup_field): Rework to return a chain down to
2964         the looked-up field.
2965         (build_component_ref): Use the new lookup_field to handle
2966         nested anonymous entities correctly.
2967
2968 Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2969
2970         * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
2971         Change parameters to gen_rtx_CONST_DOUBLE.
2972         (GEN_INT64, sparc_emit_set_const64): Likewise.
2973         * config/sparc/sparc.md (movdf split): Likewise.
2974
2975 2001-11-03  Geoffrey Keating  <geoffk@redhat.com>
2976
2977         * unroll.c (calculate_giv_inc): Use find_last_value rather
2978         than just hoping the last instruction is the right SET.
2979         [Fixes 990604-1.c on stormy16.]
2980
2981         * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
2982         library at all if -T is used.
2983
2984         * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
2985         some uses of uninitialized variables in error cases.
2986
2987         * config/stormy16/stormy16.c (stormy16_output_shift): Don't
2988         look at 'temp' if we won't be using it.
2989
2990         * config/stormy16/stormy16.h (CONST_COSTS): Define.
2991         (RTX_COSTS): Define.
2992         (ADDRESS_COST): Define.
2993         (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
2994
2995         * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
2996
2997         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
2998         stormy16_asm_output_mi_thunk.
2999         * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
3000         function.
3001         * config/stormy16/stormy16-protos.h
3002         (stormy16_asm_output_mi_thunk): New prototype.
3003
3004 2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
3005
3006         * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
3007         FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
3008         caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
3009         cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
3010         sched-int.h, toplev.c, config/alpha/alpha.c,
3011         config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
3012         config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
3013         config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
3014         config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
3015         config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
3016         config/ns32k/ns32k.md, config/rs6000/rs6000.c,
3017         config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
3018
3019 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3020
3021         * Makefile.in (dbxout.o): Depend on function.h.
3022         * collect2.c (is_in_list): Hide unused function.
3023         * dbxout.c: Include function.h.
3024         (source_label_number, dbxout_source_line, dbxout_source_file,
3025         dbxout_function_end, dbxout_begin_function): Wrap/move inside
3026         macros controlling usage.
3027         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
3028         * output.h (exports_section): Prototype.
3029
3030         * convex.c (convex_output_function_prologue): Fix format specifier
3031         warning.
3032         (asm_declare_function_name): Fix signed/unsigned warning.
3033         (print_operand): Fix format specifier warning.
3034         * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
3035         * dsp16xx-protos.h (uns_comparison_operator,
3036         num_1600_core_shifts): Prototype.
3037         * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
3038         (frame_size, frame_pointer_offset): Delete.
3039         (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
3040         Make static.  Fix format specifier warnings.
3041         * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
3042         (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
3043         * dsp16xx.md: Add default case in switches.
3044         * fr30.h (IN_RANGE): Delete.
3045         * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
3046         * mcore-protos.h (mcore_output_cmov): Const-ify.
3047         * mcore.c (mcore_output_cmov): Likewise.
3048         * mcore.h (switch_to_section): Make static and prototype.
3049         * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
3050         unsigned>=0 warnings.
3051         * mn10300.h (REGNO_IN_RANGE_P): Likewise.
3052         * rs6000-protos.h (read_only_data_section,
3053         read_only_private_data_section): Prototype.
3054         * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
3055         * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
3056         * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
3057
3058 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3059
3060         * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
3061         ATTRIBUTE_UNUSED.
3062         * final.c (final_scan_insn): Add brackets around body of if-stmt.
3063         * gcc.c (convert_filename): Add static prototype.  Const-ify.
3064         Wrap variable in macros controlling its use.
3065         * output.h (sdata_section): Add prototype.
3066
3067         * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
3068         (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
3069         * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
3070         (ASM_FILE_START): Const-ify.
3071         (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
3072         specifier warning.
3073         * c4x.md: Don't use the 'U' integer suffix.
3074         * clipper.md (clipper_movstr): Delete declaration.
3075         * d30v-protos.h (d30v_move_2words): Const-ify.
3076         (debug_stack_info): Add prototype.
3077         * d30v.c: Include "integrate.h".
3078         (d30v_function_arg_boundary, d30v_function_arg,
3079         d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
3080         signed/unsigned warnings.
3081         (d30v_print_operand_memory_reference, d30v_move_2words):
3082         Const-ify.
3083         * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
3084         * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
3085         * fr30.md: Const-ify.
3086         * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
3087         * i370.c (i370_label_scan, mvs_get_label): Make definition static.
3088         (mvs_get_label_page): Hide unused static function.
3089         * i860.c (current_function_original_name): Const-ify.
3090         * i860/sysv3.h (current_function_original_name): Likewise.
3091         * i860/sysv4.h (current_function_original_name): Likewise.
3092         * i960.md: Add default case in switches.  Remove unused variable.
3093         * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
3094         * m32r.md: Const-ify.
3095         * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
3096         * m68hc11.c: Include "reload.h".
3097         (static_chain_reg, print_options, m68hc11_asm_file_start):
3098         Const-ify.
3099         * m68hc11.md: Delete unused variable.  Const-ify.  Add parens
3100         around & in comparison.
3101         * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
3102         * mn10200.c (shift_mode): Remove trailing comma.
3103         * mn10300-protos.h (output_tst): Const-ify.
3104         * mn10300.c (output_tst): Likewise.
3105         * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
3106         warnings.
3107         * pa-protos.h (output_ascii): Use regular char *, not unsigned.
3108         * pa.c (output_ascii): Likewise.
3109         * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
3110         * pdp11.md (expand_unop): Delete declarations.
3111         * pj-protos.h (pj_output_addsi3): Const-ify.
3112         * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
3113         pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
3114         unique_src_operand): Add prototypes.
3115         (pj_output_store_into_lval): Make definition static.
3116         (pj_function_incoming_arg): Don't use unary plus.
3117         (pj_output_addsi3): Const-ify.
3118         * romp.md (get_symref): Delete declarations.
3119         * v850-c.c (mark_current_function_as_interrupt): Don't return
3120         value from void function.
3121         * v850.c: Include "integrate.h".
3122         * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
3123         * vax-protos.h (const_section): Add prototype.
3124
3125 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
3126
3127         * machmode.def: Add documentation for the seventh argument in
3128         vector modes.
3129
3130 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
3131
3132         * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
3133         consistently.
3134         <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
3135         <-melf>: Don't have markup for ELF acronym.
3136
3137 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
3138
3139         * config.gcc (mmix-*-*): New target.
3140         * doc/invoke.texi: Document MMIX options.
3141         * doc/contrib.texi: Add note about MMIX port to my entry.
3142         * config/mmix/t-mmix: New file.
3143         * config/mmix/mmix.h: New file.
3144         * config/mmix/mmix-protos.h: New file.
3145         * config/mmix/mmix.c: New file.
3146         * config/mmix/mmix.md: New file.
3147         * config/mmix/crti.asm: New file.
3148         * config/mmix/crtn.asm: New file.
3149
3150 2001-11-03  Kazu Hirata  <kazu@hxi.com>
3151
3152         * config/sparc/linux-aout.h: Fix comment formatting.
3153         * config/sparc/linux.h: Likewise.
3154         * config/sparc/linux64.h: Likewise.
3155         * config/sparc/lynx.h: Likewise.
3156         * config/sparc/pbd.h: Likewise.
3157         * config/sparc/sol2-sld-64.h: Likewise.
3158         * config/sparc/sol2.h: Likewise.
3159         * config/sparc/sparc.c: Likewise.
3160         * config/sparc/sparc.h: Likewise.
3161         * config/sparc/sparc.md: Likewise.
3162         * config/sparc/sunos4.h: Likewise.
3163         * config/sparc/vxsim.h: Likewise.
3164         * config/sparc/vxsparc.h: Likewise.
3165         * config/sparc/vxsparc64.h: Likewise.
3166
3167 Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3168
3169         * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
3170         reference to CONST_DOUBLE_MEM in comment.
3171         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
3172         (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
3173         (init_emit_once): Don't clear CONST_DOUBLE_MEM.
3174         * function.c (pop_function_context_from): Don't call
3175         restore_varasm_status.
3176         * function.h (restore_varasm_status): Delete declaration.
3177         * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
3178         * rtl.c: Likewise.
3179         * rtl.def (CONST_DOUBLE): Update comment.
3180         * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
3181         (CONST_DOUBLE_CHAIN): Likewise.
3182         (CONST_DOUBLE_MEM): Delete.
3183         (gen_rtx_CONST_DOUBLE): Update parameters.
3184         * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
3185         Remove reference to CONST_DOUBLE_MEM.
3186         (const_alias_set): New variable.
3187         (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
3188         (immed_real_const_1): Adjust tests for 0, 1, and 2.
3189         Don't set CONST_DOUBLE_MEM.
3190         (clear_const_double_mem): Don't do anything with const_tiny_rtx.
3191         (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
3192         Put constant in const_alias_set.
3193         (struct pool_constant): ALIGN now unsigned.
3194         OFFSET now HOST_WIDE_INT.
3195         Delete LABEL.
3196         (restore_varasm_status): Deleted.
3197         (mark_pool_constant): Mark desc->rtl.
3198         (force_const_mem): Rework to store rtl in hash table,
3199         not CONST_DOUBLE_MEM.
3200         Put constant in const_alias_set.
3201         (find_pool_constant): Check desc->rtl.
3202         (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
3203         (init_varasm_once): Initialize const_alias_set.
3204
3205         * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
3206         force_const_mem.
3207
3208         * reload.c (combine_reloads): Don't combine an output reload if there
3209         are other reloads around for part of the output.
3210
3211         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
3212         constant expression.
3213         (set_mem_decl): New function.
3214         * expr.h (set_mem_decl): New declaration.
3215         * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
3216         (output_asm_operand_names): Add tab.
3217         * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
3218
3219         * builtins.c (get_memory_rtx): Properly set MEM alias set and
3220         attributes.
3221
3222 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
3223
3224         * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
3225         Use "invalid" instead of "illegal".  Use @r in comments in
3226         examples.
3227
3228 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
3229
3230         * c-decl.c (pushdecl): Move block inside if conditional to remove
3231         possibility of a segfault.  Lookup block-level extern
3232         variables in enclosing scopes correctly.
3233
3234         * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
3235
3236 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
3237
3238         * expmed.c (store_bit_field): Use simplify_gen_subreg to make
3239         SUBREG so we avoid SUBREGing memory.
3240
3241         * expmed.c (store_bit_field): Same.
3242
3243 2001-11-02  DJ Delorie  <dj@redhat.com>
3244
3245         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
3246         using FP registers for DImode mem-mem moves is acceptable.
3247
3248 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
3249
3250         * builtins.c (apply_args_size): Handle vector arguments.
3251         (apply_result_size): Same.
3252
3253         * machmode.def: Set WIDER mode field for all vector entries.
3254
3255 2001-11-02  Graham Stott  <grahams@redhat.com>
3256
3257         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
3258
3259 2001-11-01  Eric Christopher  <echristo@redhat.com>
3260
3261         * config.gcc: Revert part of earlier patch.
3262         * config/mips/linux.h: Ditto.
3263         * df.c: Include tm_p.h to avoid warnings.
3264         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
3265         #if/#endif.
3266         * config/mips/mips.c: Define mips_abi regardless.
3267         (mips_output_function_prologues): Add long casts for .frame
3268         output.
3269         (override_options): Allow use of ABI_32.
3270
3271 2001-11-01  Kazu Hirata  <kazu@hxi.com>
3272
3273         * config/m68hc11/m68hc11.c: Fix comment formatting.
3274         * config/m68hc11/m68hc11.h: Likewise.
3275         * config/m68hc11/m68hc11.md: Likewise.
3276
3277 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
3278
3279         * c-typeck.c (default_conversion): Retain the original expression
3280         codes.
3281         * gcc.dg/Wparentheses.c: New tests.
3282
3283 2001-11-01  David S. Miller  <davem@redhat.com>
3284
3285         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
3286         64-bit Sparc description more in line with reality.
3287
3288 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
3289
3290         * Makefile.in (GCOV_OBJS): Add version.o.
3291         * gcov.c: Include "version.h" and <getopt.h>.
3292         (gcov_version_string): Remove.
3293         (print_usage): Take a parameter to determine whether this is a
3294         call from --help or an error message.  Give fuller output that
3295         follows the GNU Coding Standards for --help.
3296         (print_version): New function.
3297         (options): New.
3298         (process_args): Use getopt_long.  Support long options.  Follow
3299         GNU Coding Standards for --help and --version.
3300         * doc/gcov.texi: Document long options.
3301         Addresses part of PR other/704.
3302
3303 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3304
3305         * pa.c (output_move_double): Fix typo in double load.
3306
3307 2001-11-01  Kazu Hirata  <kazu@hxi.com>
3308
3309         * config/h8300/h8300.c (h8300_encode_label): Compute a string
3310         before passing it to ggc_alloc_string.
3311
3312 2001-11-01  Kazu Hirata  <kazu@hxi.com>
3313
3314         * config/m68k/3b1.h: Fix comment formatting.
3315         * config/m68k/3b1g.h: Likewise.
3316         * config/m68k/a-ux.h: Likewise.
3317         * config/m68k/amix.h: Likewise.
3318         * config/m68k/apollo68.h: Likewise.
3319         * config/m68k/atari.h: Likewise.
3320         * config/m68k/aux-exit.c: Likewise.
3321         * config/m68k/ccur-GAS.h: Likewise.
3322         * config/m68k/crds.h: Likewise.
3323         * config/m68k/dpx2.h: Likewise.
3324         * config/m68k/dpx2g.h: Likewise.
3325         * config/m68k/hp310.h: Likewise.
3326         * config/m68k/hp320.h: Likewise.
3327         * config/m68k/isi.h: Likewise.
3328         * config/m68k/linux.h: Likewise.
3329         * config/m68k/lynx.h: Likewise.
3330         * config/m68k/m68k-psos.h: Likewise.
3331         * config/m68k/m68k.c: Likewise.
3332         * config/m68k/m68k.h: Likewise.
3333         * config/m68k/m68k.md: Likewise.
3334         * config/m68k/m68kelf.h: Likewise.
3335         * config/m68k/m68kv4.h: Likewise.
3336         * config/m68k/mot3300.h: Likewise.
3337         * config/m68k/news.h: Likewise.
3338         * config/m68k/next.h: Likewise.
3339         * config/m68k/pbb.h: Likewise.
3340         * config/m68k/plexus.h: Likewise.
3341         * config/m68k/sgs.h: Likewise.
3342         * config/m68k/sun3.h: Likewise.
3343         * config/m68k/tower.h: Likewise.
3344         * config/m68k/vxm68k.h: Likewise.
3345
3346 2001-10-31  DJ Delorie  <dj@redhat.com>
3347
3348         * config/mips/mips.h (mips_cache_flush_func): Prototype.
3349         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
3350         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
3351         * config/mips/mips.c (mips_cache_flush_func): New.
3352         * doc/invoke.texi: Document the new options.
3353
3354 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
3355
3356         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
3357         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
3358
3359         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
3360
3361         * config/cris/cris.c: Include output.h after tree.h but before
3362         target.h.
3363
3364 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
3365
3366         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
3367         (INTL_SUBDIRS): Just intl.
3368         (.SUFFIXES): Add .gmo .po .pox.
3369         (native): Also depend on build-@POSUB@.
3370         (intl.all, intl.install): Depend on config.h and things it includes.
3371         (po-generated): New target; depend on c-parse.c and tradcif.c.
3372         (install-normal): Also depend on install-@POSUB@.
3373         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
3374         (build-, install-, build-po, update-po, install-po,
3375         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
3376
3377         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
3378         * configure.in: Don't munge XGETTEXT.  Don't generate
3379         po/Makefile.in.
3380         * configure: Regenerate.
3381
3382         * exgettext: Delete.
3383         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
3384         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
3385
3386 2001-10-31  Kazu Hirata  <kazu@hxi.com>
3387
3388         * config/h8300/h8300.md (two anonymous patterns): New.
3389
3390 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
3391
3392         * tree.h (tree_index): Add support for V16QI and V8HI.
3393         (V8HI_type_node): New.
3394         (V16QI_type_node): New.
3395
3396         * tree.c (build_common_tree_nodes_2): Same.
3397
3398         * c-common.c (type_for_mode): Same.
3399
3400 2001-10-31  Kazu Hirata  <kazu@hxi.com>
3401
3402         * config/i386/att.h: Fix comment formatting.
3403         * config/i386/beos-elf.h: Likewise.
3404         * config/i386/bsd.h: Likewise.
3405         * config/i386/bsd386.h: Likewise.
3406         * config/i386/crtdll.h: Likewise.
3407         * config/i386/cygwin.asm: Likewise.
3408         * config/i386/cygwin.h: Likewise.
3409         * config/i386/djgpp.h: Likewise.
3410         * config/i386/freebsd-aout.h: Likewise.
3411         * config/i386/freebsd.h: Likewise.
3412         * config/i386/gas.h: Likewise.
3413         * config/i386/i386-interix.h: Likewise.
3414         * config/i386/i386-protos.h: Likewise.
3415         * config/i386/i386.c: Likewise.
3416         * config/i386/i386.h: Likewise.
3417         * config/i386/i386.md: Likewise.
3418         * config/i386/i386elf.h: Likewise.
3419         * config/i386/interix.c: Likewise.
3420         * config/i386/isc.h: Likewise.
3421         * config/i386/isccoff.h: Likewise.
3422         * config/i386/iscdbx.h: Likewise.
3423         * config/i386/linux.h: Likewise.
3424         * config/i386/lynx.h: Likewise.
3425         * config/i386/mingw32.h: Likewise.
3426         * config/i386/netbsd-elf.h: Likewise.
3427         * config/i386/next.h: Likewise.
3428         * config/i386/osf1elf.h: Likewise.
3429         * config/i386/osfrose.h: Likewise.
3430         * config/i386/sco5.h: Likewise.
3431         * config/i386/seq-gas.h: Likewise.
3432         * config/i386/seq-sysv3.h: Likewise.
3433         * config/i386/sequent.h: Likewise.
3434         * config/i386/sol2.h: Likewise.
3435         * config/i386/sun386.h: Likewise.
3436         * config/i386/uwin.asm: Likewise.
3437         * config/i386/uwin.h: Likewise.
3438         * config/i386/vxi386.h: Likewise.
3439         * config/i386/win32.h: Likewise.
3440         * config/i386/winnt.c: Likewise.
3441         * config/i386/xm-cygwin.h: Likewise.
3442         * config/i386/xm-mingw32.h: Likewise.
3443
3444 2001-10-31  Kazu Hirata  <kazu@hxi.com>
3445
3446         * builtins.def: Fix comment typos.
3447         * config/alpha.c: Likewise.
3448         * config/arm/arm.c: Likewise.
3449         * config/avr/avr.h: Likewise.
3450         * config/d30v/d30v.c: Likewise.
3451         * config/d30v/d30v.h: Likewise.
3452         * config/d30v/d30v.md: Likewise.
3453         * config/dsp16xx/dsp16xx.c: Likewise.
3454         * config/fr30/fr30.c: Likewise.
3455         * config/fr30/fr30.md: Likewise.
3456         * config/i386/i386.c: Likewise.
3457         * config/i860/i860.c: Likewise.
3458         * config/i960/i960.c: Likewise.
3459         * config/ia64/ia64.c: Likewise.
3460         * config/mips/mips.c: Likewise.
3461         * config/pa/pa.c: Likewise.
3462         * config/rs6000/rs6000.c: Likewise.
3463         * config/s390/s390.c: Likewise.
3464         * config/sparc/sparc.c: Likewise.
3465
3466 2001-10-30  Kazu Hirata  <kazu@hxi.com>
3467
3468         * config/mips/elf.h: Fix comment formatting.
3469         * config/mips/elf64.h: Likewise.
3470         * config/mips/iris5.h: Likewise.
3471         * config/mips/iris5gas.h: Likewise.
3472         * config/mips/iris6.h: Likewise.
3473         * config/mips/isa3264.h: Likewise.
3474         * config/mips/linux.h: Likewise.
3475         * config/mips/mips.c: Likewise.
3476         * config/mips/mips.h: Likewise.
3477         * config/mips/mips.md: Likewise.
3478         * config/mips/mips16.S: Likewise.
3479         * config/mips/netbsd.h: Likewise.
3480         * config/mips/osfrose.h: Likewise.
3481         * config/mips/r3900.h: Likewise.
3482         * config/mips/sni-svr4.h: Likewise.
3483         * config/mips/svr4-t.h: Likewise.
3484         * config/mips/ultrix.h: Likewise.
3485
3486 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
3487
3488         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
3489         when we update head->current.
3490
3491 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
3492
3493         * tree.c (id_string_size): Remove.
3494         (dump_tree_statistics): Update.
3495         * toplev.c (compile_file): If dumping stats, dump tree stats too.
3496
3497 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
3498
3499         * sched-rgn.c (schedule_insns): Fix comment.
3500
3501 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
3502
3503         * configure.in: Correct previous change: don't assume that
3504         gas's version number _isn't_ the last thing on the line, or
3505         isn't the only number on the line, either.
3506         * configure: Regenerate.
3507
3508 2001-10-30  Kazu Hirata  <kazu@hxi.com>
3509
3510         * cfgcleanup.c: Fix a comment typo.
3511
3512 2001-10-30  Kazu Hirata  <kazu@hxi.com>
3513
3514         * alias.c: Fix comment formatting.
3515         * recog.c: Likewise.
3516         * config/cris/cris.c: Likewise.
3517         * config/cris/cris.h: Likewise.
3518         * config/i960/i960.c: Likewise.
3519         * config/i960/i960.h: Likewise.
3520
3521 2001-10-30  Kazu Hirata  <kazu@hxi.com>
3522
3523         * config/arm/arm.c: Fix a comment typo.
3524         * config/arm/arm.h: Likewise.
3525         * config/ia64/ia64.c: Likewise.
3526
3527 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
3528
3529         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
3530         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
3531         * rtl.h (set_unique_reg_note): Change return value.
3532         * gcse.c (try_replace_reg): Use set_unique_reg_note.
3533         * cse.c (cse_insn): Likewise.
3534         * expr.c (emit_move_insn): Likewise.
3535         * explow.c (force_reg): Likewise.
3536         * local-alloc (update_equiv_regs): Likewise.
3537         * loop.c (move_moveables, load_mems): Likewise.
3538         * reload (find_reloads): Likewise.
3539
3540 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
3541
3542         Localization fixes.
3543         * c-decl.c (parmlist_tags_warning, start_struct,
3544         check_for_loop_decls): Separate messages for struct, union and
3545         enum cases to allow for languages in which they have different
3546         genders.
3547         * c-format.c (scanf_flag_specs): Separate short and long name of
3548         the assignment suppression feature.
3549         (check_format_types): Localize "pointer" and "different types"
3550         strings.
3551         * c-lex.c (lex_number): Localize "an unsigned long int" and
3552         related strings.
3553         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
3554         warning message.
3555         * c-typeck.c (build_unary_up): Separate messages for increment and
3556         decrement cases to allow for languages in which they use different
3557         articles.  Localize the strings "increment" and "decrement" in one
3558         case.
3559
3560 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
3561
3562         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
3563         when no changes has been made.
3564
3565         * gcse.c (reg_set_bitmap): Turn into reg_set.
3566         (modify_mem_list_set, canon_modify_mem_list_set)
3567         (clear_modify_mem_tables, free_modify_mem_tables): New.
3568         (gcse_main); Use free_modify_mem_tables.
3569         (free_gcse_mem): Likewise; free the bitmaps.
3570         (alloc_gcse_main): Initialize the bitmaps.
3571         (canon_list_insert): Set canon_modify_mem_list_set.
3572         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
3573         (compute_hash_table): Use clear_modify_mem_tables.
3574         (reset_opr_set_tables): Likewise.
3575         (oprs_not_set_p): reg_set_bitmap is regset.
3576         (mark_set, mark_clobber): Likewise.
3577
3578         * df.h (DF_EQUIV_NOTES): New constant.
3579         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
3580         when asked for.
3581
3582         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
3583         (init_regions, schedule_insns): Conditionalize the checking
3584         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
3585
3586 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
3587
3588         * i386.md (movti_rex64 splitter): Fix condition.
3589
3590 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
3591
3592         * configure.in: Do not assume that gas's version number is the
3593         last thing on the first line of as --version output.
3594         * configure: Regenerate.
3595
3596         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
3597         MT_WARNING, MT_ERROR, MT_FATAL.
3598         (main): Call gcc_init_libintl.
3599         (v_message): Call gettext on msgid and "warning: "
3600         * tradcif.y: Include intl.h.
3601         (yyerror): Make parameter definition consistent with
3602         prototype.  Call gettext on msgid argument.
3603
3604 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3605
3606         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
3607         warnings.
3608
3609         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
3610
3611 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3612
3613         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
3614         before referencing it.
3615
3616 2001-10-26  DJ Delorie  <dj@redhat.com>
3617
3618         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
3619         override -G, and force -G0.
3620
3621 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
3622
3623         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
3624         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
3625         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
3626         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
3627
3628         * loop.h (struct induction): Rename ext_dependant to
3629         ext_dependent.
3630         * loop.c: Change all uses.
3631         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
3632         All callers changed.
3633         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
3634
3635 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
3636
3637         * c-parse.in (expr_no_commas, primary), c-typeck.c
3638         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
3639
3640 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
3641
3642         Undo assemble_name change in earlier patch.
3643
3644 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
3645
3646         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
3647         determining the type of the receiver, do not check that TREE_CODE
3648         of receiver is CALL_EXPR before calling receiver_is_class_object().
3649         (receiver_is_class_object): For the GNU runtime: recognize
3650         the case that the receiver is self in a class method context.
3651         Check that TREE_CODE of receiver is CALL_EXPR when checking that
3652         the receiver is a call to objc_get_class.
3653
3654 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3655
3656         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
3657
3658 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3659
3660         * Makefile.in (OBJS): Put all files in alphabetical order.
3661
3662         * dwarf2out.c (add_const_value_attribute): Fix error in last
3663         change.
3664
3665 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
3666
3667         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
3668         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
3669         fix warning.
3670         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
3671         (life_analysis): call purge_all_dead_edges after deleting noops.
3672         (delete_noop_move): Do not purge CFG.
3673         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
3674
3675 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
3676
3677         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
3678         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
3679         (ASM_GLOBALIZE_LABEL): Use assemble_name.
3680         (ASM_OUTPUT_COMMON): Likewise.
3681         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
3682         (rs6000_output_function_epilogue): Likewise.
3683         (output_mi_thunk): Fix typo.
3684         (rs6000_output_symbol_ref): Use assemble_name.
3685         (output_toc): Likewise.
3686         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
3687         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
3688         assemble_name calls STRIP_NAME_ENCODING.
3689         (ASM_OUTPUT_LABEL): Use assemble_name.
3690         (ASM_GLOBALIZE_LABEL): Likewise.
3691         (ASM_DECLARE_FUNCTION_NAME): Likewise.
3692         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
3693         (ASM_OUTPUT_LOCAL): Likewise.
3694
3695 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3696
3697         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
3698         (expand_builtin_apply, expand_builtin_return): Likewise.
3699         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
3700
3701 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
3702
3703         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
3704         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
3705         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
3706         configure, configure.in, except.c, except.h, flow.c, function.c,
3707         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
3708         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
3709         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
3710         unroll.c: Fix spelling errors.
3711
3712         * doc/extend.texi, doc/invoke.texi: Fix spelling.
3713
3714         * doc/gcc.texi: Document use of "dependent" and American spelling.
3715
3716 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
3717
3718         * expr.c (emit_group_load): Support CONCATs by storing them to memory
3719         and reloading.
3720
3721 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3722
3723         * expr.c (store_constructor_field): Only call adjust_address on MEM.
3724
3725 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
3726
3727         * genrecog.c (write_switch):  Output if before switch for
3728         DT_elt_zero_wide_safe.
3729
3730 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3731
3732         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
3733         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
3734         (FUNCTION_PROFILER): Const-ify.
3735         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
3736         (eliminate_constant_term, assemble_name, output_addr_const):
3737         Remove declarations.
3738         (ptr_half_pic_address_p, half_pic_hash): Prototype.
3739         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
3740         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
3741         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
3742         (half_pic_declare, half_pic_external): Const-ify.
3743         * toplev.c: Include "halfpic.h".
3744
3745 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
3746
3747         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
3748         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
3749         config/i386/i386.c, config/i386/i386-interix.h,
3750         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
3751         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
3752         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
3753         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
3754         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
3755         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
3756         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
3757         spelling errors.
3758
3759         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
3760         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
3761         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
3762         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
3763         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
3764         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
3765         system.h, toplev.c: Fix spelling errors.
3766
3767 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3768
3769         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
3770
3771         * dwarf2out.c (reg_number): Abort if pseudo.
3772         (reg_loc_descriptor): Return 0 if pseudo.
3773         (is_based_loc): Return 0 if pseudo.
3774         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
3775         recursive calls.
3776         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
3777         (loc_descriptor): Return 0 if can't find location and handle 0
3778         return from recursive calls.
3779         (loc_descriptor_from_tree): Likewise.
3780         Fix handling of indirect.
3781         Also return 0 for PLACEHOLDER_EXPR.
3782         Clean up COMPONENT_REF cases.
3783         (add_AT_location_descriptor): Simplify, but handle 0 return from
3784         loc_descriptor.
3785         (add_const_value_attribute): Avoid shift count warning.
3786         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
3787         Set comp_unit_die as context if not in function.
3788
3789         * config/mips/mips-protos.h: Break up long lines.
3790         Remove needless #ifdef/#endif blocks.
3791         Don't declare functions declared in file made by genpreds or recog.h.
3792         * config/mips/mips.c (mips_output_function_prologue): TSIZE
3793         is now HOST_WIDE_INT; delete unneeded casts.
3794         * config/mips/mips.h: Don't use #elif.
3795
3796         * expr.c (stor_constructor_field): Always call adjust_address.
3797         Copy TARGET before changing its alias set.
3798         (store_field): Likewise, for TO_RTX.
3799         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
3800         replacement.
3801         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
3802         (find_placeholder): Return 0 if can't find object.
3803         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
3804         returns 0.
3805
3806 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
3807
3808         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
3809
3810 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
3811
3812         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
3813         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
3814         (merge_blocks): Properly udpate life after making edge nonfallthru.
3815         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
3816
3817 2001-10-26  Kazu Hirata  <kazu@hxi.com>
3818
3819         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
3820
3821 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
3822
3823         * c-typeck.c (convert_arguments): When comparing for enumeral
3824         type equality, use TYPE_MAIN_VARIANT.
3825         * gcc.dg/Wconversion.c: New tests.
3826
3827 2001-10-26  Kazu Hirata  <kazu@hxi.com>
3828
3829         * s390/s390.c: Fix comment typos.
3830         * s390/s390.h: Likewise.
3831         * s390/s390.md: Likewise.
3832
3833 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
3834
3835         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
3836         (walk_tree): Use it for tail calls where appropriate.
3837
3838 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
3839
3840         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
3841         non-local label_refs.
3842
3843 2001-10-26  Kazu Hirata  <kazu@hxi.com>
3844
3845         * config/h8300/h8300.md (4 anonymous patterns): New.
3846
3847 2001-10-26  Kazu Hirata  <kazu@hxi.com>
3848
3849         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
3850         algorithm through the shift_info structure.
3851         (emit_a_shift): Update the use of get_shift_alg.
3852
3853 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
3854
3855         * sched-rgn.c: Remove bitset typedef.
3856         Change bitset to sbitmap in prototypes / variable types.
3857         Remove bbset_size.
3858         Remove edgeset_bits.
3859         Remove edgeset_size.
3860         s/BITSET_ADD/SET_BIT/g
3861         s/BITSET_INVERT/sbitmap_ones/g
3862         s/BITSET_INTER/sbitmap_a_and_b/g
3863         s/BITSET_UNION/sbitmap_a_or_b/g
3864         s/BITSET_DIFFER/sbitmap_difference/g
3865         s/bitset_member/TEST_BIT/g
3866         (BITSET_*): Removed.
3867         (bitset_member): Removed.
3868         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
3869         EXECUTE_IF_SET_IN_SBITMAP.
3870         (split_edges): Rewrite, use sbitmap functions instead of bitset
3871         operations.
3872         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
3873
3874 2001-10-26  Andreas Schwab  <schwab@suse.de>
3875
3876         * reload1.c (emit_input_reload_insns): Fix parens in last
3877         (undocumented) change that was supposed to change only whitespace.
3878
3879 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3880
3881         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
3882
3883         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
3884         ASM_OPERANDS.
3885
3886 2001-10-26  Andreas Jaeger  <aj@suse.de>
3887
3888         * flow.c (clear_log_links): Remove unused variable.
3889         * cfgcleanup.c (cleanup_cfg): Likewise.
3890
3891 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
3892
3893         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
3894         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
3895
3896 2001-10-26  Richard Henderson  <rth@redhat.com>
3897
3898         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
3899         rename PV_REG to R27_REG.
3900         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
3901         (REG_CLASS_FROM_LETTER): Update.
3902         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
3903         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
3904         (udivsi3, modsi3, umodsi3): Likewise.
3905         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
3906
3907 2001-10-26  Richard Henderson  <rth@redhat.com>
3908
3909         * cfg.c (clear_aux_for_blocks): Split out of ...
3910         (free_aux_for_blocks): here.
3911         (clear_aux_for_edges): Split from ...
3912         (free_aux_for_edges): here.
3913         * basic-block.h: Declare them.
3914         * lcm.c (compute_antinout_edge): Use them.
3915         (compute_laterin, compute_available, compute_nearerout): Likewise.
3916         (optimize_mode_switching): Likewise.
3917
3918 2001-10-26  Richard Henderson  <rth@redhat.com>
3919
3920         * Makefile.in (unstage*): Remove as, ld, collect-ld before
3921         moving everything back to the main build directory.
3922
3923 2001-10-26  Christopher Faylor  <cgf@redhat.com>
3924
3925         * config/i386/cygwin.h: Search target specific include directory, if
3926         appropriate.
3927
3928 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3929
3930         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
3931         of macro guards. Fix #endif comment.
3932
3933         * output.h (default_exception_section, default_eh_frame_section):
3934         Move prototypes outside of macro guard.
3935
3936         * crtstuff.c: Fix #endif comment.
3937
3938 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
3939
3940         * doc/md.texi (movMM): Clarify semantics of storing into a
3941         non-paradoxical SUBREG.
3942
3943 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
3944
3945         * langhooks.c (lang_hook_default_clear_binding_stack): New.
3946         (lang_hook_default_get_alias_set): Move next to other alias
3947         hooks.
3948         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
3949         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
3950         (LANG_HOOKS_INITIALIZER): Add it.
3951         * toplev.h (struct lang_hooks): Add clear_binding_stack.
3952         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
3953         instead of a loop calling poplevel.
3954
3955 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
3956
3957         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
3958         occurrences of #elif with #if...#endif.
3959
3960 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3961
3962         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
3963
3964 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3965
3966         * alias.c (can_address_p): No longer static.
3967         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
3968         Return 0 if all parameters are default values.
3969         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
3970         (adjust_address_1): Try harder to compute a size.
3971         * expr.c (expand_assignment, store_constructor): If can't address,
3972         set MEM_KEEP_ALIAS_SET_P.
3973         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
3974         (store_field): Likewise.
3975         (store_constructor): Simplify call to store_constructor_field.
3976         * expr.h (can_address_p): New declaration.
3977         * gensupport.c (gen_rtx_CONST_INT): New function.
3978         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
3979         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
3980         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
3981
3982         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
3983
3984 2001-10-24  Christopher Faylor  <cgf@redhat.com>
3985
3986         * config/i386/cygwin.h: Use proper path for mingw crt files when
3987         -mno-cygwin.
3988
3989 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3990
3991         * dwarf2out.c (file_info_cmp): Always return consistent results.
3992
3993 2001-10-24  Roger Sayle <roger@eyesopen.com>
3994
3995         * stmt.c (expand_end_case): Index jumptables from zero for
3996         suitably small values of minval.
3997
3998 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
3999
4000         * stor-layout.c (place_union_field): If any field was aligned with
4001         attribute aligned, set record type's TYPE_USER_ALIGN.
4002         (place_field): Likewise.
4003         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
4004         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
4005
4006 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
4007
4008         * c-common.h (struct c_common_identifier): Remove rid_code field.
4009         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
4010
4011         * c-typeck.c (constructor_designated): New local flag.
4012         (struct constructor_stack): Add "designated" field to match.
4013         (start_init): Clear it.
4014         (really_start_incremental_init, push_init_level): Push and
4015         clear it.
4016         (pop_init_level): Pop it.
4017         (set_designator): Set it.
4018
4019         (pop_init_level): Suppress "missing initializer" warnings if
4020         constructor_designated is true.
4021         (process_init_element): Suppress warning about union
4022         initialization under traditional C, if constructor_designated
4023         is true.
4024
4025 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4026
4027         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
4028         change.
4029
4030 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
4031
4032         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
4033
4034 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
4035
4036         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
4037         the node was already a set to a constant.
4038
4039 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4040
4041         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
4042         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
4043
4044 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4045
4046         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
4047         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
4048         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
4049         * s390.c (s390_final_chunkify): Don't use string concatenation.
4050         (s390_function_prologue, s390_function_epilogue): Const-ify.
4051         * s390.h (FUNCTION_PROFILER): Remove unused variable.
4052
4053 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
4054
4055         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
4056         prototypes.
4057
4058 2001-10-23  Stan Shebs  <shebs@apple.com>
4059
4060         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
4061         -traditional-cpp in first-stage compilation.
4062
4063 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4064
4065         * gensupport.c (target_flags): Add.
4066
4067 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
4068
4069         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
4070         if needed.
4071         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
4072         * except.c (expand_builtin_frob_return_addr): Likewise.
4073         (expand_builtin_eh_return): Likewise.
4074         * stmt.c (expand_computed_goto): Likewise.
4075         * explow.c (memory_address): Likewise.
4076         (allocate_dynamic_stack_space): Clean up predicate testing.
4077         (probe_stack_range): Convert SIZE to Pmode.
4078         * calls.c (rtx_for_function_call): Only call convert_memory_address
4079         if needed.
4080         Pass function call operand as ptr_mode, not Pmode.
4081         * expr.c (expand_assignment): Clean up calls to convert_memory
4082         address by only doing so when needed and making offsets Pmode.
4083         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
4084         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
4085         is in Pmode, not ptr_mode.
4086
4087 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4088
4089         * darwin-protos.h (constructor_section, destructor_section,
4090         mod_init_section, mod_term_section): Prototype.
4091         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
4092         Const-ify.
4093         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
4094         Likewise.
4095         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
4096         objc_section_init declaration.
4097         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
4098         (objc_section_init, try_section_alias): Make static.
4099         (alias_section): Make static and hide unused function.
4100         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
4101
4102 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4103
4104         * alias.c (can_address_p): Compnonents are not addressable if
4105         the containing type has alias set 0.
4106         (get_alias_set): Rework to use STRIP_NOPS.
4107         Only call front-end routine on object, type, or object with
4108         NOPs stripped, not inner values.
4109         Use language hook to call front-end routine.
4110         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
4111         (expand_builtin_apply): Call set_mem_align on MEMs we make.
4112         Don't pass alignment to emit_block_move.
4113         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
4114         (expand_builtin_memset): Likewise, but for clear_storage.
4115         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
4116         and remove C++ specific parts.
4117         * c-common.h (c_common_get_alias_set): Add declaration.
4118         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
4119         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
4120         (save_fixed_argument_area): Call set_mem_align.
4121         Remove alignment in call to emit_block_move.
4122         (emit_library_call_value_1, store_one_arg): Likewise.
4123         (target_for_arg): Remove; disabled long ago.
4124         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
4125         once and similar cleanups.
4126         (offset_address): Use proper introductory comment.
4127         * expr.c (emit_block_move): Use alignment from that of MEM args, not
4128         from explicit operand; all callers changed.
4129         (clear_storage): Likewise.
4130         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
4131         (store_field): Remove kludge on alias set used for to_rtx.
4132         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
4133         (expand_expr_unaligned): Call set_mem_attributes instead of
4134         set_mem_alias_set.
4135         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
4136         * function.c (assign_stack_temp_for_type): Set MEM alignment.
4137         (expand_function_end): Track MEM attributes of trampolines.
4138         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
4139         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
4140         attributes from original.
4141         * langhooks.c (lang_hook_default_get_alias_set): New function.
4142         (hook_get_alias_set_0): New function.
4143         * langhooks.h (hook_get_alias_set_0): New declaration.
4144         (lang_hook_default_get_alias_set): Likewise.
4145         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
4146         * reload1.c (alter_reg): Use adjust_address_nv.
4147         * rtl.c (get_mode_alignment): Moved to here.
4148         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
4149         change default if unknown from 1 to BITS_PER_UNIT.
4150         * stor-layout.c (get_mode_alignment): Remove from here.
4151         * toplev.h (struct lang_hoks): Add get_alias_set field.
4152         * tree.h (lang_get_alias_set): Delete declaration.
4153         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
4154         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
4155         (ix86_va_arg): Likewise.
4156         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
4157         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
4158         * config/sparc/sparc.c (sparc_va_arg): Likewise.
4159         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
4160         (expand_block_move_mem): Remove dead code.
4161
4162 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
4163
4164         * c-common.c (warn_div_by_zero): New.
4165         * c-common.h (warn_div_by_zero): New.
4166         * c-decl.c (c_decode_option): Take it on the command line.
4167         * c-typeck.c (build_binary_op): Warn about division by zero.
4168         * doc/invoke.texi: Document the new command line option, fix
4169         documentation of -Wmultichar.
4170         * testsuite/gcc.dg/divbyzero.c: New tests.
4171         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
4172
4173 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
4174
4175         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
4176
4177         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
4178         to avoid update_life_info call.
4179         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
4180         * cfgcleanup.c (bb_flags): New enum.
4181         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
4182         (notice_new_block, update_forwarder_flag): New functions.
4183         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
4184         (try_forward_edges): Likewise; update flags.
4185         (merge_blocks): Likewise.
4186         (outgoing_edges_match): Likewise.
4187         (try_crossjump_to_edge): Likewise.
4188         (try_optimize_cfg): Likewise; initialize and clear the flags;
4189         recompute life info if needed.
4190         (cleanup_cfg): No need to clear aux pointers.
4191
4192 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
4193
4194         * config/i386/i386.c (override_options): Default to minimum
4195         stack alignment when optimizing for code size.
4196         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
4197         change.
4198
4199         * config/i386/i386.c (override_options): Set upper limit of
4200         -mpreferred-stack-boundary to 12.
4201
4202 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
4203
4204         * recog.c (peephole2_optimize): Add default case to switch.
4205
4206 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
4207
4208         * doc/gcc.texi (Sending Patches): Remove.
4209
4210 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
4211
4212         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
4213         fields when comparing.
4214
4215 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4216
4217         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
4218         * arm.c (HOST_INT, HOST_UINT): Likewise.
4219
4220 2001-10-22  Stan Shebs  <shebs@apple.com>
4221
4222         * config/darwin-protos.h (darwin_exception_section): Declare.
4223         (darwin_eh_frame_section): Declare.
4224
4225 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
4226
4227         * i386.md (movti_rex64): Fix mode.
4228
4229 2001-10-22  Stan Shebs  <shebs@apple.com>
4230
4231         * target.h (struct gcc_target): Add asm_out.exception_section,
4232         asm_out.eh_frame_section.
4233         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
4234         (TARGET_ASM_EH_FRAME_SECTION): New.
4235         (TARGET_INITIALIZER): Update.
4236         * output.h (default_exception_section): Declare.
4237         (default_eh_frame_section): Declare.
4238         * dwarf2out.c: Include target.h.
4239         (output_call_frame_info): Call target hook for eh frames.
4240         (default_eh_frame_section): New function.
4241         * except.c: Include target.h.
4242         (output_function_exception_table): Call target hook for exception
4243         section.
4244         * varasm.c (default_exception_section): Rename from
4245         exception_section, remove EXCEPTION_SECTION macro.
4246
4247         * config/darwin.h (darwin_eh_frame_section): New function.
4248         (EXCEPTION_SECTION): Remove.
4249         (TARGET_ASM_EXCEPTION_SECTION): Define.
4250         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
4251         (nextstep_exception_section): New function.
4252         (nextstep_eh_frame_section): New function.
4253         (TARGET_ASM_EXCEPTION_SECTION): Define.
4254         (TARGET_ASM_EH_FRAME_SECTION): Define.
4255
4256         * config/pa/som.h (EXCEPTION_SECTION): Remove.
4257         (TARGET_ASM_EXCEPTION_SECTION): Define.
4258         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
4259         (EXCEPTION_SECTION): Remove.
4260         (TARGET_ASM_EXCEPTION_SECTION): Define.
4261         * config/stormy16/stormy16.h: Remove comments referencing
4262         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
4263
4264         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
4265         TARGET_ASM_EH_FRAME_SECTION.
4266
4267 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
4268
4269         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
4270         terms.
4271
4272         * c-format.c: Fix spelling typo in comment.
4273
4274         * sched-int.h: Fix typo in GCC preamble.
4275
4276 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4277
4278         PR debug/4252
4279         * doc/invoke.texi: Remove references to -fdump-translation-unit.
4280
4281 2001-10-22  Richard Henderson  <rth@redhat.com>
4282
4283         * config/i386/i386.c (ix86_expand_clear): New.
4284         * config/i386/i386-protos.h: Declare it.
4285         * config/i386/i386.md (setcc peep2s): Use it.
4286         (movsi_xor): Unexport.
4287
4288 2001-10-22  Richard Henderson  <rth@redhat.com>
4289
4290         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
4291         free_EXPR_LIST_list for LOG_LINKS.
4292
4293 2001-10-21  Robert Lipe  <robertlipe@usa.net>
4294
4295         * config/i386/i386.c (sco_asm_named_section): Delete.
4296         (sco_asm_out_constructor): Delete.
4297         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
4298         (ASM_OUTPUT_DOUBLE_INT): Likewise.
4299         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
4300         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
4301         (EXCEPTION_SECTION): Delete EH scn renaming hack.
4302
4303 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4304
4305         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
4306         and/or fold extra calls into fewer ones.
4307         * collect2.c (dump_file): Likewise.
4308         * cppexp.c (parse_number): Likewise.
4309         * cpplex.c (_cpp_lex_direct): Likewise.
4310         * final.c (output_asm_insn, asm_fprintf): Likewise.
4311         * fix-header.c (inf_scan_ident, main): Likewise.
4312         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
4313         Likewise.
4314         * fold-const.c (real_hex_to_f): Likewise.
4315         * gen-protos.c (parse_fn_proto): Likewise.
4316         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
4317         * genrecog.c (change_state, write_action): Likewise.
4318         * gensupport.c (shift_output_template): Likewise.
4319         * local-alloc.c (requires_inout): Likewise.
4320         * mips-tfile.c (IS_ASM_IDENT): Likewise.
4321         * protoize.c (is_id_char, main): Likewise.
4322         * real.c (asctoeg): Likewise.
4323         * recog.c (asm_operand_ok): Likewise.
4324         * reload.c (find_reloads): Likewise.
4325         * scan.c (scan_identget_token): Likewise.
4326         * sched-vis.c (print_value): Likewise.
4327         * stringpool.c (ggc_alloc_string): Likewise.
4328         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
4329         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
4330         * tradcpp.c (rescan): Likewise.
4331         * tree.c (clean_symbol_name): Likewise.
4332         * varasm.c (decode_reg_name): Likewise.
4333
4334         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
4335         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
4336         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
4337         * m88k.c (output_ascii): Likewise.
4338         * m88k.h (OVERRIDE_OPTIONS): Likewise.
4339         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
4340         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
4341         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
4342
4343 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
4344
4345         * langhooks.c (lang_hook_default_do_nothing,
4346         lang_hook_default_decode_option): New defaults.
4347         * langhooks.h: Make hooks unconditional and non-NULL.
4348         * toplev.c (compile_file, toplev_main): Update.
4349         * toplev.h: Update comments.
4350         * objc/objc-act.c (lang_hooks): Update to new paradigm.
4351
4352 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4353
4354         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
4355
4356         * system.h (IN_RANGE): New macro.
4357
4358 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
4359
4360         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
4361         INTLDEPS variable, which does not include $LIBICONV.
4362         * Makefile.in: Use INTLDEPS in LIBDEPS.
4363         * configure: Regenerate.
4364
4365 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
4366
4367         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
4368         * cpplex.c (lex_percent, lex_dot): Remove.
4369         (get_effective_char, skip_block_comment, skip_line_comment,
4370         parse_identifier_slow, parse_number, parse_string, save_comment,
4371         _cpp_lex_direct): Update to do lookback freely.
4372         (IF_NEXT_IS, BACKUP): New macros.
4373         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
4374         * cppmacro.c (paste_tokens): Update.
4375
4376 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
4377
4378         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
4379
4380 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
4381
4382         * reload1.c (reload): Check CONSTANT_P before calling
4383         LEGITIMATE_PIC_OPERAND_P.
4384         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
4385         workaround of 2001-10-13.
4386
4387 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
4388
4389         * i386.c (split_di): Handle splitting of DFmode.
4390
4391 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4392
4393         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
4394         (adjust_address_1, offset_address): Likewise.
4395
4396         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
4397         (output_asm_insn): Call it for each line output.
4398         Don't record an operand more than once.
4399
4400         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
4401         * main.c: Include config.h and system.h, but not ansidecl.h.
4402         * Makefile.in (main.o): Update accordingly.
4403
4404 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
4405
4406         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
4407
4408 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
4409
4410         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
4411         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
4412         Break out from ...
4413         (find_sub_basic_blocks): ... here;
4414         (find_many_sub_basic_blocks): New.
4415         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
4416
4417         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
4418
4419         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
4420
4421         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
4422
4423         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
4424         * flow.c (update_life_info): Measure time.
4425         * c-decl.c: Include timevar.h
4426         (c_expand_body): Measure time.
4427         * toplev.c (rest_of_compilation): Measure time of mode switching
4428         separately.
4429         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
4430
4431         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
4432         (lang_independent_options): Add asynchronous-unwind-tables
4433         (toplev_main): flag_asynchronous_unwind_tables implies
4434         flag_unwind_tables.
4435         * flags.h (flag_asynchronous_unwind_tables): Declare.
4436         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
4437         flag_asynchronous_unwind_tables.
4438         (output_call_frame_info): Likewise.
4439         * invoke.texi (-fasynchronous-unwind-tables): Document.
4440         * i386.c (optimization_options): Enable
4441         flag_asynchronous_unwind_tables.
4442
4443         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
4444         * i386.md (s* expanders): Destination is QImode.
4445
4446         * toplev.c (rest_of_compilation): Do not call clear_log_links.
4447         * rtl.h (clear_log_links): Kill.
4448         * flow.c (clear_log_links): Make static; accept blocks parameter;
4449         do no clear life info.
4450         (update_life_info): Call clear_log_links.
4451
4452         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
4453
4454 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
4455
4456         * cpplex.c (handle_newline, skip_escaped_newlines,
4457         get_effective_char, skip_block_comment, skip_line_comment,
4458         parse_identifier_slow, parse_number, parse_string,
4459         _cpp_lex_direct): Update to do more stepping back.
4460         (trigraph_ok): Similarly.  Rename trigraph_p.
4461         (SAVE_STATE, RESTORE_STATE): Remove.
4462         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
4463
4464         * cpplib.c (destringize): Rename destringize_and_run, and
4465         call run_directive directly.
4466         (_cpp_do__Pragma): Simplify.
4467
4468 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4469
4470         * pe.c (arm_pe_unique_section): Const-ify.
4471         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
4472         (switch_to_section): Add static prototype.
4473
4474         * output.h (drectve_section): Prototype.
4475
4476 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4477
4478         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
4479         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
4480         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
4481         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
4482         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
4483         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
4484         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
4485         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
4486         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
4487         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
4488         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
4489         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
4490         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
4491         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
4492         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
4493         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
4494         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
4495         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
4496         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
4497         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
4498         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
4499         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
4500         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
4501         cris-*-none, cris-*-linux*: Update ${tmfile} list.
4502         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
4503         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
4504         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
4505         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
4506         v850-*-*): Delete superflous ${cpu_type} setting.
4507         * config/linux.h: Delete svr4.h include.
4508         (SET_ASM_OP): Delete.
4509         * config/netware.h (INT_ASM_OP): Undef before define.
4510         * config/ptx4.h: Delete elfos.h include.
4511         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
4512         * config/svr4.h: Delete elfos.h include. Update commentary.
4513         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
4514         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
4515         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
4516         config/v850/v850.h: Delete svr4.h include.
4517         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
4518         config/m68k/m68kv4.h, config/m88k/sysv4.h,
4519         config/sparc/sysv4.h: Update includes.
4520         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
4521         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
4522         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
4523         config/m88k/dguxbcs.h: Delete includes.
4524         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
4525         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
4526         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
4527         it.
4528         * config/m88k/dgux.h: Delete include.
4529         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
4530         defining it.
4531         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
4532         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
4533         * config/sh/elf.h: Update include.
4534         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
4535         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
4536
4537 2001-10-19  Catherine Moore  <clm@redhat.com>
4538
4539         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
4540         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
4541         base and count fields.
4542         (stormy16_expand_builtin_va_start):  last_reg_count changed to
4543         size_of_reg_args.  Use count + size in first comparison.
4544
4545 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4546
4547         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
4548         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
4549         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
4550         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
4551         Set alignment from type if INDIRECT_REF.
4552         (adjust_address_1, offset_address): Simplify alignment compuitation.
4553         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
4554         here; done by set_mem_attributes.
4555
4556 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4557
4558         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
4559         * arm-protos.h (rdata_section, zero_init_section, common_section):
4560         Prototype.
4561         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
4562         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
4563         traditional mode stringification.
4564         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
4565         in macros controling its use.
4566         * rtlanal.c: Include tm_p.h.
4567         * varasm.c (asm_output_aligned_bss): Mark parameter with
4568         ATTRIBUTE_UNUSED.
4569         (assemble_constant_align, assemble_start_function, assemble_align,
4570         assemble_variable, assemble_trampoline_template,
4571         output_constant_def_contents): Wrap potentially empty if-stmt body
4572         in brackets.
4573
4574 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4575
4576         * a29k-protos.h (literal_section): Prototype.
4577         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
4578         * a29k.md: Ensure function pointers are prototyped.
4579         * genattrtab.c (write_eligible_delay): Mark parameter with
4580         ATTRIBUTE_UNUSED.
4581
4582 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4583
4584         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
4585         * 1750a.c (print_operand): Fix format specifier warning.
4586         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
4587         * 1750a.md: Likewise.
4588         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
4589         * genemit.c (output_add_clobbers): Mark parameter with
4590         ATTRIBUTE_UNUSED.
4591         * genrecog.c (write_subroutine): Likewise.
4592         * integrate.c (expand_inline_function): Delete unused variable.
4593         * varasm.c (remove_from_pending_weak_list): Wrap with
4594         ASM_WEAKEN_LABEL.
4595
4596 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
4597
4598         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
4599         field is different to previous argument's neg field.
4600
4601         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
4602
4603 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4604
4605         * final.c (get_decl_from_op): New function.
4606         (output_asm_insn): Call it; write "*" when item with decl is address.
4607
4608 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
4609
4610         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
4611         about 64-bit support from the 3.0_branch version.
4612
4613 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
4614
4615         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
4616         USE_INCLUDED_LIBINTL when appropriate.
4617         * configure, config.in: Regenerate.
4618         * Makefile.in (datadir): Set to @datadir@.
4619         (intl.o): Also depend on $(CONFIG_H) and system.h.
4620
4621         * intl.c: Factor out common gettext initialization sequence.
4622         (gcc_init_libintl):  New function.
4623         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
4624         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
4625         off NLS.  Add multiple include guard.  No need to #ifdef-guard
4626         an #undef.  Prototype gcc_init_libintl here.
4627
4628         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
4629         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
4630         Use gcc_init_libintl.
4631
4632 2001-10-19  Catherine Moore  <clm@redhat.com>
4633
4634         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
4635
4636         * config/stormy16/stormy16.c (stormy16_split_move):  Make
4637         sure that REG_INC notes are present for auto_inc operands.
4638
4639 2001-10-19  Andreas Jaeger  <aj@suse.de>
4640
4641         * configure: Regenerated.
4642         * configure.in: Add x86_64 to switch statements.
4643
4644 2001-10-18  Richard Henderson  <rth@redhat.com>
4645
4646         * config/alpha/alpha.md (sibcall_osf_1): Load destination
4647         address into $27 explicitly.
4648         (sibcall_value_osf_1): Likewise.
4649
4650 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4651
4652         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
4653         (offset_address): New function.
4654         (free_emit_status): Free regno_decl.
4655         (init_emit): Pass proper number of elements to xcalloc.
4656         Allocate regno_decl.
4657         (mark_emit_status): Mark regno_decl values.
4658         * expr.c (highest_pow2_factor): New function.
4659         (expand_assigment): Use it and offset_address.
4660         Properly handle ptr_mode vs. Pmode in offset calculation.
4661         (store_constructor, expand_expr_unaligned): Likewise.
4662         (expand_expr, case COMPONENT_EXPR): Likewise.
4663         * expr.h (offset_address): New decl.
4664         * function.h (struct emit_status): Add regno_decl.
4665         (REGNO_DECL): New macro.
4666         * final.c (output_asm_name): Move in file and don't conditionalize
4667         on flag_print_asm_name.
4668         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
4669         Output names of operands, if known.
4670         * function.c (assign_parms): Set REGNO_DECL.
4671         * integrate.c (integrate_decl_tree): Likewise.
4672         * stmt.c (expand_decl): Likewise.
4673         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
4674
4675 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
4676
4677         * attribs.c (handle_noinline_attribute): New function.
4678         (handle_used_attribute): Likewise.
4679         (c_common_attribute_table): Added noinline and used.
4680         * doc/extend.texi (Function Attributes): Document them.
4681         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
4682         Warn when merging inline with attribute noinline.
4683         (start_decl, start_function): Warn if inline and attribute
4684         noinline appear in the same declaration.
4685
4686 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
4687
4688         * config.gcc: Update c4x and i370 for C front end-specific
4689         dependencies.
4690         * config/c4x/c4x-c.c: New.
4691         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
4692         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
4693         New declarations.
4694         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
4695         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
4696         Make extern.
4697         (c4x_init_pragma): Remove.
4698         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
4699         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
4700         c4x_pr_ignored): Move to c4x-c.c.
4701         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
4702         * config/c4x/t-c4x: Update.
4703         * config/i370/i370-c.c: New.
4704         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
4705         (i370_pr_map): Move to i370-c.c.
4706         * config/i370/t-i370: New.
4707
4708         * doc/tm.texi: Update.
4709
4710 2001-10-17  Stan Shebs  <shebs@apple.com>
4711
4712         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
4713         typo fixes throughout.
4714         (machopic_output_stub): Remove some dead code.
4715
4716 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
4717
4718         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
4719         leak.
4720
4721 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4722
4723         * Makefile.in (print-rtl.o): Depend on TREE_H.
4724         * alias.c (get_alias_set): Make two passes over objects to first
4725         see if inner object is access via restricted pointer.
4726         Defer allocating alias set for restricted pointer until here.
4727         Call find_placeholder with second arg nonzero.
4728         Minor cleanups.
4729         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
4730         set for restricted pointer types.
4731         * emit-rtl.c (set_mem_attributes): Set more attributes.
4732         (set_mem_align, change_address, adjust_address_1): New functions.
4733         (change_address_1): Now static.
4734         (adjust_address, adjust_address_nv): Deleted.
4735         (replace_equiv_address): Call change_address_1.
4736         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
4737         (find_placeholder): Get starting point from PLIST arg.
4738         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
4739         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
4740         (adjust_address, adjust_address_nv): New macros.
4741         * print-rtl.c (tree.h): New include.
4742         (print_rtx, case MEM): Print all memory attributes.
4743
4744 2001-10-17  Richard Henderson  <rth@redhat.com>
4745
4746         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
4747
4748 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
4749
4750         * c-tree.texi: Eliminate duplicated word.
4751         * cpp.texi: Likewise.
4752         * install.texi: Likewise.
4753         * invoke.texi: Likewise.
4754         * tm.texi: Likewise.
4755
4756 2001-10-17  Michael Collison  <collison@isisinc.net>
4757
4758         * dsp16xx.c: Fix comment formatting to match GNU standards.
4759         (dsp16xx_output_function_prologue): Change type of 'size'
4760         parameter from 'int' to HOST_WIDE_INT.
4761         (dsp16xx_output_function_epilogue): Change type of 'size'
4762         parameter from 'int' to HOST_WIDE_INT.
4763
4764 2001-10-16  Richard Henderson  <rth@redhat.com>
4765
4766         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
4767         * configure, config.in: Rebuild.
4768
4769         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
4770         (ix86_output_addr_diff_elt): New.
4771         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
4772         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
4773         (JUMP_TABLES_IN_TEXT_SECTION): New.
4774         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
4775         * config/i386/i386-protos.h: Update.
4776
4777         * config/i386/386bsd.h, config/i386/beos-elf.h,
4778         config/i386/freebsd-aout.h, config/i386/freebsd.h,
4779         config/i386/i386-interix.h, config/i386/i386elf.h,
4780         config/i386/linux.h, config/i386/netbsd-elf.h,
4781         config/i386/netbsd.h, config/i386/openbsd.h,
4782         config/i386/ptx4-i.h, config/i386/rtemself.h,
4783         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
4784         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
4785
4786 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
4787
4788         * stmt.c (expand_asm_operands): Update commentary.
4789
4790 2001-10-16  Stan Shebs  <shebs@apple.com>
4791
4792         * config/darwin.h (GCC_NAME): Remove, no longer used.
4793         (NO_MATH_LIBRARY): Ditto.
4794         (MATH_LIBRARY): Define to emptiness.
4795         (DWARF2_DEBUGGING_INFO): Define.
4796         (PREFERRED_DEBUGGING_TYPE): Define.
4797         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
4798         (EXCEPTION_SECTION): Define.
4799         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
4800         * config/darwin.c (darwin_encode_section_info): Handle case of
4801         DECL_INITIAL being error_mark_node.
4802
4803 2001-10-16  Richard Henderson  <rth@redhat.com>
4804
4805         * alpha.c (current_file_function_operand): Don't fail for profiling.
4806         (direct_call_operand): New.
4807         * alpha-protos.h: Declare it.
4808         * alpha.h (EXTRA_CONSTRAINT): Use it.
4809         (PREDICATE_CODES): Add it.
4810         (ASM_OUTPUT_MI_THUNK): Remove.
4811         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
4812         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
4813
4814 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
4815
4816         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
4817         (JUMP_TABLES_IN_TEXT_SECTION): Define.
4818
4819 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
4820
4821         * cfg.c (free_edge): Break out from ....
4822         (remove_edge): ... here.
4823         (clear_edges): Use free_edge.
4824
4825         * att.h (ASM_QUAD): Add comment.
4826         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
4827
4828 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
4829
4830         * i386.c (split_ti): New function.
4831         (ix86_split_to_parts): Support TImodes.
4832         * i386.h (VALID_INT_MODE_P): Add TImode.
4833         * i386.md (movdi splitter): Fix.
4834         (movti): Support 64bit integer registers.
4835         (movti_rex64): New function and splitter.
4836
4837         * i386.c (*_cost): Add movsx/movzx cost.
4838         * i386.h (struct processor_costs): Add movsx/movzx fields.
4839         (RTX_COSTS): Handle zero/sign extend + avoid believing that
4840         64bit operations require split on 64bit machine.
4841         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
4842
4843         * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
4844         (ix86_expand_move): Avoid pushes of memory if size does not match;
4845         move long constants to register.
4846         (x86_initialize_trampoline): Fix mode.
4847         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
4848         Use ASM_QUAD on 64bit.
4849         * i386.md (test pattern): Disallow impossible constants.
4850         (tablejump PIC expander): Fix emitting of sum.
4851         (movdicc_rex64): Rename to movdicc.
4852         * linux64.h (LINK_SPEC): Add missing '%'.
4853
4854 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
4855
4856         * tree-inline.c (inlinable_function_p): Leave it up to the
4857         front-end to turn -finline-functions into DECL_INLINE set for all
4858         functions.
4859
4860 2001-10-16  Stan Shebs  <shebs@apple.com>
4861
4862         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
4863
4864 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
4865
4866         * recog.c: Formatting and comment typo fixes.
4867
4868         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
4869         version in single tree build.
4870         * configure: Regenerate.
4871
4872 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
4873
4874         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
4875         MODE arguments to gen_rtx and compare operand with const0_rtx.
4876
4877 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4878
4879         * system.h: Poison old unused target macros.
4880         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
4881         * config/stormy16/stormy16.c: Update references to obsolete macros.
4882         * config/stormy16/stormy16.h: Similarly.
4883         * config/stormy16/stormy16.md: Similarly.
4884         * config/cris/cris.h: Similarly.
4885
4886 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4887
4888         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
4889         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
4890         cpp_register_pragma): Update accordingly.
4891
4892 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
4893
4894         * c-pragma.h (cpp_register_pragma_space): Remove.
4895         * cpplib.h (cpp_register_pragma_space): Remove.
4896         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
4897         (cpp_register_pragma_space): Remove.
4898         (cpp_register_pragma): Simplify using lookup_pragma_entry,
4899         add sanity checks.
4900         (do_pragma): Similarly.
4901         (_cpp_init_internal_pragmas): Don't register namespaces.
4902
4903         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
4904         Don't register namespaces.
4905         * cp/lex.c (init_cp_pragma): Similarly.
4906         * doc/tm.texi: Update.
4907
4908 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4909
4910         PR c/4157
4911         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
4912
4913 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
4914
4915         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
4916         add scheduling support.
4917         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
4918         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
4919         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
4920
4921
4922 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
4923
4924         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
4925         missing CONSTANT_P test in core GCC.
4926
4927 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
4928
4929         * cppmain.c (struct printer): New member source.
4930         (scan_translation_unit): Fix spacing at start of lines.
4931         (cb_line_change): Update.
4932
4933         * gcc.dg/cpp/spacing2.c: New test.
4934
4935 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
4936
4937         * config/cris/arit.c: Use __builtin_labs, not abs.
4938
4939         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
4940
4941         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
4942         misplaced sprintf and fprintf argument.
4943
4944 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
4945
4946         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
4947         * configure.in, Makefile.in: Take out obsolete check-po logic.
4948         * configure, config.in: Regenerate.
4949
4950 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
4951
4952         * objc/objc-act.c (finish_objc): Correct precondition for emitting
4953         symtab declarations.
4954
4955 2001-10-12  Stan Shebs  <shebs@apple.com>
4956
4957         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
4958         declarations of arguments and local variables.
4959
4960 2001-10-12  Christopher Faylor  <cgf@redhat.com>
4961
4962         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
4963         ENDFILE_SPEC definition.
4964
4965 2001-10-12  Kazu Hirata  <kazu@hxi.com>
4966
4967         * gthr-dce.h: Fix comment formatting.
4968         * gthr-posix.h: Likewise.
4969         * gthr-single.h: Likewise.
4970         * gthr-solaris.h: Likewise.
4971         * gthr-vxworks.h: Likewise.
4972         * gthr-win32.h: Likewise.
4973
4974 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
4975
4976         * final.c (output_asm_insn): Make sure assembly dialects are
4977         terminated, not nested.  Output `|' and `}' characters if they
4978         don't appear inside assembly dialect selection.
4979         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
4980         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
4981         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
4982         strsetsi_rex_1): Add {} braces.
4983
4984 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
4985
4986         * toplev.c (compile_file): Ignore return value from yyparse.
4987         Always pop any nested binding levels after yyparse returns.
4988
4989 2001-10-11  Richard Henderson  <rth@redhat.com>
4990
4991         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
4992
4993 2001-10-11  Richard Henderson  <rth@redhat.com>
4994
4995         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
4996         fall back to add_AT_long_long for large CONST_INT.
4997
4998 2001-10-11  Richard Henderson  <rth@redhat.com>
4999
5000         * config/i386/i386.md (setcc splitters): Add four splitters to
5001         simplify compound compares that simplify_comparison can't handle.
5002
5003 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
5004
5005         * cpplex.c (digraph_spellings, token_spellings): Make static.
5006
5007 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5008
5009         * unroll.c (loop_iterations): Fixup last patch.
5010
5011 2001-10-11  Richard Henderson  <rth@redhat.com>
5012
5013         * rtl.h (REG_VTABLE_REF): New.
5014         * rtl.c (reg_note_name): Add it.
5015         * combine.c (distribute_notes): Handle it.
5016         * final.c (final_scan_insn): Handle it.
5017         * tree.def (VTABLE_REF): New.
5018         * expr.c (expand_expr): Handle it.
5019         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
5020         * output.h: Declare them.
5021
5022 2001-10-11  Richard Henderson  <rth@redhat.com>
5023
5024         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
5025         for a DECL_INITIAL.
5026
5027 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
5028
5029         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
5030         available in 64-bit mode.
5031
5032 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
5033
5034         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
5035         cris-*-linux* cases.
5036         * config/cris/cris-protos.h: New file.
5037         * config/cris/cris.c: New file.
5038         * config/cris/cris.h: New file.
5039         * config/cris/cris.md: New file.
5040         * config/cris/linux.h: New file.
5041         * config/cris/aout.h: New file.
5042         * config/cris/arit.c: New file.
5043         * config/cris/cris_abi_symbol.c: New file.
5044         * config/cris/mulsi3.asm: New file.
5045         * config/cris/t-aout: New file.
5046         * config/cris/t-cris: New file.
5047         * config/cris/t-elfmulti: New file.
5048         * config/cris/t-linux: New file.
5049         * doc/invoke.texi: Add CRIS options.
5050         * doc/install.texi (Specific): Add blurb for CRIS.
5051
5052 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
5053
5054         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
5055         before using it.
5056         * config/float/i32.h: Likewise.
5057         * config/float-i386.h: Likewise.
5058         * config/float-i64.h: Likewise.
5059         * config/float-m68k.h: Likewise.
5060         * config/float-sh.h: Likewise.
5061         * config/float-sparc.h: Likewise.
5062
5063 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
5064
5065         * doc/contrib.texi: Add note about CRIS port to my entry.
5066
5067 2001-10-11  Kazu Hirata  <kazu@hxi.com>
5068
5069         * basic-block.h: Fix formatting.
5070         * bitmap.h: Likewise.
5071         * cpplib.h: Likewise.
5072         * c-tree.h: Likewise.
5073         * diagnostic.h: Likewise.
5074         * flags.h: Likewise.
5075         * ggc.h: Likewise.
5076         * longlong.h: Likewise.
5077         * real.h: Likewise.
5078         * reload.h: Likewise.
5079         * rtl.h: Likewise.
5080         * tree.h: Likewise.
5081
5082 2001-10-10  Richard Henderson  <rth@redhat.com>
5083
5084         * c-parse.in (asm_operand): Allow named operands.
5085         * genconfig.c (max_recog_operands): Set to 29.
5086         * local-alloc.c (requires_inout): Skip multiple digits.
5087         * recog.c (asm_operand_ok): Likewise.
5088         (preprocess_constraints): Use strtoul for matching constraints.
5089         (constrain_operands): Likewise.
5090         * regmove.c (find_matches): Likewise.
5091         * reload.c (find_reloads): Likewise.
5092         * stmt.c (parse_output_constraint): Don't reject in-out
5093         constraint on operands > 9.  Reject '[' in constraint.
5094         (expand_asm_operands): Handle named operands.  Use strtoul
5095         for matching constraints.
5096         (check_operand_nalternatives): Split out from expand_asm_operands.
5097         (check_unique_operand_names): New.
5098         (resolve_operand_names, resolve_operand_name_1): New.
5099
5100         * doc/extend.texi (Extended Asm): Document named operands.
5101         * doc/md.texi (Simple Constraints): Document matching constraints
5102         on operands > 9.
5103
5104 2001-10-10  Richard Henderson  <rth@redhat.com>
5105
5106         * combine.c (try_combine): Handle a SEQUENCE of one insn.
5107
5108         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
5109         (jcc splitters): Add two splitters to simplify compound compares
5110         that simplify_comparison can't handle.
5111
5112 2001-10-10  Richard Henderson  <rth@redhat.com>
5113
5114         * langhooks.c: Include langhooks.h.
5115         * Makefile.in (langhooks.o): Depend on it.
5116
5117 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
5118
5119         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
5120         should not be considered as a no-op.
5121         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
5122
5123 2001-10-10  Stan Shebs  <shebs@apple.com>
5124
5125         * alias.c: Remove uses of "register" specifier in declarations
5126         of arguments and local variables.
5127         * c-common.c: Ditto.
5128         * c-convert.c: Ditto.
5129         * c-decl.c: Ditto.
5130         * c-format.c: Ditto.
5131         * c-semantics.c: Ditto.
5132         * c-typeck.c: Ditto.
5133         * caller-save.c: Ditto.
5134         * calls.c: Ditto.
5135         * cfg.c: Ditto.
5136         * cfgbuild.c: Ditto.
5137         * cfgrtl.c: Ditto.
5138         * collect2.c: Ditto.
5139         * combine.c: Ditto.
5140         * convert.c: Ditto.
5141         * cppexp.c: Ditto.
5142         * cppfiles.c: Ditto.
5143         * cse.c: Ditto.
5144         * dbxout.c: Ditto.
5145         * defaults.h: Ditto.
5146         * df.c: Ditto.
5147         * dwarf2out.c: Ditto.
5148         * dwarfout.c: Ditto.
5149         * emit-rtl.c: Ditto.
5150         * explow.c: Ditto.
5151         * expmed.c: Ditto.
5152         * expr.c: Ditto.
5153         * final.c: Ditto.
5154         * fix-header.c: Ditto.
5155         * floatlib.c: Ditto.
5156         * flow.c: Ditto.
5157         * fold-const.c: Ditto.
5158         * function.c: Ditto.
5159         * gcc.c: Ditto.
5160         * gcse.c: Ditto.
5161         * gen-protos.c: Ditto.
5162         * genattrtab.c: Ditto.
5163         * gencheck.c: Ditto.
5164         * genconfig.c: Ditto.
5165         * genemit.c: Ditto.
5166         * genextract.c: Ditto.
5167         * genflags.c: Ditto.
5168         * gengenrtl.c: Ditto.
5169         * genoutput.c: Ditto.
5170         * genpeep.c: Ditto.
5171         * genrecog.c: Ditto.
5172         * gensupport.c: Ditto.
5173         * global.c: Ditto.
5174         * gmon.c: Ditto.
5175         * graph.c: Ditto.
5176         * haifa-sched.c: Ditto.
5177         * hard-reg-set.h: Ditto.
5178         * hash.c: Ditto.
5179         * integrate.c: Ditto.
5180         * jump.c: Ditto.
5181         * lists.c: Ditto.
5182         * local-alloc.c: Ditto.
5183         * loop.c: Ditto.
5184         * mips-tdump.c: Ditto.
5185         * mips-tfile.c: Ditto.
5186         * optabs.c: Ditto.
5187         * prefix.c: Ditto.
5188         * print-rtl.c: Ditto.
5189         * read-rtl.c: Ditto.
5190         * real.c: Ditto.
5191         * recog.c: Ditto.
5192         * reg-stack.c: Ditto.
5193         * regclass.c: Ditto.
5194         * regmove.c: Ditto.
5195         * reload.c: Ditto.
5196         * reload1.c: Ditto.
5197         * reorg.c: Ditto.
5198         * resource.c: Ditto.
5199         * rtl.c: Ditto.
5200         * rtlanal.c: Ditto.
5201         * scan.c: Ditto.
5202         * sched-deps.c: Ditto.
5203         * sched-rgn.c: Ditto.
5204         * sdbout.c: Ditto.
5205         * simplify-rtx.c: Ditto.
5206         * stmt.c: Ditto.
5207         * stor-layout.c: Ditto.
5208         * toplev.c: Ditto.
5209         * tradcif.y: Ditto.
5210         * tradcpp.c: Ditto.
5211         * tree.c: Ditto.
5212         * unroll.c: Ditto.
5213         * varasm.c: Ditto.
5214         * xcoffout.c: Ditto.
5215
5216 2001-10-10  Richard Henderson  <rth@redhat.com>
5217
5218         * rtl.h (can_reverse_comparison_p): Remove.
5219
5220 2001-10-10  Christopher Faylor <cgf@redhat.com>
5221
5222         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
5223         used.
5224
5225 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
5226
5227         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
5228         (Thanks to Chris Faylor for suggesting macro name).
5229         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
5230         WIN32 defines.
5231         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
5232         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
5233         (MATH_LIBRARY): Undef before definition.
5234         (OUTPUT_QUOTED_STRING): Likewise.
5235         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
5236
5237 2001-10-10  Richard Henderson  <rth@redhat.com>
5238
5239         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
5240         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
5241         a tristate comparison value.
5242         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
5243
5244 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5245
5246         PR c++/4512
5247         * unroll.c (loop_iterations): Ignore insns generated by loop
5248         unrolling.
5249
5250         * config.gcc (mips*-*-gnu*): Delete support.
5251         * config/mips/gnu.h: Remove.
5252
5253 2001-10-10  Kazu Hirata  <kazu@hxi.com>
5254
5255         * calls.c: Fix formatting.
5256         * c-decl.c: Likewise.
5257         * cfgcleanup.c: Likewise.
5258         * combine.c: Likewise.
5259         * cppfiles.c: Likewise.
5260         * cpplib.c: Likewise.
5261         * cppmacro.c: Likewise.
5262         * crtstuff.c: Likewise.
5263         * cse.c: Likewise.
5264         * dwarf2out.c: Likewise.
5265         * expmed.c: Likewise.
5266         * expr.c: Likewise.
5267         * fold-const.c: Likewise.
5268         * function.c: Likewise.
5269         * gcse.c: Likewise.
5270         * genattrtab.c: Likewise.
5271         * ggc-page.c: Likewise.
5272         * integrate.c: Likewise.
5273         * libgcc2.c: Likewise.
5274         * loop.c: Likewise.
5275         * optabs.c: Likewise.
5276         * profile.c: Likewise.
5277         * protoize.c: Likewise.
5278         * real.c: Likewise.
5279         * recog.c: Likewise.
5280         * reload1.c: Likewise.
5281         * reload.c: Likewise.
5282         * reorg.c: Likewise.
5283         * resource.c: Likewise.
5284         * sched-rgn.c: Likewise.
5285         * sdbout.c: Likewise.
5286         * stmt.c: Likewise.
5287         * toplev.c: Likewise.
5288         * varasm.c: Likewise.
5289
5290 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
5291
5292         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
5293         * Makefile.in (langhooks.o): Add dependencies.
5294
5295 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
5296
5297         * rs6000.c (rs6000_emit_load_toc_table): Don't
5298         strdup the toc label.
5299         (create_TOC_reference): Likewise.
5300
5301 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
5302
5303         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
5304         version default.
5305
5306 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
5307
5308         * config/i386/i386.c (ix86_attribute_table): Correct
5309         min_len, max_len fields for dllimport, dllexport and shared.
5310
5311 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
5312
5313         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
5314         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
5315         Consistently use "nonzero" instead of "non-zero".
5316
5317 2001-10-09  Kazu Hirata  <kazu@hxi.com>
5318
5319         * acconfig.h: Fix comment formatting.
5320         * c-dump.h: Likewise.
5321         * c-tree.h: Likewise.
5322         * conditions.h: Likewise.
5323         * expr.h: Likewise.
5324         * function.h: Likewise.
5325         * gthr.h: Likewise.
5326         * hwint.h: Likewise.
5327         * integrate.h: Likewise.
5328         * intl.h: Likewise.
5329         * loop.h: Likewise.
5330         * optabs.h: Likewise.
5331
5332 2001-10-09  Kazu Hirata  <kazu@hxi.com>
5333
5334         * c-common.h: Fix comment formatting.
5335         * c-dump.c: Likewise.
5336         * cfg.c: Likewise.
5337         * diagnostic.h: Likewise.
5338         * except.c: Likewise.
5339         * gcc.h: Likewise.
5340         * gcov-io.h: Likewise.
5341         * genattrtab.c: Likewise.
5342         * output.h: Likewise.
5343         * predict.h: Likewise.
5344         * reload1.c: Likewise.
5345         * reload.h: Likewise.
5346         * resource.h: Likewise.
5347         * scan.h: Likewise.
5348         * system.h: Likewise.
5349         * tree.h: Likewise.
5350         * tree-inline.c: Likewise.
5351         * tsystem.h: Likewise.
5352         * varasm.c: Likewise.
5353         * xcoffout.h: Likewise.
5354
5355 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
5356
5357         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
5358
5359 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
5360
5361         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
5362         config/i386/i386elf.h, config/i386/netbsd-elf.h,
5363         config/i386/netware.h, config/mcore/gfloat.h,
5364         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
5365         config/netware.h, gccbug.in: Update FSF address.
5366
5367 2001-10-09  Kazu Hirata  <kazu@hxi.com>
5368
5369         * c-common.c: Fix comment typos.
5370         * cfgrtl.c: Likewise.
5371         * collect2.c: Likewise.
5372         * cpplex.c: Likewise.
5373         * doloop.c: Likewise.
5374         * dwarf2out.c: Likewise.
5375         * dwarfout.c: Likewise.
5376         * expr.c: Likewise.
5377         * fold-const.c: Likewise.
5378         * gcc.c: Likewise.
5379         * gcov.c: Likewise.
5380         * gcse.c: Likewise.
5381         * global.c: Likewise.
5382         * ifcvt.c: Likewise.
5383         * loop.c: Likewise.
5384         * optabs.c: Likewise.
5385         * protoize.c: Likewise.
5386         * regclass.c: Likewise.
5387         * reorg.c: Likewise.
5388         * rtl.h: Likewise.
5389         * stmt.c: Likewise.
5390         * tree.h: Likewise.
5391         * doc/cpp.texi: Likewise.
5392         * doc/c-tree.texi: Likewise.
5393         * doc/extend.texi: Likewise.
5394         * doc/invoke.texi: Likewise.
5395         * doc/objc.texi: Likewise.
5396         * doc/tm.texi: Likewise.
5397
5398 2001-10-08  Richard Henderson  <rth@redhat.com>
5399
5400         * varasm.c (set_named_section_flags): Initialize "declared".
5401
5402 2001-10-08  Robert Lipe  <robertlipe@usa.net>
5403
5404         * varasm.c (struct in_named_entry): Add declared.
5405         (named_section_first_declaration): New function.
5406         (default_elf_asm_named_section): Use it.
5407         * output.h (named_section_first_declaration): New.
5408
5409 2001-10-08  Richard Henderson  <rth@redhat.com>
5410
5411         * i386.md (movsi_xor): Export.
5412         (setcc peep2): Use it when available; add an alternative to
5413         match zero_extendhisi2_and.
5414
5415 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5416
5417         * romp-protos.h (romp_initialize_trampoline): New function.
5418         * romp.c (romp_initialize_trampoline): Likewise.
5419         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
5420         romp_initialize_trampoline.
5421
5422 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5423
5424         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
5425         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
5426         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
5427         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
5428
5429 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5430
5431         * unroll.c (loop_iterations): Extend check for multiple back edges.
5432
5433 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
5434
5435         * langhooks.h: New file.
5436         * Makefile.in (OBJS): Added langhooks.o.
5437         (c-lang.o): Depend on langhooks.h.
5438         (c-common.o): Don't depend on tree-inline.h.
5439         (tree-inline.o): Depend on toplev.h.
5440         (langhooks.o): New rule.
5441         * c-common.c: Don't include tree-inline.h.
5442         (c_mark_lang_decl): Mark argument c as unused.
5443         (c_common_lang_init): Don't initialize hooks here.
5444         * c-lang.c: Include langhooks.h, then override some macros.
5445         (lang_hooks): Initialize with macros in langhooks.h.
5446         (c_init): Don't initialize hooks here.
5447         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
5448         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
5449         * tree-inline.c: Include toplev.h.  Don't define hook variables.
5450         * tree-inline.h: Don't define hook types nor declare hook
5451         variables.  Move macros to...
5452         * langhooks.c: ... new file, as functions.  Adjust all callers.
5453
5454 2001-10-08  Jeffrey A Law  <law@cygnus.com>
5455
5456         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
5457         purge_mem_unchanging_flag on all instructions, not just on those
5458         before NOTE_INSN_FUNCTION_BEG.
5459
5460 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
5461
5462         * cppmacro.c (_cpp_create_definition): Leave comments off.
5463
5464         * doc/cpp.texi: Update.
5465
5466 2001-10-08  DJ Delorie  <dj@redhat.com>
5467
5468         * c-decl.c (grokfield): Make sure the only unnamed fields
5469         we're allowing are either structs or unions.
5470         * doc/extend.texi: Add documentation for the unnamed field
5471         extension.
5472
5473 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
5474
5475         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
5476         * configure.in: Use it.
5477         * configure: Regenerated.
5478         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
5479         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
5480
5481 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
5482
5483         * cppfiles.c (open_file): Don't mark zero-length files
5484         never-reread here.  Don't output diagnostics here either.
5485         (stack_include_file): Mark them never-reread here.
5486         (_cpp_read_file): Update.
5487
5488 2001-10-08  Richard Henderson  <rth@redhat.com>
5489
5490         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
5491
5492 2001-10-08  Richard Henderson  <rth@redhat.com>
5493
5494         * expr.c (store_expr): When converting a CONST_INT for storage
5495         in a SUBREG, convert it to both SUBREG modes before stripping
5496         the SUBREG.
5497
5498 2001-10-08  Richard Henderson  <rth@redhat.com>
5499
5500         * varasm.c (restore_varasm_status): New.
5501         * function.h: Declare it.
5502         * function.c (pop_function_context_from): Call it.
5503
5504 2001-10-08  Richard Henderson  <rth@redhat.com>
5505
5506         * c-common.h (struct c_lang_decl): Add declared_inline.
5507         * c-tree.h (DECL_DECLARED_INLINE_P): New.
5508         * c-lang.c (c_disregard_inline_limits): Use it.
5509         * c-decl.c (duplicate_decls): Likewise.
5510         (pushdecl, redeclaration_error_message): Likewise.
5511         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
5512         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
5513         Set DECL_INLINE if -finline-functions.
5514         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
5515
5516 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
5517
5518         * cppmacro.c (funlike_invocation_p): Move some logic to caller
5519         in enter_macro_context.  Create a padding token in its own context
5520         if necessary when the search for '(' fails.
5521         (enter_macro_context): Update.
5522
5523 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
5524
5525         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
5526         genmultilib, toplev.c: Fix spelling errors of "separate" as
5527         "seperate", and corresponding spelling errors of related words.
5528
5529 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5530
5531         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
5532         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
5533         Likewise.
5534         * c-dump.c (dump_option_value_info): Likewise.
5535         * c-format.c (format_length_info, format_char_info,
5536         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
5537         * collect2.c (names): Likewise.
5538         * cppdefault.h (default_include): Likewise.
5539         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
5540         * flow.c (life_analysis): Likewise.
5541         * gcc.c (dir_separator_str, modify_target, option_map,
5542         target_option_translations, spec_list_1, extra_specs_1,
5543         init_spec): Likewise.
5544         * gcov.c (gcov_version_string): Likewise.
5545         * genattr.c (write_units): Likewise.
5546         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
5547         * gengenrtl.c (rtx_definition, defs): Likewise.
5548         * genrecog.c (pred_table): Likewise.
5549         * global.c (global_alloc): Likewise.
5550         * lcm.c (optimize_mode_switching): Likewise.
5551         * local-alloc.c (find_free_reg): Likewise.
5552         * params.h (param_info): Likewise.
5553         * predict.c (predictor_info): Likewise.
5554         * protoize.c (unexpansion_struct): Likewise.
5555         * real.c (bmask): Likewise.
5556         * recog.h (insn_operand_data, insn_data): Likewise.
5557         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
5558         * stmt.c (expand_nl_goto_receiver): Likewise.
5559         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
5560         target_switches, target_options): Likewise.
5561         * tradcif.y (token, tokentab2, yylex): Likewise.
5562         * tree.h (attribute_spec): Likewise.
5563
5564         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
5565         Likewise.
5566         * arc.c (arc_output_function_epilogue): Likewise.
5567         * arm.c (processors, all_cores, all_architectures,
5568         arm_override_options, isr_attribute_arg, isr_attribute_args,
5569         arm_isr_value): Likewise.
5570         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
5571         Likewise.
5572         * c4x.c (c4x_int_reglist): Likewise.
5573         * d30v.c (override_options): Likewise.
5574         * h8300.c (shift_insn): Likewise.
5575         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
5576         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
5577         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
5578         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
5579         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
5580         * i386.h (processor_costs, ix86_cost): Likewise.
5581         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
5582         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
5583         * m68k.c (codes_68881, codes_FPA): Likewise.
5584         * m88k.c (mode_from_align, max_from_align, all_from_align,
5585         best_from_align, m_options): Likewise.
5586         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
5587         * mcore.c (mode_from_align): Likewise.
5588         * mips/elf64.h (UNIQUE_SECTION): Likewise.
5589         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
5590         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
5591         * mips.h (mips_regno_to_class): Likewise.
5592         * ns32k.c (scales): Likewise.
5593         * pa.c (import_string, magic_milli): Likewise.
5594         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
5595         * sparc.c (leaf_reg_remap, sparc_override_options,
5596         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
5597         Likewise.
5598         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
5599
5600 2001-10-07  Dale Johannesen  <dalej@apple.com>
5601
5602         * reload1.c (reload_reg_free_p): Teach register interference
5603         checking that multiple output reloads are emitted in
5604         reverse order.
5605         reload1.c (reload_reg_reaches_end_p):  Ditto.
5606         reload1.c (reloads_conflict):  Ditto.
5607
5608 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
5609
5610         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
5611         NULL_TREE inside @code.
5612
5613 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
5614
5615         * doc/gcc.texi: Document consistent style of "32-bit",
5616         "Objective-C", and "@code{NULL}".
5617
5618 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
5619
5620         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
5621         (cpp_token_len, cpp_spell_token, cpp_output_token,
5622         _cpp_equiv_tokens): Handle it.
5623         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
5624         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
5625         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
5626         error messages.
5627
5628 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5629
5630         * gcc.c (default_compilers): Remove .ada.
5631
5632 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
5633
5634         * doc/cppinternals.texi: Update.
5635
5636 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
5637
5638         * gcc.c (main): Set this_file_error if the appropriate
5639         compiler for a language has not been installed.
5640
5641 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
5642
5643         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
5644
5645 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
5646
5647         * gccbug.in (CATEGORIES): Add ada.
5648
5649 2001-10-05  Catherine Moore  <clm@redhat.com>
5650
5651         * config/stormy16/stormy-abi:  Document abi changes.
5652         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
5653         (ICALL_REGS): New register class.
5654         (NUM_ARGUMENT_REGISTERS): Now 6.
5655         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
5656         in registers.
5657         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
5658         * config/stormy16.md (call_internal, call_value_internal,
5659         indirect_jump): Use new 'z' constraint.
5660
5661 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
5662
5663         * doc/cppinternals.texi: Update.
5664
5665 2001-10-05  Richard Henderson  <rth@redhat.com>
5666
5667         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
5668         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
5669         the gas section-name-as-label feature.
5670
5671 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
5672
5673         * doc/cppinternals.texi: Update.
5674
5675 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5676
5677         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
5678         to ensure valid SImode constants.
5679
5680 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
5681
5682         * Makefile.in (c-decl.o): Depend on tree-inline.h.
5683         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
5684         * c-decl.c: Include tree-inline.h.
5685         (c_expand_body): Call optimize_inline_calls. Determine whether
5686         a function is inlinable upfront, and only clear
5687         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
5688         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
5689         (c_disregard_inline_limits): New function.
5690         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
5691         (c_post_options): Enable tree inlining if inlining is enabled.
5692         Don't inline trees when instrumenting functions.
5693         (c_init): Initialize lang_disregard_inline_limits and
5694         lang_cannot_inline_tree_fn.
5695         * tree-inline.c (initialize_inlined_parameters): Handle calls
5696         with fewer arguments than declared parameters, and fewer
5697         parameters than passed arguments.  Don't assume value is a
5698         DECL.
5699         (declare_return_variable): Convert return value back to the
5700         original type, if it was promoted.
5701         (tree_inlinable_function_p): New function.
5702         (inlinable_function_p): Don't look at DECL_INLINE if we're
5703         inlining all functions.  Make it work with a NULL id.
5704         Re-check DECL_UNINLINABLE after language-specific checks.
5705         * tree-inline.h (tree_inlinable_function_p): Declare it.
5706         * integrate.c (save_for_inline): Don't bother to prepare argvec
5707         when not inlining.
5708         * cse.c (check_for_label_ref): Don't check deleted labels.
5709
5710         * Makefile.in (tree-inline.o): Depend on newly-included headers.
5711         * tree-inline.c: Include headers needed for the functions moved in.
5712         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
5713         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
5714         (copy_body, initialize_inlined_parameters): Likewise.
5715         (declare_return_variable, inlinable_function_p): Likewise.
5716         (expand_call_inline, expand_calls_inline): Likewise.
5717         (optimize_inline_calls, clone_body): Likewise.
5718         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
5719         (copy_tree_r, remap_save_expr): Likewise.
5720
5721 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
5722
5723         * Makefile.in (OBJS): Added tree-inline.o.
5724         (c-common.o): Depend on tree-inline.h.
5725         (tree-inline.o): New target.
5726         * c-common.c: Include tree-inline.h.
5727         (c_mark_lang_decl): Don't mark saved_tree.
5728         (c_common_lang_init): Set lang_anon_aggr_type_p.
5729         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
5730         (struct c_lang_decl): Moved saved_tree to tree_decl.
5731         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
5732         * integrate.h (function_attribute_inlinable_p): Declare it.
5733         * integrate.c (function_attribute_inlinable_p): Export it.
5734         * tree-inline.c: New file.  Define variables declared in...
5735         * tree-inline.h: New file.  Declare functions to be moved to
5736         tree-inline.c.  Define macros and declare types and hooks for
5737         language-specific tree inlining.
5738         (flag_inline_trees): Moved definition from cp/decl2.c.
5739         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
5740         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
5741         (struct tree_decl): Moved saved_tree from c_lang_decl and
5742         inlined_fns from C++'s lang_decl.
5743
5744 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
5745
5746         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
5747         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
5748
5749 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
5750
5751         * doc/cppinternals.texi: Update.
5752
5753 2001-10-04  Eric Christopher  <echristo@redhat.com>
5754
5755         * config/mips/mips.c (init_cumulative_args): Remember to set
5756         cum->prototype.
5757         * config.gcc: Redo linux configuration. Add target_cpu_default
5758         of soft-float to all mipsisa32 combinations and tx39.
5759         * config/mips/linux.h: Remove include of mips.h.
5760
5761 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
5762
5763         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
5764         HOST_LDFLAGS and HOST_CPPFLAGS.
5765
5766 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
5767
5768         * c-parse.in (objc_inherit_code, objc_pq_context,
5769         objc_public_flag): Make static.
5770         (objc_interface_context, objc_implementation_context,
5771         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
5772         global tree array in objc/objc-act.[ch].
5773         (methoddef): Remove unnecessary code.
5774
5775         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
5776         Hoist struct definitions to objc-act.h.
5777         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
5778         cat_count): Place declaration in objc-act.h.
5779         (objc_tree_index): Move enumeration to objc-act.h.
5780         (objc_global_trees): Place declaration and macro accessors in
5781         objc-act.h.
5782         (implementation_context): Remove duplicate; use
5783         objc_implementation_context instead:
5784         (method_context): Remove duplicate; use objc_method_context
5785         instead.
5786         (objc_ellipsis_node, objc_method_prototype_template,
5787         implemented_classes, function_type): Move global vars to
5788         objc_global_trees.
5789         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
5790         (build_message_expr): Move actual construction of ObjC message
5791         send nodes to finish_message_expr.
5792         (finish_message_expr): New routine, contains code formerly in
5793         build_message_expr.
5794         * objc/objc-act.h (finish_message_expr): New prototype.
5795         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
5796         declarations; these vars are now part of objc_global_trees.
5797         (objc_tree_index, objc_global_trees): Move definitions from
5798         objc-act.c.
5799         * objc/objc-tree.def: Update copyright info.
5800
5801 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
5802
5803         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
5804         op is NULL.
5805         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
5806         only if TARGET_ARCH64.
5807
5808 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
5809
5810         * doc/extend.texi: Fix some problems with previous checkin.
5811         * doc/invoke.texi: Likewise.
5812
5813 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
5814
5815         * cpphash.h: Update comments.
5816         (cpp_context): Update.
5817         (spec_nodes): Remove n__Pragma.
5818         * cppinit.c (cpp_create_reader): Update.
5819         (builtin_array): Add _Pragma.
5820         * cpplib.h: Update comments.
5821         (NODE_DISABLED, BT_PRAGMA): New.
5822         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
5823         * cppmacro.c (struct cpp_macro): Remove disabled.
5824         (builtin_macro): Return int, handle _Pragma, push the new token
5825         on the context stack.
5826         (funlike_invocation_p): Unconstify, update.
5827         (enter_macro_context): Handle builtins here.
5828         (replace_args, push_token_context, push_ptoken_context):
5829         Update for prototype changes.
5830         (_cpp_pop_context): Update.
5831         (cpp_get_token): Don't handle buitins, nor _Pragma here.
5832         (cpp_sys_macro_p): Update.
5833         (_cpp_free_definition): Clear disabled flag.
5834         (_cpp_create_definition): Upate.
5835         * cppmain.c: Update comments.
5836
5837 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
5838                                 Andreas Jaeger <aj@suse.de>,
5839                                 Jan Hubicka    <jh@suse.cz>
5840
5841         * doc/invoke.texi (i386 Options): Document x86-64 options.
5842         (i386 and x86-64 Options): Rename i386 options section.
5843
5844         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
5845         (TARGET_SWITCHES): Add -munwind-info.
5846         (MASK_NO_UNWIND_INFO): New.
5847         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
5848         biarch compilation.
5849         (ASM_OUTPUT_DOUBLE_INT): New.
5850
5851         * config/i386/linux64.h: New spec file for Linux x86-64 support.
5852         * config.gcc: Fix tm_file settings for x86-64.
5853         * config/i386/x86-64.h: New file with OS independent x86-64
5854         definitions.
5855         * config/i386/biarch64.h: New file used to configure compiler
5856         to biarch/64bit compilation.
5857
5858         * config/i386/i386.c: (override_options): Set flags default
5859         for 64bit compilation.
5860
5861 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
5862
5863         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
5864         (ix86_expand_int_movcc): Optimize DImode conditional moves with
5865         constants on x86_64.
5866         (ix86_attr_length_immediate_default): Support MODE_DI.
5867         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
5868         condition.
5869         (indirect_jump, tablejump): Turn into expander.
5870
5871 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
5872
5873         * c-common.c (c_format_attribute_table): Make format and
5874         format_arg attributes apply to function types rather than to
5875         decls.
5876         (is_valid_printf_arglist): Construct an attribute list and pass
5877         that to check_function_format rather than a name.
5878         * c-common.h (check_function_format): Adjust prototype.
5879         * c-decl.c (duplicate_decls): Preserve attributes from type of
5880         built-in decl when allowing for harmless conflict in types.
5881         * c-format.c (record_function_format,
5882         record_international_format, function_format_list,
5883         international_format_info, international_format_list): Remove.
5884         (function_format_info): Remove next, name and assembler_name.
5885         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
5886         (decode_format_attr): New.
5887         (handle_format_attribute): Handle receiving a type rather than a
5888         decl.  Call decode_format_attr.  Store format information in a
5889         function_format_info.
5890         (handle_format_arg_attribute): Correct comment.  Handle receiving
5891         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
5892         arg_num.
5893         (check_format_info_recurse, check_format_info_main): Take argument
5894         numbers as unsigned HOST_WIDE_INT.
5895         (check_function_format): Take a list of attributes from the
5896         function type rather than a name or assembler name.  Check for
5897         format attributes in that list and the attributes on the type of
5898         the current function rather than looking through
5899         function_format_list.
5900         (check_format_info): Use unsigned HOST_WIDE_INT for argument
5901         numbers.
5902         (check_format_info_recurse): Take format_arg attributes from the
5903         type of the function calls rather than using
5904         international_format_list.  Allow for multiple format_arg
5905         attributes.
5906         * c-typeck.c (build_function_call): Pass type attributes to
5907         check_function_format rather than name or assembler name.  Don't
5908         require there to be a name or assembler name to check formats.
5909
5910 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
5911
5912         * attribs.c (decl_attributes): Possibly call
5913         insert_default_attributes to insert default attributes on
5914         functions in a lazy manner.
5915         * builtin-attrs.def: New file; define the default format and
5916         format_arg attributes.
5917         * c-common.c (c_format_attribute_table): Move to earlier in the
5918         file.
5919         (c_common_nodes_and_builtins): Initialize format_attribute_table.
5920         (enum built_in_attribute, built_in_attributes,
5921         c_attrs_initialized, c_init_attributes,
5922         c_common_insert_default_attributes): New.
5923         (c_common_lang_init): Don't initialize format_attribute_table.  Do
5924         call c_init_attributes.
5925         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
5926         * c-common.h (init_function_format_info): Don't declare.
5927         (c_common_insert_default_attributes): Declare.
5928         * c-decl.c (implicitly_declare, builtin_function): Call
5929         decl_attributes.
5930         (init_decl_processing): Don't call init_function_format_info.
5931         (insert_default_attributes): New.
5932         * c-format.c (handle_format_attribute,
5933         handle_format_arg_attribute): Be quiet about inappropriate
5934         declaration when applying default attributes.
5935         (init_function_format_info): Remove.
5936         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
5937         (insert_default_attributes): Declare.
5938
5939 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
5940
5941         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
5942
5943 2001-10-01  Jim Wilson  <wilson@redhat.com>
5944
5945         * sched-deps.c (add_dependence): When elide conditional dependence,
5946         check that insn doesn't modify cond2.
5947
5948 2001-10-01  Dale Johannesen  <dalej@apple.com>
5949
5950         * config/rs6000/rs6000.h (enum processor_type): Add support
5951         for 7400 (G4) and 7450.
5952         (RTX_COSTS): Ditto.
5953         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
5954         (rs6000_issue_rate): Ditto.
5955         (rs6000_adjust_cost): Fix cycle counts for compares.
5956         (debug_stack_info):  Fix an obvious typo.
5957         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
5958         * doc/invoke.texi: Document.
5959         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
5960         for Darwin.
5961         (PROCESSOR_DEFAULT): Ditto.
5962
5963 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
5964
5965         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
5966         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
5967         later recursive make invocation.
5968
5969 2001-10-01  Hans Boehm  <boehm@acm.org>
5970
5971         * optabs.c (emit_libcall_block): When using non-call exceptions,
5972         don't add REG_LIBCALL reg notes to trapping calls.
5973
5974 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
5975
5976         * flow.c (propagate_block_delete_libcall): Remove unused first arg
5977         (propagate_one_insn):  Update for above change
5978
5979 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
5980
5981         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
5982         _Unwind_GetTextRelBase): Argument is unused.
5983
5984 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5985
5986         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
5987         Loop through NOPs, placeholders, and components.
5988         Don't go through NOPs if change mode.
5989         (record_alias_subset): Do nothing if SUBSET and SET are the same.
5990         * emit-rtl.c (set_mem_alias_set): Enable check.
5991         * expr.c (find_placeholder): New function.
5992         (expand_expr, case PLACEHOLDER_EXPR): Use it.
5993         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
5994         to modify it and avoid unneeded copies.
5995         * expr.h (expand_expr): Always define.
5996         (find_placeholder): New declaration.
5997
5998 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
5999
6000         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
6001         operand 2 is the stack pointer.
6002         ("addr-peephole"): Fix address computation peephole when operand 2
6003         is the stack pointer.
6004
6005 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6006
6007         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
6008         (ix86_setup_incoming_varargs): Likewise.
6009
6010 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
6011
6012         * stor-layout.c (layout_type): Don't complain about too-large
6013         array here.
6014
6015 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6016
6017         * function.c (keep_stack_depressed): Don't use delete_insn.
6018
6019         * expr.h (set_mem_alias_set): Move decl to here.
6020         * rtl.h (mem_attrs): New typedef and struct.
6021         (union rtunion_def): Add field for mem_attrs.
6022         (X0MEMATTR, MEM_ATTRS): New macros.
6023         (MEM_ALIAS_SET): Use MEM_ATTRS.
6024         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
6025         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
6026         (set_mem_alias_set): Delete decl from here.
6027
6028         * alias.c (set_mem_alias_set): Delete from here.
6029         * emit-rtl.c (mem_attrs_htab): New variable.
6030         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
6031         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
6032         (mem_attrs_mark, get_mem_attrs): Likewise.
6033         (gen_rtx_MEM): Clear MEM_ATTRS.
6034         (set_mem_attributes): Move to here.
6035         (set_mem_alias_set): Likewise, and call get_mem_attrs.
6036         (init_emit_once): const_int_htab now deletable htab.
6037         Initialize mem_attrs_htab.
6038         * explow.c (set_mem_attributes): Delete from here.
6039         * function.c (put_var_into_stack): Clear MEM_ATTRS.
6040         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
6041         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
6042         * reload1.c (reload): Rework changing REG to MEM.
6043
6044 2001-09-30  H.J. Lu <hjl@gnu.org>
6045
6046         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
6047         * config.in: Rebuild.
6048
6049 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
6050
6051         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
6052         ("tsthi_1"): Avoid allocation in register y.
6053         ("*movqi_68hc12"): Reorganize and fix constraints.
6054         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
6055         ("addqi3"): Likewise.
6056         ("addhi3"): Fix constraints.
6057         ("*logicalhi3_zexthi"): Disparage soft registers.
6058
6059 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
6060
6061         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
6062         to tmp reg.
6063
6064 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
6065
6066         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
6067         that we use setjmp/longjmp exceptions.
6068
6069 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
6070
6071         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
6072         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
6073         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
6074         _cpp_pool_alloc, _cpp_next_chunk): Remove.
6075         (_cpp_extend_buff, BUFF_ROOM): Update.
6076         (_cpp_append_extend_buff): New.
6077         (struct cpp_reader): Remove macro_pool, add a_buff.
6078         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
6079         macro_pool.
6080         (cpp_destroy): Free a_buff instead of macro_pool.
6081         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
6082         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
6083         _cpp_pool_alloc, ): Remove.
6084         (parse_number, parse_string): Update use of _cpp_extend_buff.
6085         (_cpp_extend_buff): Update.
6086         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
6087         * cpplib.c (glue_header_name, parse_answer):
6088         Update use of _cpp_extend_buff.
6089         (cpp_register_pragma, cpp_register_pragma_space): Use
6090         _cpp_aligned_alloc.
6091         (do_assert, do_unassert): Check for EOL, update.
6092         * cppmacro.c (stringify_arg, collect_args): Update to use
6093         _cpp_extend_buff and _cpp_append_extend_buff.
6094         (save_parameter, parse_params, alloc_expansion_token,
6095         _cpp_create_definition): Rework memory management.
6096
6097 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
6098
6099         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
6100         update md_exec_prefix.
6101         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
6102         to string constant.
6103
6104 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
6105
6106         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
6107         (SELECT_CC_MODE): Use s390_select_ccmode.
6108         * config/s390/s390-protos.h (s390_select_ccmode): Add.
6109         * config/s390/s390.c (s390_select_ccmode): New.
6110         (s390_match_ccmode): Add CCLmode.
6111         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
6112         (output_branch_condition, output_inverse_branch_condition): Removed.
6113         (print_operand): Use s390_branch_condition_mnemonic.
6114         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
6115         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
6116         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
6117
6118         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
6119         when converting conditional branches to far branches.
6120         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
6121         cmpint_di): Use CCSmode instead of CCUmode.
6122
6123         * config/s390/s390.c (legitimate_la_operand_p): New.
6124         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
6125         * config/s390/s390.md (movsi): Convert load address patterns to
6126         arithmetic operations when necessary.
6127         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
6128         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
6129         (*do_la_reg_0): Don't use before reload.
6130
6131         * config/s390/s390.c (legitimize_address): Make more efficient
6132         use of two-register addressing mode.
6133
6134         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
6135         with -mno-backchain in some corner cases.
6136
6137         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
6138
6139 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
6140
6141         * reload.c (find_reloads): Mark new USE insns with QImode.
6142         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
6143         find_reloads_subreg_address): Likewise.
6144         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
6145         encountered.
6146         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
6147         CLOBBERs.
6148         (reload): Make sure there are no USEs with mode other than
6149         VOIDmode.  At the end, remove those marked with QImode.
6150
6151 2001-09-29  Per Bothner  <per@bothner.com>
6152
6153         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
6154         * Makefile.in (includedir):  Rename to local_includedir.
6155         (includedir):  Define as $(prefix)/include.
6156         * config.in (PREFIX_INCLUDE_DIR):  New variable.
6157         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
6158
6159 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
6160
6161         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
6162         storehps builtins.
6163         * doc/extend.texi (Vector Extensions): New node.
6164         * doc/invoke.texi (Machine Dependent Options): Add documentation for
6165         i386 -mmmx, -msse, -m3dnow.
6166
6167 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
6168
6169         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
6170
6171 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
6172
6173         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
6174
6175         * doc/invoke.texi (Optimize Options): Delete spurious @table.
6176
6177 2001-09-28  Richard Henderson  <rth@redhat.com>
6178
6179         * varasm.c (assemble_integer): Bound alignment check by
6180         BIGGEST_ALIGNMENT.
6181
6182         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
6183
6184 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6185
6186         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
6187
6188 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
6189
6190         Mostly from Graham Stott  <grahams@redhat.com>
6191         * c-common.c (type_for_mode): Add support for V2SFmode.
6192         * tree.c (build_common_tree_nodes_2): Likewise.
6193         * tree.h (enum tree_index, global_trees): Likewise.
6194         * config/i386/i386.c (x86_3dnow_a): New variable.
6195         (override_options): Support 3Dnow extensions.
6196         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
6197         Athlon's version of 3Dnow.
6198         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
6199         (ix86_expand_builtin): Handle them.
6200         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
6201         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
6202         TARGET_3DNOW_A): New macros.
6203         (TARGET_SWITCHES): Add 3Dnow switches.
6204         (VALID_MMX_REG_MODE_3DNOW): New macro.
6205         (VECTOR_MODE_SUPPORTED_P): Use it.
6206         (enum ix86_builtins): Add entries for 3Dnow builtins.
6207         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
6208         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
6209         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
6210         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
6211         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
6212         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
6213         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
6214         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
6215         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
6216         sfence_insn, prefetch): Make these available if TARGET_SSE or
6217         TARGET_3DNOW_A.
6218
6219 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
6220
6221         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
6222         ix86_va_start, ix86_build_va_list): Declare.
6223         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
6224         ix86_va_start, ix86_build_va_list): New global functions.
6225         * i386.md (sse_prologue_save_insn): New insn.
6226         (sse_prologue_save): New expander.
6227         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
6228         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
6229
6230 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
6231
6232         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
6233         Use size_t everywhere, make definitions consistent with
6234         prototypes.
6235
6236 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
6237
6238         * gcse.c (replace_store_insn): Use delete_insn.
6239         * loop.c (move_movables): Likewise; avoid delete_insn
6240         from clobbering notes moved elsewhere.
6241         (check_dbra_loop): Use delete_insn.
6242         * ssa.c (convert_from_ssa): Likewise.
6243         * cse.c (cse_insn): Use delete_insn.
6244
6245 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
6246
6247         * cpphash.h (struct cpp_buff): Make unsigned.
6248         (_cpp_get_buff): Take length of size_t.
6249         (_cpp_unaligned_alloc): New.
6250         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
6251         (struct cpp_reader): Remove ident_pool.  Add u_buff.
6252         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
6253         (cpp_destroy): Destroy u_buff, not ident_pool.
6254         * cpplex.c (parse_number, parse_string, save_comment,
6255         cpp_token_as_text): Update to use the unaligned buffer.
6256         (new_buff): Make unsigned.
6257         (_cpp_unaligned_alloc): New.
6258         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
6259         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
6260         Similarly.
6261         (collect_args): Make unsigned.
6262
6263 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
6264
6265         * cpplex.c (cpp_output_token): Use a putc loop for
6266         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
6267
6268         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
6269         * configure, config.in: Regenerate.
6270         * system.h: Replace fwrite and fprintf with their unlocked
6271         variants if available.
6272
6273 2001-09-27  Richard Henderson  <rth@redhat.com>
6274
6275         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
6276         in favour of .eh_frame.
6277
6278 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
6279
6280         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
6281         to macros.
6282         (LIBCALL_VALUE): Likewise.
6283
6284 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
6285
6286         * cpphash.h: Update comment.
6287         * cpplex.c: Update comments.
6288         (_cpp_can_paste): Remove.
6289         * cpplib.h (_cpp_can_paste): Remove.
6290         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
6291         lexer rather than _cpp_can_paste.
6292
6293 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
6294
6295         * doc/cppinternals.texi: Update.
6296
6297 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
6298
6299         * cpphash.h (struct cpp_pool): Remove locks and locked.
6300         (struct cpp_context): Add member buff.
6301         (struct cpp_reader): Remove member argument_pool.
6302         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
6303         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
6304         * cpplex.c (chunk_suitable): Remove pool argument.
6305         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
6306         (new_buff, _cpp_extend_buff): Update.
6307         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
6308         which buffer is returned.
6309         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
6310         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
6311         * cppmacro.c (lock_pools, unlock_pools): Remove.
6312         (push_ptoken_context): Take a _cpp_buff.
6313         (enter_macro_context): Pool locking removed.
6314         (replace_args): Use a _cpp_buff for the replacement list with
6315         arguments replaced.
6316         (push_token_context): Clear buff.
6317         (expand_arg): Use _cpp_pop_context.
6318         (_cpp_pop_context): Free a context's buffer, if any.
6319
6320 2001-09-26  DJ Delorie  <dj@redhat.com>
6321
6322         * c-typeck.c (digest_init): Check for sizeless arrays.
6323
6324 2001-09-26  Richard Henderson  <rth@redhat.com>
6325
6326         * optabs.c (init_one_libfunc): Create a dummy function type
6327         instead of using error_mark_node.
6328
6329 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
6330
6331         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
6332         _cpp_extend_buff, _cpp_free_buff): New.
6333         (struct cpp_reader): New member free_buffs.
6334         * cppinit.c (cpp_destroy): Free buffers.
6335         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
6336         _cpp_extend_buff, _cpp_free_buff): New.
6337         * cpplib.h (struct cpp_options): Remove unused member.
6338         * cppmacro.c (collect_args): New.  Combines the old parse_arg
6339         and parse_args.  Use _cpp_buff for memory allocation.
6340         (funlike_invocation_p, replace_args): Update.
6341
6342 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
6343
6344         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
6345
6346 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
6347
6348         * except.c (sjlj_mark_call_sites): Change address inside sequence.
6349
6350 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
6351
6352         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
6353         glibc.
6354
6355 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
6356             Jim Wilson  <wilson@redhat.com>
6357
6358         * doc/install.texi (Specific, ia64-*-linux): Document.
6359
6360 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
6361
6362         * Makefile.in (cfgrtl.o): Add.
6363         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
6364         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
6365         free_aux_for_edge): Declare.
6366         * cfg.c
6367         (HAVE_return): Undefine.
6368         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
6369         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
6370         free_aux_for_edge): New global functions.
6371         (first_delete_block): New static variable.
6372         (init_flow): Clear first_delete_block.
6373         (basic_block_for_insn, label_value_list, tail_recursion_label_list,
6374          can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
6375          try_redirect_by_replacing_jump, last_loop_beg_note,
6376          back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
6377          delete_insn, delete_insn_chain, create_basic_block_structure,
6378          create_basic_block, flow_delete_block, compute_bb_for_insn,
6379          free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
6380          set_block_for_new_insns, split_block, merge_blocks_nomove,
6381          block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
6382          redirect_edge_and_branch, force_nonfallthru_and_redirect,
6383          force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
6384          tidy_fallthru_edges, split_edge, insert_insn_on_edge,
6385          commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
6386          debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
6387          purge_all_dead_edges): Move to ....
6388         * cfgrtl.c: New file; .... Here.
6389
6390         * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
6391         (reroder_basic_block): Use alloc_aux_for_blocks.
6392         * predict.c (estimate_bb_frequencies): Likewise; use
6393         alloc_aux_for_edges.
6394         * profile.c (compute_branch_probabilities): Likewise.
6395         (branch_prob): Likewise.
6396         * reg-stack.c (reg_to_stack): Likewise.
6397
6398         * emit-rtl.c (emit_insns_after): Never return NULL.
6399
6400         * basic-block.h (set_block_for_new_insns): Delete.
6401         * cfgrtl.c (set_block_for_new_insns): Delete.
6402
6403         * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
6404         calls when crossjumping.
6405
6406         * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
6407         * unroll.c (copy_loop_body): Use delete_insn.
6408
6409         * final.c (final, final_scan_insn): Use delete_insn/delete_note.
6410         * function.c (fixup_var_refs_insn, fixup_var_refs_1,
6411         keep_stack_depressed): Likewise.
6412         * gcse.c (cprop_cc0_jump): Likewise.
6413         * local-alloc.c (update_equiv_regs): Likewise.
6414         * loop.c (scan_loop, loop_delete_insns): Likewise.
6415         * regmove.c (try_auto_increment, fixup_match_1): Likewise.
6416         * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
6417         delete_output_reload, delete_address_reloads_1,
6418         reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
6419         Likewise.
6420         * sibcall.c (replace_call_placeholder): Likewise.
6421         * cse.c (cse_insn): Likewise.
6422
6423 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
6424
6425         From Graham Stott  <grahams@redhat.com>
6426         (def_builtin): Only define builtins appropriate for target_flags.  All
6427         callers changed.
6428         (builtin_decsription): Add new field mask which is used to determine
6429         when to define the builtin via the macro def_builtin.
6430
6431         (bdesc_comi): Initialise new mask fields.
6432         (bdesc_2srg): Likewise.
6433         (bdesc_1arg): Likewise.
6434
6435         * config/i386/i386.c (ix86_init_builtins): Correct return type
6436         building v4hi_ftype_v4hi_int_int tree node.
6437         (ix86_expand_sse_comi): Fix typo swapping operands.
6438         Don't swap comparision condition, it is already swapped.
6439         (ix86_expand_sse_compare): Before swapping operands
6440         move operand 1 into new rtx and not the target rtx.
6441         Don't swap comparison condition, it is already swapped.
6442         Always check whether we need to create a new TARGET.
6443
6444         * config/i386/i386.md: (sse_comi) Fix typos.
6445         (sse_ucomi): Likewise.
6446         (cvtss2si): Fix operand 0 contraint.
6447         (cvttss2si): Likewise.
6448         (sse_unpckhps): Fix mode for operand 2.
6449         (sse_unpcklps): Likewise.
6450
6451 2001-09-25  Graham Stott  <grahams@redhat.com>
6452
6453         * sibcall.c (skip_copy_to_return_value): Tighten return value
6454         copy check.
6455
6456 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
6457
6458         * rs6000.c (lwa_operand): Address must be word aligned.
6459
6460 Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6461
6462         * tree.c (type_hash_marked_p): Consider as marked if debug symbol
6463         number has been set.
6464         (type_hash_mark): Mark type itself.
6465
6466 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
6467
6468         * c-lex.c (cb_def_pragma): Update.
6469         (c_lex): Update, and skip padding.
6470         * cppexp.c (lex, parse_defined): Update, remove unused variable.
6471         * cpphash.h (struct toklist): Delete.
6472         (union utoken): New.
6473         (struct cpp_context): Update.
6474         (struct cpp_reader): New members eof, avoid_paste.
6475         (_cpp_temp_token): New.
6476         * cppinit.c (cpp_create_reader): Update.
6477         * cpplex.c (_cpp_temp_token): New.
6478         (_cpp_lex_direct): Add PREV_WHITE when parsing args.
6479         (cpp_output_token): Don't print leading whitespace.
6480         (cpp_output_line): Update.
6481         * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
6482         do_include_common, do_line, do_ident, do_pragma,
6483         do_pragma_dependency, _cpp_do__Pragma, parse_answer,
6484         parse_assertion): Update.
6485         (get_token_no_padding): New.
6486         * cpplib.h (CPP_PADDING): New.
6487         (AVOID_LPASTE): Delete.
6488         (struct cpp_token): New union member source.
6489         (cpp_get_token): Update.
6490         * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
6491         (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
6492         replace_args, quote_string, stringify_arg, parse_arg, next_context,
6493         enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
6494         _cpp_backup_tokens, _cpp_create_definition): Update.
6495         (push_arg_context): Delete.
6496         (padding_token, push_token_context, push_ptoken_context): New.
6497         (make_string_token, make_number_token): Update, rename.
6498         (cpp_get_token): Update to handle tokens as pointers to const,
6499         and insert padding appropriately.
6500         * cppmain.c (struct printer): New member prev.
6501         (check_multiline_token): Constify.
6502         (do_preprocessing, cb_line_change): Update.
6503         (scan_translation_unit): Update to handle spacing.
6504         * scan-decls.c (get_a_token): New.
6505         (skip_to_closing_brace, scan_decls): Update.
6506         * fix-header.c (read_scan_file): Update.
6507
6508         * doc/cpp.texi: Update.
6509
6510 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6511
6512         * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
6513         leak by passing malloc'ed pointer to reconcat, not concat.
6514
6515 2001-09-24  DJ Delorie  <dj@redhat.com>
6516
6517         * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
6518
6519 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
6520
6521         * flow.c (delete_dead_jumptables): Delete jumptable if the only
6522         reference is from the literal pool.
6523
6524 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
6525
6526         * doc/install.texi (Final install): Request additional information
6527         in mail about successful builds.
6528
6529 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6530
6531         * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
6532         initial value of return pointer register instead of value in frame-20.
6533         Revise comments.
6534
6535 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6536
6537         * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
6538         (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
6539         the libcall if there isn't a referenced identifier for the symbol.
6540
6541 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6542
6543         * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
6544         non 64-bit machines.  Use these as a plabel for the trampoline.
6545         (TRAMPOLINE_SIZE): Adjust size for new words.
6546         (INITIALIZE_TRAMPOLINE): Initialize new words.
6547         (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
6548         pointer to the plabel in the trampoline.
6549
6550 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6551
6552         * pa.c (function_arg): Pass floating arguments in both general and
6553         floating registers in indirect (dynamic) calls when generating code
6554         for the 32 bit ABI and the HP assembler.
6555
6556 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6557
6558         * doc/install.texi: Markup fixes.
6559         Use Solaris 2, SunOS 4 as appropriate.
6560         (Specific, *-*-solaris2*): Explain this.
6561         Unconditionally warn against /usr/ucb tools.
6562         Remove Sun as warning, obsolete.
6563         Move X11 header bug workaround here, update patches.
6564         (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
6565         (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
6566
6567 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
6568
6569         * errors.h (warning, error, fatal, internal_error): Don't mark
6570         with ATTRIBUTE_PRINTF_n.
6571         * toplev.h (internal_error, fatal_io_error, warning, error,
6572         pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
6573         error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
6574         Likewise.
6575
6576 Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6577
6578         * function.c (pop_function_context_from): var_refs_queue
6579         and temp slots now in GC memory.
6580         (mark_function_status, free_after_compilation): Likewise;
6581         also struct function now in GC memory.
6582         (assign_stack_temp_for_type): struct temp_slot now in GC memory.
6583         (combine_temp_slots): Likewise.
6584         (schedule_fixup_var_refs): var_refs_queue now in GC memory.
6585         (prepare_function_start): Use GC memory for struct function.
6586         (mark_temp_slot): Deleted.
6587         (gcc_mark_struct_function): struct function now in GC memory.
6588
6589         * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
6590         code for division, not modulus.
6591
6592         * rtl.def (MEM): Remove obsolete part of comment.
6593
6594 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
6595
6596         * c-format.c (init_function_format_info): Check __builtin_printf
6597         and __builtin_fprintf even if -ffreestanding.  Check C99 functions
6598         in gnu89 mode.
6599
6600 Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6601
6602         * c-common.c (format_attribute_table): Remove decl.
6603         * tree.h (format_attribute_table, lang_attribute_table): New decls.
6604         (lang_attribute_common): Likewise.
6605
6606         * function.c (fix_lexical_address): Use set_mem_alias_set.
6607         (expand_function_start): Likewise.
6608         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
6609
6610         * varasm.c (output_constant): Fix unused variable warning.
6611
6612         * attribs.c: New file, from c-common.c.
6613         (attribute_tables): Now four elements.
6614         (format_attribute_table, lang_attribute_common): New variables.
6615         (init_attributes): Reflect above changes.
6616         (handle_mode_attribute): Delete check for wider than uintmax.
6617         * c-common.c: Delete parts moved to attribs.c.
6618         (enum attrs): Deleted; unused.
6619         (c_format_attribute_table): New variable.
6620         (c_common_lang_init): Initialize format_attribute_table with it.
6621         * c-common.h (decl_attributes): Remove decl.
6622         * tree.h (decl_attribute): Move it to here.
6623         * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
6624         (attribs.o): New rule.
6625
6626 2001-09-22  Andreas Jaeger  <aj@suse.de>
6627
6628         * builtins.c (c_getstr): Remove unused variable.
6629
6630 2001-09-21  Richard Henderson  <rth@redhat.com>
6631
6632         * reload1.c (reload): Use delete_insn instead of splatting
6633         NOTE_INSN_DELETED.
6634
6635 2001-09-21  Richard Henderson  <rth@redhat.com>
6636
6637         * reload.c (push_secondary_reload): Don't check for "=" in output
6638         constraint after ""->ALL_REGS check.
6639
6640 2001-09-21  Richard Henderson  <rth@redhat.com>
6641
6642         * predict.c (expected_value_to_br_prob): Use pc_set.
6643
6644         * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
6645         ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
6646
6647 2001-09-21  Richard Henderson  <rth@redhat.com>
6648
6649         * rtl.h (LCT_RETURNS_TWICE): New.
6650         * calls.c (emit_call_1): Set current_function_calls_setjmp for
6651         ECF_RETURNS_TWICE.
6652         (emit_library_call_value_1): Map LCT_RETURNS_TWICE
6653         to ECF_RETURNS_TWICE.
6654         * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
6655         call to setjmp.
6656
6657         * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
6658
6659         * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
6660         (JMP_BUF_SIZE): New.
6661
6662 2001-09-21  Richard Henderson  <rth@redhat.com>
6663
6664         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
6665         to R8_REGS.
6666
6667 2001-09-21  Richard Henderson  <rth@redhat.com>
6668
6669         * tree.def (FDESC_EXPR): New.
6670         * expr.c (expand_expr): Handle it.
6671         * varasm.c (initializer_constant_valid_p): Likewise.
6672         (output_constant): Likewise.
6673         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
6674         * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
6675         (ASM_OUTPUT_FDESC): New.
6676         * doc/tm.texi: Document the new macros.
6677
6678 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
6679
6680         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
6681         ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
6682         once merging is complete.
6683
6684 Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6685
6686         * integrate.c (allocate_initial_values): Eliminate unused arg warning.
6687
6688 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
6689
6690         * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
6691         that would be invalid after a merge.
6692
6693 Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
6694
6695         * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
6696         * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
6697         remove some labels.
6698         (flow_delete_insn): This one.
6699         (delete_insn_chain): Rename from ...; do not care labels.
6700         (flow_delete_insn_chain): ... this one.
6701         (flow_delete_block): Remove the insns one BB has been expunged.
6702         (merge_blocks_nomove): Likewise.
6703         (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
6704         updating BB boundaries.
6705         (tidy_fallthru_edge): Likewise.
6706         (commit_one_edge_insertion): Likewise.
6707         * cfgbuild.c (find_basic_block): Likewise.
6708         (find_basic_blocks_1): Likewise.
6709         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
6710         (try_crossjump_to_edge): Likewise.
6711         (try_optimize_cfg): Likewise.
6712         * cse.c (delete_trivially_dead_insns): Likewise.
6713         * df.c (df_insn_delete): Likewise.
6714         * doloop.c (doloop_modify): Use delete_related_insns.
6715         * emit-rtl.c (try_split): Likewise.
6716         (remove_insn): Update BB boundaries.
6717         * expect.c (connect_post_landing_pads): Use delete_related_insns.
6718         * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
6719         updating BB boundaries.
6720         (propagate_block_delete_insn): Likewise.
6721         (propagate_block_delete_libcall): Likewise.
6722         * function.c (delete_handlers): Use delete_related_insns.
6723         (thread_prologue_and_epilogue_insns): Likewise.
6724         * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
6725         * genpeep.c (gen_peephole): Use delete_related_insns.
6726         * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
6727         BB boundaries.
6728         (find_cond_trap): Likewise.
6729         * integrate.c (save_for_inline): Use delete_related_insns.
6730         (copy_insn_list): Likewise.
6731         * jump.c (pruge_linie_number_notes): Likewise.
6732         (duplicate_loop_exit_test): Likewise.
6733         (delete_computation): Likewise.
6734         (delete_related_insn): Rename from ...; use delete_insn
6735         (delete_insn): ... this one.
6736         (redirect_jump): Use delete_related_insns.
6737         * loop.c (scan_loop): Likewise.
6738         (move_movables): Likewise.
6739         (find_and_verify_loops): Likewise.
6740         (check_dbra_loop): Likewise.
6741         * recog.c (peephole2_optimize): Likewise.
6742         * reg-stack.c (delete_insn_for_stacker): Remove.
6743         (move_for_stack_reg): Use delete_insn.
6744         * regmove.c (combine_stack_adjustments_for_block): Likewise.
6745         * reload1.c (delete_address_reloads): Use delete_related_insns.
6746         (fixup_abnormal_edges): Use delete_insn.
6747         * recog.c (emit_delay_sequence): Use delete_related_insns.
6748         (delete_from-delay_slot): Likewise.
6749         (delete_scheduled_jump): likewise.
6750         (optimize_skip): Likewise.
6751         (try_merge_delay_insns): Likewise.
6752         (full_simple_delay_slots): Likewise.
6753         (fill_slots_from_thread): Likewise.
6754         (relax_delay_slots): Likewise.
6755         (make_return_insns): Likewise.
6756         (dbr_schedule): Likewise.
6757         * rtl.h (delete_insn): Rename to delete_related_insns.
6758         (delete_insn, delete_insn_chain): New prototypes.
6759         * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
6760         by df_insn_delete already.
6761         * ssa-dce.c (delete_insn_bb): Use delete_insn.
6762         * ssa.c (convert_from_ssa): Use delete_related_insns.
6763         * unroll.c (unroll_loop): Likewise.
6764         (calculate_giv_inc): Likewise.
6765         (copy_loop_body): Likewise.
6766
6767         * i386-protos.h (ix86_libcall_value, ix86_function_value,
6768         ix86_function_arg_regno_p, ix86_function_arg_boundary,
6769         ix86_return_in_memory, ix86_function_value): Declare.
6770         * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
6771         new static valurables.
6772         (x86_64_reg_class): New enum
6773         (x86_64_reg_class_name): New array.
6774         (classify_argument, examine_argument, construct_container,
6775          merge_classes): New static functions.
6776         (optimization_options): Enable flag_omit_frame_pointer and disable
6777         flag_pcc_struct_return on 64bit.
6778         (ix86_libcall_value, ix86_function_value,
6779         ix86_function_arg_regno_p, ix86_function_arg_boundary,
6780         ix86_return_in_memory, ix86_function_value): New global functions.
6781         (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
6782         (function_arg_advance): Handle x86_64 passing conventions.
6783         (function_arg): Likewise.
6784         * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
6785         (RETURN_IN_MEMORY): Move offline.
6786         (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
6787         (FUNCTION_VALUE_REGNO_P): New macro.
6788         (FUNCTION_ARG_REGNO_P): Move offline.
6789         (struct ix86_args): Add maybe_vaarg.
6790         * next.h (FUNCTION_VALUE_REGNO_P): Delete.
6791         * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
6792
6793 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
6794
6795         * s390.md: Changed attributes for scheduling.
6796         * s390.c: (s390_adjust_cost, s390_adjust_priority)
6797         Changed scheduling
6798
6799 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
6800
6801         Table-driven attributes.
6802         * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
6803         config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
6804         config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
6805         config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
6806         config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
6807         config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
6808         doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
6809         tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
6810         * tree.h (struct tree_decl): Change machine_attributes to
6811         attributes.
6812         * doc/c-tree.texi: Document that all attributes are now attached
6813         to decls and types.
6814         * c-common.c (add_attribute, attrtab, attrtab_idx,
6815         default_valid_lang_attribute, valid_lang_attribute): Remove.
6816         (attribute_tables, attributes_initialized,
6817         c_common_attribute_table, default_lang_attribute_table): New
6818         variables.
6819         (handle_packed_attribute, handle_nocommon_attribute,
6820         handle_common_attribute, handle_noreturn_attribute,
6821         handle_unused_attribute, handle_const_attribute,
6822         handle_transparent_union_attribute, handle_constructor_attribute,
6823         handle_destructor_attribute, handle_mode_attribute,
6824         handle_section_attribute, handle_aligned_attribute,
6825         handle_weak_attribute, handle_alias_attribute,
6826         handle_no_instrument_function_attribute,
6827         handle_no_check_memory_usage_attribute, handle_malloc_attribute,
6828         handle_no_limit_stack_attribute, handle_pure_attribute): New
6829         functions.
6830         (init_attributes, decl_attributes): Rewrite to implement
6831         table-driven attributes.
6832         * c-common.h (enum attribute_flags): Move to tree.h.
6833         * c-format.c (decl_handle_format_attribute,
6834         decl_handle_format_arg_attribute): Rename to
6835         handle_format_attribute and handle_format_arg_attribute.  Update
6836         for table-driven attributes.
6837         * c-common.h (decl_handle_format_attribute,
6838         decl_handle_format_arg_attribute): Remove prototypes.
6839         (handle_format_attribute, handle_format_arg_attribute): Add
6840         prototypes.
6841         * c-decl.c (grokdeclarator): Handle attributes nested inside
6842         declarators.
6843         * c-parse.in (setattrs, maybe_setattrs): Remove.
6844         (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
6845         Update to handle nested attributes properly.
6846         (maybe_resetattrs, after_type_declarator,
6847         parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
6848         absdcl1_ea, direct_absdcl1): Update to handle nested attributes
6849         properly.
6850         (make_pointer_declarator): Update to handle nested attributes
6851         properly.
6852         * doc/extend.texi: Update documentation of limits of attributes
6853         syntax.  Warn about problems with attribute semantics in C++.
6854         * target.h (struct target): Remove valid_decl_attribute and
6855         valid_type_attribute.  Add attribute_table and
6856         function_attribute_inlinable_p.
6857         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
6858         TARGET_VALID_TYPE_ATTRIBUTE): Remove.
6859         (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
6860         Add.
6861         (TARGET_INITIALIZER): Update.
6862         * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
6863         definition.
6864         (function_attribute_inlinable_p): New function.  Check for the
6865         presence of any machine attributes before using
6866         targetm.function_attribute_inlinable_p.
6867         (function_cannot_inline_p): Update.
6868         * Makefile.in (integrate.o): Update dependencies.
6869         * doc/tm.texi: Update documentation of target attributes and
6870         example definition of TARGET_VALID_TYPE_ATTRIBUTE.
6871         * tree.c (default_valid_attribute_p, valid_machine_attribute):
6872         Remove.
6873         (default_target_attribute_table,
6874         default_function_attribute_inlinable_p): New.
6875         (lookup_attribute): Update comment to clarify handling of multiple
6876         attributes with the same name.
6877         (merge_attributes, attribute_list_contained): Allow multiple
6878         attributes with the same name but different arguments to appear in
6879         the same attribute list.
6880         * tree.h (default_valid_attribute_p): Remove prototype.
6881         (struct attribute_spec): New.
6882         (default_target_attribute_table): Declare.
6883         (enum attribute_flags): Move from c-common.h.  Add
6884         ATTR_FLAG_TYPE_IN_PLACE.
6885         (default_function_attribute_inlinable_p): Declare.
6886         * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
6887         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6888         (TARGET_ATTRIBUTE_TABLE): Define.
6889         (vms_attribute_table): New.
6890         * config/arc/arc.c (arc_valid_decl_attribute): Remove.
6891         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6892         (TARGET_ATTRIBUTE_TABLE): Define.
6893         (arc_attribute_table, arc_handle_interrupt_attribute): New.
6894         * config/arm/arm.c (arm_valid_type_attribute_p,
6895         arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
6896         Remove.
6897         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
6898         define.
6899         (TARGET_ATTRIBUTE_TABLE): Define.
6900         (arm_attribute_table, arm_handle_fndecl_attribute,
6901         arm_handle_isr_attribute): New.
6902         * config/avr/avr.c (avr_valid_type_attribute,
6903         avr_valid_decl_attribute): Remove.
6904         (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
6905         define.
6906         (TARGET_ATTRIBUTE_TABLE): Define.
6907         (avr_attribute_table, avr_handle_progmem_attribute,
6908         avr_handle_fndecl_attribute): New.
6909         * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
6910         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6911         (TARGET_ATTRIBUTE_TABLE): Define.
6912         (c4x_attribute_table, c4x_handle_fntype_attribute): New.
6913         * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
6914         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6915         (TARGET_ATTRIBUTE_TABLE): Define.
6916         (h8300_attribute_table, h8300_handle_fndecl_attribute,
6917         h8300_handle_eightbit_data_attribute,
6918         h8300_handle_tiny_data_attribute): New.
6919         * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
6920         i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
6921         Remove prototypes.
6922         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
6923         declarations.
6924         * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
6925         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
6926         define.
6927         (TARGET_ATTRIBUTE_TABLE): Define.
6928         (ix86_attribute_table, ix86_handle_cdecl_attribute,
6929         ix86_handle_regparm_attribute): New.
6930         * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
6931         i386_pe_valid_type_attribute_p): Remove.
6932         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
6933         * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
6934         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6935         (TARGET_ATTRIBUTE_TABLE): Define.
6936         (ia64_attribute_table): New.
6937         * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
6938         interrupt_ident2, model_ident1, model_ident2): Remove.
6939         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6940         (TARGET_ATTRIBUTE_TABLE): Define.
6941         (init_idents): Update.
6942         (m32r_attribute_table, m32r_handle_model_attribute): New.
6943         * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
6944         Remove.
6945         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6946         (TARGET_ATTRIBUTE_TABLE): Define.
6947         (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
6948         * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
6949         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6950         (TARGET_ATTRIBUTE_TABLE): Define.
6951         (mcore_attribute_table, mcore_handle_naked_attribute): New.
6952         * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
6953         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6954         (TARGET_ATTRIBUTE_TABLE): Define.
6955         (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
6956         * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
6957         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6958         (TARGET_ATTRIBUTE_TABLE): Define.
6959         (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
6960         * config/sh/sh.c (sh_valid_decl_attribute): Remove.
6961         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6962         (TARGET_ATTRIBUTE_TABLE): Define.
6963         (sh_attribute_table, sh_handle_interrupt_handler_attribute,
6964         sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
6965         New.
6966         * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
6967         Remove.
6968         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
6969         (TARGET_ATTRIBUTE_TABLE): Define.
6970         (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
6971         New.
6972         * config/v850/v850.c (v850_valid_decl_attribute): Remove.
6973         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6974         (TARGET_ATTRIBUTE_TABLE): Define.
6975         (v850_attribute_table, v850_handle_interrupt_attribute,
6976         v850_handle_data_area_attribute): New.
6977         * config/v850/v850-c.c (mark_current_function_as_interrupt):
6978         Return void.  Call decl_attributes instead of
6979         valid_machine_attribute.
6980
6981 Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
6982
6983         * sh-protos.h (sh_pr_n_sets): Declare.
6984         * sh.c (calc_live_regs): If the initial value for PR has been copied,
6985         look at the copy to determine if PR needs to be saved.
6986         sh_pr_n_sets: New function.
6987         * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
6988         (ALLOCATE_INITIAL_VALUE): Define.
6989
6990         * sh.c (initial_elimination_offset):
6991         Fix RETURN_ADDRESS_POINTER_REGNUM case.
6992
6993 Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
6994
6995         * integrate.c (allocate_initial_values): New function.
6996         * integrate.h (allocate_initial_values): Declare.
6997         * local-alloc.c (local_alloc): Move call to allocate_reg_info from
6998         here...
6999         * reload1.c (reload): And initialization of reg_equiv_memory_loc
7000         from here...
7001         * toplev.c (rest_of_compilation): To here.
7002         Call allocate_initial_values.
7003         * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
7004
7005 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7006
7007         * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
7008
7009 2001-09-20  DJ Delorie  <dj@redhat.com>
7010
7011         * c-typeck.c (really_start_incremental_init): Discriminate
7012         between zero-length arrays and flexible arrays.
7013         (push_init_level): Detect zero-length arrays and handle them
7014         like fixed-sized arrays.
7015         * expr.c (store_constructor): Handle zero-length arrays and
7016         flexible arrays correctly.
7017         * doc/extend.texi: Update zero-length array notes.
7018
7019 2001-09-20  Jim Wilson  <wilson@redhat.com>
7020
7021         * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
7022         (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
7023         for issue port conflicts.
7024         (cycle_end_fill_slots): TYPE_L instructions take two slots.
7025
7026 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
7027
7028         * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
7029         on ia64.
7030
7031 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7032
7033         * fold-const.c (hashtab.h): Include.
7034         (int_const_binop): Remove FORSIZE arg and compute from type; all
7035         callers changed.
7036         Call size_int_type_wide for all single-word constants.
7037         (size_htab_hash, size_htab_eq): New functions.
7038         (size_int_type_wide): Rework to use hash table.
7039         * ggc-common.c (hashtab.h): Include.
7040         (struct d_htab_root): New struct.
7041         (d_htab_roots): New variable.
7042         (ggc_add_deletable_htab, ggc_htab_delete): New functions
7043         (ggc_mark_roots): Handle deletable htabs.
7044         * ggc-page.c (ggc_marked_p): New function.
7045         * ggc-simple.c (ggc_marked_p): Likewise.
7046         * ggc.h: Reformatting throughout.
7047         (ggc_marked_p, ggc_add_deletable_htab): New declarations.
7048         * tree.c (init_obstacks): Make type_hash_table a deletable root.
7049         (type_hash_add): Allocate struct type_hash from GC memory.
7050         (mark_hash_entry, mark_type_hash): Deleted.
7051         (type_hash_marked_p, type_hash_mark): New functions.
7052         * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
7053
7054 Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
7055
7056         * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
7057         than SImode.
7058
7059 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7060
7061         * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
7062         array-too-large test for signed sizetype.
7063
7064 Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
7065
7066         * i386.md (indirect_jump): Allow Pmode operand.
7067         (tablejump): LIkewise; perform expansion to 64bit mode.
7068         * i386.c (symbolic_operand): Allow 64bit PIC references.
7069         (pic_symbolic_operand): Likewise.
7070         (ix86_find_base_term): Strip the 64bit PIC references.
7071         (legitimate_pic_address_disp_p): Handle 64bit PIC.
7072         (legitimize_pic_address): Likewise.
7073         (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
7074         * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
7075
7076 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
7077
7078         * stringpool.c (get_identifier_with_length): New function.
7079         * tree.h (get_identifier_with_length): New prototype.
7080
7081 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
7082             David Edelsohn  <edelsohn@gnu.org>
7083
7084         Revert:
7085         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
7086         already sign-extended.
7087
7088         * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
7089         * config/rs6000/rs6000.c (logical_operand): Always compare op as
7090         HOST_WIDE_INT.
7091         (rs6000_emit_set_long_const): Avoid unnecessary shift.
7092         (output_profile_hook): Declare label_name const.
7093         * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
7094         to match constraints.
7095
7096 2001-09-19  Stan Shebs  <shebs@apple.com>
7097
7098         * alias.c: Fix typos in comments.
7099         * sched-rgn.c (init_ready_list): Ditto.
7100         * unwind-dw2.c (uw_frame_state_for): Ditto.
7101         * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
7102         * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
7103         * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
7104
7105 2001-09-19  Richard Henderson  <rth@redhat.com>
7106
7107         * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
7108         to the exit block.
7109         * Makefile.in (cfg.o): Depend on TM_P_H.
7110
7111 2001-09-19  Richard Henderson  <rth@redhat.com>
7112
7113         * config/alpha/alpha.c (local_symbol_p): Split out from ...
7114         (local_symbolic_operand): ... here.
7115         (small_symbolic_operand): Check mode.
7116         (global_symbolic_operand): New.
7117         (input_operand): Reject symbolics if explicit relocs.
7118         (call_operand): Tidy.
7119         (alpha_legitimize_address): Use movdi_er_high_g.
7120         (alpha_expand_mov): Likewise.
7121         * config/alpha/alpha-protos.h: Update.
7122         * config/alpha/alpha.h (PREDICATE_CODES): Update.
7123         * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
7124         (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
7125         (UNSPECV_LDGP2): Remove.
7126         (all call patterns): Use 's' not 'i' for symbolic constraint.
7127         (call_osf call_value_osf): Use call_operand.
7128         (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
7129         (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
7130         (prologue_ldgp_1_er): Remove.
7131         (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
7132         (builtin_setjmp_receiver_er patterns): Use them.
7133         (exception_receiver_er): Likewise.
7134
7135 2001-09-19  Richard Henderson  <rth@redhat.com>
7136
7137         * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
7138
7139         * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
7140         and NON_LOCAL_GOTO notes.
7141         * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
7142         copy over CALL_INSN_FUNCTION_USAGE.
7143
7144 2001-09-18  Catherine Moore  <clm@redhat.com>
7145
7146         * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
7147         Define as 0.
7148
7149 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
7150
7151         * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
7152         new-style tm_file specification.  Specify correct tm_p_file,
7153         md_file, and out_file for s390x.
7154
7155         * config/s390/linux.h, linux64.h:  Don't include other target
7156         macro header files.  Now handled via tm_file.
7157
7158         * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
7159         TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
7160         are defined before use.
7161
7162 Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
7163
7164         * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
7165         code generation only for Gnu assembler.
7166
7167 2001-09-18  Catherine Moore  <clm@redhat.com>
7168
7169         * config/stormy16 (LIB_SPEC): Remove -lnosys.
7170
7171 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
7172
7173         * config/mips/mips.c (mips_frame_set): New.
7174         (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
7175         a parallel frame-related expression with a set for each register.
7176
7177 2001-09-18  Philip Blundell  <philb@gnu.org>
7178
7179         * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
7180         header files.
7181
7182 2001-09-17  Dale Johannesen  <dalej@apple.com>
7183
7184         * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
7185         * config/rs6000/aix.h (FIXED_R2): Define.
7186         * config/rs6000/darwin.h (FIXED_R2): Define.
7187         * config/rs6000/sysv4.h (FIXED_R2): Define.
7188
7189 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
7190
7191         * except.c (dw2_build_landing_pads): New local
7192         clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
7193         barrier after clobbers.  Fixes c++/4012.
7194
7195 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7196
7197         * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
7198
7199 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
7200
7201         * dostage2, dostage3, listing, make-l2.com, makefile.vms,
7202         patch-apollo-includes, vmsconfig.com: Remove obsolete files.
7203
7204 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7205
7206         * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
7207         alloca/strcpy.
7208
7209 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
7210
7211         * cpphash.h (_cpp_lex_direct): New.
7212         * cpplex.c (_cpp_lex_token): Update.
7213         (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
7214         and increment that pointer.
7215         * cppmacro.c (alloc_expansion_token): New.
7216         (lex_expansion_token): Lex macro expansion directly into
7217         macro storage.
7218
7219 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
7220
7221         * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
7222
7223 Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
7224
7225         * basic-block.h (free_bb_for_insn): Declare.
7226         * bb-reorder.c (label_for_bb): Use block_label.
7227         (emit_jump_to_block_after): Remove.
7228         (insert_intra_1): Do not update block_for_insn.
7229         (insert_inter_bb_scope_notes): Likewise; update bb->end
7230         * cfg.c (free_bb_for_insn): New.
7231         (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
7232         (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
7233         (commit_one_edge_insertion): Likewise.
7234         (commit_one_edge_insertion): Do not update BB boundary.
7235         (commit_edge_insertions): Do not call compute_bb_for_insn.
7236         * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
7237         * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
7238         (merge_blocks_move_successor_nojumps): Likewise.
7239         (try_crossjump_to_edge): Do not update block_for_insn.
7240         * combine.c (combine_instructions): Remove compute_bb_for_insn call.
7241         * df.c (df_pattern_emit_later): Do not update BB boundary.
7242         (df_jump_pattern_emit_after): Likewise.
7243         (df_insn_move_before): Use emit_insn_before.
7244         * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
7245          properly.
7246         (add_insn_after, add_insn_before, emit_insns_after): Update BB
7247         boundaries and basic_block_for_insn.
7248         (reorder_insns_nobb): Rename from reorder_insns.
7249         (reorder_insns): New.
7250         (emit_block_insn_before, emit_block_insn_after): Kill.
7251         * flow.c (check_function_return_warnings): Do not call
7252         compute_bb_for_insn; Do not free basic_block_for_insn.
7253         (attempt_auto_inc): Do not update basic_block_for_insn.
7254         * function.c (emit_return_into_block): Likewise;
7255         do not update BB boundaries.
7256         * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
7257         (insert_insn_end_bb): Use emit_insn_before; Likewise.
7258         (pre_insert_copy_insn): Likewise.
7259         (update_ld_motion_notes): Likewise.
7260         (insert_insn_start_bb): Likewise.
7261         (replace_store_insn): Likewise.
7262         * ifcvt.c (noce_process_if_block): Likewise.
7263         (if_convert): Do not call compute_bb_for_insn.
7264         * lcm.c (optimize_mode_switching): Do not update BB boundaries.
7265         Use emit_insn_before and emit_insn_after.
7266         * recog.c (split_all_insns): Do not update BB boundaries;
7267         Do not call compute_bb_for_insn.
7268         (peephole2_optimize): Do not update BB boundaries.
7269         * reg-stack.c (emit_pop_insn): Use emit_insn_after and
7270         emit_insn_before.
7271         (emit_swap_insn): Likewise.
7272         (convert_regs_1): Likewise.
7273         * reload1.c (reload): Call compute_bb_for_insn.
7274         * rtl.h (reorder_insns_nobb): Declare.
7275         * ssa.c (rename_equivalent_regs): Use emit_insn_before.
7276         * toplev.c (rest_of_compilation): Call free_bb_for_insn
7277         at places CFG is invalidated; do not call compute_bb_for_insn.
7278
7279         * cfg.c (expunge_block): Invalidate BB structure.
7280
7281         * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
7282         array.
7283
7284         * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
7285
7286 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
7287
7288         * cpphash.h (_cpp_lex_token): Update prototype.
7289         * cpplex.c (_cpp_lex_token): New prototype.
7290         * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
7291         lex_macro_node, read_flag, do_pragma_poison): Update.
7292         * cppmacro.c (cpp_get_token, parse_params,
7293         lex_expansion_token): Update.
7294
7295 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
7296
7297         * cppmain.c (scan_translation_unit): Don't worry about
7298         putting a space after hashes.
7299         * cpplib.c (directive_diagnostics): New.
7300         (_cpp_handle_directive): Update to use directive_diagnostics.
7301         (run_directive): Don't toggle prevent_expansion.
7302         (do_line): Backup in case of the line extension.
7303         * cpplib.h (cpp_lexer_pos): Remove.
7304         * cppmacro.c (_cpp_create_definition): Precede a leading #
7305         with whitespace.
7306
7307 2001-09-15  Richard Henderson  <rth@redhat.com>
7308
7309         * c-typeck.c (comptypes): Handle zero-length arrays properly.
7310
7311 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
7312
7313         * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
7314
7315 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
7316
7317         PR preprocessor/3571
7318         * tradcpp.c (handle_directive): Skip non-vertical space.
7319
7320 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
7321
7322         * cppmain.c (setup_callbacks): Set line callback only
7323         if outputting preprocessed source.
7324
7325 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7326
7327         * collect2.c (main): Const-ification.
7328         * gcc.c (translate_options, process_command): Use xstrdup in
7329         lieu of xmalloc/strcpy.
7330         (main): Use concat in lieu of xmalloc/strcpy/strcat.
7331
7332 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
7333
7334         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
7335         example.
7336
7337 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
7338
7339         * scan-decls.c (scan_decls): Fix typo.
7340
7341 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
7342
7343         * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
7344         Split mlstring_pos into mls_line and mls_col.
7345         * cppinit.c (cpp_create_reader): Initialize line to 1.
7346         (cpp_destroy): Free tokenruns.
7347         (push_include): Don't update lexer_pos.
7348         * cpplex.c (unterminated, parse_string): Update.
7349         (lex_token): Don't update lexer_pos, update.
7350         * cpplib.c (if_stack): Save line instead of line + col.
7351         (start_directive, _cpp_do__Pragma, do_else, do_elif,
7352         push_conditional, _cpp_pop_buffer): Update.
7353         * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
7354         (_cpp_create_definition): Update.
7355
7356 2001-09-15  Eric Christopher  <echristo@redhat.com>
7357
7358         * config/mips/abi64.h: Add support for MEABI.
7359
7360 2001-09-15  Eric Christopher  <echristo@redhat.com>
7361
7362         * config/mips/mips.md: Add unspec #2.
7363         (reload_indi): Use.
7364         (reload_outdi): Ditto.
7365         (reload_outsi): Ditto.
7366         (HILO_delay): New.
7367
7368 2001-09-15  Eric Christopher  <echristo@redhat.com>
7369             Jason Eckhardt  <jle@redhat.com>
7370
7371         * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
7372         * config/mips/isa32-linux.h: New file.
7373         * config/mips/isa3264.h: Ditto.
7374         * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
7375         * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
7376         (output_block_mode): Support MEABI.
7377         (function_arg): Ditto. Fix floating point arg passing.
7378         (mips_va_start): Ditto.
7379         (override_options): Add isas 32 and 64, meabi, mips32 and mips64
7380         processors.
7381         (mips_asm_file_start): Add new section to pass abi to gdb.
7382         (function_arg_pass_by_reference): Support MEABI.
7383         (mips_parse_cpu): Support mips32 and mips64 processors.
7384         * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
7385         TARGET_MIPS5KC.  Support isa32 and isa64.
7386         (processor_type): Add r4kc, r5kc, r20kc.
7387         (GENERATE_MULT3_SI): New.
7388         (GENERATE_MULT3_DI): Ditto.
7389         (GENERATE_MULT3): Remove.
7390         (ISA_HAS_64BIT_REGS): Add isa == 64.
7391         (ISA_HAS_8CC): Add mips_isa = 32 and 64.
7392         (ISA_HAS_MADD_MSUB): New.
7393         (ISA_HAS_CLZ_CLO): Ditto.
7394         (ISA_HAS_DCLZ_DCLO): Ditto.
7395         (ABI_GAS_ASM_SPEC): New.
7396         (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
7397         (ASM_SPEC): Ditto.
7398         (LINK_SPEC): Ditto.
7399         (SUBTARGET_CC1_SPEC): Ditto.
7400         (SUBTARGET_CPP_SIZE_SPEC): Ditto.
7401         (PAD_VARARGS_DOWN): Support MEABI.
7402         (HARD_REGNO_NREGS): Move to mips.c.
7403         (ASM_OUTPUT_IDENT): Add #undef.
7404         * config/mips/mips.md: Add r4kc, r5kc, r20kc.
7405         (mulsi3): Use GENERATE_MULT3_SI.
7406         (mulsi3_mult3): Ditto.  Support mips32, mips64.
7407         (mul_acc_si): Use ISA_HAS_MADD_MSUB.
7408         (mul_sub_si): New pattern.
7409         (unnamed splitters): New.
7410         (muldi3): Use GENERATE_MULT3_DI.
7411         (muldi3_internal2): Ditto.
7412         (movdicc): Support mips32.
7413         * config/mips/t-isa3264: New file.
7414
7415 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
7416
7417         * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
7418         || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
7419         || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
7420
7421         * reorg.c (fill_slots_from_thread): After call to
7422         steal_delay_list_from_target, update own_thread as new_thread may
7423         have branched.
7424
7425 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
7426
7427         * cpperror.c (print_location): Take line and column, for
7428         default positioning use the previously lexed token.
7429         (_cpp_begin_message): Take line and column.
7430         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
7431         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
7432         * cpphash.h (_cpp_begin_message): Update prototype.
7433         * cppinit.c (push_include): Don't set output line.
7434         * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
7435         * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
7436         (do_pragma): Kludge for front ends.  Don't expand macros at all.
7437         * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
7438         (struct cpp_token): Remove output_line.
7439         (struct cpp_callbacks): New member line_change.
7440         * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
7441         cpp_get_token): Preserve BOL flag.
7442         (cpp_get_line): Remove.
7443         (_cpp_backup_tokens): Remove useless abort().
7444         * cppmain.c (cb_line_change): New.
7445         (scan_translation_unit): Don't worry about starting new lines here.
7446         * scan-decls.c (scan_decls): Update.
7447         * c-lex.c (c_lex, init_c_lex): Update.
7448         (cb_line_change, src_lineno): New.
7449
7450 Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
7451
7452         * tree.c (append_random_chars): Generate the random
7453         characters in a reproducable fashion.
7454
7455 2001-09-14  Richard Henderson  <rth@redhat.com>
7456
7457         * config/i386/i386.c (internal_label_prefix): New.
7458         (internal_label_prefix_len): New.
7459         (override_options): Set them.
7460         (local_symbolic_operand): New.
7461         (legitimate_pic_address_disp_p): Use it.
7462         (legitimize_pic_address): Likewise.
7463
7464 2001-09-14  Marc Espie <espie@openbsd.org>
7465
7466         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
7467         correctly.
7468
7469 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
7470
7471         * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
7472         * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
7473
7474 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
7475
7476         * rtlanal.c (subreg_regno_offset): Add semicolon to end of
7477         invocation of SUBREG_REGNO_OFFSET.
7478
7479         * haifa-sched.c: Fix typo in FSF copyright statement.
7480         * sched-deps.c: Fix typo in FSF copyright statement.
7481         * sched-ebb.c: Fix typo in FSF copyright statement.
7482         * sched-rgn.c: Fix typo in FSF copyright statement.
7483         * sched-vis.c: Fix typo in FSF copyright statement.
7484
7485         * config.gcc: Move inclusion of arm elf specific header files
7486         from the files themselves into the tm_file variable.  Make
7487         sure that elfos.h is included before target specific elf
7488         headers.
7489         * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
7490         already defined.
7491         (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
7492         * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
7493         ASM_OUTPUT_CASE_LABEL): Protect definition.
7494         (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
7495         not already defined.
7496         * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
7497         LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
7498         Remove duplicate definition.
7499         (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
7500         (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
7501         (RDATA_SECTION_FUNCTION): Remove redundant definition.
7502         (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
7503         Remove inclusion of arm/elf.h.
7504         * config/arm/unknown-elf.h: as for conix-elf.h.
7505         (STARTFILE_SPEC): Include crti.o and crtn.o.
7506         * config/arm/linux-elf.h: as for conix-elf.h.
7507         * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
7508         * config/arm/strongarm-elf.h: Remove inclusion of
7509         unknown-elf.h.
7510         * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
7511         * config/arm/unknown-elf-oabi.h: Remove inclusion of
7512         unknown-elf.h and elf.h.
7513         * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
7514         * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
7515         ASM_WEAKEN_LABEL): Remove redundant definition.
7516         * config/arm/elf.h: Test for inclusion of elfos.h
7517         (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
7518         ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
7519         SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
7520         EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
7521         redundant definition.
7522         (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
7523         ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
7524         ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
7525         * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
7526         Add rules to build crti.o and crtn.o
7527         * crti.asm: New file.
7528         * crtn.asm: New file.
7529
7530 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
7531
7532         * c-parse.in (_yylex): Use _cpp_backup_tokens.
7533         * cpphash.h (struct tokenrun): Add prev.
7534         (struct lexer_state): Remove bol.
7535         (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
7536         (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
7537         : Remove.
7538         * cppinit.c (cpp_create_reader): Don't set bol.
7539         (cpp_destroy): Don't free lookaheads.
7540         * cpplex.c (lex_directive): Remove.
7541         (next_tokenrun): Update.
7542         (_cpp_lex_token): Clean up logic.
7543         (lex_token): Update to return a pointer to lexed token, since it
7544         can move to the start of the buffer.  Simpify newline handling.
7545         * cpplib.c (SEEN_EOL): Update.
7546         (skip_rest_of_line): Remove lookahead stuff.
7547         (end_directive): Line numbers are already incremented.  Revert
7548         to start of lexed token buffer if we can.
7549         (_cpp_handle_directive, do_pragma, do_pragma_dependency,
7550         parse_answer): Use _cpp_backup_tokens.
7551         (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
7552         instead.  Don't check for EOL.
7553         (do_include_common, do_line, do_pragma_system_header): Use
7554         skip_rest_of_line.
7555         * cpplib.h (BOL, _cpp_backup_tokens): New.
7556         * cppmacro.c (save_lookahead_token, take_lookahead_token,
7557         alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
7558         cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
7559         (builtin_macro): Don't use cpp_get_line.
7560         (cpp_get_line): Short term kludge.
7561         (parse_arg): Handle directives in arguments here.  Back up when
7562         appropriate.  Store EOF at end of argument list.
7563         (funlike_invocation_p): Use _cpp_backup_tokens.
7564         (push_arg_context): Account for EOF at end of list.
7565         (cpp_get_token): Remove lookahead stuff.  Update.
7566
7567 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7568
7569         * c-parse.in (yyerror): Const-ification and/or static-ization.
7570         * c-typeck.c (push_member_name): Likewise.
7571         * collect2.c (main): Likewise.
7572         * dbxout.c (dbxout_parms): Likewise.
7573         * diagnostic.c (format_with_decl): Likewise.
7574         * dwarf2out.c (output_ranges): Likewise.
7575         * dwarfout.c (fundamental_type_code): Likewise.
7576         * except.c (dw2_output_call_site_table): Likewise.
7577         * gcc.c (do_spec_1): Likewise.
7578         * genopinit.c (optabs): Likewise.
7579         * objc/objc-act.c (synth_id_with_class_suffix, start_class,
7580         gen_declaration_1, handle_impent): Likewise.
7581         * protoize.c (default_include, in_system_include_dir, abspath):
7582         Likewise.
7583         * sched-vis.c (visualize_stall_cycles): Likewise.
7584         * sdbout.c (plain_type_1, sdbout_end_function,
7585         sdbout_end_epilogue): Likewise.
7586         * varasm.c (decode_reg_name): Likewise.
7587
7588         * 1750a.c (mod_regno_adjust): Likewise.
7589         * alpha.c (alpha_write_one_linkage,
7590         unicosmk_output_default_externs): Likewise.
7591         * arm.c (arm_condition_codes): Likewise.
7592         * arm.h (arm_condition_codes): Likewise.
7593         * avr.c (output_movsisf, encode_section_info): Likewise.
7594         * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
7595         Likewise.
7596         * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
7597         * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
7598         * m88k.c (output_function_profiler): Likewise.
7599         * mips.c (mips_output_conditional_branch): Likewise.
7600         * ns32k.c (ns32k_out_reg_names): Likewise.
7601         * ns32k.h (ns32k_out_reg_names): Likewise.
7602         * pj.c (pj_output_rval): Likewise.
7603         * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
7604         * sparc.c (sparc_flat_function_prologue,
7605         sparc_flat_function_epilogue): Likewise.
7606
7607 2001-09-13  Markus Werle <numerical.simulation@web.de>
7608             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7609
7610         * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
7611         Aachen University of Technology".
7612
7613 2001-09-13  Andreas Schwab  <schwab@suse.de>
7614
7615         * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
7616         C99.
7617
7618 2001-09-13  Richard Henderson  <rth@redhat.com>
7619
7620         * config/alpha/alpha.c (small_symbolic_operand): New.
7621         (override_options): Set MASK_SMALL_DATA based on pic/PIC.
7622         (some_operand, input_operand): Don't handle HIGH.
7623         (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
7624         (alpha_expand_mov): Likewise.
7625         (print_operand) [H]: Just print HIGH symbol.
7626         (print_operand_address): Handle small data.
7627         * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
7628         (TARGET_SWITCHES): Add -msmall-data/large-data.
7629         (PIC_OFFSET_TABLE_REGNUM): New.
7630         (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
7631         (PREDICATE_COES): Update.
7632         * config/alpha/alpha.md (adddi_er_high): New.
7633         (adddi_er_low): Handle small data.
7634         * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
7635         prefer .sdata to .rodata.
7636         (SELECT_RTX_SECTION): Likewise.
7637
7638 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
7639
7640         * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
7641         defining __size_t and leaving size_t undefined.
7642
7643 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
7644
7645         * basic-block.h (expunge_block): Declare.
7646         * cfg.c (expunge_block): Remove static declaration.
7647
7648 2001-09-12  Richard Henderson  <rth@redhat.com>
7649
7650         * integrate.c (copy_insn_list): Copy label name from
7651         NOTE_INSN_DELETED_LABEL.
7652
7653 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7654
7655         * c-common.c (c_tree_code_name): Const-ification.
7656         * c-decl.c (c_decode_option): Likewise.
7657         * c-typeck.c (warn_for_assignment): Likewise.
7658         * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
7659         Likewise.
7660         * cppinit.c (output_deps): Likewise.
7661         * dependence.c (dependence_string, direction_string): Likewise.
7662         * dwarf2out.c (output_ranges): Likewise.
7663         * fixinc/fixfixes.c (emit_gnu_type): Likewise.
7664         * fixinc/gnu-regex.c (re_error_msgid): Likewise.
7665         * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
7666         standard_startfile_prefix, standard_startfile_prefix_1,
7667         standard_startfile_prefix_2, tooldir_base_prefix,
7668         standard_bindir_prefix, find_a_file): Likewise.
7669         * genattrtab.c (make_length_attrs): Likewise.
7670         * gencheck.c (tree_codes): Likewise.
7671         * genemit.c (gen_split): Likewise.
7672         * genrecog.c (special_mode_pred_table): Likewise.
7673         * graph.c (graph_ext): Likewise.
7674         * protoize (default_include): Likewise.
7675         * reload.c (reload_when_needed_name): Likewise.
7676         * sched-vis.c (visualize_stall_cycles): Likewise.
7677         * tlink.c (recompile_files): Likewise.
7678         * toplev.c (decode_g_option): Likewise.
7679         * tradcpp.c (output_deps): Likewise.
7680         * varasm.c (decode_reg_name): Likewise.
7681
7682         * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
7683         Const-ification.
7684         * arm.md: Likewise.
7685         * avr.c (avr_regnames, encode_section_info): Likewise.
7686         * c4x.c (float_reg_names): Likewise.
7687         * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
7688         * elfos.h (const_section): Likewise.
7689         * i386.c (ix86_comp_type_attributes): Likewise.
7690         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
7691         * ia64/aix.h (UNIQUE_SECTION): Likewise.
7692         * ia64.c (type_names): Likewise.
7693         * m68hc11.c (reg_class_names): Likewise.
7694         * m88k.c (m_options): Likewise.
7695         * mips.c (mips_output_conditional_branch, mips_unique_section):
7696         Likewise.
7697         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
7698         * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
7699         ultra_code_names): Likewise.
7700         * sparc.h (OVERRIDE_OPTIONS): Likewise.
7701
7702 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
7703
7704         * configure.in (gcc_cv_as_shf_merge): Fix a typo.
7705         Use --fatal-warnings option for gas.
7706         * configure: Rebuilt.
7707
7708 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
7709
7710         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
7711
7712 2001-09-11  Jim Wilson  <wilson@redhat.com>
7713
7714         * alias.c (clear_reg_alias_info): Only handle pseudo registers.
7715
7716 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7717
7718         * builtins.c (c_strlen): Treat an offset too large for a
7719         HOST_WIDE_INT as out of range.
7720
7721 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
7722
7723         * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
7724         (EDGE_CRITICAL_P): New predicate.
7725         * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
7726         handling.
7727         (insert_insn_on_edge): Use EDGE_CRITICAL_P.
7728         (dump_edge_info): Remove "crit".
7729         * cfganal.c (mark_critical_edges): Kill.
7730         * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
7731         * cfgcleanup.c (cleanup_cfg): Likewise.
7732         * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
7733         (find_spanning_tree): Likewise.
7734         * reg-stack.c (convert_regs_1): Likewise.
7735         * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
7736
7737         * basic-block.h (create_basic_block_structure): New.
7738         (create_basic_block): Update prototype.
7739         (force_nonfallthru): New.
7740         * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
7741         * cfg.c (create_basic_block_structure): Rename from create_basic_block;
7742         handle updating of block_for_insn, creating of empty BBs and BBs at
7743         the end of INSN chain.
7744         (create_basic_block): New function.
7745         (split_block): Use create_basic_block.
7746         (force_nonfallthru_and_redirect): Break out from ...; cleanup
7747         (redirect_edge_and_branch_force): ... here.
7748         (force_nonfallthru): New.
7749         (split_edge): Rewrite to use force_nonfallthru and create_block.
7750         * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
7751         (find_basic_blocks): Free basic_block_for_insn.
7752         * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
7753
7754         * cfg.c: Fix formating.
7755         * cfgcleanup.c: Fix formating.
7756         (merge_blocks, tail_recursion_label_p): Return bool.
7757         (merge_blocks_move_predecessor_nojumps,
7758          merge_blocks_move_successor_nojumps): Return void.
7759
7760 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
7761
7762         * configure.in: Check whether assembler supports section merging.
7763         * config.in: Rebuilt.
7764         * configure: Rebuilt.
7765         * varasm.c (variable_section, output_constant_pool): Pass alignment
7766         to SELECT_SECTION and SELECT_RTX_SECTION.
7767         (mergeable_string_section): New.
7768         (mergeable_constant_section): New.
7769         (default_elf_asm_named_section): Output SECTION_MERGE and
7770         SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
7771         * output.h (mergeable_string_section): New.
7772         (mergeable_constant_section): New.
7773         (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
7774         * toplev.c (flag_merge_constants): New.
7775         (f_options): Add -fmerge-constants and -fmerge-all-constants
7776         options.
7777         (toplev_main): Default to -fno-merge-constants if not optimizing.
7778         * flags.h (flag_merge_constants): Add extern.
7779         * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
7780         * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
7781         argument.
7782         * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
7783         Define if assembler has working .subsection -1 support.
7784         (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
7785         Put constant into special SHF_MERGE sections if the linker should
7786         attempt to merge duplicates.
7787         * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
7788         macro argument.
7789         Put constant into special SHF_MERGE sections if the linker should
7790         attempt to merge duplicates.
7791         * config/alpha/elf.h: Likewise.
7792         (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
7793         has working .subsection -1 support.
7794         * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
7795         SELECT_SECTION.
7796         * config/svr3.h: Likewise.
7797         * config/darwin.h: Likewise.
7798         * config/arm/aof.h: Likewise.
7799         * config/arm/linux-elf.h: Likewise.
7800         * config/avr/avr.h: Likewise.
7801         * config/c4x/c4x.h: Likewise.
7802         * config/d30v/d30v.h: Likewise.
7803         * config/i386/dgux.h: Likewise.
7804         * config/i386/osfrose.h: Likewise.
7805         * config/i386/sco5.h: Likewise.
7806         * config/i386/svr3gas.h: Likewise.
7807         * config/ia64/aix.h: Likewise.
7808         * config/m32r/m32r.h: Likewise.
7809         * config/m68k/m68k.h: Likewise.
7810         * config/m88k/dgux.h: Likewise.
7811         * config/m88k/m88k.h: Likewise.
7812         * config/mcore/mcore-pe.h: Likewise.
7813         * config/mips/mips.h: Likewise.
7814         * config/pa/pa.h: Likewise.
7815         * config/pa/pa-linux.h: Likewise.
7816         * config/romp/romp.h: Likewise.
7817         * config/rs6000/sysv4.h: Likewise.
7818         * config/rs6000/xcoff.h: Likewise.
7819         * config/s390/linux.h: Likewise.
7820         * config/sparc/sparc.h: Likewise.
7821         * config/sparc/sysv4.h: Likewise.
7822         * config/stormy16/stormy16.h: Likewise.
7823         * config/v850/v850.h: Likewise.
7824         * config/vax/vms.h: Likewise.
7825         * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
7826         and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
7827         * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
7828         default_elf_asm_named_section for SHF_MERGE sections.
7829
7830 Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
7831
7832         * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
7833         is OK.
7834
7835 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
7836
7837         * c-common.c (split_specs_attrs): Allow for empty attributes with
7838         empty TREE_PURPOSE.  Fixes PR c/4294.
7839
7840 Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
7841
7842         * basic-block.h (cached_make_edge, make_single_succ): New.
7843         (make_edge): Remove first parameter.
7844         * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
7845         * cfg.c (cached_make_edge): Rename from make_edge; return newly
7846         created edge; use obstack allocation.
7847         (make_edge, make_single_succ_edge): New.
7848         (first_removed_edge): New static variable.
7849         (init_flow): Initialize first_removed_edge and n_edges.
7850         (clear_edges): Use remove_edge.
7851         (flow_delete_block): Likewise.
7852         (remove_edge): Add removed edges to the removed edges list.
7853         (split_block, redirect_edge_and_branch_force, split_edge):
7854         Use make_edge.
7855         * cfganal.c (flow_call_edges_add): Updaet make_edge call.
7856         (add_noreturn_fake_exit_edges): Likewise.
7857         (connect_infinite_loops_to_exit): Liekwise.
7858         * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
7859         Use cached_make_edge.
7860         * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
7861         * profile.c (branch_prob): Update make_edge call.
7862         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
7863
7864 2001-09-11  Richard Henderson  <rth@redhat.com>
7865
7866         * config/alpha/alpha.c: Tidy formatting.
7867         (local_symbolic_operand): Verify mode.
7868         (alpha_sa_mask): Ignore unicos for eh_return.
7869         (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
7870         * config/alpha/alpha.md (umk divsi patterns): Remove.
7871         (extendsfdf2): Remove unicos check.
7872         (tablejump): Merge vms and unicos code; always use direct set
7873         plus label_ref use.
7874
7875 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
7876
7877         * config.gcc (alpha*-*-unicosmk*): New target.
7878
7879         * config/alpha/alpha-protos.h (symbolic_operand,
7880         unicosmk_add_call_info_word, unicosmk_add_extern,
7881         unicosmk_defer_case_vector, unicosmk_unique_section,
7882         unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
7883         unicosmk_asm_file_start, unicosmk_asm_file_end,
7884         unicosmk_output_common): Declare.
7885
7886         * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
7887         direct_return, function_arg, alpha_va_start, alpha_va_arg,
7888         alpha_does_function_need_gp, alpha_end_function): Support Cray
7889         Unicos/Mk.
7890         (alpha_init_machine_status, alpha_mark_machine_status,
7891         alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
7892         unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
7893         unicosmk_asm_named_section, unicosmk_insert_attributes,
7894         unicosmk_section_type_flags, symbolic_operand,
7895         unicosmk_output_module_name, unicosmk_output_default_externs,
7896         unicosmk_output_dex, unicosmk_output_externs,
7897         unicosmk_output_addr_vec, unicosmk_ssib_name,
7898         unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
7899         unicosmk_asm_file_end, unicosmk_output_common,
7900         unicosmk_section_type_flags, unicosmk_unique_section,
7901         unicosmk_add_call_info_word, unicosmk_text_section,
7902         unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
7903         unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
7904         unicosmk_dex_count, unicosmk_special_name): New.
7905         (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
7906         TARGET_ABI_UNICOSMK.
7907         (get_aligned_mem, alpha_expand_unaligned_load,
7908         alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
7909         alpha_expand_unaligned_store_words): Support big-endian mode.
7910         (print_operand): Likewise. New format specifier 't'. Use
7911         TARGET_AS_SLASH_BEFORE_SUFFIX.
7912         (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
7913         (alpha_pv_save_size): Update with above change.
7914         (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
7915         alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
7916         Unicos/Mk.
7917
7918         * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
7919         (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
7920         (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
7921         (EXTRA_CONSTRAINT): New constraint 'U'.
7922         (PREDICATE_CODES): Add symbolic_operand.
7923
7924         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
7925         UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
7926         (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
7927         (integer division and modulus patterns): Split in default and
7928         Unicos/Mk versions.
7929         (*divmodsi_internal, *divmoddi_internal): Disable for
7930         TARGET_ABI_UNICOSMK.
7931         (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
7932         little-endian and big-endian versions.
7933         (ext, ins, msk): Likewise.
7934         (extv, extzv, insv): Support big-endian mode.
7935         (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
7936         (call_umk, call_value_umk, *call_umk, tablejump_umk,
7937         *tablejump_umk_internal, *call_value_umk): New.
7938         (*movdi_nofix): Add pattern for loading an address into a register on
7939         TARGET_ABI_UNICOSMK.
7940         (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
7941         (umk_mismatch_args, arg_home_umk): New.
7942         (various insns): Don't use mov, fmov, nop, fnop and unop.
7943         (realign): Support TARGET_ABI_UNICOSMK.
7944
7945         * config/alpha/unicosmk.h: New file.
7946         * config/alpha/t-unicosmk: New file.
7947
7948         * fixinc/inclhack.def (unicosmk_restrict): New.
7949         * fixinc/fixincl.x: Regenerate.
7950
7951         * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
7952         (wchar_t): Check for and define __WCHAR_T__.
7953
7954 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
7955
7956         * combine.c (simplify_shift_const): Treat shifts by the mode
7957         size as undefined.
7958
7959 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
7960
7961         * cpphash.h (struct tokenrun): New.
7962         (struct cpp_context): New member bol.
7963         (struct cpp_reader): New members.
7964         (_cpp_init_tokenrun): New.
7965         * cppinit.c (cpp_create_reader): Set up the token runs.
7966         * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
7967         (lex_token): New internalised version of _cpp_lex_token.  Don't
7968         handle directives or the multiple include optimization here any
7969         more.  Simply lex a token.
7970         * cpplib.c (run_directive): Clear bol.
7971         (_cpp_pop_buffer): Set bol.
7972         * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
7973         arguments.
7974
7975 2001-09-11  Michael Meissner  <meissner@redhat.com>
7976
7977         * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
7978         give an error if the user uses -mfp32.
7979         (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
7980         default options.
7981         (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
7982         floating point register size.
7983         (EXTRA_SPECS): Add CPP_FPR_SPEC.
7984
7985         * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
7986         HOST_WIDE_INT_PRINT_DEC to properly print the result of
7987         int_size_in_bytes.
7988         * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
7989         * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
7990
7991 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
7992
7993         * dbxout.c (dbxout_parms): Fix typo in comment.
7994         * unroll.c (loop_find_equiv_value): Ditto.
7995         * toplev.c (rest_of_compilation): Ditto.
7996         * loop.c (scan_loop): Ditto.
7997         * dwarf2out.c (struct dw_fde_struct): Ditto.
7998
7999 2001-09-10  Zack Weinberg  <zackw@panix.com>
8000
8001         * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
8002         copying identifier when we're just going to throw it away.
8003         (parse_identifier_slow): New routine to handle abnormal cases.
8004         (_cpp_lex_token): Update call site.
8005
8006         * hashtable.c (ht_lookup): Don't assume that the string we've
8007         been given is NUL-terminated.
8008         * system.h: #define __builtin_expect(a, b) to (a) if not
8009         GCC >=3.0.
8010
8011 2001-09-10  Michael Meissner  <meissner@redhat.com>
8012
8013         * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
8014         binutils, gdb.
8015
8016 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
8017
8018         * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
8019
8020 Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8021
8022         * builtins.c (c_getstr): Correct thinko in last change and further
8023         cleanup.
8024
8025 2001-09-10  Tim Freeman <tim@fungibole.com>
8026
8027         * dwarf2out.c (incomplete_types, decl_scope_table): Make them
8028         into varray's and register them as roots with the garbage
8029         collector so they are not collected too soon.
8030
8031 Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
8032
8033         * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
8034         New.
8035         * basic-block.h (flow_obstack, label_value_list,
8036         tail_recursion_label_list): Declare
8037         (tidy_fallthru_edges): Declare.
8038         (expunge_block, last_loop_beg_note): Delete.
8039         (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
8040         * cfg.c: New file
8041         (basic_block_for_insn, label_value_list): Move from flow.c; make global.
8042         (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
8043         init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
8044         flow_delete_insn, flow_delete_insn_chain, create_basic_block,
8045         expunge_block, flow_delete_block, compute_bb_for_insn,
8046         update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
8047         make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
8048         redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
8049         try_redirect_by_replacing_jump, last_loop_beg_note,
8050         redirect_edge_and_branch, redirect_edge_and_branch_force,
8051         tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
8052         split_edge, insert_insn_on_edge, commit_one_edge_insertion,
8053         commit_edge_insertions, dump_flow_info, debug_flow_info,
8054         dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
8055         verify_flow_info, purge_dead_edges, purge_all_dead_edges):
8056         Move here from flow.c
8057         * cfganal.c: New file.
8058         (forwarder_block_p, can_fallthru, mark_critical_edges,
8059          mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
8060          find_unreachable_blocks, create_edge_list, free_edge_list,
8061          print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
8062          flow_edge_list_print, remove_fake_successors, remove_fake_edges,
8063          add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
8064          flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
8065          flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
8066          flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
8067         Move here from flow.c
8068         * cfgbuild.c: New file
8069         (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
8070          make_edges, find_basic_blocks_1, find_basic_blocks,
8071          find_sub_basic_blocks): Move here from flow.c
8072         * cfgcleanup.c: New file.
8073         (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
8074          merge_blocks_move_predecessor_nojumps,
8075          merge_blocks_move_successor_nojumps, merge_blocks,
8076          flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
8077          try_crossjump_bb, try_optimize_cfg): Move here from flow.c
8078         (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
8079         if succeeded.
8080         * cfgloop.c: New file
8081         (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
8082          flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
8083          flow_loop_exit_edges_find, flow_loop_nodes_find,
8084          flow_loop_pre_header_scan, flow_loop_pre_header_find,
8085          flow_loop_tree_node_add, flow_loops_tree_build,
8086          flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
8087          flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
8088         Move here from flow.c
8089         * flow.c: Remove everything moved elsewhere
8090         * output.h (cleanup_cfg): Return bool.
8091
8092         * bb-reorder.c (reorder_block_def): Remove 'index'.
8093         (insert_intra_1): Add argument BB, set block for new note.
8094         (make_reorder_chain): Do not depdent on BB indexes.
8095         (make_reorder_chain_1): Do not use BB indexes.
8096         (label_for_bb): Likewise; set BB for new insn.
8097         (emit_jump_to_block_after): Likewise.
8098         (fixup_reorder_chain): Sanity check that all basic blocks
8099         are chained; verify newly created insn chain; remove
8100         undocnitional jump simplifying; Do not use BB indexes;
8101         properly initialize count and frequency information;
8102         dump reordered sequence.
8103         (insert_intra_bb_scope_notes): update call of insert_intra_1.
8104         (insert_inter_bb_scope_notes): Set block for new insn.
8105         (reorder_basic_blocks): Dump flow info before reoredering.
8106
8107 Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8108
8109         * alias.c (clear_reg_alias_info): Use K&R format definition.
8110         Avoid unsigned warning.
8111         * builtins.c: Use "unsigned int", not "unsigned".
8112         (target_char_cast): Use host_integerp and tree_low_cst.
8113         (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
8114         (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
8115         (c_getstr): Likewise.
8116         (std_expand_builtin_va_arg): Use int_size_in_bytes.
8117         (builtin_memcpy_read_str): Avoid unsigned warning.
8118         (expand_builtin_memcpy): Alignments are unsigned.
8119         (expand_builtin_strncpy, expand_builtin_memset): Likewise.
8120         (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
8121         * predict.c (expensive_function_p): LIMIT now unsigned.
8122         * resource.c (mark_target_live_regs): Make some vars unsigned.
8123         * sdbout.c: Use "unsigned int", not "unsigned".
8124         (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
8125         (sdbout_source_line): Likewise.
8126         (sdbout_record_type_name): Remove "const" for NAME declaration.
8127         * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
8128
8129 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
8130
8131         * calls.c (store_one_arg): Expand comment.
8132
8133 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
8134
8135         * calls.c (store_one_arg): Make sure that the entire argument is
8136         pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
8137
8138 2001-09-09  Richard Henderson  <rth@redhat.com>
8139
8140         * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
8141
8142 Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
8143
8144         * loop.c (combine_givs): Fix computing of benefit once giv is combined.
8145
8146 2001-09-09  Richard Henderson  <rth@redhat.com>
8147
8148         * config/alpha/alpha.c (alpha_next_sequence_number): New.
8149         (alpha_this_literal_sequence_number): New.
8150         (alpha_this_gpdisp_sequence_number): New.
8151         (some_operand, input_operand): Add HIGH.
8152         (local_symbolic_operand): New.
8153         (alpha_encode_section_info): New.
8154         (alpha_legitimate_address_p): Allow LO_SUM.
8155         (alpha_legitimize_address): Generate HIGH+LO_SUM.
8156         (alpha_expand_mov): Likewise.
8157         (secondary_reload_class): Check memory_operand not general_operand
8158         for FP_REGS test.
8159         (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
8160         (alpha_expand_unaligned_store): Likewise.
8161         (alpha_expand_unaligned_load_words): Likewise.
8162         (alpha_expand_unaligned_store_words): Likewise.
8163         (alpha_expand_block_clear): Likewise.
8164         (print_operand): Handle %#, %*, %H.
8165         (print_operand_address): Handle LO_SUM.
8166         (find_lo_sum): New.
8167         (alpha_does_function_need_gp): Use it.
8168         (alpha_expand_block_move): Fix signed compare warnings.
8169         (alpha_sa_mask, alpha_align_insns): Likewise.
8170         * config/alpha/alpha-protos.h: Update.
8171         * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
8172         (MASK_EXPLICIT_RELOCS): New.
8173         (TARGET_SWITCHES): Add -mexplicit-relocs.
8174         (EXTRA_CONSTRAINT): Add 'T'.
8175         (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
8176         (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
8177         (ENCODE_SECTION_INFO): Out line.
8178         (REDO_SECTION_INFO_P): New.
8179         (STRIP_NAME_ENCODING): New.
8180         (ASM_OUTPUT_LABELREF): New.
8181         (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
8182         (PREDICATE_CODES): Update.
8183         * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
8184         call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
8185         movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
8186         builtin_setjmp_receiver_er, exception_receiver_1_er,
8187         call_value_osf_1_er): New patterns.
8188         (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
8189         (movqi, movhi, movsi): Add explicit $31 base register to lda.
8190         * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
8191         (FINAL_PRESCAN_INSN): New.
8192
8193 Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
8194
8195         * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
8196
8197 2001-09-08  Andreas Jaeger  <aj@suse.de>
8198
8199         * i386.h (TARGET_SWITCHES): Fix description.
8200
8201 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
8202
8203         * rs6000.c (num_insns_constant): Compute number of instructions
8204         more accurately.
8205
8206         * doc/install.texi: Explain AIX exception handling work-around.
8207         Update URL for AIX fixes.
8208
8209 2001-09-07  Jim Wilson  <wilson@redhat.com>
8210
8211         * alias.c (clear_reg_alias_info): New.
8212         * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
8213         * rtl.h (clear_reg_alias_info): Declare.
8214
8215 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
8216
8217         * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
8218         available.
8219         (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
8220         (m16m,edivm,emulm): Change declaration to match definition.
8221
8222 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
8223
8224         * reload.c (push_reload): Check for subreg_lowpart_p instead of
8225         SUBREG_BYTE being 0 when determining if the inner part of a subreg
8226         can be reloaded.
8227
8228 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
8229
8230         * c-common.c (signed_or_unsigned_type): Handle machine mode types
8231         which have no corresponding C type.
8232         * fold_const.c (target_isinf,target_isnan,target_negative): Update
8233         the representation of 64-bit doubles to work with 64-bit ints.
8234
8235 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
8236
8237         * config/mips/mips.c (override_options): Do not override ISA when ABI
8238         specified if MIPS_CPU_STRING_DEFAULT was specified.
8239
8240 2001-09-07  Richard Henderson  <rth@redhat.com>
8241
8242         * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
8243         (express_from_1): Wrap lines.
8244         * rtlanal.c (commutative_operand_precedence): Rename from
8245         operand_preference; export.
8246         * rtl.h: Declare it.
8247         * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
8248         (simplify_binary_operation): Invoke simplify_plus_minus on
8249         (CONST (PLUS ...)) as well.
8250         (struct simplify_plus_minus_op_data): New.
8251         (simplify_plus_minus_op_data_cmp): New.
8252         (simplify_plus_minus): Use them.  Avoid infinite recursion with
8253         simplify_binary_operation wrt CONST.
8254
8255 Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
8256
8257         * h8300-protos.h (general_operand_dst_push): Remove.
8258         * h8300.c (general_operand_dst_push): Likewise.
8259         * h8300.h (OK_FOR_T): Likewise.
8260         (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
8261         * h8300.md (pushqi_h8300): New.
8262         (pushqi_h8300hs): Likewise.
8263         (pushqi): Likewise.
8264         (pushhi_h8300): Likewise.
8265         (pushhi_h8300hs): Likewise.
8266         (pushhi): Likewise.
8267
8268 Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8269
8270         * genattrtab.c (attr_printf): First arg is unsigned.
8271         Clean up formatting of callers.
8272
8273 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
8274
8275         * config/mips/mips.c (override_options): Allow abi32 with 64 bit
8276         registers.
8277
8278 2001-09-07  Andreas Jaeger  <aj@suse.de>
8279
8280         * i386.h (TARGET_SWITCHES): Fix descriptions.
8281
8282 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
8283
8284         * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
8285
8286 2001-09-06  Ira Ruben  <ira@apple.com>
8287
8288         Remove OP_IDENTIFIER.
8289         * tree.def (OP_IDENTIFIER): Remove.
8290         * tree.c (tree_node_kind enum): Remove op_id_kind.
8291         (tree_node_kind_names): Remove "op_identifiers".
8292         (make_node): Remove OP_IDENTIFIER test.
8293         (build_op_identifier): Removed because it isn't being used.
8294         * print-tree.c (print_node): Remove OP_IDENTIFIER case.
8295         * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
8296
8297 2001-09-06  Richard Henderson  <rth@redhat.com>
8298
8299         * simplify-rtx.c (simplify_binary_operation): Revert last change.
8300
8301 2001-09-06  Richard Henderson  <rth@redhat.com>
8302
8303         * simplify-rtx.c (simplify_binary_operation): Simplify contents
8304         of CONST.
8305
8306 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8307
8308         * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
8309         number used for CR register.
8310
8311 Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
8312                           Joern Rennecke (amylaar@cygnus.com)
8313
8314         * h8300-protos.h (h8300_return_addr_rtx): New prototype.
8315         * h8300.c (initial_offset): Handle offset between RP and FP.
8316         (h8300_return_addr_rtx): New function.
8317         * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
8318         return register.
8319         (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
8320         (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
8321         (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
8322         (CAN_ELIMINATE, REGISTER_NAMES):
8323         (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
8324
8325 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
8326
8327         Remove TYPE_NONCOPIED_PARTS.
8328         * tree.h (TYPE_NONCOPIED_PARTS): Remove.
8329         (struct tree_type): Remove noncopied_parts.
8330         * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
8331         * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
8332         (fixed_type_p): Remove.
8333         (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
8334         (expand_expr, MODIFY_EXPR): Likewise.
8335         * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
8336         * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
8337
8338 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
8339
8340         * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
8341         compiler warnings.
8342         (mask64_operand): Likewise.
8343         (includes_rldic_lshift_p): Likewise.
8344         (includes_rldicr_lshift_p): Likewise.
8345
8346 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
8347
8348         * objc/objc-act.c (build_message_expr): If a class method cannot
8349         be found, do not issue a warning if a corresponding instance
8350         method exists in the root class.
8351
8352 2001-09-05  Richard Henderson  <rth@redhat.com>
8353
8354         * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
8355
8356 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
8357
8358         * function.c (ggc_mark_struct_function): Mark f->outer.
8359         * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
8360         * integrate.c (output_inline_function): ... not here.
8361
8362 Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
8363
8364         * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
8365
8366         * i386.c (size_cost): New static variable.
8367         (override_function): Use size_cost when -Os is specified.
8368
8369         * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
8370         properly;  Use current_function_calls_eh_return.
8371         (ix86_expand_epilogue): Avoid dummy optimize_size tests;
8372         use leave to avoid dependency chain.
8373
8374         * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
8375         get BB loop_depth instead of computing it from LOOP notes.
8376
8377         * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
8378
8379 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8380
8381         * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8382         * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
8383         UNALIGNED_DOUBLE_INT_ASM_OP): Define
8384
8385 2001-09-05  Jeffrey A Law  (law@cygnus.com)
8386             Jason Merrill (jason@redhat.com)
8387
8388         * stor-layout.c (layout_type): Complain if an array's size can
8389         not be represented in a size_t.
8390
8391         * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
8392
8393 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
8394
8395         * gcc.c: (process_command) Add parentheses around assignment
8396         used as truth value.
8397
8398 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
8399
8400         * config/mips/mips.c (save_restore_insns): Don't mark any register
8401         save slots as unchanging if current_function_calls_eh_return.
8402
8403 2001-09-05  Richard Henderson  <rth@redhat.com>
8404
8405         * config/alpha/alpha.c (alpha_legitimate_address_p): New.
8406         * config/alpha/alpha-protos.h: Declare it.
8407         * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
8408         (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
8409         (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
8410         (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
8411         (REG_OK_FOR_BASE_P): Select one of the above.
8412
8413 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
8414
8415         * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
8416         (crti.o): Prefix name of object file with $(T).
8417         (crtn.o): Likewise.
8418
8419 2001-09-05  David S. Miller  <davem@redhat.com>
8420
8421         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
8422         * config/sparc/linux64.h: Likewise.
8423
8424 2001-09-05  Andreas Jaeger  <aj@suse.de>
8425
8426         * doc/invoke.texi (i386 Options): -mwide-multiply is not
8427         available anymore, remove the documentation.
8428         (i386 Options): Fix typo, cleanup index entries.
8429
8430         * prefix.c (concat): Remove, we can use the version from liberty.
8431
8432 2001-09-05  Richard Henderson  <rth@redhat.com>
8433
8434         * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
8435         New functions split out of md file expanders.
8436         * config/alpha/alpha-protos.h: Declare them.
8437         * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
8438
8439 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
8440
8441         * cppmacro.c (funlike_invocation_p): No need to restore context.
8442
8443 2001-09-04  Richard Henderson  <rth@redhat.com>
8444
8445         * reload.c (push_reload): Export.
8446         * reload.h (push_reload): Declare it.
8447
8448         * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
8449         (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
8450         * config/alpha/alpha.c (alpha_legitimize_address): New.
8451         (alpha_legitimize_reload_address): Likewise.
8452         * config/alpha/alpha-protos.h: Declare them.
8453
8454 2001-09-04  Stan Shebs  <shebs@apple.com>
8455
8456         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
8457         * config/darwin.c (machopic_stub_name): Account for internally
8458         generated lib calls such as memcpy.
8459
8460 2001-09-04  Richard Henderson  <rth@redhat.com>
8461
8462         * unwind.h (_UA_END_OF_STACK): New flag.
8463         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
8464
8465 Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
8466
8467         * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
8468
8469 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
8470
8471         * config/mips/mips.c (save_restore_insns): Change base_offset to
8472         fp_offset in second call to mips_emit_frame_related_store.
8473
8474 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
8475
8476         * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
8477         sometimes be represented as a NOTE of type
8478         NOTE_INSN_DELETED_LABEL.
8479         (Insns): Document NOTE_INSN_DELETED_LABEL.
8480
8481 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
8482
8483         * c-common.h (tree_dump_index): Add more comments.
8484         * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
8485         (dump_option_value_info): New struct.
8486         (dump_options): New array.
8487         (dump_switch_p): Parse switch options symbolically.
8488         * doc/invoke.texi (-fdump-ast): Rename to ...
8489         (-fdump-tree): ... here. Document that options are symbolic, and
8490         not all are applicable.
8491
8492 2001-09-04  David S. Miller  <davem@redhat.com>
8493
8494         * config/sparc/sparc.md (define_splits): Kill constraints.
8495
8496         Cleanup redundant and unused insn attributes.
8497         * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
8498         binary, and move.  Mark ialu as default.
8499         (commented out define_function_unit "alu"): Kill.
8500         (define_attr "use_clobbered"): Kill.
8501         (whole file): Kill address insn type references.  Replace
8502         all unary/binary/move references with ialu.
8503         * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
8504         references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
8505         TYPE_IALU.
8506
8507         Simplify length insn attribute and make more judicious use
8508         of insn attribute defaulting.
8509         * config/sparc/sparc.md (all insns with length > one): Mark as
8510         insn type multi if real instructions, else use default if
8511         it is a forced splitter.
8512         (all insns with length == one): Use default insn length.
8513         (all insns of type ialu): Use default insn type.
8514
8515         Fix erroneous insn attribute settings.
8516         (addx): Set insn type to misc.
8517         (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
8518         const_umulsidi3_sp64): Set insn type to imul.
8519
8520         Track SFmode vs DFmode insns according to UltraSPARC
8521         scheduling rules.
8522         * config/sparc/sparc.md ("fptype"): New attribute, default
8523         to "single".
8524         (all DFmode single insns): Mark as fptype "double".
8525
8526 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
8527
8528         * loop.c (express_from_1): Fix CONSTANT_P(a) case.
8529
8530 2001-09-03  Richard Henderson  <rth@redhat.com>
8531
8532         * function.h (struct function): Add arg_pointer_save_area_init.
8533         * function.c (expand_function_end): Init arg_pointer_save_area.
8534         (get_arg_pointer_save_area): Do not init arg_pointer_save_area
8535         when called from a nested function.
8536
8537 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
8538
8539         * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
8540         is enabled.
8541
8542 Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
8543
8544         * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
8545
8546 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
8547
8548         * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
8549         (emit_push_insn): Use specified padding direction when
8550         STACK_PUSH_CODE is POST_INC.
8551
8552         * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
8553
8554 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8555
8556         * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
8557
8558 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
8559
8560         * cppinit.c (cpp_start_read): Free the imacros list as we
8561         traverse it.  Don't free the chains before returning.
8562         (_cpp_push_next_buffer): Only try pushing buffers if we've
8563         completed -imacros handling.
8564
8565 2001-08-31  Eric Christopher  <echristo@redhat.com>
8566
8567         * gcc.c (handle_braces): Add explaination for abort.
8568
8569 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
8570
8571         * expmed.c (store_bit_field): Update to patch from 2001-08-27:
8572         move adjustment of bitpos instead.
8573
8574 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
8575
8576         * function.c: Remove all_functions.  Make outer_function_chain
8577         static.
8578         (init_function_start): Don't add new function structure to
8579         all_functions.
8580         (find_function_data, push_function_context_to,
8581         pop_function_context_from, put_var_into_stack,
8582         trampoline_address): Update for changed structure element names.
8583         (push_function_context_to): Disentangle.
8584         (free_after_compilation): Also free F.
8585         (expand_dummy_function_end): Don't free cfun here.
8586         (put_var_into_stack): Comment why we can't use find_function_data here.
8587         (fix_lexical_addr, trampoline_address, ): Use find_function_data.
8588         (mark_function_chain): Split into maybe_mark_struct_function and
8589         ggc_mark_struct_function.  Export the latter.
8590         (init_function_once): Mark from cfun and outer_function_chain;
8591         not all_functions.
8592
8593         * function.h (struct function): Kill next_global.  Rename next
8594         to outer.  All users updated to match.
8595         (all_functions, outer_function_chain): Don't declare.
8596
8597         * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
8598         * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
8599         don't touch f->inlinable, after calling rest_of_compilation.
8600
8601         * tree.h: Forward-declare struct function.  Prototype
8602         ggc_mark_struct_function.
8603
8604 2001-08-31  Kazu Hirata  <kazu@hxi.com>
8605
8606         * config/h8300/h8300.md (*andorhi3): Fix typos.
8607
8608 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8609
8610         * calls.c (emit_library_call_value): Don't use a fixed
8611         argument after VA_CLOSE, i.e. out of scope in traditional C.
8612
8613         * emit-rtl.c (gen_rtvec): Likewise.
8614
8615 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8616
8617         * Makefile.in (c-pragma.o): Depend on output.h.
8618         (reorg.o): Depend on except.h.
8619
8620         * c-pragma.c: Include output.h.
8621
8622         * reorg.c: Include except.h.
8623
8624         * unwind-dw2.c: Call __builtin_alloca, not alloca.
8625
8626 2001-08-31  Richard Henderson  <rth@redhat.com>
8627
8628         * sched-deps.c (add_dependence): Don't elide dependency if the
8629         conditional used by insn is modified in elem.
8630
8631 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
8632
8633         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
8634
8635 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
8636
8637         * c-decl.c (c_decode_option): Skip '-f' prefix before calling
8638         dump_switch_p.
8639
8640 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
8641
8642         * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
8643         function.
8644         (stormy16_asm_out_constructor): New function.
8645         (TARGET_ASM_CONSTRUCTOR): Define.
8646         (TARGET_ASM_DESTRUCTOR): Define.
8647
8648 2001-08-31  Andreas Jaeger  <aj@suse.de>
8649
8650         * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
8651         * loop.c (add_label_notes): Likewise.
8652         * reload.c (find_reloads): Likewise.
8653         * config/sh/sh.c (machine_dependent_reorg): Likewise.
8654
8655 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
8656
8657         * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
8658         code here.  Take _Unwind_{W,Sw}ord*.
8659         (read_encoded_value_with_base): Use them.
8660         * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
8661         words.
8662         (extract_cie_info): Simplify read_?leb128 handling.
8663         (execute_stack_op, execute_cfa_program): Likewise.
8664         * unwind-dw2-fde.c (get_cie_encoding): Likewise.
8665
8666 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
8667
8668         * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
8669         the frame pointer to pop the stack if convenient.
8670
8671         * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
8672         Don't use post-increment before combine.
8673         * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
8674         a call-saved register.
8675
8676 2001-08-31  Andreas Jaeger  <aj@suse.de>
8677
8678         * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
8679         code was correct.
8680
8681 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
8682
8683         * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
8684         not DIV/MOD, of course.
8685
8686 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
8687
8688         * rtl.def: Undo my patch commited 2001-08-27.
8689
8690         * genattrtab.c: Ditto.
8691
8692         * rtl.h: Ditto.
8693
8694         * sched-int.h: Ditto.
8695
8696         * target-def.h: Ditto.
8697
8698         * target.h: Ditto.
8699
8700         * haifa-sched.c: Ditto.
8701
8702         * sched-rgn.c: Ditto.
8703
8704         * sched-vis.c: Ditto.
8705
8706         * Makefile.in: Ditto.
8707
8708         * doc/md.texi: Ditto.
8709
8710         * doc/tm.texi: Ditto.
8711
8712         * doc/contrib.texi: Ditto.
8713
8714         * doc/gcc.texi: Ditto.
8715
8716         * genattrtab.h: Remove it.
8717
8718         * genautomata.c: Remove it.
8719
8720         * genattr.c: Undo my patch and Richard Henderson's patch commited
8721         2001-08-27.
8722
8723 Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
8724
8725         * config.gcc (h8300-*-elf*): New case.
8726         * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
8727         (SUBTARGET_CPP_SPEC): Define.
8728         (EXTRA_SPECS): Define.
8729         (SUBTARGET_EXTRA_SPECS): Define.
8730         * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
8731         * config/h8300/elf.h, config/h8300/t-elf: Likewise.
8732
8733 Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
8734
8735         * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
8736         (LIB2FUNCS_EXTRA): Define.
8737         config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
8738         config/h8300/fixunssfsi.c: New file.
8739
8740 2001-08-30  Kazu Hirata  <kazu@hxi.com>
8741
8742         * config/h8300/h8300.md (zero_extendqihi2): Changes to
8743         define_expand to accommodate target-specific attributes.
8744         (anonymous zero_extendqihi2 patterns): New.
8745
8746 Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
8747
8748         * h8300.md (*andorhi3): New pattern.
8749
8750 Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
8751
8752         * h8300.c (dosize): Fix test for "sub".
8753
8754 Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
8755
8756         * c-typeck.c (pointer_diff): Try to eliminate common term before
8757         doing conversions.
8758
8759 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
8760
8761         * config/arm/arm.c (arm_compute_initial_elimination_offset):
8762         Account for the saves of the FP registers.
8763
8764         * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
8765         (TEXT_SECTION_ASM_OP): Define.
8766         (INIT_SECTION_ASM_OP): Define.
8767         (FINI_SECTION_ASM_OP): Define.
8768         (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
8769         (RDATA_SECTION_FUNCITON): Provide prototype.
8770
8771 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
8772
8773         * reload1.c (move2add_note_store): Correct typo checking for
8774         argument pushes.
8775
8776 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
8777
8778         * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
8779         note should not be considered outside the libcall block.
8780
8781 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8782
8783         * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
8784
8785 2001-08-29  Kazu Hirata  <kazu@hxi.com>
8786
8787         * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
8788
8789 2001-08-29  Kazu Hirata  <kazu@hxi.com>
8790
8791         * config/h8300/h8300-protos.h: Add a prototype for
8792         emit_logical_op.
8793         * config/h8300/h8300.c (emit_logical_op): New.
8794         * config/h8300/h8300.md (andhi3): Use emit_logical_op.
8795         (andsi3): Likewise.
8796         (iorhi3): Likewise.
8797         (iorsi3): Likewise.
8798         (xorhi3): Likewise.
8799         (xorsi3): Likewise.
8800
8801 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8802
8803         * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
8804         comparison with rtx INTVAL.
8805         (pa_output_function_prologue): Don't mix signed and unsigned in `?'
8806         expression.
8807         * pa.h (FUNCTION_ARG_SIZE): Likewise.
8808
8809 2001-08-29  Kazu Hirata  <kazu@hxi.com>
8810
8811         * config/h8300/lib1funcs.asm: Update the copyright.  Fix
8812         comment typos.
8813
8814 2001-08-29  Kazu Hirata  <kazu@hxi.com>
8815
8816         * config/h8300/h8300.md (anonymous movhi pattern): Don't move
8817         (reg n) to (mem (pre_dec (reg n))
8818         (anonymous movsi pattern): Likewise.
8819
8820 2001-08-29  Kazu Hirata  <kazu@hxi.com>
8821
8822         * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
8823
8824 2001-08-29  Kazu Hirata  <kazu@hxi.com>
8825
8826         * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
8827         several special constants.
8828
8829 2001-08-29  Kazu Hirata  <kazu@hxi.com>
8830
8831         * config/h8300/lib1funcs.asm: Fix comment typos.
8832
8833 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8834
8835         * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
8836         Fix format specifier warnings.
8837
8838         * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
8839         inet_makeaddr, semctl): Prototype.
8840
8841         * mips.c (compute_frame_size): Fix signed/unsigned warnings.
8842         (save_restore_insns): Use base_offset, not gp_offset.
8843
8844         * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
8845         (ASM_OUTPUT_BYTE): Fix format specifier warning.
8846
8847 2001-08-29  Richard Henderson  <rth@redhat.com>
8848
8849         * bb-reorder.c (function_tail_eff_head): New.
8850         (record_effective_endpoints): Set it.
8851         (fixup_reorder_chain): Use it.
8852
8853 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8854
8855         * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
8856
8857 2001-08-28  Dale Johannesen  <dalej@apple.com>
8858
8859         * config/darwin.c (machopic_function_base_name): Add const
8860         qualifier to a string.
8861         (darwin_encode_section_info): Ditto.
8862
8863 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8864
8865         * tree.c (default_valid_attribute_p): Don't use PARAMS on a
8866         function definition.
8867
8868 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
8869
8870         * df.h (struct df): Add rts_order variable.
8871
8872         * df.c (df_visit_next_rts): New function.
8873         (df_visit_next): Renamed to df_visit_next_rc
8874         (df_analyse_1): Allocate/compute/free rts_order as well.
8875         (df_rd_global_compute): Use df_visit_next_rc instead of
8876         df_visit_next.
8877         (df_ru_global_compute): Use df_visit_next_rts instead of
8878         df_visit_next.
8879
8880         * flow.c (flow_reverse_top_sort_order_compute): New function.
8881
8882         * basic-block.h: Add prototype.
8883
8884 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
8885
8886         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
8887         blocks, the BB_REACHABLE is now set, rather than aux being
8888         non-NULL. Update the test to reflect this.
8889
8890 2001-08-28  Eric Christopher  <echristo@redhat.com>
8891
8892         * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
8893         config/mips/crti.asm: Ditto.
8894
8895 2001-08-28  Eric Christopher <echristo@redhat.com>
8896             Richard Henderson <rth@redhat.com>
8897
8898         * c-pragma.h (add_weak): Move prototype from here...
8899         * output.h (add_weak): ... to here.
8900         * varasm.c (add_weak): Fix typo.
8901         * config/mips/crti.asm: New file.
8902         * config/mips/crtn.asm: Ditto.
8903         * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
8904         (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
8905         (INVOKE__main): Ditto.
8906         (INIT_SECTION_ASM_OP): New.
8907         (FINI_SECTION_ASM_OP): Ditto.
8908         (STARTFILE_SPEC): Add crti.
8909         (ENDFILE_SPEC): Add crtn.
8910         * config/mips/elf64.h: Same.
8911         * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
8912         Remove.
8913         * config/mips/vxworks.h: Ditto.
8914         * config/mips/t-elf: Support crti and crtn.
8915
8916 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
8917
8918         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
8919         INSN_LIST.
8920
8921 2001-08-28  Richard Henderson  <rth@redhat.com>
8922
8923         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
8924         (one_cmplbi2 splitter): Remove redundant test.
8925
8926 2001-08-28  Dale Johannesen  <dalej@apple.com>
8927
8928         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
8929
8930 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
8931
8932         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
8933
8934 2001-08-28  Stan Shebs  <shebs@apple.com>
8935
8936         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
8937         (UNALIGNED_SHORT_ASM_OP): Define.
8938         (UNALIGNED_INT_ASM_OP): Define.
8939
8940 2001-08-28  Will Cohen  <wcohen@redhat.com>
8941
8942         * config/rs6000/rs6000.md (store_multiple): Correct RTL
8943         generation for first set.
8944
8945 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
8946
8947         * flow.c (redirect_edge_succ_nodup): Return new edge.
8948         (try_simplify_condjump): Use new edge.
8949         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
8950
8951         * cse.c (cse_basic_block): Skip note instructions.
8952
8953 2001-08-27  Richard Henderson  <rth@redhat.com>
8954
8955         * combine.c (combine_simplify_rtx): Don't reverse condition
8956         if there is no reverse for the condition.
8957         (simplify_comparison): Don't simplify subregs from INT to FP.
8958
8959         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
8960         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
8961         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
8962         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
8963         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
8964         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
8965
8966 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
8967
8968         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
8969         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
8970         (pushqi1): New.
8971         (adddi_dilshr32, adddi_dishl32): Only data register can be
8972         source for mem destination.
8973
8974         * expmed.c (store_bit_field): Ignore adjustment to bitpos
8975         and use bitnum to decide about register move.
8976
8977 2001-08-27  Richard Henderson  <rth@redhat.com>
8978
8979         * genattr.c (main): Emit state_t even when not doing scheduling.
8980
8981 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
8982             Richard Henderson  <rth@redhat.com>
8983
8984         * gcse.c (reg_first_set, reg_last_set): Replace with ...
8985         (reg_avail_info, current_bb): ... these.
8986         (oprs_unchanged_p, record_last_reg_set_info): Use them.
8987         (compute_hash_table): Likewise.
8988
8989 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
8990
8991         * flow.c (verify_flow_info): Use checksums to verify edges.
8992
8993 2001-08-27  Richard Henderson  <rth@redhat.com>
8994
8995         * genautomata.c (expand_automata): Always create a description.
8996
8997 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
8998
8999         * optabs.c (expand_binop): Correctly handle the carry in multiword
9000         add/subtract operations.
9001
9002 2001-08-27  Fred Fish  <fnf@be.com>
9003
9004         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
9005         __SIZE_TYPE__.
9006
9007 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
9008
9009         * reload.c (find_reloads_toplev): Back out this change:
9010
9011         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
9012
9013         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
9014         mem if the address is a mode_dependent_address_p.
9015
9016 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
9017
9018         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
9019         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
9020         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
9021         RTL constructions.
9022
9023         * genattr.c (main): New variable num_insn_reservations.  Increase
9024         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
9025         pipeline hazard recognizer interface.
9026
9027         * genattrtab.h: New file.
9028
9029         * genattrtab.c: Include genattrtab.h.
9030         (attr_printf, check_attr_test, make_internal_attr,
9031         make_numeric_value): Move protypes into genattrtab.h.  Define them
9032         as external.
9033         (num_dfa_decls): New global variable.
9034         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
9035         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
9036         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
9037         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
9038
9039         * genautomata.c: New file.
9040
9041         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
9042
9043         * sched-int.h: (curr_state): Add the external definition for
9044         automaton pipeline interface.
9045         (haifa_insn_data): Add comments for members blockage and units.
9046
9047         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
9048         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
9049         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
9050         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
9051         TARGET_SCHED_DFA_POST_CYCLE_INSN,
9052         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
9053         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
9054         macros.
9055         (TARGET_SCHED): Use the new macros.
9056
9057         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
9058         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
9059         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
9060         dfa_bubble): New members in gcc_target.sched.
9061
9062         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
9063         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
9064         (insn_queue): Redefine it as pointer to array.
9065         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
9066         INSN_QUEUE_SIZE.
9067         (max_insn_queue_index_macro_value): New variable.
9068         (curr_state, dfa_state_size, ready_try): New varaibles for
9069         automaton interface.
9070         (ready_element, ready_remove, max_issue): New function prototypes
9071         for automaton interface.
9072         (choose_ready): New function prototype.
9073         (insn_unit, blockage_range): Add comments.
9074         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
9075         FUNCTION_UNITS_SIZE == 0.
9076         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
9077         actual_hazard, potential_hazard): Add comments.
9078         (insn_cost): Use cost -1 as undefined value.  Remove
9079         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
9080         pipeline interface.
9081         (ready_element, ready_remove): New functions for automaton
9082         interface.
9083         (schedule_insn): Add new code for automaton pipeline interface.
9084         (queue_to_ready): Add new code for automaton pipeline interface.
9085         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
9086         (debug_ready_list): Print newline when the queue is empty.
9087         (max_issue): New function for automaton pipeline interface.
9088         (choose_ready): New function.
9089         (schedule_block): Add new code for automaton pipeline interface.
9090         Print ready list before scheduling each insn.
9091         (sched_init): Add new code for automaton pipeline interface.
9092         Initiate insn cost by -1.
9093         (sched_finish): Free the current automaton state and finalize
9094         automaton pipeline interface.
9095
9096         * sched-rgn.c: Include target.h.
9097         (init_ready_list, new_ready, debug_dependencies): Add new code for
9098         automaton pipeline interface.
9099
9100         * sched-vis.c: Include target.h.
9101         (get_visual_tbl_length): Add code for automaton interface.
9102         (target_units, print_block_visualization):  Add comments.
9103
9104         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
9105         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
9106         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
9107         (getruntime.o, genautomata.o): New entries.
9108         (genattrtab.o): Add new dependency file genattrtab.h.
9109         (genattrtab): Add new dependencies.  Link it with `libm.a'.
9110         (getruntime.o, hashtab.o): New entries for canadian cross.
9111
9112         * doc/md.texi: Description of automaton based model.
9113
9114         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
9115         Add comments.
9116         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
9117         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
9118         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
9119         TARGET_SCHED_DFA_POST_CYCLE_INSN,
9120         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
9121         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
9122         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
9123         hook descriptions.
9124         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
9125         MAX_DFA_ISSUE_RATE): New macro descriptions.
9126
9127         * doc/contrib.texi: Add dfa based scheduler contribution.
9128
9129         * doc/gcc.texi: Add more information about genattrtab.
9130
9131 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
9132
9133         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
9134         an RTL basic block.
9135
9136 2001-08-27  Richard Henderson  <rth@redhat.com>
9137
9138         * function.c (expand_function_end): Don't init arg_pointer_save_area.
9139         (get_arg_pointer_save_area): New.  Create an init it here.
9140         (fix_lexical_addr): Use it.
9141         * function.h: Declare it.
9142         * builtins.c (expand_builtin_setjmp_receiver): Use it.
9143         * stmt.c (expand_nl_goto_receiver): Use it.
9144
9145 2001-08-27  Richard Henderson  <rth@redhat.com>
9146
9147         * final.c (final_scan_insn): Don't enter APP_ON mode for
9148         empty asm strings.
9149
9150         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
9151         alignment for assemble_integer for DW_EH_PE_aligned.
9152         * except.c (output_function_exception_table): Likewise.
9153
9154 2001-08-26  Andreas Jaeger  <aj@suse.de>
9155
9156         * c-tree.h: Add prototyp for c_sizeof_nowarn.
9157
9158 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
9159
9160         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
9161
9162 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
9163
9164         * config/rs6000/rs6000.c (mask_operand): Rewrite without
9165         bit-shifting loop.
9166         (mask64_operand): Likewise.
9167         (rldic_operand): Delete.
9168         (includes_lshift64_p): Delete.
9169         (includes_rldic_lshift_p): New function.
9170         (includes_rldicr_lshift_p): New function.
9171         (print_operand): Don't call rldic_operand in case 'W'.
9172         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
9173         (includes_lshift64_p): Remove.
9174         (includes_rldic_lshift_p): Declare.
9175         (includes_rldicr_lshift_p): Declare.
9176         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
9177         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
9178         Replace match_operand rldic_operand predicate with
9179         const_int_operand.  Replace includes_lshift64_p condition with
9180         includes_rldic_lshift_p.
9181         <ashldi3_internal 64 bit rldicr patterns>: New.
9182
9183 2001-08-27  Andreas Jaeger  <aj@suse.de>
9184
9185         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
9186         * errors.c: Likewise.
9187         * final.c: Likewise.
9188         * dwarf2asm.c: Likewise.
9189         * doprint.c (checkit): Likewise.
9190         * diagnostic.c: Likewise.
9191         * collect2.c: Likewise.
9192         * calls.c: Likewise.
9193         * c-semantics.c (build_stmt): Likewise.
9194         * c-format.c (status_warning): Likewise.
9195         * c-errors.c (pedwarn_c99): Likewise.
9196         * builtins.c (validate_arglist): Likewise.
9197         * config/pj/pj.c (pj_printf): Likewise.
9198         * fix-header.c: Likewise.
9199         * gcc.c: Likewise.
9200         * gcov.c (fnotice): Likewise.
9201         * gensupport.c (message_with_line): Likewise.
9202         * mips-tfile.c: Likewise.
9203         * protoize.c (notice): Likewise.
9204         * read-rtl.c (fatal_with_file_and_line): Likewise.
9205         * rtl-error.c: Likewise.
9206         * tradcpp.c: Likewise.
9207         * tree.c: Likewise.
9208         * cp/tree.c (build_min_nt): Likewise.
9209         (build_min): Likewise.
9210         * cp/lex.c: Likewise.
9211         * cp/errfn.c: Likewise.
9212         * cp/rtti.c (create_pseudo_type_info): Likewise.
9213
9214 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
9215
9216         * df.c (df_uses_record): Return after recording all uses
9217         in ASM_OPERANDS.
9218
9219 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
9220
9221         * df.c (df_insn_modify): Realloc the INSN table here, if
9222         necessary, here, too.
9223
9224 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
9225
9226         * config/mips/mips.c (mips_function_value): Handle complex return
9227         values.
9228
9229 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
9230
9231         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
9232         unshared.
9233         * reload.c (make_memloc): Copy result if it is still
9234         reg_equiv_memory_loc[regno] on return.
9235         (subst_reloads) [ENABLE_CHECKING]: Check that none of
9236         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
9237         reg_equiv_mem are modified by the substitutions.
9238
9239 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
9240
9241         * predict.c (expensive_function_p): New.
9242         * rtl.h (expensive_function_p): Declare.
9243         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
9244         (use_fast_prologue_epilogue): New static variable.
9245         (expand_prologue): Set it; emit short prologues if unset.
9246         (expand_epilogue): Likewise.
9247
9248 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
9249
9250         * config.gcc: Add stormy16-*-elf case.
9251         * config/stormy16/stormy-abi: New file.
9252         * config/stormy16/stormy16-lib2.c: New file.
9253         * config/stormy16/stormy16-protos.h: New file.
9254         * config/stormy16/stormy16.c: New file.
9255         * config/stormy16/stormy16.h: New file.
9256         * config/stormy16/stormy16.md: New file.
9257         * config/stormy16/t-stormy16: New file.
9258
9259 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
9260
9261         * i386.h (no-accumulate-outgoing-args): Use proper mask.
9262
9263 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
9264
9265         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
9266         descriptor members are pointer size, not constant 4.
9267         * config/rs6000/rs6000.md (define_splits): Remove more unused
9268         constraints.
9269
9270 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9271
9272         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
9273
9274 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
9275
9276         * cp/rtti.c (VPARAMS): Fix parameter.
9277
9278 2001-08-24  Zack Weinberg  <zackw@panix.com>
9279
9280         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
9281         to zero.
9282         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
9283         to switch.
9284         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
9285         in if controlling use of insv.
9286         (extract_bit_field): Likewise, for extv and extzv.
9287
9288 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
9289
9290         * i386.md (movcc peep2): Fix load of 0.
9291
9292 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9293
9294         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
9295         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
9296
9297 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
9298
9299         * c-pragma.h: Move weak_syms and weak_decls...
9300         * varasm.c: ...here.  Now static.
9301         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
9302         depend on HANDLE_PRAGMA_WEAK.
9303
9304         * c-common.c (c_alignof, c_alignof_expr): Move here...
9305         * c-typeck.c: ...from here.
9306         * c-tree.h, c-common.h: Adjust.
9307
9308 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
9309
9310         * config/ia64/ia64.c (rws_update): If !pred, set write_count
9311         instead of incrementing it.
9312
9313         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
9314         asm ready, don't try to move them all into the same array element.
9315
9316 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
9317
9318         * function.c (thread_prologue_and_epilogue_insns): Avoid
9319         fallthru flag on edge to exit.
9320
9321         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
9322
9323         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
9324         dead edges.
9325
9326 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
9327
9328         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
9329         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
9330         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
9331         Remove prototype.
9332
9333 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
9334
9335         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
9336         replace "GNU CC" with "GCC".
9337
9338 2001-08-23  Richard Henderson  <rth@redhat.com>
9339
9340         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
9341         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
9342         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
9343         Need GR between FR and not GR_AND_FR.
9344         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
9345         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
9346         AR regs before GR regs.
9347         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
9348         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
9349         (REGISTER_MOVE_COST): Update.
9350         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
9351
9352 2001-08-23  Richard Henderson  <rth@redhat.com>
9353
9354         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
9355         a register class.
9356
9357 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
9358
9359         * reload1.c (emit_reload_insns): Don't look for notes
9360         on a NULL store_insn.
9361
9362 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9363
9364         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
9365         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
9366         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
9367         format specifier warnings.
9368         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
9369
9370 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
9371
9372         * config/i386/i386-protos.h: Correct declaration of
9373         i386_pe_asm_named_section.
9374
9375 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9376
9377         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
9378         variable i.
9379         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
9380
9381 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
9382
9383         * cpperror.c (print_location): Don't show _Pragma.
9384         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
9385         and file change callback generation here.
9386         (stack_include_file): Update use of cpp_push_buffer.
9387         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
9388         (struct cpp_buffer): Remove type, pfile members.
9389         * cppinit.c (cpp_handle_option): Use free_chain.
9390         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
9391         (skip_escaped_newlines, get_effective_char, lex_percent): Take
9392         a cpp_reader rather than a cpp_buffer.
9393         (skip_escaped_newlines, get_effective_char, skip_block_comment,
9394         skip_line_comment, parse_string, lex_percent, lex_dot,
9395         _cpp_lex_token): Update accordingly.
9396         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
9397         generation here.
9398         (cpp_push_buffer): Update prototype.
9399         (run_directive): Update use of cpp_push_buffer.
9400         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
9401         handle_assertion): Update use of run_directive.
9402         * cpplib.h (enum cpp_buffer_type): Remove.
9403         (cpp_push_buffer): Update prototype.
9404         * fix-header.c (read_scan_file): Update.
9405
9406 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
9407
9408         * gcc.c (struct prefix_list): Change prefix to const char *.
9409
9410 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
9411
9412         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
9413
9414 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
9415
9416         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
9417         from a new MEM.
9418
9419         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
9420         a squeezable note.
9421         * rtl.h: Adjust.
9422         * ifcvt.c (dead_or_predicable): Adjust.
9423         * loop.c (find_and_verify_loops): Adjust.
9424         * stmt.c (expand_end_case): Adjust.
9425         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
9426         head and end insn pointers in the basic block, not just local copies.
9427         (merge_blocks_move_predecessor_nojumps): Likewise.
9428
9429 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
9430
9431         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
9432         bitmap.h, builtin-types.def, builtins.c, builtins.def,
9433         c-aux-info.c, c-common.c, c-common.def, c-common.h,
9434         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
9435         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
9436         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
9437         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
9438         conditions.h, config.gcc, configure.frag, configure.in,
9439         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
9440         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
9441         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
9442         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
9443         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
9444         emit-rtl.c, errors.c, errors.h, except.c, except.h,
9445         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
9446         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
9447         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
9448         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
9449         gencheck.c, gencodes.c, genconfig.c, genemit.c,
9450         genextract.c, genflags.c, gengenrtl.c, genmultilib,
9451         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
9452         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
9453         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
9454         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
9455         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
9456         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
9457         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
9458         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
9459         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
9460         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
9461         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
9462         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
9463         params.h, predict.c, predict.def, predict.h, prefix.c,
9464         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
9465         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
9466         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
9467         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
9468         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
9469         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
9470         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
9471         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
9472         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
9473         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
9474         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
9475         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
9476         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
9477         xcoffout.h: replace "GNU CC" with "GCC".
9478
9479 2001-08-21  Richard Henderson  <rth@redhat.com>
9480
9481         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
9482         (final_scan_insn): Consider jump tables data even if we have no
9483         independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
9484         ADDR_VEC_ALIGN.
9485         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
9486         (ASM_OUTPUT_CASE_END): Remove.
9487         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
9488         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
9489         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
9490
9491 2001-08-21  Richard Henderson  <rth@redhat.com>
9492
9493         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
9494         at barrier insns.  Emit stop bits before barriers.
9495
9496         * flow.c (flow_find_cross_jump): Don't consider unconditional
9497         return insns for commoning.
9498
9499         * final.c (compute_alignments): Fix typo.
9500
9501         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
9502         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
9503         (store_bit_field): Use mode_for_extraction more places.
9504         (extract_bit_field): Likewise.
9505
9506 2001-08-21  Zack Weinberg  <zackw@panix.com>
9507
9508         * caller-save.c: Don't include insn-codes.h.
9509         (reg_save_code, reg_restore_code): Make arrays of int.
9510         All uses updated to match.
9511         (insert_save, insert_restore): No need to initialize "code"
9512         variable upon declaration.
9513         * Makefile.in: update dependencies; fix typo in clean rule.
9514
9515 2001-08-21  Richard Henderson  <rth@redhat.com>
9516
9517         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
9518         (merge_if_block): Handle fallout from same.
9519
9520 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9521
9522         * builtins.c (type_to_class): Fix typo in last change.
9523
9524 2001-08-21  Richard Henderson  <rth@redhat.com>
9525
9526         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
9527         ia64_asm_output_label.
9528
9529         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
9530         copy of gp while the real gp register contains garbage.
9531
9532 2001-08-21  Zack Weinberg  <zackw@panix.com>
9533
9534         * expmed.c (mode_for_extraction): New function.
9535         (store_bit_field, extract_bit_field): Use it.
9536         * expr.h: Prototype it and provide an enum for its first argument.
9537
9538         * combine.c, function.c, recog.c: Don't include insn-codes.h.
9539         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
9540         and digging through the insn_data tables.
9541         * Makefile.in: Update dependencies.
9542
9543 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
9544
9545         * cppfiles.c (stack_include_file): line-map.c now handles include
9546         depth.
9547         (handle_missing_handler): Similarly.
9548         (_cpp_execute_include): Similarly.
9549         (_cpp_pop_file_buffer): Similarly.
9550         * cpphash.h (struct cpp_reader): Remove system_include_depth,
9551         buffer_stack_depth and include_depth.
9552         * cpplib.c (do_include_common): line-map.c now handles include depth.
9553         (cpp_push_buffer): Similarly.
9554         (_cpp_pop_buffer): Similarly.
9555         * cppmacro.c (builtin_macro): Update.
9556         * line-map.c (init_line_maps): Set depth.
9557         (add_line_map): Increment "used" earlier.  Update and use the
9558         include depth.
9559         (trace_include): Use the include depth.
9560         * line-map.h (struct line_maps): New member depth.
9561
9562 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
9563
9564         * cppfiles.c (stack_include_file): Don't handle -H here.
9565         * cppinit.c (cpp_start_read): Set include tracing after
9566         cpp_post_options and after stacking the main file.
9567         * line-map.c (trace_include): New.
9568         (init_line_maps, add_line_map): Update.
9569         * line-map.h (struct line_maps): New member trace_includes.
9570
9571 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
9572
9573         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
9574         * cppfiles.c (stack_include_file): Only stack a file if there
9575         is something to do.  Return a boolean indicating whether a
9576         buffer was stacked or not.
9577         (_cpp_execute_include): Similarly.
9578         (_cpp_read_file): Similarly.
9579         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
9580
9581 2001-08-21  Sam Steingold  <sds@gnu.org>
9582
9583         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
9584         (RECACHE): keep obufp_before_macroname up to date
9585
9586 2001-08-21  Zack Weinberg  <zackw@panix.com>
9587
9588         * stmt.c: Don't include insn-codes.h.
9589         (expand_end_case): Machine specific logic moved to expr.c.
9590         No need to worry about __builtin_classify_type.
9591         (check_for_full_enumeration_handling, emit_case_nodes):
9592         Kill #if 0 blocks.
9593
9594         * builtins.o (expand_builtin_classify_type): Split up so code
9595         can be shared with fold_builtin_classify_type.
9596         (type_to_class, fold_builtin_classify_type): New functions.
9597         (fold_builtins): Handle __builtin_classify_type.
9598
9599         * expr.c (do_tablejump): Now static.
9600         (case_values_threshold, try_casesi, try_tablejump): New;
9601         code mostly from stmt.c (expand_end_case).
9602         (expr.h): Update prototypes.
9603
9604         * Makefile.in (stmt.o): Update dependencies.
9605
9606 2001-08-21  Will Cohen  <wcohen@redhat.com>
9607
9608         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
9609         declaration of variable i.
9610         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
9611         declaration of variable i.
9612
9613 2001-08-21  Richard Henderson  <rth@redhat.com>
9614
9615         * crtstuff.c: Fix thinko last change.  Move list tails to start
9616         of CRT_END section.  Tidy ifdefs.
9617         (__EH_FRAME_BEGIN__): Always static for ELF.
9618         (__do_global_ctors_1): Rename from __frame_dummy.
9619         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
9620         name change; don't hide __EH_FRAME_BEGIN__.
9621
9622 2001-08-21  Richard Henderson  <rth@redhat.com>
9623
9624         * gdbinit.in: Move break on exit after break on fancy_abort.
9625
9626         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
9627         sized types.
9628
9629 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
9630
9631         * cpphash.h (_cpp_push_next_buffer): New.
9632         * cppinit.c (do_includes): Remove.
9633         (push_include, free_chain, _cpp_push_next_buffer): New.
9634         (cpp_start_read): Use them to rework command line option handling.
9635         (cpp_handle_option): Combine handling of -include and -imacros.
9636         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
9637         appropriate.  Always insert missing \n at EOF.
9638         * cpplib.c (start_directive): Get the directive position right.
9639         * cppmain.c (cb_file_change): Always print the first line, unless
9640         preprocessed.
9641
9642 2001-08-20  Andreas Jaeger  <aj@suse.de>
9643
9644         * profile.c (compute_branch_probabilities): Remove extra new-line
9645         in error message.
9646         * flow.c (verify_flow_info): Likewise.
9647
9648 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
9649
9650         * basic-block.h (basic_block): Add new field 'flags'.
9651         (BB_REACHABLE): Define.
9652         (expunge_block): Declare.
9653         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
9654         (EXIT_BLOCK_PTR): Ditto.
9655         (expunge_block): Remove static declaration.
9656         (cleanup_cfg): Clear bb->aux on every basic block.
9657         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
9658         computing reachability.
9659         (delete_unreachable_blocks): Delete block b if b->flags has
9660         BB_REACHABLE unset.
9661
9662 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
9663
9664         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
9665
9666 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9667
9668         * sparc.c (sparc_variable_issue): Fix typo in last change.
9669
9670 2001-08-20  Richard Henderson  <rth@redhat.com>
9671
9672         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
9673
9674 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9675
9676         * pa.h (RETURN_IN_MEMORY): Improve comment.
9677
9678 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
9679
9680         * doc/invoke.texi (Profiling options): Clarify the interactions
9681         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
9682
9683 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
9684
9685         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
9686         command.
9687
9688 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
9689
9690         * gcc.c (make_relative_prefix): Allocate a sufficiently large
9691         buffer.
9692
9693 2001-08-20  Richard Henderson  <rth@redhat.com>
9694
9695         * final.c (end_final): Fix typo last change.
9696
9697 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
9698
9699         * cppinit.c (init_standard_includes): The returned buffer
9700         is already malloc-ed.
9701         * gcc.c (add_prefix): Similarly.
9702         * prefix.c (translate_name): Update to support clear buffer
9703         ownership rules.
9704         (update_path): Similarly.  Be sure to free any newly allocated
9705         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
9706         (tr): New function.
9707         * prefix.h (update_path): Update prototype and document.
9708         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
9709         up and update to new buffer ownership rules.
9710         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
9711
9712 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
9713
9714         * final.c (compute_alignments): New function.
9715         (init_insn_lengths): Do not care label_align.
9716         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
9717         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
9718         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
9719         (shorted_branches): Realloc label_align array; do
9720         not call init_insn_lengths; Do not care about loop alignments.
9721         * output.h (compute_alignments): Declare.
9722         * toplev.c (rest_of_compilation): Call compute_alignments.
9723         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
9724
9725         * predict.c (block_info_def): Add npredecesors, remove nvisited;
9726         change visited to tovisit.
9727         (propagate_freq): Use faster traversing algorithm.
9728         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
9729         to tovisit; reverse meaning.
9730
9731         * predict.c (struct block_info_def): Remove nvisited.
9732         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
9733         (estimate_bb_frequencies): Call mark_dfs_back_edges.
9734
9735 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
9736
9737         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
9738         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
9739         (TARGET_FUSED_MADD): New.
9740         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
9741         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
9742         the multiply-add instructions.
9743
9744 2001-08-19  Richard Henderson  <rth@redhat.com>
9745
9746         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
9747         is aligned to pointer size.
9748
9749 2001-08-19  Richard Henderson  <rth@redhat.com>
9750
9751         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
9752         display markers during final schedule.
9753
9754 2001-08-19  Richard Henderson  <rth@redhat.com>
9755
9756         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
9757
9758 2001-08-19  Richard Henderson  <rth@redhat.com>
9759
9760         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
9761         in the same string.
9762         (ASM_NAME_TO_STRING): Remove.
9763         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
9764         in the same string.  Remove support for expressions.
9765
9766 2001-08-19  Richard Henderson  <rth@redhat.com>
9767
9768         * config/i386/i386.md (tablejump): Make an expander; handle
9769         pic relative addressing here.
9770         (tablejump_1): Rename from tablejump_pic.
9771         (casesi): Remove.
9772
9773 2001-08-19  Richard Henderson  <rth@redhat.com>
9774
9775         * regclass.c (fix_register): Fix typo.
9776
9777 2001-08-18  Richard Henderson  <rth@redhat.com>
9778
9779         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
9780         (struct _Unwind_Context): Expand br_loc to hold it.
9781         (uw_frame_state_for): Handle leaf functions better.
9782         (uw_update_reg_address): Update for br_loc change.
9783
9784 2001-08-18  Richard Henderson  <rth@redhat.com>
9785
9786         * crtstuff.c: Move list heads before code that uses them.
9787         (__JCR_LIST__): Remove initial null.
9788         (frame_dummy, __frame_dummy): Do java registration here ...
9789         (__do_global_ctors_aux): ... not here.
9790
9791         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
9792         (__do_global_dtors_aux): Update to match.
9793         (__JCR_LIST__, __do_jv_register_classes): New.
9794         (.init): Call it.
9795         * config/ia64/crtend.asm (__JCR_END__): New.
9796         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
9797         instead of an indirect LTOFF22 reloc.
9798
9799 2001-08-18  Richard Henderson  <rth@redhat.com>
9800
9801         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
9802         * regclass.c (init_reg_sets_1): Fix typo.
9803         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
9804         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
9805         (ia64_compute_frame_size): Make ar.unat live when in use.
9806         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
9807         for ar.pfs; remove ar.unat handling.
9808         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
9809         call-saved.
9810         (PREDICATE_CODES): Add ar_pfs_reg_operand.
9811         * config/ia64/ia64-protos.h: Update decls.
9812         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
9813         (sibcall_pic): Likewise.
9814
9815 2001-08-18  Richard Henderson  <rth@redhat.com>
9816
9817         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
9818         pred_rel_mutex when searching for insn_group_barrier.
9819         * config/ia64/ia64.md (cycle_display): Combine the expander
9820         and insn patterns.
9821
9822         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
9823         bit before asm as needed.
9824
9825 2001-08-18  Richard Henderson  <rth@redhat.com>
9826
9827         * timevar.def (TV_MACH_DEP): New.
9828         * toplev.c (rest_of_compilation): Use it.
9829         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
9830
9831 2001-08-18  Zack Weinberg  <zackw@panix.com>
9832
9833         * unwind-dw2.c (execute_stack_op): Add default aborts to
9834         the inner switches to prevent warnings.
9835
9836 2001-08-18  Richard Henderson  <rth@redhat.com>
9837
9838         * timevar.h (struct timevar_time_def): Change element type to float.
9839         (ticks_to_msec, clocks_to_msec): Likewise.
9840         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
9841         (get_time): Likewise.
9842         (timevar_print): Adjust zero check and printing to match.
9843
9844 2001-08-18  Zack Weinberg  <zackw@panix.com>
9845
9846         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
9847         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
9848         Eliminate overfull or underfull hboxes.
9849
9850 2001-08-18  Zack Weinberg  <zackw@panix.com>
9851
9852         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
9853
9854 2001-08-18  Zack Weinberg  <zackw@panix.com>
9855
9856         * haifa-sched.c: Convert to target hooks.  Macros replaced
9857         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
9858         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
9859         MD_SCHED_FINISH, and HAVE_cycle_display.
9860         * target-def.h (TARGET_SCHED_ADJUST_COST,
9861         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
9862         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
9863         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
9864         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
9865         New hook #defines to be overridden.
9866         (TARGET_SCHED): Bring them all together.
9867         (TARGET_INITIALIZER): Update.
9868         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
9869         instead of 'struct rtx_def *' throughout.
9870         (struct sched): New set of hooks for the scheduler.
9871         * Makefile.in (haifa-sched.o): Depend on target.h.
9872         * doc/tm.texi: Document the new scheduler hooks, together in
9873         their own section, instead of scattered around.
9874         Fix a bunch of underfull/overfull hboxes.
9875
9876         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
9877         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
9878         sparc.h: Don't define any of the old scheduler macros.
9879
9880         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
9881         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
9882         sparc.c: Create hook functions from code extracted from
9883         corresponding target header, or make existing hooks static, as
9884         appropriate.  Set the appropriate entries in targetm.
9885
9886         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
9887         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
9888         rs6000-protos.h, s390-protos.h, sparc-protos.h:
9889         Remove prototypes for functions which are now static.
9890
9891         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
9892         related gunk; the Haifa scheduler is now the only choice.
9893
9894 2001-08-18  Zack Weinberg  <zackw@panix.com>
9895
9896         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
9897         * genopinit.c: Put floating point divide insns in sdiv_optab.
9898         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
9899         * config/gofast.h, config/c4x/c4x.h,
9900         config/ia64/hpux_longdouble.h, config/mips/mips.h,
9901         config/pa/long_double.h, config/rs6000/sysv4.h,
9902         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
9903         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
9904         (init_optabs): Use init_optabv for overflow-trapping optabs.
9905         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
9906         cmp_optab RTX codes so have_insn_for can find them.
9907
9908         * optabs.c (expand_simple_binop, expand_simple_unop,
9909         have_insn_for, gen_sub3_insn): New interfaces.
9910         * expr.h: Prototype new functions.
9911         (enum optab_methods): Move here from optabs.h.
9912
9913         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
9914         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
9915         Use new functions instead of working directly with optabs.
9916         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
9917         unroll.c: Don't include optabs.h.
9918         * caller-save.c, combine.c, function.c, stmt.c: Just include
9919         insn-codes.h, not optabs.h.
9920         * Makefile.in: Update dependencies.
9921
9922         * combine.c (make_compound_operation, simplify_comparison):
9923         Fix typos testing for this or that instruction.
9924
9925 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
9926
9927         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
9928         generating libgcc.a.
9929
9930 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9931
9932         * except.c (TYPE_HASH): Delete.
9933
9934         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
9935         HOST_WIDE_INT.
9936
9937         * tree.c (TYPE_HASH): Delete.
9938
9939         * tree.h (TYPE_HASH): Define.
9940
9941 2001-08-18  Graham Stott  <grahams@redhat.com>
9942
9943         * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
9944         define_split.
9945         (adddi3_internal_2+2): Likewise.
9946         (eh_set_lr_di+1): Likewise.
9947
9948 2001-08-17  Richard Henderson  <rth@redhat.com>
9949
9950         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
9951         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
9952         * dwarf2asm.c: ... here.
9953         * dwarfout.c: Remove them.
9954
9955         * varasm.c (assemble_integer): Add align parameter.
9956         (assemble_real, output_constant, output_constructor): Likewise.
9957         * output.h: Update decls.
9958         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
9959         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
9960         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
9961         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
9962         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
9963         Update all callers.
9964
9965         * final.c (end_final): Abort profile block generation if we
9966         haven't layed it out properly.
9967         * output.h (assemble_eh_integer): Remove stale decl.
9968         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
9969         (min_align): New.
9970         (assemble_integer): Handle unaligned data.
9971         (assemble_real): Abort on unaligned data.
9972         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
9973         anything useful.
9974         (default_dtor_section_asm_out_destructor): Use assemble_align.
9975         (default_named_section_asm_out_constructor): Likewise.
9976         (default_ctor_section_asm_out_constructor): Likewise.
9977         * config/darwin.c (machopic_asm_out_constructor): Likewise.
9978         (machopic_asm_out_destructor): Likewise.
9979         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
9980         (nextstep_asm_out_destructor): Likewise.
9981         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
9982         (vms_asm_out_destructor): Likewise.
9983
9984 2001-08-17  Richard Henderson  <rth@redhat.com>
9985
9986         * config/mips/iris6.h (TARGET_IRIX6): New.
9987         (current_section_name, current_section_flags): New.
9988         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
9989         (MAX_OFILE_ALIGNMENT): New.
9990         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
9991         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
9992         (copy_file_data): Split out from
9993         (mips_asm_file_end): ... here.
9994         (mips_asm_file_start): Remove extra .section directive.  Use
9995         tmpfile instead of mips_make_temp_file.
9996         (mips_unique_section): Use const char * as needed for warnings.
9997         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
9998         re-add align parameter.
9999         (iris6_asm_named_section): New.
10000         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
10001         (iris6_asm_output_align, iris6_section_align_1): New.
10002         (iris6_asm_file_start, iris6_asm_file_end): New.
10003         * config/mips/mips-protos.h: Update decls.
10004
10005 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
10006
10007         * doc/install.texi (Install GCC): Add links to build status pages.
10008         (Specific): Ditto.
10009         (Final install): Ditto; request updates for specific info
10010
10011 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
10012
10013         * cpperror.c (print_location):  Don't take a file name; use the
10014         line map instead.
10015         (_cpp_begin_message): Similarly.
10016         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
10017         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
10018         (cpp_pedwarn_with_file_and_line): Remove.
10019         * cppfiles.c (stack_include_file): Update; set filename to stdin
10020         here when appropriate.
10021         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
10022         (_cpp_begin_message): Don't take a file name.
10023         * cppinit.c: Add comment.
10024         * cpplex.c: Fix end-of-directive indicator.
10025         * cpplib.c: Don't include intl.h.
10026         (run_directive, do_diagnostic): Update.
10027         (do_line): Update to not use nominal_fname.
10028         (cpp_push_buffer): Don't take a filename.
10029         * cpplib.h (struct ht): Remove.
10030         (cpp_push_buffer): Don't take a filename.
10031         (cpp_pedwarn_with_file_and_line): Remove.
10032         * cppmacro.c (struct cpp_macro): Remove file.
10033         (builtin_macro): Update.
10034         (_cpp_create_definition): Update.
10035         * cppmain.c: Correct comment.
10036         * fix-header.c (read_scan_file): Update.
10037
10038 2001-08-17  Kazu Hirata  <kazu@hxi.com>
10039
10040         * sbitmap.c: Fix comment formatting.
10041         * sched-deps.c: Likewise.
10042         * sibcall.c: Likewise.
10043         * simplify-rtx.c: Likewise.
10044         * ssa.c: Likewise.
10045         * ssa-ccp.c: Likewise.
10046         * stor-layout.c: Likewise.
10047         * timevar.c: Likewise.
10048         * toplev.c: Likewise.
10049         * unwind-dw2.c: Likewise.
10050         * unwind-dw2-fde.c: Likewise.
10051         * varasm.c: Likewise.
10052
10053 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10054
10055         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
10056         or larger than an integer in memory.
10057
10058 2001-08-17  Zack Weinberg  <zackw@panix.com>
10059
10060         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
10061         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
10062         * rtl.h: Don't forward-declare union tree_node here.  Don't
10063         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
10064         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
10065         and tree respectively.
10066         * tree.h: Don't forward-declare struct rtx_def here.  Don't
10067         typedef tree here.  Change all uses of struct rtx_def *,
10068         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
10069         and tree respectively.
10070
10071 2001-08-17  Richard Henderson  <rth@redhat.com>
10072
10073         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
10074         config/mips/openbsd.h: Fix typos last change.
10075
10076 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10077
10078         * doc/invoke.texi (Optimize Options): The default for
10079         -finline-limit is 600.
10080
10081 2001-08-17  Richard Henderson  <rth@redhat.com>
10082
10083         * varasm.c (text_section): Allow TEXT_SECTION to override the
10084         printing of TEXT_SECTION_ASM_OP.
10085         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
10086         (DATA_SECTION, BSS_SECTION): Remove.
10087         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
10088         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
10089         Rename from s/_NAME//.
10090         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
10091         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
10092         (TEXT_SECTION): ... here.  New.
10093         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
10094         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
10095         * config/mips/openbsd.h: Likewise.
10096         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
10097         (mips_asm_file_end): Likewise test.
10098         (mips_output_function_epilogue): Likewise.  Switch back to data
10099         section after emitting the function.
10100
10101         * doc/tm.texi (Sections): Document TEXT_SECTION.
10102
10103 2001-08-17  Richard Henderson  <rth@redhat.com>
10104
10105         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
10106         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
10107
10108 2001-08-17  Richard Henderson  <rth@redhat.com>
10109
10110         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
10111         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
10112         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
10113         Add aligned attribute.
10114
10115 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
10116
10117         * config/sh/sh.md: Add modes to unspecs in first insn to match
10118         those in the second.
10119
10120         * Makefile.in: Fix collect2 copy for Cygwin.
10121
10122 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
10123
10124         Install the proper patch.
10125         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
10126         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
10127         (expand_function_start): Likewise.
10128         * stmt.c (expand_decl): Likewise.
10129         * varasm.c (make_decl_rtx): Likewise.
10130
10131 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
10132
10133         * final.c: Undo my previous accidental checkin.
10134         * output.h: Likewise.
10135         * tm.texi: Likewise.
10136
10137 2001-08-16  Richard Henderson  <rth@redhat.com>
10138
10139         * varasm.c (named_section_flags): Remove align parameter.
10140         * varasm.c, dwarf2out.c: Update all callers.
10141         * output.h: Update prototypes.
10142
10143         * target.h (target.asm_out.named_section): Remove align parameter.
10144         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
10145         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
10146         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
10147         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
10148         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
10149
10150         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
10151         (get_named_section_flags, set_named_section_flags): New.
10152         (named_section_flags): Use them.
10153         (named_section): Do decl vs section flags check here...
10154         (default_section_type_flags): ... not here.
10155         (init_varasm_once): Create in_named_htab.
10156         (resolve_unique_section): Mark reloc unused.
10157
10158 2001-08-16  Richard Henderson  <rth@redhat.com>
10159
10160         * varasm.c (force_const_mem): Keep pool alignment in bits.
10161         (output_constant_pool): Use assemble_align.
10162
10163 2001-08-16  Zack Weinberg  <zackw@panix.com>
10164
10165         * doc/tm.texi: Remove extra @table command.
10166
10167 2001-08-16  Zack Weinberg  <zackw@panix.com>
10168
10169         * final.c (shorten_branches): Clear the end of the label_align
10170         array only if we made it larger.  Break up messy expressions
10171         for clarity.
10172
10173         * diagnostic.c (internal_error): Check for error recursion
10174         before doing ICE suppression.
10175
10176         * timevar.c: Timing variables now count in milliseconds.
10177         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
10178         (get_time): Not here.
10179         (timevar_print): Don't print any timer whose user, cpu, and
10180         wall times are all zero as displayed.
10181         * timevar.h: Update comment aboout units.  Make timevar
10182         counters unsigned.
10183
10184 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
10185
10186         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
10187         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
10188         (expand_function_start): Likewise.
10189         * stmt.c (expand_decl): Likewise.
10190         * varasm.c (make_decl_rtx): Likewise.
10191
10192 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
10193
10194         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
10195         (finalize_record_size): Don't set TYPE_USER_ALIGN.
10196
10197 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
10198
10199         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
10200         variables.
10201
10202 2001-08-16  Andreas Jaeger  <aj@suse.de>
10203
10204         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
10205         prototype.
10206
10207 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
10208
10209         * rtl.h (only_sets_cc0_p): New prototype.
10210         * jump.c (sets_cc0_p): Handle INSN.
10211         (only_sets_cc0_p): New function.
10212         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
10213         (tidy_fallthru_edge): Likewise.
10214         * integrate.c (copy_insn_list): Likewise.
10215         * unroll.c (unroll_loop): Likewise.
10216         (copy_loop_body): Likewise.
10217
10218 2001-08-15  Jason Eckhardt  <jle@redhat.com>
10219
10220         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
10221
10222 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
10223
10224         * predict.c (struct block_info_def): Remove nvisited.
10225         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
10226         (estimate_bb_frequencies): Call mark_dfs_back_edges.
10227
10228         * i386.c (ix86_agi_dependant): Lea causes AGI only on the Pentium
10229         (ix86_adjust_cost): Teach scheduler that latency to load operand can
10230         be masked.
10231
10232 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
10233
10234         * predict.def: Update hitrates.
10235
10236 2001-08-15  Richard Henderson  <rth@redhat.com>
10237
10238         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
10239
10240 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
10241
10242         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
10243         note from its associated jump.
10244
10245 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
10246
10247         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
10248         also on 64-bit s390x targets.
10249
10250 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
10251
10252         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
10253         function.
10254         (arm_expand_prologue): Handled nested functions which take a
10255         variable argument list.
10256         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
10257         macro with an invocation of
10258         arm_compute_initial_elimination_offset.
10259         * config/arm/arm-protos.h: Prototype
10260         arm_compute_initial_elimination_offset.
10261
10262 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10263
10264         * doc/install.texi (Specific, avr): Fix markup.
10265         (Specific, c4x): Ditto.
10266
10267 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
10268
10269         * predict.c (dump_prediction): Change `bool' parameter to `int'.
10270
10271 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
10272
10273         * Makefile.in (OBJS): Add rtl-error.o
10274         (rtl-error.o): New rule.
10275         (diagnostic.o): Adjust dependency.
10276         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
10277         error_for_asm, _fatal_insn, _fatal_insn_not_found,
10278         warning_for_asm): Move to...
10279         rtl-error.c: ...here.  New file.
10280
10281 2001-08-14  Richard Henderson  <rth@redhat.com>
10282
10283         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
10284         if USING_SJLJ_EXCEPTIONS.
10285
10286 2001-08-14  Steve Ellcey <sje@cup.hp.com>
10287
10288         * tlink.c (scan_linker_output): Check string for unsatisfied in
10289         addition to undefined and unresolved.
10290
10291 2001-08-14  Graham Stott  <grahams@redhat.com>
10292
10293         * libgcc2.c (*): Replace EH_FRAME_SECTION with
10294         EH_FRAME_SECTION_NAME.
10295
10296 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
10297
10298         * genattrtab.c (simplify_test_exp_in_temp): New function.
10299         (simplify_test_exp): Avoid explicit use of temporary obstack.
10300         (simplify_cond, insert_right_side, evaluate_eq_attr,
10301         simplify_and_tree, simplify_or_tree, eliminate_known_true):
10302         Use simplify_test_exp_in_temp.
10303         (optimize_attrs): Iterate until expression stabilizes.
10304
10305 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
10306
10307         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
10308         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
10309
10310 2001-08-13  Richard Henderson  <rth@redhat.com>
10311
10312         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
10313         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
10314         * config/arm/conix-elf.h: Likewise.
10315
10316 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
10317
10318         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
10319         in gcc.c.
10320         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
10321
10322         * gcse.c (hash_scan_set): Expressions that are set as part of
10323         jump instructions are not available.
10324
10325 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
10326
10327         * config/s390/s390.c (print_operand, s390_function_prologue,
10328         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
10329
10330 2001-08-13  Richard Henderson  <rth@redhat.com>
10331
10332         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
10333         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
10334         * doc/tm.texi (Exception Region Output): Document it.
10335
10336 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
10337
10338         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
10339         DWARF2 instead of stabs by default.
10340
10341 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
10342
10343         * config/rs6000/rs6000.c: Include optabs.h.
10344
10345 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
10346
10347         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
10348         save/restore routines.
10349         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
10350
10351 2001-08-13  Andreas Jaeger  <aj@suse.de>
10352
10353         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
10354         the english is correct.
10355
10356 2001-08-13  Zack Weinberg  <zackw@panix.com>
10357
10358         * expr.h: Split out optab- and libfunc-related code to...
10359         * optabs.h, libfuncs.h: ... these new headers.
10360
10361         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
10362         (OPTABS_H): New.
10363         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
10364         dependencies.
10365         * mkconfig.sh: Don't include insn-codes.h from config.h.
10366
10367         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
10368         enum insn_code is available.  Move reload_in_optab and
10369         reload_out_optab array declarations to optabs.h.
10370         * regmove.c (gen_add3_insn): Move to optabs.c, export from
10371         there, prototype in expr.h.
10372         * gencodes.c: Cleanup: zap global variables, don't use
10373         printf where puts will do, don't bother defining MAX_INSN_CODE
10374         which nothing uses, let CODE_FOR_nothing get its value implicitly.
10375
10376         * genemit.c, genopinit.c: Include optabs.h in generated file.
10377         * genoutput.c: Include insn-codes.h in generated file.
10378         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
10379         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
10380         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
10381         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
10382         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
10383         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
10384         Include optabs.h.
10385         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
10386         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
10387         config/m88k/m88k.c, config/sparc/sparc.c:
10388         Include libfuncs.h.
10389         * reload.c: Include expr.h and optabs.h before reload.h.
10390         * config/alpha/alpha.c: Include tree.h before reload.h.
10391         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
10392         and reload.h in that order.
10393         * config/sparc/sparc.c: Include debug.h.
10394         * recog.c: Include insn-codes.h.
10395
10396 2001-08-13  Andreas Jaeger  <aj@suse.de>
10397
10398         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
10399         s390*linux.
10400
10401 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
10402
10403         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
10404         * gcc.c (init_spec): Fix typo in comment.
10405         * varasm.c (data_section): Fix typo in comment.
10406
10407 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
10408
10409         * predict.c (dump_prediction): New argument "USED".
10410         (combine_predictions_for_insn): Determine the used heuristics,
10411         output the case no heuristic applied.
10412         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
10413
10414 2001-08-13  Andreas Jaeger  <aj@suse.de>
10415
10416         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
10417         register %rip.
10418
10419 2001-08-13  Kazu Hirata  <kazu@hxi.com>
10420
10421         * jump.c: Fix formatting.
10422
10423 2001-08-13  Kazu Hirata  <kazu@hxi.com>
10424
10425         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
10426         length.
10427
10428 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
10429
10430         * loop.c (check_dbra_loop): Use condjump_label to compute
10431         jump_label.
10432
10433         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
10434         to better document the files they're in.
10435
10436 2001-08-12  Zack Weinberg  <zackw@panix.com>
10437
10438         * recog.h (struct insn_operand_data): Shrink 'mode' field
10439         to 16 bits.
10440
10441 2001-08-12  Kazu Hirata  <kazu@hxi.com>
10442
10443         * gcc.c: Fix comment formatting.
10444         * gccspec.c: Likewise.
10445         * gcov.c: Likewise.
10446         * gcse.c: Likewise.
10447         * genemit.c: Likewise.
10448         * gengenrtl.c: Likewise.
10449         * genrecog.c: Likewise.
10450         * gensupport.c: Likewise.
10451         * ggc-page.c: Likewise.
10452         * global.c: Likewise.
10453         * graph.c: Likewise.
10454         * ifcvt.c: Likewise.
10455         * integrate.c: Likewise.
10456         * lcm.c: Likewise.
10457         * libgcc2.c: Likewise.
10458         * loop.c: Likewise.
10459         * mbchar.c: Likewise.
10460         * optabs.c: Likewise.
10461         * predict.c: Likewise.
10462         * prefix.c: Likewise.
10463         * profile.c: Likewise.
10464         * protoize.c: Likewise.
10465         * real.c: Likewise.
10466         * recog.c: Likewise.
10467         * regclass.c: Likewise.
10468         * regmove.c: Likewise.
10469         * reg-stack.c: Likewise.
10470         * reload1.c: Likewise.
10471         * resource.c: Likewise.
10472         * rtlanal.c: Likewise.
10473         * rtl.c: Likewise.
10474
10475 2001-08-12  Kazu Hirata  <kazu@hxi.com>
10476
10477         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
10478         a tree representing a constant is passed to the macro.
10479
10480 2001-08-12  Richard Henderson  <rth@redhat.com>
10481
10482         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
10483         (rs6000_elf_asm_out_destructor): New.
10484         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
10485         (DTORS_SECTION_ASM_OP): Remove.
10486         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10487         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
10488
10489 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
10490
10491         Revert:
10492         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10493         * gcc.c (set_collect_gcc_options): New function, split out from
10494         main.
10495         Ignore elided switches.
10496         (do_spec_1): Invoke before executing command.
10497         (set_input): Export.
10498         Move declaration ...
10499         * gcc.h (set_input): ... here.
10500         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
10501         file.
10502
10503 2001-08-12  Richard Henderson  <rth@redhat.com>
10504
10505         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
10506         thinko wrt TARGET_RELOCATABLE.
10507
10508 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
10509
10510         * fix-header.c (cb_file_change): Update prototype.
10511
10512 2001-08-11  Zack Weinberg  <zackw@panix.com>
10513
10514         * toplev.c (set_float_handler): Make static.
10515         * toplev.h: Don't prototype set_float_handler.
10516
10517         * simplify-rtx.c: Don't include setjmp.h.
10518         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
10519         New functions.
10520         (simplify_unary_operation, simplify_binary_operation): Use them,
10521         via do_float_handler.
10522
10523         * fold-const.c: Don't include setjmp.h.
10524         (exact_real_inverse_1): New function.
10525         (exact_real_inverse): Use it, via do_float_handler.
10526
10527         * varasm.c: Don't include setjmp.h.
10528         (assemble_real_1): New function.
10529         (assemble_real): Use it, via do_float_handler.
10530         Call internal_error if we get a trap here.
10531
10532         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
10533         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
10534
10535 2001-08-11  Zack Weinberg  <zackw@panix.com>
10536
10537         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
10538         STACK_BOUNDARY if not already defined.
10539
10540         * calls.c, function.c, reload1.c, explow.c: Don't default
10541         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
10542         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
10543
10544         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
10545         to run-time test.
10546
10547         * doc/tm.texi: Document that STACK_BOUNDARY is required;
10548         clarify difference between it and PREFERRED_STACK_BOUNDARY.
10549
10550 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
10551
10552         * cppmacro.c (enter_macro_context): Push macro expansions even
10553         if empty.
10554
10555 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10556
10557         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
10558         (rs6000_elf_section_type_flags): Actually return a value.
10559
10560 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
10561
10562         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
10563         Clean up code: add missing comments and prototypes, fix warnings,
10564         remove obsolete code, fix spacing to conform to coding style.
10565
10566 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
10567
10568         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
10569         and TARGET_ASM_CLOSE_PAREN.
10570         (regclass_map): CC register belongs to class NO_REGS.
10571         (legitimize_pic_address): Don't generate unnecessary moves
10572         (to avoid confusing loop optimization).
10573         (check_and_change_labels): Replace jump_long by indirect_jump.
10574         (s390_final_chunkify): Don't start a new literal pool on section
10575         switch in 64-bit code.
10576         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
10577
10578         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
10579         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
10580         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
10581         modes correctly.
10582         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
10583         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
10584         (CONST_COSTS): Fixed incorrect costs.
10585
10586         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
10587         Use emit_jump instead of emit_jump_insn (gen_jump).
10588         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
10589         (to avoid confusing flow analysis).
10590         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
10591         (casesi, casesi_jump): New.
10592         (jump_long): Removed.  Functionality merged into indirect_jump.
10593         (indirect_jump): Accept address_operand, not just register_operand.
10594         (cjump_long, icjump_long): Use same logic as indirect_jump.
10595         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
10596         Fixed broken setjmp/longjmp handling.
10597         (do_builtin_setjmp_setup): Removed.
10598
10599         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
10600         broken GNU as versions that don't accept .quad with large
10601         negative values.  Use hexadecimal output instead.
10602         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
10603         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
10604         FUNCTION_EPILOGUE): Removed.  Now in targetm.
10605
10606         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
10607
10608         * config/s390/fixdfdi.h: Add missing copyright statement.
10609         Fix type conflicts on 64-bit.  Add missing SFmode routines.
10610
10611         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
10612         email address.
10613
10614 2001-08-11  Richard Henderson  <rth@redhat.com>
10615
10616         * rtl.h (REG_EH_RETHROW): Remove.
10617         * rtl.c (reg_note_name): Update.
10618         * combine.c (distribute_notes): Don't check for it.
10619
10620 2001-08-11  Richard Henderson  <rth@redhat.com>
10621
10622         * combine.c (distribute_notes): Place REG_SETJMP.
10623
10624 2001-08-11  Richard Henderson  <rth@redhat.com>
10625
10626         * doc/extend.texi (Arrays and pointers implementation): Discourage
10627         relying on sign-extension of pointers.
10628
10629 2001-08-11  H.J. Lu <hjl@gnu.org>
10630
10631         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
10632         in_dtors.
10633         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
10634         RDATA_SECTION_ASM_OP.
10635
10636 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10637
10638         * doc/install.texi (Specific, c4x): Fix cross-reference to the
10639         main manual to work both for info and HTML versions.
10640
10641 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
10642             Matt Kraai <kraai@alumni.carnegiemellon.edu>
10643
10644         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
10645         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
10646         (struct cpp_pool): New member first.
10647         * cppinit.c (append_include_chain): Plug memory leaks.
10648         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
10649         Allocate pragma structures from the (aligned) macro pool to
10650         avoid leaking memory.
10651         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
10652         so we don't leak memory.
10653         * hashtable.c (ht_destroy): New.
10654         * hashtable.h (ht_destroy): New.
10655
10656 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
10657             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10658
10659         * c-lex.c (map): Make const.
10660         (cb_file_change): Update for callback passing a line map.
10661         Don't assume we have a previous map.  Remove sanity check
10662         about popping too many files.
10663         * cpperror.c (print_location): Make map const.
10664         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
10665         (cpp_make_system_header): Similarly.
10666         (search_from): Similarly.
10667         (_cpp_execute_include): Don't remember where we came from.
10668         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
10669         (struct cpp_reader): Make map const.
10670         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
10671         * cpplib.c (do_line): Update; line maps now hold sysp.
10672         (cpp_push_buffer): Similarly.
10673         (_cpp_do_file_change): Similarly; callback with map instead.
10674         (cpp_get_line_maps): Constify return value.
10675         (_cpp_pop_buffer): Update.
10676         * cpplib.h (struct cpp_file_change): Remove.
10677         (struct cpp_callbacks): Update.
10678         (cpp_get_line_maps): Constify return value.
10679         * cppmacro.c (_cpp_create_definition): Update.
10680         * cppmain.c (struct printer): Constify map.
10681         (maybe_print_line): Similarly.
10682         (print_line): Similarly.  Deduce flags 1 and 2 here.
10683         (cb_file_change): Update.
10684         * line-map.c (free_line_maps): Warn regardless.
10685         (add_line_map): Return pointer to const.  When passed NULL to_file
10686         with LC_LEAVE, use the obvious values for the return point so the
10687         caller doesn't have to figure them out.
10688         (lookup_line): Return pointer to const.
10689         (print_containing_files): Take pointer to const.
10690         * line-map.h (struct line_map): New members reason, sysp.
10691         (add_line_map): Return pointer to const.
10692         (lookup_line): Similarly.
10693         (print_containing_files): Take pointer to const.
10694
10695 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
10696             Richard Henderson  <rth@redhat.com>
10697
10698         * regmove.c (regmove_optimize): Avoid setting a register twice in
10699         a parallel set.
10700
10701 2001-08-10  Richard Henderson  <rth@redhat.com>
10702
10703         * doc/extend.texi (Arrays and pointers implementation): Document
10704         behavior of pointer/integer conversion.
10705
10706 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
10707
10708         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
10709
10710 2001-08-10  Richard Henderson  <rth@redhat.com>
10711
10712         * doc/extend.texi (C Implementation): New chapter.
10713         * doc/gcc.texi (Top): Link it in.
10714
10715 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
10716
10717         * doc/install.texi (Specific): Fix CVS merge botch.
10718
10719 2001-08-10  Richard Henderson  <rth@redhat.com>
10720
10721         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
10722         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
10723
10724 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
10725
10726         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
10727         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
10728         this macro is now required.
10729
10730         * cselib.c (cselib_process_insn), flow.c (propagate_block),
10731         loop.c (find_and_verify_loops), reload.c (reload): Check
10732         for rtx code of CALL_INSN, not CALL, when deciding if we
10733         need to check for REG_SETJMP note.
10734
10735         * gcse.c (compute_hash_table, compute_store_table): Update
10736         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
10737         logic.
10738
10739         * config/avr/avr.c: Fix typo.
10740         * config/convex/convex.c (expand_movstr): Use adjust_address.
10741         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
10742         variable.
10743         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
10744         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
10745         Fix typo.
10746         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
10747         Do define STACK_BOUNDARY.
10748         * config/i370/i370.c: Include expr.h.
10749         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
10750         config/pa/som.h, config/v850/v850.h: Take in_ctors and
10751         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
10752         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
10753         * config/m88k/m88k.c: Include c-tree.h after expr.h.
10754         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
10755         * config/romp/romp.c: Include expr.h after tree.h.
10756         Include toplev.h.
10757         (output_fpop): Use xmalloc, not oballoc.
10758         * config/we32k/we32k.c: Include expr.h.
10759
10760 2001-08-10  Kazu Hirata  <kazu@hxi.com>
10761
10762         * config/h8300/h8300.h: Fix formatting.
10763
10764 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
10765
10766         * c-common.h (RETURN_NULLIFIED_P): Lose.
10767         * c-semantics.c (genrtl_return_stmt): Don't check it.
10768
10769 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
10770
10771         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
10772         (mips_annotate_frame_insn): New function.
10773         (mips_emit_frame_related_store): New function.
10774         (save_restore_insns): Don't mark instructions that set up the base
10775         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
10776         the store instructions instead.
10777         (mips_expand_prologue): If the stack size is moved into a temporary
10778         register, do not mark that move as frame-related.  Add a
10779         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
10780
10781 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
10782
10783         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
10784         stack slot as unchanging if current_function_calls_eh_return.
10785
10786 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
10787
10788         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
10789         access the second half of the TFmode scratch operand.
10790
10791 2001-08-10  Anthony Green  <green@redhat.com>
10792
10793         * java/class.c (emit_register_classes): Conditionalize code on
10794         JCR_SECTION_NAME.
10795
10796 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10797
10798         * doc/install.texi (Specific, avr): Fix cross-reference to the
10799         main manual to work both for info and HTML versions.
10800
10801 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10802
10803         * stmt.c (expand_null_return_1): Remove code to generate simple returns
10804         and "use_goto" argument.
10805         (expand_null_return, expand_value_return): Update all callers.
10806         * function.c (expand_function_end): Remove code to generate simple
10807         return.
10808         * config/vax/vax.md (epilogue): New expander for function return.
10809         * doc/md.texi (epilogue): Remove "if defined".
10810
10811 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
10812
10813         * Makefile.in: Partially revert my previous change:
10814         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
10815         of the hashtab.o and safe-ctype.o rules.
10816
10817 2001-08-09  Richard Henderson  <rth@redhat.com>
10818
10819         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
10820         (USE_COLLECT2): Remove duplicate definition.
10821         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
10822         (use_collect2): Remove dead code.
10823         * configure.in (use_collect2): Remove will_use_collect2 and
10824         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
10825         * configure: Rebuild.
10826
10827         * target.h (targetm.asm_out.constructor): New.
10828         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
10829         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
10830         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
10831         * varasm.c (in_ctors, in_dtors): New.
10832         (assemble_constructor, assemble_destructor): Remove.
10833         (default_stabs_asm_out_destructor): New.
10834         (default_named_section_asm_out_destructor): New.
10835         (dtors_section, default_dtor_section_asm_out_destructor): New.
10836         (default_stabs_asm_out_constructor): New.
10837         (default_named_section_asm_out_constructor): New.
10838         (ctors_section, default_ctor_section_asm_out_constructor): New.
10839         * output.h: Update declarations.
10840         * c-decl.c (c_expand_body): Use target hooks instead of
10841         assemble_constructor and assemble_destructor.
10842         * profile.c (output_func_start_profiler): Likewise.
10843         * objc/objc-act.c (finish_objc): Likewise.
10844         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
10845         for the constructor.
10846         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
10847
10848         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
10849         (DTORS_SECTION_ASM_OP): Likewise.
10850         (__CTOR_LIST__): Use attribute section when possible.
10851         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
10852
10853         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
10854         ASM_OUTPUT_CONSTRUCTOR.
10855
10856         * config/darwin.c (machopic_asm_out_constructor): New.
10857         (machopic_asm_out_destructor): New.
10858         * config/darwin-protos.h: Update declarations.
10859         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10860         (ASM_OUTPUT_DESTRUCTOR): Remove.
10861         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10862         * config/nextstep.c (nextstep_asm_out_constructor): New.
10863         (nextstep_asm_out_destructor): New.
10864         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10865         (ASM_OUTPUT_DESTRUCTOR): Remove.
10866         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10867         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
10868         ASM_OUTPUT_*STRUCTOR.
10869         * config/i386/aix386ng.h: Likewise.
10870
10871         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
10872         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
10873         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
10874         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
10875         * config/lynx.h: Likewise.
10876         * config/netware.h: Likewise.
10877         * config/psos.h: Likewise.
10878         * config/alpha/alpha-interix.h: Likewise.
10879         * config/alpha/elf.h: Likewise.
10880         * config/arc/arc.h: Likewise.
10881         * config/arm/aof.h: Likewise.
10882         * config/arm/coff.h: Likewise.
10883         * config/arm/elf.h: Likewise.
10884         * config/c4x/c4x.h: Likewise.
10885         * config/h8300/h8300.h: Likewise.
10886         * config/i386/cygwin.h: Likewise.
10887         * config/i386/djgpp.h: Likewise.
10888         * config/i386/i386-coff.h: Likewise.
10889         * config/i386/i386-interix.h: Likewise.
10890         * config/i386/sco5.h: Likewise.
10891         * config/i386/vsta.h: Likewise.
10892         * config/i386/win32.h: Likewise.
10893         * config/i960/i960-coff.h: Likewise.
10894         * config/ia64/sysv4.h: Likewise.
10895         * config/m68hc11/m68hc11.h: Likewise.
10896         * config/m68k/coff.h: Likewise.
10897         * config/m68k/mot3300.h: Likewise.
10898         * config/m88k/m88k.h: Likewise.
10899         * config/mcore/mcore-pe.h: Likewise.
10900         * config/mcore/mcore.h: Likewise.
10901         * config/mips/elf.h: Likewise.
10902         * config/mips/elf64.h: Likewise.
10903         * config/mips/iris6.h: Likewise.
10904         * config/pa/pa64-hpux.h: Likewise.
10905         * config/rs6000/sysv4.h: Likewise.
10906         * config/sh/sh.h: Likewise.
10907         * config/sparc/litecoff.h: Likewise.
10908
10909         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
10910         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
10911         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
10912         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10913         (ASM_OUTPUT_DESTRUCTOR): Remove.
10914         * config/a29k/a29k.c: Move include of tree.h.
10915         * config/a29k/udi.h: Delete file.
10916         * config/alpha/alpha.c (vms_asm_out_constructor): New.
10917         (vms_asm_out_destructor): New.
10918         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
10919         (EXTRA_SECTION_FUNCTIONS): Likewise.
10920         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
10921         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10922         * config/c4x/c4x.c: Move include of tree.h.
10923         * config/clipper/clipper.c (clix_asm_out_constructor): New.
10924         (clix_asm_out_destructor): New.
10925         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10926         (ASM_OUTPUT_DESTRUCTOR): Remove.
10927         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10928         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10929         (TARGET_ASM_CONSTRUCTOR): New.
10930         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
10931         (sco_asm_out_constructor): New.
10932         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
10933         * config/i386/svr3gas.h: Remove stack grows up code.
10934         Remove code duplicated from i386/sysv3.h.
10935         (TARGET_ASM_CONSTRUCTOR): New.
10936         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
10937         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
10938         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10939         (TARGET_ASM_CONSTRUCTOR): New.
10940         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
10941         (m68hc11_asm_out_destructor): New.
10942         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
10943         (TARGET_ASM_DESTRUCTOR): New.
10944         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
10945         * config/m68k/dpx2.h: Properly undef all the bits inherited from
10946         config/svr3.h pertaining to section manipulation.
10947         * config/m68k/dpx2g.h: Remove #if 0 code.
10948         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
10949         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
10950         (ASM_OUTPUT_CONSTRUCTOR): Remove.
10951         (TARGET_ASM_CONSTRUCTOR): New.
10952         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
10953         (m88k_svr3_asm_out_constructor): New.
10954         (m88k_svr3_asm_out_destructor): New.
10955         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10956         (ASM_OUTPUT_DESTRUCTOR): Remove.
10957         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10958         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
10959         * config/rs6000/aix.h: Likewise.
10960         * config/mips/rtems64.h: Don't undef removed constructor related bits.
10961         * config/mips/vxworks.h: Likewise.
10962         * config/rs6000/lynx.h: Likewise.
10963         * config/sh/elf.h: Likewise.
10964         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
10965         (DTORS_SECTION_ASM_OP): New.
10966         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10967         (ASM_OUTPUT_DESTRUCTOR): Remove.
10968         * config/sparc/sol2-sld-64.h: Likewise.
10969         * config/vax/vax.c (vms_asm_out_constructor): New.
10970         (vms_asm_out_destructor): New.
10971         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10972         (ASM_OUTPUT_DESTRUCTOR): Remove.
10973         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10974
10975         * doc/tm.texi (@node Initialization): Update.
10976
10977 2001-08-09  Richard Henderson  <rth@redhat.com>
10978
10979         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
10980         (__do_global_dtors_aux): Use gp-relative static data to avoid
10981         one dynamic relocation.
10982         (__do_frame_setup): Register Java classes.
10983         * config/alpha/crtend.asm (__JCR_END__): New.
10984
10985 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
10986
10987         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
10988         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
10989         (GEN, STAGESTUFF): Add new files.
10990         (insn-constants.h, s-constants, tm-preds.h, s-preds,
10991         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
10992         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
10993         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
10994         as well as insn-codes.h and insn-flags.h in config.h; and no
10995         extra headers in tconfig.h and hconfig.h.
10996
10997         * gencodes.c: Eliminate code to generate predicate declarations
10998         or #defines for md-file constants.
10999         * genconstants.c, genpreds.c: New files.
11000
11001         * i386.md: Re-order guard expressions such that TARGET_64BIT
11002         comes first, when this permits better optimization.  Add
11003         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
11004         why this is desirable.
11005
11006 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
11007
11008         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
11009         (find_fde_for_dso): Remove.
11010         (_Unwind_IteratePhdrCallback): New.
11011         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
11012         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
11013
11014 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11015
11016         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
11017         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
11018
11019 2001-08-09  Graham Stott  <grahams@redhat.com>
11020
11021         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
11022         (vis_no_unit): Use it.
11023         (visualize_no_unit): Add the insn only if room exists.
11024
11025 2001-08-09  Graham Stott  <grahams@redhat.com>
11026
11027         * predict.c (estimate_probability): Replace magic numbers with
11028         appropriate enumeration.
11029
11030 2001-08-09  Graham Stott  <grahams@redhat.com>
11031
11032         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
11033         parameter.
11034         (EXTRACT_FLAGS): Likewise.
11035
11036 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
11037
11038         * config/mips/mips.c    (mips_legitimate_address_p): Check for
11039         CONST_INT in last patch.
11040
11041 2001-08-08  Anthony Green  <green@redhat.com>
11042
11043         * java/class.c (emit_register_classes): Use assemble_jcr if
11044         possible.  Keep the original mechanism as a fallback.
11045         * defaults.h (JCR_SECTION_NAME): Define if we have named section
11046         and weak symbol support.
11047         * crtstuff.c (__JCR_LIST__): Define.
11048         (__JCR_END__): Define.
11049         (_Jv_RegiserClasses): Define weak symbol if possible.
11050         (__do_global_ctors_aux): Register classes for ELF targets with
11051         weak symbol support.
11052
11053 2001-08-08  Kazu Hirata  <kazu@hxi.com>
11054
11055         * dbxout.c: Fix comment formatting.
11056         * dependence.c: Likewise.
11057         * df.c: Likewise.
11058         * diagnostic.c: Likewise.
11059         * dominance.c: Likewise.
11060         * doprint.c: Likewise.
11061         * dwarf2out.c: Likewise.
11062         * dwarfout.c: Likewise.
11063         * emit-rtl.c: Likewise.
11064         * except.c: Likewise.
11065         * explow.c: Likewise.
11066         * expmed.c: Likewise.
11067         * expr.c: Likewise.
11068         * flow.c: Likewise.
11069         * fold-const.c: Likewise.
11070         * function.c: Likewise.
11071
11072 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11073
11074         * global.c (retry_global_alloc): Avoid shadowing allocno.
11075
11076 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
11077
11078         * except.c (remove_fixup_regions): Fix typo.
11079
11080 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
11081
11082         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
11083         unsigned HOST_WIDE_INT to avoid warning.
11084         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
11085         * flow.c (set_block_for_new_insns): Likewise.
11086
11087 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
11088
11089         * sibcall.c (return_value_pseudo): New static variable.
11090         (skip_copy_to_return_value): Handle return_value_pseudo.
11091         (call_ends_block_p): Ensure that return_value_pseudo is set.
11092         (optimize_sibling_and_tail_recursive_call): Discover the
11093         load of pseudo return value in alternate exit block.
11094
11095 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
11096
11097         * calls.c (ECF_ALWAYS_RETURN): New constant.
11098         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
11099         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
11100         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
11101         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
11102         * rtl.c (reg_note_name): New name.
11103         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
11104
11105 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
11106
11107         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
11108
11109 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
11110
11111         * alias.c (get_alias_set): Return a previously calculated
11112         alias set for a VAR_DECL.
11113         * function.c (gen_mem_addressof): Calculate the alias set before
11114         touching the RTL.
11115
11116 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
11117
11118         * predict.def: Set hitrates according our experimental run.
11119
11120 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
11121
11122         * i386.h (HARD_REGNO_RENAME_OK): New macro.
11123
11124 2001-08-08  H.J. Lu <hjl@gnu.org>
11125
11126         * config/mips/mips.c (mips_unique_section): New. Copied from
11127         config/mips/elf.h.
11128
11129         * config/mips/mips-protos.h (mips_unique_section): New
11130         prototype.
11131
11132         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
11133
11134         * config/mips/little.h: New. Generic little endian mips
11135         targets. Only mips*-*-linux* is converted to use it so far.
11136
11137         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
11138         (WCHAR_TYPE): Defined
11139         (WCHAR_TYPE_SIZE): Likewise.
11140         (INIT_SUBTARGET_OPTABS): Likewise.
11141         (BSS_SECTION_ASM_OP): Likewise.
11142         (SBSS_SECTION_ASM_OP): Likewise.
11143         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
11144         (ASM_DECLARE_OBJECT_NAME): Likewise.
11145         (UNIQUE_SECTION): Likewise.
11146         (EXTRA_SECTIONS): Likewise.
11147         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
11148         (ASM_OUTPUT_DESTRUCTOR): Likewise.
11149         (ASM_OUTPUT_DEF): Likewise.
11150         (HANDLE_SYSV_PRAGMA): Removed.
11151         (NO_IMPLICIT_EXTERN_C): Likewise.
11152         (TARGET_MEM_FUNCTIONS): Likewise.
11153         (STARTFILE_SPEC): Likewise.
11154         (ENDFILE_SPEC): Likewise.
11155         (LIB_SPEC): Likewise.
11156         (INVOKE__main): Likewise.
11157         (CTOR_LIST_BEGIN): Likewise.
11158         (CTOR_LIST_END): Likewise.
11159         (DTOR_LIST_BEGIN): Likewise.
11160         (DTOR_LIST_END): Likewise.
11161         (SET_ASM_OP): Likewise.
11162         (ASM_OUTPUT_SOURCE_LINE): Likewise.
11163         (ASM_OUTPUT_DEF): Likewise.
11164         (ASM_OUTPUT_IDENT): Likewise.
11165
11166         * config/mips/mips.h (ASM_SPEC): Undefine before define.
11167         (CPLUSPLUS_CPP_SPEC): Likewise.
11168         (ASM_APP_ON) Redefine only if not defined.
11169         (ASM_APP_OFF): Likewise.
11170         (ASM_OUTPUT_SOURCE_LINE): Likewise.
11171         (ASM_OUTPUT_IDENT): Likewise.
11172
11173         * config.gcc: Update tm_file for Linux/mips.
11174
11175 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
11176
11177         * cselib.c (cselib_record_sets): If insn is predicated, turn
11178         sources into IF_THEN_ELSEs.
11179
11180         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
11181         Turn into define_insn_and_split.
11182
11183         * sched-deps.c: Include "cselib.h".
11184         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
11185         Use cselib to turn memory addresses into VALUEs.
11186         (sched_analyze): Call cselib_init/cselib_finish if necessary.
11187         * sched-int.h (struct sched_info): New member USE_CSELIB.
11188         * sched-ebb.c (ebb_sched_info): Initialize it.
11189         * sched-rgn.c (rgn_sched_info): Likewise.
11190         * Makefile.in (sched-deps.o): Update dependencies.
11191
11192         * cselib.h (cselib_subst_to_values): Declare.
11193         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
11194         that have no value and autoincs to be handled by generating a new
11195         dummy value.
11196
11197 2001-08-08  Graham Stott  <grahams@redhat.com>
11198
11199         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
11200         within fixed length SEQUENCE.
11201
11202 2001-08-08  Graham Stott  <grahams@redhat.com>
11203
11204         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
11205         (diagnostic_prefixing_rule): Likewise.
11206         (diagnostic_line_cutoff): Likewise.
11207         (diagnostic_kind_count): Likewise.
11208
11209 2001-08-08  Graham Stott  <grahams@redhat.com>
11210
11211         * alias.c (find_base_decl): Delete redundent assignment.
11212
11213 2001-08-08  Graham Stott  <grahams@redhat.com>
11214
11215         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
11216         (abs): Uppercase and paranthesize macro parameter.
11217         (MEM_DEPENDENCY): Add whitespace.
11218
11219 2001-08-08  Graham Stott  <grahams@redhat.com>
11220
11221         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
11222         failure check for CONST_INT
11223
11224 2001-08-08  Graham Stott  <grahams@redhat.com>
11225
11226         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
11227         (libcall_dead_p): Likewise.
11228
11229         (mark_used_regs): Constify fmt.
11230         (find_use_as_address): Likewise.
11231
11232 2001-08-08  Graham Stott  <grahams@redhat.com>
11233
11234         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
11235          parameter.
11236
11237 2001-08-08  Graham Stott  <grahams@redhat.com>
11238
11239         * combine.c (combine_simplify_rtx): Update comment and
11240         remove erroneous test.
11241
11242 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
11243
11244         * cppinit.c (cpp_finish): Pop the final buffer without comment.
11245         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
11246         take care to avoid multiple no-newline at EOF warnings in that
11247         case.
11248
11249 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
11250
11251         * calls.c (expand_call): Do not emit INSN_SETJMP note.
11252         (emit_library_call_value_1): Likewise.
11253         (emit_call_1): Emit REG_SETJMP note.
11254         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
11255         of INSN_SETJMP
11256         * cselib.c (cselib_process_insn): Likewise.
11257         * flow.c (propagate_block): Likewise.
11258         * loop.c (find_and_verify_loops): Likewise.
11259         * reload.c (find_equiv_regs): Likewise.
11260         * reload1.c (reload): Likewise.
11261         * resource.c (mark_referenced_resources,
11262         mark_set_resources): Likewise.
11263         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
11264         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
11265         * haifa-sched.c (unlink_other_notes): Likewise.
11266         (reemit_notes): Likewise.
11267         * sched-ebb.c (sched_ebb): Likewise.
11268         * sched-rgc.c (sched_region): Likewise.
11269         * rtl.c (note_insn_name): Likewise.
11270         (reg_note_name): Add REG_SETJMP
11271         * rtl.h (reg_note): Add REG_SETJMP.
11272         (insn_note): Remove NOTE_INSN_SETJMP.
11273
11274         * profile.c (branch_prob): Add fake edges for setjmp.
11275
11276 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
11277
11278         * config.gcc: Quote target_cpu_default2 correctly for
11279         powerpc*-*-* targets.
11280
11281 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
11282
11283         * cpplib.h, line-map.h: Update comments.
11284         * cppmain.c (printer_init): Move inline.
11285         (maybe_print_line, print_line): Take a map pointer.
11286         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
11287         (cb_file_change): Don't use prior value of print.map.
11288
11289 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
11290
11291         * doc/install.texi: Document fine-grained multilib configuration.
11292
11293 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
11294
11295         * rtlanal.c (find_first_parameter_load): Call note_stores
11296         only on the instructions.
11297
11298 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
11299
11300         * alias.c (nonlocal_mentioned_p):
11301         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
11302         * calls.c (emit_call_1): Likewise.
11303         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
11304         * cselib.c (cselib_process_insn): Likewise.
11305         * df.c (df_insns_modify): Likewise.
11306         * flow.c (need_fake_edge_p): Likewise.
11307         (propagate_one_insn): Likewise.
11308         * haifa-sched.c (reemit_notes): Likewise.
11309         * integrate.c (copy_insn_list): Likewise.
11310         * jump.c (delete_prior_computation): Likewise.
11311         * local-alloc.c (validate_equiv_mem): Likewise.
11312         * loop.c (scan_loop): Likewise.
11313         * predict.c (estimate_probability): Likewise.
11314         * reload.c (reload): Likewise.
11315         * sched-deps (sched_analyze): Likewise.
11316         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
11317         * gcse.c (compute_hash_table): Likewise.
11318         (mark_call): Likewise.
11319         (store_killed_in_insn): Likewise.
11320
11321 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
11322
11323         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
11324
11325 2001-08-06  Richard Henderson  <rth@redhat.com>
11326
11327         * varasm.c (assemble_gc_entry): Remove.
11328         * output.h: Likewise.
11329
11330 2001-08-06  Richard Henderson  <rth@redhat.com>
11331
11332         * varasm.c (assemble_constructor): Take a symbol_ref and a
11333         priority instead of a bare string.  Move priority handling
11334         here from cp/decl2.c.
11335         * output.h: Update decls.
11336
11337         * c-decl.c (c_expand_body): Update calls to assemble_constructor
11338         and assemble_destructor.
11339         * profile.c (output_func_start_profiler): Likewise.
11340         * objc/objc-act.c (finish_objc): Likewise.
11341         (build_module_descriptor): Return the symbol not the symbol name.
11342
11343 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
11344
11345         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
11346         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
11347         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
11348         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
11349         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
11350         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
11351
11352 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
11353
11354         * cpperror.c (print_containing_files): Moved to line-map.c.
11355         (print_location): line-map.c handles re-listing or otherwise.
11356         * cpphash.h (struct lexer_state): Remove next_bol.
11357         (struct cpp_buffer): Remove include_stack_listed.
11358         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
11359         Remove faked buffer handling.
11360         (_cpp_do_file_change): Tweak.
11361         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
11362         * cppmain.c (struct printer): Remove filename.
11363         (print_line, cb_file_change): Update accordingly.
11364         * line-map.c: Include intl.h.
11365         (init_line_maps): Initialize last_listed.
11366         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
11367         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
11368         (print_containing_files): New.
11369         * line-map.h (struct line_maps): New member last_listed.
11370         (print_containing_files, INCLUDED_FROM): New.
11371         * Makefile.in: Update.
11372         * po/POTFILES.in: Add line-map.c.
11373
11374 2001-08-06  Richard Henderson  <rth@redhat.com>
11375
11376         * except.c (convert_from_eh_region_ranges_1): Never mark
11377         USE or CLOBBER insns as throwing.
11378
11379         * expr.c (store_constructor): Don't clobber memory targets.
11380
11381 2001-08-06  Andreas Jaeger  <aj@suse.de>
11382
11383         * profile.c (branch_prob): Remove unused variable insn.
11384
11385         * Makefile.in (local-alloc.o): Add dependency on except.h.
11386
11387         * local-alloc.c: Include except.h for can_throw_internal prototype.
11388
11389 2001-08-06  Richard Henderson  <rth@redhat.com>
11390
11391         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
11392         * function.c (expand_main_function): Implement it.
11393         * doc/tm.texi: Document it.
11394
11395 2001-08-06  Stan Shebs  <shebs@apple.com>
11396
11397         * doc/install.texi: Document powerpc-*-darwin* details.
11398
11399 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
11400
11401         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
11402         (ASM_CPU_SPEC): Move back to rs6000.h
11403         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
11404
11405         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
11406
11407         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
11408         readded.
11409
11410         * config/rs6000/linux64.h: Ditto.
11411
11412         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
11413         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
11414         nothing.
11415
11416         Remove accidently readded definitions of FUNCTION_PROLOGUE,
11417         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
11418
11419         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
11420         to rs6000.h
11421
11422 2001-08-05  Richard Henderson  <rth@redhat.com>
11423
11424         * local-alloc.c (update_equiv_regs): Do not move insns that
11425         can throw.
11426
11427 2001-08-05  Jan Hubicka  <jh@suse.cz>
11428
11429         * Makefile.in (reload1.o): Add dedendancy on except.h
11430         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
11431         prototypes.
11432         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
11433         indicating wehther edges has been cleaned up.
11434         * reload1.c: Inlucde except.h
11435         (fixup_abnormal_edges): Accept deleted insns.
11436         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
11437         after combine.
11438
11439 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
11440
11441         * cpplib.c (do_line): Correct line number after pop_buffer.
11442
11443 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
11444
11445         PR preprocessor/3824
11446         * line-map.c: Update comments.
11447         * line-map.h: Update comments.
11448         * tradcif.y: Don't consider large numbers unsigned.
11449
11450 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
11451
11452         PR preprocessor/3081
11453         * c-lex.c (map): New.
11454         (cb_file_change): Update map and use it.
11455         (cb_def_pragma, cb_define, cb_undef): Use map and line.
11456         (c_lex): Update to use map.
11457         * cpperror.c (print_location): Move to using logical line numbers.
11458         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
11459         (cpp_make_system_header): Similarly.
11460         (_cpp_execute_include): Stop line numbering hacks.  Store the
11461         line we will return to.
11462         * cpphash.h (CPP_BUF_LINE): Remove.
11463         (struct cpp_buffer): Remove lineno and pseudo_newlines.
11464         Add map and return_to_line.
11465         (_cpp_do_file_change): Update.
11466         * cppinit.c (cpp_start_read): Update line kludge.
11467         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
11468         (trigraph_ok): Use logical line numbers for diagnostics.
11469         (skip_block_comment): Likewise.
11470         (skip_whitespace): Likewise.
11471         (skip_line_comment): Use pfile->line instead.
11472         (_cpp_lex_token): Update to use logical line numbering exclusively.
11473         Handle BOL locally.  Accept new lines in directives, but keep
11474         pfile->line decremented.  Diagnostics use logical lines.  Update
11475         directive handling.
11476         * cpplib.c (SEEN_EOL): New.
11477         (skip_rest_of_line, check_eol): Use it.
11478         (end_directive): Increase line number when accepting the newline
11479         at the end of a directive.
11480         (run_directive): Simplify.
11481         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
11482         (_cpp_do_file_change): Update to take buffer line number as an
11483         argument, and store the current map in the cpp_reader.  Remove
11484         line number kludges.
11485         (_cpp_do__Pragma): Restore output position after a _Pragma.
11486         (cpp_push_buffer): Don't set output line or lineno.
11487         (_cpp_pop_buffer): Transfer more info from a faked buffer.
11488         Remove line kludge.  Set output_line.
11489         * cppmacro.c (builtin_macro): Update handling of __LINE__.
11490         (parse_arg): Use logical lines.
11491         (save_lookahead_token): Save EOFs too now.
11492         * cppmain.c (struct printer): Fix comments.
11493         (printer_init): Simplify, let caller do errors.
11494         (scan_translation_unit, check_multiline_token, dump_macro): Update.
11495         (maybe_print_line): Simplify.
11496         (print_line): Don't print a linemarker if -P.
11497         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
11498         (cb_file_change): Simplify.
11499         * line-map.h (LAST_SOURCE_LINE): Fix.
11500         (CURRENT_LINE_MAP): New.
11501
11502 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
11503
11504         * doloop.c (doloop_modify_runtime): Properly compute number of
11505         iterations if loop was unrolled.
11506
11507         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
11508         if their CSELIB_VAL_PTRs are.
11509
11510         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
11511         (setup_spill_pointers): Initialize it.
11512         (spill_restore_mem): Set it.
11513         (do_spill, do_restore): Use it to add REG_INC note.
11514         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
11515
11516         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
11517         asms if other insns are available.
11518
11519         * config/ia64/ia64.c (condop_operator): New predicate.
11520         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
11521         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
11522         patterns.
11523
11524         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
11525         temporary register than directly using a MEM.
11526
11527 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
11528
11529         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
11530         parameter in last change.
11531
11532 2001-08-04  Zack Weinberg  <zackw@panix.com>
11533
11534         * sparc.md: Don't use #if inside C test expression.
11535
11536 2001-08-04  Richard Henderson  <rth@redhat.com>
11537
11538         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
11539
11540 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
11541
11542         * cpphash.h (struct cpp_reader): New member directive_line.
11543         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
11544         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
11545         do_pragma): Pass line to callbacks.
11546         (start_directive): Record line of directive.
11547         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
11548         cb_include): Similarly.
11549         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
11550         Similarly.
11551
11552 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
11553
11554         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
11555         comment.
11556
11557 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
11558
11559         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
11560
11561         * reload1.c (fixup_abnormal_edges): New static function.
11562         (reload): Use it.
11563
11564         * flow.c (need_fake_edge_p): New function.
11565         (flow_call_edges_add): Fix handling of noreturn and sibling calls;
11566         avoid call insn to be very last insn in the insn stream.
11567
11568         * profile.c (branch_prob): Call flow_call_edges_add instead of
11569         doing that by hand; cleanup cfg to re-merge basic blocks once
11570         we are done.
11571
11572 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11573
11574         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
11575         are also on line-map.h.
11576         * cppfiles.c (stack_include_file): Update.
11577         * cpphash.h (struct cpp_buffer): New member return_at_eof.
11578         (_cpp_pop_buffer): New.
11579         * cppinit.c (cpp_destroy, cpp_finish): Update.
11580         (do_includes): Mark each buffer to return at EOF.
11581         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
11582         return as requested.
11583         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
11584         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
11585         * cpplib.h (cpp_pop_buffer): Remove.
11586         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
11587         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
11588         buffers.
11589         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
11590         to pop buffers.
11591         (do_preprocessing): Update.
11592         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
11593         * c-parse.in (_yylex): Similarly.
11594         * scan-decls.c (scan_decls): Similarly.
11595         * line-map.h: Update comments.
11596
11597         * objc/Make-lang.in (objc-act.o): Update dependencies.
11598
11599 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11600
11601         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
11602         and soft register for operand 0.
11603         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
11604
11605 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11606
11607         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
11608         register for operand 0.
11609         ("bitcmpqi_z_used"): Allow memory for operand 0.
11610         (split "bitcmpqi"): New split to handle address reg as operand 1.
11611
11612 2001-08-04  Andreas Jaeger  <aj@suse.de>
11613
11614         * gcse.c: Revert Daniel's last patch.
11615
11616 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
11617
11618         * sparc-protos.h: Add prototypes for fp_zero_operand and
11619         reg_or_0_operand.
11620         * sh-protos.h: Add prototype for fpul_operand.
11621
11622 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
11623
11624         * doc/extend.texi (Other Builtins): Fix typo in last change.
11625
11626 2001-08-03  Richard Henderson  <rth@redhat.com>
11627
11628         * target.h (gcc_target): Add asm_out.named_section,
11629         section_type_flags, have_named_sections.
11630         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
11631         (TARGET_HAVE_NAMED_SECTIONS): New.
11632         (TARGET_SECTION_TYPE_FLAGS): New.
11633
11634         * Makefile.in (toplev.o): Depend on TARGET_H.
11635         (varasm.o, dbxout.o): Likewise.
11636         * c-common.c (decl_attributes): Check targetm.have_named_sections
11637         instead of ifdef ASM_OUTPUT_SECTION_NAME.
11638         * dbxout.c (dbxout_function_decl): Likewise.
11639         (dbxout_function_end): Likewise.
11640         * toplev.c (compile_file): Likewise.
11641         * varasm.c (exception_section): Likewise.
11642         * cp/decl2.c (finish_objects): Likewise.
11643
11644         * defaults.h (EH_FRAME_SECTION): Remove.
11645         (EH_FRAME_SECTION_ASM_OP): Remove.
11646         (EH_FRAME_SECTION_NAME): New.
11647         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
11648         (UNIQUE_SECTION_P): Remove.
11649         * dwarf2out.c (SECTION_FORMAT): Remove.
11650         (ASM_OUTPUT_SECTION): Remove.
11651         (output_call_frame_info): Use named_section_flags.
11652         (output_comp_unit, dwarf2out_start_source_file): Likewise.
11653         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
11654         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
11655         * varasm.c (in_eh_frame, eh_frame_section): Remove.
11656         (named_section_flags): New.
11657         (named_section): Use it and targetm.section_type_flags.
11658         (resolve_unique_section): New.
11659         (assemble_start_function): Use it.
11660         (asm_emit_uninitialised, assemble_variable): Likewise.
11661         (default_section_type_flags): New.
11662         (default_no_named_section, default_elf_asm_named_section): New.
11663         (default_coff_asm_named_section, default_pe_asm_named_section): New.
11664         * output.h: Update varasm.c decls.
11665         (SECTION_*): New flags.
11666
11667         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
11668         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
11669
11670         * config/elfos.h (UNIQUE_SECTION_P): Remove.
11671         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
11672         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
11673         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
11674         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
11675         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
11676         * config/mips/elf.h, config/mips/elf64.h: Likewise.
11677         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
11678         * config/pa/pa64-hpux.h,
11679
11680         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
11681         (TARGET_ASM_NAMED_SECTION): New.
11682         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
11683         * config/alpha/vms.h, config/arm/coff.h: Likewise.
11684         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
11685         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
11686         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
11687         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
11688         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
11689         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
11690         * config/i386/sco5.h, config/i386/win32.h: Likewise.
11691         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
11692         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
11693         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
11694         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
11695         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
11696         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
11697         * config/sparc/sysv4.h: Likewise.
11698
11699         * config/nextstep.h: Error until named sections implemented.
11700
11701         * config/a29k/a29k.c (a29k_asm_named_section): New.
11702         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
11703         (vms_section_type_flags, vms_asm_named_section): New.
11704         * config/arm/arm.c (arm_elf_asm_named_section): New.
11705         * config/avr/avr.c (asm_output_section_name): Remove.
11706         * config/avr/avr-protos.h: Update.
11707         * config/c4x/c4x.c (c4x_asm_named_section): New.
11708         * config/h8300/h8300.c (h8300_asm_named_section): New.
11709         * config/i386/i386.c (sco_asm_named_section): New.
11710         * config/i386/winnt.c (SECTION_PE_SHARED): New.
11711         (i386_pe_section_type_flags): New.
11712         (i386_pe_asm_named_section): New.
11713         * config/i386/i386-protos.h: Update.
11714         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
11715         * config/mcore/mcore.c (mcore_asm_named_section): New.
11716         * config/mips/mips.c (iris6_asm_named_section): New.
11717         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
11718         instead of UNIQUE_SECTION_P.
11719         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
11720         (xcoff_asm_named_section): New.
11721         * config/sh/sh.c (sh_asm_named_section): New.
11722         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
11723
11724         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
11725         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
11726         (EH_FRAME_SECTION_NAME): New.
11727         (EXCEPTION_SECTION): New.
11728         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
11729         (DEBUG_*_SECTION): Remove.
11730         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
11731         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
11732         (EH_FRAME_SECTION_ASM_OP): Remove.
11733
11734         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
11735         (ASM_OUTPUT_SECTION_NAME): Remove.
11736         (TARGET_ASM_NAMED_SECTION): New.
11737         (TARGET_HAVE_NAMED_SECTIONS): New.
11738         (TARGET_SECTION_TYPE_FLAGS): New.
11739         (EH_FRAME_SECTION_ASM_OP): Remove.
11740         (EH_FRAME_SECTION_NAME): New.
11741
11742 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
11743
11744         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
11745         for complex expressions when cfun == 0.
11746         * doc/extend.texi: Document that __builtin_constant_p can be
11747         used in data initializers as well as functions.
11748
11749 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
11750
11751         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
11752         variable I locally, instead of expecting a declaration in the
11753         calling context.
11754
11755 2001-08-03  Richard Henderson  <rth@redhat.com>
11756
11757         * except.c (collect_one_action_chain): Add an explicit cleanup
11758         action if regions surrounding a catch were encoded entirely
11759         within the call-site entry.
11760
11761 2001-08-03  Richard Henderson  <rth@redhat.com>
11762
11763         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
11764         don't take REGNO of a non-register.
11765
11766 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11767
11768         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
11769         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
11770         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
11771         (__gthread_mutex_init_function): New function for mutex initialization.
11772
11773 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
11774
11775         * Makefile.in: Revert screwed up commit.
11776
11777 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11778
11779         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
11780         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
11781         merged by linker script to get a final _exit().
11782         (__do_global_dtors): New for destructor handling in specific exit
11783         section.
11784         (__do_global_ctors): New for constructors in specific install section.
11785         (__map_data_section): Map data sections before running constructors.
11786         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
11787         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
11788         (DTORS_SECTION_ASM_OP): Likewise.
11789         (CTORS_SECTION_FUNCTION): Define to force a reference to
11790         __do_global_ctors.
11791         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
11792
11793 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
11794
11795         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
11796
11797         * Makefile.in: Add df.h to gcse.c dependencies.
11798
11799 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11800
11801         * varasm.c (output_constant_def_contents): Use for the length of a
11802         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
11803         depending on which is larger.
11804
11805 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
11806
11807         * gcse.c: Include df.h for use as a dataflow analyzer.
11808         Remove regvec.
11809         Declaration of reg_set_info: gone.
11810         New df_analyzer variable used by store motion.
11811         (reg_set_info): Deleted.
11812         (mark_mem_regs): New function, analyze regs used by a mem.
11813         (store_ops_ok): Use dataflow analyzer results to determine if
11814         necessary regs are changed in the block.
11815         (find_moveable_store): Remove check for symbol ref, we can handle
11816         much more complex expressions now.
11817         (compute_store_table): Remove most of the code, it's unnecessary
11818         now that the dataflow analyzer records the info for us.
11819         (store_killed_after): Add parameter to say whether to do the
11820         store_ops_okay test, used to speed up testing when we already know
11821         the answer, and just want to know if the store itself was killed.
11822         (build_store_vector): Largely rewritten to calculate the various
11823         vectors properly, and somewhat optimized.
11824         (store_motion): Init the df_analyzer, get REG_DEF chains.
11825         Also handle trapping expressions (since mems almost always trap)
11826         (simple_mem): Redefine what a simple mem is.
11827
11828 2001-08-03  DJ Delorie  <dj@redhat.com>
11829
11830         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
11831         set from a constant part of the condition.
11832
11833 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
11834
11835         * mkdeps.c (deps_add_default_target): Make local variable
11836         ``start'' a const char pointer.
11837         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
11838
11839 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11840
11841         * doc/install.texi (Configuration): Fix markup.
11842         (Specific, i?86-*-udk): Likewise.
11843         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
11844         --with-gnu-ld.
11845         Document --enable-threads and --enable-libgcj status.
11846         (Specific, mips-sgi-irix*): Canonicalize triples.
11847         (Specific, mips-sgi-irix5): Warn about problems with this config.
11848         Mention required GNU as patch.
11849         Native assembler problems are fixed.
11850         (Specific, mips-sgi-irix6): Update O32 ABI support status.
11851         Document --enable-threads and --enable-libgcj status.
11852
11853 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
11854
11855         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
11856         of mkinstalldirs.
11857
11858 2001-08-03  Richard Henderson  <rth@redhat.com>
11859
11860         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
11861         constant data.
11862
11863 2001-08-03  Richard Henderson  <rth@redhat.com>
11864
11865         * rtlanal.c (find_first_parameter_load): Stop if we
11866         reach a CODE_LABEL at BOUNDARY.
11867
11868 2001-08-03  Richard Henderson  <rth@redhat.com>
11869
11870         * config/alpha/alpha.md (force_movdi): New insn.
11871         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
11872         Tweek FRP marking of VMS prologue insns.
11873         * config/alpha/vms.h (EPILOGUE_USES): New.
11874
11875 2001-08-02  Richard Henderson  <rth@redhat.com>
11876
11877         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
11878
11879 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
11880
11881         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
11882         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
11883         config/convex/convex.h, config/d30v/d30v.c,
11884         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
11885         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
11886         config/mips/mips.h, config/mn10200/mn10200.h,
11887         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
11888         config/v850/v850.h, config/vax/openbsd.h,
11889         config/vax/openbsd1.h, config/vax/ultrix.h,
11890         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
11891         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
11892         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
11893         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
11894         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
11895         in comments and documentation.
11896
11897 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11898
11899         * line-map.c: New.
11900         * line-map.h: New.
11901         * Makefile.in (line-map.o): New.
11902         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
11903         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
11904         * cpperror.c (print_containing_files): Similarly.
11905         (print_location): Update.  Don't output a space before _Pragma.
11906         * cppfiles.c (stack_include_file): Set to line 1 immediately.
11907         (stack_include_filee, cpp_make_system_header): Update.
11908         (_cpp_execute_include): Get logical line number right for calling
11909         as-yet-unterminated #include.
11910         * cpphash.h (struct cpp_reader): Add line_maps.
11911         (_cpp_do_file_change): Update.
11912         * cppinit.c (cpp_create_reader): Initialize line maps.
11913         (cpp_destroy): Destroy line maps.
11914         (cpp_start_read): Get logical line number right.
11915         * cpplex.c (parse_string): Only warn once for multi-line strings.
11916         Use boolean variable for null warning.
11917         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
11918         already.
11919         (do_include_common): End the directive early.
11920         (do_line): Don't warn about out-of-range lines in preprocessed
11921         source.  Update.  Remove unused variables.
11922         (_cpp_do_file_change): Update for new line mapping.
11923         (pragma_cb): New typedef.
11924         (cpp_register_pragma): Stop looking ahead before calling the
11925         handler.  Clean up.
11926         (do_pragma_system_header): End directive early.
11927         (cpp_get_line_maps): New.
11928         (cpp_pop_buffer): Fudge logical line.  Update.
11929         * cpplib.h: Include line-map.h
11930         (enum cpp_fc_reason): Remove.
11931         (struct cpp_file_change): Update.
11932         (cpp_get_line_maps): New.
11933         * cppmain.c (struct_printer): New member map.
11934         (cb_file_change): Update for new mappings.
11935         * fix-header.c (cb_file_change): Similarly.
11936
11937 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
11938
11939         * Makefile.in (libgcc.mk): Define mkinstalldirs.
11940         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
11941
11942 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
11943
11944         * config/vax/vax.c: include expr.h.
11945
11946 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
11947
11948         * Makefile.in ($(srcdir)/configure): Only rebuild in
11949         maintainer mode.
11950         ($(srcdir)/config.in): Only define in maintainer mode.
11951         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
11952
11953 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
11954
11955         * doc/install.texi (Install GCC: Binaries): Update Bull info.
11956
11957 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11958
11959         * gcc.c (set_collect_gcc_options): New function, split out from
11960         main.
11961         Ignore elided switches.
11962         (do_spec_1): Invoke before executing command.
11963         (set_input): Export.
11964         Move declaration ...
11965         * gcc.h (set_input): ... here.
11966         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
11967         file.
11968
11969 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
11970
11971         Kill -fhonor-std.
11972         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
11973         interaction.
11974         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
11975
11976 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
11977
11978         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
11979         for the unnamed instructions it expands to.
11980
11981 2001-08-02  Richard Henderson  <rth@redhat.com>
11982
11983         * regclass.c (call_really_used_regs): Conditionally define.
11984         (init_reg_sets_1): Don't use it if not defined.
11985         (fix_register): Similarly, don't set it.
11986
11987 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11988
11989         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
11990         Correct comment that had been missed in the previous change.
11991
11992 2001-08-01  Stan Shebs  <shebs@apple.com>
11993
11994         * config/darwin.c (machopic_stub_name): Try matching by name.
11995         (update_stubs): New function.
11996         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
11997         unconditionally.
11998
11999 2001-08-01  Richard Henderson  <rth@redhat.com>
12000
12001         * except.c (output_function_exception_table): Use assemble_align.
12002         * varasm.c (assemble_eh_label): Remove.
12003         (assemble_eh_align, assemble_eh_integer): Remove.
12004
12005 2001-08-01  Robert Lipe  <robertl@caldera.com>
12006
12007         * dwarfout.c: Remove reference to README.DWARF.
12008
12009 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
12010
12011         * regclass.c (call_really_used_regs): New array for registers which
12012         are actually used by a call.
12013         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
12014         new array.
12015         (fix_register): Set call_really_used too.
12016         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
12017         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
12018
12019 2001-08-01  Richard Henderson  <rth@redhat.com>
12020
12021         * read-rtl.c (read_name): Consider \r whitespace.
12022
12023 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
12024
12025         * config.gcc: Recognize powerpc-*-netbsd*.
12026
12027         * doc/install.texi (Host/target specific installation notes for
12028         GCC): Mention powerpc-*-netbsd*.
12029
12030         * config/rs6000/netbsd.h: New file.
12031         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
12032         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
12033         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
12034         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
12035         (TARGET_VERSION): Redefine.
12036
12037         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
12038         mcall-netbsd as a match for mcall-sysv.
12039         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
12040         (ncrti.S, ncrtn.S): New targets.
12041         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
12042
12043         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
12044         "netbsd' as a V4 ABI.
12045         (ASM_SPEC): Check for -mcall-netbsd.
12046         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
12047         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
12048         (LIB_SPEC, ENDFILE_SPEC): Ditto.
12049         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
12050         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
12051         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
12052         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
12053
12054         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
12055         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
12056
12057 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
12058
12059         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
12060         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
12061         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
12062         including "unwind-pe.h".
12063
12064 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
12065
12066         * rs6000.md (define_splits): Kill unused constraints.
12067
12068 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
12069                               Jan Hubicka  <jh@suse.cz>
12070
12071         * function.c (thread_prologue_and_epilogue_insns): Kill code
12072         dealing with non-existent CFG.
12073
12074 2001-08-01  Kazu Hirata  <kazu@hxi.com>
12075
12076         * alias.c: Fix comment formatting.
12077         * bitmap.c: Likewise.
12078         * builtins.c: Likewise.
12079         * calls.c: Likewise.
12080         * c-common.c: Likewise.
12081         * c-decl.c: Likewise.
12082         * c-dump.c: Likewise.
12083         * c-lex.c: Likewise.
12084         * collect2.c: Likewise.
12085         * combine.c: Likewise.
12086         * conflict.c: Likewise.
12087         * cppfiles.c: Likewise.
12088         * cppinit.c: Likewise.
12089         * cpplex.c: Likewise.
12090         * cpplib.c: Likewise.
12091         * cppmacro.c: Likewise.
12092         * cppspec.c: Likewise.
12093         * c-pragma.c: Likewise.
12094         * crtstuff.c: Likewise.
12095         * cse.c: Likewise.
12096         * cselib.c: Likewise.
12097         * c-semantics.c: Likewise.
12098         * c-typeck.c: Likewise.
12099
12100 2001-08-01  H.J. Lu <hjl@gnu.org>
12101
12102         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
12103
12104 2001-08-01  H.J. Lu <hjl@gnu.org>
12105
12106         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
12107
12108 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
12109
12110         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
12111         contextualizing Objective-C class name lookup by the lexer.
12112         (typespec_reserved_nonattr): Disable ObjC class name lookup after
12113         seeing a TYPESPEC.
12114         (protocoldef): Add support for forward @protocol declarations.
12115         (yylexname): Suppress ObjC class name lookup in certain contexts;
12116         re-enable after lookup is complete.
12117         (_yylex): Re-enable ObjC class name lookup when certain
12118         punctuation marks are seen.
12119
12120         * objc/objc-act.c (check_protocol_recursively): New function used
12121         for finding circular dependencies in protocols.
12122         (objc_declare_protocols): New function for handling forward
12123         @protocol declarations.
12124         (receiver_is_class_object): Detect the case when 'self' is used
12125         inside of a class method.
12126         (build_message_expr): Issue a warning if class method is desired
12127         but instance method is found instead.
12128         (conforms_to_protocol): Streamline.
12129         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
12130         protocol Foo, even if 'Bar foo' does not.
12131         (check_protocols): Streamline.
12132         (start_protocol): Add checks for circular and duplicate protocol
12133         definitions.
12134         (encode_aggregate_within): For typedefs of structs, encode the
12135         underlying struct.
12136         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
12137         (objc_declare_protocols): New prototype.
12138
12139 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
12140
12141         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
12142         * cpplex.c (handle_newline): Update prototype.  Maintain logical
12143         line number.
12144         (skip_escaped_newlines, skip_block_comment, parse_string):
12145         Update accordingly.
12146         (_cpp_lex_token): Update, and store token position within the token.
12147         * cpplib.h (struct cpp_token): Add line and column entries.
12148         * cppmacro.c (replace_args): Position stringified tokens correctly.
12149
12150 2001-08-01  Andreas Jaeger  <aj@suse.de>
12151
12152         * basic-block.h: Add prototype for last_loop_beg_note.
12153
12154 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
12155
12156         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
12157         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
12158         comment.
12159         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
12160         while handling WITH_CLEANUP_EXPR node. Use second operand calling
12161         expand_decl_cleanup.
12162         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
12163         the first RTX.
12164         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
12165         operand while calling simple_cst_equal.
12166         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
12167         operand is the cleanup expression, the third is the RTL_EXPR.
12168         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
12169
12170 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
12171
12172         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
12173
12174 2001-07-31  matthew green  <mrg@eterna.com.au>
12175
12176         * config.gcc (i386-*-netbsdelf): New description.
12177         * config/i386/netbsd-elf.h: New file.
12178
12179 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
12180
12181         * loop.c (check_dbra_loop): Use single_set to compute
12182         jump_label.
12183
12184 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
12185
12186         PowerPC reorg and support for powerpc64-*-linux*.
12187
12188         Also fixes emitting of constants on 32 bit and 64 bit
12189         platforms.
12190
12191         * config.gcc: powerpc64-*-linux* is a new target.
12192         Things that needed aix.h now also include xcoff.h
12193
12194         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
12195         xcoff.h.
12196         Move AIX specific stuff into aix.h.
12197         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
12198         with more than just XCOFF now.
12199         (SET_ASM_OP): Remove, now defined where needed.
12200         (FUNCTION_PROLOGUE): New macro definition.
12201         (FUNCTION_EPILOGUE): New macro definition.
12202         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
12203
12204         * config/rs6000/xcoff.h: New file.
12205
12206         * config/rs6000/linux64.h: New file.
12207
12208         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
12209
12210 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
12211
12212         * rs6000.c (print_operand_address): Handle ELF syntax.
12213         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
12214         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
12215         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
12216
12217 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
12218
12219         * rs6000.c (rs6000_override_options): Only disable
12220         flag_function_sections for XCOFF.
12221         (exact_log2_cint_operand): New predicate.
12222         (reg_or_{add,sub}_cint64_operand): New predicates.
12223         (add_operand): Compare CONST_INT with fewer function calls.
12224         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
12225         (print_operand, case 'p'): Ensure positive operand.
12226         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
12227         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
12228         (PREDICATE_CODES): Add new predicates.
12229         * rs6000.md (addsi3): Split 32-bit constants more correctly.
12230         (divsi3, modsi3): Ensure positive power-of-2.
12231         (adddi3): Use new predicate.  Split 32-bit constants more
12232         correctly.  Re-arrange splitter to handle any constant.
12233         (subdi3): Use new predicate.
12234         (divdi3, moddi3): Ensure positive power-of-2.
12235         (movdi): Use rs6000_emit_set_const.
12236         (load_toc_v4_pic_di): Delete.
12237
12238 2001-07-31  Graham Stott <grahams@redhat.com>
12239
12240         * function.c (pad_below): Revert 2001-07-26 patch.
12241
12242 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
12243
12244         * reg-stack (convert_regs_1): Fix best edge condition.
12245
12246 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
12247
12248         * jump.c (duplicate_loop_exit_test): Better test for jumps
12249         entering the loop; create loop pre_header.
12250
12251 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
12252
12253         * doc/install.texi: Add s390 and s390x as new targets.
12254         * doc/invoke.texi: Add documentation of S/390 and zSeries
12255         target options.
12256         * doc/md.texi: Add documentation of S/390 and zSeries constraints.
12257
12258 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
12259
12260         * config/m68k/m68k.md: Replace all general_operand with
12261         nonimmediate_operand for all destinations.
12262         * config/m68k/m68k.c (not_sp_operand): Likewise.
12263
12264 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
12265
12266         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
12267
12268 2001-07-30  Richard Henderson  <rth@redhat.com>
12269
12270         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
12271         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
12272
12273 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
12274
12275         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
12276         Add missing doc strings
12277         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
12278         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
12279
12280 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
12281
12282         * i386.c (ix86_output_main_function_alignment_hack): New function.
12283         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
12284
12285         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
12286         edges by EDGE_DFS_BACK flag.
12287         (dump_edge_info): Add dfs_back flag.
12288         * basic-block.h (EDGE_DFS_BACK): New constant.
12289         (mark_dfs_back_edges): Declare.
12290         * alias.c (loop_p): Remove.
12291         (mark_constant_function): Use mark_dfs_back_edges.
12292
12293         * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
12294         (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
12295         (compensate_edge): Break out from ...
12296         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
12297         (convert_regs_2): Set block_done once block is really done;
12298         Do updating of the predecessors counts.
12299
12300         * toplev.c (rest_of_compilation): Recompute block_for_insn
12301         before post-reload cfg_cleanup.
12302         * function.c (thread_prologue_epilogue_insns):
12303         Call set_block_for_new_insns when emitting prologue directly.
12304
12305 2001-07-30  Andreas Jaeger  <aj@suse.de>
12306
12307         * jump.c: Add prototype for mark_modified_reg.
12308
12309         * cse.c (set_live_p): Add unused attribute.
12310
12311         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
12312         overflow.
12313         (scan_for_source_files): Use long for count to avoid overflow.
12314         (output_data): Likewise.
12315         (output_data): Don't use string concatatenation to silence gcc
12316         -traditional.
12317
12318         * predict.c: Fix typos and grammar.
12319
12320         * gcse.c (insert_insn_end_bb): Remove unused variables.
12321
12322 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
12323
12324         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
12325         (attempt_auto_inc): LIkewise.
12326         (mark_used_reg): Likewise.
12327         (try_pre_increment_1): Likewise.
12328         * regclass.c (regclass): Likewise.
12329         * global.c (allocno_compare): Update comment; change scaling factor.
12330         * local-alloc.c (QTY_CMP_PRI): Likewise.
12331         * regs.h (REG_FREQ_FROM_BB): New.
12332         (REG_FREQ_MAX): Likewise.
12333
12334 2001-07-30  H.J. Lu <hjl@gnu.org>
12335
12336         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
12337         -D_GNU_SOURCE.
12338
12339 2001-07-30  H.J. Lu  (hjl@gnu.org)
12340
12341         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
12342         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
12343         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
12344
12345 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
12346
12347         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
12348         as -mthumb-interwork when -mcpu=arm7 is specified.
12349
12350 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
12351
12352         * predict.def (noreturn, loop branch, loop exit): Mark as first
12353         match heuristics.
12354
12355 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
12356
12357         * combine.c (try_combine): Avoid barrier after noop jumps.
12358
12359 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
12360
12361         * cpphash.h (struct cpp_reader): Remove import_warning.
12362         * cpplib.c (skip_rest_of_line): Don't bother turning off
12363         macro expansion.
12364         (parse_include): Move include handling to...
12365         (do_include_common): ... here.  Move import warning from...
12366         (do_import): ... here.
12367         (do_pragma_poison): Don't do a callback for poison identifiers.
12368         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
12369         * cppmain.c (setup_callbacks): Similarly.
12370
12371 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
12372
12373         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
12374         handle multiple sets.
12375         * except.c (sjlj_mark_call_sites): .... here.
12376         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
12377
12378 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
12379
12380         Suggested by Richard Henderson and Richard Kenner:
12381         * combine.c (recog_for_combine): Use the fake recog
12382         only if instruction does not match.
12383         * rtl.h (NOOP_MOVE_INSN_CODE): New.
12384         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
12385
12386         * combine.c (try_combine): Discover noop jump as direct jump.
12387
12388 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
12389
12390         * df.c (df_rd_global_compute): Add successors to worklist, not
12391         current item.
12392         (df_ru_global_compute): Ditto.
12393
12394 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
12395
12396         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
12397         increment REG_N_SETS.
12398
12399 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
12400
12401         * sbitmap.h: New prototype for sbitmap_a_xor_b.
12402
12403         * sbitmap.c (sbitmap_a_xor_b): New function.
12404         ifdef the basic block stuff on IN_GCC.
12405
12406 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
12407
12408         * cppexp.c (parse_defined): Always record the macro name.
12409         (lex): Don't worry about identifiers, or special-case
12410         CPP_NOT here.
12411         (_cpp_parse_expr): Figure out at the end of the routine
12412         whether we saw a valid !defined() expression.
12413         * cppfiles.c (stack_include_file): Update for mi_valid.
12414         (_cpp_pop_file_buffer): Similarly.
12415         * cpplex.c (_cpp_lex_token): Similarly.
12416         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
12417         mi_if_not_defined, mi_lexed): Remove.
12418         (mi_valid): New.
12419         * cpplib.c (do_if): Simplify.
12420         (do_endif, push_conditional, _cpp_handle_directive): Update
12421         for renaming of mi_state to mi_valid.
12422 doc:
12423         * cpp.texi: Add index entries for digraphs, and add comment
12424         that C++ refers to them as alternative tokens.
12425
12426 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
12427
12428         * basic-block.h (CLEANUP_PRE_LOOP): New.
12429         * except.c (finish_eh_generation): Update call of cleanup_cfg.
12430         * sibcall.c (optimize_sibling_calls): Likewise.
12431         * toplev.c (rest_of_compilation): Likewise.
12432         * flow.c (try_forward_edges): Take argument MODE;
12433         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
12434         (try_optimize_cfg): Update call of try_forward_edges.
12435
12436 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
12437                                 Jan Hubicka  <jh@suse.cz>
12438
12439         * (validate_replace_rtx_1): Fix simplification of MINUS.
12440
12441 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
12442
12443         PR preprocessor/3669
12444         * cppinit.c (init_dependency_output): Turn off dump requests
12445         if sending dependencies to stdout.
12446
12447 2001-07-28  Richard Henderson  <rth@redhat.com>
12448
12449         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
12450         not optimizing.
12451
12452 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
12453
12454         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
12455
12456 2001-07-28  Kazu Hirata  <kazu@hxi.com>
12457
12458         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
12459         is VAR_DECL first to prevent an ICE.
12460
12461 2001-07-28  Richard Henderson  <rth@redhat.com>
12462
12463         * varasm.c (immed_real_const_1): Don't elide special cases for
12464         nested functions.
12465         (clear_const_double_mem): Clear const_tiny_rtx too.
12466
12467 2001-07-28  Richard Henderson  <rth@redhat.com>
12468
12469         * dwarf2out.c (dw_val_class_offset): New.
12470         (struct dw_ranges_struct, dw_ranges_ref): New.
12471         (ranges_table, ranges_table_allocated): New.
12472         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
12473         (add_AT_offset, add_ranges, output_ranges): New.
12474         (print_die, output_die): Handle dw_val_class_offset.
12475         (attr_checksum, size_of_die, value_format): Likewise.
12476         (gen_lexical_block_die): Handle non-contiguous blocks.
12477         (gen_block_die): Likewise.
12478         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
12479         if needed.  Dump the ranges table.
12480         * final.c (final_start_function): Remove unnecessary notes and
12481         rebuild the block tree before numbering the blocks.
12482         * function.c (reorder_blocks_0): Walk the existing block tree
12483         to unmark all blocks.
12484         (reorder_blocks_1): Create block fragments when duplicate block
12485         notes are seen.
12486         (reorder_fix_fragments): New.
12487         (reorder_blocks): Call it.
12488         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
12489
12490 2001-07-28  Richard Henderson  <rth@redhat.com>
12491
12492         * emit-rtl.c (adjust_address): Make a copy of the memory address.
12493
12494 2001-07-28  Richard Henderson  <rth@redhat.com>
12495
12496         * flow.c (add_to_mem_set_list): New function.
12497         (init_propagate_block_info): Use it.
12498         (mark_set_1): Likewise.
12499         (insn_dead_p): Canonicalize memory address for dead store
12500         comparison.  Allow wider mode stores to kill narrower mode stores.
12501         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
12502         (invalidate_mems_from_set): Don't handle MEMs.
12503
12504 2001-07-28  Kazu Hirata  <kazu@hxi.com>
12505
12506         * config/h8300/h8300.h: Fix formatting.
12507
12508 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
12509
12510         * basic-block.h (EDGE_FREQUENCY): New macro.
12511         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
12512         for new BB/edges.
12513         * flow.c (find_sub_basic_blocks): Likewise.
12514         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
12515         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
12516
12517         * predict.c (DEF_PREDICTOR): New argument FLAGS.
12518         (HITRATE): New macro.
12519         (PRED_FLAG_FIRST_MATCH): New constant.
12520         (predictor_info): New field flgags.
12521         (combine_predictions_for_insn): Use DS theory to combine
12522         probabilities; set the edge probabilities when finished.
12523         (estimate_probability): Avoid duplicated matches
12524         of LOOP_BRANCH heuristics for nested loops; update comment.
12525         * predict.def: Add flags for each prediction, set probabilities
12526         according to B&L paper.
12527         * predict.h (DEF_PREDICTOR): New argument FLAGS.
12528
12529         * profile.c (compute_branch_probabilities):  Cleanup way the edge
12530         probabilities are computed and REG_BR_PROB notes are dropped; if
12531         values does not match, emit error.
12532         (init_branch_prob): Do error instead of warning when profile driven
12533         feedback is missing or corrupt.
12534
12535 2001-07-27  DJ Delorie  <dj@redhat.com>
12536
12537         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
12538         against a constant, try to adjust the compare to have the desired
12539         constant in it so that min/max optimizations happen more often.
12540
12541 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
12542
12543         * flow.c (last_loop_beg_note): New function.
12544         (redirect_edge_and_branch): Use it.
12545         (split_edge): Likewise.
12546
12547         * alias.c (loop_p): Avoid uninitialized memory access.
12548
12549         * flow.c (try_forward_edges): Avoid accessing freed memory.
12550
12551         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
12552         variable access.
12553
12554 2001-07-26  Andrew Haley  <aph@redhat.com>
12555         Joern Rennecke <amylaar@redhat.com>
12556
12557         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
12558         (SUBTARGET_CPP_ENDIAN_SPEC): New.
12559         (SUBTARGET_CPP_SPEC): New.
12560         (CPP_SPEC): Remove.
12561         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
12562         (SUBTARGET_CPP_PTR_SPEC): New.
12563         (CPP_DEFAULT_CPU_SPEC): New.
12564         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
12565         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
12566         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
12567         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
12568         (SUBTARGET_CPP_SPEC): Define as an empty string.
12569
12570 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12571
12572         * doc/install.texi (Configuration): Properly link the host
12573         specific instructions also when generating HTML.
12574
12575 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
12576
12577         * flow.c (redirect_edge_and_branch_force): Test
12578         target->global_live_at_start.
12579
12580 2001-07-26  Richard Henderson  <rth@redhat.com>
12581
12582         * simplify-rtx.c (avoid_constant_pool_reference): Export.
12583         * rtl.h (avoid_constant_pool_reference): Declare it.
12584         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
12585         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
12586
12587 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
12588
12589         * rtl.h (cleanup_barriers): Declare.
12590         * jump.c (cleanup_barriers): New function.
12591         * toplev.c (rest_of_compilation): Call cleanup_barriers
12592         before loop optimizer and after bb_reorder.
12593
12594         * flow.c (back_edge_of_syntactic_loop_p): New.
12595         (split_edge): Use it.
12596
12597 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12598
12599         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
12600
12601 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
12602
12603         * cse.c (cse_process_notes): Replace any registers if the address
12604         remains valid.
12605
12606 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
12607
12608         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
12609         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
12610         (propagate_block): Update prototype.
12611         * flow.c (update_life_info): Simplify the CFG and
12612         recalculate the global regs which are alive when
12613         removing dead code during a global update.
12614         (propagate_block): Return non-zero if an INSN is
12615         deleted.
12616
12617 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12618
12619         * Makefile.in (LIBICONV): Define.
12620
12621 2001-07-26  Catherine Moore  <clm@redhat.com>
12622
12623         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
12624         of conditional to avoid tree checking errors.
12625
12626 2001-07-26  Kazu Hirata  <kazu@hxi.com>
12627
12628         * regmove.c (regmove_optimize): Don't replace a reg with
12629         another reg of a different mode.
12630
12631 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
12632
12633         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
12634         limit length of dependency flush list.
12635         * params.h (MAX_PENDING_LIST_LENGTH): Define.
12636         * sched-int.h  (struct deps): Add pending_flush_length field.
12637         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
12638         has 1 element in it.
12639         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
12640         (sched_analyze): After a jump, if the pending memory flush list is too
12641         large, flush the pending lists.
12642         (init_deps): Initialize pending_flush_length to 0.
12643         * doc/invoke.texi (max_pending_list_length): Document parameter.
12644
12645 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
12646
12647         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
12648         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
12649         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
12650
12651 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
12652
12653         * cpphash.h (struct_lexer_state): Delete was_skipping.
12654         Move skipping here from struct cpp_reader.
12655         * cpplex.c (parse_identifier): Update.
12656         (_cpp_lex_token): Don't skip tokens in a directive.
12657         * cpplib.c (struct if_stack): Update.
12658         (start_directive, end_directive): Don't change skipping state.
12659         (_cpp_handle_directive): Update.
12660         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
12661         (do_else, do_endif): Update; only check for excess tokens if not
12662         in a skipped conditional block.
12663         (push_conditional): Update for new struct if_stack.
12664
12665 2001-07-26  Graham Stott  <grahams@redhat.com>
12666
12667         * function.c (locate_and_pad_parm): Also pad initial offset
12668         so that the total argument size also includes the padding.
12669
12670 2001-07-26  Graham Stott <grahams@redhat.com>
12671
12672         * gensupport.c (alter_output_for_insn): Correct enable checking failure
12673         change XSTR to XTMPL.
12674
12675         (process_one_cond_exec): Likewise
12676
12677 2001-07-25  Richard Henderson  <rth@redhat.com>
12678
12679         * varasm.c (assemble_variable): Create DECL_RTL before setting
12680         TREE_ASM_WRITTEN.
12681
12682 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
12683
12684         * predict.c (estimate_probability): Avoid duplicated predictions.
12685
12686         * loop.c (find_and_verify_loops): Grok multiple barriers.
12687
12688 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12689
12690         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
12691
12692         * dbxout.c: Consistently use putc instead of fputc.
12693         (print_wide_int): New function; call instead of direct fprintf.
12694         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
12695         (dbxout_type_fields, dbxout_type_method_1): Likewise.
12696         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
12697         (print_int_cst_octal): Likewise.
12698         (print_octal): Show we wrote characters.
12699         (dbxout_type): Set have_used_extensions in more places.
12700
12701 2001-07-25  Catherine Moore  <clm@redhat.com>
12702
12703         * config/v850/v850.c (v850_va_arg):  Use addr
12704         instead of valist to build incr.
12705
12706 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
12707
12708         * flow.c (delete_dead_jumptables): New function.
12709         (life_analyzis): Call it.
12710         * bb-reorder.c (skip_insns_after_block): Handle contradictory
12711         sequences.
12712
12713 2001-07-25  Richard Henderson  <rth@redhat.com>
12714
12715         * except.c (reachable_handlers): Handle a region being removed
12716         out from under a RESX.
12717
12718 2001-07-25  Richard Henderson  <rth@redhat.com>
12719
12720         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
12721         swap GE/GT if it is an fp comparison.
12722
12723 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
12724
12725         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
12726         operands.
12727
12728 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
12729
12730         * ssa.c (rename_insn_1): Do not wrap an assignment to a
12731         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
12732         glitch.
12733
12734         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
12735         throw an exception.
12736         (visit_expression): When attempting to simplify an expression,
12737         retrieve any modes for arguments before they are simplified
12738         to constants.
12739
12740 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
12741             Janis Johnson  <janis@us.ibm.com>
12742
12743         * stmt.c (expand_goto): A nonlocal goto can be a call too.
12744         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
12745         pointer parameters to match documented usage of nonlocal_goto.
12746         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
12747         parameters to their correct order.
12748         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
12749         parameters to their correct order.
12750
12751 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
12752
12753         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
12754
12755 2001-07-25  Jan Hubicka  <jh@suse.cz>
12756             Richard Henderson  <rth@redhat.com>
12757
12758         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
12759         the sequence.
12760         (make_edges): New argument update_p; populate the edge cache if set.
12761         (find_basic_blocks): Update make_edges invocation.
12762
12763 2001-07-24  Joel Sherrill <joel@OARcorp.com>
12764
12765         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
12766
12767 2001-07-24  Joel Sherrill <joel@OARcorp.com>
12768
12769         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
12770         -Acpu and -Amachine.h.
12771         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
12772         Corrected header to say ELF not a.out.
12773         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
12774         when given -msoft-float.
12775
12776 2001-07-24  Joel Sherrill <joel@OARcorp.com>
12777
12778         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
12779         extra multilib parts like arm-elf.
12780         (i960-*-coff*, i960-*-rtems): Should not use collect2.
12781         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
12782         crtfini.o as extra multilib parts.
12783
12784 2001-07-24  Joel Sherrill <joel@OARcorp.com>
12785
12786         * configure.in: Add rtems as a supported thread model.
12787         * gthr-rtems.h: Add missing entry point __gthread_active_p.
12788         * configure: Rebuilt.
12789
12790 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
12791
12792         * stor-layout.c (get_mode_alignment): make it work when
12793         BITS_PER_UNIT is not a power of two.
12794         * builtins.c (get_pointer_alignment): Likewise.
12795
12796 2001-07-24  Richard Henderson  <rth@redhat.com>
12797
12798         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
12799         the retrieved constant into the expected mode.
12800
12801 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
12802
12803         * flow.c (try_simplify_condjump): Avoid duplicated edges.
12804         (verify_flow_info): Check for duplicated edges; clarify
12805         error reporting.
12806
12807         * flow.c (block_label): Update basic_block_for_insn.
12808         (commit_edge_insertions): Call compute_bb_for_insn.
12809
12810         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
12811         returns too.
12812
12813         * flow.c (redirect_edge_and_branch,
12814         try_optimize_cfg): Use redirect_edge_succ_nodup
12815         (redirect_edge_succ_nodup): New.
12816         * basic_block.h (redirect_edge_succ_nodup): Declare.
12817
12818         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
12819         after gcse.
12820
12821 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
12822
12823         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
12824         (try_crossjump_to_edge): Update commetns.
12825         (try_crossjump_bb): Likewise.
12826
12827 2001-07-24  Richard Henderson  <rth@redhat.com>
12828
12829         * combine.c (distribute_notes): Move set of need_refresh
12830         for noop_move_p down to catch all cases.
12831
12832 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
12833
12834         * recog.c (split_all_insns_noflow): New.
12835         * rtl.h (split_all_insns_noflow): Declare.
12836         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
12837         * m68hc11.c (m68hc11_reorg): Likewise.
12838         * sh.c (machine_dependent_reorg): Likewise.
12839         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
12840         call.
12841
12842 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
12843
12844         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
12845         (ashlsi3_n splitter): Likewise.
12846         (lshrsi3_n splitter): Likewise.
12847
12848         (GOTaddr2picreg): Make const SImode.
12849         (sym_label2reg): Likewise.
12850         (symGOT2reg): Likewise.
12851         (symGOTOFF2reg) Likewise.
12852
12853         (casesi_worker_0): Make unspec SImode.
12854
12855 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
12856
12857         * config/sh/sh.c (barrier_align): Check that an operand really is
12858         an insn before extracting its INSN_CODE.
12859
12860 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
12861
12862         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
12863         dangling else.
12864
12865         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
12866         for SImode to prevent overflow.
12867
12868 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12869
12870         * config/mips/irix6-libc-compat.c: New file.
12871         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
12872         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
12873         passing workaround.
12874
12875 2001-07-24  lars brinkhoff  <lars@nocrew.org>
12876
12877         * rtl.texi (REG_POINTER): Document.
12878         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
12879         QFmode, HFmode, TQFmode, QCmode, and HCmode.
12880
12881 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
12882
12883         * flow.c (delete_noop_moves): Do not confuse libcall regions.
12884
12885 2001-07-23  Richard Henderson  <rth@redhat.com>
12886
12887         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
12888
12889 2001-07-23  Kazu Hirata  <kazu@hxi.com>
12890
12891         * config/h8300/h8300-protos.h: Add a prototype for
12892         general_operand_dst_push.
12893         * config/h8300/h8300.c (general_operand_dst_push): New.
12894         * config/h8300/h8300.h (OK_FOR_T): New.
12895         (EXTRA_CONSTRAINT): Use it.
12896         * config/h8300/h8300.md (movqi_push): Remove and integrate into
12897         the existing movqi pattern.
12898         (movhi_push): Likewise.
12899
12900         * reload.c: Fix comment typos.
12901
12902 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
12903
12904         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
12905
12906 2001-07-23  H.J. Lu  (hjl@gnu.org)
12907
12908         * doc/extend.texi: Update __builtin_return_address and
12909         __builtin_frame_address.
12910
12911 2001-07-23  Richard Henderson  <rth@redhat.com>
12912
12913         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
12914         before CSE.
12915         * config/i386/i386.md: New setcc+movzbl peephole2.
12916
12917 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
12918
12919         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
12920         * objc/objc-act.c: Include debug.h.
12921         (synth_module_prologue): Save and restore debug hooks too.
12922
12923 2001-07-23  lars brinkhoff  <lars@nocrew.org>
12924
12925         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
12926         and C4X_FLOAT_FORMAT.
12927         (BOOL_TYPE_SIZE): Document.
12928
12929 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
12930
12931         * unroll.c (loop_iterations): Fix miscalculation of initial
12932         giv offset.
12933
12934 2001-07-13  Andrew Haley  <aph@redhat.com>
12935
12936         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
12937         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
12938         * config/sh/sh.c (sh_can_redirect_branch): New function.
12939         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
12940         * reorg.c (steal_delay_list_from_target): Use
12941         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
12942
12943 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
12944
12945         * flow.c (try_simplify_condjump): Unlink insn chain on
12946         fallthru edge; use can_fallthru.
12947
12948 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
12949
12950         * basic-block.h (find_sub_basic_block): Declare.
12951         * flow.c (make_edges): New arguments MIN and MAX;
12952         (find_sub_basic_blocks): Revamp to use make_edges
12953         and purge_dead_edges.
12954         (find_basic_blocks): Update call of find_sub_basic_block.
12955
12956         * recog.c (split_all_insns): Always expect CFG to be consistent;
12957         call find_sub_basic_blocks in case something has changed.
12958         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
12959         has been built.
12960
12961         * basic-block.h (delete_noop_moves): Declare.
12962         * combine.c (combine_instructions): Call it.
12963         (recog_for_combine): Tolerate noop moves
12964         (distribute_notes): Force refresh when register dies at noop move.
12965         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
12966         too.
12967         (life_analysis): Update delete_noop_moves call.
12968         (set_noop_p): Move too ...
12969         * rtlanal.c (noop_move_p): ... here.
12970         * rtl.h (noop_move_p): Declare.
12971
12972         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
12973         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
12974         after combine.
12975         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
12976         (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
12977
12978 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
12979
12980         * reload.c (push_reload): Fix typo in comment.
12981         (find_reloads_address): Ditto.
12982         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
12983
12984 2001-07-22  Richard Henderson  <rth@redhat.com>
12985
12986         * flow.c: Grammar check and clarify a lot of comments.
12987         (try_simplify_condjump): Rename variables to be clearer.
12988         (try_forward_edges): Skip complex and fallthru edges.
12989         Rearrange tests to avoid duplicate checks.
12990         (flow_find_cross_jump): Likewise.
12991         (outgoing_edges_match): Allow match if neither branch has
12992         probability data.  Loosen probability match to 5%.
12993         (try_crossjump_to_edge): Hoist repeated indirection into
12994         local variables.
12995         (try_crossjump_bb): Don't check complex edges.  Eliminate
12996         redundant crossjump tests.
12997         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
12998         checks before more expensive checks.
12999
13000 2001-07-22  Richard Henderson  <rth@redhat.com>
13001
13002         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
13003         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
13004         arguments.
13005
13006 2001-07-22  Richard Henderson  <rth@redhat.com>
13007
13008         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
13009         (const_sint32_operand): Likewise.
13010         * m68k.md (anon mulsi pattern): Use const_int_operand not
13011         const_sint32_operand.
13012         (umulsi3_highpart): Zero extend a constant input.
13013         (smulsi3_highpart): Don't bother checking SImode constant.
13014         (const_umulsi3_highpart): Give op3 DImode.
13015         (const_smulsi3_highpart): Likewise.
13016
13017 2001-07-22  Richard Henderson  <rth@redhat.com>
13018
13019         * flow.c (split_block): Make sure bb_note is included in the
13020         new block when splitting before a label.
13021
13022 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
13023
13024         * basic-block.h (redirect_edge_and_branch_force,
13025         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
13026         * flow.c (redirect_edge_and_branch_force,
13027         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
13028         (redirect_edge_and_branch_force): Fix copying of lifeness information.
13029         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
13030         * ifcvt.c (dead_or_predictable): Take BB as an new destination
13031         instead of label; update CFG after transformation.
13032         (find_if_case_1): Update call, use redirect_edge_and_branch_force
13033         for finishing the transformation; handle even case where ELSE
13034         does not follow THEN.
13035         (find_if_case_2): Update call of dead_or_predictable; simplify
13036         CFG update.
13037
13038         * emit-rtl.c (split_branch_probability): New global variable.
13039         (try_split): Take care to set split_branch_probability and
13040         create REG_BR_PROB note for new jump insns.
13041         * md.texi (define_split): Document new feature.
13042
13043         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
13044
13045 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
13046
13047         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
13048         (asm_out_file): Remove redundant declaration.
13049         (assemble_asm): Remove old #if 0 block.
13050         (assemble_variable): Remove end of function; debug output is
13051         now handled with global_decl.  Remove old #if 0 block.  Update.
13052         Remove saved_in_section and associated no-op code.
13053         * Makefile.in (varasm.o): Correct dependencies.
13054
13055 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
13056
13057         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
13058         the definition in defaults.h.
13059
13060 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
13061
13062         * jump.c: Update comments.
13063         (delete_barrier_successors, delete_unreferenced_labels,
13064         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
13065         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
13066         jump_optimize, jump_optimize_minimal): Kill.
13067         (rebuild_jump_labels): Move code from jump_optimize_1.
13068         (purge_line_number_notes): Likewise.
13069         (copy_loop_headers): Likewise.
13070         * reg-stack.c: Update comment.
13071         * stmt.c: Likewise.
13072         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
13073         JUMP_AFTER_REGSCAN): Kill.
13074         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
13075         purge_line_number_notes and copy_loop_headers.
13076
13077 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
13078            Richard Henderson  <rth@redhat.com>
13079
13080         * dbxout.c (dbxout_global_decl): New.
13081         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
13082         * sdbout.c (sdbout_finish): New.
13083         (sdbout_debug_hooks): Use it, add comments.
13084         (sdbout_global_decl): Defer initialised public vars to
13085         sdbout_finish.
13086         * varasm.c (assemble_variable): Don't output debug information
13087         for file-scope variables.
13088
13089 2001-07-22  Richard Henderson  <rth@redhat.com>
13090
13091         * config/alpha/alpha.c (get_trap_mode_suffix): New.
13092         (get_round_mode_suffix): New.
13093         (print_operand): Use them for [/].  Remove support for [&'`()+].
13094         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
13095         * config/alpha/alpha.md (attr round_suffix): New.
13096         (attr trap_suffix): New.
13097         (all insns): Set them appropriately.  Use %/ instead of the
13098         myriad punctuators.
13099
13100 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
13101
13102         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
13103
13104 2001-07-22  Richard Henderson  <rth@redhat.com>
13105
13106         * regrename.c (regrename_optimize): Compute nregs for each
13107         potential target register.
13108
13109 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
13110            Richard Henderson  <rth@redhat.com>
13111
13112         * dbxout.c (dbxout_global_decl): New.
13113         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
13114         * sdbout.c (sdbout_finish): New.
13115         (sdbout_debug_hooks): Use it, add comments.
13116         (sdbout_global_decl): Defer initialised public vars to
13117         sdbout_finish.
13118         * varasm.c (assemble_variable): Don't output debug information
13119         for file-scope variables.
13120
13121 2001-07-21  H.J. Lu  (hjl@gnu.org)
13122
13123         * config/mips/mips.c (mips_cpu): Moved into ...
13124         (override_options): Here.
13125
13126         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
13127         mips_tune.
13128         (mips_cpu): Removed.
13129
13130 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
13131
13132         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
13133         ("iorqi3"): Likewise.
13134         ("xorqi3"): Likewise.
13135         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
13136         ("*subhi3_sp): Likewise.
13137         ("*subhi3"): Likewise.
13138         ("extendhisi2"): Accept D, X and Y as source operand to avoid
13139         reload problems.
13140
13141 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
13142
13143         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
13144         * config/freebsd.h: Likewise.
13145         * config/linux.h: Likewise.
13146         * config/openbsd.h: Likewise.
13147         * config/alpha/linux-elf.h: Likewise.
13148         * config/arm/linux-elf.h: Likewise.
13149         * config/d30v/d30v.h: Likewise.
13150         * config/fr30/fr30.h: Likewise.
13151         * config/ia64/aix.h: Likewise.
13152         * config/ia64/ia64.h: Likewise.
13153         * config/mips/linux.h: Likewise.
13154         * config/pj/pj.h: Likewise.
13155         * config/rs6000/linux.h: Likewise.
13156         * config/sparc/linux.h: Likewise.
13157         * config/sparc/linux64.h: Likewise.
13158
13159 2001-07-20  Bruce Korb  <bkorb@gnu.org>
13160
13161         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
13162         because getc() and char* may disagree on signedness.
13163
13164 2001-07-20  Richard Henderson  <rth@redhat.com>
13165
13166         * doc/rtl.texi (REG_DEAD): Update for current semantics.
13167
13168         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
13169         insns to delete in the presence of cc0 in a jump insn.
13170
13171 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
13172                                 Jan Hubicka  <jh@suse.cz>
13173
13174         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
13175         of doing the change by hand.
13176
13177 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
13178
13179         * rtlanal.c (set_noop_p): Return true for noop jumps.
13180
13181         * expr.c (emit_single_push_insn): Add call to push expander.
13182         * expr.h (optab_index): Add OTI_push
13183         (push_optab): New constant.
13184         * genopinit.c (optabs): Add push_optab.
13185         * optabs.c (init_optab): Init push optab.
13186         * md.texi (push??1): Document
13187
13188 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
13189
13190         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
13191         expand to emit the pattern; put a REG_INC note for push/pop
13192         instructions.
13193         ("movdf", "movdf_internal"): Likewise.
13194         ("movsi", "movsi_internal"): Likewise.
13195         ("movsf", "movsf_internal"): Likewise.
13196         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
13197
13198 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
13199
13200         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
13201         gen_highpart.
13202
13203 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
13204
13205         * params.def: Change default max inline insns to 100.
13206
13207 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
13208
13209         * combine.c (combine_simplify_rtx): Generate a new shift operation
13210         when simplifying the first operand of a (neg (ashift)) expression.
13211
13212 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
13213
13214         * regclass.c (N_REG_INTS): Use only 32 bits per element.
13215
13216 2001-07-20  Kelley Cook  <kelley.cook@home.com>
13217
13218         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
13219         information.   Move rest into ...
13220         (*-*-solaris): ... here.  Eliminate redundant information and
13221         reword necessary packages section.  Delete 4.x assembler bug info.
13222         (sparc-sun-*): Merge into ...
13223         (sparc-sun-sunos*): here.
13224
13225 2001-07-20  Catherine Moore  <clm@redhat.com>
13226
13227         * config/v850/v850.md (casesi): Generate LABEL_REF
13228         with Pmode.
13229
13230 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
13231
13232         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
13233         * i386.c (ix86_zero_extend_to_Pmode): Make global.
13234         * i386.md (strclrsi expander): Use it.
13235
13236 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
13237
13238         * integrate.c (copy_insn_list): handle
13239         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
13240         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
13241         identically as to CODE_LABEL.
13242
13243         * fold-const (fold): Convert A/B/C to A/(B*C) and
13244         A/(B/C) to (A/B)*C
13245
13246         * except.c (connect_post_landing_pads): Delete the RESX insns.
13247
13248 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
13249
13250         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
13251
13252         * config/mips/mips.md (nmadd/nmsub): Use macro.
13253
13254 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
13255
13256         * cppinit.c (remove_dup_dir): Make static.
13257         (remove_dup_dirs): Make static. Only warn about preempting a
13258         system directory with a non-system directory.
13259
13260 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
13261
13262         * ifcvt.c (noce_try_store_flag_constants): Correct order
13263         of parameters to trunc_int_for_mode.
13264
13265 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
13266
13267         * reorg.c (fill_simple_delay_slots): If an instruction might throw
13268         an exception that will be caught within this function, do not fill
13269         its delay slot with any subsequent instruction.
13270
13271 2001-07-19  Steve Ellcey <sje@cup.hp.com>
13272
13273         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
13274         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
13275         pointer extension instruction.
13276         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
13277         * simplify-rtx.c (simplify_unary_operation) Likewise.
13278         * explow.c (convert_memory_address) Check value of
13279         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
13280         less than zero.
13281         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
13282         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
13283         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
13284         Add Multilib Support.
13285         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
13286         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
13287         Add Multilib Support.
13288         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
13289         support.
13290         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
13291         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
13292         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
13293
13294 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
13295
13296         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
13297         old and new operands in `<', `3' and `b'.
13298
13299 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
13300
13301         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
13302         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
13303         (toplev.o): Don't depend on xcoffout.h.
13304         * c-decl.c: Include debug.h
13305         (duplicate_decls): Use debug hook.
13306         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
13307         (dbx_debug_hooks, xcoff_debug_hooks): Update.
13308         (dbxout_types): Remove.
13309         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
13310         * debug.c (do_nothing_debug_hooks): Update.
13311         (debug_true_tree, debug_nothing_rtx): New.
13312         * debug.h (struct rtx_def): New.
13313         (struct gcc_debug_hooks): New hooks ignore_block,
13314         outlining_inline_function and label.
13315         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
13316         dwarf2out_frame_finish): New.
13317         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
13318         Make static, update prototype.
13319         (dwarf2_debug_hooks): Update.
13320         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
13321         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
13322         * dwarfout.c (dwarf_debug_hooks): Update.
13323         * emit-rtl.c: Include debug.h.
13324         (remove_unnecessary_notes): Use debug hook.
13325         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
13326         (final_scan_insn): Use debug hook.
13327         * integrate.c (output_inline_function): Use debug hook.
13328         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
13329         (sdb_debug_hooks): Update.
13330         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
13331         * toplev.c: Don't include xcoffout.h.
13332         (note_outlining_of_inline_function, debug_ignore_block): Remove.
13333         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
13334         Remove.
13335         * tree.h (dwarf2out_do_frame): Remove.
13336
13337 2001-07-19  Catherine Moore  <clm@cygnus.com>
13338
13339         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
13340
13341 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
13342
13343         * reload1.c (eliminate_regs_in_insn): When updating a set
13344         to the frame pointer to the hardware frame pointer, perform
13345         the update always not just when REPLACE is set.
13346
13347         * reload1.c (choose_reload_regs): Don't inherit a reload
13348         that crosses multiple registers if registers past the first
13349         don't fit in the desired class.
13350
13351         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
13352         when negating constants.
13353
13354 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
13355
13356         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
13357         * doc/tree.texi: Ditto.
13358
13359 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
13360             Jakub Jelinek  <jakub@redhat.com>
13361
13362         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
13363         (extract_cie_info): Handle "eh" augmentation properly,
13364         remember eh_ptr.
13365         (struct frame_state, __frame_state_for): New.
13366
13367 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13368
13369         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
13370         HANDLE_SYSV_PRAGMA): Define.
13371         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
13372         previous args.
13373         (copy_object): Caller changed.
13374
13375 2001-07-19  Andreas Schwab  <schwab@suse.de>
13376
13377         * configure.in (assembler dwarf2 debug_line support): Define nop
13378         insn for m68k.
13379         * configure: Regenerated.
13380
13381 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
13382
13383         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
13384         dwarfout.h.
13385         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
13386         to conditionally compiled block.
13387         (dbx_debug_hooks, xcoff_debug_hooks): Update.
13388         * dbxout.h (dbxout_function): Remove.
13389         * debug.c (do_nothing_debug_hooks): Update.
13390         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
13391         global_decl, deferred_inline_function.
13392         * dwarf2out.c (dwarf2_debug_hooks): Update.
13393         (dwarf2out_global_decl): New.
13394         * dwarfout.c: Don't include dwarfout.h.
13395         (dwarfout_global_decl, dwarfout_function_decl,
13396         dwarfout_deferred_inline_function): New.
13397         (dwarf_debug_hooks): Update.
13398         * dwarfout.h: Remove.
13399         * final.c: Don't include dwarfout.h.
13400         * sdbout.c (sdbout_global_decl): New.
13401         (sdbout_debug_hooks): Update.
13402         * toplev.c: Don't include dwarfout.h.
13403         (check_global_declarations, rest_of_compilation): Use new debug hooks.
13404         (note_deferral_of_defined_inline_function): Remove.
13405         * toplev.h (note_deferral_of_defined_inline_function): Remove.
13406         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
13407         * ch/lex.c: Don't include dwarfout.h.
13408         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
13409         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
13410         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
13411         * cp/optimize.c: Include debug.h.
13412         (maybe_clone_body): Use debug hook.
13413         * cp/semantics.c: Include debug.h.
13414         (expand_body): Use debug hook.
13415         * po/POTFILES.in: Remove dwarfout.h.
13416
13417 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
13418
13419         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
13420         * c-parse.in (yyerror, _yylex): Similarly.
13421         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
13422         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
13423         Update comments.
13424         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
13425         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
13426
13427 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
13428
13429         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
13430         in-class declaration at -g1.  Fixes c++/2814.
13431
13432 2001-07-18  Richard Henderson  <rth@redhat.com>
13433
13434         * doc/md.texi (reload_in/out): Document restrictions in predicates
13435         and constraints for these patterns.  Document empty string matching
13436         ALL_REGS.
13437
13438 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13439
13440         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
13441
13442 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
13443
13444         * cse.c: Undo my previous patch.
13445
13446 2001-07-18  Tom Tromey  <tromey@redhat.com>
13447
13448         For PR java/2812:
13449         * configure: Rebuilt.
13450         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
13451         instead.
13452         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
13453
13454 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
13455                                 Jan Hubicka  <jh@suse.cz>
13456
13457         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
13458         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
13459         * jump.c (mark_jump_label): Do not forward branches.
13460
13461 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
13462
13463         * cse.c (delete_trivially_dead_insns): Delete the libcall block
13464         when return value is unused.
13465
13466 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
13467
13468         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
13469
13470 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
13471
13472         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
13473         on error.  We can't blindly return the result of
13474         pthread_mutex_trylock because it returns a positive number on
13475         error, while we must return -1 on error.
13476         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
13477         fixes.
13478         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
13479
13480 2001-07-18  Andreas Jaeger  <aj@suse.de>
13481
13482         * integrate.c (output_inline_function): Correct type of debug_hooks.
13483
13484 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
13485
13486         * combine.c (combine_simplify_rtx): DIV can be treated
13487         associatively for floats if unsafe math optimisations are enabled.
13488
13489 2001-07-17  Richard Henderson  <rth@redhat.com>
13490
13491         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
13492
13493 2001-07-17  Richard Henderson  <rth@redhat.com>
13494
13495         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
13496         don't force the function address into a register.
13497         (expand_call, emit_library_call_value_1): Update callers.
13498         * builtins.c (expand_builtin_apply): Likewise.
13499         * expr.h (prepare_call_address): Update decl.
13500
13501 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
13502
13503         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
13504         config directory.
13505         * config/i386/chorus.h: Move up.
13506         * config/sparc/chorus.h: Likewise.
13507         * config/rs6000/chorus.h: Likewise.
13508         * config/chorus.h: Moved here.
13509
13510 2001-07-17  Andreas Schwab  <schwab@suse.de>
13511
13512         * configure.in  (assembler eh_frame optimization): Handle big
13513         endian.
13514         * configure: Regenerated.
13515
13516 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
13517
13518         * expr.c (epxand_expr): Convert divisions into multiplications by
13519         reciprocals if -ffast-math.
13520
13521 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
13522
13523         * dbxout.c (dbxout_really_begin_function): Rename to
13524         dbxout_begin_function.
13525         (dbx_debug_hooks, xcoff_debug_hooks): Update.
13526         (dbxout_begin_function): Remove.
13527         (dbxout_function): Update.
13528         (dbxout_source_line): Update prototype.
13529         * dbxout.h (dbxout_begin_function): Remove.
13530         * debug.c (do_nothing_debug_hooks): Update.
13531         (debug_nothing_tree): Update.
13532         (debug_nothing_charstar_rtx): Remove.
13533         * debug.h (union tree_node): Declare.
13534         (struct rtx_def): Remove.
13535         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
13536         begin_function.  Change source_line prototype.
13537         (debug_nothing_tree): New.
13538         (debug_nothing_charstar_rtx): Delete.
13539         (dwarf2out_begin_prologue): Moved from ...
13540         * tree.h: ... here.
13541         * dwarf2out.c (dwarf2_debug_hooks): Update.
13542         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
13543         debug info, call dwarf2out_source_line.
13544         (dwarf2out_souce_line): Update prototype.
13545         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
13546         Change prototype, make static.
13547         (dwarfout_source_line): Update prototype.
13548         (dwarf_debug_hooks): Update.
13549         * dwarfout.h (dwarfout_begin_function): Remove.
13550         * final.c (final_start_function, final_scan_insn): Use appropriate
13551         debug hooks, update to use notice_source_line.
13552         (output_source_line): Rename notice_source_line.  Don't call the
13553         source_line debug hook.
13554         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
13555         make static, update prototype.
13556         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
13557         prototype.
13558         (sdbout_end_prologue): New.
13559         (sdbout_source_line): Update prototype.
13560         (sdbout_debug_hooks): Update.
13561         (sdbout_symbol): Remove unused var.
13562         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
13563         Delete.
13564         * varasm.c: Include debug.h.
13565         (assemble_start_function): Use begin_function debug_hook.
13566         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
13567         update with prototype.
13568         (xcoffout_source_line): Update prototype.
13569         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
13570         update prototype.
13571         (xcoffout_source_line): Update prototype.
13572
13573 2001-07-17  Richard Henderson  <rth@redhat.com>
13574
13575         * c-typeck.c (build_binary_op): Do not shorten unsigned
13576         right shift after sign extension.
13577
13578 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
13579
13580         * combine.c (combine_simplify_rtx): Attempt to simplify
13581         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
13582
13583         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
13584         (simplify_binary_operation, simplify_unary_operation,
13585          simplify_relational_operation): Use it.
13586
13587         * combine.c (combine_simplify_rtx): Don't do associative law
13588         on divisions; allow associative law on floats.
13589
13590 2001-07-17  H.J. Lu <hjl@gnu.org>
13591             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13592
13593         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
13594         ASM_OUTPUT_WEAK_ALIAS are defined.
13595         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
13596         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
13597         Moved ...
13598         * config/mips/iris5.h: ... here.
13599         (HANDLE_SYSV_PRAGMA): Defined as 1.
13600         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
13601         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
13602         symbol.
13603
13604 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
13605
13606         * c-parse.in (all_prefix_attributes): New variable.
13607         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
13608         (maybe_resetattrs): New production.
13609         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
13610         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
13611         notype_initdcl, nested_function, notype_nested_function,
13612         component_decl, components, components_notype,
13613         component_declarator, component_notype_declarator,
13614         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
13615         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
13616         after a comma being applied to more than one declarator.
13617         * doc/extend.texi (Attribute Syntax): Update.  Remove
13618         documentation of bugs that are no longer present.
13619
13620 2001-07-13  Eric Christopher  <echristo@redhat.com>
13621
13622         * config/mips/mips.h: Change TUNE_MIPS* options to use
13623         mips_tune.
13624         (EXTRA_SPECS): Add cc1_cpu_spec.
13625         * config/mips/mips.md (muldf3): Fix typo.
13626
13627 2001-07-16  Richard Henderson  <rth@redhat.com>
13628
13629         * config/m68k/m68k.c: Include expr.h and reload.h.
13630         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
13631         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
13632
13633 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
13634             Richard Henderson  <rth@redhat.com>
13635
13636         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
13637         (insn_live_p): Fix fall off end of function.
13638         (dead_libcall_p): Remove COUNTS argument; update callers.
13639         (delete_trivially_dead_insns): Remove unused variables.
13640
13641 2001-07-17  Andreas Jaeger  <aj@suse.de>
13642
13643         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
13644         x86-64 pic support.
13645
13646         * lcm.c (optimize_mode_switching): Avoid warning for unused
13647         variable if !NORMAL_MODE.
13648
13649         * flow.c (try_crossjump_to_edge): Remove unused variable.
13650
13651 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13652
13653         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
13654         atexit declaration in stdlib.h.
13655
13656 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
13657
13658         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
13659
13660 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
13661
13662         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
13663         * except.c (finish_eh_generation): Update call of cleanup_cfg;
13664         do rebuild_jump_labels instead of jump_optimize
13665         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
13666         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
13667         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
13668
13669         * flow.c: Include timevar.h
13670         (find_basic_block): Push/pop timevar;
13671         (cleanup_cfg): Likewise.
13672         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
13673         * Makefile: Add dependencies on timevar.h
13674
13675         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
13676         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
13677
13678         * rtl.h (delete_trivially_dead_insns): Add new parameter.
13679         * toplev.c (rest_of_compilation): Update calls.
13680         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
13681         (delete_trivially_dead_insns): ... here; accept new argument
13682         preserve_basic_blocks; preserve basic blocks if set.
13683
13684         * reg-stack.c (stack_regs_mentioned): Return 0 if
13685         stack_regs_mentioned_data is not initialized.
13686         (reg_to_stack): Make stack_regs_mentioned survive after the
13687         reg-stack is completted; do not call cleanup_cfg.
13688         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
13689         make cleanup_cfg after bb-reorder to output to debug file.
13690
13691 2001-07-16  Richard Henderson  <rth@redhat.com>
13692
13693         * regclass.c (init_reg_sets): Use only 32 bits per initializer
13694         from int_reg_class_contents.
13695
13696 2001-07-16  Richard Henderson  <rth@redhat.com>
13697
13698         * hard-reg-set.h (regs_invalidated_by_call): Declare.
13699         * regclass.c (regs_invalidated_by_call): Move from cse.c.
13700         (init_reg_sets_1): Move initialization from cse_main.
13701         * cse.c (regs_invalidated_by_call): Move to regclass.c.
13702         (cse_main): Move its initialization also.
13703         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
13704         * flow.c (propagate_one_insn): Likewise.
13705         * gcse.c (compute_hash_table): Likewise.
13706         (compute_kill_rd, compute_store_table): Likewise.
13707         * sched-deps.c (sched_analyze_1): Likewise.
13708
13709 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
13710
13711         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
13712         gen_rtx_SET.
13713
13714 2001-07-16  Steve Ellcey <sje@cup.hp.com>
13715
13716         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
13717         in if statement so we don't access undefined memory.
13718
13719 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
13720
13721         * gcse.c: Update comment at top.
13722         Update comment on mem handling.
13723         mem_last_set, mem_first_set, mem_set_in_block: gone.
13724         Declaration of reg_set_info: gone.
13725         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
13726         pointless with load_killed_in_block_p (they are *more*
13727         conservative then it, not less, and less accurate).
13728         (oprs_not_set_p): Ditto.
13729         (alloc_gcse_mem): Don't allocate mem_set_in_block
13730         (free_gcse_mem): Don't free it, either.
13731         (record_last_mem_set_info): Update comment in front, remove
13732         mem_*set_* stuff. Note the reason we don't handle stores directly
13733         here.
13734         (compute_hash_table): Update comments to reflect reality. Remove
13735         mem_*set_* references.
13736         (reset_opr_set_tables): Remove mem_*set_* references.
13737         (mark_call): Ditto.
13738         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
13739         (mark_clobber): Ditto (on both parts, we double set here too).
13740         (expr_killed_p): Remove mem_set_in_block test.
13741         (compute_transp): Remove mem_set_in_block test.
13742
13743         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
13744         of edge, and removal of phi alternative to dump file.
13745         (ssa_ccp_substitute_constants): Add note about register now being
13746         constant, and which uses were replaced in what insns to dump file.
13747
13748 2001-07-16  Andreas Jaeger  <aj@suse.de>
13749
13750         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
13751         variables of type HOST_WIDEST_INT.
13752
13753         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
13754         (__bb_exit_func): Correct type of count_max to avoid overflow.
13755         (num_digits): Handle long long argument.
13756
13757         * combine.c (gen_lowpart_for_combine): Remove unused variable.
13758
13759 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
13760
13761         * output.h (sdb_begin_function_line): Restore as an extern
13762         variable.
13763         * sdbout.c (sdb_begin_function_line): Make extern.
13764
13765 2001-07-15  Richard Henderson  <rth@redhat.com>
13766
13767         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
13768         * genrecog.c (maybe_both_true_mode): New.
13769         (maybe_both_true_2): Use it.
13770         (write_switch): Don't put Pmode in a switch.
13771         * rtl.c (mode arrays): Don't explicitly size them.
13772
13773 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
13774
13775         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
13776         handling; move unconditional splitting before mode switching.
13777
13778         * i386.md (type): Add fistp type.
13779         (i387, length_attr, scheduling definitions): Handle this type.
13780         (fix_trunc?f?i2): Revamp to use mode switching.
13781         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
13782         * i386.h (fp_cw_mode): New enum
13783         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
13784         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
13785
13786 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13787
13788         * Makefile.in (integrate.o): Add debug.h.
13789         * integrate.c (debug.h): Add.
13790         (output_inline_function): Save, reset, and restore debug_hooks.
13791
13792 2001-07-15  Richard Henderson  <rth@redhat.com>
13793
13794         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
13795         instead of COMPARE for the EQUIV expression.
13796
13797 2001-07-15  Richard Henderson  <rth@redhat.com>
13798
13799         * flow.c (redirect_edge_and_branch_force): Initialize
13800         global_live_at_start and global_live_at_end.
13801         (allocate_bb_life_data): Export.
13802         * basic-block.h (allocate_bb_life_data): Declare.
13803         * toplev.c (rest_of_compilation): Call it.
13804
13805 2001-07-15  Richard Henderson  <rth@redhat.com>
13806
13807         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
13808         (alpha_tablejump_best_label): New.
13809         * config/alpha/alpha-protos.h: Declare them.
13810         * config/alpha/alpha.md: Use braced strings for code blocks.
13811         (tablejump_osf): Break out add with r29.
13812         (tablejump_osf_internal): Remove.
13813         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
13814         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
13815
13816 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
13817
13818         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
13819         of the movable.
13820
13821         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
13822
13823         * i386-protos.h (ix86_split_fp_branch): Update prototype.
13824         (ix86_fp_jump_nontrivial_p): New.
13825         * i386.md (fp_jcc_?): Update call of split_fp_branch;
13826         use ix86_fp_jump_nontrivial_p.
13827         * i386.c (ix86_fp_jump_nontrivial_p): New.
13828         (ix86_split_fp_branch): Accept code instead of rtx.
13829         (ix86_expand_compare): Expand comparison early in case
13830         doing so is resonably cheap.
13831
13832 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
13833
13834         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
13835         not 'machine'.
13836         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
13837         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
13838
13839 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
13840
13841         * dbxout.c (dbxout_source_line): Make static, update prototype.
13842         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
13843         (dbxout_init, dbxout_finish, dbxout_source_line,
13844         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
13845         * dbxout.h (dbxout_source_line): Delete.
13846         * debug.c (debug_nothing_file, debug_nothing_file_int,
13847         debug_nothing_file_charstar_rtx): New.
13848         (do_nothing_debug_hooks): Update.
13849         (debug_nothing_void, debug_nothing_charstar_rtx,
13850         dwarf2out_end_epilogue): New.
13851         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
13852         * debug.h (struct rtx_def): Declare.
13853         (gcc_debug_hooks): New hooks source_line, end_epilogue
13854         and end_function.
13855         (debug_nothing_void, debug_nothing_charstar_rtx,
13856         dwarf2out_end_epilogue): New.
13857         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
13858         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
13859         (dwarf2_debug_hooks): Update.
13860         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
13861         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
13862         * dwarf2out.h (dwarf2out_source_line): Remove.
13863         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
13864         Make static, update prototype.
13865         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
13866         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
13867         (dwarf_debug_hooks): Update.
13868         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
13869         dwarfout_end_function): Remove.
13870         * final.c (profile_function): Use debug hooks for ending functions
13871         and epilogues.
13872         (output_source_line, final_end_function): Update prototype,
13873         use debug hooks.
13874         (final_start_function, final_scan_insn): Update.
13875         * output.h (sdb_begin_function_line): Remove.
13876         (final_end_function): Update prototype.
13877         * sdbout.c (sdb_begin_function_line): Make static.
13878         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
13879         (sdbout_source_line): New.
13880         (sdbout_end_epilogue, sdbout_end_function): Make static, update
13881         prototypes.
13882         (sdb_debug_hooks): Update.
13883         (sdbout_init, sdbout_source_line,
13884         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
13885         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
13886         * toplev.c (compile_file, rest_of_compilation): Update.
13887         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
13888         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
13889         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
13890         Update for prototype changes.
13891         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
13892         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
13893
13894 2001-07-15  Richard Henderson  <rth@redhat.com>
13895
13896         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
13897         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
13898         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
13899         * config/alpha/alpha.c: Likewise.
13900         * config/alpha/alpha.md: Likewise.
13901         * config/alpha/alpha32.h: Likewise.
13902         * config/alpha/vms.h: Likewise.
13903         (OPEN_VMS): Remove.
13904
13905 2001-07-14  Richard Henderson  <rth@redhat.com>
13906
13907         * config/alpha/alpha.md: Use define_constants for unspec values.
13908         Substitute throughout.
13909
13910 2001-07-14  Tim Josling  <tej@melbpc.org.au>
13911
13912         * tree.def (EXPON_EXPR) remove. Never supported anyway.
13913
13914 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13915
13916         * pa.md: Remove unused constraints from define_split's.
13917
13918 2001-04-14  Richard Henderson  <rth@redhat.com>
13919
13920         * ifcvt.c (find_cond_trap): Test for exit block.
13921
13922 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
13923
13924         Re-install recently reverted patch.
13925         * emit-rtl.c (try_split): Update mark_jump_label call.
13926         * flow.c (find_sub_basic_blocks): Likewise.
13927         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
13928         jump_back_p): Kill.
13929         (mark_all_labels): Kill second parameter.
13930         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
13931         (rebuild_jump_labels, jump_optimize_minimal): Update call
13932         of jump_optimize_1.
13933         (jump_optimize_1): Kill crossjumping code.
13934         (mark_jump_label): Kill cross_jump parameter.
13935         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
13936         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
13937         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
13938          splitting.
13939         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
13940         DFI_bpro.
13941         (dump_file_info): Likewise.
13942         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
13943         reorganize passes to do reg-stack first, bb-reorder second.
13944         * invoke.texi (-d letters doc): Remove the jump2 pass.
13945
13946 2001-07-14  Richard Henderson  <rth@redhat.com>
13947
13948         * ifcvt.c (find_cond_trap): New.
13949         (find_if_header): Call it.
13950         (merge_if_block): Relax existing jump sanity check.
13951         * jump.c (jump_optimize_1): Remove conditional trap handling.
13952
13953 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
13954
13955         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
13956         millicode.
13957         (insn_refs_are_delayed): Correct comment.
13958         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
13959         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
13960         instead of r31.  Make associated insn !TARGET_64BIT, and
13961         provide an additional 64-bit insn that clobbers r2.
13962         (divsi3): Likewise.
13963         (udivsi3): Likewise.
13964         (modsi3): Likewise.
13965         (umodsi3): Likewise.
13966
13967 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
13968
13969         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
13970
13971         * flow.c (redirect_edge_and_branch_force, split_edge,
13972         try_crossjump_to_edge): Use set_block_for_new_insns.
13973         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
13974
13975 2001-07-13  H.J. Lu  (hjl@gnu.org)
13976
13977         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
13978         the correct patch.
13979
13980 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
13981
13982         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
13983
13984 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
13985
13986         * c-common.c (decl_attributes): Take a pointer to the node to
13987         which attributes are to be attached, and a flags argument.
13988         * c-common.h (enum attribute_flags): New.
13989         (decl_attributes): Update prototype.
13990         * c-decl.c (start_decl, push_parm_decl, finish_struct,
13991         finish_enum, start_function): Update calls to decl_attributes.
13992         * c-parse.in (component_declarator, component_notype_declarator,
13993         label): Update calls to decl_attributes.
13994
13995 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
13996
13997         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
13998         * config/avr/avr.c (legitimate_address_p): Return value changed
13999         from letter to register classes. For better debugging.
14000
14001 2001-07-13  Kazu Hirata  <kazu@hxi.com>
14002
14003         * jump.c (reversed_comparison_code_parts): Fix comment typos.
14004
14005 2001-07-13  H.J. Lu  (hjl@gnu.org)
14006
14007         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
14008
14009 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
14010
14011         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
14012         correctly for shared configurations.
14013         * config/t-libgcc-pic:  New.
14014         * config/{i386,m68k,sparc}/t-openbsd:  New.
14015         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
14016         Support -shared.  Support debugging libraries with -g.
14017         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
14018         frame information does not emit pointer diffs.
14019         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
14020         emit pointer diffs.
14021
14022 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
14023
14024         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
14025
14026 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
14027
14028         * combine.c (try_combine): Ensure const_int pow2 is positive.
14029
14030 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
14031
14032         * config.gcc: Add configuration for s/390.
14033         * config/s390/s390.c: New. Subroutines for code generation.
14034         * config/s390/s390.h: New. Definitions for s/390.
14035         * config/s390/s390-protos.h: New. Prototypes.
14036         * config/s390/linux.h: New. Definitions for linux for s/390.
14037         * config/s390/linux64.h: New. Definitions for linux for zSeries.
14038         * config/s390/t-linux: New. Makefile fragment.
14039         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
14040         * config/s390/fixdfdi.h: New. Fix L_fix*di.
14041
14042 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
14043
14044         * emit-rtl.c (try_split): Update mark_jump_label call.
14045         * flow.c (find_sub_basic_blocks): Likewise.
14046         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
14047         jump_back_p): Kill.
14048         (mark_all_labels): Kill second parameter.
14049         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
14050         (rebuild_jump_labels, jump_optimize_minimal): Update call
14051         of jump_optimize_1.
14052         (jump_optimize_1): Kill crossjumping code.
14053         (mark_jump_label): Kill cross_jump parameter.
14054         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
14055         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
14056         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
14057          splitting.
14058         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
14059         DFI_bpro.
14060         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
14061         reorganize passes to do reg-stack first, bb-reorder second.
14062         * invoke.texi (-d letters doc): Remove the jump2 pass.
14063
14064 2001-07-12  Steve Ellcey <sje@cup.hp.com>
14065
14066         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
14067
14068 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
14069
14070         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
14071         basic blocks.
14072         (verify_flow_info): Make diagnostics prettier.
14073
14074 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
14075
14076         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
14077
14078         * flow.c (outgoing_edges_match): Return early if condition reversal
14079         failed.
14080
14081 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
14082
14083         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
14084         (mips_move_2words): When splitting a move into two instructions,
14085         prefix the second address operand with '%D'.
14086
14087 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
14088
14089         * Makefile.in (final.o): Depend on debug.h.
14090         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
14091         (dbx_debug_hooks): Add new hooks.
14092         (xcoff_debug_hooks): New.
14093         * debug.c (debug_nothing_file_int_int): New.
14094         (do_nothing_debug_hooks): Update.
14095         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
14096         (debug_nothing_file_int_int): New.
14097         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
14098         static, update prototype.
14099         (dwarf2_debug_hooks): Update.
14100         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
14101         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
14102         static, update prototype.
14103         (dwarf_debug_hooks): Update.
14104         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
14105         * final.c: Include debug.h.
14106         (final_scan_insn): Use debug hooks when beginning and ending blocks.
14107         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
14108         static, update prototype.
14109         (sdb_debug_hooks): Update.
14110         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
14111         * toplev.c: Distinguish between xcoff and dbx.
14112
14113         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
14114         Call all debug hooks, not just dwarf ones.
14115
14116 2001-07-11  Timothy Wall  <twall@redhat.com>
14117
14118         * config.gcc: Add configuration for AIX5/IA64.
14119         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
14120         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
14121         support prefix/suffix code.
14122         * config/ia64/t-aix: New.  Makefile fragment.
14123         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
14124
14125 2001-07-11  Kazu Hirata  <kazu@hxi.com>
14126
14127         * recog.c (validate_change): Fix a comment typo.
14128
14129 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
14130
14131         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
14132         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
14133         hooks directly.
14134         * dbxout.c (dbx_debug_hooks): Add new hooks.
14135         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
14136         make static.
14137         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
14138         make static.
14139         * dbxout.h (dbxout_start_new_source_file,
14140         dbxout_resume_previous_source_file): Delete.
14141         * debug.c (do_nothing_debug_hooks): Add new hooks.
14142         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
14143         (debug_nothing_int_charstar, debug_nothing_int): New.
14144         * debug.h (gcc_debug_hooks): New hooks define, undef,
14145         start_source_file and end_source_file.
14146         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
14147         (debug_nothing_int_charstar, debug_nothing_int): New.
14148         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
14149         the conditionally compiled section.
14150         (dwarf2out_start_source_file, dwarf2out_end_source_file,
14151         dwarf2out_define, dwarf2out_undef): Make static.
14152         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
14153         dwarf2out_define, dwarf2out_undef): Remove.
14154         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
14155         (dwarfout_start_source_file, dwarfout_end_source_file,
14156         dwarfout_define, dwarfout_undef): Make static.
14157         (dwarfout_start_source_file_check,
14158         dwarfout_end_source_file_check): New.
14159         (dwarfout_define, dwarfout_finish): Update.
14160         * dwarfout.h (dwarfout_start_new_source_file,
14161         dwarfout_resume_previous_source_file, dwarfout_define,
14162         dwarfout_undef): Remove.
14163         * sdbout.c (sdb_debug_hooks): Add new hooks.
14164         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
14165         make static.
14166         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
14167         make static, take an arg.
14168         * sdbout.h (sdbout_start_new_source_file,
14169         sdbout_resume_previous_source_file): Delete.
14170         * toplev.c (debug_start_source_file, debug_end_source_file,
14171         debug_define, debug_undef): Delete.
14172         * toplev.h (debug_start_source_file, debug_end_source_file,
14173         debug_define, debug_undef): Delete.
14174
14175         * java/jcf-parse.c: Include debug.h.
14176         (parse_class_file): Update to use debug hooks directly.
14177         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
14178
14179 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14180
14181         * alias.c (set_mem_alias_set): New function.
14182         * rtl.h (set_mem_alias_set): Declare it.
14183         * builtins.c (expand_builtin_return_addr): Call it instead of
14184         using MEM_ALIAS_SET accessor.
14185         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
14186         (get_memory_rtx, expand_builtin_va_arg): Likewise.
14187         (expand_builtin_va_copy):Likewise.
14188         * caller-save.c (setup_save_areas): Likewise.
14189         * calls.c (compute_argument_addresses): Likewise.
14190         * explow.c (set_mem_attributes): Likewise.
14191         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
14192         (expand_assignment, store_constructor_field, store_field): Likewise.
14193         (expand_expr_unaligned): Likewise.
14194         * function.c (assign_stack_temp_for_type): Likewise.
14195         (put_reg_into_stack, gen_mem_addressof): Likewise.
14196         * ifcvt.c (noce_try_cmove_arith): Likewise.
14197         * reload1.c (reload, alter_reg): Likewise.
14198         * config/alpha/alpha.c (get_aligned_mem): Likewise.
14199         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
14200         (alpha_expand_unaligned_store): Likewise
14201         (alpha_expand_unaligned_load_words): Likewise.
14202         (alpha_expand_unaligned_store_words): Likewise.
14203         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
14204         (alpha_expand_epilogue): Likewise.
14205         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
14206         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
14207         * config/i386/i386.c (legitimize_pic_address): Likewise.
14208         * config/i960/i960.c (setup_incoming_varargs): Likewise.
14209         * config/ia64/ia64.c (spill_restore_mem): Likewise.
14210         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
14211         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
14212         * config/mips/mips.c (mips_va_arg): Likewise.
14213         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
14214         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
14215         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
14216         (setup_incoming_varargs, rs6000_va_arg): Likewise.
14217         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
14218         (rs6000_emit_epilogue): Likewise.
14219         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
14220         * config/sparc/sparc.c (sparc_va_arg): Likewise.
14221         * config/v850/v850.c (v850_va_arg): Likewise.
14222
14223 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
14224
14225         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
14226         when fallthru edge is present.
14227         (mege_blocks): Handle case where creation of jump insn
14228         is required.
14229
14230         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
14231         CLEANUP_POST_REGSTACK): New constants.
14232         * except.c (finish_eh_generation): Update call of cleanup_cfg,
14233         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
14234         * output.h (cleanup_cfg): Update prototype.
14235         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
14236         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
14237         cleanup_cfg call; kill missleading comment.
14238         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
14239         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
14240         parameter; control optimizations performed using it.
14241         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
14242         try_crossjump_bb): New functions.
14243
14244 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14245
14246         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
14247         extern.
14248         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
14249         pa_output_function_prologue.
14250         * pa-protos.h (pa_output_function_prologue): New prototype.
14251
14252 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14253
14254         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
14255         and low to get correct sign extension in low+high test.
14256
14257 2001-07-11  Janis Johnson <janis@us.ibm.com>
14258
14259         * gcov.c (arcdata): Use gcov_type to fix branch percentage
14260         for large hit count.
14261
14262         * profile.c (branch_prob): Fix .bbg info for computed gotos
14263         and C++ EH code.
14264
14265 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
14266
14267         * stmt.c (parse_output_constraint): New function, split out
14268         from ...
14269         (expand_asm_operands): ... here.  Use parse_output_constraint.
14270         * tree.h (parse_output_constraint): Declare it.
14271
14272 2001-07-11  Richard Henderson  <rth@redhat.com>
14273
14274         * bitmap.c: Comment some functions; fiddle whitespace.
14275         (bitmap_free): Don't export.
14276         (bitmap_element_allocate): Use memset.
14277         * bitmap.h (bitmap_free): Don't declare.
14278
14279 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
14280
14281         * gcse.c, lcm.c, sched-deps.c:
14282         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
14283
14284         * flow.c (flow_loops_find): Free dom if we found no loops, since
14285         we aren't going to save it.
14286
14287         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
14288         done.
14289
14290 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
14291
14292         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
14293
14294 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14295
14296         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
14297         #ifndef DWARF2_DEBUGGING_INFO.
14298
14299 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
14300
14301         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
14302
14303 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
14304
14305         * config/mips/mips.c (gen_int_relational): Tell the caller not to
14306         reverse a branch if a NE comparison is implemented with GTU.
14307
14308 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
14309             H.J. Lu  <hjl@gnu.org>
14310
14311         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
14312         constant addresses.
14313         (call_internal2): Likewise.
14314         (call_value_internal1): Likewise.
14315         (call_value_internal2): Likewise.
14316         (call_value_multiple_internal1): Likewise.
14317         (call_value_multiple_internal2): Likewise.
14318
14319 2001-07-10  Kazu Hirata  <kazu@hxi.com>
14320
14321         * calls.c (emit_library_call_value_1): Fix a comment typo.
14322         * dwarf2out.c (mem_loc_descriptor): Likewise.
14323         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
14324
14325 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
14326
14327         * simplify-rtx.c (simplify_subreg): Fix typo in comment
14328
14329 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14330
14331         * recog.c (offsettable_address_p): Handle LO_SUM case.
14332         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
14333         instead of plus_constant.
14334
14335 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14336
14337         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
14338         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
14339
14340 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14341
14342         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
14343         adjust_address_nv instead of plus_constant.
14344
14345 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
14346
14347         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
14348         dwarf2out.o): Depend on debug.h, wrap long lines.
14349         * dbxout.c: Include debug.h.
14350         (dbx_debug_hooks): New.
14351         (dbxout_init): Make static, take just 2 args.
14352         (dbxout_finish): Make static.
14353         * dbxout.h (dbxout_init, dbxout_finish): Delete.
14354         * debug.c: New file.
14355         * debug.h: New file.
14356         * dwarf2out.c: Include debug.h.
14357         (dwarf2_debug_hooks): New.
14358         (dwarf2out_init): Make static.
14359         (dwarf2out_finish): Make static, take 2 args.
14360         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
14361         * dwarfout.c: Include debug.h.
14362         (dwarf_debug_hooks): New.
14363         (dwarfout_init): Make static.
14364         (dwarfout_finish): Make static, take 2 args.
14365         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
14366         * sdbout.c: Include debug.h.
14367         (sdb_debug_hooks): New.
14368         (sdbout_init): Make static, take 2 args.
14369         * sdbout.h (sdbout_init): Delete.
14370         * toplev.c: Include debug.h.
14371         (debug_hooks): New.
14372         (compile_file): Set deubg_hooks based on command line options.
14373         Use the hooks unconditionally rather than conditional compilation.
14374
14375 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
14376
14377         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
14378         first_insn_after_basic_block_note instead.
14379
14380         * df.c (df_bb_refs_unlink): #if 0 out for now.
14381
14382 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
14383
14384         * ssa.h: Add prototype for ssa_const_prop
14385         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
14386         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
14387         (ssa_fast_dce): Remove unused variable
14388
14389 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
14390
14391         * diagnostic.c (finish_diagnostic): Rename to
14392         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
14393         calls thourghout.
14394
14395 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
14396
14397         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
14398         .loc support.
14399
14400         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
14401         (dump_file): Only pad the demangled name with spaces if the
14402         mangled name was padded with spaces.
14403
14404 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
14405
14406         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
14407         edge detection.
14408
14409 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14410
14411         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
14412         extraction if no direct load if either EXPAND_CONST_ADDRESS or
14413         EXPAND_INITIALIZER.
14414
14415         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
14416         whether can put offset inside LO_SUM to check mode alignment, not size.
14417
14418 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
14419
14420         * doc/tm.texi (Misc): Fix thinko.
14421
14422 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
14423
14424         * regmove.c (replace_in_call_usage): Fix warnings.
14425         * sched-deps.c (add_dependence): Fix warnings.
14426         * simplify-rtx.c (simplify_subreg): Likewise.
14427         Return NULL_RTX instead of NULL.
14428
14429         * reg-stack.c (emit_swap_insn): Eliminate warnings.
14430         (subst_asm_stack_regs): Likewise.
14431
14432         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
14433         warnings.
14434
14435         * dwarf2out.c (output_call_frame_info): Declare i as int.
14436         (build_abbrev_table): Declare n_alloc as int.
14437         (dwarf2out_finish): Initialize die.
14438         * except.c: Declare sjlj_funcdef_number as unsigned.
14439         (connect_post_landing_pads): Declare j as unsigned.
14440         (convert_to_eh_region_ranges): Initialize call_site.
14441         (output_function_exception_table): Initialize tt_format_size.
14442         * expr.c (move_by_pieces_1): Initialize to1.
14443         (store_constructor): Initialize minelt and maxelt.
14444         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
14445         * function.c (instantiate_decls): Avoid signed/unsigned warning.
14446
14447         * c-decl.c (combine_parm_decls): Unused, remove.
14448         * c-tree.h: Remove prototype for combine_parm_decls.
14449
14450         * reload.c (push_reload): Fix warning.
14451         (regno_clobbered_p): Likewise.
14452         * reload1.c (replace_pseudos_in_call_usage): Likewise.
14453         (reload_combine): Likewise.
14454
14455         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
14456         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
14457         warnings.
14458         * bitmap.c (bitmap_operation): Change user.
14459         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
14460
14461 2001-07-10  Eric Christopher  <echristo@redhat.com>
14462
14463         * config/mips/mips.c (override_options): Fix typo.
14464
14465 2001-07-09  Stan Shebs  <shebs@apple.com>
14466
14467         * target.h (struct gcc_target): New fields init_builtins and
14468         expand_builtin.
14469         * target-def.h (TARGET_INIT_BUILTINS): New macro.
14470         (TARGET_EXPAND_BUILTIN): New macro.
14471         (TARGET_INITIALIZER): Add them.
14472         * builtins.c: Include target.h.
14473         (expand_builtin): Use targetm.expand_builtin.
14474         (default_init_builtins): New function.
14475         (default_expand_builtin): New function.
14476         * expr.h (default_init_builtins): Declare.
14477         (default_expand_builtin): Declare.
14478         * c-common.c (c_common_nodes_and_builtins): Use
14479         targetm.init_builtins.
14480         * defaults.h (MD_INIT_BUILTINS): Remove.
14481         * Makefile.in (builtins.o): Depend on target.h.
14482
14483         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
14484         (TARGET_EXPAND_BUILTIN): Define.
14485         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
14486         (MD_EXPAND_BUILTIN): Remove.
14487
14488         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
14489         (TARGET_EXPAND_BUILTIN): Define.
14490         (c4x_init_builtins): Make endlink arg a local.
14491         (c4x_print_operand): Fix typos in adjust_address usages.
14492         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
14493         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
14494         (MD_EXPAND_BUILTIN): Remove.
14495
14496         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
14497         (TARGET_EXPAND_BUILTIN): Define.
14498         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
14499         (ix86_init_builtins): Call new function only if TARGET_MMX.
14500         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
14501         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
14502         (MD_EXPAND_BUILTIN): Remove.
14503
14504         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
14505         (TARGET_EXPAND_BUILTIN): Define.
14506         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
14507         (MD_EXPAND_BUILTIN): Remove.
14508
14509         * doc/tm.texi: Document these changes.
14510
14511 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
14512
14513         * basic-block.h (tree_node): Forward declare if needed.
14514         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
14515         (BLOCK_HEAD_TREE): Define.
14516         (BLOCK_END_TREE): Define.
14517         (struct loops): Rename field 'tree' to 'tree_root'.
14518         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
14519         'end_tree'.
14520         (flow_loops_tree_build): Rename reference to field 'tree' to
14521         'tree_root'.
14522         (flow_loops_level_compute): Ditto.
14523         * predict.c (estimate_bb_frequencies): Ditto.
14524         * tree.h (struct tree_common): Add field 'aux'.
14525
14526 2001-07-09  Stan Shebs  <shebs@apple.com>
14527
14528         * config/darwin.c (darwin_encode_section_info): Don't mark any
14529         DECL_EXTERNAL node as defined.
14530
14531 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14532
14533         * pa.c (pa_init_machine_status, pa_mark_machine_status,
14534         pa_free_machine_status, hppa_init_pic_save): Delete.
14535         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
14536         (hppa_profile_hook): Use hppa_pic_save_rtx.
14537         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
14538         hppa_init_pic_save): Delete.
14539         (hppa_pic_save_rtx): Declare.
14540         * pa.md (call, call_value, sibcall, sibcall_value,
14541         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
14542
14543 2001-07-09  Kazu Hirata  <kazu@hxi.com>
14544
14545         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
14546         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
14547
14548 2001-07-09  Andreas Jaeger  <aj@suse.de>
14549
14550         * output.h: Add declaration of final_forward_branch_p.
14551
14552         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
14553
14554         * varray.c: Include errors.h for internal_error and trim_filename
14555         declarations.
14556
14557         * Makefile.in (varray.o): Add errors.h.
14558
14559 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
14560
14561         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
14562         * optabs.c (have_add2_insn): Check whether the add insn chosen
14563         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
14564         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
14565
14566 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
14567
14568         * Makefile.in (OBJS): Add ssa-ccp.o
14569         (ssa-ccp.o): Add dependencies.
14570         * toplev.c (DFI_ssa_ccp): New dump file enum.
14571         (dump_file): Add entry for dumping after SSA CCP.
14572         (flag_ssa_ccp): New flag variable.
14573         (f_options): Add -fssa-ccp.
14574         (rest_of_compilation): Run SSA CCP if requested.
14575         * timevar.def (TV_SSA_CCP): New timevar.
14576         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
14577         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
14578         Fix minor typo in SSA DCE documentation.
14579         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
14580         Add documentation for new dump option.  Renumber dump files
14581         appropriately.
14582
14583 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
14584
14585         * emit-rtl.c (gen_highpart_mode): New.
14586         * rtl.h (gen_highpart_mode): Declare.
14587         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
14588         operand can be VOIDmode constant.
14589
14590 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
14591
14592         * flow.c (redirect_edge_and_branch_force): New.
14593         (can_fallthru): Ensure that basic blocks are succeeding.
14594         (try_optimize_cfg): Do not delete basic block if it is the last one.
14595
14596         * flow.c (try_redirect_by_replacing_jump): Do not remove
14597         jumps with side effects, unlink chain on fallthru edge;
14598         set block for new jump instruction; avoid basic block to
14599         over by line number note.
14600
14601         * flow.c (try_simplify_condjump): Verify that the condjump
14602         is not always falling through.
14603
14604         Re-install patch:
14605         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
14606
14607         * flow.c (forwarder_block_p): Fix for fallthru blocks.
14608         (try_redirect_by_replacing_jump): Update properly the count
14609         and frequency information.
14610
14611 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14612
14613         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
14614         address that is a LO_SUM specially.
14615         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
14616
14617         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
14618
14619         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
14620         (operand_subword): Use them.
14621         (change_address_1): Renamed from change_address; new arg VALIDATE.
14622         * expr.h: Reflect above changes; change_address now macro.
14623         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
14624         making MEM.
14625         * cselib.c (add_mem_for_addr): Likewise.
14626         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
14627         * regmove.c (try_apply_stack_adjustment): Likewise.
14628         * reload.c (push_reload, make_memloc): Likewise.
14629         * reload1.c (eliminate_regs): Likewise.
14630         * simplify-rtx.c (simplify_replace_rtx): Likewise.
14631         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
14632         adjust_addess.
14633         * combine.c (make_extraction, simplify_shift_const): Likewise.
14634         (gen_lowpart_for_combine): Likewise.
14635         * cse.c (gen_lowpart_if_possible): Likewise.
14636         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
14637         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
14638         * optabs.c (gen_move_insn): Likewise.
14639         * reload1.c (alter_reg): Likewise.
14640         * simplify-rtx.c (simplify_subreg): Likewise.
14641         * stmt.c (expand_anon_union_decl): Likewise.
14642         * recog.c (validate_replace_rtx_1): Likewise.
14643         (expr.h): Include.
14644         * Makefile.in (recog.o): Add $(EXPR_H).
14645         * explow.c (stabilize): Call replace_equiv_address.
14646         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
14647         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
14648
14649 2001-07-03  Andrew Haley  <aph@redhat.com>
14650
14651         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
14652         the mode of the memory location.
14653
14654 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
14655
14656         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
14657
14658 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
14659
14660         * final.c (output_addr_const): Use target opening and
14661         closing parentheses.
14662         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
14663         defaults, add to TARGET_ASM_OUT.
14664         * target.h (struct gcc_target): Add open_paren and close_paren.
14665         * doc/md.texi: Update.
14666         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
14667         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
14668         TARGET_ASM_CLOSE_PAREN.
14669         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
14670         Override.
14671         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
14672         Override.
14673         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
14674         * config/a29k/a29k.h: Similarly.
14675         * config/alpha/alpha.h: Similarly.
14676         * config/arc/arc.h: Similarly.
14677         * config/arm/aof.h: Similarly.
14678         * config/arm/aout.h: Similarly.
14679         * config/avr/avr.h: Similarly.
14680         * config/c4x/c4x.h: Similarly.
14681         * config/clipper/clipper.h: Similarly.
14682         * config/convex/convex.h: Similarly.
14683         * config/d30v/d30v.h: Similarly.
14684         * config/dsp16xx/dsp16xx.h: Similarly.
14685         * config/elxsi/elxsi.h: Similarly.
14686         * config/fr30/fr30.h: Similarly.
14687         * config/h8300/h8300.h: Similarly.
14688         * config/i370/i370.h: Similarly.
14689         * config/i386/i386.h: Similarly.
14690         * config/i860/i860.h: Similarly.
14691         * config/i960/i960.h: Similarly.
14692         * config/ia64/ia64.h: Similarly.
14693         * config/m32r/m32r.h: Similarly.
14694         * config/m68hc11/m68hc11.h: Similarly.
14695         * config/m68k/m68k.h: Similarly.
14696         * config/m88k/m88k.h: Similarly.
14697         * config/mcore/mcore.h: Similarly.
14698         * config/mips/mips.h: Similarly.
14699         * config/mn10200/mn10200.h: Similarly.
14700         * config/mn10300/mn10300.h: Similarly.
14701         * config/ns32k/ns32k.h: Similarly.
14702         * config/pa/pa.h: Similarly.
14703         * config/pdp11/pdp11.h: Similarly.
14704         * config/pj/pj.h: Similarly.
14705         * config/romp/romp.h: Similarly.
14706         * config/rs6000/rs6000.h: Similarly.
14707         * config/sh/sh.h: Similarly.
14708         * config/sparc/sparc.h: Similarly.
14709         * config/v850/v850.h: Similarly.
14710         * config/vax/vax.h: Similarly.
14711         * config/we32k/we32k.h: Similarly.
14712
14713 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
14714
14715         * doc/c-tree.texi: Document representation of attributes.
14716
14717 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
14718
14719         * doc/tm.texi: Update some places for the rename of target to
14720         targetm.  Fix typo.
14721
14722 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
14723
14724         * target.h (struct gcc_target): Add insert_attributes.
14725         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
14726         (TARGET_INITIALIZER): Update.
14727         * tree.c, tree.h (default_insert_attributes): New function.
14728         Update comments on other default functions to refer to targetm,
14729         not target.
14730         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
14731         TARGET_INSERT_ATTRIBUTES.
14732         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
14733         * c-common.c (decl_attributes): Use targetm.insert_attributes.
14734         Don't use PRAGMA_INSERT_ATTRIBUTES.
14735         * Makefile.in (c-common.o): Depend on $(TARGET_H).
14736         * c-decl.c (start_decl, start_function): Don't call
14737         SET_DEFAULT_DECL_ATTRIBUTES.
14738         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
14739         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
14740         declare.
14741         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
14742         (c4x_check_attribute): Avoid modifying attribute list itself.
14743         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
14744         Make static.
14745         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
14746         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
14747         declare.
14748         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
14749         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
14750         Make static.
14751         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
14752         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
14753         declare.
14754         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
14755         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
14756         Adjust parameters.  Make static.
14757
14758 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
14759
14760         * c-common.c (decl_attributes): Only take a single attributes
14761         parameter.
14762         * c-common.h (decl_attributes): Update prototype.
14763         * c-decl.c (start_decl, start_function): Only take a single
14764         attributes parameter.  Update calls to decl_attributes.
14765         (finish_struct, finish_enum): Update calls to decl_attributes.
14766         (push_parm_decl): Expect unified list of attributes.  Update call
14767         to decl_attributes.
14768         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
14769         notype_nested_function, component_declarator,
14770         component_notype_declarator, label): Update calls to
14771         decl_attributes.
14772         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
14773         lists that are passed to push_parm_decl.
14774         * c-tree.h (start_function, start_decl): Update prototypes.
14775         * config/sh/sh-protos.h, config/sh/sh.c
14776         (sh_pragma_insert_attributes): Only take a single attributes
14777         parameter.
14778         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
14779         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
14780         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
14781         build_module_descriptor, generate_static_references,
14782         generate_strings, build_selector_translation_table,
14783         generate_descriptor_table, generate_protocols,
14784         generate_ivars_list, generate_dispatch_table,
14785         generate_protocol_list, generate_category,
14786         generate_shared_structures, really_start_method, add_objc_decls,
14787         generate_classref_translation_entry): Update calls to start_decl
14788         and start_function.
14789         (build_tmp_function_decl, start_method_def): Unify attribute lists
14790         that are passed to push_parm_decl.
14791
14792 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
14793
14794         * final.c (no_asm_to_stream): New.
14795         (final_scan_insn): Use target structures for prologue ends
14796         and epilogue starts.
14797         * output.h (no_asm_to_stream): New.
14798         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
14799         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
14800         (TARGET_ASM_OUT): Update.
14801         * target.h (struct gcc_target): New members function_end_prologue
14802         and function_begin_epilogue.
14803         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
14804         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
14805         * config/alpha/alpha.c (output_end_prologue): Rename to
14806         alpha_output_function_end_prologue.  Use in target struct
14807         and make static.
14808         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
14809         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
14810         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
14811         ia64_output_function_end_prologue.  Use in target struct
14812         and make static.
14813         (ia64_function_prologue, ia64_funciton_epilogue): Rename
14814         mistyped prototypes.
14815         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
14816         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
14817         Delete.
14818         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
14819         an use in target struct, make static.
14820         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
14821         Delete.
14822
14823 2001-07-08  Richard Henderson  <rth@redhat.com>
14824
14825         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
14826
14827 2001-07-08  Richard Henderson  <rth@redhat.com>
14828
14829         * config/i386/i386.md: Remove constraints strings from define_split
14830         and define_peephole2 patterns.
14831         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
14832         (eh_return): Use them.
14833
14834 2001-07-08  Richard Henderson  <rth@redhat.com>
14835
14836         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
14837         Document MD_FALLBACK_FRAME_STATE_FOR.
14838
14839 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14840
14841         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
14842         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
14843         elimination.
14844         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
14845
14846 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
14847
14848         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
14849         of the label inside NAME as opposed to just the end of NAME.
14850
14851 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
14852
14853         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
14854         * config/alpha/alpha.c (alpha_init_machine_status,
14855         alpha_mark_machine_status, alpha_free_machine_status): Delete.
14856         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
14857         (vms_valid_decl_attribute_p): Make static, conditionally compile.
14858         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
14859
14860 2001-07-06  Stan Shebs  <shebs@apple.com>
14861
14862         * target.h (targetm): Rename global from "target", so as not to
14863         conflict with local variables.
14864         * c-decl.c: Ditto.
14865         * c-typeck.c: Ditto.
14866         * final.c: Ditto.
14867         * tree.c: Ditto.
14868         * cp/decl.c: Ditto.
14869         * cp/decl2.c: Ditto.
14870         * cp/typeck.c: Ditto.
14871         * 1750a/1750a.c: Ditto.
14872         * a29k/a29k.c: Ditto.
14873         * arc/arc.c: Ditto.
14874         * arm/arm.c: Ditto.
14875         * avr/avr.c: Ditto.
14876         * clipper/clipper.c: Ditto.
14877         * convex/convex.c: Ditto.
14878         * d30v/d30v.c: Ditto.
14879         * dsp16xx/dsp16xx.c: Ditto.
14880         * elxsi/elxsi.c: Ditto.
14881         * fr30/fr30.c: Ditto.
14882         * h8300/h8300.c: Ditto.
14883         * i370/i370.c: Ditto.
14884         * i386/i386.c: Ditto.
14885         * i860/i860.c: Ditto.
14886         * i960/i960.c: Ditto.
14887         * ia64/ia64.c: Ditto.
14888         * m32r/m32r.c: Ditto.
14889         * m68hc11/m68hc11.c: Ditto.
14890         * m68k/m68k.c: Ditto.
14891         * m88k/m88k.c: Ditto.
14892         * mips/mips.c: Ditto.
14893         * ns32k/ns32k.c: Ditto.
14894         * pa/pa.c: Ditto.
14895         * pdp11/pdp11.c: Ditto.
14896         * romp/romp.c: Ditto.
14897         * rs6000/rs6000.c: Ditto.
14898         * sh/sh.c: Ditto.
14899         * sparc/sparc.c: Ditto.
14900         * vax/vax.c: Ditto.
14901         * we32k/we32k.c: Ditto.
14902         * doc/tm.texi: Update the manual to match.
14903
14904 2001-07-06  Richard Henderson  <rth@redhat.com>
14905
14906         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
14907         DWARF2_UNWIND_INFO not just whether it is defined.
14908
14909 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
14910
14911         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
14912         call to simplify_binary_operation returns a new pattern.
14913
14914 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
14915
14916         * glimits.h (__SHRT_MAX__): New.
14917         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
14918         (SHRT_MAX): Define in terms of __SHRT_MAX__.
14919
14920 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
14921
14922         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
14923         avoid warnings.
14924
14925 2001-07-06  Richard Henderson  <rth@redhat.com>
14926
14927         * bitmap.c (bitmap_release_memory): Move adjacent to the
14928         allocation functions.
14929         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
14930         the implementation.  Binary search for the set bit.
14931         (bitmap_union_of_diff): Allocate the temporary on the stack
14932         instead of using xmalloc.
14933
14934 2001-07-06  Richard Henderson  <rth@redhat.com>
14935
14936         * genrecog.c (validate_pattern): Warn for constraints in
14937         define_{expand,split,peephole2}.  Remove strict_low_part
14938         before looking up match_dup.
14939
14940 2001-07-06  DJ Delorie  <dj@redhat.com>
14941
14942         * doc/gcc.texi (Makefile): Rename to be a more general purpose
14943         chapter about various build hints and history.  Add section
14944         talking about the various types of native and cross builds.
14945
14946 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
14947
14948         * Makefile.in (final.o): Depend on target.h.
14949         * final.c: Include target.h.
14950         (default_function_pro_epilogue): New.
14951         (final_start_function): Use target structure for function prologues.
14952         (final_end_function): Use target structure for function epilogues.
14953         * fold-const.c (real_hex_to_f): Constify s and p.
14954         * output.h (default_function_pro_epilogue): New.
14955         * real.h (real_hex_to_f): Update prototype.
14956         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
14957         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
14958         (TARGET_INITIALIZER): Update.
14959         * target.h (gcc_target): Add struct asm_out.
14960         * doc/tm.texi: Update.
14961
14962 config:
14963         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
14964         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
14965         in cpu/cpu.c, or rename old functions consistently.  Take
14966         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
14967         redundant macros and prototypes.  Make new functions static.
14968
14969         * 1750a/1750a.c: Similarly.
14970         * 1750a/1750a.h: Similarly.
14971         * a29k/a29k-protos.h: Similarly.
14972         * a29k/a29k.c: Similarly.
14973         * a29k/a29k.h: Similarly.
14974         * arc/arc-protos.h: Similarly.
14975         * arc/arc.c: Similarly.
14976         * arc/arc.h: Similarly.
14977         * arm/arm-protos.h: Similarly.
14978         * arm/arm.c: Similarly.
14979         * arm/arm.h: Similarly.
14980         * avr/avr-protos.h: Similarly.
14981         * avr/avr.c: Similarly.
14982         * avr/avr.h: Similarly.
14983         * clipper/clipper-protos.h: Similarly.
14984         * clipper/clipper.c: Similarly.
14985         * clipper/clipper.h: Similarly.
14986         * convex/convex.c: Similarly.
14987         * convex/convex.h: Similarly.
14988         * d30v/d30v-protos.h: Similarly.
14989         * d30v/d30v.c: Similarly.
14990         * d30v/d30v.h: Similarly.
14991         * d30v/d30v.md: Similarly.
14992         * dsp16xx/dsp16xx-protos.h: Similarly.
14993         * dsp16xx/dsp16xx.c: Similarly.
14994         * dsp16xx/dsp16xx.h: Similarly.
14995         * elxsi/elxsi.c: Similarly.
14996         * elxsi/elxsi.h: Similarly.
14997         * fr30/fr30.c: Similarly.
14998         * fr30/fr30.md: Similarly.
14999         * h8300/h8300-protos.h: Similarly.
15000         * h8300/h8300.c: Similarly.
15001         * h8300/h8300.h: Similarly.
15002         * i370/i370-protos.h: Similarly.
15003         * i370/i370.c: Similarly.
15004         * i370/i370.h: Similarly.
15005         * i386/i386.c: Similarly.
15006         * i386/osf1elf.h: Similarly.
15007         * i386/osfrose.h: Similarly.
15008         * i860/i860-protos.h: Similarly.
15009         * i860/i860.c: Similarly.
15010         * i860/i860.h: Similarly.
15011         * i960/i960-protos.h: Similarly.
15012         * i960/i960.c: Similarly.
15013         * i960/i960.h: Similarly.
15014         * ia64/ia64-protos.h: Similarly.
15015         * ia64/ia64.c: Similarly.
15016         * ia64/ia64.h: Similarly.
15017         * m32r/m32r-protos.h: Similarly.
15018         * m32r/m32r.c: Similarly.
15019         * m32r/m32r.h: Similarly.
15020         * m68hc11/m68hc11-protos.h: Similarly.
15021         * m68hc11/m68hc11.c: Similarly.
15022         * m68hc11/m68hc11.h: Similarly.
15023         * m68k/crds.h: Similarly.
15024         * m68k/dpx2.h: Similarly.
15025         * m68k/m68k-protos.h: Similarly.
15026         * m68k/m68k.c: Similarly.
15027         * m68k/m68k.h: Similarly.
15028         * m68k/news.h: Similarly.
15029         * m88k/m88k-protos.h: Similarly.
15030         * m88k/m88k.c: Similarly.
15031         * m88k/m88k.h: Similarly.
15032         * mips/mips-protos.h: Similarly.
15033         * mips/mips.c: Similarly.
15034         * mips/mips.h: Similarly.
15035         * ns32k/merlin.h: Similarly.
15036         * ns32k/ns32k.c: Similarly.
15037         * ns32k/ns32k.h: Similarly.
15038         * ns32k/tek6000.h: Similarly.
15039         * pa/pa-protos.h: Similarly.
15040         * pa/pa.c: Similarly.
15041         * pa/pa.h: Similarly.
15042         * pdp11/2bsd.h: Similarly.
15043         * pdp11/pdp11-protos.h: Similarly.
15044         * pdp11/pdp11.c: Similarly.
15045         * pdp11/pdp11.h: Similarly.
15046         * romp/romp-protos.h: Similarly.
15047         * romp/romp.c: Similarly.
15048         * romp/romp.h: Similarly.
15049         * rs6000/rs6000-protos.h: Similarly.
15050         * rs6000/rs6000.c: Similarly.
15051         * rs6000/rs6000.h: Similarly.
15052         * rs6000/sysv4.h: Similarly.
15053         * sh/sh-protos.h: Similarly.
15054         * sh/sh.c: Similarly.
15055         * sh/sh.h: Similarly.
15056         * sparc/sparc-protos.h: Similarly.
15057         * sparc/sparc.c: Similarly.
15058         * sparc/sparc.h: Similarly.
15059         * vax/vax.c: Similarly.
15060         * vax/vax.h: Similarly.
15061         * vax/vms.h: Similarly.
15062         * we32k/we32k.c: Similarly.
15063         * we32k/we32k.h: Similarly.
15064
15065 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
15066
15067         * basic-block.h (first_insn_after_basic_block_note): Declare.
15068         * flow.c (first_insn_after_basic_block_note): Define.  Moved
15069         from...
15070         * ssa.c (first_insn_after_basic_block_note): Remove.
15071         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
15072         necessary.
15073         (ssa_eliminate_dead_code): Properly update the CFG and PHI
15074         nodes when we find a dead conditional branch.  Insert BARRIERs
15075         after any blocks with no successors, but which do not have
15076         any BARRIERs.
15077
15078 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
15079
15080         * varray.c (varray_check_failed): Use internal_error.
15081
15082 2001-07-05  Andrew Haley  <aph@redhat.com>
15083
15084         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
15085         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
15086         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
15087
15088 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
15089
15090         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
15091         reference if the target constant is also a SYMBOL_REF.
15092
15093 2001-07-05  Eric Christopher  <echristo@redhat.com>
15094
15095         * config/mips/mips.h (MASK_MIPS3900): Remove.
15096         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
15097         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
15098         (TARGET_MIPS3900): Change to use mips_arch.
15099         (TARGET_MIPS4000): New.
15100         (TARGET_MIPS4100): New.
15101         (TARGET_MIPS4300): New.
15102         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
15103         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
15104         for -mipsX.
15105         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
15106         (ISA_HAS_BRANCHLIKELY): To here.
15107         (CC1_CPU_SPEC):  New.
15108         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
15109         (mips_arch_string): Declare.
15110         (mips_arch): Declare.
15111         (TARGET_OPTIONS): Add -march and -mtune.
15112
15113         * config/mips/mips.c (mips_arch_string): New.
15114         (mips_arch): New.
15115         (override_options): Handle -march for codegen and -mtune
15116         for scheduling. Use mips_arch. Move tx39 target default here.
15117         (mips_parse_cpu): Move error message to override_options.
15118
15119         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
15120
15121         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
15122
15123         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
15124         (MIPS Options): Ditto.  Change mcpu entry to historical text.
15125
15126 2001-07-05  H.J. Lu  (hjl@gnu.org)
15127
15128         * config/mips/mips.c (mips_parse_cpu): New function to parse
15129         -march=*/-mcpu=*.
15130
15131 2001-07-05  Jim Wilson  <wilson@redhat.com>
15132
15133         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
15134         * config/ia64/t-ia64: Likewise.
15135         (LIB1ASMFUNCS): Update comment.
15136
15137 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
15138
15139         * doc/install.texi (Install GCC: Binaries): Fix typo.
15140
15141 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15142
15143         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
15144         reference using the stack pointer, adjust it since we push Y
15145         temporarily.
15146         ("*ashrsi3"): Likewise.
15147         ("*lshrsi3"): Likewise.
15148
15149 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15150
15151         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
15152         when -fomit-frame-pointer is used.
15153
15154 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
15155
15156         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
15157         (try_redirect_by_replacing_jump): Reverse updating properly the
15158         count and frequency information.  Reverse removing cc0 setter.
15159         (forwarder_block_p): Reverse fixing for fallthru blocks.
15160
15161 2001-07-05  DJ Delorie  <dj@redhat.com>
15162
15163         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
15164         (translate_options): If the above is defined, use it to map
15165         given options to new options.
15166         * doc/tm.texi: Document it.
15167
15168 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
15169             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
15170
15171         * doc/invoke.texi (Optimize Options): Document that -fgcse may
15172         cause programs using computed gotos to run more slowly.
15173
15174 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15175
15176         * doc/install.texi (Specific): Markup, spelling and typo fixes.
15177         Fixed sorting.
15178         Consistently require binutils 2.11.2, not prereleases.
15179         (Specific, decstation-*): Canonicalize as mips-dec-*.
15180         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
15181         always necessary.
15182         (Specific, m68k-altos): Removed reference to README.altos, deleted.
15183         (Specific, mips-*): Reword MIPS C compiler requirements.
15184         (Specific, powerpc*-*-*): New, mention --with-cpu once.
15185         (Specific, sunv5): Removed, obsolete.
15186
15187 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
15188
15189         * dwarf2out.c (output_loc_list): Use an all ones mask for
15190         .text asm output and don't rely on long long
15191         literals. Reformat some long lines.
15192
15193 2001-07-05  Andreas Jaeger  <aj@suse.de>
15194
15195         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
15196         section.
15197
15198 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
15199
15200         * dwarf2out.c (dwarf2out_define): Update comment.
15201         (dwarf2out_undef): Ditto.
15202         (dwarf2out_start_source_file): Ditto.
15203         (dwarf2out_end_source_file): Ditto.
15204         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
15205         since we never call the start/end debug hook for the primary file.
15206
15207 2001-07-04  Kazu Hirata  <kazu@hxi.com>
15208
15209         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
15210         from shll.
15211
15212 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
15213
15214         * cppinit.c (remove_dup_dirs): Inform if a system include
15215         directory is being reordered.
15216         * doc/invoke.texi (Directory Options): GCC warns if you hide a
15217         system include.
15218         * doc/cpp.texi (Search Paths): Likewise.
15219         * doc/gcc.texi (Interoperation): Remove information about
15220         -I/usr/include.
15221
15222 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
15223
15224         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
15225         (VARRAY_TOP_CHAR_PTR): Likewise.
15226
15227 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15228
15229         * gcc.c (process_command): Don't assign elements of a const char*.
15230
15231 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15232
15233         * emit-rtl.c (change_address): Don't abort if invalid address while
15234         reload is in progress.
15235
15236 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
15237
15238         * c-lex.c (cb_file_change): Pass line number to
15239         debug_start_source_file.
15240         (cb_undefine): Pass correct line number to debug_undef.
15241
15242         * toplev.c (debug_start_source_file): Add line number to
15243         parameters. Pass it along to dwarf2out_start_source_file.
15244         (decode_g_option): Stop resetting debug level back to normal when
15245         we change debug formats, unless the current level is
15246         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
15247         3).
15248
15249         * toplev.h (debug_start_source_file): Add line number to
15250         parameters.
15251
15252         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
15253         parameters.
15254
15255         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
15256         parameters.
15257         Output debug_macinfo data for starting file if requested.
15258         (dwarf2out_end_source_file): Output debug_macinfo data for ending
15259         file if requested.
15260         (dwarf2out_define): Output debug_macinfo data for defining a macro
15261         if requested.
15262         (dwarf2out_undef): Output debug_macinfo data for undefining a
15263         macro if requested.
15264         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
15265         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
15266         (macinfo_section_label): New. DWARF2 macro info section label.
15267         (dwarf2out_init): If we want macro info, output the start label
15268         for the section.
15269         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
15270         attribute to the compilation unit die pointing to the macro info.
15271
15272 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
15273
15274         * dwarf2out.c (new_loc_list): Move to inside #ifdef
15275         DWARF2_DEBUGGING_INFO.
15276         (add_loc_descr_to_loc_list): Ditto.
15277         (output_loc_list): Ditto.
15278         Also, fix thinko in curr not being initialized.
15279         (gen_internal_sym): Ditto.
15280
15281 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15282
15283         * emit-rtl.c (replace_equiv_address): New function.
15284         * expr.h (replace_equiv_address): New declaration.
15285         * explow.c (validize_mem): Call it instead of change_address and
15286         also call if -fforce-addr and address is constant.
15287         * expr.c: Replace more calls to change_address with adjust_address
15288         and/or replace_equiv_address or to validize_mem.
15289         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
15290         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
15291         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
15292         * config/i370/i370.md, config/i860/i860.md: Likewise.
15293         * config/i960/i960.md, config/mips/mips.c: Likewise.
15294         * config/mips/mips.md, config/pa/pa.md: Likewise.
15295         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
15296         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
15297
15298 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15299
15300         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
15301
15302         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
15303         function.
15304
15305 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
15306
15307         * doc/include: New directory.
15308         * doc/fdl.texi: Move to doc/include/fdl.texi.
15309         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
15310         * doc/include/funding.texi, doc/include/gpl.texi: New files.
15311         * doc/gcc.texi: Use funding.texi and gpl.texi.
15312         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
15313         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
15314         Update dependencies and use -I $(docdir)/include.
15315
15316 2001-07-04  Anthony Green  <green@redhat.com>
15317
15318         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
15319
15320 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
15321
15322         * doc/install.texi (sparc64-*-*): Remove garbage.
15323
15324 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
15325
15326         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
15327         Fix typo in last change to use adjust_address.
15328
15329 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
15330
15331         * doc/install.texi (Specific): Update information for *-*-solaris*.
15332
15333 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15334
15335         * explow.c (plus_constant_wide): Reinitialize Y for restart.
15336
15337 2001-07-03  Stan Shebs  <shebs@apple.com>
15338
15339         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
15340         case for flag_no_mach_text_sections.
15341         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
15342         * config/darwin.c (flag_no_mach_text_sections): Remove.
15343         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
15344
15345 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15346
15347         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
15348         and avoid checking for constant as first operand.
15349         * recog.c (find_constant_term_loc): No longer static.
15350         (adj_offettable_operand): Delete.
15351         * rtl.h (adj_offsettable_operand): Delete declaration.
15352         (find_constant_term): Add declaration.
15353         * caller-save.c: Replace calls to adj_offsettable_operand with calls
15354         to adjust_address.
15355         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
15356         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
15357         * config/i386/i386.c, config/i386/i386.md: Likewise.
15358         * config/i860/i860.c, config/i960/i960.c: Likewise.
15359         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
15360         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
15361         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
15362         * config/mips/mips.c, config/mips/mips.md: Likewise.
15363         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
15364         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
15365         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
15366         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
15367         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
15368         * config/ns32k/ns32k.md: Likewise.
15369
15370 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
15371
15372         * rtl.c (copy_rtx): Handle 'T' format letter.
15373         * gensupport.c (collect_insn_data): Likewise.
15374         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
15375
15376 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
15377
15378         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
15379         -B option.  Use 'dir' not 'foo' as example directory name.
15380
15381 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15382
15383         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
15384         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
15385
15386 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
15387
15388         * doc/cppinternals.texi: Improve formatting and logical markup.
15389
15390 2001-07-03  Andreas Jaeger  <aj@suse.de>
15391
15392         * Makefile.in (insn-recog.o): Add dependency on reload.h.
15393
15394         * genrecog.c (write_header): Include reload.h for prototypes in
15395         insn-recog.c.
15396
15397 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
15398
15399 config:
15400         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
15401         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
15402         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
15403         i386_pe_valid_type_attribute_p): Add.
15404         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
15405         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
15406
15407 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15408
15409         * explow.c (plus_constant_wide, case LO_SUM): New case.
15410         (plus_constant_for_output_wide): Delete.
15411         * rtl.h (plus_constant_for_output): Delete.
15412         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
15413         instead of plus_constant_for_output.
15414         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
15415         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
15416         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
15417         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
15418         * config/sparc/sparc.md: Likewise.
15419         Convert some change_address calls to adjust_address.
15420
15421 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
15422
15423         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
15424         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
15425         documentation of -std and -Wwrite-strings.
15426
15427 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
15428
15429         * cse.c (canon_hash): Don't register registers in very small
15430         register classes, as extending their lifetime might cause
15431         reload to fail.
15432
15433 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
15434
15435         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
15436
15437         * flow.c (forwarder_block_p): Fix for fallthru blocks.
15438         (try_redirect_by_replacing_jump): Update properly the count
15439         and frequency information.
15440
15441 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
15442
15443         * toplev.c (dump_file_index): Move SSA dumps just after first
15444         jump dump.
15445         (dump_file): Corresponding changes.
15446         (rest_of_compilation): Move SSA path to just after the first
15447         jump pass.
15448         * doc/gcc.texi (Passes): Update due to movement of SSA path.
15449         * doc/invoke.texi: Update dump file #s as they were completely
15450         out of date with reality.
15451
15452 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
15453
15454         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
15455
15456         * expr.c (emit_move_insn_1): Deal with non-default
15457         STACK_PUSH_CODE.
15458
15459         * expr.c (emit_single_push_insn): Fix warning.
15460
15461 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
15462
15463         * expr.c (emit_move_insn_1): Avoid modifying
15464         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
15465
15466 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15467
15468         * emit-rtl.c (adjust_address): New function.
15469         * expr.h (adjust_address): Add declaration.
15470         * builtins.c: Replace some calls to change_address with calls to it
15471         or to validize_mem.
15472         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
15473         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
15474         * config/arm/arm.c, config/convex/convex.c: Likewise.
15475         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
15476         * config/i386/i386.c, config/i386/i386.md: Likewise.
15477         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
15478         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
15479         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
15480         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
15481         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
15482
15483 2001-07-02  Jim Wilson  <wilson@redhat.com>
15484
15485         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
15486
15487 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
15488
15489         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
15490         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
15491
15492 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
15493
15494         * cppinit.c (lang_defaults): New table.
15495         (set_lang): Just read from lang_defaults into the live options
15496         structure.
15497
15498 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
15499
15500         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
15501         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
15502         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
15503
15504 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15505
15506         * doc/install.texi: Various spelling and markup fixes.
15507         (Installing GCC): Component specific installation instructions are
15508         gone.
15509         Fix reference.
15510         Warn about removing old install dir in the presence of shared libs.
15511         (Configuration): Invoke with options target to match configure
15512         --help.
15513         Consistently refer to gas, gld pathnames.
15514         Invert --enable-multilib documentation.
15515         Remove references to old compiler versions.
15516
15517 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15518
15519         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
15520
15521 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15522
15523         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
15524         section.
15525         (Specific, mips*-sgi-irix5): Note IDO download.
15526         Reworded MIPS C hints.
15527         Use GNU as instead of GAS.
15528         Markup fixes.
15529         Removed SGI Freeware reference, IRIX 6 only.
15530         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
15531         Note N64 library requirement/workaround.
15532         Update O32 hints.
15533         Complete list of structure passing bug victims.
15534
15535 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
15536
15537         * doc/install.texi: Remove CVS Id.
15538
15539 2001-07-02  Andreas Jaeger  <aj@suse.de>
15540
15541         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
15542         (find_inherently_necessary): Remove unused variable.
15543
15544 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
15545
15546         * c-common.h (TDI_inlined): New ast dump phase.
15547         (dump_flag_name): New function.
15548         * c-dump.c (dump_files): Add inlined phase.
15549         (dump_flag_name): Define.
15550         * doc/invoke.texi (-fdump-ast-inlined): Document.
15551
15552 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15553
15554         * stor-layout.c (layout_decl): Revert change to handling of alignment
15555         in packed types.
15556
15557 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15558
15559         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
15560         for FIELD_DECL.
15561
15562 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
15563
15564         * doc/tm.texi (FUNCTION_ARG): Document that the last call
15565         is special.
15566
15567 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
15568
15569         * tlink.c (recompile_files): Remove COMPILER_PATH and
15570         LIBRARY_PATH from the environment.
15571
15572 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
15573
15574         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
15575         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
15576         enumerators.
15577         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
15578
15579         * c-parse.in (OBJC_STRING): Kill.
15580         (objc_string): Decompose to [objc_string] '@' STRING.
15581         (reswords): Take the leading '@' off all the Objective C keywords.
15582         (objc_rid_sans_at): Kill.
15583         (init_reswords): Don't initialize it.
15584         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
15585         (_yylex): Kill reconsider label.  Look ahead one token after
15586         an '@'; if we get an identifier, check whether it's an
15587         Objective C @-keyword.  If so, return the keyword.  Otherwise,
15588         put back the token and return the '@' as a terminal.
15589
15590         * cpplib.c (lex_macro_node): Remove unnecessary check for
15591         leading '@' on identifier.  Clarify control flow and commentary.
15592
15593 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15594
15595         * cse.c (new_label_ref): Variable deleted.
15596         (insert): Remove set of new_label_ref.
15597         (check_for_label_ref): New function.
15598         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
15599
15600 See ChangeLog.5 for earlier changes.