* config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
[official-gcc.git] / gcc / ChangeLog
blobc2c619f3d3c9a9003113da94569868e15209b7fc
1 2001-11-02  DJ Delorie  <dj@redhat.com>
3         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
4         using FP registers for DImode mem-mem moves is acceptable.
6 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
8         * builtins.c (apply_args_size): Handle vector arguments.
9         (apply_result_size): Same.
11         * machmode.def: Set WIDER mode field for all vector entries.
13 2001-11-02  Graham Stott  <grahams@redhat.com>
15         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
17 2001-11-01  Eric Christopher  <echristo@redhat.com>
19         * config.gcc: Revert part of earlier patch.
20         * config/mips/linux.h: Ditto.
21         * df.c: Include tm_p.h to avoid warnings.
22         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
23         #if/#endif.
24         * config/mips/mips.c: Define mips_abi regardless.
25         (mips_output_function_prologues): Add long casts for .frame
26         output.
27         (override_options): Allow use of ABI_32.
29 2001-11-01  Kazu Hirata  <kazu@hxi.com>
31         * config/m68hc11/m68hc11.c: Fix comment formatting.
32         * config/m68hc11/m68hc11.h: Likewise.
33         * config/m68hc11/m68hc11.md: Likewise.
35 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
37         * c-typeck.c (default_conversion): Retain the original expression
38         codes.
39         * gcc.dg/Wparentheses.c: New tests.
41 2001-11-01  David S. Miller  <davem@redhat.com>
43         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
44         64-bit Sparc description more in line with reality.
46 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
48         * Makefile.in (GCOV_OBJS): Add version.o.
49         * gcov.c: Include "version.h" and <getopt.h>.
50         (gcov_version_string): Remove.
51         (print_usage): Take a parameter to determine whether this is a
52         call from --help or an error message.  Give fuller output that
53         follows the GNU Coding Standards for --help.
54         (print_version): New function.
55         (options): New.
56         (process_args): Use getopt_long.  Support long options.  Follow
57         GNU Coding Standards for --help and --version.
58         * doc/gcov.texi: Document long options.
59         Addresses part of PR other/704.
61 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
63         * pa.c (output_move_double): Fix typo in double load.
65 2001-11-01  Kazu Hirata  <kazu@hxi.com>
67         * config/h8300/h8300.c (h8300_encode_label): Compute a string
68         before passing it to ggc_alloc_string.
70 2001-11-01  Kazu Hirata  <kazu@hxi.com>
72         * config/m68k/3b1.h: Fix comment formatting.
73         * config/m68k/3b1g.h: Likewise.
74         * config/m68k/a-ux.h: Likewise.
75         * config/m68k/amix.h: Likewise.
76         * config/m68k/apollo68.h: Likewise.
77         * config/m68k/atari.h: Likewise.
78         * config/m68k/aux-exit.c: Likewise.
79         * config/m68k/ccur-GAS.h: Likewise.
80         * config/m68k/crds.h: Likewise.
81         * config/m68k/dpx2.h: Likewise.
82         * config/m68k/dpx2g.h: Likewise.
83         * config/m68k/hp310.h: Likewise.
84         * config/m68k/hp320.h: Likewise.
85         * config/m68k/isi.h: Likewise.
86         * config/m68k/linux.h: Likewise.
87         * config/m68k/lynx.h: Likewise.
88         * config/m68k/m68k-psos.h: Likewise.
89         * config/m68k/m68k.c: Likewise.
90         * config/m68k/m68k.h: Likewise.
91         * config/m68k/m68k.md: Likewise.
92         * config/m68k/m68kelf.h: Likewise.
93         * config/m68k/m68kv4.h: Likewise.
94         * config/m68k/mot3300.h: Likewise.
95         * config/m68k/news.h: Likewise.
96         * config/m68k/next.h: Likewise.
97         * config/m68k/pbb.h: Likewise.
98         * config/m68k/plexus.h: Likewise.
99         * config/m68k/sgs.h: Likewise.
100         * config/m68k/sun3.h: Likewise.
101         * config/m68k/tower.h: Likewise.
102         * config/m68k/vxm68k.h: Likewise.
104 2001-10-31  DJ Delorie  <dj@redhat.com>
106         * config/mips/mips.h (mips_cache_flush_func): Prototype.
107         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
108         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
109         * config/mips/mips.c (mips_cache_flush_func): New.
110         * doc/invoke.texi: Document the new options.
112 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
114         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
115         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
117         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
119         * config/cris/cris.c: Include output.h after tree.h but before
120         target.h.
122 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
124         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
125         (INTL_SUBDIRS): Just intl.
126         (.SUFFIXES): Add .gmo .po .pox.
127         (native): Also depend on build-@POSUB@.
128         (intl.all, intl.install): Depend on config.h and things it includes.
129         (po-generated): New target; depend on c-parse.c and tradcif.c.
130         (install-normal): Also depend on install-@POSUB@.
131         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
132         (build-, install-, build-po, update-po, install-po,
133         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
135         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
136         * configure.in: Don't munge XGETTEXT.  Don't generate
137         po/Makefile.in.
138         * configure: Regenerate.
140         * exgettext: Delete.
141         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
142         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
144 2001-10-31  Kazu Hirata  <kazu@hxi.com>
146         * config/h8300/h8300.md (two anonymous patterns): New.
148 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
150         * tree.h (tree_index): Add support for V16QI and V8HI.
151         (V8HI_type_node): New.
152         (V16QI_type_node): New.
154         * tree.c (build_common_tree_nodes_2): Same.
156         * c-common.c (type_for_mode): Same.
158 2001-10-31  Kazu Hirata  <kazu@hxi.com>
160         * config/i386/att.h: Fix comment formatting.
161         * config/i386/beos-elf.h: Likewise.
162         * config/i386/bsd.h: Likewise.
163         * config/i386/bsd386.h: Likewise.
164         * config/i386/crtdll.h: Likewise.
165         * config/i386/cygwin.asm: Likewise.
166         * config/i386/cygwin.h: Likewise.
167         * config/i386/djgpp.h: Likewise.
168         * config/i386/freebsd-aout.h: Likewise.
169         * config/i386/freebsd.h: Likewise.
170         * config/i386/gas.h: Likewise.
171         * config/i386/i386-interix.h: Likewise.
172         * config/i386/i386-protos.h: Likewise.
173         * config/i386/i386.c: Likewise.
174         * config/i386/i386.h: Likewise.
175         * config/i386/i386.md: Likewise.
176         * config/i386/i386elf.h: Likewise.
177         * config/i386/interix.c: Likewise.
178         * config/i386/isc.h: Likewise.
179         * config/i386/isccoff.h: Likewise.
180         * config/i386/iscdbx.h: Likewise.
181         * config/i386/linux.h: Likewise.
182         * config/i386/lynx.h: Likewise.
183         * config/i386/mingw32.h: Likewise.
184         * config/i386/netbsd-elf.h: Likewise.
185         * config/i386/next.h: Likewise.
186         * config/i386/osf1elf.h: Likewise.
187         * config/i386/osfrose.h: Likewise.
188         * config/i386/sco5.h: Likewise.
189         * config/i386/seq-gas.h: Likewise.
190         * config/i386/seq-sysv3.h: Likewise.
191         * config/i386/sequent.h: Likewise.
192         * config/i386/sol2.h: Likewise.
193         * config/i386/sun386.h: Likewise.
194         * config/i386/uwin.asm: Likewise.
195         * config/i386/uwin.h: Likewise.
196         * config/i386/vxi386.h: Likewise.
197         * config/i386/win32.h: Likewise.
198         * config/i386/winnt.c: Likewise.
199         * config/i386/xm-cygwin.h: Likewise.
200         * config/i386/xm-mingw32.h: Likewise.
202 2001-10-31  Kazu Hirata  <kazu@hxi.com>
204         * builtins.def: Fix comment typos.
205         * config/alpha.c: Likewise.
206         * config/arm/arm.c: Likewise.
207         * config/avr/avr.h: Likewise.
208         * config/d30v/d30v.c: Likewise.
209         * config/d30v/d30v.h: Likewise.
210         * config/d30v/d30v.md: Likewise.
211         * config/dsp16xx/dsp16xx.c: Likewise.
212         * config/fr30/fr30.c: Likewise.
213         * config/fr30/fr30.md: Likewise.
214         * config/i386/i386.c: Likewise.
215         * config/i860/i860.c: Likewise.
216         * config/i960/i960.c: Likewise.
217         * config/ia64/ia64.c: Likewise.
218         * config/mips/mips.c: Likewise.
219         * config/pa/pa.c: Likewise.
220         * config/rs6000/rs6000.c: Likewise.
221         * config/s390/s390.c: Likewise.
222         * config/sparc/sparc.c: Likewise.
224 2001-10-30  Kazu Hirata  <kazu@hxi.com>
226         * config/mips/elf.h: Fix comment formatting.
227         * config/mips/elf64.h: Likewise.
228         * config/mips/iris5.h: Likewise.
229         * config/mips/iris5gas.h: Likewise.
230         * config/mips/iris6.h: Likewise.
231         * config/mips/isa3264.h: Likewise.
232         * config/mips/linux.h: Likewise.
233         * config/mips/mips.c: Likewise.
234         * config/mips/mips.h: Likewise.
235         * config/mips/mips.md: Likewise.
236         * config/mips/mips16.S: Likewise.
237         * config/mips/netbsd.h: Likewise.
238         * config/mips/osfrose.h: Likewise.
239         * config/mips/r3900.h: Likewise.
240         * config/mips/sni-svr4.h: Likewise.
241         * config/mips/svr4-t.h: Likewise.
242         * config/mips/ultrix.h: Likewise.
244 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
246         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
247         when we update head->current.
249 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
251         * tree.c (id_string_size): Remove.
252         (dump_tree_statistics): Update.
253         * toplev.c (compile_file): If dumping stats, dump tree stats too.
255 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
257         * sched-rgn.c (schedule_insns): Fix comment.
259 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
261         * configure.in: Correct previous change: don't assume that
262         gas's version number _isn't_ the last thing on the line, or
263         isn't the only number on the line, either.
264         * configure: Regenerate.
266 2001-10-30  Kazu Hirata  <kazu@hxi.com>
268         * cfgcleanup.c: Fix a comment typo.
270 2001-10-30  Kazu Hirata  <kazu@hxi.com>
272         * alias.c: Fix comment formatting.
273         * recog.c: Likewise.
274         * config/cris/cris.c: Likewise.
275         * config/cris/cris.h: Likewise.
276         * config/i960/i960.c: Likewise.
277         * config/i960/i960.h: Likewise.
279 2001-10-30  Kazu Hirata  <kazu@hxi.com>
281         * config/arm/arm.c: Fix a comment typo.
282         * config/arm/arm.h: Likewise.
283         * config/ia64/ia64.c: Likewise.
285 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
287         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
288         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
289         * rtl.h (set_unique_reg_note): Change return value.
290         * gcse.c (try_replace_reg): Use set_unique_reg_note.
291         * cse.c (cse_insn): Likewise.
292         * expr.c (emit_move_insn): Likewise.
293         * explow.c (force_reg): Likewise.
294         * local-alloc (update_equiv_regs): Likewise.
295         * loop.c (move_moveables, load_mems): Likewise.
296         * reload (find_reloads): Likewise.
298 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
300         Localization fixes.
301         * c-decl.c (parmlist_tags_warning, start_struct,
302         check_for_loop_decls): Separate messages for struct, union and
303         enum cases to allow for languages in which they have different
304         genders.
305         * c-format.c (scanf_flag_specs): Separate short and long name of
306         the assignment suppression feature.
307         (check_format_types): Localize "pointer" and "different types"
308         strings.
309         * c-lex.c (lex_number): Localize "an unsigned long int" and
310         related strings.
311         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
312         warning message.
313         * c-typeck.c (build_unary_up): Separate messages for increment and
314         decrement cases to allow for languages in which they use different
315         articles.  Localize the strings "increment" and "decrement" in one
316         case.
318 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
320         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
321         when no changes has been made.
323         * gcse.c (reg_set_bitmap): Turn into reg_set.
324         (modify_mem_list_set, canon_modify_mem_list_set)
325         (clear_modify_mem_tables, free_modify_mem_tables): New.
326         (gcse_main); Use free_modify_mem_tables.
327         (free_gcse_mem): Likewise; free the bitmaps.
328         (alloc_gcse_main): Initialize the bitmaps.
329         (canon_list_insert): Set canon_modify_mem_list_set.
330         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
331         (compute_hash_table): Use clear_modify_mem_tables.
332         (reset_opr_set_tables): Likewise.
333         (oprs_not_set_p): reg_set_bitmap is regset.
334         (mark_set, mark_clobber): Likewise.
336         * df.h (DF_EQUIV_NOTES): New constant.
337         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
338         when asked for.
340         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
341         (init_regions, schedule_insns): Conditionalize the checking
342         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
344 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
346         * i386.md (movti_rex64 splitter): Fix condition.
348 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
350         * configure.in: Do not assume that gas's version number is the
351         last thing on the first line of as --version output.
352         * configure: Regenerate.
354         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
355         MT_WARNING, MT_ERROR, MT_FATAL.
356         (main): Call gcc_init_libintl.
357         (v_message): Call gettext on msgid and "warning: "
358         * tradcif.y: Include intl.h.
359         (yyerror): Make parameter definition consistent with
360         prototype.  Call gettext on msgid argument.
362 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
364         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
365         warnings.
367         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
369 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
371         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
372         before referencing it.
374 2001-10-26  DJ Delorie  <dj@redhat.com>
376         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
377         override -G, and force -G0.
379 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
381         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
382         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
383         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
384         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
386         * loop.h (struct induction): Rename ext_dependant to
387         ext_dependent.
388         * loop.c: Change all uses.
389         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
390         All callers changed.
391         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
393 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
395         * c-parse.in (expr_no_commas, primary), c-typeck.c
396         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
398 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
400         Undo assemble_name change in earlier patch.
402 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
404         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
405         determining the type of the receiver, do not check that TREE_CODE
406         of receiver is CALL_EXPR before calling receiver_is_class_object().
407         (receiver_is_class_object): For the GNU runtime: recognize
408         the case that the receiver is self in a class method context.
409         Check that TREE_CODE of receiver is CALL_EXPR when checking that
410         the receiver is a call to objc_get_class.
412 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
414         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
416 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
418         * Makefile.in (OBJS): Put all files in alphabetical order.
420         * dwarf2out.c (add_const_value_attribute): Fix error in last
421         change.
423 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
425         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
426         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
427         fix warning.
428         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
429         (life_analysis): call purge_all_dead_edges after deleting noops.
430         (delete_noop_move): Do not purge CFG.
431         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
433 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
435         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
436         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
437         (ASM_GLOBALIZE_LABEL): Use assemble_name.
438         (ASM_OUTPUT_COMMON): Likewise.
439         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
440         (rs6000_output_function_epilogue): Likewise.
441         (output_mi_thunk): Fix typo.
442         (rs6000_output_symbol_ref): Use assemble_name.
443         (output_toc): Likewise.
444         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
445         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
446         assemble_name calls STRIP_NAME_ENCODING.
447         (ASM_OUTPUT_LABEL): Use assemble_name.
448         (ASM_GLOBALIZE_LABEL): Likewise.
449         (ASM_DECLARE_FUNCTION_NAME): Likewise.
450         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
451         (ASM_OUTPUT_LOCAL): Likewise.
453 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
455         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
456         (expand_builtin_apply, expand_builtin_return): Likewise.
457         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
459 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
461         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
462         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
463         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
464         configure, configure.in, except.c, except.h, flow.c, function.c,
465         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
466         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
467         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
468         unroll.c: Fix spelling errors.
470         * doc/extend.texi, doc/invoke.texi: Fix spelling.
472         * doc/gcc.texi: Document use of "dependent" and American spelling.
474 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
476         * expr.c (emit_group_load): Support CONCATs by storing them to memory
477         and reloading.
479 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
481         * expr.c (store_constructor_field): Only call adjust_address on MEM.
483 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
485         * genrecog.c (write_switch):  Output if before switch for
486         DT_elt_zero_wide_safe.
488 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
490         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
491         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
492         (FUNCTION_PROFILER): Const-ify.
493         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
494         (eliminate_constant_term, assemble_name, output_addr_const):
495         Remove declarations.
496         (ptr_half_pic_address_p, half_pic_hash): Prototype.
497         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
498         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
499         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
500         (half_pic_declare, half_pic_external): Const-ify.
501         * toplev.c: Include "halfpic.h".
503 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
505         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
506         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
507         config/i386/i386.c, config/i386/i386-interix.h,
508         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
509         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
510         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
511         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
512         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
513         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
514         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
515         spelling errors.
517         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
518         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
519         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
520         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
521         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
522         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
523         system.h, toplev.c: Fix spelling errors.
525 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
527         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
529         * dwarf2out.c (reg_number): Abort if pseudo.
530         (reg_loc_descriptor): Return 0 if pseudo.
531         (is_based_loc): Return 0 if pseudo.
532         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
533         recursive calls.
534         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
535         (loc_descriptor): Return 0 if can't find location and handle 0
536         return from recursive calls.
537         (loc_descriptor_from_tree): Likewise.
538         Fix handling of indirect.
539         Also return 0 for PLACEHOLDER_EXPR.
540         Clean up COMPONENT_REF cases.
541         (add_AT_location_descriptor): Simplify, but handle 0 return from
542         loc_descriptor.
543         (add_const_value_attribute): Avoid shift count warning.
544         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
545         Set comp_unit_die as context if not in function.
547         * config/mips/mips-protos.h: Break up long lines.
548         Remove needless #ifdef/#endif blocks.
549         Don't declare functions declared in file made by genpreds or recog.h.
550         * config/mips/mips.c (mips_output_function_prologue): TSIZE
551         is now HOST_WIDE_INT; delete unneeded casts.
552         * config/mips/mips.h: Don't use #elif.
554         * expr.c (stor_constructor_field): Always call adjust_address.
555         Copy TARGET before changing its alias set.
556         (store_field): Likewise, for TO_RTX.
557         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
558         replacement.
559         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
560         (find_placeholder): Return 0 if can't find object.
561         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
562         returns 0.
564 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
566         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
568 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
570         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
571         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
572         (merge_blocks): Properly udpate life after making edge nonfallthru.
573         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
575 2001-10-26  Kazu Hirata  <kazu@hxi.com>
577         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
579 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
581         * c-typeck.c (convert_arguments): When comparing for enumeral
582         type equality, use TYPE_MAIN_VARIANT.
583         * gcc.dg/Wconversion.c: New tests.
585 2001-10-26  Kazu Hirata  <kazu@hxi.com>
587         * s390/s390.c: Fix comment typos.
588         * s390/s390.h: Likewise.
589         * s390/s390.md: Likewise.
591 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
593         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
594         (walk_tree): Use it for tail calls where appropriate.
596 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
598         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
599         non-local label_refs.
601 2001-10-26  Kazu Hirata  <kazu@hxi.com>
603         * config/h8300/h8300.md (4 anonymous patterns): New.
605 2001-10-26  Kazu Hirata  <kazu@hxi.com>
607         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
608         algorithm through the shift_info structure.
609         (emit_a_shift): Update the use of get_shift_alg.
611 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
613         * sched-rgn.c: Remove bitset typedef.
614         Change bitset to sbitmap in prototypes / variable types.
615         Remove bbset_size.
616         Remove edgeset_bits.
617         Remove edgeset_size.
618         s/BITSET_ADD/SET_BIT/g
619         s/BITSET_INVERT/sbitmap_ones/g
620         s/BITSET_INTER/sbitmap_a_and_b/g
621         s/BITSET_UNION/sbitmap_a_or_b/g
622         s/BITSET_DIFFER/sbitmap_difference/g
623         s/bitset_member/TEST_BIT/g
624         (BITSET_*): Removed.
625         (bitset_member): Removed.
626         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
627         EXECUTE_IF_SET_IN_SBITMAP.
628         (split_edges): Rewrite, use sbitmap functions instead of bitset
629         operations.
630         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
632 2001-10-26  Andreas Schwab  <schwab@suse.de>
634         * reload1.c (emit_input_reload_insns): Fix parens in last
635         (undocumented) change that was supposed to change only whitespace.
637 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
639         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
641         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
642         ASM_OPERANDS.
644 2001-10-26  Andreas Jaeger  <aj@suse.de>
646         * flow.c (clear_log_links): Remove unused variable.
647         * cfgcleanup.c (cleanup_cfg): Likewise.
649 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
651         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
652         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
654 2001-10-26  Richard Henderson  <rth@redhat.com>
656         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
657         rename PV_REG to R27_REG.
658         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
659         (REG_CLASS_FROM_LETTER): Update.
660         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
661         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
662         (udivsi3, modsi3, umodsi3): Likewise.
663         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
665 2001-10-26  Richard Henderson  <rth@redhat.com>
667         * cfg.c (clear_aux_for_blocks): Split out of ...
668         (free_aux_for_blocks): here.
669         (clear_aux_for_edges): Split from ...
670         (free_aux_for_edges): here.
671         * basic-block.h: Declare them.
672         * lcm.c (compute_antinout_edge): Use them.
673         (compute_laterin, compute_available, compute_nearerout): Likewise.
674         (optimize_mode_switching): Likewise.
676 2001-10-26  Richard Henderson  <rth@redhat.com>
678         * Makefile.in (unstage*): Remove as, ld, collect-ld before
679         moving everything back to the main build directory.
681 2001-10-26  Christopher Faylor  <cgf@redhat.com>
683         * config/i386/cygwin.h: Search target specfic include directory, if
684         appropriate.
686 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
688         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
689         of macro guards. Fix #endif comment.
691         * output.h (default_exception_section, default_eh_frame_section):
692         Move prototypes outside of macro guard.
694         * crtstuff.c: Fix #endif comment.
696 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
698         * doc/md.texi (movMM): Clarify semantics of storing into a
699         non-paradoxical SUBREG.
701 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
703         * langhooks.c (lang_hook_default_clear_binding_stack): New.
704         (lang_hook_default_get_alias_set): Move next to other alias
705         hooks.
706         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
707         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
708         (LANG_HOOKS_INITIALIZER): Add it.
709         * toplev.h (struct lang_hooks): Add clear_binding_stack.
710         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
711         instead of a loop calling poplevel.
713 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
715         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
716         occurrences of #elif with #if...#endif.
718 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
720         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
722 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
724         * alias.c (can_address_p): No longer static.
725         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
726         Return 0 if all parameters are default values.
727         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
728         (adjust_address_1): Try harder to compute a size.
729         * expr.c (expand_assignment, store_constructor): If can't address,
730         set MEM_KEEP_ALIAS_SET_P.
731         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
732         (store_field): Likewise.
733         (store_constructor): Simplify call to store_constructor_field.
734         * expr.h (can_address_p): New declaration.
735         * gensupport.c (gen_rtx_CONST_INT): New function.
736         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
737         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
738         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
740         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
742 2001-10-24  Christopher Faylor  <cgf@redhat.com>
744         * config/i386/cygwin.h: Use proper path for mingw crt files when
745         -mno-cygwin.
747 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
749         * dwarf2out.c (file_info_cmp): Always return consistent results.
751 2001-10-24  Roger Sayle <roger@eyesopen.com>
753         * stmt.c (expand_end_case): Index jumptables from zero for
754         suitably small values of minval.
756 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
758         * stor-layout.c (place_union_field): If any field was aligned with
759         attribute aligned, set record type's TYPE_USER_ALIGN.
760         (place_field): Likewise.
761         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
762         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
764 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
766         * c-common.h (struct c_common_identifier): Remove rid_code field.
767         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
769         * c-typeck.c (constructor_designated): New local flag.
770         (struct constructor_stack): Add "designated" field to match.
771         (start_init): Clear it.
772         (really_start_incremental_init, push_init_level): Push and
773         clear it.
774         (pop_init_level): Pop it.
775         (set_designator): Set it.
777         (pop_init_level): Suppress "missing initializer" warnings if
778         constructor_designated is true.
779         (process_init_element): Suppress warning about union
780         initialization under traditional C, if constructor_designated
781         is true.
783 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
785         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
786         change.
788 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
790         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
792 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
794         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
795         the node was already a set to a constant.
797 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
799         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
800         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
802 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
804         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
805         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
806         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
807         * s390.c (s390_final_chunkify): Don't use string concatenation.
808         (s390_function_prologue, s390_function_epilogue): Const-ify.
809         * s390.h (FUNCTION_PROFILER): Remove unused variable.
811 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
813         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
814         prototypes.
816 2001-10-23  Stan Shebs  <shebs@apple.com>
818         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
819         -traditional-cpp in first-stage compilation.
821 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
823         * gensupport.c (target_flags): Add.
825 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
827         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
828         if needed.
829         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
830         * except.c (expand_builtin_frob_return_addr): Likewise.
831         (expand_builtin_eh_return): Likewise.
832         * stmt.c (expand_computed_goto): Likewise.
833         * explow.c (memory_address): Likewise.
834         (allocate_dynamic_stack_space): Clean up predicate testing.
835         (probe_stack_range): Convert SIZE to Pmode.
836         * calls.c (rtx_for_function_call): Only call convert_memory_address
837         if needed.
838         Pass function call operand as ptr_mode, not Pmode.
839         * expr.c (expand_assignment): Clean up calls to convert_memory
840         address by only doing so when needed and making offsets Pmode.
841         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
842         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
843         is in Pmode, not ptr_mode.
845 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
847         * darwin-protos.h (constructor_section, destructor_section,
848         mod_init_section, mod_term_section): Prototype.
849         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
850         Const-ify.
851         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
852         Likewise.
853         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
854         objc_section_init declaration.
855         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
856         (objc_section_init, try_section_alias): Make static.
857         (alias_section): Make static and hide unused function.
858         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
860 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
862         * alias.c (can_address_p): Compnonents are not addressable if
863         the containing type has alias set 0.
864         (get_alias_set): Rework to use STRIP_NOPS.
865         Only call front-end routine on object, type, or object with
866         NOPs stripped, not inner values.
867         Use language hook to call front-end routine.
868         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
869         (expand_builtin_apply): Call set_mem_align on MEMs we make.
870         Don't pass alignment to emit_block_move.
871         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
872         (expand_builtin_memset): Likewise, but for clear_storage.
873         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
874         and remove C++ specific parts.
875         * c-common.h (c_common_get_alias_set): Add declaration.
876         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
877         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
878         (save_fixed_argument_area): Call set_mem_align.
879         Remove alignment in call to emit_block_move.
880         (emit_library_call_value_1, store_one_arg): Likewise.
881         (target_for_arg): Remove; disabled long ago.
882         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
883         once and similar cleanups.
884         (offset_address): Use proper introductory comment.
885         * expr.c (emit_block_move): Use alignment from that of MEM args, not
886         from explicit operand; all callers changed.
887         (clear_storage): Likewise.
888         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
889         (store_field): Remove kludge on alias set used for to_rtx.
890         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
891         (expand_expr_unaligned): Call set_mem_attributes instead of
892         set_mem_alias_set.
893         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
894         * function.c (assign_stack_temp_for_type): Set MEM alignment.
895         (expand_function_end): Track MEM attributes of trampolines.
896         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
897         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
898         attributes from original.
899         * langhooks.c (lang_hook_default_get_alias_set): New function.
900         (hook_get_alias_set_0): New function.
901         * langhooks.h (hook_get_alias_set_0): New declaration.
902         (lang_hook_default_get_alias_set): Likewise.
903         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
904         * reload1.c (alter_reg): Use adjust_address_nv.
905         * rtl.c (get_mode_alignment): Moved to here.
906         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
907         change default if unknown from 1 to BITS_PER_UNIT.
908         * stor-layout.c (get_mode_alignment): Remove from here.
909         * toplev.h (struct lang_hoks): Add get_alias_set field.
910         * tree.h (lang_get_alias_set): Delete declaration.
911         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
912         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
913         (ix86_va_arg): Likewise.
914         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
915         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
916         * config/sparc/sparc.c (sparc_va_arg): Likewise.
917         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
918         (expand_block_move_mem): Remove dead code.
920 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
922         * c-common.c (warn_div_by_zero): New.
923         * c-common.h (warn_div_by_zero): New.
924         * c-decl.c (c_decode_option): Take it on the command line.
925         * c-typeck.c (build_binary_op): Warn about division by zero.
926         * doc/invoke.texi: Document the new command line option, fix
927         documentation of -Wmultichar.
928         * testsuite/gcc.dg/divbyzero.c: New tests.
929         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
931 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
933         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
935         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
936         to avoid update_life_info call.
937         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
938         * cfgcleanup.c (bb_flags): New enum.
939         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
940         (notice_new_block, update_forwarder_flag): New functions.
941         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
942         (try_forward_edges): Likewise; update flags.
943         (merge_blocks): Likewise.
944         (outgoing_edges_match): Likewise.
945         (try_crossjump_to_edge): Likewise.
946         (try_optimize_cfg): Likewise; initialize and clear the flags;
947         recompute life info if needed.
948         (cleanup_cfg): No need to clear aux pointers.
950 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
952         * config/i386/i386.c (override_options): Default to minimum
953         stack alignment when optimizing for code size.
954         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
955         change.
957         * config/i386/i386.c (override_options): Set upper limit of
958         -mpreferred-stack-boundary to 12.
960 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
962         * recog.c (peephole2_optimize): Add default case to switch.
964 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
966         * doc/gcc.texi (Sending Patches): Remove.
968 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
970         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
971         fields when comparing.
973 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
975         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
976         * arm.c (HOST_INT, HOST_UINT): Likewise.
978 2001-10-22  Stan Shebs  <shebs@apple.com>
980         * config/darwin-protos.h (darwin_exception_section): Declare.
981         (darwin_eh_frame_section): Declare.
983 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
985         * i386.md (movti_rex64): Fix mode.
987 2001-10-22  Stan Shebs  <shebs@apple.com>
989         * target.h (struct gcc_target): Add asm_out.exception_section,
990         asm_out.eh_frame_section.
991         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
992         (TARGET_ASM_EH_FRAME_SECTION): New.
993         (TARGET_INITIALIZER): Update.
994         * output.h (default_exception_section): Declare.
995         (default_eh_frame_section): Declare.
996         * dwarf2out.c: Include target.h.
997         (output_call_frame_info): Call target hook for eh frames.
998         (default_eh_frame_section): New function.
999         * except.c: Include target.h.
1000         (output_function_exception_table): Call target hook for exception
1001         section.
1002         * varasm.c (default_exception_section): Rename from
1003         exception_section, remove EXCEPTION_SECTION macro.
1005         * config/darwin.h (darwin_eh_frame_section): New function.
1006         (EXCEPTION_SECTION): Remove.
1007         (TARGET_ASM_EXCEPTION_SECTION): Define.
1008         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
1009         (nextstep_exception_section): New function.
1010         (nextstep_eh_frame_section): New function.
1011         (TARGET_ASM_EXCEPTION_SECTION): Define.
1012         (TARGET_ASM_EH_FRAME_SECTION): Define.
1014         * config/pa/som.h (EXCEPTION_SECTION): Remove.
1015         (TARGET_ASM_EXCEPTION_SECTION): Define.
1016         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
1017         (EXCEPTION_SECTION): Remove.
1018         (TARGET_ASM_EXCEPTION_SECTION): Define.
1019         * config/stormy16/stormy16.h: Remove comments referencing
1020         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
1022         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
1023         TARGET_ASM_EH_FRAME_SECTION.
1025 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
1027         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
1028         terms.
1030         * c-format.c: Fix spelling typo in comment.
1032         * sched-int.h: Fix typo in GCC preamble.
1034 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1036         PR debug/4252
1037         * doc/invoke.texi: Remove references to -fdump-translation-unit.
1039 2001-10-22  Richard Henderson  <rth@redhat.com>
1041         * config/i386/i386.c (ix86_expand_clear): New.
1042         * config/i386/i386-protos.h: Declare it.
1043         * config/i386/i386.md (setcc peep2s): Use it.
1044         (movsi_xor): Unexport.
1046 2001-10-22  Richard Henderson  <rth@redhat.com>
1048         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
1049         free_EXPR_LIST_list for LOG_LINKS.
1051 2001-10-21  Robert Lipe  <robertlipe@usa.net>
1053         * config/i386/i386.c (sco_asm_named_section): Delete.
1054         (sco_asm_out_constructor): Delete.
1055         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
1056         (ASM_OUTPUT_DOUBLE_INT): Likewise.
1057         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
1058         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
1059         (EXCEPTION_SECTION): Delete EH scn renaming hack.
1061 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1063         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
1064         and/or fold extra calls into fewer ones.
1065         * collect2.c (dump_file): Likewise.
1066         * cppexp.c (parse_number): Likewise.
1067         * cpplex.c (_cpp_lex_direct): Likewise.
1068         * final.c (output_asm_insn, asm_fprintf): Likewise.
1069         * fix-header.c (inf_scan_ident, main): Likewise.
1070         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
1071         Likewise.
1072         * fold-const.c (real_hex_to_f): Likewise.
1073         * gen-protos.c (parse_fn_proto): Likewise.
1074         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
1075         * genrecog.c (change_state, write_action): Likewise.
1076         * gensupport.c (shift_output_template): Likewise.
1077         * local-alloc.c (requires_inout): Likewise.
1078         * mips-tfile.c (IS_ASM_IDENT): Likewise.
1079         * protoize.c (is_id_char, main): Likewise.
1080         * real.c (asctoeg): Likewise.
1081         * recog.c (asm_operand_ok): Likewise.
1082         * reload.c (find_reloads): Likewise.
1083         * scan.c (scan_identget_token): Likewise.
1084         * sched-vis.c (print_value): Likewise.
1085         * stringpool.c (ggc_alloc_string): Likewise.
1086         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
1087         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
1088         * tradcpp.c (rescan): Likewise.
1089         * tree.c (clean_symbol_name): Likewise.
1090         * varasm.c (decode_reg_name): Likewise.
1092         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
1093         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
1094         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
1095         * m88k.c (output_ascii): Likewise.
1096         * m88k.h (OVERRIDE_OPTIONS): Likewise.
1097         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
1098         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
1099         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
1101 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
1103         * langhooks.c (lang_hook_default_do_nothing,
1104         lang_hook_default_decode_option): New defaults.
1105         * langhooks.h: Make hooks unconditional and non-NULL.
1106         * toplev.c (compile_file, toplev_main): Update.
1107         * toplev.h: Update comments.
1108         * objc/objc-act.c (lang_hooks): Update to new paradigm.
1110 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1112         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
1114         * system.h (IN_RANGE): New macro.
1116 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
1118         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
1119         INTLDEPS variable, which does not include $LIBICONV.
1120         * Makefile.in: Use INTLDEPS in LIBDEPS.
1121         * configure: Regenerate.
1123 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
1125         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
1126         * cpplex.c (lex_percent, lex_dot): Remove.
1127         (get_effective_char, skip_block_comment, skip_line_comment,
1128         parse_identifier_slow, parse_number, parse_string, save_comment,
1129         _cpp_lex_direct): Update to do lookback freely.
1130         (IF_NEXT_IS, BACKUP): New macros.
1131         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
1132         * cppmacro.c (paste_tokens): Update.
1134 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
1136         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
1138 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
1140         * reload1.c (reload): Check CONSTANT_P before calling
1141         LEGITIMATE_PIC_OPERAND_P.
1142         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
1143         workaround of 2001-10-13.
1145 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
1147         * i386.c (split_di): Handle splitting of DFmode.
1149 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1151         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
1152         (adjust_address_1, offset_address): Likewise.
1154         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
1155         (output_asm_insn): Call it for each line output.
1156         Don't record an operand more than once.
1158         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
1159         * main.c: Include config.h and system.h, but not ansidecl.h.
1160         * Makefile.in (main.o): Update accordingly.
1162 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
1164         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
1166 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
1168         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
1169         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
1170         Break out from ...
1171         (find_sub_basic_blocks): ... here;
1172         (find_many_sub_basic_blocks): New.
1173         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
1175         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
1177         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
1179         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
1181         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
1182         * flow.c (update_life_info): Measure time.
1183         * c-decl.c: Include timevar.h
1184         (c_expand_body): Measure time.
1185         * toplev.c (rest_of_compilation): Measure time of mode switching
1186         separately.
1187         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
1189         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
1190         (lang_independent_options): Add asynchronous-unwind-tables
1191         (toplev_main): flag_asynchronous_unwind_tables implies
1192         flag_unwind_tables.
1193         * flags.h (flag_asynchronous_unwind_tables): Declare.
1194         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
1195         flag_asynchronous_unwind_tables.
1196         (output_call_frame_info): Likewise.
1197         * invoke.texi (-fasynchronous-unwind-tables): Document.
1198         * i386.c (optimization_options): Enable
1199         flag_asynchronous_unwind_tables.
1201         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
1202         * i386.md (s* expanders): Destination is QImode.
1204         * toplev.c (rest_of_compilation): Do not call clear_log_links.
1205         * rtl.h (clear_log_links): Kill.
1206         * flow.c (clear_log_links): Make static; accept blocks parameter;
1207         do no clear life info.
1208         (update_life_info): Call clear_log_links.
1210         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
1212 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
1214         * cpplex.c (handle_newline, skip_escaped_newlines,
1215         get_effective_char, skip_block_comment, skip_line_comment,
1216         parse_identifier_slow, parse_number, parse_string,
1217         _cpp_lex_direct): Update to do more stepping back.
1218         (trigraph_ok): Similarly.  Rename trigraph_p.
1219         (SAVE_STATE, RESTORE_STATE): Remove.
1220         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
1222         * cpplib.c (destringize): Rename destringize_and_run, and
1223         call run_directive directly.
1224         (_cpp_do__Pragma): Simplify.
1226 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1228         * pe.c (arm_pe_unique_section): Const-ify.
1229         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
1230         (switch_to_section): Add static prototype.
1232         * output.h (drectve_section): Prototype.
1234 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1236         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
1237         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
1238         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
1239         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
1240         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
1241         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
1242         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
1243         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
1244         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
1245         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
1246         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
1247         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
1248         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
1249         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
1250         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
1251         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
1252         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
1253         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
1254         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
1255         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
1256         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
1257         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
1258         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
1259         cris-*-none, cris-*-linux*: Update ${tmfile} list.
1260         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
1261         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
1262         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
1263         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
1264         v850-*-*): Delete superflous ${cpu_type} setting.
1265         * config/linux.h: Delete svr4.h include.
1266         (SET_ASM_OP): Delete.
1267         * config/netware.h (INT_ASM_OP): Undef before define.
1268         * config/ptx4.h: Delete elfos.h include.
1269         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
1270         * config/svr4.h: Delete elfos.h include. Update commentary.
1271         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
1272         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
1273         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
1274         config/v850/v850.h: Delete svr4.h include.
1275         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
1276         config/m68k/m68kv4.h, config/m88k/sysv4.h,
1277         config/sparc/sysv4.h: Update includes.
1278         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
1279         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
1280         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
1281         config/m88k/dguxbcs.h: Delete includes.
1282         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
1283         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
1284         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
1285         it.
1286         * config/m88k/dgux.h: Delete include.
1287         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
1288         defining it.
1289         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
1290         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
1291         * config/sh/elf.h: Update include.
1292         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
1293         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
1295 2001-10-19  Catherine Moore  <clm@redhat.com>
1297         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
1298         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
1299         base and count fields.
1300         (stormy16_expand_builtin_va_start):  last_reg_count changed to
1301         size_of_reg_args.  Use count + size in first comparison.
1303 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1305         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
1306         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
1307         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
1308         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
1309         Set alignment from type if INDIRECT_REF.
1310         (adjust_address_1, offset_address): Simplify alignment compuitation.
1311         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
1312         here; done by set_mem_attributes.
1314 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1316         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
1317         * arm-protos.h (rdata_section, zero_init_section, common_section):
1318         Prototype.
1319         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
1320         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
1321         traditional mode stringification.
1322         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
1323         in macros controling its use.
1324         * rtlanal.c: Include tm_p.h.
1325         * varasm.c (asm_output_aligned_bss): Mark parameter with
1326         ATTRIBUTE_UNUSED.
1327         (assemble_constant_align, assemble_start_function, assemble_align,
1328         assemble_variable, assemble_trampoline_template,
1329         output_constant_def_contents): Wrap potentially empty if-stmt body
1330         in brackets.
1332 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1334         * a29k-protos.h (literal_section): Prototype.
1335         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
1336         * a29k.md: Ensure function pointers are prototyped.
1337         * genattrtab.c (write_eligible_delay): Mark parameter with
1338         ATTRIBUTE_UNUSED.
1340 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1342         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
1343         * 1750a.c (print_operand): Fix format specifier warning.
1344         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
1345         * 1750a.md: Likewise.
1346         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
1347         * genemit.c (output_add_clobbers): Mark parameter with
1348         ATTRIBUTE_UNUSED.
1349         * genrecog.c (write_subroutine): Likewise.
1350         * integrate.c (expand_inline_function): Delete unused variable.
1351         * varasm.c (remove_from_pending_weak_list): Wrap with
1352         ASM_WEAKEN_LABEL.
1354 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
1356         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
1357         field is different to previous argument's neg field.
1359         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
1361 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1363         * final.c (get_decl_from_op): New function.
1364         (output_asm_insn): Call it; write "*" when item with decl is address.
1366 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
1368         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
1369         about 64-bit support from the 3.0_branch version.
1371 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
1373         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
1374         USE_INCLUDED_LIBINTL when appropriate.
1375         * configure, config.in: Regenerate.
1376         * Makefile.in (datadir): Set to @datadir@.
1377         (intl.o): Also depend on $(CONFIG_H) and system.h.
1379         * intl.c: Factor out common gettext initialization sequence.
1380         (gcc_init_libintl):  New function.
1381         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
1382         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
1383         off NLS.  Add multiple include guard.  No need to #ifdef-guard
1384         an #undef.  Prototype gcc_init_libintl here.
1386         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
1387         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
1388         Use gcc_init_libintl.
1390 2001-10-19  Catherine Moore  <clm@redhat.com>
1392         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
1394         * config/stormy16/stormy16.c (stormy16_split_move):  Make
1395         sure that REG_INC notes are present for auto_inc operands.
1397 2001-10-19  Andreas Jaeger  <aj@suse.de>
1399         * configure: Regenerated.
1400         * configure.in: Add x86_64 to switch statements.
1402 2001-10-18  Richard Henderson  <rth@redhat.com>
1404         * config/alpha/alpha.md (sibcall_osf_1): Load destination
1405         address into $27 explicitly.
1406         (sibcall_value_osf_1): Likewise.
1408 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1410         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
1411         (offset_address): New function.
1412         (free_emit_status): Free regno_decl.
1413         (init_emit): Pass proper number of elements to xcalloc.
1414         Allocate regno_decl.
1415         (mark_emit_status): Mark regno_decl values.
1416         * expr.c (highest_pow2_factor): New function.
1417         (expand_assigment): Use it and offset_address.
1418         Properly handle ptr_mode vs. Pmode in offset calculation.
1419         (store_constructor, expand_expr_unaligned): Likewise.
1420         (expand_expr, case COMPONENT_EXPR): Likewise.
1421         * expr.h (offset_address): New decl.
1422         * function.h (struct emit_status): Add regno_decl.
1423         (REGNO_DECL): New macro.
1424         * final.c (output_asm_name): Move in file and don't conditionalize
1425         on flag_print_asm_name.
1426         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
1427         Output names of operands, if known.
1428         * function.c (assign_parms): Set REGNO_DECL.
1429         * integrate.c (integrate_decl_tree): Likewise.
1430         * stmt.c (expand_decl): Likewise.
1431         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
1433 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
1435         * attribs.c (handle_noinline_attribute): New function.
1436         (handle_used_attribute): Likewise.
1437         (c_common_attribute_table): Added noinline and used.
1438         * doc/extend.texi (Function Attributes): Document them.
1439         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
1440         Warn when merging inline with attribute noinline.
1441         (start_decl, start_function): Warn if inline and attribute
1442         noinline appear in the same declaration.
1444 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
1446         * config.gcc: Update c4x and i370 for C front end-specific
1447         dependencies.
1448         * config/c4x/c4x-c.c: New.
1449         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
1450         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
1451         New declarations.
1452         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
1453         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
1454         Make extern.
1455         (c4x_init_pragma): Remove.
1456         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
1457         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
1458         c4x_pr_ignored): Move to c4x-c.c.
1459         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
1460         * config/c4x/t-c4x: Update.
1461         * config/i370/i370-c.c: New.
1462         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
1463         (i370_pr_map): Move to i370-c.c.
1464         * config/i370/t-i370: New.
1466         * doc/tm.texi: Update.
1468 2001-10-17  Stan Shebs  <shebs@apple.com>
1470         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
1471         typo fixes throughout.
1472         (machopic_output_stub): Remove some dead code.
1474 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
1476         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
1477         leak.
1479 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1481         * Makefile.in (print-rtl.o): Depend on TREE_H.
1482         * alias.c (get_alias_set): Make two passes over objects to first
1483         see if inner object is access via restricted pointer.
1484         Defer allocating alias set for restricted pointer until here.
1485         Call find_placeholder with second arg nonzero.
1486         Minor cleanups.
1487         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
1488         set for restricted pointer types.
1489         * emit-rtl.c (set_mem_attributes): Set more attributes.
1490         (set_mem_align, change_address, adjust_address_1): New functions.
1491         (change_address_1): Now static.
1492         (adjust_address, adjust_address_nv): Deleted.
1493         (replace_equiv_address): Call change_address_1.
1494         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
1495         (find_placeholder): Get starting point from PLIST arg.
1496         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
1497         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
1498         (adjust_address, adjust_address_nv): New macros.
1499         * print-rtl.c (tree.h): New include.
1500         (print_rtx, case MEM): Print all memory attributes.
1502 2001-10-17  Richard Henderson  <rth@redhat.com>
1504         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
1506 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
1508         * c-tree.texi: Eliminate duplicated word.
1509         * cpp.texi: Likewise.
1510         * install.texi: Likewise.
1511         * invoke.texi: Likewise.
1512         * tm.texi: Likewise.
1514 2001-10-17  Michael Collison  <collison@isisinc.net>
1516         * dsp16xx.c: Fix comment formatting to match GNU standards.
1517         (dsp16xx_output_function_prologue): Change type of 'size'
1518         parameter from 'int' to HOST_WIDE_INT.
1519         (dsp16xx_output_function_epilogue): Change type of 'size'
1520         parameter from 'int' to HOST_WIDE_INT.
1522 2001-10-16  Richard Henderson  <rth@redhat.com>
1524         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
1525         * configure, config.in: Rebuild.
1527         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
1528         (ix86_output_addr_diff_elt): New.
1529         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
1530         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
1531         (JUMP_TABLES_IN_TEXT_SECTION): New.
1532         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
1533         * config/i386/i386-protos.h: Update.
1535         * config/i386/386bsd.h, config/i386/beos-elf.h,
1536         config/i386/freebsd-aout.h, config/i386/freebsd.h,
1537         config/i386/i386-interix.h, config/i386/i386elf.h,
1538         config/i386/linux.h, config/i386/netbsd-elf.h,
1539         config/i386/netbsd.h, config/i386/openbsd.h,
1540         config/i386/ptx4-i.h, config/i386/rtemself.h,
1541         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
1542         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
1544 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
1546         * stmt.c (expand_asm_operands): Update commentary.
1548 2001-10-16  Stan Shebs  <shebs@apple.com>
1550         * config/darwin.h (GCC_NAME): Remove, no longer used.
1551         (NO_MATH_LIBRARY): Ditto.
1552         (MATH_LIBRARY): Define to emptiness.
1553         (DWARF2_DEBUGGING_INFO): Define.
1554         (PREFERRED_DEBUGGING_TYPE): Define.
1555         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
1556         (EXCEPTION_SECTION): Define.
1557         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
1558         * config/darwin.c (darwin_encode_section_info): Handle case of
1559         DECL_INITIAL being error_mark_node.
1561 2001-10-16  Richard Henderson  <rth@redhat.com>
1563         * alpha.c (current_file_function_operand): Don't fail for profiling.
1564         (direct_call_operand): New.
1565         * alpha-protos.h: Declare it.
1566         * alpha.h (EXTRA_CONSTRAINT): Use it.
1567         (PREDICATE_CODES): Add it.
1568         (ASM_OUTPUT_MI_THUNK): Remove.
1569         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
1570         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
1572 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
1574         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
1575         (JUMP_TABLES_IN_TEXT_SECTION): Define.
1577 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
1579         * cfg.c (free_edge): Break out from ....
1580         (remove_edge): ... here.
1581         (clear_edges): Use free_edge.
1583         * att.h (ASM_QUAD): Add comment.
1584         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
1586 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
1588         * i386.c (split_ti): New function.
1589         (ix86_split_to_parts): Support TImodes.
1590         * i386.h (VALID_INT_MODE_P): Add TImode.
1591         * i386.md (movdi splitter): Fix.
1592         (movti): Support 64bit integer registers.
1593         (movti_rex64): New function and splitter.
1595         * i386.c (*_cost): Add movsx/movzx cost.
1596         * i386.h (struct processor_costs): Add movsx/movzx fields.
1597         (RTX_COSTS): Handle zero/sign extend + avoid believing that
1598         64bit operations require split on 64bit machine.
1599         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
1601         * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
1602         (ix86_expand_move): Avoid pushes of memory if size does not match;
1603         move long constants to register.
1604         (x86_initialize_trampoline): Fix mode.
1605         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
1606         Use ASM_QUAD on 64bit.
1607         * i386.md (test pattern): Disallow impossible constants.
1608         (tablejump PIC expander): Fix emitting of sum.
1609         (movdicc_rex64): Rename to movdicc.
1610         * linux64.h (LINK_SPEC): Add missing '%'.
1612 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
1614         * tree-inline.c (inlinable_function_p): Leave it up to the
1615         front-end to turn -finline-functions into DECL_INLINE set for all
1616         functions.
1618 2001-10-16  Stan Shebs  <shebs@apple.com>
1620         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
1622 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
1624         * recog.c: Formatting and comment typo fixes.
1626         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
1627         version in single tree build.
1628         * configure: Regenerate.
1630 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
1632         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
1633         MODE arguments to gen_rtx and compare operand with const0_rtx.
1635 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
1637         * system.h: Poison old unused target macros.
1638         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
1639         * config/stormy16/stormy16.c: Update references to obsolete macros.
1640         * config/stormy16/stormy16.h: Similarly.
1641         * config/stormy16/stormy16.md: Similarly.
1642         * config/cris/cris.h: Similarly.
1644 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
1646         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
1647         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
1648         cpp_register_pragma): Update accordingly.
1650 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
1652         * c-pragma.h (cpp_register_pragma_space): Remove.
1653         * cpplib.h (cpp_register_pragma_space): Remove.
1654         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
1655         (cpp_register_pragma_space): Remove.
1656         (cpp_register_pragma): Simplify using lookup_pragma_entry,
1657         add sanity checks.
1658         (do_pragma): Similarly.
1659         (_cpp_init_internal_pragmas): Don't register namespaces.
1661         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
1662         Don't register namespaces.
1663         * cp/lex.c (init_cp_pragma): Similarly.
1664         * doc/tm.texi: Update.
1666 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1668         PR c/4157
1669         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
1671 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
1673         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
1674         add scheduling support.
1675         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
1676         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
1677         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
1680 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
1682         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
1683         missing CONSTANT_P test in core GCC.
1685 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
1687         * cppmain.c (struct printer): New member source.
1688         (scan_translation_unit): Fix spacing at start of lines.
1689         (cb_line_change): Update.
1691         * gcc.dg/cpp/spacing2.c: New test.
1693 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
1695         * config/cris/arit.c: Use __builtin_labs, not abs.
1697         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
1699         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
1700         misplaced sprintf and fprintf argument.
1702 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
1704         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
1705         * configure.in, Makefile.in: Take out obsolete check-po logic.
1706         * configure, config.in: Regenerate.
1708 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
1710         * objc/objc-act.c (finish_objc): Correct precondition for emitting
1711         symtab declarations.
1713 2001-10-12  Stan Shebs  <shebs@apple.com>
1715         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
1716         declarations of arguments and local variables.
1718 2001-10-12  Christopher Faylor  <cgf@redhat.com>
1720         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
1721         ENDFILE_SPEC definition.
1723 2001-10-12  Kazu Hirata  <kazu@hxi.com>
1725         * gthr-dce.h: Fix comment formatting.
1726         * gthr-posix.h: Likewise.
1727         * gthr-single.h: Likewise.
1728         * gthr-solaris.h: Likewise.
1729         * gthr-vxworks.h: Likewise.
1730         * gthr-win32.h: Likewise.
1732 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
1734         * final.c (output_asm_insn): Make sure assembly dialects are
1735         terminated, not nested.  Output `|' and `}' characters if they
1736         don't appear inside assembly dialect selection.
1737         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
1738         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
1739         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
1740         strsetsi_rex_1): Add {} braces.
1742 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
1744         * toplev.c (compile_file): Ignore return value from yyparse.
1745         Always pop any nested binding levels after yyparse returns.
1747 2001-10-11  Richard Henderson  <rth@redhat.com>
1749         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
1751 2001-10-11  Richard Henderson  <rth@redhat.com>
1753         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
1754         fall back to add_AT_long_long for large CONST_INT.
1756 2001-10-11  Richard Henderson  <rth@redhat.com>
1758         * config/i386/i386.md (setcc splitters): Add four splitters to
1759         simplify compound compares that simplify_comparison can't handle.
1761 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
1763         * cpplex.c (digraph_spellings, token_spellings): Make static.
1765 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1767         * unroll.c (loop_iterations): Fixup last patch.
1769 2001-10-11  Richard Henderson  <rth@redhat.com>
1771         * rtl.h (REG_VTABLE_REF): New.
1772         * rtl.c (reg_note_name): Add it.
1773         * combine.c (distribute_notes): Handle it.
1774         * final.c (final_scan_insn): Handle it.
1775         * tree.def (VTABLE_REF): New.
1776         * expr.c (expand_expr): Handle it.
1777         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
1778         * output.h: Declare them.
1780 2001-10-11  Richard Henderson  <rth@redhat.com>
1782         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
1783         for a DECL_INITIAL.
1785 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
1787         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
1788         available in 64-bit mode.
1790 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
1792         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
1793         cris-*-linux* cases.
1794         * config/cris/cris-protos.h: New file.
1795         * config/cris/cris.c: New file.
1796         * config/cris/cris.h: New file.
1797         * config/cris/cris.md: New file.
1798         * config/cris/linux.h: New file.
1799         * config/cris/aout.h: New file.
1800         * config/cris/arit.c: New file.
1801         * config/cris/cris_abi_symbol.c: New file.
1802         * config/cris/mulsi3.asm: New file.
1803         * config/cris/t-aout: New file.
1804         * config/cris/t-cris: New file.
1805         * config/cris/t-elfmulti: New file.
1806         * config/cris/t-linux: New file.
1807         * doc/invoke.texi: Add CRIS options.
1808         * doc/install.texi (Specific): Add blurb for CRIS.
1810 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
1812         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
1813         before using it.
1814         * config/float/i32.h: Likewise.
1815         * config/float-i386.h: Likewise.
1816         * config/float-i64.h: Likewise.
1817         * config/float-m68k.h: Likewise.
1818         * config/float-sh.h: Likewise.
1819         * config/float-sparc.h: Likewise.
1821 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
1823         * doc/contrib.texi: Add note about CRIS port to my entry.
1825 2001-10-11  Kazu Hirata  <kazu@hxi.com>
1827         * basic-block.h: Fix formatting.
1828         * bitmap.h: Likewise.
1829         * cpplib.h: Likewise.
1830         * c-tree.h: Likewise.
1831         * diagnostic.h: Likewise.
1832         * flags.h: Likewise.
1833         * ggc.h: Likewise.
1834         * longlong.h: Likewise.
1835         * real.h: Likewise.
1836         * reload.h: Likewise.
1837         * rtl.h: Likewise.
1838         * tree.h: Likewise.
1840 2001-10-10  Richard Henderson  <rth@redhat.com>
1842         * c-parse.in (asm_operand): Allow named operands.
1843         * genconfig.c (max_recog_operands): Set to 29.
1844         * local-alloc.c (requires_inout): Skip multiple digits.
1845         * recog.c (asm_operand_ok): Likewise.
1846         (preprocess_constraints): Use strtoul for matching constraints.
1847         (constrain_operands): Likewise.
1848         * regmove.c (find_matches): Likewise.
1849         * reload.c (find_reloads): Likewise.
1850         * stmt.c (parse_output_constraint): Don't reject in-out
1851         constraint on operands > 9.  Reject '[' in constraint.
1852         (expand_asm_operands): Handle named operands.  Use strtoul
1853         for matching constraints.
1854         (check_operand_nalternatives): Split out from expand_asm_operands.
1855         (check_unique_operand_names): New.
1856         (resolve_operand_names, resolve_operand_name_1): New.
1858         * doc/extend.texi (Extended Asm): Document named operands.
1859         * doc/md.texi (Simple Constraints): Document matching constraints
1860         on operands > 9.
1862 2001-10-10  Richard Henderson  <rth@redhat.com>
1864         * combine.c (try_combine): Handle a SEQUENCE of one insn.
1866         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
1867         (jcc splitters): Add two splitters to simplify compound compares
1868         that simplify_comparison can't handle.
1870 2001-10-10  Richard Henderson  <rth@redhat.com>
1872         * langhooks.c: Include langhooks.h.
1873         * Makefile.in (langhooks.o): Depend on it.
1875 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
1877         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
1878         should not be considered as a no-op.
1879         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
1881 2001-10-10  Stan Shebs  <shebs@apple.com>
1883         * alias.c: Remove uses of "register" specifier in declarations
1884         of arguments and local variables.
1885         * c-common.c: Ditto.
1886         * c-convert.c: Ditto.
1887         * c-decl.c: Ditto.
1888         * c-format.c: Ditto.
1889         * c-semantics.c: Ditto.
1890         * c-typeck.c: Ditto.
1891         * caller-save.c: Ditto.
1892         * calls.c: Ditto.
1893         * cfg.c: Ditto.
1894         * cfgbuild.c: Ditto.
1895         * cfgrtl.c: Ditto.
1896         * collect2.c: Ditto.
1897         * combine.c: Ditto.
1898         * convert.c: Ditto.
1899         * cppexp.c: Ditto.
1900         * cppfiles.c: Ditto.
1901         * cse.c: Ditto.
1902         * dbxout.c: Ditto.
1903         * defaults.h: Ditto.
1904         * df.c: Ditto.
1905         * dwarf2out.c: Ditto.
1906         * dwarfout.c: Ditto.
1907         * emit-rtl.c: Ditto.
1908         * explow.c: Ditto.
1909         * expmed.c: Ditto.
1910         * expr.c: Ditto.
1911         * final.c: Ditto.
1912         * fix-header.c: Ditto.
1913         * floatlib.c: Ditto.
1914         * flow.c: Ditto.
1915         * fold-const.c: Ditto.
1916         * function.c: Ditto.
1917         * gcc.c: Ditto.
1918         * gcse.c: Ditto.
1919         * gen-protos.c: Ditto.
1920         * genattrtab.c: Ditto.
1921         * gencheck.c: Ditto.
1922         * genconfig.c: Ditto.
1923         * genemit.c: Ditto.
1924         * genextract.c: Ditto.
1925         * genflags.c: Ditto.
1926         * gengenrtl.c: Ditto.
1927         * genoutput.c: Ditto.
1928         * genpeep.c: Ditto.
1929         * genrecog.c: Ditto.
1930         * gensupport.c: Ditto.
1931         * global.c: Ditto.
1932         * gmon.c: Ditto.
1933         * graph.c: Ditto.
1934         * haifa-sched.c: Ditto.
1935         * hard-reg-set.h: Ditto.
1936         * hash.c: Ditto.
1937         * integrate.c: Ditto.
1938         * jump.c: Ditto.
1939         * lists.c: Ditto.
1940         * local-alloc.c: Ditto.
1941         * loop.c: Ditto.
1942         * mips-tdump.c: Ditto.
1943         * mips-tfile.c: Ditto.
1944         * optabs.c: Ditto.
1945         * prefix.c: Ditto.
1946         * print-rtl.c: Ditto.
1947         * read-rtl.c: Ditto.
1948         * real.c: Ditto.
1949         * recog.c: Ditto.
1950         * reg-stack.c: Ditto.
1951         * regclass.c: Ditto.
1952         * regmove.c: Ditto.
1953         * reload.c: Ditto.
1954         * reload1.c: Ditto.
1955         * reorg.c: Ditto.
1956         * resource.c: Ditto.
1957         * rtl.c: Ditto.
1958         * rtlanal.c: Ditto.
1959         * scan.c: Ditto.
1960         * sched-deps.c: Ditto.
1961         * sched-rgn.c: Ditto.
1962         * sdbout.c: Ditto.
1963         * simplify-rtx.c: Ditto.
1964         * stmt.c: Ditto.
1965         * stor-layout.c: Ditto.
1966         * toplev.c: Ditto.
1967         * tradcif.y: Ditto.
1968         * tradcpp.c: Ditto.
1969         * tree.c: Ditto.
1970         * unroll.c: Ditto.
1971         * varasm.c: Ditto.
1972         * xcoffout.c: Ditto.
1974 2001-10-10  Richard Henderson  <rth@redhat.com>
1976         * rtl.h (can_reverse_comparison_p): Remove.
1978 2001-10-10  Christopher Faylor <cgf@redhat.com>
1980         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
1981         used.
1983 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
1985         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
1986         (Thanks to Chris Faylor for suggesting macro name).
1987         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
1988         WIN32 defines.
1989         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
1990         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
1991         (MATH_LIBRARY): Undef before definition.
1992         (OUTPUT_QUOTED_STRING): Likewise.
1993         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
1995 2001-10-10  Richard Henderson  <rth@redhat.com>
1997         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
1998         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
1999         a tristate comparison value.
2000         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
2002 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2004         PR c++/4512
2005         * unroll.c (loop_iterations): Ignore insns generated by loop
2006         unrolling.
2008         * config.gcc (mips*-*-gnu*): Delete support.
2009         * config/mips/gnu.h: Remove.
2011 2001-10-10  Kazu Hirata  <kazu@hxi.com>
2013         * calls.c: Fix formatting.
2014         * c-decl.c: Likewise.
2015         * cfgcleanup.c: Likewise.
2016         * combine.c: Likewise.
2017         * cppfiles.c: Likewise.
2018         * cpplib.c: Likewise.
2019         * cppmacro.c: Likewise.
2020         * crtstuff.c: Likewise.
2021         * cse.c: Likewise.
2022         * dwarf2out.c: Likewise.
2023         * expmed.c: Likewise.
2024         * expr.c: Likewise.
2025         * fold-const.c: Likewise.
2026         * function.c: Likewise.
2027         * gcse.c: Likewise.
2028         * genattrtab.c: Likewise.
2029         * ggc-page.c: Likewise.
2030         * integrate.c: Likewise.
2031         * libgcc2.c: Likewise.
2032         * loop.c: Likewise.
2033         * optabs.c: Likewise.
2034         * profile.c: Likewise.
2035         * protoize.c: Likewise.
2036         * real.c: Likewise.
2037         * recog.c: Likewise.
2038         * reload1.c: Likewise.
2039         * reload.c: Likewise.
2040         * reorg.c: Likewise.
2041         * resource.c: Likewise.
2042         * sched-rgn.c: Likewise.
2043         * sdbout.c: Likewise.
2044         * stmt.c: Likewise.
2045         * toplev.c: Likewise.
2046         * varasm.c: Likewise.
2048 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
2050         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
2051         * Makefile.in (langhooks.o): Add dependencies.
2053 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
2055         * rs6000.c (rs6000_emit_load_toc_table): Don't
2056         strdup the toc label.
2057         (create_TOC_reference): Likewise.
2059 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
2061         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
2062         version default.
2064 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
2066         * config/i386/i386.c (ix86_attribute_table): Correct
2067         min_len, max_len fields for dllimport, dllexport and shared.
2069 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
2071         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
2072         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
2073         Consistently use "nonzero" instead of "non-zero".
2075 2001-10-09  Kazu Hirata  <kazu@hxi.com>
2077         * acconfig.h: Fix comment formatting.
2078         * c-dump.h: Likewise.
2079         * c-tree.h: Likewise.
2080         * conditions.h: Likewise.
2081         * expr.h: Likewise.
2082         * function.h: Likewise.
2083         * gthr.h: Likewise.
2084         * hwint.h: Likewise.
2085         * integrate.h: Likewise.
2086         * intl.h: Likewise.
2087         * loop.h: Likewise.
2088         * optabs.h: Likewise.
2090 2001-10-09  Kazu Hirata  <kazu@hxi.com>
2092         * c-common.h: Fix comment formatting.
2093         * c-dump.c: Likewise.
2094         * cfg.c: Likewise.
2095         * diagnostic.h: Likewise.
2096         * except.c: Likewise.
2097         * gcc.h: Likewise.
2098         * gcov-io.h: Likewise.
2099         * genattrtab.c: Likewise.
2100         * output.h: Likewise.
2101         * predict.h: Likewise.
2102         * reload1.c: Likewise.
2103         * reload.h: Likewise.
2104         * resource.h: Likewise.
2105         * scan.h: Likewise.
2106         * system.h: Likewise.
2107         * tree.h: Likewise.
2108         * tree-inline.c: Likewise.
2109         * tsystem.h: Likewise.
2110         * varasm.c: Likewise.
2111         * xcoffout.h: Likewise.
2113 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
2115         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
2117 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
2119         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
2120         config/i386/i386elf.h, config/i386/netbsd-elf.h,
2121         config/i386/netware.h, config/mcore/gfloat.h,
2122         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
2123         config/netware.h, gccbug.in: Update FSF address.
2125 2001-10-09  Kazu Hirata  <kazu@hxi.com>
2127         * c-common.c: Fix comment typos.
2128         * cfgrtl.c: Likewise.
2129         * collect2.c: Likewise.
2130         * cpplex.c: Likewise.
2131         * doloop.c: Likewise.
2132         * dwarf2out.c: Likewise.
2133         * dwarfout.c: Likewise.
2134         * expr.c: Likewise.
2135         * fold-const.c: Likewise.
2136         * gcc.c: Likewise.
2137         * gcov.c: Likewise.
2138         * gcse.c: Likewise.
2139         * global.c: Likewise.
2140         * ifcvt.c: Likewise.
2141         * loop.c: Likewise.
2142         * optabs.c: Likewise.
2143         * protoize.c: Likewise.
2144         * regclass.c: Likewise.
2145         * reorg.c: Likewise.
2146         * rtl.h: Likewise.
2147         * stmt.c: Likewise.
2148         * tree.h: Likewise.
2149         * doc/cpp.texi: Likewise.
2150         * doc/c-tree.texi: Likewise.
2151         * doc/extend.texi: Likewise.
2152         * doc/invoke.texi: Likewise.
2153         * doc/objc.texi: Likewise.
2154         * doc/tm.texi: Likewise.
2156 2001-10-08  Richard Henderson  <rth@redhat.com>
2158         * varasm.c (set_named_section_flags): Initialize "declared".
2160 2001-10-08  Robert Lipe  <robertlipe@usa.net>
2162         * varasm.c (struct in_named_entry): Add declared.
2163         (named_section_first_declaration): New function.
2164         (default_elf_asm_named_section): Use it.
2165         * output.h (named_section_first_declaration): New.
2167 2001-10-08  Richard Henderson  <rth@redhat.com>
2169         * i386.md (movsi_xor): Export.
2170         (setcc peep2): Use it when available; add an alternative to
2171         match zero_extendhisi2_and.
2173 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2175         * romp-protos.h (romp_initialize_trampoline): New function.
2176         * romp.c (romp_initialize_trampoline): Likewise.
2177         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
2178         romp_initialize_trampoline.
2180 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2182         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
2183         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
2184         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
2185         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
2187 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2189         * unroll.c (loop_iterations): Extend check for multiple back edges.
2191 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
2193         * langhooks.h: New file.
2194         * Makefile.in (OBJS): Added langhooks.o.
2195         (c-lang.o): Depend on langhooks.h.
2196         (c-common.o): Don't depend on tree-inline.h.
2197         (tree-inline.o): Depend on toplev.h.
2198         (langhooks.o): New rule.
2199         * c-common.c: Don't include tree-inline.h.
2200         (c_mark_lang_decl): Mark argument c as unused.
2201         (c_common_lang_init): Don't initialize hooks here.
2202         * c-lang.c: Include langhooks.h, then override some macros.
2203         (lang_hooks): Initialize with macros in langhooks.h.
2204         (c_init): Don't initialize hooks here.
2205         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
2206         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
2207         * tree-inline.c: Include toplev.h.  Don't define hook variables.
2208         * tree-inline.h: Don't define hook types nor declare hook
2209         variables.  Move macros to...
2210         * langhooks.c: ... new file, as functions.  Adjust all callers.
2212 2001-10-08  Jeffrey A Law  <law@cygnus.com>
2214         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
2215         purge_mem_unchanging_flag on all instructions, not just on those
2216         before NOTE_INSN_FUNCTION_BEG.
2218 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
2220         * cppmacro.c (_cpp_create_definition): Leave comments off.
2222         * doc/cpp.texi: Update.
2224 2001-10-08  DJ Delorie  <dj@redhat.com>
2226         * c-decl.c (grokfield): Make sure the only unnamed fields
2227         we're allowing are either structs or unions.
2228         * doc/extend.texi: Add documentation for the unnamed field
2229         extension.
2231 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
2233         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
2234         * configure.in: Use it.
2235         * configure: Regenerated.
2236         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
2237         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
2239 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
2241         * cppfiles.c (open_file): Don't mark zero-length files
2242         never-reread here.  Don't output diagnostics here either.
2243         (stack_include_file): Mark them never-reread here.
2244         (_cpp_read_file): Update.
2246 2001-10-08  Richard Henderson  <rth@redhat.com>
2248         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
2250 2001-10-08  Richard Henderson  <rth@redhat.com>
2252         * expr.c (store_expr): When converting a CONST_INT for storage
2253         in a SUBREG, convert it to both SUBREG modes before stripping
2254         the SUBREG.
2256 2001-10-08  Richard Henderson  <rth@redhat.com>
2258         * varasm.c (restore_varasm_status): New.
2259         * function.h: Declare it.
2260         * function.c (pop_function_context_from): Call it.
2262 2001-10-08  Richard Henderson  <rth@redhat.com>
2264         * c-common.h (struct c_lang_decl): Add declared_inline.
2265         * c-tree.h (DECL_DECLARED_INLINE_P): New.
2266         * c-lang.c (c_disregard_inline_limits): Use it.
2267         * c-decl.c (duplicate_decls): Likewise.
2268         (pushdecl, redeclaration_error_message): Likewise.
2269         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
2270         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
2271         Set DECL_INLINE if -finline-functions.
2272         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
2274 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
2276         * cppmacro.c (funlike_invocation_p): Move some logic to caller
2277         in enter_macro_context.  Create a padding token in its own context
2278         if necessary when the search for '(' fails.
2279         (enter_macro_context): Update.
2281 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2283         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
2284         genmultilib, toplev.c: Fix spelling errors of "separate" as
2285         "seperate", and corresponding spelling errors of related words.
2287 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2289         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
2290         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
2291         Likewise.
2292         * c-dump.c (dump_option_value_info): Likewise.
2293         * c-format.c (format_length_info, format_char_info,
2294         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
2295         * collect2.c (names): Likewise.
2296         * cppdefault.h (default_include): Likewise.
2297         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
2298         * flow.c (life_analysis): Likewise.
2299         * gcc.c (dir_separator_str, modify_target, option_map,
2300         target_option_translations, spec_list_1, extra_specs_1,
2301         init_spec): Likewise.
2302         * gcov.c (gcov_version_string): Likewise.
2303         * genattr.c (write_units): Likewise.
2304         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
2305         * gengenrtl.c (rtx_definition, defs): Likewise.
2306         * genrecog.c (pred_table): Likewise.
2307         * global.c (global_alloc): Likewise.
2308         * lcm.c (optimize_mode_switching): Likewise.
2309         * local-alloc.c (find_free_reg): Likewise.
2310         * params.h (param_info): Likewise.
2311         * predict.c (predictor_info): Likewise.
2312         * protoize.c (unexpansion_struct): Likewise.
2313         * real.c (bmask): Likewise.
2314         * recog.h (insn_operand_data, insn_data): Likewise.
2315         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
2316         * stmt.c (expand_nl_goto_receiver): Likewise.
2317         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
2318         target_switches, target_options): Likewise.
2319         * tradcif.y (token, tokentab2, yylex): Likewise.
2320         * tree.h (attribute_spec): Likewise.
2322         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
2323         Likewise.
2324         * arc.c (arc_output_function_epilogue): Likewise.
2325         * arm.c (processors, all_cores, all_architectures,
2326         arm_override_options, isr_attribute_arg, isr_attribute_args,
2327         arm_isr_value): Likewise.
2328         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
2329         Likewise.
2330         * c4x.c (c4x_int_reglist): Likewise.
2331         * d30v.c (override_options): Likewise.
2332         * h8300.c (shift_insn): Likewise.
2333         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
2334         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
2335         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
2336         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
2337         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
2338         * i386.h (processor_costs, ix86_cost): Likewise.
2339         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
2340         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
2341         * m68k.c (codes_68881, codes_FPA): Likewise.
2342         * m88k.c (mode_from_align, max_from_align, all_from_align,
2343         best_from_align, m_options): Likewise.
2344         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
2345         * mcore.c (mode_from_align): Likewise.
2346         * mips/elf64.h (UNIQUE_SECTION): Likewise.
2347         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
2348         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
2349         * mips.h (mips_regno_to_class): Likewise.
2350         * ns32k.c (scales): Likewise.
2351         * pa.c (import_string, magic_milli): Likewise.
2352         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
2353         * sparc.c (leaf_reg_remap, sparc_override_options,
2354         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
2355         Likewise.
2356         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
2358 2001-10-07  Dale Johannesen  <dalej@apple.com>
2360         * reload1.c (reload_reg_free_p): Teach register interference
2361         checking that multiple output reloads are emitted in
2362         reverse order.
2363         reload1.c (reload_reg_reaches_end_p):  Ditto.
2364         reload1.c (reloads_conflict):  Ditto.
2366 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2368         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
2369         NULL_TREE inside @code.
2371 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2373         * doc/gcc.texi: Document consistent style of "32-bit",
2374         "Objective-C", and "@code{NULL}".
2376 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
2378         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
2379         (cpp_token_len, cpp_spell_token, cpp_output_token,
2380         _cpp_equiv_tokens): Handle it.
2381         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
2382         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
2383         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
2384         error messages.
2386 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2388         * gcc.c (default_compilers): Remove .ada.
2390 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
2392         * doc/cppinternals.texi: Update.
2394 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
2396         * gcc.c (main): Set this_file_error if the appropriate
2397         compiler for a language has not been installed.
2399 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
2401         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
2403 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
2405         * gccbug.in (CATEGORIES): Add ada.
2407 2001-10-05  Catherine Moore  <clm@redhat.com>
2409         * config/stormy16/stormy-abi:  Document abi changes.
2410         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
2411         (ICALL_REGS): New register class.
2412         (NUM_ARGUMENT_REGISTERS): Now 6.
2413         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
2414         in registers.
2415         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
2416         * config/stormy16.md (call_internal, call_value_internal,
2417         indirect_jump): Use new 'z' constraint.
2419 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2421         * doc/cppinternals.texi: Update.
2423 2001-10-05  Richard Henderson  <rth@redhat.com>
2425         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
2426         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
2427         the gas section-name-as-label feature.
2429 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2431         * doc/cppinternals.texi: Update.
2433 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2435         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
2436         to ensure valid SImode constants.
2438 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
2440         * Makefile.in (c-decl.o): Depend on tree-inline.h.
2441         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
2442         * c-decl.c: Include tree-inline.h.
2443         (c_expand_body): Call optimize_inline_calls. Determine whether
2444         a function is inlinable upfront, and only clear
2445         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
2446         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
2447         (c_disregard_inline_limits): New function.
2448         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
2449         (c_post_options): Enable tree inlining if inlining is enabled.
2450         Don't inline trees when instrumenting functions.
2451         (c_init): Initialize lang_disregard_inline_limits and
2452         lang_cannot_inline_tree_fn.
2453         * tree-inline.c (initialize_inlined_parameters): Handle calls
2454         with fewer arguments than declared parameters, and fewer
2455         parameters than passed arguments.  Don't assume value is a
2456         DECL.
2457         (declare_return_variable): Convert return value back to the
2458         original type, if it was promoted.
2459         (tree_inlinable_function_p): New function.
2460         (inlinable_function_p): Don't look at DECL_INLINE if we're
2461         inlining all functions.  Make it work with a NULL id.
2462         Re-check DECL_UNINLINABLE after language-specific checks.
2463         * tree-inline.h (tree_inlinable_function_p): Declare it.
2464         * integrate.c (save_for_inline): Don't bother to prepare argvec
2465         when not inlining.
2466         * cse.c (check_for_label_ref): Don't check deleted labels.
2468         * Makefile.in (tree-inline.o): Depend on newly-included headers.
2469         * tree-inline.c: Include headers needed for the functions moved in.
2470         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
2471         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
2472         (copy_body, initialize_inlined_parameters): Likewise.
2473         (declare_return_variable, inlinable_function_p): Likewise.
2474         (expand_call_inline, expand_calls_inline): Likewise.
2475         (optimize_inline_calls, clone_body): Likewise.
2476         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
2477         (copy_tree_r, remap_save_expr): Likewise.
2479 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
2481         * Makefile.in (OBJS): Added tree-inline.o.
2482         (c-common.o): Depend on tree-inline.h.
2483         (tree-inline.o): New target.
2484         * c-common.c: Include tree-inline.h.
2485         (c_mark_lang_decl): Don't mark saved_tree.
2486         (c_common_lang_init): Set lang_anon_aggr_type_p.
2487         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
2488         (struct c_lang_decl): Moved saved_tree to tree_decl.
2489         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
2490         * integrate.h (function_attribute_inlinable_p): Declare it.
2491         * integrate.c (function_attribute_inlinable_p): Export it.
2492         * tree-inline.c: New file.  Define variables declared in...
2493         * tree-inline.h: New file.  Declare functions to be moved to
2494         tree-inline.c.  Define macros and declare types and hooks for
2495         language-specific tree inlining.
2496         (flag_inline_trees): Moved definition from cp/decl2.c.
2497         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
2498         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
2499         (struct tree_decl): Moved saved_tree from c_lang_decl and
2500         inlined_fns from C++'s lang_decl.
2502 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
2504         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
2505         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
2507 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
2509         * doc/cppinternals.texi: Update.
2511 2001-10-04  Eric Christopher  <echristo@redhat.com>
2513         * config/mips/mips.c (init_cumulative_args): Remember to set
2514         cum->prototype.
2515         * config.gcc: Redo linux configuration. Add target_cpu_default
2516         of soft-float to all mipsisa32 combinations and tx39.
2517         * config/mips/linux.h: Remove include of mips.h.
2519 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
2521         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
2522         HOST_LDFLAGS and HOST_CPPFLAGS.
2524 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
2526         * c-parse.in (objc_inherit_code, objc_pq_context,
2527         objc_public_flag): Make static.
2528         (objc_interface_context, objc_implementation_context,
2529         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
2530         global tree array in objc/objc-act.[ch].
2531         (methoddef): Remove unnecessary code.
2533         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
2534         Hoist struct definitions to objc-act.h.
2535         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
2536         cat_count): Place declaration in objc-act.h.
2537         (objc_tree_index): Move enumeration to objc-act.h.
2538         (objc_global_trees): Place declaration and macro accessors in
2539         objc-act.h.
2540         (implementation_context): Remove duplicate; use
2541         objc_implementation_context instead:
2542         (method_context): Remove duplicate; use objc_method_context
2543         instead.
2544         (objc_ellipsis_node, objc_method_prototype_template,
2545         implemented_classes, function_type): Move global vars to
2546         objc_global_trees.
2547         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
2548         (build_message_expr): Move actual construction of ObjC message
2549         send nodes to finish_message_expr.
2550         (finish_message_expr): New routine, contains code formerly in
2551         build_message_expr.
2552         * objc/objc-act.h (finish_message_expr): New prototype.
2553         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
2554         declarations; these vars are now part of objc_global_trees.
2555         (objc_tree_index, objc_global_trees): Move definitions from
2556         objc-act.c.
2557         * objc/objc-tree.def: Update copyright info.
2559 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
2561         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
2562         op is NULL.
2563         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
2564         only if TARGET_ARCH64.
2566 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
2568         * doc/extend.texi: Fix some problems with previous checkin.
2569         * doc/invoke.texi: Likewise.
2571 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
2573         * cpphash.h: Update comments.
2574         (cpp_context): Update.
2575         (spec_nodes): Remove n__Pragma.
2576         * cppinit.c (cpp_create_reader): Update.
2577         (builtin_array): Add _Pragma.
2578         * cpplib.h: Update comments.
2579         (NODE_DISABLED, BT_PRAGMA): New.
2580         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
2581         * cppmacro.c (struct cpp_macro): Remove disabled.
2582         (builtin_macro): Return int, handle _Pragma, push the new token
2583         on the context stack.
2584         (funlike_invocation_p): Unconstify, update.
2585         (enter_macro_context): Handle builtins here.
2586         (replace_args, push_token_context, push_ptoken_context):
2587         Update for prototype changes.
2588         (_cpp_pop_context): Update.
2589         (cpp_get_token): Don't handle buitins, nor _Pragma here.
2590         (cpp_sys_macro_p): Update.
2591         (_cpp_free_definition): Clear disabled flag.
2592         (_cpp_create_definition): Upate.
2593         * cppmain.c: Update comments.
2595 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
2596                                 Andreas Jaeger <aj@suse.de>,
2597                                 Jan Hubicka    <jh@suse.cz>
2599         * doc/invoke.texi (i386 Options): Document x86-64 options.
2600         (i386 and x86-64 Options): Rename i386 options section.
2602         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
2603         (TARGET_SWITCHES): Add -munwind-info.
2604         (MASK_NO_UNWIND_INFO): New.
2605         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
2606         biarch compilation.
2607         (ASM_OUTPUT_DOUBLE_INT): New.
2609         * config/i386/linux64.h: New spec file for Linux x86-64 support.
2610         * config.gcc: Fix tm_file settings for x86-64.
2611         * config/i386/x86-64.h: New file with OS independent x86-64
2612         definitions.
2613         * config/i386/biarch64.h: New file used to configure compiler
2614         to biarch/64bit compilation.
2616         * config/i386/i386.c: (override_options): Set flags default
2617         for 64bit compilation.
2619 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
2621         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
2622         (ix86_expand_int_movcc): Optimize DImode conditional moves with
2623         constants on x86_64.
2624         (ix86_attr_length_immediate_default): Support MODE_DI.
2625         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
2626         condition.
2627         (indirect_jump, tablejump): Turn into expander.
2629 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
2631         * c-common.c (c_format_attribute_table): Make format and
2632         format_arg attributes apply to function types rather than to
2633         decls.
2634         (is_valid_printf_arglist): Construct an attribute list and pass
2635         that to check_function_format rather than a name.
2636         * c-common.h (check_function_format): Adjust prototype.
2637         * c-decl.c (duplicate_decls): Preserve attributes from type of
2638         built-in decl when allowing for harmless conflict in types.
2639         * c-format.c (record_function_format,
2640         record_international_format, function_format_list,
2641         international_format_info, international_format_list): Remove.
2642         (function_format_info): Remove next, name and assembler_name.
2643         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
2644         (decode_format_attr): New.
2645         (handle_format_attribute): Handle receiving a type rather than a
2646         decl.  Call decode_format_attr.  Store format information in a
2647         function_format_info.
2648         (handle_format_arg_attribute): Correct comment.  Handle receiving
2649         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
2650         arg_num.
2651         (check_format_info_recurse, check_format_info_main): Take argument
2652         numbers as unsigned HOST_WIDE_INT.
2653         (check_function_format): Take a list of attributes from the
2654         function type rather than a name or assembler name.  Check for
2655         format attributes in that list and the attributes on the type of
2656         the current function rather than looking through
2657         function_format_list.
2658         (check_format_info): Use unsigned HOST_WIDE_INT for argument
2659         numbers.
2660         (check_format_info_recurse): Take format_arg attributes from the
2661         type of the function calls rather than using
2662         international_format_list.  Allow for multiple format_arg
2663         attributes.
2664         * c-typeck.c (build_function_call): Pass type attributes to
2665         check_function_format rather than name or assembler name.  Don't
2666         require there to be a name or assembler name to check formats.
2668 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
2670         * attribs.c (decl_attributes): Possibly call
2671         insert_default_attributes to insert default attributes on
2672         functions in a lazy manner.
2673         * builtin-attrs.def: New file; define the default format and
2674         format_arg attributes.
2675         * c-common.c (c_format_attribute_table): Move to earlier in the
2676         file.
2677         (c_common_nodes_and_builtins): Initialize format_attribute_table.
2678         (enum built_in_attribute, built_in_attributes,
2679         c_attrs_initialized, c_init_attributes,
2680         c_common_insert_default_attributes): New.
2681         (c_common_lang_init): Don't initialize format_attribute_table.  Do
2682         call c_init_attributes.
2683         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
2684         * c-common.h (init_function_format_info): Don't declare.
2685         (c_common_insert_default_attributes): Declare.
2686         * c-decl.c (implicitly_declare, builtin_function): Call
2687         decl_attributes.
2688         (init_decl_processing): Don't call init_function_format_info.
2689         (insert_default_attributes): New.
2690         * c-format.c (handle_format_attribute,
2691         handle_format_arg_attribute): Be quiet about inappropriate
2692         declaration when applying default attributes.
2693         (init_function_format_info): Remove.
2694         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
2695         (insert_default_attributes): Declare.
2697 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
2699         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
2701 2001-10-01  Jim Wilson  <wilson@redhat.com>
2703         * sched-deps.c (add_dependence): When elide conditional dependence,
2704         check that insn doesn't modify cond2.
2706 2001-10-01  Dale Johannesen  <dalej@apple.com>
2708         * config/rs6000/rs6000.h (enum processor_type): Add support
2709         for 7400 (G4) and 7450.
2710         (RTX_COSTS): Ditto.
2711         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
2712         (rs6000_issue_rate): Ditto.
2713         (rs6000_adjust_cost): Fix cycle counts for compares.
2714         (debug_stack_info):  Fix an obvious typo.
2715         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
2716         * doc/invoke.texi: Document.
2717         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
2718         for Darwin.
2719         (PROCESSOR_DEFAULT): Ditto.
2721 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
2723         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
2724         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
2725         later recursive make invocation.
2727 2001-10-01  Hans Boehm  <boehm@acm.org>
2729         * optabs.c (emit_libcall_block): When using non-call exceptions,
2730         don't add REG_LIBCALL reg notes to trapping calls.
2732 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
2734         * flow.c (propagate_block_delete_libcall): Remove unused first arg
2735         (propagate_one_insn):  Update for above change
2737 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
2739         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
2740         _Unwind_GetTextRelBase): Argument is unused.
2742 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2744         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
2745         Loop through NOPs, placeholders, and components.
2746         Don't go through NOPs if change mode.
2747         (record_alias_subset): Do nothing if SUBSET and SET are the same.
2748         * emit-rtl.c (set_mem_alias_set): Enable check.
2749         * expr.c (find_placeholder): New function.
2750         (expand_expr, case PLACEHOLDER_EXPR): Use it.
2751         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
2752         to modify it and avoid unneeded copies.
2753         * expr.h (expand_expr): Always define.
2754         (find_placeholder): New declaration.
2756 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2758         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
2759         operand 2 is the stack pointer.
2760         ("addr-peephole"): Fix address computation peephole when operand 2
2761         is the stack pointer.
2763 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2765         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
2766         (ix86_setup_incoming_varargs): Likewise.
2768 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
2770         * stor-layout.c (layout_type): Don't complain about too-large
2771         array here.
2773 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2775         * function.c (keep_stack_depressed): Don't use delete_insn.
2777         * expr.h (set_mem_alias_set): Move decl to here.
2778         * rtl.h (mem_attrs): New typedef and struct.
2779         (union rtunion_def): Add field for mem_attrs.
2780         (X0MEMATTR, MEM_ATTRS): New macros.
2781         (MEM_ALIAS_SET): Use MEM_ATTRS.
2782         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
2783         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
2784         (set_mem_alias_set): Delete decl from here.
2786         * alias.c (set_mem_alias_set): Delete from here.
2787         * emit-rtl.c (mem_attrs_htab): New variable.
2788         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
2789         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
2790         (mem_attrs_mark, get_mem_attrs): Likewise.
2791         (gen_rtx_MEM): Clear MEM_ATTRS.
2792         (set_mem_attributes): Move to here.
2793         (set_mem_alias_set): Likewise, and call get_mem_attrs.
2794         (init_emit_once): const_int_htab now deletable htab.
2795         Initialize mem_attrs_htab.
2796         * explow.c (set_mem_attributes): Delete from here.
2797         * function.c (put_var_into_stack): Clear MEM_ATTRS.
2798         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
2799         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
2800         * reload1.c (reload): Rework changing REG to MEM.
2802 2001-09-30  H.J. Lu <hjl@gnu.org>
2804         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
2805         * config.in: Rebuild.
2807 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2809         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
2810         ("tsthi_1"): Avoid allocation in register y.
2811         ("*movqi_68hc12"): Reorganize and fix constraints.
2812         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
2813         ("addqi3"): Likewise.
2814         ("addhi3"): Fix constraints.
2815         ("*logicalhi3_zexthi"): Disparage soft registers.
2817 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2819         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
2820         to tmp reg.
2822 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2824         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
2825         that we use setjmp/longjmp exceptions.
2827 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
2829         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
2830         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
2831         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
2832         _cpp_pool_alloc, _cpp_next_chunk): Remove.
2833         (_cpp_extend_buff, BUFF_ROOM): Update.
2834         (_cpp_append_extend_buff): New.
2835         (struct cpp_reader): Remove macro_pool, add a_buff.
2836         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
2837         macro_pool.
2838         (cpp_destroy): Free a_buff instead of macro_pool.
2839         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
2840         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
2841         _cpp_pool_alloc, ): Remove.
2842         (parse_number, parse_string): Update use of _cpp_extend_buff.
2843         (_cpp_extend_buff): Update.
2844         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
2845         * cpplib.c (glue_header_name, parse_answer):
2846         Update use of _cpp_extend_buff.
2847         (cpp_register_pragma, cpp_register_pragma_space): Use
2848         _cpp_aligned_alloc.
2849         (do_assert, do_unassert): Check for EOL, update.
2850         * cppmacro.c (stringify_arg, collect_args): Update to use
2851         _cpp_extend_buff and _cpp_append_extend_buff.
2852         (save_parameter, parse_params, alloc_expansion_token,
2853         _cpp_create_definition): Rework memory management.
2855 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
2857         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
2858         update md_exec_prefix.
2859         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
2860         to string constant.
2862 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
2864         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
2865         (SELECT_CC_MODE): Use s390_select_ccmode.
2866         * config/s390/s390-protos.h (s390_select_ccmode): Add.
2867         * config/s390/s390.c (s390_select_ccmode): New.
2868         (s390_match_ccmode): Add CCLmode.
2869         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
2870         (output_branch_condition, output_inverse_branch_condition): Removed.
2871         (print_operand): Use s390_branch_condition_mnemonic.
2872         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
2873         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
2874         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
2876         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
2877         when converting conditional branches to far branches.
2878         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
2879         cmpint_di): Use CCSmode instead of CCUmode.
2881         * config/s390/s390.c (legitimate_la_operand_p): New.
2882         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
2883         * config/s390/s390.md (movsi): Convert load address patterns to
2884         arithmetic operations when necessary.
2885         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
2886         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
2887         (*do_la_reg_0): Don't use before reload.
2889         * config/s390/s390.c (legitimize_address): Make more efficient
2890         use of two-register addressing mode.
2892         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
2893         with -mno-backchain in some corner cases.
2895         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
2897 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
2899         * reload.c (find_reloads): Mark new USE insns with QImode.
2900         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
2901         find_reloads_subreg_address): Likewise.
2902         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
2903         encountered.
2904         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
2905         CLOBBERs.
2906         (reload): Make sure there are no USEs with mode other than
2907         VOIDmode.  At the end, remove those marked with QImode.
2909 2001-09-29  Per Bothner  <per@bothner.com>
2911         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
2912         * Makefile.in (includedir):  Rename to local_includedir.
2913         (includedir):  Define as $(prefix)/include.
2914         * config.in (PREFIX_INCLUDE_DIR):  New variable.
2915         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
2917 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
2919         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
2920         storehps builtins.
2921         * doc/extend.texi (Vector Extensions): New node.
2922         * doc/invoke.texi (Machine Dependent Options): Add documentation for
2923         i386 -mmmx, -msse, -m3dnow.
2925 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
2927         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
2929 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
2931         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
2933         * doc/invoke.texi (Optimize Options): Delete spurious @table.
2935 2001-09-28  Richard Henderson  <rth@redhat.com>
2937         * varasm.c (assemble_integer): Bound alignment check by
2938         BIGGEST_ALIGNMENT.
2940         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
2942 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2944         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
2946 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
2948         Mostly from Graham Stott  <grahams@redhat.com>
2949         * c-common.c (type_for_mode): Add support for V2SFmode.
2950         * tree.c (build_common_tree_nodes_2): Likewise.
2951         * tree.h (enum tree_index, global_trees): Likewise.
2952         * config/i386/i386.c (x86_3dnow_a): New variable.
2953         (override_options): Support 3Dnow extensions.
2954         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
2955         Athlon's version of 3Dnow.
2956         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
2957         (ix86_expand_builtin): Handle them.
2958         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
2959         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
2960         TARGET_3DNOW_A): New macros.
2961         (TARGET_SWITCHES): Add 3Dnow switches.
2962         (VALID_MMX_REG_MODE_3DNOW): New macro.
2963         (VECTOR_MODE_SUPPORTED_P): Use it.
2964         (enum ix86_builtins): Add entries for 3Dnow builtins.
2965         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
2966         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
2967         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
2968         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
2969         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
2970         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
2971         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
2972         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
2973         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
2974         sfence_insn, prefetch): Make these available if TARGET_SSE or
2975         TARGET_3DNOW_A.
2977 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
2979         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
2980         ix86_va_start, ix86_build_va_list): Declare.
2981         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
2982         ix86_va_start, ix86_build_va_list): New global functions.
2983         * i386.md (sse_prologue_save_insn): New insn.
2984         (sse_prologue_save): New expander.
2985         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
2986         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
2988 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
2990         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
2991         Use size_t everywhere, make definitions consistent with
2992         prototypes.
2994 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
2996         * gcse.c (replace_store_insn): Use delete_insn.
2997         * loop.c (move_movables): Likewise; avoid delete_insn
2998         from clobbering notes moved elsewhere.
2999         (check_dbra_loop): Use delete_insn.
3000         * ssa.c (convert_from_ssa): Likewise.
3001         * cse.c (cse_insn): Use delete_insn.
3003 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
3005         * cpphash.h (struct cpp_buff): Make unsigned.
3006         (_cpp_get_buff): Take length of size_t.
3007         (_cpp_unaligned_alloc): New.
3008         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
3009         (struct cpp_reader): Remove ident_pool.  Add u_buff.
3010         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
3011         (cpp_destroy): Destroy u_buff, not ident_pool.
3012         * cpplex.c (parse_number, parse_string, save_comment,
3013         cpp_token_as_text): Update to use the unaligned buffer.
3014         (new_buff): Make unsigned.
3015         (_cpp_unaligned_alloc): New.
3016         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
3017         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
3018         Similarly.
3019         (collect_args): Make unsigned.
3021 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
3023         * cpplex.c (cpp_output_token): Use a putc loop for
3024         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
3026         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
3027         * configure, config.in: Regenerate.
3028         * system.h: Replace fwrite and fprintf with their unlocked
3029         variants if available.
3031 2001-09-27  Richard Henderson  <rth@redhat.com>
3033         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
3034         in favour of .eh_frame.
3036 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
3038         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
3039         to macros.
3040         (LIBCALL_VALUE): Likewise.
3042 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
3044         * cpphash.h: Update comment.
3045         * cpplex.c: Update comments.
3046         (_cpp_can_paste): Remove.
3047         * cpplib.h (_cpp_can_paste): Remove.
3048         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
3049         lexer rather than _cpp_can_paste.
3051 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
3053         * doc/cppinternals.texi: Update.
3055 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
3057         * cpphash.h (struct cpp_pool): Remove locks and locked.
3058         (struct cpp_context): Add member buff.
3059         (struct cpp_reader): Remove member argument_pool.
3060         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
3061         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
3062         * cpplex.c (chunk_suitable): Remove pool argument.
3063         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
3064         (new_buff, _cpp_extend_buff): Update.
3065         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
3066         which buffer is returned.
3067         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
3068         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
3069         * cppmacro.c (lock_pools, unlock_pools): Remove.
3070         (push_ptoken_context): Take a _cpp_buff.
3071         (enter_macro_context): Pool locking removed.
3072         (replace_args): Use a _cpp_buff for the replacement list with
3073         arguments replaced.
3074         (push_token_context): Clear buff.
3075         (expand_arg): Use _cpp_pop_context.
3076         (_cpp_pop_context): Free a context's buffer, if any.
3078 2001-09-26  DJ Delorie  <dj@redhat.com>
3080         * c-typeck.c (digest_init): Check for sizeless arrays.
3082 2001-09-26  Richard Henderson  <rth@redhat.com>
3084         * optabs.c (init_one_libfunc): Create a dummy function type
3085         instead of using error_mark_node.
3087 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
3089         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
3090         _cpp_extend_buff, _cpp_free_buff): New.
3091         (struct cpp_reader): New member free_buffs.
3092         * cppinit.c (cpp_destroy): Free buffers.
3093         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
3094         _cpp_extend_buff, _cpp_free_buff): New.
3095         * cpplib.h (struct cpp_options): Remove unused member.
3096         * cppmacro.c (collect_args): New.  Combines the old parse_arg
3097         and parse_args.  Use _cpp_buff for memory allocation.
3098         (funlike_invocation_p, replace_args): Update.
3100 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
3102         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
3104 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
3106         * except.c (sjlj_mark_call_sites): Change address inside sequence.
3108 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
3110         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
3111         glibc.
3113 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
3114             Jim Wilson  <wilson@redhat.com>
3116         * doc/install.texi (Specific, ia64-*-linux): Document.
3118 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
3120         * Makefile.in (cfgrtl.o): Add.
3121         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
3122         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
3123         free_aux_for_edge): Declare.
3124         * cfg.c
3125         (HAVE_return): Undefine.
3126         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
3127         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
3128         free_aux_for_edge): New global functions.
3129         (first_delete_block): New static variable.
3130         (init_flow): Clear first_delete_block.
3131         (basic_block_for_insn, label_value_list, tail_recursion_label_list,
3132          can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
3133          try_redirect_by_replacing_jump, last_loop_beg_note,
3134          back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
3135          delete_insn, delete_insn_chain, create_basic_block_structure,
3136          create_basic_block, flow_delete_block, compute_bb_for_insn,
3137          free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
3138          set_block_for_new_insns, split_block, merge_blocks_nomove,
3139          block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
3140          redirect_edge_and_branch, force_nonfallthru_and_redirect,
3141          force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
3142          tidy_fallthru_edges, split_edge, insert_insn_on_edge,
3143          commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
3144          debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
3145          purge_all_dead_edges): Move to ....
3146         * cfgrtl.c: New file; .... Here.
3148         * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
3149         (reroder_basic_block): Use alloc_aux_for_blocks.
3150         * predict.c (estimate_bb_frequencies): Likewise; use
3151         alloc_aux_for_edges.
3152         * profile.c (compute_branch_probabilities): Likewise.
3153         (branch_prob): Likewise.
3154         * reg-stack.c (reg_to_stack): Likewise.
3156         * emit-rtl.c (emit_insns_after): Never return NULL.
3158         * basic-block.h (set_block_for_new_insns): Delete.
3159         * cfgrtl.c (set_block_for_new_insns): Delete.
3161         * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
3162         calls when crossjumping.
3164         * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
3165         * unroll.c (copy_loop_body): Use delete_insn.
3167         * final.c (final, final_scan_insn): Use delete_insn/delete_note.
3168         * function.c (fixup_var_refs_insn, fixup_var_refs_1,
3169         keep_stack_depressed): Likewise.
3170         * gcse.c (cprop_cc0_jump): Likewise.
3171         * local-alloc.c (update_equiv_regs): Likewise.
3172         * loop.c (scan_loop, loop_delete_insns): Likewise.
3173         * regmove.c (try_auto_increment, fixup_match_1): Likewise.
3174         * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
3175         delete_output_reload, delete_address_reloads_1,
3176         reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
3177         Likewise.
3178         * sibcall.c (replace_call_placeholder): Likewise.
3179         * cse.c (cse_insn): Likewise.
3181 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
3183         From Graham Stott  <grahams@redhat.com>
3184         (def_builtin): Only define builtins appropriate for target_flags.  All
3185         callers changed.
3186         (builtin_decsription): Add new field mask which is used to determine
3187         when to define the builtin via the macro def_builtin.
3189         (bdesc_comi): Initialise new mask fields.
3190         (bdesc_2srg): Likewise.
3191         (bdesc_1arg): Likewise.
3193         * config/i386/i386.c (ix86_init_builtins): Correct return type
3194         building v4hi_ftype_v4hi_int_int tree node.
3195         (ix86_expand_sse_comi): Fix typo swapping operands.
3196         Don't swap comparision condition, it is already swapped.
3197         (ix86_expand_sse_compare): Before swapping operands
3198         move operand 1 into new rtx and not the target rtx.
3199         Don't swap comparison condition, it is already swapped.
3200         Always check whether we need to create a new TARGET.
3202         * config/i386/i386.md: (sse_comi) Fix typos.
3203         (sse_ucomi): Likewise.
3204         (cvtss2si): Fix operand 0 contraint.
3205         (cvttss2si): Likewise.
3206         (sse_unpckhps): Fix mode for operand 2.
3207         (sse_unpcklps): Likewise.
3209 2001-09-25  Graham Stott  <grahams@redhat.com>
3211         * sibcall.c (skip_copy_to_return_value): Tighten return value
3212         copy check.
3214 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
3216         * rs6000.c (lwa_operand): Address must be word aligned.
3218 Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3220         * tree.c (type_hash_marked_p): Consider as marked if debug symbol
3221         number has been set.
3222         (type_hash_mark): Mark type itself.
3224 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
3226         * c-lex.c (cb_def_pragma): Update.
3227         (c_lex): Update, and skip padding.
3228         * cppexp.c (lex, parse_defined): Update, remove unused variable.
3229         * cpphash.h (struct toklist): Delete.
3230         (union utoken): New.
3231         (struct cpp_context): Update.
3232         (struct cpp_reader): New members eof, avoid_paste.
3233         (_cpp_temp_token): New.
3234         * cppinit.c (cpp_create_reader): Update.
3235         * cpplex.c (_cpp_temp_token): New.
3236         (_cpp_lex_direct): Add PREV_WHITE when parsing args.
3237         (cpp_output_token): Don't print leading whitespace.
3238         (cpp_output_line): Update.
3239         * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
3240         do_include_common, do_line, do_ident, do_pragma,
3241         do_pragma_dependency, _cpp_do__Pragma, parse_answer,
3242         parse_assertion): Update.
3243         (get_token_no_padding): New.
3244         * cpplib.h (CPP_PADDING): New.
3245         (AVOID_LPASTE): Delete.
3246         (struct cpp_token): New union member source.
3247         (cpp_get_token): Update.
3248         * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
3249         (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
3250         replace_args, quote_string, stringify_arg, parse_arg, next_context,
3251         enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
3252         _cpp_backup_tokens, _cpp_create_definition): Update.
3253         (push_arg_context): Delete.
3254         (padding_token, push_token_context, push_ptoken_context): New.
3255         (make_string_token, make_number_token): Update, rename.
3256         (cpp_get_token): Update to handle tokens as pointers to const,
3257         and insert padding appropriately.
3258         * cppmain.c (struct printer): New member prev.
3259         (check_multiline_token): Constify.
3260         (do_preprocessing, cb_line_change): Update.
3261         (scan_translation_unit): Update to handle spacing.
3262         * scan-decls.c (get_a_token): New.
3263         (skip_to_closing_brace, scan_decls): Update.
3264         * fix-header.c (read_scan_file): Update.
3266         * doc/cpp.texi: Update.
3268 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3270         * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
3271         leak by passing malloc'ed pointer to reconcat, not concat.
3273 2001-09-24  DJ Delorie  <dj@redhat.com>
3275         * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
3277 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
3279         * flow.c (delete_dead_jumptables): Delete jumptable if the only
3280         reference is from the literal pool.
3282 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
3284         * doc/install.texi (Final install): Request additional information
3285         in mail about successful builds.
3287 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3289         * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
3290         initial value of return pointer register instead of value in frame-20.
3291         Revise comments.
3293 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3295         * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
3296         (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
3297         the libcall if there isn't a referenced identifier for the symbol.
3299 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3301         * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
3302         non 64-bit machines.  Use these as a plabel for the trampoline.
3303         (TRAMPOLINE_SIZE): Adjust size for new words.
3304         (INITIALIZE_TRAMPOLINE): Initialize new words.
3305         (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
3306         pointer to the plabel in the trampoline.
3308 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3310         * pa.c (function_arg): Pass floating arguments in both general and
3311         floating registers in indirect (dynamic) calls when generating code
3312         for the 32 bit ABI and the HP assembler.
3314 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3316         * doc/install.texi: Markup fixes.
3317         Use Solaris 2, SunOS 4 as appropriate.
3318         (Specific, *-*-solaris2*): Explain this.
3319         Unconditionally warn against /usr/ucb tools.
3320         Remove Sun as warning, obsolete.
3321         Move X11 header bug workaround here, update patches.
3322         (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
3323         (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
3325 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
3327         * errors.h (warning, error, fatal, internal_error): Don't mark
3328         with ATTRIBUTE_PRINTF_n.
3329         * toplev.h (internal_error, fatal_io_error, warning, error,
3330         pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
3331         error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
3332         Likewise.
3334 Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3336         * function.c (pop_function_context_from): var_refs_queue
3337         and temp slots now in GC memory.
3338         (mark_function_status, free_after_compilation): Likewise;
3339         also struct function now in GC memory.
3340         (assign_stack_temp_for_type): struct temp_slot now in GC memory.
3341         (combine_temp_slots): Likewise.
3342         (schedule_fixup_var_refs): var_refs_queue now in GC memory.
3343         (prepare_function_start): Use GC memory for struct function.
3344         (mark_temp_slot): Deleted.
3345         (gcc_mark_struct_function): struct function now in GC memory.
3347         * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
3348         code for division, not modulus.
3350         * rtl.def (MEM): Remove obsolete part of comment.
3352 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
3354         * c-format.c (init_function_format_info): Check __builtin_printf
3355         and __builtin_fprintf even if -ffreestanding.  Check C99 functions
3356         in gnu89 mode.
3358 Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3360         * c-common.c (format_attribute_table): Remove decl.
3361         * tree.h (format_attribute_table, lang_attribute_table): New decls.
3362         (lang_attribute_common): Likewise.
3364         * function.c (fix_lexical_address): Use set_mem_alias_set.
3365         (expand_function_start): Likewise.
3366         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
3368         * varasm.c (output_constant): Fix unused variable warning.
3370         * attribs.c: New file, from c-common.c.
3371         (attribute_tables): Now four elements.
3372         (format_attribute_table, lang_attribute_common): New variables.
3373         (init_attributes): Reflect above changes.
3374         (handle_mode_attribute): Delete check for wider than uintmax.
3375         * c-common.c: Delete parts moved to attribs.c.
3376         (enum attrs): Deleted; unused.
3377         (c_format_attribute_table): New variable.
3378         (c_common_lang_init): Initialize format_attribute_table with it.
3379         * c-common.h (decl_attributes): Remove decl.
3380         * tree.h (decl_attribute): Move it to here.
3381         * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
3382         (attribs.o): New rule.
3384 2001-09-22  Andreas Jaeger  <aj@suse.de>
3386         * builtins.c (c_getstr): Remove unused variable.
3388 2001-09-21  Richard Henderson  <rth@redhat.com>
3390         * reload1.c (reload): Use delete_insn instead of splatting
3391         NOTE_INSN_DELETED.
3393 2001-09-21  Richard Henderson  <rth@redhat.com>
3395         * reload.c (push_secondary_reload): Don't check for "=" in output
3396         constraint after ""->ALL_REGS check.
3398 2001-09-21  Richard Henderson  <rth@redhat.com>
3400         * predict.c (expected_value_to_br_prob): Use pc_set.
3402         * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
3403         ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
3405 2001-09-21  Richard Henderson  <rth@redhat.com>
3407         * rtl.h (LCT_RETURNS_TWICE): New.
3408         * calls.c (emit_call_1): Set current_function_calls_setjmp for
3409         ECF_RETURNS_TWICE.
3410         (emit_library_call_value_1): Map LCT_RETURNS_TWICE
3411         to ECF_RETURNS_TWICE.
3412         * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
3413         call to setjmp.
3415         * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
3417         * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
3418         (JMP_BUF_SIZE): New.
3420 2001-09-21  Richard Henderson  <rth@redhat.com>
3422         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
3423         to R8_REGS.
3425 2001-09-21  Richard Henderson  <rth@redhat.com>
3427         * tree.def (FDESC_EXPR): New.
3428         * expr.c (expand_expr): Handle it.
3429         * varasm.c (initializer_constant_valid_p): Likewise.
3430         (output_constant): Likewise.
3431         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
3432         * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
3433         (ASM_OUTPUT_FDESC): New.
3434         * doc/tm.texi: Document the new macros.
3436 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
3438         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
3439         ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
3440         once merging is complete.
3442 Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3444         * integrate.c (allocate_initial_values): Eliminate unused arg warning.
3446 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
3448         * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
3449         that would be invalid after a merge.
3451 Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
3453         * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
3454         * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
3455         remove some labels.
3456         (flow_delete_insn): This one.
3457         (delete_insn_chain): Rename from ...; do not care labels.
3458         (flow_delete_insn_chain): ... this one.
3459         (flow_delete_block): Remove the insns one BB has been expunged.
3460         (merge_blocks_nomove): Likewise.
3461         (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
3462         updating BB boundaries.
3463         (tidy_fallthru_edge): Likewise.
3464         (commit_one_edge_insertion): Likewise.
3465         * cfgbuild.c (find_basic_block): Likewise.
3466         (find_basic_blocks_1): Likewise.
3467         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
3468         (try_crossjump_to_edge): Likewise.
3469         (try_optimize_cfg): Likewise.
3470         * cse.c (delete_trivially_dead_insns): Likewise.
3471         * df.c (df_insn_delete): Likewise.
3472         * doloop.c (doloop_modify): Use delete_related_insns.
3473         * emit-rtl.c (try_split): Likewise.
3474         (remove_insn): Update BB boundaries.
3475         * expect.c (connect_post_landing_pads): Use delete_related_insns.
3476         * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
3477         updating BB boundaries.
3478         (propagate_block_delete_insn): Likewise.
3479         (propagate_block_delete_libcall): Likewise.
3480         * function.c (delete_handlers): Use delete_related_insns.
3481         (thread_prologue_and_epilogue_insns): Likewise.
3482         * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
3483         * genpeep.c (gen_peephole): Use delete_related_insns.
3484         * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
3485         BB boundaries.
3486         (find_cond_trap): Likewise.
3487         * integrate.c (save_for_inline): Use delete_related_insns.
3488         (copy_insn_list): Likewise.
3489         * jump.c (pruge_linie_number_notes): Likewise.
3490         (duplicate_loop_exit_test): Likewise.
3491         (delete_computation): Likewise.
3492         (delete_related_insn): Rename from ...; use delete_insn
3493         (delete_insn): ... this one.
3494         (redirect_jump): Use delete_related_insns.
3495         * loop.c (scan_loop): Likewise.
3496         (move_movables): Likewise.
3497         (find_and_verify_loops): Likewise.
3498         (check_dbra_loop): Likewise.
3499         * recog.c (peephole2_optimize): Likewise.
3500         * reg-stack.c (delete_insn_for_stacker): Remove.
3501         (move_for_stack_reg): Use delete_insn.
3502         * regmove.c (combine_stack_adjustments_for_block): Likewise.
3503         * reload1.c (delete_address_reloads): Use delete_related_insns.
3504         (fixup_abnormal_edges): Use delete_insn.
3505         * recog.c (emit_delay_sequence): Use delete_related_insns.
3506         (delete_from-delay_slot): Likewise.
3507         (delete_scheduled_jump): likewise.
3508         (optimize_skip): Likewise.
3509         (try_merge_delay_insns): Likewise.
3510         (full_simple_delay_slots): Likewise.
3511         (fill_slots_from_thread): Likewise.
3512         (relax_delay_slots): Likewise.
3513         (make_return_insns): Likewise.
3514         (dbr_schedule): Likewise.
3515         * rtl.h (delete_insn): Rename to delete_related_insns.
3516         (delete_insn, delete_insn_chain): New prototypes.
3517         * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
3518         by df_insn_delete already.
3519         * ssa-dce.c (delete_insn_bb): Use delete_insn.
3520         * ssa.c (convert_from_ssa): Use delete_related_insns.
3521         * unroll.c (unroll_loop): Likewise.
3522         (calculate_giv_inc): Likewise.
3523         (copy_loop_body): Likewise.
3525         * i386-protos.h (ix86_libcall_value, ix86_function_value,
3526         ix86_function_arg_regno_p, ix86_function_arg_boundary,
3527         ix86_return_in_memory, ix86_function_value): Declare.
3528         * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
3529         new static valurables.
3530         (x86_64_reg_class): New enum
3531         (x86_64_reg_class_name): New array.
3532         (classify_argument, examine_argument, construct_container,
3533          merge_classes): New static functions.
3534         (optimization_options): Enable flag_omit_frame_pointer and disable
3535         flag_pcc_struct_return on 64bit.
3536         (ix86_libcall_value, ix86_function_value,
3537         ix86_function_arg_regno_p, ix86_function_arg_boundary,
3538         ix86_return_in_memory, ix86_function_value): New global functions.
3539         (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
3540         (function_arg_advance): Handle x86_64 passing conventions.
3541         (function_arg): Likewise.
3542         * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
3543         (RETURN_IN_MEMORY): Move offline.
3544         (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
3545         (FUNCTION_VALUE_REGNO_P): New macro.
3546         (FUNCTION_ARG_REGNO_P): Move offline.
3547         (struct ix86_args): Add maybe_vaarg.
3548         * next.h (FUNCTION_VALUE_REGNO_P): Delete.
3549         * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
3551 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
3553         * s390.md: Changed attributes for scheduling.
3554         * s390.c: (s390_adjust_cost, s390_adjust_priority)
3555         Changed scheduling
3557 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
3559         Table-driven attributes.
3560         * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
3561         config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
3562         config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
3563         config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
3564         config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
3565         config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
3566         doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
3567         tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
3568         * tree.h (struct tree_decl): Change machine_attributes to
3569         attributes.
3570         * doc/c-tree.texi: Document that all attributes are now attached
3571         to decls and types.
3572         * c-common.c (add_attribute, attrtab, attrtab_idx,
3573         default_valid_lang_attribute, valid_lang_attribute): Remove.
3574         (attribute_tables, attributes_initialized,
3575         c_common_attribute_table, default_lang_attribute_table): New
3576         variables.
3577         (handle_packed_attribute, handle_nocommon_attribute,
3578         handle_common_attribute, handle_noreturn_attribute,
3579         handle_unused_attribute, handle_const_attribute,
3580         handle_transparent_union_attribute, handle_constructor_attribute,
3581         handle_destructor_attribute, handle_mode_attribute,
3582         handle_section_attribute, handle_aligned_attribute,
3583         handle_weak_attribute, handle_alias_attribute,
3584         handle_no_instrument_function_attribute,
3585         handle_no_check_memory_usage_attribute, handle_malloc_attribute,
3586         handle_no_limit_stack_attribute, handle_pure_attribute): New
3587         functions.
3588         (init_attributes, decl_attributes): Rewrite to implement
3589         table-driven attributes.
3590         * c-common.h (enum attribute_flags): Move to tree.h.
3591         * c-format.c (decl_handle_format_attribute,
3592         decl_handle_format_arg_attribute): Rename to
3593         handle_format_attribute and handle_format_arg_attribute.  Update
3594         for table-driven attributes.
3595         * c-common.h (decl_handle_format_attribute,
3596         decl_handle_format_arg_attribute): Remove prototypes.
3597         (handle_format_attribute, handle_format_arg_attribute): Add
3598         prototypes.
3599         * c-decl.c (grokdeclarator): Handle attributes nested inside
3600         declarators.
3601         * c-parse.in (setattrs, maybe_setattrs): Remove.
3602         (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
3603         Update to handle nested attributes properly.
3604         (maybe_resetattrs, after_type_declarator,
3605         parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
3606         absdcl1_ea, direct_absdcl1): Update to handle nested attributes
3607         properly.
3608         (make_pointer_declarator): Update to handle nested attributes
3609         properly.
3610         * doc/extend.texi: Update documentation of limits of attributes
3611         syntax.  Warn about problems with attribute semantics in C++.
3612         * target.h (struct target): Remove valid_decl_attribute and
3613         valid_type_attribute.  Add attribute_table and
3614         function_attribute_inlinable_p.
3615         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
3616         TARGET_VALID_TYPE_ATTRIBUTE): Remove.
3617         (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
3618         Add.
3619         (TARGET_INITIALIZER): Update.
3620         * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
3621         definition.
3622         (function_attribute_inlinable_p): New function.  Check for the
3623         presence of any machine attributes before using
3624         targetm.function_attribute_inlinable_p.
3625         (function_cannot_inline_p): Update.
3626         * Makefile.in (integrate.o): Update dependencies.
3627         * doc/tm.texi: Update documentation of target attributes and
3628         example definition of TARGET_VALID_TYPE_ATTRIBUTE.
3629         * tree.c (default_valid_attribute_p, valid_machine_attribute):
3630         Remove.
3631         (default_target_attribute_table,
3632         default_function_attribute_inlinable_p): New.
3633         (lookup_attribute): Update comment to clarify handling of multiple
3634         attributes with the same name.
3635         (merge_attributes, attribute_list_contained): Allow multiple
3636         attributes with the same name but different arguments to appear in
3637         the same attribute list.
3638         * tree.h (default_valid_attribute_p): Remove prototype.
3639         (struct attribute_spec): New.
3640         (default_target_attribute_table): Declare.
3641         (enum attribute_flags): Move from c-common.h.  Add
3642         ATTR_FLAG_TYPE_IN_PLACE.
3643         (default_function_attribute_inlinable_p): Declare.
3644         * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
3645         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
3646         (TARGET_ATTRIBUTE_TABLE): Define.
3647         (vms_attribute_table): New.
3648         * config/arc/arc.c (arc_valid_decl_attribute): Remove.
3649         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
3650         (TARGET_ATTRIBUTE_TABLE): Define.
3651         (arc_attribute_table, arc_handle_interrupt_attribute): New.
3652         * config/arm/arm.c (arm_valid_type_attribute_p,
3653         arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
3654         Remove.
3655         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
3656         define.
3657         (TARGET_ATTRIBUTE_TABLE): Define.
3658         (arm_attribute_table, arm_handle_fndecl_attribute,
3659         arm_handle_isr_attribute): New.
3660         * config/avr/avr.c (avr_valid_type_attribute,
3661         avr_valid_decl_attribute): Remove.
3662         (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
3663         define.
3664         (TARGET_ATTRIBUTE_TABLE): Define.
3665         (avr_attribute_table, avr_handle_progmem_attribute,
3666         avr_handle_fndecl_attribute): New.
3667         * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
3668         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
3669         (TARGET_ATTRIBUTE_TABLE): Define.
3670         (c4x_attribute_table, c4x_handle_fntype_attribute): New.
3671         * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
3672         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
3673         (TARGET_ATTRIBUTE_TABLE): Define.
3674         (h8300_attribute_table, h8300_handle_fndecl_attribute,
3675         h8300_handle_eightbit_data_attribute,
3676         h8300_handle_tiny_data_attribute): New.
3677         * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
3678         i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
3679         Remove prototypes.
3680         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
3681         declarations.
3682         * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
3683         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
3684         define.
3685         (TARGET_ATTRIBUTE_TABLE): Define.
3686         (ix86_attribute_table, ix86_handle_cdecl_attribute,
3687         ix86_handle_regparm_attribute): New.
3688         * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
3689         i386_pe_valid_type_attribute_p): Remove.
3690         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
3691         * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
3692         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
3693         (TARGET_ATTRIBUTE_TABLE): Define.
3694         (ia64_attribute_table): New.
3695         * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
3696         interrupt_ident2, model_ident1, model_ident2): Remove.
3697         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
3698         (TARGET_ATTRIBUTE_TABLE): Define.
3699         (init_idents): Update.
3700         (m32r_attribute_table, m32r_handle_model_attribute): New.
3701         * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
3702         Remove.
3703         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
3704         (TARGET_ATTRIBUTE_TABLE): Define.
3705         (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
3706         * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
3707         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
3708         (TARGET_ATTRIBUTE_TABLE): Define.
3709         (mcore_attribute_table, mcore_handle_naked_attribute): New.
3710         * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
3711         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
3712         (TARGET_ATTRIBUTE_TABLE): Define.
3713         (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
3714         * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
3715         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
3716         (TARGET_ATTRIBUTE_TABLE): Define.
3717         (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
3718         * config/sh/sh.c (sh_valid_decl_attribute): Remove.
3719         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
3720         (TARGET_ATTRIBUTE_TABLE): Define.
3721         (sh_attribute_table, sh_handle_interrupt_handler_attribute,
3722         sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
3723         New.
3724         * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
3725         Remove.
3726         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
3727         (TARGET_ATTRIBUTE_TABLE): Define.
3728         (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
3729         New.
3730         * config/v850/v850.c (v850_valid_decl_attribute): Remove.
3731         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
3732         (TARGET_ATTRIBUTE_TABLE): Define.
3733         (v850_attribute_table, v850_handle_interrupt_attribute,
3734         v850_handle_data_area_attribute): New.
3735         * config/v850/v850-c.c (mark_current_function_as_interrupt):
3736         Return void.  Call decl_attributes instead of
3737         valid_machine_attribute.
3739 Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
3741         * sh-protos.h (sh_pr_n_sets): Declare.
3742         * sh.c (calc_live_regs): If the initial value for PR has been copied,
3743         look at the copy to determine if PR needs to be saved.
3744         sh_pr_n_sets: New function.
3745         * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
3746         (ALLOCATE_INITIAL_VALUE): Define.
3748         * sh.c (initial_elimination_offset):
3749         Fix RETURN_ADDRESS_POINTER_REGNUM case.
3751 Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
3753         * integrate.c (allocate_initial_values): New function.
3754         * integrate.h (allocate_initial_values): Declare.
3755         * local-alloc.c (local_alloc): Move call to allocate_reg_info from
3756         here...
3757         * reload1.c (reload): And initialization of reg_equiv_memory_loc
3758         from here...
3759         * toplev.c (rest_of_compilation): To here.
3760         Call allocate_initial_values.
3761         * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
3763 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3765         * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
3767 2001-09-20  DJ Delorie  <dj@redhat.com>
3769         * c-typeck.c (really_start_incremental_init): Discriminate
3770         between zero-length arrays and flexible arrays.
3771         (push_init_level): Detect zero-length arrays and handle them
3772         like fixed-sized arrays.
3773         * expr.c (store_constructor): Handle zero-length arrays and
3774         flexible arrays correctly.
3775         * doc/extend.texi: Update zero-length array notes.
3777 2001-09-20  Jim Wilson  <wilson@redhat.com>
3779         * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
3780         (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
3781         for issue port conflicts.
3782         (cycle_end_fill_slots): TYPE_L instructions take two slots.
3784 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
3786         * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
3787         on ia64.
3789 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3791         * fold-const.c (hashtab.h): Include.
3792         (int_const_binop): Remove FORSIZE arg and compute from type; all
3793         callers changed.
3794         Call size_int_type_wide for all single-word constants.
3795         (size_htab_hash, size_htab_eq): New functions.
3796         (size_int_type_wide): Rework to use hash table.
3797         * ggc-common.c (hashtab.h): Include.
3798         (struct d_htab_root): New struct.
3799         (d_htab_roots): New variable.
3800         (ggc_add_deletable_htab, ggc_htab_delete): New functions
3801         (ggc_mark_roots): Handle deletable htabs.
3802         * ggc-page.c (ggc_marked_p): New function.
3803         * ggc-simple.c (ggc_marked_p): Likewise.
3804         * ggc.h: Reformatting throughout.
3805         (ggc_marked_p, ggc_add_deletable_htab): New declarations.
3806         * tree.c (init_obstacks): Make type_hash_table a deletable root.
3807         (type_hash_add): Allocate struct type_hash from GC memory.
3808         (mark_hash_entry, mark_type_hash): Deleted.
3809         (type_hash_marked_p, type_hash_mark): New functions.
3810         * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
3812 Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
3814         * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
3815         than SImode.
3817 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3819         * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
3820         array-too-large test for signed sizetype.
3822 Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
3824         * i386.md (indirect_jump): Allow Pmode operand.
3825         (tablejump): LIkewise; perform expansion to 64bit mode.
3826         * i386.c (symbolic_operand): Allow 64bit PIC references.
3827         (pic_symbolic_operand): Likewise.
3828         (ix86_find_base_term): Strip the 64bit PIC references.
3829         (legitimate_pic_address_disp_p): Handle 64bit PIC.
3830         (legitimize_pic_address): Likewise.
3831         (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
3832         * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
3834 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
3836         * stringpool.c (get_identifier_with_length): New function.
3837         * tree.h (get_identifier_with_length): New prototype.
3839 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
3840             David Edelsohn  <edelsohn@gnu.org>
3842         Revert:
3843         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
3844         already sign-extended.
3846         * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
3847         * config/rs6000/rs6000.c (logical_operand): Always compare op as
3848         HOST_WIDE_INT.
3849         (rs6000_emit_set_long_const): Avoid unnecessary shift.
3850         (output_profile_hook): Declare label_name const.
3851         * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
3852         to match constraints.
3854 2001-09-19  Stan Shebs  <shebs@apple.com>
3856         * alias.c: Fix typos in comments.
3857         * sched-rgn.c (init_ready_list): Ditto.
3858         * unwind-dw2.c (uw_frame_state_for): Ditto.
3859         * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
3860         * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
3861         * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
3863 2001-09-19  Richard Henderson  <rth@redhat.com>
3865         * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
3866         to the exit block.
3867         * Makefile.in (cfg.o): Depend on TM_P_H.
3869 2001-09-19  Richard Henderson  <rth@redhat.com>
3871         * config/alpha/alpha.c (local_symbol_p): Split out from ...
3872         (local_symbolic_operand): ... here.
3873         (small_symbolic_operand): Check mode.
3874         (global_symbolic_operand): New.
3875         (input_operand): Reject symbolics if explicit relocs.
3876         (call_operand): Tidy.
3877         (alpha_legitimize_address): Use movdi_er_high_g.
3878         (alpha_expand_mov): Likewise.
3879         * config/alpha/alpha-protos.h: Update.
3880         * config/alpha/alpha.h (PREDICATE_CODES): Update.
3881         * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
3882         (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
3883         (UNSPECV_LDGP2): Remove.
3884         (all call patterns): Use 's' not 'i' for symbolic constraint.
3885         (call_osf call_value_osf): Use call_operand.
3886         (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
3887         (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
3888         (prologue_ldgp_1_er): Remove.
3889         (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
3890         (builtin_setjmp_receiver_er patterns): Use them.
3891         (exception_receiver_er): Likewise.
3893 2001-09-19  Richard Henderson  <rth@redhat.com>
3895         * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
3897         * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
3898         and NON_LOCAL_GOTO notes.
3899         * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
3900         copy over CALL_INSN_FUNCTION_USAGE.
3902 2001-09-18  Catherine Moore  <clm@redhat.com>
3904         * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
3905         Define as 0.
3907 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
3909         * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
3910         new-style tm_file specification.  Specify correct tm_p_file,
3911         md_file, and out_file for s390x.
3913         * config/s390/linux.h, linux64.h:  Don't include other target
3914         macro header files.  Now handled via tm_file.
3916         * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
3917         TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
3918         are defined before use.
3920 Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
3922         * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
3923         code generation only for Gnu assembler.
3925 2001-09-18  Catherine Moore  <clm@redhat.com>
3927         * config/stormy16 (LIB_SPEC): Remove -lnosys.
3929 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
3931         * config/mips/mips.c (mips_frame_set): New.
3932         (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
3933         a parallel frame-related expression with a set for each register.
3935 2001-09-18  Philip Blundell  <philb@gnu.org>
3937         * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
3938         header files.
3940 2001-09-17  Dale Johannesen  <dalej@apple.com>
3942         * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
3943         * config/rs6000/aix.h (FIXED_R2): Define.
3944         * config/rs6000/darwin.h (FIXED_R2): Define.
3945         * config/rs6000/sysv4.h (FIXED_R2): Define.
3947 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
3949         * except.c (dw2_build_landing_pads): New local
3950         clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
3951         barrier after clobbers.  Fixes c++/4012.
3953 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3955         * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
3957 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
3959         * dostage2, dostage3, listing, make-l2.com, makefile.vms,
3960         patch-apollo-includes, vmsconfig.com: Remove obsolete files.
3962 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3964         * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
3965         alloca/strcpy.
3967 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
3969         * cpphash.h (_cpp_lex_direct): New.
3970         * cpplex.c (_cpp_lex_token): Update.
3971         (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
3972         and increment that pointer.
3973         * cppmacro.c (alloc_expansion_token): New.
3974         (lex_expansion_token): Lex macro expansion directly into
3975         macro storage.
3977 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
3979         * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
3981 Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
3983         * basic-block.h (free_bb_for_insn): Declare.
3984         * bb-reorder.c (label_for_bb): Use block_label.
3985         (emit_jump_to_block_after): Remove.
3986         (insert_intra_1): Do not update block_for_insn.
3987         (insert_inter_bb_scope_notes): Likewise; update bb->end
3988         * cfg.c (free_bb_for_insn): New.
3989         (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
3990         (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
3991         (commit_one_edge_insertion): Likewise.
3992         (commit_one_edge_insertion): Do not update BB boundary.
3993         (commit_edge_insertions): Do not call compute_bb_for_insn.
3994         * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
3995         * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
3996         (merge_blocks_move_successor_nojumps): Likewise.
3997         (try_crossjump_to_edge): Do not update block_for_insn.
3998         * combine.c (combine_instructions): Remove compute_bb_for_insn call.
3999         * df.c (df_pattern_emit_later): Do not update BB boundary.
4000         (df_jump_pattern_emit_after): Likewise.
4001         (df_insn_move_before): Use emit_insn_before.
4002         * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
4003          properly.
4004         (add_insn_after, add_insn_before, emit_insns_after): Update BB
4005         boundaries and basic_block_for_insn.
4006         (reorder_insns_nobb): Rename from reorder_insns.
4007         (reorder_insns): New.
4008         (emit_block_insn_before, emit_block_insn_after): Kill.
4009         * flow.c (check_function_return_warnings): Do not call
4010         compute_bb_for_insn; Do not free basic_block_for_insn.
4011         (attempt_auto_inc): Do not update basic_block_for_insn.
4012         * function.c (emit_return_into_block): Likewise;
4013         do not update BB boundaries.
4014         * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
4015         (insert_insn_end_bb): Use emit_insn_before; Likewise.
4016         (pre_insert_copy_insn): Likewise.
4017         (update_ld_motion_notes): Likewise.
4018         (insert_insn_start_bb): Likewise.
4019         (replace_store_insn): Likewise.
4020         * ifcvt.c (noce_process_if_block): Likewise.
4021         (if_convert): Do not call compute_bb_for_insn.
4022         * lcm.c (optimize_mode_switching): Do not update BB boundaries.
4023         Use emit_insn_before and emit_insn_after.
4024         * recog.c (split_all_insns): Do not update BB boundaries;
4025         Do not call compute_bb_for_insn.
4026         (peephole2_optimize): Do not update BB boundaries.
4027         * reg-stack.c (emit_pop_insn): Use emit_insn_after and
4028         emit_insn_before.
4029         (emit_swap_insn): Likewise.
4030         (convert_regs_1): Likewise.
4031         * reload1.c (reload): Call compute_bb_for_insn.
4032         * rtl.h (reorder_insns_nobb): Declare.
4033         * ssa.c (rename_equivalent_regs): Use emit_insn_before.
4034         * toplev.c (rest_of_compilation): Call free_bb_for_insn
4035         at places CFG is invalidated; do not call compute_bb_for_insn.
4037         * cfg.c (expunge_block): Invalidate BB structure.
4039         * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
4040         array.
4042         * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
4044 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
4046         * cpphash.h (_cpp_lex_token): Update prototype.
4047         * cpplex.c (_cpp_lex_token): New prototype.
4048         * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
4049         lex_macro_node, read_flag, do_pragma_poison): Update.
4050         * cppmacro.c (cpp_get_token, parse_params,
4051         lex_expansion_token): Update.
4053 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
4055         * cppmain.c (scan_translation_unit): Don't worry about
4056         putting a space after hashes.
4057         * cpplib.c (directive_diagnostics): New.
4058         (_cpp_handle_directive): Update to use directive_diagnostics.
4059         (run_directive): Don't toggle prevent_expansion.
4060         (do_line): Backup in case of the line extension.
4061         * cpplib.h (cpp_lexer_pos): Remove.
4062         * cppmacro.c (_cpp_create_definition): Precede a leading #
4063         with whitespace.
4065 2001-09-15  Richard Henderson  <rth@redhat.com>
4067         * c-typeck.c (comptypes): Handle zero-length arrays properly.
4069 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
4071         * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
4073 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4075         PR preprocessor/3571
4076         * tradcpp.c (handle_directive): Skip non-vertical space.
4078 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4080         * cppmain.c (setup_callbacks): Set line callback only
4081         if outputting preprocessed source.
4083 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4085         * collect2.c (main): Const-ification.
4086         * gcc.c (translate_options, process_command): Use xstrdup in
4087         lieu of xmalloc/strcpy.
4088         (main): Use concat in lieu of xmalloc/strcpy/strcat.
4090 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
4092         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
4093         example.
4095 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4097         * scan-decls.c (scan_decls): Fix typo.
4099 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4101         * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
4102         Split mlstring_pos into mls_line and mls_col.
4103         * cppinit.c (cpp_create_reader): Initialize line to 1.
4104         (cpp_destroy): Free tokenruns.
4105         (push_include): Don't update lexer_pos.
4106         * cpplex.c (unterminated, parse_string): Update.
4107         (lex_token): Don't update lexer_pos, update.
4108         * cpplib.c (if_stack): Save line instead of line + col.
4109         (start_directive, _cpp_do__Pragma, do_else, do_elif,
4110         push_conditional, _cpp_pop_buffer): Update.
4111         * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
4112         (_cpp_create_definition): Update.
4114 2001-09-15  Eric Christopher  <echristo@redhat.com>
4116         * config/mips/abi64.h: Add support for MEABI.
4118 2001-09-15  Eric Christopher  <echristo@redhat.com>
4120         * config/mips/mips.md: Add unspec #2.
4121         (reload_indi): Use.
4122         (reload_outdi): Ditto.
4123         (reload_outsi): Ditto.
4124         (HILO_delay): New.
4126 2001-09-15  Eric Christopher  <echristo@redhat.com>
4127             Jason Eckhardt  <jle@redhat.com>
4129         * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
4130         * config/mips/isa32-linux.h: New file.
4131         * config/mips/isa3264.h: Ditto.
4132         * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
4133         * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
4134         (output_block_mode): Support MEABI.
4135         (function_arg): Ditto. Fix floating point arg passing.
4136         (mips_va_start): Ditto.
4137         (override_options): Add isas 32 and 64, meabi, mips32 and mips64
4138         processors.
4139         (mips_asm_file_start): Add new section to pass abi to gdb.
4140         (function_arg_pass_by_reference): Support MEABI.
4141         (mips_parse_cpu): Support mips32 and mips64 processors.
4142         * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
4143         TARGET_MIPS5KC.  Support isa32 and isa64.
4144         (processor_type): Add r4kc, r5kc, r20kc.
4145         (GENERATE_MULT3_SI): New.
4146         (GENERATE_MULT3_DI): Ditto.
4147         (GENERATE_MULT3): Remove.
4148         (ISA_HAS_64BIT_REGS): Add isa == 64.
4149         (ISA_HAS_8CC): Add mips_isa = 32 and 64.
4150         (ISA_HAS_MADD_MSUB): New.
4151         (ISA_HAS_CLZ_CLO): Ditto.
4152         (ISA_HAS_DCLZ_DCLO): Ditto.
4153         (ABI_GAS_ASM_SPEC): New.
4154         (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
4155         (ASM_SPEC): Ditto.
4156         (LINK_SPEC): Ditto.
4157         (SUBTARGET_CC1_SPEC): Ditto.
4158         (SUBTARGET_CPP_SIZE_SPEC): Ditto.
4159         (PAD_VARARGS_DOWN): Support MEABI.
4160         (HARD_REGNO_NREGS): Move to mips.c.
4161         (ASM_OUTPUT_IDENT): Add #undef.
4162         * config/mips/mips.md: Add r4kc, r5kc, r20kc.
4163         (mulsi3): Use GENERATE_MULT3_SI.
4164         (mulsi3_mult3): Ditto.  Support mips32, mips64.
4165         (mul_acc_si): Use ISA_HAS_MADD_MSUB.
4166         (mul_sub_si): New pattern.
4167         (unnamed splitters): New.
4168         (muldi3): Use GENERATE_MULT3_DI.
4169         (muldi3_internal2): Ditto.
4170         (movdicc): Support mips32.
4171         * config/mips/t-isa3264: New file.
4173 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
4175         * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
4176         || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
4177         || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
4179         * reorg.c (fill_slots_from_thread): After call to
4180         steal_delay_list_from_target, update own_thread as new_thread may
4181         have branched.
4183 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
4185         * cpperror.c (print_location): Take line and column, for
4186         default positioning use the previously lexed token.
4187         (_cpp_begin_message): Take line and column.
4188         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
4189         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
4190         * cpphash.h (_cpp_begin_message): Update prototype.
4191         * cppinit.c (push_include): Don't set output line.
4192         * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
4193         * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
4194         (do_pragma): Kludge for front ends.  Don't expand macros at all.
4195         * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
4196         (struct cpp_token): Remove output_line.
4197         (struct cpp_callbacks): New member line_change.
4198         * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
4199         cpp_get_token): Preserve BOL flag.
4200         (cpp_get_line): Remove.
4201         (_cpp_backup_tokens): Remove useless abort().
4202         * cppmain.c (cb_line_change): New.
4203         (scan_translation_unit): Don't worry about starting new lines here.
4204         * scan-decls.c (scan_decls): Update.
4205         * c-lex.c (c_lex, init_c_lex): Update.
4206         (cb_line_change, src_lineno): New.
4208 Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
4210         * tree.c (append_random_chars): Generate the random
4211         characters in a reproducable fashion.
4213 2001-09-14  Richard Henderson  <rth@redhat.com>
4215         * config/i386/i386.c (internal_label_prefix): New.
4216         (internal_label_prefix_len): New.
4217         (override_options): Set them.
4218         (local_symbolic_operand): New.
4219         (legitimate_pic_address_disp_p): Use it.
4220         (legitimize_pic_address): Likewise.
4222 2001-09-14  Marc Espie <espie@openbsd.org>
4224         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
4225         correctly.
4227 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
4229         * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
4230         * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
4232 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
4234         * rtlanal.c (subreg_regno_offset): Add semicolon to end of
4235         invocation of SUBREG_REGNO_OFFSET.
4237         * haifa-sched.c: Fix typo in FSF copyright statement.
4238         * sched-deps.c: Fix typo in FSF copyright statement.
4239         * sched-ebb.c: Fix typo in FSF copyright statement.
4240         * sched-rgn.c: Fix typo in FSF copyright statement.
4241         * sched-vis.c: Fix typo in FSF copyright statement.
4243         * config.gcc: Move inclusion of arm elf specific header files
4244         from the files themselves into the tm_file variable.  Make
4245         sure that elfos.h is included before target specific elf
4246         headers.
4247         * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
4248         already defined.
4249         (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
4250         * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
4251         ASM_OUTPUT_CASE_LABEL): Protect definition.
4252         (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
4253         not already defined.
4254         * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
4255         LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
4256         Remove duplicate definition.
4257         (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
4258         (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
4259         (RDATA_SECTION_FUNCTION): Remove redundant definition.
4260         (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
4261         Remove inclusion of arm/elf.h.
4262         * config/arm/unknown-elf.h: as for conix-elf.h.
4263         (STARTFILE_SPEC): Include crti.o and crtn.o.
4264         * config/arm/linux-elf.h: as for conix-elf.h.
4265         * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
4266         * config/arm/strongarm-elf.h: Remove inclusion of
4267         unknown-elf.h.
4268         * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
4269         * config/arm/unknown-elf-oabi.h: Remove inclusion of
4270         unknown-elf.h and elf.h.
4271         * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
4272         * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
4273         ASM_WEAKEN_LABEL): Remove redundant definition.
4274         * config/arm/elf.h: Test for inclusion of elfos.h
4275         (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
4276         ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
4277         SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
4278         EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
4279         redundant definition.
4280         (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
4281         ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
4282         ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
4283         * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
4284         Add rules to build crti.o and crtn.o
4285         * crti.asm: New file.
4286         * crtn.asm: New file.
4288 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
4290         * c-parse.in (_yylex): Use _cpp_backup_tokens.
4291         * cpphash.h (struct tokenrun): Add prev.
4292         (struct lexer_state): Remove bol.
4293         (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
4294         (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
4295         : Remove.
4296         * cppinit.c (cpp_create_reader): Don't set bol.
4297         (cpp_destroy): Don't free lookaheads.
4298         * cpplex.c (lex_directive): Remove.
4299         (next_tokenrun): Update.
4300         (_cpp_lex_token): Clean up logic.
4301         (lex_token): Update to return a pointer to lexed token, since it
4302         can move to the start of the buffer.  Simpify newline handling.
4303         * cpplib.c (SEEN_EOL): Update.
4304         (skip_rest_of_line): Remove lookahead stuff.
4305         (end_directive): Line numbers are already incremented.  Revert
4306         to start of lexed token buffer if we can.
4307         (_cpp_handle_directive, do_pragma, do_pragma_dependency,
4308         parse_answer): Use _cpp_backup_tokens.
4309         (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
4310         instead.  Don't check for EOL.
4311         (do_include_common, do_line, do_pragma_system_header): Use
4312         skip_rest_of_line.
4313         * cpplib.h (BOL, _cpp_backup_tokens): New.
4314         * cppmacro.c (save_lookahead_token, take_lookahead_token,
4315         alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
4316         cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
4317         (builtin_macro): Don't use cpp_get_line.
4318         (cpp_get_line): Short term kludge.
4319         (parse_arg): Handle directives in arguments here.  Back up when
4320         appropriate.  Store EOF at end of argument list.
4321         (funlike_invocation_p): Use _cpp_backup_tokens.
4322         (push_arg_context): Account for EOF at end of list.
4323         (cpp_get_token): Remove lookahead stuff.  Update.
4325 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4327         * c-parse.in (yyerror): Const-ification and/or static-ization.
4328         * c-typeck.c (push_member_name): Likewise.
4329         * collect2.c (main): Likewise.
4330         * dbxout.c (dbxout_parms): Likewise.
4331         * diagnostic.c (format_with_decl): Likewise.
4332         * dwarf2out.c (output_ranges): Likewise.
4333         * dwarfout.c (fundamental_type_code): Likewise.
4334         * except.c (dw2_output_call_site_table): Likewise.
4335         * gcc.c (do_spec_1): Likewise.
4336         * genopinit.c (optabs): Likewise.
4337         * objc/objc-act.c (synth_id_with_class_suffix, start_class,
4338         gen_declaration_1, handle_impent): Likewise.
4339         * protoize.c (default_include, in_system_include_dir, abspath):
4340         Likewise.
4341         * sched-vis.c (visualize_stall_cycles): Likewise.
4342         * sdbout.c (plain_type_1, sdbout_end_function,
4343         sdbout_end_epilogue): Likewise.
4344         * varasm.c (decode_reg_name): Likewise.
4346         * 1750a.c (mod_regno_adjust): Likewise.
4347         * alpha.c (alpha_write_one_linkage,
4348         unicosmk_output_default_externs): Likewise.
4349         * arm.c (arm_condition_codes): Likewise.
4350         * arm.h (arm_condition_codes): Likewise.
4351         * avr.c (output_movsisf, encode_section_info): Likewise.
4352         * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
4353         Likewise.
4354         * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
4355         * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
4356         * m88k.c (output_function_profiler): Likewise.
4357         * mips.c (mips_output_conditional_branch): Likewise.
4358         * ns32k.c (ns32k_out_reg_names): Likewise.
4359         * ns32k.h (ns32k_out_reg_names): Likewise.
4360         * pj.c (pj_output_rval): Likewise.
4361         * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
4362         * sparc.c (sparc_flat_function_prologue,
4363         sparc_flat_function_epilogue): Likewise.
4365 2001-09-13  Markus Werle <numerical.simulation@web.de>
4366             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4368         * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
4369         Aachen University of Technology".
4371 2001-09-13  Andreas Schwab  <schwab@suse.de>
4373         * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
4374         C99.
4376 2001-09-13  Richard Henderson  <rth@redhat.com>
4378         * config/alpha/alpha.c (small_symbolic_operand): New.
4379         (override_options): Set MASK_SMALL_DATA based on pic/PIC.
4380         (some_operand, input_operand): Don't handle HIGH.
4381         (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
4382         (alpha_expand_mov): Likewise.
4383         (print_operand) [H]: Just print HIGH symbol.
4384         (print_operand_address): Handle small data.
4385         * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
4386         (TARGET_SWITCHES): Add -msmall-data/large-data.
4387         (PIC_OFFSET_TABLE_REGNUM): New.
4388         (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
4389         (PREDICATE_COES): Update.
4390         * config/alpha/alpha.md (adddi_er_high): New.
4391         (adddi_er_low): Handle small data.
4392         * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
4393         prefer .sdata to .rodata.
4394         (SELECT_RTX_SECTION): Likewise.
4396 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
4398         * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
4399         defining __size_t and leaving size_t undefined.
4401 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
4403         * basic-block.h (expunge_block): Declare.
4404         * cfg.c (expunge_block): Remove static declaration.
4406 2001-09-12  Richard Henderson  <rth@redhat.com>
4408         * integrate.c (copy_insn_list): Copy label name from
4409         NOTE_INSN_DELETED_LABEL.
4411 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4413         * c-common.c (c_tree_code_name): Const-ification.
4414         * c-decl.c (c_decode_option): Likewise.
4415         * c-typeck.c (warn_for_assignment): Likewise.
4416         * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
4417         Likewise.
4418         * cppinit.c (output_deps): Likewise.
4419         * dependence.c (dependence_string, direction_string): Likewise.
4420         * dwarf2out.c (output_ranges): Likewise.
4421         * fixinc/fixfixes.c (emit_gnu_type): Likewise.
4422         * fixinc/gnu-regex.c (re_error_msgid): Likewise.
4423         * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
4424         standard_startfile_prefix, standard_startfile_prefix_1,
4425         standard_startfile_prefix_2, tooldir_base_prefix,
4426         standard_bindir_prefix, find_a_file): Likewise.
4427         * genattrtab.c (make_length_attrs): Likewise.
4428         * gencheck.c (tree_codes): Likewise.
4429         * genemit.c (gen_split): Likewise.
4430         * genrecog.c (special_mode_pred_table): Likewise.
4431         * graph.c (graph_ext): Likewise.
4432         * protoize (default_include): Likewise.
4433         * reload.c (reload_when_needed_name): Likewise.
4434         * sched-vis.c (visualize_stall_cycles): Likewise.
4435         * tlink.c (recompile_files): Likewise.
4436         * toplev.c (decode_g_option): Likewise.
4437         * tradcpp.c (output_deps): Likewise.
4438         * varasm.c (decode_reg_name): Likewise.
4440         * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
4441         Const-ification.
4442         * arm.md: Likewise.
4443         * avr.c (avr_regnames, encode_section_info): Likewise.
4444         * c4x.c (float_reg_names): Likewise.
4445         * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
4446         * elfos.h (const_section): Likewise.
4447         * i386.c (ix86_comp_type_attributes): Likewise.
4448         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
4449         * ia64/aix.h (UNIQUE_SECTION): Likewise.
4450         * ia64.c (type_names): Likewise.
4451         * m68hc11.c (reg_class_names): Likewise.
4452         * m88k.c (m_options): Likewise.
4453         * mips.c (mips_output_conditional_branch, mips_unique_section):
4454         Likewise.
4455         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
4456         * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
4457         ultra_code_names): Likewise.
4458         * sparc.h (OVERRIDE_OPTIONS): Likewise.
4460 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
4462         * configure.in (gcc_cv_as_shf_merge): Fix a typo.
4463         Use --fatal-warnings option for gas.
4464         * configure: Rebuilt.
4466 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
4468         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
4470 2001-09-11  Jim Wilson  <wilson@redhat.com>
4472         * alias.c (clear_reg_alias_info): Only handle pseudo registers.
4474 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
4476         * builtins.c (c_strlen): Treat an offset too large for a
4477         HOST_WIDE_INT as out of range.
4479 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
4481         * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
4482         (EDGE_CRITICAL_P): New predicate.
4483         * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
4484         handling.
4485         (insert_insn_on_edge): Use EDGE_CRITICAL_P.
4486         (dump_edge_info): Remove "crit".
4487         * cfganal.c (mark_critical_edges): Kill.
4488         * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
4489         * cfgcleanup.c (cleanup_cfg): Likewise.
4490         * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
4491         (find_spanning_tree): Likewise.
4492         * reg-stack.c (convert_regs_1): Likewise.
4493         * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
4495         * basic-block.h (create_basic_block_structure): New.
4496         (create_basic_block): Update prototype.
4497         (force_nonfallthru): New.
4498         * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
4499         * cfg.c (create_basic_block_structure): Rename from create_basic_block;
4500         handle updating of block_for_insn, creating of empty BBs and BBs at
4501         the end of INSN chain.
4502         (create_basic_block): New function.
4503         (split_block): Use create_basic_block.
4504         (force_nonfallthru_and_redirect): Break out from ...; cleanup
4505         (redirect_edge_and_branch_force): ... here.
4506         (force_nonfallthru): New.
4507         (split_edge): Rewrite to use force_nonfallthru and create_block.
4508         * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
4509         (find_basic_blocks): Free basic_block_for_insn.
4510         * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
4512         * cfg.c: Fix formating.
4513         * cfgcleanup.c: Fix formating.
4514         (merge_blocks, tail_recursion_label_p): Return bool.
4515         (merge_blocks_move_predecessor_nojumps,
4516          merge_blocks_move_successor_nojumps): Return void.
4518 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
4520         * configure.in: Check whether assembler supports section merging.
4521         * config.in: Rebuilt.
4522         * configure: Rebuilt.
4523         * varasm.c (variable_section, output_constant_pool): Pass alignment
4524         to SELECT_SECTION and SELECT_RTX_SECTION.
4525         (mergeable_string_section): New.
4526         (mergeable_constant_section): New.
4527         (default_elf_asm_named_section): Output SECTION_MERGE and
4528         SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
4529         * output.h (mergeable_string_section): New.
4530         (mergeable_constant_section): New.
4531         (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
4532         * toplev.c (flag_merge_constants): New.
4533         (f_options): Add -fmerge-constants and -fmerge-all-constants
4534         options.
4535         (toplev_main): Default to -fno-merge-constants if not optimizing.
4536         * flags.h (flag_merge_constants): Add extern.
4537         * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
4538         * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
4539         argument.
4540         * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
4541         Define if assembler has working .subsection -1 support.
4542         (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
4543         Put constant into special SHF_MERGE sections if the linker should
4544         attempt to merge duplicates.
4545         * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
4546         macro argument.
4547         Put constant into special SHF_MERGE sections if the linker should
4548         attempt to merge duplicates.
4549         * config/alpha/elf.h: Likewise.
4550         (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
4551         has working .subsection -1 support.
4552         * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
4553         SELECT_SECTION.
4554         * config/svr3.h: Likewise.
4555         * config/darwin.h: Likewise.
4556         * config/arm/aof.h: Likewise.
4557         * config/arm/linux-elf.h: Likewise.
4558         * config/avr/avr.h: Likewise.
4559         * config/c4x/c4x.h: Likewise.
4560         * config/d30v/d30v.h: Likewise.
4561         * config/i386/dgux.h: Likewise.
4562         * config/i386/osfrose.h: Likewise.
4563         * config/i386/sco5.h: Likewise.
4564         * config/i386/svr3gas.h: Likewise.
4565         * config/ia64/aix.h: Likewise.
4566         * config/m32r/m32r.h: Likewise.
4567         * config/m68k/m68k.h: Likewise.
4568         * config/m88k/dgux.h: Likewise.
4569         * config/m88k/m88k.h: Likewise.
4570         * config/mcore/mcore-pe.h: Likewise.
4571         * config/mips/mips.h: Likewise.
4572         * config/pa/pa.h: Likewise.
4573         * config/pa/pa-linux.h: Likewise.
4574         * config/romp/romp.h: Likewise.
4575         * config/rs6000/sysv4.h: Likewise.
4576         * config/rs6000/xcoff.h: Likewise.
4577         * config/s390/linux.h: Likewise.
4578         * config/sparc/sparc.h: Likewise.
4579         * config/sparc/sysv4.h: Likewise.
4580         * config/stormy16/stormy16.h: Likewise.
4581         * config/v850/v850.h: Likewise.
4582         * config/vax/vms.h: Likewise.
4583         * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
4584         and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
4585         * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
4586         default_elf_asm_named_section for SHF_MERGE sections.
4588 Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
4590         * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
4591         is OK.
4593 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
4595         * c-common.c (split_specs_attrs): Allow for empty attributes with
4596         empty TREE_PURPOSE.  Fixes PR c/4294.
4598 Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
4600         * basic-block.h (cached_make_edge, make_single_succ): New.
4601         (make_edge): Remove first parameter.
4602         * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
4603         * cfg.c (cached_make_edge): Rename from make_edge; return newly
4604         created edge; use obstack allocation.
4605         (make_edge, make_single_succ_edge): New.
4606         (first_removed_edge): New static variable.
4607         (init_flow): Initialize first_removed_edge and n_edges.
4608         (clear_edges): Use remove_edge.
4609         (flow_delete_block): Likewise.
4610         (remove_edge): Add removed edges to the removed edges list.
4611         (split_block, redirect_edge_and_branch_force, split_edge):
4612         Use make_edge.
4613         * cfganal.c (flow_call_edges_add): Updaet make_edge call.
4614         (add_noreturn_fake_exit_edges): Likewise.
4615         (connect_infinite_loops_to_exit): Liekwise.
4616         * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
4617         Use cached_make_edge.
4618         * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
4619         * profile.c (branch_prob): Update make_edge call.
4620         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
4622 2001-09-11  Richard Henderson  <rth@redhat.com>
4624         * config/alpha/alpha.c: Tidy formatting.
4625         (local_symbolic_operand): Verify mode.
4626         (alpha_sa_mask): Ignore unicos for eh_return.
4627         (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
4628         * config/alpha/alpha.md (umk divsi patterns): Remove.
4629         (extendsfdf2): Remove unicos check.
4630         (tablejump): Merge vms and unicos code; always use direct set
4631         plus label_ref use.
4633 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
4635         * config.gcc (alpha*-*-unicosmk*): New target.
4637         * config/alpha/alpha-protos.h (symbolic_operand,
4638         unicosmk_add_call_info_word, unicosmk_add_extern,
4639         unicosmk_defer_case_vector, unicosmk_unique_section,
4640         unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
4641         unicosmk_asm_file_start, unicosmk_asm_file_end,
4642         unicosmk_output_common): Declare.
4644         * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
4645         direct_return, function_arg, alpha_va_start, alpha_va_arg,
4646         alpha_does_function_need_gp, alpha_end_function): Support Cray
4647         Unicos/Mk.
4648         (alpha_init_machine_status, alpha_mark_machine_status,
4649         alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
4650         unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
4651         unicosmk_asm_named_section, unicosmk_insert_attributes,
4652         unicosmk_section_type_flags, symbolic_operand,
4653         unicosmk_output_module_name, unicosmk_output_default_externs,
4654         unicosmk_output_dex, unicosmk_output_externs,
4655         unicosmk_output_addr_vec, unicosmk_ssib_name,
4656         unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
4657         unicosmk_asm_file_end, unicosmk_output_common,
4658         unicosmk_section_type_flags, unicosmk_unique_section,
4659         unicosmk_add_call_info_word, unicosmk_text_section,
4660         unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
4661         unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
4662         unicosmk_dex_count, unicosmk_special_name): New.
4663         (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
4664         TARGET_ABI_UNICOSMK.
4665         (get_aligned_mem, alpha_expand_unaligned_load,
4666         alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
4667         alpha_expand_unaligned_store_words): Support big-endian mode.
4668         (print_operand): Likewise. New format specifier 't'. Use
4669         TARGET_AS_SLASH_BEFORE_SUFFIX.
4670         (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
4671         (alpha_pv_save_size): Update with above change.
4672         (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
4673         alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
4674         Unicos/Mk.
4676         * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
4677         (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
4678         (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
4679         (EXTRA_CONSTRAINT): New constraint 'U'.
4680         (PREDICATE_CODES): Add symbolic_operand.
4682         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
4683         UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
4684         (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
4685         (integer division and modulus patterns): Split in default and
4686         Unicos/Mk versions.
4687         (*divmodsi_internal, *divmoddi_internal): Disable for
4688         TARGET_ABI_UNICOSMK.
4689         (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
4690         little-endian and big-endian versions.
4691         (ext, ins, msk): Likewise.
4692         (extv, extzv, insv): Support big-endian mode.
4693         (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
4694         (call_umk, call_value_umk, *call_umk, tablejump_umk,
4695         *tablejump_umk_internal, *call_value_umk): New.
4696         (*movdi_nofix): Add pattern for loading an address into a register on
4697         TARGET_ABI_UNICOSMK.
4698         (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
4699         (umk_mismatch_args, arg_home_umk): New.
4700         (various insns): Don't use mov, fmov, nop, fnop and unop.
4701         (realign): Support TARGET_ABI_UNICOSMK.
4703         * config/alpha/unicosmk.h: New file.
4704         * config/alpha/t-unicosmk: New file.
4706         * fixinc/inclhack.def (unicosmk_restrict): New.
4707         * fixinc/fixincl.x: Regenerate.
4709         * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
4710         (wchar_t): Check for and define __WCHAR_T__.
4712 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
4714         * combine.c (simplify_shift_const): Treat shifts by the mode
4715         size as undefined.
4717 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
4719         * cpphash.h (struct tokenrun): New.
4720         (struct cpp_context): New member bol.
4721         (struct cpp_reader): New members.
4722         (_cpp_init_tokenrun): New.
4723         * cppinit.c (cpp_create_reader): Set up the token runs.
4724         * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
4725         (lex_token): New internalised version of _cpp_lex_token.  Don't
4726         handle directives or the multiple include opimisation here any
4727         more.  Simply lex a token.
4728         * cpplib.c (run_directive): Clear bol.
4729         (_cpp_pop_buffer): Set bol.
4730         * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
4731         arguments.
4733 2001-09-11  Michael Meissner  <meissner@redhat.com>
4735         * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
4736         give an error if the user uses -mfp32.
4737         (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
4738         default options.
4739         (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
4740         floating point register size.
4741         (EXTRA_SPECS): Add CPP_FPR_SPEC.
4743         * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
4744         HOST_WIDE_INT_PRINT_DEC to properly print the result of
4745         int_size_in_bytes.
4746         * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
4747         * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
4749 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
4751         * dbxout.c (dbxout_parms): Fix typo in comment.
4752         * unroll.c (loop_find_equiv_value): Ditto.
4753         * toplev.c (rest_of_compilation): Ditto.
4754         * loop.c (scan_loop): Ditto.
4755         * dwarf2out.c (struct dw_fde_struct): Ditto.
4757 2001-09-10  Zack Weinberg  <zackw@panix.com>
4759         * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
4760         copying identifier when we're just going to throw it away.
4761         (parse_identifier_slow): New routine to handle abnormal cases.
4762         (_cpp_lex_token): Update call site.
4764         * hashtable.c (ht_lookup): Don't assume that the string we've
4765         been given is NUL-terminated.
4766         * system.h: #define __builtin_expect(a, b) to (a) if not
4767         GCC >=3.0.
4769 2001-09-10  Michael Meissner  <meissner@redhat.com>
4771         * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
4772         binutils, gdb.
4774 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
4776         * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
4778 Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4780         * builtins.c (c_getstr): Correct thinko in last change and further
4781         cleanup.
4783 2001-09-10  Tim Freeman <tim@fungibole.com>
4785         * dwarf2out.c (incomplete_types, decl_scope_table): Make them
4786         into varray's and register them as roots with the garbage
4787         collector so they are not collected too soon.
4789 Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
4791         * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
4792         New.
4793         * basic-block.h (flow_obstack, label_value_list,
4794         tail_recursion_label_list): Declare
4795         (tidy_fallthru_edges): Declare.
4796         (expunge_block, last_loop_beg_note): Delete.
4797         (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
4798         * cfg.c: New file
4799         (basic_block_for_insn, label_value_list): Move from flow.c; make global.
4800         (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
4801         init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
4802         flow_delete_insn, flow_delete_insn_chain, create_basic_block,
4803         expunge_block, flow_delete_block, compute_bb_for_insn,
4804         update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
4805         make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
4806         redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
4807         try_redirect_by_replacing_jump, last_loop_beg_note,
4808         redirect_edge_and_branch, redirect_edge_and_branch_force,
4809         tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
4810         split_edge, insert_insn_on_edge, commit_one_edge_insertion,
4811         commit_edge_insertions, dump_flow_info, debug_flow_info,
4812         dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
4813         verify_flow_info, purge_dead_edges, purge_all_dead_edges):
4814         Move here from flow.c
4815         * cfganal.c: New file.
4816         (forwarder_block_p, can_fallthru, mark_critical_edges,
4817          mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
4818          find_unreachable_blocks, create_edge_list, free_edge_list,
4819          print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
4820          flow_edge_list_print, remove_fake_successors, remove_fake_edges,
4821          add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
4822          flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
4823          flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
4824          flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
4825         Move here from flow.c
4826         * cfgbuild.c: New file
4827         (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
4828          make_edges, find_basic_blocks_1, find_basic_blocks,
4829          find_sub_basic_blocks): Move here from flow.c
4830         * cfgcleanup.c: New file.
4831         (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
4832          merge_blocks_move_predecessor_nojumps,
4833          merge_blocks_move_successor_nojumps, merge_blocks,
4834          flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
4835          try_crossjump_bb, try_optimize_cfg): Move here from flow.c
4836         (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
4837         if succeeded.
4838         * cfgloop.c: New file
4839         (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
4840          flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
4841          flow_loop_exit_edges_find, flow_loop_nodes_find,
4842          flow_loop_pre_header_scan, flow_loop_pre_header_find,
4843          flow_loop_tree_node_add, flow_loops_tree_build,
4844          flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
4845          flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
4846         Move here from flow.c
4847         * flow.c: Remove everything moved elsewhere
4848         * output.h (cleanup_cfg): Return bool.
4850         * bb-reorder.c (reorder_block_def): Remove 'index'.
4851         (insert_intra_1): Add argument BB, set block for new note.
4852         (make_reorder_chain): Do not depdent on BB indexes.
4853         (make_reorder_chain_1): Do not use BB indexes.
4854         (label_for_bb): Likewise; set BB for new insn.
4855         (emit_jump_to_block_after): Likewise.
4856         (fixup_reoder_chain): Sanity check that all basic blocks
4857         are chained; verify newly created insn chain; remove
4858         undocnitional jump simplifying; Do not use BB indexes;
4859         properly initialize count and frequency information;
4860         dump reordered sequence.
4861         (insert_intra_bb_scope_notes): update call of insert_intra_1.
4862         (insert_inter_bb_scope_notes): Set block for new insn.
4863         (reorder_basic_blocks): Dump flow info before reoredering.
4865 Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4867         * alias.c (clear_reg_alias_info): Use K&R format definition.
4868         Avoid unsigned warning.
4869         * builtins.c: Use "unsigned int", not "unsigned".
4870         (target_char_cast): Use host_integerp and tree_low_cst.
4871         (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
4872         (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
4873         (c_getstr): Likewise.
4874         (std_expand_builtin_va_arg): Use int_size_in_bytes.
4875         (builtin_memcpy_read_str): Avoid unsigned warning.
4876         (expand_builtin_memcpy): Alignments are unsigned.
4877         (expand_builtin_strncpy, expand_builtin_memset): Likewise.
4878         (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
4879         * predict.c (expensive_function_p): LIMIT now unsigned.
4880         * resource.c (mark_target_live_regs): Make some vars unsigned.
4881         * sdbout.c: Use "unsigned int", not "unsigned".
4882         (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
4883         (sdbout_source_line): Likewise.
4884         (sdbout_record_type_name): Remove "const" for NAME declaration.
4885         * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
4887 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
4889         * calls.c (store_one_arg): Expand comment.
4891 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
4893         * calls.c (store_one_arg): Make sure that the entire argument is
4894         pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
4896 2001-09-09  Richard Henderson  <rth@redhat.com>
4898         * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
4900 Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
4902         * loop.c (combine_givs): Fix computing of benefit once giv is combined.
4904 2001-09-09  Richard Henderson  <rth@redhat.com>
4906         * config/alpha/alpha.c (alpha_next_sequence_number): New.
4907         (alpha_this_literal_sequence_number): New.
4908         (alpha_this_gpdisp_sequence_number): New.
4909         (some_operand, input_operand): Add HIGH.
4910         (local_symbolic_operand): New.
4911         (alpha_encode_section_info): New.
4912         (alpha_legitimate_address_p): Allow LO_SUM.
4913         (alpha_legitimize_address): Generate HIGH+LO_SUM.
4914         (alpha_expand_mov): Likewise.
4915         (secondary_reload_class): Check memory_operand not general_operand
4916         for FP_REGS test.
4917         (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
4918         (alpha_expand_unaligned_store): Likewise.
4919         (alpha_expand_unaligned_load_words): Likewise.
4920         (alpha_expand_unaligned_store_words): Likewise.
4921         (alpha_expand_block_clear): Likewise.
4922         (print_operand): Handle %#, %*, %H.
4923         (print_operand_address): Handle LO_SUM.
4924         (find_lo_sum): New.
4925         (alpha_does_function_need_gp): Use it.
4926         (alpha_expand_block_move): Fix signed compare warnings.
4927         (alpha_sa_mask, alpha_align_insns): Likewise.
4928         * config/alpha/alpha-protos.h: Update.
4929         * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
4930         (MASK_EXPLICIT_RELOCS): New.
4931         (TARGET_SWITCHES): Add -mexplicit-relocs.
4932         (EXTRA_CONSTRAINT): Add 'T'.
4933         (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
4934         (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
4935         (ENCODE_SECTION_INFO): Out line.
4936         (REDO_SECTION_INFO_P): New.
4937         (STRIP_NAME_ENCODING): New.
4938         (ASM_OUTPUT_LABELREF): New.
4939         (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
4940         (PREDICATE_CODES): Update.
4941         * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
4942         call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
4943         movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
4944         builtin_setjmp_receiver_er, exception_receiver_1_er,
4945         call_value_osf_1_er): New patterns.
4946         (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
4947         (movqi, movhi, movsi): Add explicit $31 base register to lda.
4948         * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
4949         (FINAL_PRESCAN_INSN): New.
4951 Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
4953         * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
4955 2001-09-08  Andreas Jaeger  <aj@suse.de>
4957         * i386.h (TARGET_SWITCHES): Fix description.
4959 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
4961         * rs6000.c (num_insns_constant): Compute number of instructions
4962         more accurately.
4964         * doc/install.texi: Explain AIX exception handling work-around.
4965         Update URL for AIX fixes.
4967 2001-09-07  Jim Wilson  <wilson@redhat.com>
4969         * alias.c (clear_reg_alias_info): New.
4970         * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
4971         * rtl.h (clear_reg_alias_info): Declare.
4973 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
4975         * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
4976         available.
4977         (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
4978         (m16m,edivm,emulm): Change declaration to match definition.
4980 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
4982         * reload.c (push_reload): Check for subreg_lowpart_p instead of
4983         SUBREG_BYTE being 0 when determining if the inner part of a subreg
4984         can be reloaded.
4986 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
4988         * c-common.c (signed_or_unsigned_type): Handle machine mode types
4989         which have no corresponding C type.
4990         * fold_const.c (target_isinf,target_isnan,target_negative): Update
4991         the representation of 64-bit doubles to work with 64-bit ints.
4993 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
4995         * config/mips/mips.c (override_options): Do not override ISA when ABI
4996         specified if MIPS_CPU_STRING_DEFAULT was specified.
4998 2001-09-07  Richard Henderson  <rth@redhat.com>
5000         * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
5001         (express_from_1): Wrap lines.
5002         * rtlanal.c (commutative_operand_precedence): Rename from
5003         operand_preference; export.
5004         * rtl.h: Declare it.
5005         * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
5006         (simplify_binary_operation): Invoke simplify_plus_minus on
5007         (CONST (PLUS ...)) as well.
5008         (struct simplify_plus_minus_op_data): New.
5009         (simplify_plus_minus_op_data_cmp): New.
5010         (simplify_plus_minus): Use them.  Avoid infinite recursion with
5011         simplify_binary_operation wrt CONST.
5013 Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
5015         * h8300-protos.h (general_operand_dst_push): Remove.
5016         * h8300.c (general_operand_dst_push): Likewise.
5017         * h8300.h (OK_FOR_T): Likewise.
5018         (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
5019         * h8300.md (pushqi_h8300): New.
5020         (pushqi_h8300hs): Likewise.
5021         (pushqi): Likewise.
5022         (pushhi_h8300): Likewise.
5023         (pushhi_h8300hs): Likewise.
5024         (pushhi): Likewise.
5026 Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5028         * genattrtab.c (attr_printf): First arg is unsigned.
5029         Clean up formatting of callers.
5031 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
5033         * config/mips/mips.c (override_options): Allow abi32 with 64 bit
5034         registers.
5036 2001-09-07  Andreas Jaeger  <aj@suse.de>
5038         * i386.h (TARGET_SWITCHES): Fix descriptions.
5040 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
5042         * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
5044 2001-09-06  Ira Ruben  <ira@apple.com>
5046         Remove OP_IDENTIFIER.
5047         * tree.def (OP_IDENTIFIER): Remove.
5048         * tree.c (tree_node_kind enum): Remove op_id_kind.
5049         (tree_node_kind_names): Remove "op_identifiers".
5050         (make_node): Remove OP_IDENTIFIER test.
5051         (build_op_identifier): Removed because it isn't being used.
5052         * print-tree.c (print_node): Remove OP_IDENTIFIER case.
5053         * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
5055 2001-09-06  Richard Henderson  <rth@redhat.com>
5057         * simplify-rtx.c (simplify_binary_operation): Revert last change.
5059 2001-09-06  Richard Henderson  <rth@redhat.com>
5061         * simplify-rtx.c (simplify_binary_operation): Simplify contents
5062         of CONST.
5064 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5066         * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
5067         number used for CR register.
5069 Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
5070                           Joern Rennecke (amylaar@cygnus.com)
5072         * h8300-protos.h (h8300_return_addr_rtx): New prototype.
5073         * h8300.c (initial_offset): Handle offset between RP and FP.
5074         (h8300_return_addr_rtx): New function.
5075         * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
5076         return register.
5077         (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
5078         (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
5079         (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
5080         (CAN_ELIMINATE, REGISTER_NAMES):
5081         (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
5083 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
5085         Remove TYPE_NONCOPIED_PARTS.
5086         * tree.h (TYPE_NONCOPIED_PARTS): Remove.
5087         (struct tree_type): Remove noncopied_parts.
5088         * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
5089         * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
5090         (fixed_type_p): Remove.
5091         (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
5092         (expand_expr, MODIFY_EXPR): Likewise.
5093         * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
5094         * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
5096 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
5098         * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
5099         compiler warnings.
5100         (mask64_operand): Likewise.
5101         (includes_rldic_lshift_p): Likewise.
5102         (includes_rldicr_lshift_p): Likewise.
5104 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
5106         * objc/objc-act.c (build_message_expr): If a class method cannot
5107         be found, do not issue a warning if a corresponding instance
5108         method exists in the root class.
5110 2001-09-05  Richard Henderson  <rth@redhat.com>
5112         * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
5114 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
5116         * function.c (ggc_mark_struct_function): Mark f->outer.
5117         * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
5118         * integrate.c (output_inline_function): ... not here.
5120 Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
5122         * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
5124         * i386.c (size_cost): New static variable.
5125         (override_function): Use size_cost when -Os is specified.
5127         * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
5128         properly;  Use current_function_calls_eh_return.
5129         (ix86_expand_epilogue): Avoid dummy optimize_size tests;
5130         use leave to avoid depdendancy chain.
5132         * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
5133         get BB loop_depth instead of computing it from LOOP notes.
5135         * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
5137 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5139         * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
5140         * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
5141         UNALIGNED_DOUBLE_INT_ASM_OP): Define
5143 2001-09-05  Jeffrey A Law  (law@cygnus.com)
5144             Jason Merrill (jason@redhat.com)
5146         * stor-layout.c (layout_type): Complain if an array's size can
5147         not be represented in a size_t.
5149         * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
5151 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
5153         * gcc.c: (process_command) Add parentheses around assignment
5154         used as truth value.
5156 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
5158         * config/mips/mips.c (save_restore_insns): Don't mark any register
5159         save slots as unchanging if current_function_calls_eh_return.
5161 2001-09-05  Richard Henderson  <rth@redhat.com>
5163         * config/alpha/alpha.c (alpha_legitimate_address_p): New.
5164         * config/alpha/alpha-protos.h: Declare it.
5165         * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
5166         (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
5167         (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
5168         (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
5169         (REG_OK_FOR_BASE_P): Select one of the above.
5171 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
5173         * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
5174         (crti.o): Prefix name of object file with $(T).
5175         (crtn.o): Likewise.
5177 2001-09-05  David S. Miller  <davem@redhat.com>
5179         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
5180         * config/sparc/linux64.h: Likewise.
5182 2001-09-05  Andreas Jaeger  <aj@suse.de>
5184         * doc/invoke.texi (i386 Options): -mwide-multiply is not
5185         available anymore, remove the documentation.
5186         (i386 Options): Fix typo, cleanup index entries.
5188         * prefix.c (concat): Remove, we can use the version from liberty.
5190 2001-09-05  Richard Henderson  <rth@redhat.com>
5192         * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
5193         New functions split out of md file expanders.
5194         * config/alpha/alpha-protos.h: Declare them.
5195         * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
5197 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
5199         * cppmacro.c (funlike_invocation_p): No need to restore context.
5201 2001-09-04  Richard Henderson  <rth@redhat.com>
5203         * reload.c (push_reload): Export.
5204         * reload.h (push_reload): Declare it.
5206         * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
5207         (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
5208         * config/alpha/alpha.c (alpha_legitimize_address): New.
5209         (alpha_legitimize_reload_address): Likewise.
5210         * config/alpha/alpha-protos.h: Declare them.
5212 2001-09-04  Stan Shebs  <shebs@apple.com>
5214         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
5215         * config/darwin.c (machopic_stub_name): Account for internally
5216         generated lib calls such as memcpy.
5218 2001-09-04  Richard Henderson  <rth@redhat.com>
5220         * unwind.h (_UA_END_OF_STACK): New flag.
5221         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
5223 Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
5225         * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
5227 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
5229         * config/mips/mips.c (save_restore_insns): Change base_offset to
5230         fp_offset in second call to mips_emit_frame_related_store.
5232 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
5234         * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
5235         sometimes be represented as a NOTE of type
5236         NOTE_INSN_DELETED_LABEL.
5237         (Insns): Document NOTE_INSN_DELETED_LABEL.
5239 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
5241         * c-common.h (tree_dump_index): Add more comments.
5242         * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
5243         (dump_option_value_info): New struct.
5244         (dump_options): New array.
5245         (dump_switch_p): Parse switch options symbolically.
5246         * doc/invoke.texi (-fdump-ast): Rename to ...
5247         (-fdump-tree): ... here. Document that options are symbolic, and
5248         not all are applicable.
5250 2001-09-04  David S. Miller  <davem@redhat.com>
5252         * config/sparc/sparc.md (define_splits): Kill constraints.
5254         Cleanup redundant and unused insn attributes.
5255         * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
5256         binary, and move.  Mark ialu as default.
5257         (commented out define_function_unit "alu"): Kill.
5258         (define_attr "use_clobbered"): Kill.
5259         (whole file): Kill address insn type references.  Replace
5260         all unary/binary/move references with ialu.
5261         * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
5262         references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
5263         TYPE_IALU.
5265         Simplify length insn attribute and make more judicious use
5266         of insn attribute defaulting.
5267         * config/sparc/sparc.md (all insns with length > one): Mark as
5268         insn type multi if real instructions, else use default if
5269         it is a forced splitter.
5270         (all insns with length == one): Use default insn length.
5271         (all insns of type ialu): Use default insn type.
5273         Fix erroneous insn attribute settings.
5274         (addx): Set insn type to misc.
5275         (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
5276         const_umulsidi3_sp64): Set insn type to imul.
5278         Track SFmode vs DFmode insns according to UltraSPARC
5279         scheduling rules.
5280         * config/sparc/sparc.md ("fptype"): New attribute, default
5281         to "single".
5282         (all DFmode single insns): Mark as fptype "double".
5284 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
5286         * loop.c (express_from_1): Fix CONSTANT_P(a) case.
5288 2001-09-03  Richard Henderson  <rth@redhat.com>
5290         * function.h (struct function): Add arg_pointer_save_area_init.
5291         * function.c (expand_function_end): Init arg_pointer_save_area.
5292         (get_arg_pointer_save_area): Do not init arg_pointer_save_area
5293         when called from a nested function.
5295 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
5297         * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
5298         is enabled.
5300 Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
5302         * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
5304 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
5306         * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
5307         (emit_push_insn): Use specified padding direction when
5308         STACK_PUSH_CODE is POST_INC.
5310         * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
5312 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5314         * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
5316 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
5318         * cppinit.c (cpp_start_read): Free the imacros list as we
5319         traverse it.  Don't free the chains before returning.
5320         (_cpp_push_next_buffer): Only try pushing buffers if we've
5321         completed -imacros handling.
5323 2001-08-31  Eric Christopher  <echristo@redhat.com>
5325         * gcc.c (handle_braces): Add explaination for abort.
5327 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
5329         * expmed.c (store_bit_field): Update to patch from 2001-08-27:
5330         move adjustment of bitpos instead.
5332 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
5334         * function.c: Remove all_functions.  Make outer_function_chain
5335         static.
5336         (init_function_start): Don't add new function structure to
5337         all_functions.
5338         (find_function_data, push_function_context_to,
5339         pop_function_context_from, put_var_into_stack,
5340         trampoline_address): Update for changed structure element names.
5341         (push_function_context_to): Disentangle.
5342         (free_after_compilation): Also free F.
5343         (expand_dummy_function_end): Don't free cfun here.
5344         (put_var_into_stack): Comment why we can't use find_function_data here.
5345         (fix_lexical_addr, trampoline_address, ): Use find_function_data.
5346         (mark_function_chain): Split into maybe_mark_struct_function and
5347         ggc_mark_struct_function.  Export the latter.
5348         (init_function_once): Mark from cfun and outer_function_chain;
5349         not all_functions.
5351         * function.h (struct function): Kill next_global.  Rename next
5352         to outer.  All users updated to match.
5353         (all_functions, outer_function_chain): Don't declare.
5355         * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
5356         * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
5357         don't touch f->inlinable, after calling rest_of_compilation.
5359         * tree.h: Forward-declare struct function.  Prototype
5360         ggc_mark_struct_function.
5362 2001-08-31  Kazu Hirata  <kazu@hxi.com>
5364         * config/h8300/h8300.md (*andorhi3): Fix typos.
5366 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5368         * calls.c (emit_library_call_value): Don't use a fixed
5369         argument after VA_CLOSE, i.e. out of scope in traditional C.
5371         * emit-rtl.c (gen_rtvec): Likewise.
5373 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5375         * Makefile.in (c-pragma.o): Depend on output.h.
5376         (reorg.o): Depend on except.h.
5378         * c-pragma.c: Include output.h.
5380         * reorg.c: Include except.h.
5382         * unwind-dw2.c: Call __builtin_alloca, not alloca.
5384 2001-08-31  Richard Henderson  <rth@redhat.com>
5386         * sched-deps.c (add_dependence): Don't elide dependency if the
5387         conditional used by insn is modified in elem.
5389 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
5391         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
5393 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
5395         * c-decl.c (c_decode_option): Skip '-f' prefix before calling
5396         dump_switch_p.
5398 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
5400         * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
5401         function.
5402         (stormy16_asm_out_constructor): New function.
5403         (TARGET_ASM_CONSTRUCTOR): Define.
5404         (TARGET_ASM_DESTRUCTOR): Define.
5406 2001-08-31  Andreas Jaeger  <aj@suse.de>
5408         * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
5409         * loop.c (add_label_notes): Likewise.
5410         * reload.c (find_reloads): Likewise.
5411         * config/sh/sh.c (machine_dependent_reorg): Likewise.
5413 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
5415         * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
5416         code here.  Take _Unwind_{W,Sw}ord*.
5417         (read_encoded_value_with_base): Use them.
5418         * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
5419         words.
5420         (extract_cie_info): Simplify read_?leb128 handling.
5421         (execute_stack_op, execute_cfa_program): Likewise.
5422         * unwind-dw2-fde.c (get_cie_encoding): Likewise.
5424 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
5426         * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
5427         the frame pointer to pop the stack if convenient.
5429         * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
5430         Don't use post-increment before combine.
5431         * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
5432         a call-saved register.
5434 2001-08-31  Andreas Jaeger  <aj@suse.de>
5436         * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
5437         code was correct.
5439 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
5441         * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
5442         not DIV/MOD, of course.
5444 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
5446         * rtl.def: Undo my patch commited 2001-08-27.
5448         * genattrtab.c: Ditto.
5450         * rtl.h: Ditto.
5452         * sched-int.h: Ditto.
5454         * target-def.h: Ditto.
5456         * target.h: Ditto.
5458         * haifa-sched.c: Ditto.
5460         * sched-rgn.c: Ditto.
5462         * sched-vis.c: Ditto.
5464         * Makefile.in: Ditto.
5466         * doc/md.texi: Ditto.
5468         * doc/tm.texi: Ditto.
5470         * doc/contrib.texi: Ditto.
5472         * doc/gcc.texi: Ditto.
5474         * genattrtab.h: Remove it.
5476         * genautomata.c: Remove it.
5478         * genattr.c: Undo my patch and Richard Henderson's patch commited
5479         2001-08-27.
5481 Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
5483         * config.gcc (h8300-*-elf*): New case.
5484         * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
5485         (SUBTARGET_CPP_SPEC): Define.
5486         (EXTRA_SPECS): Define.
5487         (SUBTARGET_EXTRA_SPECS): Define.
5488         * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
5489         * config/h8300/elf.h, config/h8300/t-elf: Likewise.
5491 Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
5493         * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
5494         (LIB2FUNCS_EXTRA): Define.
5495         config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
5496         config/h8300/fixunssfsi.c: New file.
5498 2001-08-30  Kazu Hirata  <kazu@hxi.com>
5500         * config/h8300/h8300.md (zero_extendqihi2): Changes to
5501         define_expand to accommodate target-specific attributes.
5502         (anonymous zero_extendqihi2 patterns): New.
5504 Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
5506         * h8300.md (*andorhi3): New pattern.
5508 Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
5510         * h8300.c (dosize): Fix test for "sub".
5512 Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
5514         * c-typeck.c (pointer_diff): Try to eliminate common term before
5515         doing conversions.
5517 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
5519         * config/arm/arm.c (arm_compute_initial_elimination_offset):
5520         Account for the saves of the FP registers.
5522         * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
5523         (TEXT_SECTION_ASM_OP): Define.
5524         (INIT_SECTION_ASM_OP): Define.
5525         (FINI_SECTION_ASM_OP): Define.
5526         (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
5527         (RDATA_SECTION_FUNCITON): Provide prototype.
5529 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
5531         * reload1.c (move2add_note_store): Correct typo checking for
5532         argument pushes.
5534 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
5536         * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
5537         note should not be considered outside the libcall block.
5539 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5541         * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
5543 2001-08-29  Kazu Hirata  <kazu@hxi.com>
5545         * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
5547 2001-08-29  Kazu Hirata  <kazu@hxi.com>
5549         * config/h8300/h8300-protos.h: Add a prototype for
5550         emit_logical_op.
5551         * config/h8300/h8300.c (emit_logical_op): New.
5552         * config/h8300/h8300.md (andhi3): Use emit_logical_op.
5553         (andsi3): Likewise.
5554         (iorhi3): Likewise.
5555         (iorsi3): Likewise.
5556         (xorhi3): Likewise.
5557         (xorsi3): Likewise.
5559 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5561         * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
5562         comparison with rtx INTVAL.
5563         (pa_output_function_prologue): Don't mix signed and unsigned in `?'
5564         expression.
5565         * pa.h (FUNCTION_ARG_SIZE): Likewise.
5567 2001-08-29  Kazu Hirata  <kazu@hxi.com>
5569         * config/h8300/lib1funcs.asm: Update the copyright.  Fix
5570         comment typos.
5572 2001-08-29  Kazu Hirata  <kazu@hxi.com>
5574         * config/h8300/h8300.md (anonymous movhi pattern): Don't move
5575         (reg n) to (mem (pre_dec (reg n))
5576         (anonymous movsi pattern): Likewise.
5578 2001-08-29  Kazu Hirata  <kazu@hxi.com>
5580         * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
5582 2001-08-29  Kazu Hirata  <kazu@hxi.com>
5584         * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
5585         several special constants.
5587 2001-08-29  Kazu Hirata  <kazu@hxi.com>
5589         * config/h8300/lib1funcs.asm: Fix comment typos.
5591 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5593         * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
5594         Fix format specifier warnings.
5596         * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
5597         inet_makeaddr, semctl): Prototype.
5599         * mips.c (compute_frame_size): Fix signed/unsigned warnings.
5600         (save_restore_insns): Use base_offset, not gp_offset.
5602         * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
5603         (ASM_OUTPUT_BYTE): Fix format specifier warning.
5605 2001-08-29  Richard Henderson  <rth@redhat.com>
5607         * bb-reorder.c (function_tail_eff_head): New.
5608         (record_effective_endpoints): Set it.
5609         (fixup_reorder_chain): Use it.
5611 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5613         * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
5615 2001-08-28  Dale Johannesen  <dalej@apple.com>
5617         * config/darwin.c (machopic_function_base_name): Add const
5618         qualifier to a string.
5619         (darwin_encode_section_info): Ditto.
5621 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5623         * tree.c (default_valid_attribute_p): Don't use PARAMS on a
5624         function definition.
5626 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
5628         * df.h (struct df): Add rts_order variable.
5630         * df.c (df_visit_next_rts): New function.
5631         (df_visit_next): Renamed to df_visit_next_rc
5632         (df_analyse_1): Allocate/compute/free rts_order as well.
5633         (df_rd_global_compute): Use df_visit_next_rc instead of
5634         df_visit_next.
5635         (df_ru_global_compute): Use df_visit_next_rts instead of
5636         df_visit_next.
5638         * flow.c (flow_reverse_top_sort_order_compute): New function.
5640         * basic-block.h: Add prototype.
5642 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
5644         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
5645         blocks, the BB_REACHABLE is now set, rather than aux being
5646         non-NULL. Update the test to reflect this.
5648 2001-08-28  Eric Christopher  <echristo@redhat.com>
5650         * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
5651         config/mips/crti.asm: Ditto.
5653 2001-08-28  Eric Christopher <echristo@redhat.com>
5654             Richard Henderson <rth@redhat.com>
5656         * c-pragma.h (add_weak): Move prototype from here...
5657         * output.h (add_weak): ... to here.
5658         * varasm.c (add_weak): Fix typo.
5659         * config/mips/crti.asm: New file.
5660         * config/mips/crtn.asm: Ditto.
5661         * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
5662         (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
5663         (INVOKE__main): Ditto.
5664         (INIT_SECTION_ASM_OP): New.
5665         (FINI_SECTION_ASM_OP): Ditto.
5666         (STARTFILE_SPEC): Add crti.
5667         (ENDFILE_SPEC): Add crtn.
5668         * config/mips/elf64.h: Same.
5669         * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
5670         Remove.
5671         * config/mips/vxworks.h: Ditto.
5672         * config/mips/t-elf: Support crti and crtn.
5674 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
5676         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
5677         INSN_LIST.
5679 2001-08-28  Richard Henderson  <rth@redhat.com>
5681         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
5682         (one_cmplbi2 splitter): Remove redundant test.
5684 2001-08-28  Dale Johannesen  <dalej@apple.com>
5686         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
5688 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
5690         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
5692 2001-08-28  Stan Shebs  <shebs@apple.com>
5694         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
5695         (UNALIGNED_SHORT_ASM_OP): Define.
5696         (UNALIGNED_INT_ASM_OP): Define.
5698 2001-08-28  Will Cohen  <wcohen@redhat.com>
5700         * config/rs6000/rs6000.md (store_multiple): Correct RTL
5701         generation for first set.
5703 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
5705         * flow.c (redirect_edge_succ_nodup): Return new edge.
5706         (try_simplify_condjump): Use new edge.
5707         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
5709         * cse.c (cse_basic_block): Skip note instructions.
5711 2001-08-27  Richard Henderson  <rth@redhat.com>
5713         * combine.c (combine_simplify_rtx): Don't reverse condition
5714         if there is no reverse for the condition.
5715         (simplify_comparison): Don't simplify subregs from INT to FP.
5717         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
5718         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
5719         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
5720         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
5721         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
5722         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
5724 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
5726         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
5727         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
5728         (pushqi1): New.
5729         (adddi_dilshr32, adddi_dishl32): Only data register can be
5730         source for mem destination.
5732         * expmed.c (store_bit_field): Ignore adjustment to bitpos
5733         and use bitnum to decide about register move.
5735 2001-08-27  Richard Henderson  <rth@redhat.com>
5737         * genattr.c (main): Emit state_t even when not doing scheduling.
5739 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
5740             Richard Henderson  <rth@redhat.com>
5742         * gcse.c (reg_first_set, reg_last_set): Replace with ...
5743         (reg_avail_info, current_bb): ... these.
5744         (oprs_unchanged_p, record_last_reg_set_info): Use them.
5745         (compute_hash_table): Likewise.
5747 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
5749         * flow.c (verify_flow_info): Use checksums to verify edges.
5751 2001-08-27  Richard Henderson  <rth@redhat.com>
5753         * genautomata.c (expand_automata): Always create a description.
5755 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
5757         * optabs.c (expand_binop): Correctly handle the carry in multiword
5758         add/subtract operations.
5760 2001-08-27  Fred Fish  <fnf@be.com>
5762         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
5763         __SIZE_TYPE__.
5765 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
5767         * reload.c (find_reloads_toplev): Back out this change:
5769         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
5771         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
5772         mem if the address is a mode_dependent_address_p.
5774 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
5776         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
5777         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
5778         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
5779         RTL constructions.
5781         * genattr.c (main): New variable num_insn_reservations.  Increase
5782         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
5783         pipeline hazard recognizer interface.
5785         * genattrtab.h: New file.
5787         * genattrtab.c: Include genattrtab.h.
5788         (attr_printf, check_attr_test, make_internal_attr,
5789         make_numeric_value): Move protypes into genattrtab.h.  Define them
5790         as external.
5791         (num_dfa_decls): New global variable.
5792         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
5793         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
5794         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
5795         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
5797         * genautomata.c: New file.
5799         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
5801         * sched-int.h: (curr_state): Add the external definition for
5802         automaton pipeline interface.
5803         (haifa_insn_data): Add comments for members blockage and units.
5805         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
5806         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
5807         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
5808         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
5809         TARGET_SCHED_DFA_POST_CYCLE_INSN,
5810         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
5811         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
5812         macros.
5813         (TARGET_SCHED): Use the new macros.
5815         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
5816         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
5817         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
5818         dfa_bubble): New members in gcc_target.sched.
5820         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
5821         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
5822         (insn_queue): Redefine it as pointer to array.
5823         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
5824         INSN_QUEUE_SIZE.
5825         (max_insn_queue_index_macro_value): New variable.
5826         (curr_state, dfa_state_size, ready_try): New varaibles for
5827         automaton interface.
5828         (ready_element, ready_remove, max_issue): New function prototypes
5829         for automaton interface.
5830         (choose_ready): New function prototype.
5831         (insn_unit, blockage_range): Add comments.
5832         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
5833         FUNCTION_UNITS_SIZE == 0.
5834         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
5835         actual_hazard, potential_hazard): Add comments.
5836         (insn_cost): Use cost -1 as undefined value.  Remove
5837         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
5838         pipeline interface.
5839         (ready_element, ready_remove): New functions for automaton
5840         interface.
5841         (schedule_insn): Add new code for automaton pipeline interface.
5842         (queue_to_ready): Add new code for automaton pipeline interface.
5843         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
5844         (debug_ready_list): Print newline when the queue is empty.
5845         (max_issue): New function for automaton pipeline interface.
5846         (choose_ready): New function.
5847         (schedule_block): Add new code for automaton pipeline interface.
5848         Print ready list before scheduling each insn.
5849         (sched_init): Add new code for automaton pipeline interface.
5850         Initiate insn cost by -1.
5851         (sched_finish): Free the current automaton state and finalize
5852         automaton pipeline interface.
5854         * sched-rgn.c: Include target.h.
5855         (init_ready_list, new_ready, debug_dependencies): Add new code for
5856         automaton pipeline interface.
5858         * sched-vis.c: Include target.h.
5859         (get_visual_tbl_length): Add code for automaton interface.
5860         (target_units, print_block_visualization):  Add comments.
5862         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
5863         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
5864         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
5865         (getruntime.o, genautomata.o): New entries.
5866         (genattrtab.o): Add new dependency file genattrtab.h.
5867         (genattrtab): Add new dependencies.  Link it with `libm.a'.
5868         (getruntime.o, hashtab.o): New entries for canadian cross.
5870         * doc/md.texi: Description of automaton based model.
5872         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
5873         Add comments.
5874         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
5875         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
5876         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
5877         TARGET_SCHED_DFA_POST_CYCLE_INSN,
5878         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
5879         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
5880         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
5881         hook descriptions.
5882         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
5883         MAX_DFA_ISSUE_RATE): New macro descriptions.
5885         * doc/contrib.texi: Add dfa based scheduler contribution.
5887         * doc/gcc.texi: Add more information about genattrtab.
5889 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
5891         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
5892         an RTL basic block.
5894 2001-08-27  Richard Henderson  <rth@redhat.com>
5896         * function.c (expand_function_end): Don't init arg_pointer_save_area.
5897         (get_arg_pointer_save_area): New.  Create an init it here.
5898         (fix_lexical_addr): Use it.
5899         * function.h: Declare it.
5900         * builtins.c (expand_builtin_setjmp_receiver): Use it.
5901         * stmt.c (expand_nl_goto_receiver): Use it.
5903 2001-08-27  Richard Henderson  <rth@redhat.com>
5905         * final.c (final_scan_insn): Don't enter APP_ON mode for
5906         empty asm strings.
5908         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
5909         alignment for assemble_integer for DW_EH_PE_aligned.
5910         * except.c (output_function_exception_table): Likewise.
5912 2001-08-26  Andreas Jaeger  <aj@suse.de>
5914         * c-tree.h: Add prototyp for c_sizeof_nowarn.
5916 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
5918         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
5920 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
5922         * config/rs6000/rs6000.c (mask_operand): Rewrite without
5923         bit-shifting loop.
5924         (mask64_operand): Likewise.
5925         (rldic_operand): Delete.
5926         (includes_lshift64_p): Delete.
5927         (includes_rldic_lshift_p): New function.
5928         (includes_rldicr_lshift_p): New function.
5929         (print_operand): Don't call rldic_operand in case 'W'.
5930         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
5931         (includes_lshift64_p): Remove.
5932         (includes_rldic_lshift_p): Declare.
5933         (includes_rldicr_lshift_p): Declare.
5934         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
5935         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
5936         Replace match_operand rldic_operand predicate with
5937         const_int_operand.  Replace includes_lshift64_p condition with
5938         includes_rldic_lshift_p.
5939         <ashldi3_internal 64 bit rldicr patterns>: New.
5941 2001-08-27  Andreas Jaeger  <aj@suse.de>
5943         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
5944         * errors.c: Likewise.
5945         * final.c: Likewise.
5946         * dwarf2asm.c: Likewise.
5947         * doprint.c (checkit): Likewise.
5948         * diagnostic.c: Likewise.
5949         * collect2.c: Likewise.
5950         * calls.c: Likewise.
5951         * c-semantics.c (build_stmt): Likewise.
5952         * c-format.c (status_warning): Likewise.
5953         * c-errors.c (pedwarn_c99): Likewise.
5954         * builtins.c (validate_arglist): Likewise.
5955         * config/pj/pj.c (pj_printf): Likewise.
5956         * fix-header.c: Likewise.
5957         * gcc.c: Likewise.
5958         * gcov.c (fnotice): Likewise.
5959         * gensupport.c (message_with_line): Likewise.
5960         * mips-tfile.c: Likewise.
5961         * protoize.c (notice): Likewise.
5962         * read-rtl.c (fatal_with_file_and_line): Likewise.
5963         * rtl-error.c: Likewise.
5964         * tradcpp.c: Likewise.
5965         * tree.c: Likewise.
5966         * cp/tree.c (build_min_nt): Likewise.
5967         (build_min): Likewise.
5968         * cp/lex.c: Likewise.
5969         * cp/errfn.c: Likewise.
5970         * cp/rtti.c (create_pseudo_type_info): Likewise.
5972 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
5974         * df.c (df_uses_record): Return after recording all uses
5975         in ASM_OPERANDS.
5977 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
5979         * df.c (df_insn_modify): Realloc the INSN table here, if
5980         necessary, here, too.
5982 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
5984         * config/mips/mips.c (mips_function_value): Handle complex return
5985         values.
5987 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
5989         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
5990         unshared.
5991         * reload.c (make_memloc): Copy result if it is still
5992         reg_equiv_memory_loc[regno] on return.
5993         (subst_reloads) [ENABLE_CHECKING]: Check that none of
5994         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
5995         reg_equiv_mem are modified by the substitutions.
5997 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
5999         * predict.c (expensive_function_p): New.
6000         * rtl.h (expensive_function_p): Declare.
6001         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
6002         (use_fast_prologue_epilogue): New static variable.
6003         (expand_prologue): Set it; emit short prologues if unset.
6004         (expand_epilogue): Likewise.
6006 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
6008         * config.gcc: Add stormy16-*-elf case.
6009         * config/stormy16/stormy-abi: New file.
6010         * config/stormy16/stormy16-lib2.c: New file.
6011         * config/stormy16/stormy16-protos.h: New file.
6012         * config/stormy16/stormy16.c: New file.
6013         * config/stormy16/stormy16.h: New file.
6014         * config/stormy16/stormy16.md: New file.
6015         * config/stormy16/t-stormy16: New file.
6017 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
6019         * i386.h (no-accumulate-outgoing-args): Use proper mask.
6021 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
6023         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
6024         descriptor members are pointer size, not constant 4.
6025         * config/rs6000/rs6000.md (define_splits): Remove more unused
6026         constraints.
6028 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6030         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
6032 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
6034         * cp/rtti.c (VPARAMS): Fix parameter.
6036 2001-08-24  Zack Weinberg  <zackw@panix.com>
6038         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
6039         to zero.
6040         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
6041         to switch.
6042         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
6043         in if controlling use of insv.
6044         (extract_bit_field): Likewise, for extv and extzv.
6046 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
6048         * i386.md (movcc peep2): Fix load of 0.
6050 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6052         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
6053         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
6055 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
6057         * c-pragma.h: Move weak_syms and weak_decls...
6058         * varasm.c: ...here.  Now static.
6059         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
6060         depend on HANDLE_PRAGMA_WEAK.
6062         * c-common.c (c_alignof, c_alignof_expr): Move here...
6063         * c-typeck.c: ...from here.
6064         * c-tree.h, c-common.h: Adjust.
6066 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
6068         * config/ia64/ia64.c (rws_update): If !pred, set write_count
6069         instead of incrementing it.
6071         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
6072         asm ready, don't try to move them all into the same array element.
6074 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
6076         * function.c (thread_prologue_and_epilogue_insns): Avoid
6077         fallthru flag on edge to exit.
6079         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
6081         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
6082         dead edges.
6084 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
6086         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
6087         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
6088         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
6089         Remove prototype.
6091 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
6093         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
6094         replace "GNU CC" with "GCC".
6096 2001-08-23  Richard Henderson  <rth@redhat.com>
6098         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
6099         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
6100         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
6101         Need GR between FR and not GR_AND_FR.
6102         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
6103         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
6104         AR regs before GR regs.
6105         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
6106         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
6107         (REGISTER_MOVE_COST): Update.
6108         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
6110 2001-08-23  Richard Henderson  <rth@redhat.com>
6112         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
6113         a register class.
6115 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
6117         * reload1.c (emit_reload_insns): Don't look for notes
6118         on a NULL store_insn.
6120 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6122         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
6123         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
6124         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
6125         format specifier warnings.
6126         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
6128 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
6130         * config/i386/i386-protos.h: Correct declaration of
6131         i386_pe_asm_named_section.
6133 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6135         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
6136         variable i.
6137         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
6139 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
6141         * cpperror.c (print_location): Don't show _Pragma.
6142         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
6143         and file change callback generation here.
6144         (stack_include_file): Update use of cpp_push_buffer.
6145         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
6146         (struct cpp_buffer): Remove type, pfile members.
6147         * cppinit.c (cpp_handle_option): Use free_chain.
6148         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
6149         (skip_escaped_newlines, get_effective_char, lex_percent): Take
6150         a cpp_reader rather than a cpp_buffer.
6151         (skip_escaped_newlines, get_effective_char, skip_block_comment,
6152         skip_line_comment, parse_string, lex_percent, lex_dot,
6153         _cpp_lex_token): Update accordingly.
6154         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
6155         generation here.
6156         (cpp_push_buffer): Update prototype.
6157         (run_directive): Update use of cpp_push_buffer.
6158         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
6159         handle_assertion): Update use of run_directive.
6160         * cpplib.h (enum cpp_buffer_type): Remove.
6161         (cpp_push_buffer): Update prototype.
6162         * fix-header.c (read_scan_file): Update.
6164 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
6166         * gcc.c (struct prefix_list): Change prefix to const char *.
6168 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
6170         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
6172 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
6174         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
6175         from a new MEM.
6177         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
6178         a squeezable note.
6179         * rtl.h: Adjust.
6180         * ifcvt.c (dead_or_predicable): Adjust.
6181         * loop.c (find_and_verify_loops): Adjust.
6182         * stmt.c (expand_end_case): Adjust.
6183         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
6184         head and end insn pointers in the basic block, not just local copies.
6185         (merge_blocks_move_predecessor_nojumps): Likewise.
6187 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
6189         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
6190         bitmap.h, builtin-types.def, builtins.c, builtins.def,
6191         c-aux-info.c, c-common.c, c-common.def, c-common.h,
6192         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
6193         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
6194         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
6195         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
6196         conditions.h, config.gcc, configure.frag, configure.in,
6197         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
6198         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
6199         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
6200         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
6201         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
6202         emit-rtl.c, errors.c, errors.h, except.c, except.h,
6203         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
6204         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
6205         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
6206         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
6207         gencheck.c, gencodes.c, genconfig.c, genemit.c,
6208         genextract.c, genflags.c, gengenrtl.c, genmultilib,
6209         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
6210         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
6211         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
6212         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
6213         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
6214         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
6215         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
6216         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
6217         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
6218         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
6219         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
6220         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
6221         params.h, predict.c, predict.def, predict.h, prefix.c,
6222         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
6223         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
6224         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
6225         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
6226         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
6227         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
6228         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
6229         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
6230         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
6231         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
6232         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
6233         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
6234         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
6235         xcoffout.h: replace "GNU CC" with "GCC".
6237 2001-08-21  Richard Henderson  <rth@redhat.com>
6239         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
6240         (final_scan_insn): Consider jump tables data even if we have no
6241         independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
6242         ADDR_VEC_ALIGN.
6243         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
6244         (ASM_OUTPUT_CASE_END): Remove.
6245         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
6246         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
6247         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
6249 2001-08-21  Richard Henderson  <rth@redhat.com>
6251         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
6252         at barrier insns.  Emit stop bits before barriers.
6254         * flow.c (flow_find_cross_jump): Don't consider unconditional
6255         return insns for commoning.
6257         * final.c (compute_alignments): Fix typo.
6259         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
6260         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
6261         (store_bit_field): Use mode_for_extraction more places.
6262         (extract_bit_field): Likewise.
6264 2001-08-21  Zack Weinberg  <zackw@panix.com>
6266         * caller-save.c: Don't include insn-codes.h.
6267         (reg_save_code, reg_restore_code): Make arrays of int.
6268         All uses updated to match.
6269         (insert_save, insert_restore): No need to initialize "code"
6270         variable upon declaration.
6271         * Makefile.in: update dependencies; fix typo in clean rule.
6273 2001-08-21  Richard Henderson  <rth@redhat.com>
6275         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
6276         (merge_if_block): Handle fallout from same.
6278 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6280         * builtins.c (type_to_class): Fix typo in last change.
6282 2001-08-21  Richard Henderson  <rth@redhat.com>
6284         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
6285         ia64_asm_output_label.
6287         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
6288         copy of gp while the real gp register contains garbage.
6290 2001-08-21  Zack Weinberg  <zackw@panix.com>
6292         * expmed.c (mode_for_extraction): New function.
6293         (store_bit_field, extract_bit_field): Use it.
6294         * expr.h: Prototype it and provide an enum for its first argument.
6296         * combine.c, function.c, recog.c: Don't include insn-codes.h.
6297         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
6298         and digging through the insn_data tables.
6299         * Makefile.in: Update dependencies.
6301 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
6303         * cppfiles.c (stack_include_file): line-map.c now handles include
6304         depth.
6305         (handle_missing_handler): Similarly.
6306         (_cpp_execute_include): Similarly.
6307         (_cpp_pop_file_buffer): Similarly.
6308         * cpphash.h (struct cpp_reader): Remove system_include_depth,
6309         buffer_stack_depth and include_depth.
6310         * cpplib.c (do_include_common): line-map.c now handles include depth.
6311         (cpp_push_buffer): Similarly.
6312         (_cpp_pop_buffer): Similarly.
6313         * cppmacro.c (builtin_macro): Update.
6314         * line-map.c (init_line_maps): Set depth.
6315         (add_line_map): Increment "used" earlier.  Update and use the
6316         include depth.
6317         (trace_include): Use the include depth.
6318         * line-map.h (struct line_maps): New member depth.
6320 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
6322         * cppfiles.c (stack_include_file): Don't handle -H here.
6323         * cppinit.c (cpp_start_read): Set include tracing after
6324         cpp_post_options and after stacking the main file.
6325         * line-map.c (trace_include): New.
6326         (init_line_maps, add_line_map): Update.
6327         * line-map.h (struct line_maps): New member trace_includes.
6329 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
6331         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
6332         * cppfiles.c (stack_include_file): Only stack a file if there
6333         is something to do.  Return a boolean indicating whether a
6334         buffer was stacked or not.
6335         (_cpp_execute_include): Similarly.
6336         (_cpp_read_file): Similarly.
6337         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
6339 2001-08-21  Sam Steingold  <sds@gnu.org>
6341         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
6342         (RECACHE): keep obufp_before_macroname up to date
6344 2001-08-21  Zack Weinberg  <zackw@panix.com>
6346         * stmt.c: Don't include insn-codes.h.
6347         (expand_end_case): Machine specific logic moved to expr.c.
6348         No need to worry about __builtin_classify_type.
6349         (check_for_full_enumeration_handling, emit_case_nodes):
6350         Kill #if 0 blocks.
6352         * builtins.o (expand_builtin_classify_type): Split up so code
6353         can be shared with fold_builtin_classify_type.
6354         (type_to_class, fold_builtin_classify_type): New functions.
6355         (fold_builtins): Handle __builtin_classify_type.
6357         * expr.c (do_tablejump): Now static.
6358         (case_values_threshold, try_casesi, try_tablejump): New;
6359         code mostly from stmt.c (expand_end_case).
6360         (expr.h): Update prototypes.
6362         * Makefile.in (stmt.o): Update dependencies.
6364 2001-08-21  Will Cohen  <wcohen@redhat.com>
6366         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
6367         declaration of variable i.
6368         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
6369         declaration of variable i.
6371 2001-08-21  Richard Henderson  <rth@redhat.com>
6373         * crtstuff.c: Fix thinko last change.  Move list tails to start
6374         of CRT_END section.  Tidy ifdefs.
6375         (__EH_FRAME_BEGIN__): Always static for ELF.
6376         (__do_global_ctors_1): Rename from __frame_dummy.
6377         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
6378         name change; don't hide __EH_FRAME_BEGIN__.
6380 2001-08-21  Richard Henderson  <rth@redhat.com>
6382         * gdbinit.in: Move break on exit after break on fancy_abort.
6384         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
6385         sized types.
6387 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
6389         * cpphash.h (_cpp_push_next_buffer): New.
6390         * cppinit.c (do_includes): Remove.
6391         (push_include, free_chain, _cpp_push_next_buffer): New.
6392         (cpp_start_read): Use them to rework command line option handling.
6393         (cpp_handle_option): Combine handling of -include and -imacros.
6394         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
6395         appropriate.  Always insert missing \n at EOF.
6396         * cpplib.c (start_directive): Get the directive position right.
6397         * cppmain.c (cb_file_change): Always print the first line, unless
6398         preprocessed.
6400 2001-08-20  Andreas Jaeger  <aj@suse.de>
6402         * profile.c (compute_branch_probabilities): Remove extra new-line
6403         in error message.
6404         * flow.c (verify_flow_info): Likewise.
6406 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
6408         * basic-block.h (basic_block): Add new field 'flags'.
6409         (BB_REACHABLE): Define.
6410         (expunge_block): Declare.
6411         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
6412         (EXIT_BLOCK_PTR): Ditto.
6413         (expunge_block): Remove static declaration.
6414         (cleanup_cfg): Clear bb->aux on every basic block.
6415         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
6416         computing reachability.
6417         (delete_unreachable_blocks): Delete block b if b->flags has
6418         BB_REACHABLE unset.
6420 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
6422         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
6424 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6426         * sparc.c (sparc_variable_issue): Fix typo in last change.
6428 2001-08-20  Richard Henderson  <rth@redhat.com>
6430         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
6432 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6434         * pa.h (RETURN_IN_MEMORY): Improve comment.
6436 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
6438         * doc/invoke.texi (Profiling options): Clarify the interactions
6439         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
6441 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
6443         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
6444         command.
6446 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
6448         * gcc.c (make_relative_prefix): Allocate a sufficiently large
6449         buffer.
6451 2001-08-20  Richard Henderson  <rth@redhat.com>
6453         * final.c (end_final): Fix typo last change.
6455 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
6457         * cppinit.c (init_standard_includes): The returned buffer
6458         is already malloc-ed.
6459         * gcc.c (add_prefix): Similarly.
6460         * prefix.c (translate_name): Update to support clear buffer
6461         ownership rules.
6462         (update_path): Similarly.  Be sure to free any newly allocated
6463         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
6464         (tr): New function.
6465         * prefix.h (update_path): Update prototype and document.
6466         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
6467         up and update to new buffer ownership rules.
6468         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
6470 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
6472         * final.c (compute_alignments): New function.
6473         (init_insn_lengths): Do not care label_align.
6474         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
6475         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
6476         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
6477         (shorted_branches): Realloc label_align array; do
6478         not call init_insn_lengths; Do not care about loop alignments.
6479         * output.h (compute_alignments): Declare.
6480         * toplev.c (rest_of_compilation): Call compute_alignments.
6481         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
6483         * predict.c (block_info_def): Add npredecesors, remove nvisited;
6484         change visited to tovisit.
6485         (propagate_freq): Use faster traversing algorithm.
6486         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
6487         to tovisit; reverse meaning.
6489         * predict.c (struct block_info_def): Remove nvisited.
6490         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
6491         (estimate_bb_frequencies): Call mark_dfs_back_edges.
6493 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
6495         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
6496         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
6497         (TARGET_FUSED_MADD): New.
6498         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
6499         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
6500         the multiply-add instructions.
6502 2001-08-19  Richard Henderson  <rth@redhat.com>
6504         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
6505         is aligned to pointer size.
6507 2001-08-19  Richard Henderson  <rth@redhat.com>
6509         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
6510         display markers during final schedule.
6512 2001-08-19  Richard Henderson  <rth@redhat.com>
6514         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
6516 2001-08-19  Richard Henderson  <rth@redhat.com>
6518         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
6519         in the same string.
6520         (ASM_NAME_TO_STRING): Remove.
6521         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
6522         in the same string.  Remove support for expressions.
6524 2001-08-19  Richard Henderson  <rth@redhat.com>
6526         * config/i386/i386.md (tablejump): Make an expander; handle
6527         pic relative addressing here.
6528         (tablejump_1): Rename from tablejump_pic.
6529         (casesi): Remove.
6531 2001-08-19  Richard Henderson  <rth@redhat.com>
6533         * regclass.c (fix_register): Fix typo.
6535 2001-08-18  Richard Henderson  <rth@redhat.com>
6537         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
6538         (struct _Unwind_Context): Expand br_loc to hold it.
6539         (uw_frame_state_for): Handle leaf functions better.
6540         (uw_update_reg_address): Update for br_loc change.
6542 2001-08-18  Richard Henderson  <rth@redhat.com>
6544         * crtstuff.c: Move list heads before code that uses them.
6545         (__JCR_LIST__): Remove initial null.
6546         (frame_dummy, __frame_dummy): Do java registration here ...
6547         (__do_global_ctors_aux): ... not here.
6549         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
6550         (__do_global_dtors_aux): Update to match.
6551         (__JCR_LIST__, __do_jv_register_classes): New.
6552         (.init): Call it.
6553         * config/ia64/crtend.asm (__JCR_END__): New.
6554         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
6555         instead of an indirect LTOFF22 reloc.
6557 2001-08-18  Richard Henderson  <rth@redhat.com>
6559         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
6560         * regclass.c (init_reg_sets_1): Fix typo.
6561         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
6562         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
6563         (ia64_compute_frame_size): Make ar.unat live when in use.
6564         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
6565         for ar.pfs; remove ar.unat handling.
6566         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
6567         call-saved.
6568         (PREDICATE_CODES): Add ar_pfs_reg_operand.
6569         * config/ia64/ia64-protos.h: Update decls.
6570         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
6571         (sibcall_pic): Likewise.
6573 2001-08-18  Richard Henderson  <rth@redhat.com>
6575         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
6576         pred_rel_mutex when searching for insn_group_barrier.
6577         * config/ia64/ia64.md (cycle_display): Combine the expander
6578         and insn patterns.
6580         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
6581         bit before asm as needed.
6583 2001-08-18  Richard Henderson  <rth@redhat.com>
6585         * timevar.def (TV_MACH_DEP): New.
6586         * toplev.c (rest_of_compilation): Use it.
6587         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
6589 2001-08-18  Zack Weinberg  <zackw@panix.com>
6591         * unwind-dw2.c (execute_stack_op): Add default aborts to
6592         the inner switches to prevent warnings.
6594 2001-08-18  Richard Henderson  <rth@redhat.com>
6596         * timevar.h (struct timevar_time_def): Change element type to float.
6597         (ticks_to_msec, clocks_to_msec): Likewise.
6598         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
6599         (get_time): Likewise.
6600         (timevar_print): Adjust zero check and printing to match.
6602 2001-08-18  Zack Weinberg  <zackw@panix.com>
6604         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
6605         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
6606         Eliminate overfull or underfull hboxes.
6608 2001-08-18  Zack Weinberg  <zackw@panix.com>
6610         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
6612 2001-08-18  Zack Weinberg  <zackw@panix.com>
6614         * haifa-sched.c: Convert to target hooks.  Macros replaced
6615         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
6616         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
6617         MD_SCHED_FINISH, and HAVE_cycle_display.
6618         * target-def.h (TARGET_SCHED_ADJUST_COST,
6619         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
6620         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
6621         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
6622         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
6623         New hook #defines to be overridden.
6624         (TARGET_SCHED): Bring them all together.
6625         (TARGET_INITIALIZER): Update.
6626         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
6627         instead of 'struct rtx_def *' throughout.
6628         (struct sched): New set of hooks for the scheduler.
6629         * Makefile.in (haifa-sched.o): Depend on target.h.
6630         * doc/tm.texi: Document the new scheduler hooks, together in
6631         their own section, instead of scattered around.
6632         Fix a bunch of underfull/overfull hboxes.
6634         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
6635         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
6636         sparc.h: Don't define any of the old scheduler macros.
6638         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
6639         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
6640         sparc.c: Create hook functions from code extracted from
6641         corresponding target header, or make existing hooks static, as
6642         appropriate.  Set the appropriate entries in targetm.
6644         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
6645         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
6646         rs6000-protos.h, s390-protos.h, sparc-protos.h:
6647         Remove prototypes for functions which are now static.
6649         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
6650         related gunk; the Haifa scheduler is now the only choice.
6652 2001-08-18  Zack Weinberg  <zackw@panix.com>
6654         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
6655         * genopinit.c: Put floating point divide insns in sdiv_optab.
6656         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
6657         * config/gofast.h, config/c4x/c4x.h,
6658         config/ia64/hpux_longdouble.h, config/mips/mips.h,
6659         config/pa/long_double.h, config/rs6000/sysv4.h,
6660         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
6661         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
6662         (init_optabs): Use init_optabv for overflow-trapping optabs.
6663         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
6664         cmp_optab RTX codes so have_insn_for can find them.
6666         * optabs.c (expand_simple_binop, expand_simple_unop,
6667         have_insn_for, gen_sub3_insn): New interfaces.
6668         * expr.h: Prototype new functions.
6669         (enum optab_methods): Move here from optabs.h.
6671         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
6672         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
6673         Use new functions instead of working directly with optabs.
6674         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
6675         unroll.c: Don't include optabs.h.
6676         * caller-save.c, combine.c, function.c, stmt.c: Just include
6677         insn-codes.h, not optabs.h.
6678         * Makefile.in: Update dependencies.
6680         * combine.c (make_compound_operation, simplify_comparison):
6681         Fix typos testing for this or that instruction.
6683 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
6685         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
6686         generating libgcc.a.
6688 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6690         * except.c (TYPE_HASH): Delete.
6692         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
6693         HOST_WIDE_INT.
6695         * tree.c (TYPE_HASH): Delete.
6697         * tree.h (TYPE_HASH): Define.
6699 2001-08-18  Graham Stott  <grahams@redhat.com>
6701         * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
6702         define_split.
6703         (adddi3_internal_2+2): Likewise.
6704         (eh_set_lr_di+1): Likewise.
6706 2001-08-17  Richard Henderson  <rth@redhat.com>
6708         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
6709         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
6710         * dwarf2asm.c: ... here.
6711         * dwarfout.c: Remove them.
6713         * varasm.c (assemble_integer): Add align parameter.
6714         (assemble_real, output_constant, output_constructor): Likewise.
6715         * output.h: Update decls.
6716         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
6717         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
6718         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
6719         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
6720         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
6721         Update all callers.
6723         * final.c (end_final): Abort profile block generation if we
6724         havn't layed it out properly.
6725         * output.h (assemble_eh_integer): Remove stale decl.
6726         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
6727         (min_align): New.
6728         (assemble_integer): Handle unaligned data.
6729         (assemble_real): Abort on unaligned data.
6730         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
6731         anything useful.
6732         (default_dtor_section_asm_out_destructor): Use assemble_align.
6733         (default_named_section_asm_out_constructor): Likewise.
6734         (default_ctor_section_asm_out_constructor): Likewise.
6735         * config/darwin.c (machopic_asm_out_constructor): Likewise.
6736         (machopic_asm_out_destructor): Likewise.
6737         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
6738         (nextstep_asm_out_destructor): Likewise.
6739         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
6740         (vms_asm_out_destructor): Likewise.
6742 2001-08-17  Richard Henderson  <rth@redhat.com>
6744         * config/mips/iris6.h (TARGET_IRIX6): New.
6745         (current_section_name, current_section_flags): New.
6746         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
6747         (MAX_OFILE_ALIGNMENT): New.
6748         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
6749         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
6750         (copy_file_data): Split out from
6751         (mips_asm_file_end): ... here.
6752         (mips_asm_file_start): Remove extra .section directive.  Use
6753         tmpfile instead of mips_make_temp_file.
6754         (mips_unique_section): Use const char * as needed for warnings.
6755         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
6756         re-add align parameter.
6757         (iris6_asm_named_section): New.
6758         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
6759         (iris6_asm_output_align, iris6_section_align_1): New.
6760         (iris6_asm_file_start, iris6_asm_file_end): New.
6761         * config/mips/mips-protos.h: Update decls.
6763 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
6765         * doc/install.texi (Install GCC): Add links to build status pages.
6766         (Specific): Ditto.
6767         (Final install): Ditto; request updates for specific info
6769 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
6771         * cpperror.c (print_location):  Don't take a file name; use the
6772         line map instead.
6773         (_cpp_begin_message): Similarly.
6774         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
6775         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
6776         (cpp_pedwarn_with_file_and_line): Remove.
6777         * cppfiles.c (stack_include_file): Update; set filename to stdin
6778         here when appropriate.
6779         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
6780         (_cpp_begin_message): Don't take a file name.
6781         * cppinit.c: Add comment.
6782         * cpplex.c: Fix end-of-directive indicator.
6783         * cpplib.c: Don't include intl.h.
6784         (run_directive, do_diagnostic): Update.
6785         (do_line): Update to not use nominal_fname.
6786         (cpp_push_buffer): Don't take a filename.
6787         * cpplib.h (struct ht): Remove.
6788         (cpp_push_buffer): Don't take a filename.
6789         (cpp_pedwarn_with_file_and_line): Remove.
6790         * cppmacro.c (struct cpp_macro): Remove file.
6791         (builtin_macro): Update.
6792         (_cpp_create_definition): Update.
6793         * cppmain.c: Correct comment.
6794         * fix-header.c (read_scan_file): Update.
6796 2001-08-17  Kazu Hirata  <kazu@hxi.com>
6798         * sbitmap.c: Fix comment formatting.
6799         * sched-deps.c: Likewise.
6800         * sibcall.c: Likewise.
6801         * simplify-rtx.c: Likewise.
6802         * ssa.c: Likewise.
6803         * ssa-ccp.c: Likewise.
6804         * stor-layout.c: Likewise.
6805         * timevar.c: Likewise.
6806         * toplev.c: Likewise.
6807         * unwind-dw2.c: Likewise.
6808         * unwind-dw2-fde.c: Likewise.
6809         * varasm.c: Likewise.
6811 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6813         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
6814         or larger than an integer in memory.
6816 2001-08-17  Zack Weinberg  <zackw@panix.com>
6818         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
6819         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
6820         * rtl.h: Don't forward-declare union tree_node here.  Don't
6821         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
6822         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
6823         and tree respectively.
6824         * tree.h: Don't forward-declare struct rtx_def here.  Don't
6825         typedef tree here.  Change all uses of struct rtx_def *,
6826         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
6827         and tree respectively.
6829 2001-08-17  Richard Henderson  <rth@redhat.com>
6831         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
6832         config/mips/openbsd.h: Fix typos last change.
6834 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6836         * doc/invoke.texi (Optimize Options): The default for
6837         -finline-limit is 600.
6839 2001-08-17  Richard Henderson  <rth@redhat.com>
6841         * varasm.c (text_section): Allow TEXT_SECTION to override the
6842         printing of TEXT_SECTION_ASM_OP.
6843         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
6844         (DATA_SECTION, BSS_SECTION): Remove.
6845         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
6846         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
6847         Rename from s/_NAME//.
6848         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
6849         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
6850         (TEXT_SECTION): ... here.  New.
6851         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
6852         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
6853         * config/mips/openbsd.h: Likewise.
6854         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
6855         (mips_asm_file_end): Likewise test.
6856         (mips_output_function_epilogue): Likewise.  Switch back to data
6857         section after emitting the function.
6859         * doc/tm.texi (Sections): Document TEXT_SECTION.
6861 2001-08-17  Richard Henderson  <rth@redhat.com>
6863         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
6864         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
6866 2001-08-17  Richard Henderson  <rth@redhat.com>
6868         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
6869         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
6870         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
6871         Add aligned attribute.
6873 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
6875         * config/sh/sh.md: Add modes to unspecs in first insn to match
6876         those in the second.
6878         * Makefile.in: Fix collect2 copy for Cygwin.
6880 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
6882         Install the proper patch.
6883         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
6884         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
6885         (expand_function_start): Likewise.
6886         * stmt.c (expand_decl): Likewise.
6887         * varasm.c (make_decl_rtx): Likewise.
6889 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
6891         * final.c: Undo my previous accidental checkin.
6892         * output.h: Likewise.
6893         * tm.texi: Likewise.
6895 2001-08-16  Richard Henderson  <rth@redhat.com>
6897         * varasm.c (named_section_flags): Remove align parameter.
6898         * varasm.c, dwarf2out.c: Update all callers.
6899         * output.h: Update prototypes.
6901         * target.h (target.asm_out.named_section): Remove align parameter.
6902         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
6903         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
6904         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
6905         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
6906         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
6908         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
6909         (get_named_section_flags, set_named_section_flags): New.
6910         (named_section_flags): Use them.
6911         (named_section): Do decl vs section flags check here...
6912         (default_section_type_flags): ... not here.
6913         (init_varasm_once): Create in_named_htab.
6914         (resolve_unique_section): Mark reloc unused.
6916 2001-08-16  Richard Henderson  <rth@redhat.com>
6918         * varasm.c (force_const_mem): Keep pool alignment in bits.
6919         (output_constant_pool): Use assemble_align.
6921 2001-08-16  Zack Weinberg  <zackw@panix.com>
6923         * doc/tm.texi: Remove extra @table command.
6925 2001-08-16  Zack Weinberg  <zackw@panix.com>
6927         * final.c (shorten_branches): Clear the end of the label_align
6928         array only if we made it larger.  Break up messy expressions
6929         for clarity.
6931         * diagnostic.c (internal_error): Check for error recursion
6932         before doing ICE suppression.
6934         * timevar.c: Timing variables now count in milliseconds.
6935         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
6936         (get_time): Not here.
6937         (timevar_print): Don't print any timer whose user, cpu, and
6938         wall times are all zero as displayed.
6939         * timevar.h: Update comment aboout units.  Make timevar
6940         counters unsigned.
6942 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
6944         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
6945         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
6946         (expand_function_start): Likewise.
6947         * stmt.c (expand_decl): Likewise.
6948         * varasm.c (make_decl_rtx): Likewise.
6950 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
6952         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
6953         (finalize_record_size): Don't set TYPE_USER_ALIGN.
6955 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
6957         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
6958         variables.
6960 2001-08-16  Andreas Jaeger  <aj@suse.de>
6962         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
6963         prototype.
6965 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
6967         * rtl.h (only_sets_cc0_p): New prototype.
6968         * jump.c (sets_cc0_p): Handle INSN.
6969         (only_sets_cc0_p): New function.
6970         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
6971         (tidy_fallthru_edge): Likewise.
6972         * integrate.c (copy_insn_list): Likewise.
6973         * unroll.c (unroll_loop): Likewise.
6974         (copy_loop_body): Likewise.
6976 2001-08-15  Jason Eckhardt  <jle@redhat.com>
6978         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
6980 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
6982         * predict.c (struct block_info_def): Remove nvisited.
6983         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
6984         (estimate_bb_frequencies): Call mark_dfs_back_edges.
6986         * i386.c (ix86_agi_depdendant): Lea causes AGI only on the Pentium
6987         (ix86_adjust_cost): Teach scheduler that latency to load operand can
6988         be masked.
6990 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
6992         * predict.def: Update hitrates.
6994 2001-08-15  Richard Henderson  <rth@redhat.com>
6996         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
6998 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
7000         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
7001         note from its associated jump.
7003 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
7005         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
7006         also on 64-bit s390x targets.
7008 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
7010         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
7011         function.
7012         (arm_expand_prologue): Handled nested functions which take a
7013         variable argument list.
7014         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
7015         macro with an invocation of
7016         arm_compute_initial_elimination_offset.
7017         * config/arm/arm-protos.h: Prototype
7018         arm_compute_initial_elimination_offset.
7020 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7022         * doc/install.texi (Specific, avr): Fix markup.
7023         (Specific, c4x): Ditto.
7025 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7027         * predict.c (dump_prediction): Change `bool' parameter to `int'.
7029 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
7031         * Makefile.in (OBJS): Add rtl-error.o
7032         (rtl-error.o): New rule.
7033         (diagnostic.o): Adjust dependency.
7034         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
7035         error_for_asm, _fatal_insn, _fatal_insn_not_found,
7036         warning_for_asm): Move to...
7037         rtl-error.c: ...here.  New file.
7039 2001-08-14  Richard Henderson  <rth@redhat.com>
7041         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
7042         if USING_SJLJ_EXCEPTIONS.
7044 2001-08-14  Steve Ellcey <sje@cup.hp.com>
7046         * tlink.c (scan_linker_output): Check string for unsatisfied in
7047         addition to undefined and unresolved.
7049 2001-08-14  Graham Stott  <grahams@redhat.com>
7051         * libgcc2.c (*): Replace EH_FRAME_SECTION with
7052         EH_FRAME_SECTION_NAME.
7054 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
7056         * genattrtab.c (simplify_test_exp_in_temp): New function.
7057         (simplify_test_exp): Avoid explicit use of temporary obstack.
7058         (simplify_cond, insert_right_side, evaluate_eq_attr,
7059         simplify_and_tree, simplify_or_tree, eliminate_known_true):
7060         Use simplify_test_exp_in_temp.
7061         (optimize_attrs): Iterate until expression stabilizes.
7063 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
7065         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
7066         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
7068 2001-08-13  Richard Henderson  <rth@redhat.com>
7070         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
7071         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
7072         * config/arm/conix-elf.h: Likewise.
7074 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
7076         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
7077         in gcc.c.
7078         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
7080         * gcse.c (hash_scan_set): Expressions that are set as part of
7081         jump instructions are not available.
7083 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
7085         * config/s390/s390.c (print_operand, s390_function_prologue,
7086         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
7088 2001-08-13  Richard Henderson  <rth@redhat.com>
7090         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
7091         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
7092         * doc/tm.texi (Exception Region Output): Document it.
7094 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
7096         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
7097         DWARF2 instead of stabs by default.
7099 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
7101         * config/rs6000/rs6000.c: Include optabs.h.
7103 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
7105         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
7106         save/restore routines.
7107         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
7109 2001-08-13  Andreas Jaeger  <aj@suse.de>
7111         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
7112         the english is correct.
7114 2001-08-13  Zack Weinberg  <zackw@panix.com>
7116         * expr.h: Split out optab- and libfunc-related code to...
7117         * optabs.h, libfuncs.h: ... these new headers.
7119         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
7120         (OPTABS_H): New.
7121         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
7122         dependencies.
7123         * mkconfig.sh: Don't include insn-codes.h from config.h.
7125         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
7126         enum insn_code is available.  Move reload_in_optab and
7127         reload_out_optab array declarations to optabs.h.
7128         * regmove.c (gen_add3_insn): Move to optabs.c, export from
7129         there, prototype in expr.h.
7130         * gencodes.c: Cleanup: zap global variables, don't use
7131         printf where puts will do, don't bother defining MAX_INSN_CODE
7132         which nothing uses, let CODE_FOR_nothing get its value implicitly.
7134         * genemit.c, genopinit.c: Include optabs.h in generated file.
7135         * genoutput.c: Include insn-codes.h in generated file.
7136         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
7137         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
7138         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
7139         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
7140         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
7141         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
7142         Include optabs.h.
7143         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
7144         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
7145         config/m88k/m88k.c, config/sparc/sparc.c:
7146         Include libfuncs.h.
7147         * reload.c: Include expr.h and optabs.h before reload.h.
7148         * config/alpha/alpha.c: Include tree.h before reload.h.
7149         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
7150         and reload.h in that order.
7151         * config/sparc/sparc.c: Include debug.h.
7152         * recog.c: Include insn-codes.h.
7154 2001-08-13  Andreas Jaeger  <aj@suse.de>
7156         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
7157         s390*linux.
7159 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
7161         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
7162         * gcc.c (init_spec): Fix typo in comment.
7163         * varasm.c (data_section): Fix typo in comment.
7165 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
7167         * predict.c (dump_prediction): New argument "USED".
7168         (combine_predictions_for_insn): Determine the used heuristics,
7169         output the case no heuristic applied.
7170         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
7172 2001-08-13  Andreas Jaeger  <aj@suse.de>
7174         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
7175         register %rip.
7177 2001-08-13  Kazu Hirata  <kazu@hxi.com>
7179         * jump.c: Fix formatting.
7181 2001-08-13  Kazu Hirata  <kazu@hxi.com>
7183         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
7184         length.
7186 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
7188         * loop.c (check_dbra_loop): Use condjump_label to compute
7189         jump_label.
7191         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
7192         to better document the files they're in.
7194 2001-08-12  Zack Weinberg  <zackw@panix.com>
7196         * recog.h (struct insn_operand_data): Shrink 'mode' field
7197         to 16 bits.
7199 2001-08-12  Kazu Hirata  <kazu@hxi.com>
7201         * gcc.c: Fix comment formatting.
7202         * gccspec.c: Likewise.
7203         * gcov.c: Likewise.
7204         * gcse.c: Likewise.
7205         * genemit.c: Likewise.
7206         * gengenrtl.c: Likewise.
7207         * genrecog.c: Likewise.
7208         * gensupport.c: Likewise.
7209         * ggc-page.c: Likewise.
7210         * global.c: Likewise.
7211         * graph.c: Likewise.
7212         * ifcvt.c: Likewise.
7213         * integrate.c: Likewise.
7214         * lcm.c: Likewise.
7215         * libgcc2.c: Likewise.
7216         * loop.c: Likewise.
7217         * mbchar.c: Likewise.
7218         * optabs.c: Likewise.
7219         * predict.c: Likewise.
7220         * prefix.c: Likewise.
7221         * profile.c: Likewise.
7222         * protoize.c: Likewise.
7223         * real.c: Likewise.
7224         * recog.c: Likewise.
7225         * regclass.c: Likewise.
7226         * regmove.c: Likewise.
7227         * reg-stack.c: Likewise.
7228         * reload1.c: Likewise.
7229         * resource.c: Likewise.
7230         * rtlanal.c: Likewise.
7231         * rtl.c: Likewise.
7233 2001-08-12  Kazu Hirata  <kazu@hxi.com>
7235         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
7236         a tree representing a constant is passed to the macro.
7238 2001-08-12  Richard Henderson  <rth@redhat.com>
7240         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
7241         (rs6000_elf_asm_out_destructor): New.
7242         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
7243         (DTORS_SECTION_ASM_OP): Remove.
7244         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
7245         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
7247 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
7249         Revert:
7250         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7251         * gcc.c (set_collect_gcc_options): New function, split out from
7252         main.
7253         Ignore elided switches.
7254         (do_spec_1): Invoke before executing command.
7255         (set_input): Export.
7256         Move declaration ...
7257         * gcc.h (set_input): ... here.
7258         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
7259         file.
7261 2001-08-12  Richard Henderson  <rth@redhat.com>
7263         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
7264         thinko wrt TARGET_RELOCATABLE.
7266 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
7268         * fix-header.c (cb_file_change): Update prototype.
7270 2001-08-11  Zack Weinberg  <zackw@panix.com>
7272         * toplev.c (set_float_handler): Make static.
7273         * toplev.h: Don't prototype set_float_handler.
7275         * simplify-rtx.c: Don't include setjmp.h.
7276         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
7277         New functions.
7278         (simplify_unary_operation, simplify_binary_operation): Use them,
7279         via do_float_handler.
7281         * fold-const.c: Don't include setjmp.h.
7282         (exact_real_inverse_1): New function.
7283         (exact_real_inverse): Use it, via do_float_handler.
7285         * varasm.c: Don't include setjmp.h.
7286         (assemble_real_1): New function.
7287         (assemble_real): Use it, via do_float_handler.
7288         Call internal_error if we get a trap here.
7290         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
7291         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
7293 2001-08-11  Zack Weinberg  <zackw@panix.com>
7295         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
7296         STACK_BOUNDARY if not already defined.
7298         * calls.c, function.c, reload1.c, explow.c: Don't default
7299         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
7300         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
7302         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
7303         to run-time test.
7305         * doc/tm.texi: Document that STACK_BOUNDARY is required;
7306         clarify difference between it and PREFERRED_STACK_BOUNDARY.
7308 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
7310         * cppmacro.c (enter_macro_context): Push macro expansions even
7311         if empty.
7313 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7315         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
7316         (rs6000_elf_section_type_flags): Actually return a value.
7318 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
7320         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
7321         Clean up code: add missing comments and prototypes, fix warnings,
7322         remove obsolete code, fix spacing to conform to coding style.
7324 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
7326         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
7327         and TARGET_ASM_CLOSE_PAREN.
7328         (regclass_map): CC register belongs to class NO_REGS.
7329         (legitimize_pic_address): Don't generate unnecessary moves
7330         (to avoid confusing loop optimization).
7331         (check_and_change_labels): Replace jump_long by indirect_jump.
7332         (s390_final_chunkify): Don't start a new literal pool on section
7333         switch in 64-bit code.
7334         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
7336         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
7337         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
7338         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
7339         modes correctly.
7340         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
7341         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
7342         (CONST_COSTS): Fixed incorrect costs.
7344         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
7345         Use emit_jump instead of emit_jump_insn (gen_jump).
7346         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
7347         (to avoid confusing flow analysis).
7348         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
7349         (casesi, casesi_jump): New.
7350         (jump_long): Removed.  Functionality merged into indirect_jump.
7351         (indirect_jump): Accept address_operand, not just register_operand.
7352         (cjump_long, icjump_long): Use same logic as indirect_jump.
7353         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
7354         Fixed broken setjmp/longjmp handling.
7355         (do_builtin_setjmp_setup): Removed.
7357         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
7358         broken GNU as versions that don't accept .quad with large
7359         negative values.  Use hexadecimal output instead.
7360         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
7361         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
7362         FUNCTION_EPILOGUE): Removed.  Now in targetm.
7364         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
7366         * config/s390/fixdfdi.h: Add missing copyright statement.
7367         Fix type conflicts on 64-bit.  Add missing SFmode routines.
7369         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
7370         email address.
7372 2001-08-11  Richard Henderson  <rth@redhat.com>
7374         * rtl.h (REG_EH_RETHROW): Remove.
7375         * rtl.c (reg_note_name): Update.
7376         * combine.c (distribute_notes): Don't check for it.
7378 2001-08-11  Richard Henderson  <rth@redhat.com>
7380         * combine.c (distribute_notes): Place REG_SETJMP.
7382 2001-08-11  Richard Henderson  <rth@redhat.com>
7384         * doc/extend.texi (Arrays and pointers implementation): Discourage
7385         relying on sign-extension of pointers.
7387 2001-08-11  H.J. Lu <hjl@gnu.org>
7389         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
7390         in_dtors.
7391         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
7392         RDATA_SECTION_ASM_OP.
7394 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7396         * doc/install.texi (Specific, c4x): Fix cross-reference to the
7397         main manual to work both for info and HTML versions.
7399 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
7400             Matt Kraai <kraai@alumni.carnegiemellon.edu>
7402         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
7403         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
7404         (struct cpp_pool): New member first.
7405         * cppinit.c (append_include_chain): Plug memory leaks.
7406         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
7407         Allocate pragma structures from the (aligned) macro pool to
7408         avoid leaking memory.
7409         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
7410         so we don't leak memory.
7411         * hashtable.c (ht_destroy): New.
7412         * hashtable.h (ht_destroy): New.
7414 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
7415             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7417         * c-lex.c (map): Make const.
7418         (cb_file_change): Update for callback passing a line map.
7419         Don't assume we have a previous map.  Remove sanity check
7420         about popping too many files.
7421         * cpperror.c (print_location): Make map const.
7422         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
7423         (cpp_make_system_header): Similarly.
7424         (search_from): Similarly.
7425         (_cpp_execute_include): Don't remember where we came from.
7426         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
7427         (struct cpp_reader): Make map const.
7428         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
7429         * cpplib.c (do_line): Update; line maps now hold sysp.
7430         (cpp_push_buffer): Similarly.
7431         (_cpp_do_file_change): Similarly; callback with map instead.
7432         (cpp_get_line_maps): Constify return value.
7433         (_cpp_pop_buffer): Update.
7434         * cpplib.h (struct cpp_file_change): Remove.
7435         (struct cpp_callbacks): Update.
7436         (cpp_get_line_maps): Constify return value.
7437         * cppmacro.c (_cpp_create_definition): Update.
7438         * cppmain.c (struct printer): Constify map.
7439         (maybe_print_line): Similarly.
7440         (print_line): Similarly.  Deduce flags 1 and 2 here.
7441         (cb_file_change): Update.
7442         * line-map.c (free_line_maps): Warn regardless.
7443         (add_line_map): Return pointer to const.  When passed NULL to_file
7444         with LC_LEAVE, use the obvious values for the return point so the
7445         caller doesn't have to figure them out.
7446         (lookup_line): Return pointer to const.
7447         (print_containing_files): Take pointer to const.
7448         * line-map.h (struct line_map): New members reason, sysp.
7449         (add_line_map): Return pointer to const.
7450         (lookup_line): Similarly.
7451         (print_containing_files): Take pointer to const.
7453 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
7454             Richard Henderson  <rth@redhat.com>
7456         * regmove.c (regmove_optimize): Avoid setting a register twice in
7457         a parallel set.
7459 2001-08-10  Richard Henderson  <rth@redhat.com>
7461         * doc/extend.texi (Arrays and pointers implementation): Document
7462         behavior of pointer/integer conversion.
7464 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
7466         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
7468 2001-08-10  Richard Henderson  <rth@redhat.com>
7470         * doc/extend.texi (C Implementation): New chapter.
7471         * doc/gcc.texi (Top): Link it in.
7473 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
7475         * doc/install.texi (Specific): Fix CVS merge botch.
7477 2001-08-10  Richard Henderson  <rth@redhat.com>
7479         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
7480         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
7482 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
7484         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
7485         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
7486         this macro is now required.
7488         * cselib.c (cselib_process_insn), flow.c (propagate_block),
7489         loop.c (find_and_verify_loops), reload.c (reload): Check
7490         for rtx code of CALL_INSN, not CALL, when deciding if we
7491         need to check for REG_SETJMP note.
7493         * gcse.c (compute_hash_table, compute_store_table): Update
7494         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
7495         logic.
7497         * config/avr/avr.c: Fix typo.
7498         * config/convex/convex.c (expand_movstr): Use adjust_address.
7499         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
7500         variable.
7501         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
7502         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
7503         Fix typo.
7504         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
7505         Do define STACK_BOUNDARY.
7506         * config/i370/i370.c: Include expr.h.
7507         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
7508         config/pa/som.h, config/v850/v850.h: Take in_ctors and
7509         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
7510         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
7511         * config/m88k/m88k.c: Include c-tree.h after expr.h.
7512         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
7513         * config/romp/romp.c: Include expr.h after tree.h.
7514         Include toplev.h.
7515         (output_fpop): Use xmalloc, not oballoc.
7516         * config/we32k/we32k.c: Include expr.h.
7518 2001-08-10  Kazu Hirata  <kazu@hxi.com>
7520         * config/h8300/h8300.h: Fix formatting.
7522 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
7524         * c-common.h (RETURN_NULLIFIED_P): Lose.
7525         * c-semantics.c (genrtl_return_stmt): Don't check it.
7527 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
7529         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
7530         (mips_annotate_frame_insn): New function.
7531         (mips_emit_frame_related_store): New function.
7532         (save_restore_insns): Don't mark instructions that set up the base
7533         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
7534         the store instructions instead.
7535         (mips_expand_prologue): If the stack size is moved into a temporary
7536         register, do not mark that move as frame-related.  Add a
7537         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
7539 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
7541         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
7542         stack slot as unchanging if current_function_calls_eh_return.
7544 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
7546         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
7547         access the second half of the TFmode scratch operand.
7549 2001-08-10  Anthony Green  <green@redhat.com>
7551         * java/class.c (emit_register_classes): Conditionalize code on
7552         JCR_SECTION_NAME.
7554 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7556         * doc/install.texi (Specific, avr): Fix cross-reference to the
7557         main manual to work both for info and HTML versions.
7559 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7561         * stmt.c (expand_null_return_1): Remove code to generate simple returns
7562         and "use_goto" argument.
7563         (expand_null_return, expand_value_return): Update all callers.
7564         * function.c (expand_function_end): Remove code to generate simple
7565         return.
7566         * config/vax/vax.md (epilogue): New expander for function return.
7567         * doc/md.texi (epilogue): Remove "if defined".
7569 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
7571         * Makefile.in: Partially revert my previous change:
7572         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
7573         of the hashtab.o and safe-ctype.o rules.
7575 2001-08-09  Richard Henderson  <rth@redhat.com>
7577         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
7578         (USE_COLLECT2): Remove duplicate definition.
7579         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
7580         (use_collect2): Remove dead code.
7581         * configure.in (use_collect2): Remove will_use_collect2 and
7582         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
7583         * configure: Rebuild.
7585         * target.h (targetm.asm_out.constructor): New.
7586         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
7587         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
7588         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
7589         * varasm.c (in_ctors, in_dtors): New.
7590         (assemble_constructor, assemble_destructor): Remove.
7591         (default_stabs_asm_out_destructor): New.
7592         (default_named_section_asm_out_destructor): New.
7593         (dtors_section, default_dtor_section_asm_out_destructor): New.
7594         (default_stabs_asm_out_constructor): New.
7595         (default_named_section_asm_out_constructor): New.
7596         (ctors_section, default_ctor_section_asm_out_constructor): New.
7597         * output.h: Update declarations.
7598         * c-decl.c (c_expand_body): Use target hooks instead of
7599         assemble_constructor and assemble_destructor.
7600         * profile.c (output_func_start_profiler): Likewise.
7601         * objc/objc-act.c (finish_objc): Likewise.
7602         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
7603         for the constructor.
7604         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
7606         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
7607         (DTORS_SECTION_ASM_OP): Likewise.
7608         (__CTOR_LIST__): Use attribute section when possible.
7609         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
7611         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
7612         ASM_OUTPUT_CONSTRUCTOR.
7614         * config/darwin.c (machopic_asm_out_constructor): New.
7615         (machopic_asm_out_destructor): New.
7616         * config/darwin-protos.h: Update declarations.
7617         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
7618         (ASM_OUTPUT_DESTRUCTOR): Remove.
7619         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
7620         * config/nextstep.c (nextstep_asm_out_constructor): New.
7621         (nextstep_asm_out_destructor): New.
7622         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
7623         (ASM_OUTPUT_DESTRUCTOR): Remove.
7624         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
7625         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
7626         ASM_OUTPUT_*STRUCTOR.
7627         * config/i386/aix386ng.h: Likewise.
7629         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
7630         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
7631         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
7632         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
7633         * config/lynx.h: Likewise.
7634         * config/netware.h: Likewise.
7635         * config/psos.h: Likewise.
7636         * config/alpha/alpha-interix.h: Likewise.
7637         * config/alpha/elf.h: Likewise.
7638         * config/arc/arc.h: Likewise.
7639         * config/arm/aof.h: Likewise.
7640         * config/arm/coff.h: Likewise.
7641         * config/arm/elf.h: Likewise.
7642         * config/c4x/c4x.h: Likewise.
7643         * config/h8300/h8300.h: Likewise.
7644         * config/i386/cygwin.h: Likewise.
7645         * config/i386/djgpp.h: Likewise.
7646         * config/i386/i386-coff.h: Likewise.
7647         * config/i386/i386-interix.h: Likewise.
7648         * config/i386/sco5.h: Likewise.
7649         * config/i386/vsta.h: Likewise.
7650         * config/i386/win32.h: Likewise.
7651         * config/i960/i960-coff.h: Likewise.
7652         * config/ia64/sysv4.h: Likewise.
7653         * config/m68hc11/m68hc11.h: Likewise.
7654         * config/m68k/coff.h: Likewise.
7655         * config/m68k/mot3300.h: Likewise.
7656         * config/m88k/m88k.h: Likewise.
7657         * config/mcore/mcore-pe.h: Likewise.
7658         * config/mcore/mcore.h: Likewise.
7659         * config/mips/elf.h: Likewise.
7660         * config/mips/elf64.h: Likewise.
7661         * config/mips/iris6.h: Likewise.
7662         * config/pa/pa64-hpux.h: Likewise.
7663         * config/rs6000/sysv4.h: Likewise.
7664         * config/sh/sh.h: Likewise.
7665         * config/sparc/litecoff.h: Likewise.
7667         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
7668         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
7669         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
7670         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
7671         (ASM_OUTPUT_DESTRUCTOR): Remove.
7672         * config/a29k/a29k.c: Move include of tree.h.
7673         * config/a29k/udi.h: Delete file.
7674         * config/alpha/alpha.c (vms_asm_out_constructor): New.
7675         (vms_asm_out_destructor): New.
7676         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
7677         (EXTRA_SECTION_FUNCTIONS): Likewise.
7678         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
7679         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
7680         * config/c4x/c4x.c: Move include of tree.h.
7681         * config/clipper/clipper.c (clix_asm_out_constructor): New.
7682         (clix_asm_out_destructor): New.
7683         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
7684         (ASM_OUTPUT_DESTRUCTOR): Remove.
7685         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
7686         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
7687         (TARGET_ASM_CONSTRUCTOR): New.
7688         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
7689         (sco_asm_out_constructor): New.
7690         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
7691         * config/i386/svr3gas.h: Remove stack grows up code.
7692         Remove code duplicated from i386/sysv3.h.
7693         (TARGET_ASM_CONSTRUCTOR): New.
7694         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
7695         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
7696         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
7697         (TARGET_ASM_CONSTRUCTOR): New.
7698         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
7699         (m68hc11_asm_out_destructor): New.
7700         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
7701         (TARGET_ASM_DESTRUCTOR): New.
7702         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
7703         * config/m68k/dpx2.h: Properly undef all the bits inherited from
7704         config/svr3.h pertaining to section manipulation.
7705         * config/m68k/dpx2g.h: Remove #if 0 code.
7706         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
7707         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
7708         (ASM_OUTPUT_CONSTRUCTOR): Remove.
7709         (TARGET_ASM_CONSTRUCTOR): New.
7710         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
7711         (m88k_svr3_asm_out_constructor): New.
7712         (m88k_svr3_asm_out_destructor): New.
7713         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
7714         (ASM_OUTPUT_DESTRUCTOR): Remove.
7715         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
7716         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
7717         * config/rs6000/aix.h: Likewise.
7718         * config/mips/rtems64.h: Don't undef removed constructor related bits.
7719         * config/mips/vxworks.h: Likewise.
7720         * config/rs6000/lynx.h: Likewise.
7721         * config/sh/elf.h: Likewise.
7722         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
7723         (DTORS_SECTION_ASM_OP): New.
7724         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
7725         (ASM_OUTPUT_DESTRUCTOR): Remove.
7726         * config/sparc/sol2-sld-64.h: Likewise.
7727         * config/vax/vax.c (vms_asm_out_constructor): New.
7728         (vms_asm_out_destructor): New.
7729         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
7730         (ASM_OUTPUT_DESTRUCTOR): Remove.
7731         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
7733         * doc/tm.texi (@node Initialization): Update.
7735 2001-08-09  Richard Henderson  <rth@redhat.com>
7737         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
7738         (__do_global_dtors_aux): Use gp-relative static data to avoid
7739         one dynamic relocation.
7740         (__do_frame_setup): Register Java classes.
7741         * config/alpha/crtend.asm (__JCR_END__): New.
7743 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
7745         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
7746         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
7747         (GEN, STAGESTUFF): Add new files.
7748         (insn-constants.h, s-constants, tm-preds.h, s-preds,
7749         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
7750         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
7751         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
7752         as well as insn-codes.h and insn-flags.h in config.h; and no
7753         extra headers in tconfig.h and hconfig.h.
7755         * gencodes.c: Eliminate code to generate predicate declarations
7756         or #defines for md-file constants.
7757         * genconstants.c, genpreds.c: New files.
7759         * i386.md: Re-order guard expressions such that TARGET_64BIT
7760         comes first, when this permits better optimization.  Add
7761         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
7762         why this is desirable.
7764 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
7766         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
7767         (find_fde_for_dso): Remove.
7768         (_Unwind_IteratePhdrCallback): New.
7769         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
7770         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
7772 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7774         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
7775         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
7777 2001-08-09  Graham Stott  <grahams@redhat.com>
7779         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
7780         (vis_no_unit): Use it.
7781         (visualize_no_unit): Add the insn only if room exists.
7783 2001-08-09  Graham Stott  <grahams@redhat.com>
7785         * predict.c (estimate_probability): Replace magic numbers with
7786         appropriate enumeration.
7788 2001-08-09  Graham Stott  <grahams@redhat.com>
7790         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
7791         parameter.
7792         (EXTRACT_FLAGS): Likewise.
7794 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
7796         * config/mips/mips.c    (mips_legitimate_address_p): Check for
7797         CONST_INT in last patch.
7799 2001-08-08  Anthony Green  <green@redhat.com>
7801         * java/class.c (emit_register_classes): Use assemble_jcr if
7802         possible.  Keep the original mechanism as a fallback.
7803         * defaults.h (JCR_SECTION_NAME): Define if we have named section
7804         and weak symbol support.
7805         * crtstuff.c (__JCR_LIST__): Define.
7806         (__JCR_END__): Define.
7807         (_Jv_RegiserClasses): Define weak symbol if possible.
7808         (__do_global_ctors_aux): Register classes for ELF targets with
7809         weak symbol support.
7811 2001-08-08  Kazu Hirata  <kazu@hxi.com>
7813         * dbxout.c: Fix comment formatting.
7814         * dependence.c: Likewise.
7815         * df.c: Likewise.
7816         * diagnostic.c: Likewise.
7817         * dominance.c: Likewise.
7818         * doprint.c: Likewise.
7819         * dwarf2out.c: Likewise.
7820         * dwarfout.c: Likewise.
7821         * emit-rtl.c: Likewise.
7822         * except.c: Likewise.
7823         * explow.c: Likewise.
7824         * expmed.c: Likewise.
7825         * expr.c: Likewise.
7826         * flow.c: Likewise.
7827         * fold-const.c: Likewise.
7828         * function.c: Likewise.
7830 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7832         * global.c (retry_global_alloc): Avoid shadowing allocno.
7834 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
7836         * except.c (remove_fixup_regions): Fix typo.
7838 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
7840         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
7841         unsigned HOST_WIDE_INT to avoid warning.
7842         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
7843         * flow.c (set_block_for_new_insns): Likewise.
7845 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
7847         * sibcall.c (return_value_pseudo): New static variable.
7848         (skip_copy_to_return_value): Handle return_value_pseudo.
7849         (call_ends_block_p): Ensure that return_value_pseudo is set.
7850         (optimize_sibling_and_tail_recursive_call): Discover the
7851         load of pseudo return value in alternate exit block.
7853 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
7855         * calls.c (ECF_ALWAYS_RETURN): New constant.
7856         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
7857         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
7858         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
7859         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
7860         * rtl.c (reg_note_name): New name.
7861         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
7863 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
7865         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
7867 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
7869         * alias.c (get_alias_set): Return a previously calculated
7870         alias set for a VAR_DECL.
7871         * function.c (gen_mem_addressof): Calculate the alias set before
7872         touching the RTL.
7874 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
7876         * predict.def: Set hitrates according our experimental run.
7878 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
7880         * i386.h (HARD_REGNO_RENAME_OK): New macro.
7882 2001-08-08  H.J. Lu <hjl@gnu.org>
7884         * config/mips/mips.c (mips_unique_section): New. Copied from
7885         config/mips/elf.h.
7887         * config/mips/mips-protos.h (mips_unique_section): New
7888         prototype.
7890         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
7892         * config/mips/little.h: New. Generic little endian mips
7893         targets. Only mips*-*-linux* is converted to use it so far.
7895         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
7896         (WCHAR_TYPE): Defined
7897         (WCHAR_TYPE_SIZE): Likewise.
7898         (INIT_SUBTARGET_OPTABS): Likewise.
7899         (BSS_SECTION_ASM_OP): Likewise.
7900         (SBSS_SECTION_ASM_OP): Likewise.
7901         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
7902         (ASM_DECLARE_OBJECT_NAME): Likewise.
7903         (UNIQUE_SECTION): Likewise.
7904         (EXTRA_SECTIONS): Likewise.
7905         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
7906         (ASM_OUTPUT_DESTRUCTOR): Likewise.
7907         (ASM_OUTPUT_DEF): Likewise.
7908         (HANDLE_SYSV_PRAGMA): Removed.
7909         (NO_IMPLICIT_EXTERN_C): Likewise.
7910         (TARGET_MEM_FUNCTIONS): Likewise.
7911         (STARTFILE_SPEC): Likewise.
7912         (ENDFILE_SPEC): Likewise.
7913         (LIB_SPEC): Likewise.
7914         (INVOKE__main): Likewise.
7915         (CTOR_LIST_BEGIN): Likewise.
7916         (CTOR_LIST_END): Likewise.
7917         (DTOR_LIST_BEGIN): Likewise.
7918         (DTOR_LIST_END): Likewise.
7919         (SET_ASM_OP): Likewise.
7920         (ASM_OUTPUT_SOURCE_LINE): Likewise.
7921         (ASM_OUTPUT_DEF): Likewise.
7922         (ASM_OUTPUT_IDENT): Likewise.
7924         * config/mips/mips.h (ASM_SPEC): Undefine before define.
7925         (CPLUSPLUS_CPP_SPEC): Likewise.
7926         (ASM_APP_ON) Redefine only if not defined.
7927         (ASM_APP_OFF): Likewise.
7928         (ASM_OUTPUT_SOURCE_LINE): Likewise.
7929         (ASM_OUTPUT_IDENT): Likewise.
7931         * config.gcc: Update tm_file for Linux/mips.
7933 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
7935         * cselib.c (cselib_record_sets): If insn is predicated, turn
7936         sources into IF_THEN_ELSEs.
7938         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
7939         Turn into define_insn_and_split.
7941         * sched-deps.c: Include "cselib.h".
7942         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
7943         Use cselib to turn memory addresses into VALUEs.
7944         (sched_analyze): Call cselib_init/cselib_finish if necessary.
7945         * sched-int.h (struct sched_info): New member USE_CSELIB.
7946         * sched-ebb.c (ebb_sched_info): Initialize it.
7947         * sched-rgn.c (rgn_sched_info): Likewise.
7948         * Makefile.in (sched-deps.o): Update dependencies.
7950         * cselib.h (cselib_subst_to_values): Declare.
7951         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
7952         that have no value and autoincs to be handled by generating a new
7953         dummy value.
7955 2001-08-08  Graham Stott  <grahams@redhat.com>
7957         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
7958         within fixed length SEQUENCE.
7960 2001-08-08  Graham Stott  <grahams@redhat.com>
7962         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
7963         (diagnostic_prefixing_rule): Likewise.
7964         (diagnostic_line_cutoff): Likewise.
7965         (diagnostic_kind_count): Likewise.
7967 2001-08-08  Graham Stott  <grahams@redhat.com>
7969         * alias.c (find_base_decl): Delete redundent assignment.
7971 2001-08-08  Graham Stott  <grahams@redhat.com>
7973         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
7974         (abs): Uppercase and paranthesize macro parameter.
7975         (MEM_DEPENDENCY): Add whitespace.
7977 2001-08-08  Graham Stott  <grahams@redhat.com>
7979         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
7980         failure check for CONST_INT
7982 2001-08-08  Graham Stott  <grahams@redhat.com>
7984         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
7985         (libcall_dead_p): Likewise.
7987         (mark_used_regs): Constify fmt.
7988         (find_use_as_address): Likewise.
7990 2001-08-08  Graham Stott  <grahams@redhat.com>
7992         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
7993          parameter.
7995 2001-08-08  Graham Stott  <grahams@redhat.com>
7997         * combine.c (combine_simplify_rtx): Update comment and
7998         remove erroneous test.
8000 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
8002         * cppinit.c (cpp_finish): Pop the final buffer without comment.
8003         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
8004         take care to avoid multiple no-newline at EOF warnings in that
8005         case.
8007 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
8009         * calls.c (expand_call): Do not emit INSN_SETJMP note.
8010         (emit_library_call_value_1): Likewise.
8011         (emit_call_1): Emit REG_SETJMP note.
8012         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
8013         of INSN_SETJMP
8014         * cselib.c (cselib_process_insn): Likewise.
8015         * flow.c (propagate_block): Likewise.
8016         * loop.c (find_and_verify_loops): Likewise.
8017         * reload.c (find_equiv_regs): Likewise.
8018         * reload1.c (reload): Likewise.
8019         * resource.c (mark_referenced_resources,
8020         mark_set_resources): Likewise.
8021         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
8022         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
8023         * haifa-sched.c (unlink_other_notes): Likewise.
8024         (reemit_notes): Likewise.
8025         * sched-ebb.c (sched_ebb): Likewise.
8026         * sched-rgc.c (sched_region): Likewise.
8027         * rtl.c (note_insn_name): Likewise.
8028         (reg_note_name): Add REG_SETJMP
8029         * rtl.h (reg_note): Add REG_SETJMP.
8030         (insn_note): Remove NOTE_INSN_SETJMP.
8032         * profile.c (branch_prob): Add fake edges for setjmp.
8034 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
8036         * config.gcc: Quote target_cpu_default2 correctly for
8037         powerpc*-*-* targets.
8039 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
8041         * cpplib.h, line-map.h: Update comments.
8042         * cppmain.c (printer_init): Move inline.
8043         (maybe_print_line, print_line): Take a map pointer.
8044         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
8045         (cb_file_change): Don't use prior value of print.map.
8047 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
8049         * doc/install.texi: Document fine-grained multilib configuration.
8051 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
8053         * rtlanal.c (find_first_parameter_load): Call note_stores
8054         only on the instructions.
8056 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
8058         * alias.c (nonlocal_mentioned_p):
8059         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
8060         * calls.c (emit_call_1): Likewise.
8061         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
8062         * cselib.c (cselib_process_insn): Likewise.
8063         * df.c (df_insns_modify): Likewise.
8064         * flow.c (need_fake_edge_p): Likewise.
8065         (propagate_one_insn): Likewise.
8066         * haifa-sched.c (reemit_notes): Likewise.
8067         * integrate.c (copy_insn_list): Likewise.
8068         * jump.c (delete_prior_computation): Likewise.
8069         * local-alloc.c (validate_equiv_mem): Likewise.
8070         * loop.c (scan_loop): Likewise.
8071         * predict.c (estimate_probability): Likewise.
8072         * reload.c (reload): Likewise.
8073         * sched-deps (sched_analyze): Likewise.
8074         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
8075         * gcse.c (compute_hash_table): Likewise.
8076         (mark_call): Likewise.
8077         (store_killed_in_insn): Likewise.
8079 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
8081         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
8083 2001-08-06  Richard Henderson  <rth@redhat.com>
8085         * varasm.c (assemble_gc_entry): Remove.
8086         * output.h: Likewise.
8088 2001-08-06  Richard Henderson  <rth@redhat.com>
8090         * varasm.c (assemble_constructor): Take a symbol_ref and a
8091         priority instead of a bare string.  Move priority handling
8092         here from cp/decl2.c.
8093         * output.h: Update decls.
8095         * c-decl.c (c_expand_body): Update calls to assemble_constructor
8096         and assemble_destructor.
8097         * profile.c (output_func_start_profiler): Likewise.
8098         * objc/objc-act.c (finish_objc): Likewise.
8099         (build_module_descriptor): Return the symbol not the symbol name.
8101 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
8103         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
8104         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
8105         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
8106         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
8107         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
8108         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
8110 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
8112         * cpperror.c (print_containing_files): Moved to line-map.c.
8113         (print_location): line-map.c handles re-listing or otherwise.
8114         * cpphash.h (struct lexer_state): Remove next_bol.
8115         (struct cpp_buffer): Remove include_stack_listed.
8116         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
8117         Remove faked buffer handling.
8118         (_cpp_do_file_change): Tweak.
8119         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
8120         * cppmain.c (struct printer): Remove filename.
8121         (print_line, cb_file_change): Update accordingly.
8122         * line-map.c: Include intl.h.
8123         (init_line_maps): Initialize last_listed.
8124         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
8125         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
8126         (print_containing_files): New.
8127         * line-map.h (struct line_maps): New member last_listed.
8128         (print_containing_files, INCLUDED_FROM): New.
8129         * Makefile.in: Update.
8130         * po/POTFILES.in: Add line-map.c.
8132 2001-08-06  Richard Henderson  <rth@redhat.com>
8134         * except.c (convert_from_eh_region_ranges_1): Never mark
8135         USE or CLOBBER insns as throwing.
8137         * expr.c (store_constructor): Don't clobber memory targets.
8139 2001-08-06  Andreas Jaeger  <aj@suse.de>
8141         * profile.c (branch_prob): Remove unused variable insn.
8143         * Makefile.in (local-alloc.o): Add dependency on except.h.
8145         * local-alloc.c: Include except.h for can_throw_internal prototype.
8147 2001-08-06  Richard Henderson  <rth@redhat.com>
8149         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
8150         * function.c (expand_main_function): Implement it.
8151         * doc/tm.texi: Document it.
8153 2001-08-06  Stan Shebs  <shebs@apple.com>
8155         * doc/install.texi: Document powerpc-*-darwin* details.
8157 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
8159         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
8160         (ASM_CPU_SPEC): Move back to rs6000.h
8161         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
8163         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
8165         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
8166         readded.
8168         * config/rs6000/linux64.h: Ditto.
8170         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
8171         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
8172         nothing.
8174         Remove accidently readded definitions of FUNCTION_PROLOGUE,
8175         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
8177         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
8178         to rs6000.h
8180 2001-08-05  Richard Henderson  <rth@redhat.com>
8182         * local-alloc.c (update_equiv_regs): Do not move insns that
8183         can throw.
8185 2001-08-05  Jan Hubicka  <jh@suse.cz>
8187         * Makefile.in (reload1.o): Add dedendancy on except.h
8188         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
8189         prototypes.
8190         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
8191         indicating wehther edges has been cleaned up.
8192         * reload1.c: Inlucde except.h
8193         (fixup_abnormal_edges): Accept deleted insns.
8194         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
8195         after combine.
8197 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
8199         * cpplib.c (do_line): Correct line number after pop_buffer.
8201 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
8203         PR preprocessor/3824
8204         * line-map.c: Update comments.
8205         * line-map.h: Update comments.
8206         * tradcif.y: Don't consider large numbers unsigned.
8208 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
8210         PR preprocessor/3081
8211         * c-lex.c (map): New.
8212         (cb_file_change): Update map and use it.
8213         (cb_def_pragma, cb_define, cb_undef): Use map and line.
8214         (c_lex): Update to use map.
8215         * cpperror.c (print_location): Move to using logical line numbers.
8216         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
8217         (cpp_make_system_header): Similarly.
8218         (_cpp_execute_include): Stop line numbering hacks.  Store the
8219         line we will return to.
8220         * cpphash.h (CPP_BUF_LINE): Remove.
8221         (struct cpp_buffer): Remove lineno and pseudo_newlines.
8222         Add map and return_to_line.
8223         (_cpp_do_file_change): Update.
8224         * cppinit.c (cpp_start_read): Update line kludge.
8225         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
8226         (trigraph_ok): Use logical line numbers for diagnostics.
8227         (skip_block_comment): Likewise.
8228         (skip_whitespace): Likewise.
8229         (skip_line_comment): Use pfile->line instead.
8230         (_cpp_lex_token): Update to use logical line numbering exclusively.
8231         Handle BOL locally.  Accept new lines in directives, but keep
8232         pfile->line decremented.  Diagnostics use logical lines.  Update
8233         directive handling.
8234         * cpplib.c (SEEN_EOL): New.
8235         (skip_rest_of_line, check_eol): Use it.
8236         (end_directive): Increase line number when accepting the newline
8237         at the end of a directive.
8238         (run_directive): Simplify.
8239         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
8240         (_cpp_do_file_change): Update to take buffer line number as an
8241         argument, and store the current map in the cpp_reader.  Remove
8242         line number kludges.
8243         (_cpp_do__Pragma): Restore output position after a _Pragma.
8244         (cpp_push_buffer): Don't set output line or lineno.
8245         (_cpp_pop_buffer): Transfer more info from a faked buffer.
8246         Remove line kludge.  Set output_line.
8247         * cppmacro.c (builtin_macro): Update handling of __LINE__.
8248         (parse_arg): Use logical lines.
8249         (save_lookahead_token): Save EOFs too now.
8250         * cppmain.c (struct printer): Fix comments.
8251         (printer_init): Simplify, let caller do errors.
8252         (scan_translation_unit, check_multiline_token, dump_macro): Update.
8253         (maybe_print_line): Simplify.
8254         (print_line): Don't print a linemarker if -P.
8255         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
8256         (cb_file_change): Simplify.
8257         * line-map.h (LAST_SOURCE_LINE): Fix.
8258         (CURRENT_LINE_MAP): New.
8260 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
8262         * doloop.c (doloop_modify_runtime): Properly compute number of
8263         iterations if loop was unrolled.
8265         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
8266         if their CSELIB_VAL_PTRs are.
8268         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
8269         (setup_spill_pointers): Initialize it.
8270         (spill_restore_mem): Set it.
8271         (do_spill, do_restore): Use it to add REG_INC note.
8272         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
8274         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
8275         asms if other insns are available.
8277         * config/ia64/ia64.c (condop_operator): New predicate.
8278         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
8279         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
8280         patterns.
8282         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
8283         temporary register than directly using a MEM.
8285 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
8287         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
8288         parameter in last change.
8290 2001-08-04  Zack Weinberg  <zackw@panix.com>
8292         * sparc.md: Don't use #if inside C test expression.
8294 2001-08-04  Richard Henderson  <rth@redhat.com>
8296         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
8298 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
8300         * cpphash.h (struct cpp_reader): New member directive_line.
8301         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
8302         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
8303         do_pragma): Pass line to callbacks.
8304         (start_directive): Record line of directive.
8305         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
8306         cb_include): Similarly.
8307         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
8308         Similarly.
8310 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
8312         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
8313         comment.
8315 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
8317         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
8319         * reload1.c (fixup_abnormal_edges): New static function.
8320         (reload): Use it.
8322         * flow.c (need_fake_edge_p): New function.
8323         (flow_call_edges_add): Fix handling of noreturn and sibbling calls;
8324         avoid call insn to be very last insn in the insn stream.
8326         * profile.c (branch_prob): Call flow_call_edges_add instead of
8327         doing that by hand; cleanup cfg to re-merge basic blocks once
8328         we are done.
8330 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
8332         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
8333         are also on line-map.h.
8334         * cppfiles.c (stack_include_file): Update.
8335         * cpphash.h (struct cpp_buffer): New member return_at_eof.
8336         (_cpp_pop_buffer): New.
8337         * cppinit.c (cpp_destroy, cpp_finish): Update.
8338         (do_includes): Mark each buffer to return at EOF.
8339         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
8340         return as requested.
8341         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
8342         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
8343         * cpplib.h (cpp_pop_buffer): Remove.
8344         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
8345         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
8346         buffers.
8347         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
8348         to pop buffers.
8349         (do_preprocessing): Update.
8350         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
8351         * c-parse.in (_yylex): Similarly.
8352         * scan-decls.c (scan_decls): Similarly.
8353         * line-map.h: Update comments.
8355         * objc/Make-lang.in (objc-act.o): Update dependencies.
8357 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8359         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
8360         and soft register for operand 0.
8361         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
8363 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8365         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
8366         register for operand 0.
8367         ("bitcmpqi_z_used"): Allow memory for operand 0.
8368         (split "bitcmpqi"): New split to handle address reg as operand 1.
8370 2001-08-04  Andreas Jaeger  <aj@suse.de>
8372         * gcse.c: Revert Daniel's last patch.
8374 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
8376         * sparc-protos.h: Add prototypes for fp_zero_operand and
8377         reg_or_0_operand.
8378         * sh-protos.h: Add prototype for fpul_operand.
8380 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
8382         * doc/extend.texi (Other Builtins): Fix typo in last change.
8384 2001-08-03  Richard Henderson  <rth@redhat.com>
8386         * target.h (gcc_target): Add asm_out.named_section,
8387         section_type_flags, have_named_sections.
8388         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
8389         (TARGET_HAVE_NAMED_SECTIONS): New.
8390         (TARGET_SECTION_TYPE_FLAGS): New.
8392         * Makefile.in (toplev.o): Depend on TARGET_H.
8393         (varasm.o, dbxout.o): Likewise.
8394         * c-common.c (decl_attributes): Check targetm.have_named_sections
8395         instead of ifdef ASM_OUTPUT_SECTION_NAME.
8396         * dbxout.c (dbxout_function_decl): Likewise.
8397         (dbxout_function_end): Likewise.
8398         * toplev.c (compile_file): Likewise.
8399         * varasm.c (exception_section): Likewise.
8400         * cp/decl2.c (finish_objects): Likewise.
8402         * defaults.h (EH_FRAME_SECTION): Remove.
8403         (EH_FRAME_SECTION_ASM_OP): Remove.
8404         (EH_FRAME_SECTION_NAME): New.
8405         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
8406         (UNIQUE_SECTION_P): Remove.
8407         * dwarf2out.c (SECTION_FORMAT): Remove.
8408         (ASM_OUTPUT_SECTION): Remove.
8409         (output_call_frame_info): Use named_section_flags.
8410         (output_comp_unit, dwarf2out_start_source_file): Likewise.
8411         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
8412         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
8413         * varasm.c (in_eh_frame, eh_frame_section): Remove.
8414         (named_section_flags): New.
8415         (named_section): Use it and targetm.section_type_flags.
8416         (resolve_unique_section): New.
8417         (assemble_start_function): Use it.
8418         (asm_emit_uninitialised, assemble_variable): Likewise.
8419         (default_section_type_flags): New.
8420         (default_no_named_section, default_elf_asm_named_section): New.
8421         (default_coff_asm_named_section, default_pe_asm_named_section): New.
8422         * output.h: Update varasm.c decls.
8423         (SECTION_*): New flags.
8425         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
8426         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
8428         * config/elfos.h (UNIQUE_SECTION_P): Remove.
8429         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
8430         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
8431         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
8432         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
8433         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
8434         * config/mips/elf.h, config/mips/elf64.h: Likewise.
8435         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
8436         * config/pa/pa64-hpux.h,
8438         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
8439         (TARGET_ASM_NAMED_SECTION): New.
8440         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
8441         * config/alpha/vms.h, config/arm/coff.h: Likewise.
8442         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
8443         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
8444         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
8445         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
8446         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
8447         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
8448         * config/i386/sco5.h, config/i386/win32.h: Likewise.
8449         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
8450         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
8451         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
8452         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
8453         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
8454         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
8455         * config/sparc/sysv4.h: Likewise.
8457         * config/nextstep.h: Error until named sections implemented.
8459         * config/a29k/a29k.c (a29k_asm_named_section): New.
8460         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
8461         (vms_section_type_flags, vms_asm_named_section): New.
8462         * config/arm/arm.c (arm_elf_asm_named_section): New.
8463         * config/avr/avr.c (asm_output_section_name): Remove.
8464         * config/avr/avr-protos.h: Update.
8465         * config/c4x/c4x.c (c4x_asm_named_section): New.
8466         * config/h8300/h8300.c (h8300_asm_named_section): New.
8467         * config/i386/i386.c (sco_asm_named_section): New.
8468         * config/i386/winnt.c (SECTION_PE_SHARED): New.
8469         (i386_pe_section_type_flags): New.
8470         (i386_pe_asm_named_section): New.
8471         * config/i386/i386-protos.h: Update.
8472         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
8473         * config/mcore/mcore.c (mcore_asm_named_section): New.
8474         * config/mips/mips.c (iris6_asm_named_section): New.
8475         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
8476         instead of UNIQUE_SECTION_P.
8477         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
8478         (xcoff_asm_named_section): New.
8479         * config/sh/sh.c (sh_asm_named_section): New.
8480         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
8482         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
8483         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
8484         (EH_FRAME_SECTION_NAME): New.
8485         (EXCEPTION_SECTION): New.
8486         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
8487         (DEBUG_*_SECTION): Remove.
8488         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
8489         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
8490         (EH_FRAME_SECTION_ASM_OP): Remove.
8492         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
8493         (ASM_OUTPUT_SECTION_NAME): Remove.
8494         (TARGET_ASM_NAMED_SECTION): New.
8495         (TARGET_HAVE_NAMED_SECTIONS): New.
8496         (TARGET_SECTION_TYPE_FLAGS): New.
8497         (EH_FRAME_SECTION_ASM_OP): Remove.
8498         (EH_FRAME_SECTION_NAME): New.
8500 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
8502         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
8503         for complex expressions when cfun == 0.
8504         * doc/extend.texi: Document that __builtin_constant_p can be
8505         used in data initializers as well as functions.
8507 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
8509         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
8510         variable I locally, instead of expecting a declaration in the
8511         calling context.
8513 2001-08-03  Richard Henderson  <rth@redhat.com>
8515         * except.c (collect_one_action_chain): Add an explicit cleanup
8516         action if regions surrounding a catch were encoded entirely
8517         within the call-site entry.
8519 2001-08-03  Richard Henderson  <rth@redhat.com>
8521         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
8522         don't take REGNO of a non-register.
8524 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8526         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
8527         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
8528         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
8529         (__gthread_mutex_init_function): New function for mutex initialization.
8531 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
8533         * Makefile.in: Revert screwed up commit.
8535 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8537         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
8538         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
8539         merged by linker script to get a final _exit().
8540         (__do_global_dtors): New for destructor handling in specific exit
8541         section.
8542         (__do_global_ctors): New for constructors in specific install section.
8543         (__map_data_section): Map data sections before running constructors.
8544         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
8545         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
8546         (DTORS_SECTION_ASM_OP): Likewise.
8547         (CTORS_SECTION_FUNCTION): Define to force a reference to
8548         __do_global_ctors.
8549         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
8551 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
8553         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
8555         * Makefile.in: Add df.h to gcse.c dependencies.
8557 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8559         * varasm.c (output_constant_def_contents): Use for the length of a
8560         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
8561         depending on which is larger.
8563 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
8565         * gcse.c: Include df.h for use as a dataflow analyzer.
8566         Remove regvec.
8567         Declaration of reg_set_info: gone.
8568         New df_analyzer variable used by store motion.
8569         (reg_set_info): Deleted.
8570         (mark_mem_regs): New function, analyze regs used by a mem.
8571         (store_ops_ok): Use dataflow analyzer results to determine if
8572         necessary regs are changed in the block.
8573         (find_moveable_store): Remove check for symbol ref, we can handle
8574         much more complex expressions now.
8575         (compute_store_table): Remove most of the code, it's unnecessary
8576         now that the dataflow analyzer records the info for us.
8577         (store_killed_after): Add parameter to say whether to do the
8578         store_ops_okay test, used to speed up testing when we already know
8579         the answer, and just want to know if the store itself was killed.
8580         (build_store_vector): Largely rewritten to calculate the various
8581         vectors properly, and somewhat optimized.
8582         (store_motion): Init the df_analyzer, get REG_DEF chains.
8583         Also handle trapping expressions (since mems almost always trap)
8584         (simple_mem): Redefine what a simple mem is.
8586 2001-08-03  DJ Delorie  <dj@redhat.com>
8588         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
8589         set from a constant part of the condition.
8591 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
8593         * mkdeps.c (deps_add_default_target): Make local variable
8594         ``start'' a const char pointer.
8595         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
8597 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8599         * doc/install.texi (Configuration): Fix markup.
8600         (Specific, i?86-*-udk): Likewise.
8601         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
8602         --with-gnu-ld.
8603         Document --enable-threads and --enable-libgcj status.
8604         (Specific, mips-sgi-irix*): Canonicalize triples.
8605         (Specific, mips-sgi-irix5): Warn about problems with this config.
8606         Mention required GNU as patch.
8607         Native assembler problems are fixed.
8608         (Specific, mips-sgi-irix6): Update O32 ABI support status.
8609         Document --enable-threads and --enable-libgcj status.
8611 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
8613         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
8614         of mkinstalldirs.
8616 2001-08-03  Richard Henderson  <rth@redhat.com>
8618         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
8619         constant data.
8621 2001-08-03  Richard Henderson  <rth@redhat.com>
8623         * rtlanal.c (find_first_parameter_load): Stop if we
8624         reach a CODE_LABEL at BOUNDARY.
8626 2001-08-03  Richard Henderson  <rth@redhat.com>
8628         * config/alpha/alpha.md (force_movdi): New insn.
8629         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
8630         Tweek FRP marking of VMS prologue insns.
8631         * config/alpha/vms.h (EPILOGUE_USES): New.
8633 2001-08-02  Richard Henderson  <rth@redhat.com>
8635         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
8637 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
8639         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
8640         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
8641         config/convex/convex.h, config/d30v/d30v.c,
8642         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
8643         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
8644         config/mips/mips.h, config/mn10200/mn10200.h,
8645         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
8646         config/v850/v850.h, config/vax/openbsd.h,
8647         config/vax/openbsd1.h, config/vax/ultrix.h,
8648         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
8649         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
8650         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
8651         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
8652         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
8653         in comments and documentation.
8655 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
8657         * line-map.c: New.
8658         * line-map.h: New.
8659         * Makefile.in (line-map.o): New.
8660         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
8661         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
8662         * cpperror.c (print_containing_files): Similarly.
8663         (print_location): Update.  Don't output a space before _Pragma.
8664         * cppfiles.c (stack_include_file): Set to line 1 immediately.
8665         (stack_include_filee, cpp_make_system_header): Update.
8666         (_cpp_execute_include): Get logical line number right for calling
8667         as-yet-unterminated #include.
8668         * cpphash.h (struct cpp_reader): Add line_maps.
8669         (_cpp_do_file_change): Update.
8670         * cppinit.c (cpp_create_reader): Initialize line maps.
8671         (cpp_destroy): Destroy line maps.
8672         (cpp_start_read): Get logical line number right.
8673         * cpplex.c (parse_string): Only warn once for multi-line strings.
8674         Use boolean variable for null warning.
8675         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
8676         already.
8677         (do_include_common): End the directive early.
8678         (do_line): Don't warn about out-of-range lines in preprocessed
8679         source.  Update.  Remove unused variables.
8680         (_cpp_do_file_change): Update for new line mapping.
8681         (pragma_cb): New typedef.
8682         (cpp_register_pragma): Stop looking ahead before calling the
8683         handler.  Clean up.
8684         (do_pragma_system_header): End directive early.
8685         (cpp_get_line_maps): New.
8686         (cpp_pop_buffer): Fudge logical line.  Update.
8687         * cpplib.h: Include line-map.h
8688         (enum cpp_fc_reason): Remove.
8689         (struct cpp_file_change): Update.
8690         (cpp_get_line_maps): New.
8691         * cppmain.c (struct_printer): New member map.
8692         (cb_file_change): Update for new mappings.
8693         * fix-header.c (cb_file_change): Similarly.
8695 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
8697         * Makefile.in (libgcc.mk): Define mkinstalldirs.
8698         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
8700 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
8702         * config/vax/vax.c: include expr.h.
8704 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
8706         * Makefile.in ($(srcdir)/configure): Only rebuild in
8707         maintainer mode.
8708         ($(srcdir)/config.in): Only define in maintainer mode.
8709         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
8711 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
8713         * doc/install.texi (Install GCC: Binaries): Update Bull info.
8715 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8717         * gcc.c (set_collect_gcc_options): New function, split out from
8718         main.
8719         Ignore elided switches.
8720         (do_spec_1): Invoke before executing command.
8721         (set_input): Export.
8722         Move declaration ...
8723         * gcc.h (set_input): ... here.
8724         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
8725         file.
8727 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
8729         Kill -fhonor-std.
8730         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
8731         interaction.
8732         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
8734 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
8736         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
8737         for the unnamed instructions it expands to.
8739 2001-08-02  Richard Henderson  <rth@redhat.com>
8741         * regclass.c (call_really_used_regs): Conditionally define.
8742         (init_reg_sets_1): Don't use it if not defined.
8743         (fix_register): Similarly, don't set it.
8745 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8747         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
8748         Correct comment that had been missed in the previous change.
8750 2001-08-01  Stan Shebs  <shebs@apple.com>
8752         * config/darwin.c (machopic_stub_name): Try matching by name.
8753         (update_stubs): New function.
8754         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
8755         unconditionally.
8757 2001-08-01  Richard Henderson  <rth@redhat.com>
8759         * except.c (output_function_exception_table): Use assemble_align.
8760         * varasm.c (assemble_eh_label): Remove.
8761         (assemble_eh_align, assemble_eh_integer): Remove.
8763 2001-08-01  Robert Lipe  <robertl@caldera.com>
8765         * dwarfout.c: Remove reference to README.DWARF.
8767 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
8769         * regclass.c (call_really_used_regs): New array for registers which
8770         are actually used by a call.
8771         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
8772         new array.
8773         (fix_register): Set call_really_used too.
8774         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
8775         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
8777 2001-08-01  Richard Henderson  <rth@redhat.com>
8779         * read-rtl.c (read_name): Consider \r whitespace.
8781 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
8783         * config.gcc: Recognize powerpc-*-netbsd*.
8785         * doc/install.texi (Host/target specific installation notes for
8786         GCC): Mention powerpc-*-netbsd*.
8788         * config/rs6000/netbsd.h: New file.
8789         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
8790         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
8791         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
8792         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
8793         (TARGET_VERSION): Redefine.
8795         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
8796         mcall-netbsd as a match for mcall-sysv.
8797         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
8798         (ncrti.S, ncrtn.S): New targets.
8799         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
8801         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
8802         "netbsd' as a V4 ABI.
8803         (ASM_SPEC): Check for -mcall-netbsd.
8804         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
8805         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
8806         (LIB_SPEC, ENDFILE_SPEC): Ditto.
8807         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
8808         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
8809         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
8810         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
8812         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
8813         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
8815 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
8817         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
8818         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
8819         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
8820         including "unwind-pe.h".
8822 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
8824         * rs6000.md (define_splits): Kill unused constraints.
8826 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
8827                               Jan Hubicka  <jh@suse.cz>
8829         * function.c (thread_prologue_and_epilogue_insns): Kill code
8830         dealing with non-existent CFG.
8832 2001-08-01  Kazu Hirata  <kazu@hxi.com>
8834         * alias.c: Fix comment formatting.
8835         * bitmap.c: Likewise.
8836         * builtins.c: Likewise.
8837         * calls.c: Likewise.
8838         * c-common.c: Likewise.
8839         * c-decl.c: Likewise.
8840         * c-dump.c: Likewise.
8841         * c-lex.c: Likewise.
8842         * collect2.c: Likewise.
8843         * combine.c: Likewise.
8844         * conflict.c: Likewise.
8845         * cppfiles.c: Likewise.
8846         * cppinit.c: Likewise.
8847         * cpplex.c: Likewise.
8848         * cpplib.c: Likewise.
8849         * cppmacro.c: Likewise.
8850         * cppspec.c: Likewise.
8851         * c-pragma.c: Likewise.
8852         * crtstuff.c: Likewise.
8853         * cse.c: Likewise.
8854         * cselib.c: Likewise.
8855         * c-semantics.c: Likewise.
8856         * c-typeck.c: Likewise.
8858 2001-08-01  H.J. Lu <hjl@gnu.org>
8860         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
8862 2001-08-01  H.J. Lu <hjl@gnu.org>
8864         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
8866 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
8868         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
8869         contextualizing Objective-C class name lookup by the lexer.
8870         (typespec_reserved_nonattr): Disable ObjC class name lookup after
8871         seeing a TYPESPEC.
8872         (protocoldef): Add support for forward @protocol declarations.
8873         (yylexname): Suppress ObjC class name lookup in certain contexts;
8874         re-enable after lookup is complete.
8875         (_yylex): Re-enable ObjC class name lookup when certain
8876         punctuation marks are seen.
8878         * objc/objc-act.c (check_protocol_recursively): New function used
8879         for finding circular dependencies in protocols.
8880         (objc_declare_protocols): New function for handling forward
8881         @protocol declarations.
8882         (receiver_is_class_object): Detect the case when 'self' is used
8883         inside of a class method.
8884         (build_message_expr): Issue a warning if class method is desired
8885         but instance method is found instead.
8886         (conforms_to_protocol): Streamline.
8887         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
8888         protocol Foo, even if 'Bar foo' does not.
8889         (check_protocols): Streamline.
8890         (start_protocol): Add checks for circular and duplicate protocol
8891         definitions.
8892         (encode_aggregate_within): For typedefs of structs, encode the
8893         underlying struct.
8894         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
8895         (objc_declare_protocols): New prototype.
8897 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
8899         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
8900         * cpplex.c (handle_newline): Update prototype.  Maintain logical
8901         line number.
8902         (skip_escaped_newlines, skip_block_comment, parse_string):
8903         Update accordingly.
8904         (_cpp_lex_token): Update, and store token position within the token.
8905         * cpplib.h (struct cpp_token): Add line and column entries.
8906         * cppmacro.c (replace_args): Position stringified tokens correctly.
8908 2001-08-01  Andreas Jaeger  <aj@suse.de>
8910         * basic-block.h: Add prototype for last_loop_beg_note.
8912 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
8914         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
8915         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
8916         comment.
8917         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
8918         while handling WITH_CLEANUP_EXPR node. Use second operand calling
8919         expand_decl_cleanup.
8920         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
8921         the first RTX.
8922         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
8923         operand while calling simple_cst_equal.
8924         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
8925         operand is the cleanup expression, the third is the RTL_EXPR.
8926         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
8928 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
8930         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
8932 2001-07-31  matthew green  <mrg@eterna.com.au>
8934         * config.gcc (i386-*-netbsdelf): New description.
8935         * config/i386/netbsd-elf.h: New file.
8937 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
8939         * loop.c (check_dbra_loop): Use single_set to compute
8940         jump_label.
8942 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
8944         PowerPC reorg and support for powerpc64-*-linux*.
8946         Also fixes emitting of constants on 32 bit and 64 bit
8947         platforms.
8949         * config.gcc: powerpc64-*-linux* is a new target.
8950         Things that needed aix.h now also include xcoff.h
8952         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
8953         xcoff.h.
8954         Move AIX specific stuff into aix.h.
8955         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
8956         with more than just XCOFF now.
8957         (SET_ASM_OP): Remove, now defined where needed.
8958         (FUNCTION_PROLOGUE): New macro definition.
8959         (FUNCTION_EPILOGUE): New macro definition.
8960         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
8962         * config/rs6000/xcoff.h: New file.
8964         * config/rs6000/linux64.h: New file.
8966         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
8968 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
8970         * rs6000.c (print_operand_address): Handle ELF syntax.
8971         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
8972         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
8973         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
8975 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
8977         * rs6000.c (rs6000_override_options): Only disable
8978         flag_function_sections for XCOFF.
8979         (exact_log2_cint_operand): New predicate.
8980         (reg_or_{add,sub}_cint64_operand): New predicates.
8981         (add_operand): Compare CONST_INT with fewer function calls.
8982         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
8983         (print_operand, case 'p'): Ensure positive operand.
8984         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
8985         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
8986         (PREDICATE_CODES): Add new predicates.
8987         * rs6000.md (addsi3): Split 32-bit constants more correctly.
8988         (divsi3, modsi3): Ensure positive power-of-2.
8989         (adddi3): Use new predicate.  Split 32-bit constants more
8990         correctly.  Re-arrange splitter to handle any constant.
8991         (subdi3): Use new predicate.
8992         (divdi3, moddi3): Ensure positive power-of-2.
8993         (movdi): Use rs6000_emit_set_const.
8994         (load_toc_v4_pic_di): Delete.
8996 2001-07-31  Graham Stott <grahams@redhat.com>
8998         * function.c (pad_below): Revert 2001-07-26 patch.
9000 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
9002         * reg-stack (convert_regs_1): Fix best edge condition.
9004 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
9006         * jump.c (duplicate_loop_exit_test): Better test for jumps
9007         entering the loop; create loop pre_header.
9009 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
9011         * doc/install.texi: Add s390 and s390x as new targets.
9012         * doc/invoke.texi: Add documentation of S/390 and zSeries
9013         target options.
9014         * doc/md.texi: Add documentation of S/390 and zSeries constraints.
9016 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
9018         * config/m68k/m68k.md: Replace all general_operand with
9019         nonimmediate_operand for all destinations.
9020         * config/m68k/m68k.c (not_sp_operand): Likewise.
9022 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
9024         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
9026 2001-07-30  Richard Henderson  <rth@redhat.com>
9028         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
9029         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
9031 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
9033         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
9034         Add missing doc strings
9035         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
9036         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
9038 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
9040         * i386.c (ix86_output_main_function_alignment_hack): New function.
9041         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
9043         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
9044         edges by EDGE_DFS_BACK flag.
9045         (dump_edge_info): Add dfs_back flag.
9046         * basic-block.h (EDGE_DFS_BACK): New constant.
9047         (mark_dfs_back_edges): Declare.
9048         * alias.c (loop_p): Remove.
9049         (mark_constant_function): Use mark_dfs_back_edges.
9051         * reg-stack.c (block_info_def): Add predecesors counter and stack_out.
9052         (reg_to_stack): Call mark_dfs_back_edges; count the predecesors.
9053         (compensate_edge): Break out from ...
9054         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
9055         (convert_regs_2): Set block_done once block is really done;
9056         Do updating of the predecesors counts.
9058         * toplev.c (rest_of_compilation): Recompute block_for_insn
9059         before post-reload cfg_cleanup.
9060         * function.c (thread_prologue_epilogue_insns):
9061         Call set_block_for_new_insns when emitting prologue directly.
9063 2001-07-30  Andreas Jaeger  <aj@suse.de>
9065         * jump.c: Add prototype for mark_modified_reg.
9067         * cse.c (set_live_p): Add unused attribute.
9069         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
9070         overflow.
9071         (scan_for_source_files): Use long for count to avoid overflow.
9072         (output_data): Likewise.
9073         (output_data): Don't use string concatatenation to silence gcc
9074         -traditional.
9076         * predict.c: Fix typos and grammar.
9078         * gcse.c (insert_insn_end_bb): Remove unused variables.
9080 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
9082         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
9083         (attempt_auto_inc): LIkewise.
9084         (mark_used_reg): Likewise.
9085         (try_pre_increment_1): Likewise.
9086         * regclass.c (regclass): Likewise.
9087         * global.c (allocno_compare): Update comment; change scaling factor.
9088         * local-alloc.c (QTY_CMP_PRI): Likewise.
9089         * regs.h (REG_FREQ_FROM_BB): New.
9090         (REG_FREQ_MAX): Likewise.
9092 2001-07-30  H.J. Lu <hjl@gnu.org>
9094         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
9095         -D_GNU_SOURCE.
9097 2001-07-30  H.J. Lu  (hjl@gnu.org)
9099         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
9100         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
9101         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
9103 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
9105         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
9106         as -mthumb-interwork when -mcpu=arm7 is specified.
9108 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
9110         * predict.def (noreturn, loop branch, loop exit): Mark as first
9111         match heuristics.
9113 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
9115         * combine.c (try_combine): Avoid barrier after noop jumps.
9117 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
9119         * cpphash.h (struct cpp_reader): Remove import_warning.
9120         * cpplib.c (skip_rest_of_line): Don't bother turning off
9121         macro expansion.
9122         (parse_include): Move include handling to...
9123         (do_include_common): ... here.  Move import warning from...
9124         (do_import): ... here.
9125         (do_pragma_poison): Don't do a callback for poison identifiers.
9126         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
9127         * cppmain.c (setup_callbacks): Similarly.
9129 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
9131         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
9132         handle multiple sets.
9133         * except.c (sjlj_mark_call_sites): .... here.
9134         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
9136 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
9138         Suggested by Richard Henderson and Richard Kenner:
9139         * combine.c (recog_for_combine): Use the fake recog
9140         only if instruction does not match.
9141         * rtl.h (NOOP_MOVE_INSN_CODE): New.
9142         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
9144         * combine.c (try_combine): Discover noop jump as direct jump.
9146 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
9148         * df.c (df_rd_global_compute): Add successors to worklist, not
9149         current item.
9150         (df_ru_global_compute): Ditto.
9152 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
9154         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
9155         increment REG_N_SETS.
9157 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
9159         * sbitmap.h: New prototype for sbitmap_a_xor_b.
9161         * sbitmap.c (sbitmap_a_xor_b): New function.
9162         ifdef the basic block stuff on IN_GCC.
9164 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
9166         * cppexp.c (parse_defined): Always record the macro name.
9167         (lex): Don't worry about identifiers, or special-case
9168         CPP_NOT here.
9169         (_cpp_parse_expr): Figure out at the end of the routine
9170         whether we saw a valid !defined() expression.
9171         * cppfiles.c (stack_include_file): Update for mi_valid.
9172         (_cpp_pop_file_buffer): Similarly.
9173         * cpplex.c (_cpp_lex_token): Similarly.
9174         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
9175         mi_if_not_defined, mi_lexed): Remove.
9176         (mi_valid): New.
9177         * cpplib.c (do_if): Simplify.
9178         (do_endif, push_conditional, _cpp_handle_directive): Update
9179         for renaming of mi_state to mi_valid.
9180 doc:
9181         * cpp.texi: Add index entries for digraphs, and add comment
9182         that C++ refers to them as alternative tokens.
9184 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
9186         * basic-block.h (CLEANUP_PRE_LOOP): New.
9187         * except.c (finish_eh_generation): Update call of cleanup_cfg.
9188         * sibcall.c (optimize_sibling_calls): Likewise.
9189         * toplev.c (rest_of_compilation): Likewise.
9190         * flow.c (try_forward_edges): Take argument MODE;
9191         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
9192         (try_optimize_cfg): Update call of try_forward_edges.
9194 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
9195                                 Jan Hubicka  <jh@suse.cz>
9197         * (validate_replace_rtx_1): Fix simplification of MINUS.
9199 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
9201         PR preprocessor/3669
9202         * cppinit.c (init_dependency_output): Turn off dump requests
9203         if sending dependencies to stdout.
9205 2001-07-28  Richard Henderson  <rth@redhat.com>
9207         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
9208         not optimizing.
9210 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
9212         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
9214 2001-07-28  Kazu Hirata  <kazu@hxi.com>
9216         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
9217         is VAR_DECL first to prevent an ICE.
9219 2001-07-28  Richard Henderson  <rth@redhat.com>
9221         * varasm.c (immed_real_const_1): Don't elide special cases for
9222         nested functions.
9223         (clear_const_double_mem): Clear const_tiny_rtx too.
9225 2001-07-28  Richard Henderson  <rth@redhat.com>
9227         * dwarf2out.c (dw_val_class_offset): New.
9228         (struct dw_ranges_struct, dw_ranges_ref): New.
9229         (ranges_table, ranges_table_allocated): New.
9230         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
9231         (add_AT_offset, add_ranges, output_ranges): New.
9232         (print_die, output_die): Handle dw_val_class_offset.
9233         (attr_checksum, size_of_die, value_format): Likewise.
9234         (gen_lexical_block_die): Handle non-contiguous blocks.
9235         (gen_block_die): Likewise.
9236         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
9237         if needed.  Dump the ranges table.
9238         * final.c (final_start_function): Remove unnecessary notes and
9239         rebuild the block tree before numbering the blocks.
9240         * function.c (reorder_blocks_0): Walk the existing block tree
9241         to unmark all blocks.
9242         (reorder_blocks_1): Create block fragments when duplicate block
9243         notes are seen.
9244         (reorder_fix_fragments): New.
9245         (reorder_blocks): Call it.
9246         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
9248 2001-07-28  Richard Henderson  <rth@redhat.com>
9250         * emit-rtl.c (adjust_address): Make a copy of the memory address.
9252 2001-07-28  Richard Henderson  <rth@redhat.com>
9254         * flow.c (add_to_mem_set_list): New function.
9255         (init_propagate_block_info): Use it.
9256         (mark_set_1): Likewise.
9257         (insn_dead_p): Canonicalize memory address for dead store
9258         comparison.  Allow wider mode stores to kill narrower mode stores.
9259         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
9260         (invalidate_mems_from_set): Don't handle MEMs.
9262 2001-07-28  Kazu Hirata  <kazu@hxi.com>
9264         * config/h8300/h8300.h: Fix formatting.
9266 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
9268         * basic-block.h (EDGE_FREQUENCY): New macro.
9269         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
9270         for new BB/edges.
9271         * flow.c (find_sub_basic_blocks): Likewise.
9272         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
9273         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
9275         * predict.c (DEF_PREDICTOR): New argument FLAGS.
9276         (HITRATE): New macro.
9277         (PRED_FLAG_FIRST_MATCH): New constant.
9278         (predictor_info): New field flgags.
9279         (combine_predictions_for_insn): Use DS theory to combine
9280         probabilities; set the edge probabilities when finished.
9281         (estimate_probability): Avoid duplicated matches
9282         of LOOP_BRANCH heuristics for nested loops; update comment.
9283         * predict.def: Add flags for each prediction, set probabilities
9284         according to B&L paper.
9285         * predict.h (DEF_PREDICTOR): New argument FLAGS.
9287         * profile.c (compute_branch_probabilities):  Cleanup way the edge
9288         probabilities are computed and REG_BR_PROB notes are dropped; if
9289         values does not match, emit error.
9290         (init_branch_prob): Do error instead of warning when profile driven
9291         feedback is missing or corrupt.
9293 2001-07-27  DJ Delorie  <dj@redhat.com>
9295         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
9296         against a constant, try to adjust the compare to have the desired
9297         constant in it so that min/max optimizations happen more often.
9299 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
9301         * flow.c (last_loop_beg_note): New function.
9302         (redirect_edge_and_branch): Use it.
9303         (split_edge): Likewise.
9305         * alias.c (loop_p): Avoid uninitialized memory access.
9307         * flow.c (try_forward_edges): Avoid accessing freed memory.
9309         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
9310         variable access.
9312 2001-07-26  Andrew Haley  <aph@redhat.com>
9313         Joern Rennecke <amylaar@redhat.com>
9315         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
9316         (SUBTARGET_CPP_ENDIAN_SPEC): New.
9317         (SUBTARGET_CPP_SPEC): New.
9318         (CPP_SPEC): Remove.
9319         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
9320         (SUBTARGET_CPP_PTR_SPEC): New.
9321         (CPP_DEFAULT_CPU_SPEC): New.
9322         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
9323         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
9324         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
9325         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
9326         (SUBTARGET_CPP_SPEC): Define as an empty string.
9328 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9330         * doc/install.texi (Configuration): Properly link the host
9331         specific instructions also when generating HTML.
9333 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
9335         * flow.c (redirect_edge_and_branch_force): Test
9336         target->global_live_at_start.
9338 2001-07-26  Richard Henderson  <rth@redhat.com>
9340         * simplify-rtx.c (avoid_constant_pool_reference): Export.
9341         * rtl.h (avoid_constant_pool_reference): Declare it.
9342         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
9343         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
9345 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
9347         * rtl.h (cleanup_barriers): Declare.
9348         * jump.c (cleanup_barriers): New function.
9349         * toplev.c (rest_of_compilation): Call cleanup_barriers
9350         before loop optimizer and after bb_reorder.
9352         * flow.c (back_edge_of_syntactic_loop_p): New.
9353         (split_edge): Use it.
9355 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9357         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
9359 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
9361         * cse.c (cse_process_notes): Replace any registers if the address
9362         remains valid.
9364 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
9366         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
9367         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
9368         (propagate_block): Update prototype.
9369         * flow.c (update_life_info): Simplify the CFG and
9370         recalculate the global regs which are alive when
9371         removing dead code during a global update.
9372         (propagate_block): Return non-zero if an INSN is
9373         deleted.
9375 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9377         * Makefile.in (LIBICONV): Define.
9379 2001-07-26  Catherine Moore  <clm@redhat.com>
9381         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
9382         of conditional to avoid tree checking errors.
9384 2001-07-26  Kazu Hirata  <kazu@hxi.com>
9386         * regmove.c (regmove_optimize): Don't replace a reg with
9387         another reg of a different mode.
9389 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
9391         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
9392         limit length of dependency flush list.
9393         * params.h (MAX_PENDING_LIST_LENGTH): Define.
9394         * sched-int.h  (struct deps): Add pending_flush_length field.
9395         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
9396         has 1 element in it.
9397         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
9398         (sched_analyze): After a jump, if the pending memory flush list is too
9399         large, flush the pending lists.
9400         (init_deps): Initialize pending_flush_length to 0.
9401         * doc/invoke.texi (max_pending_list_length): Document parameter.
9403 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
9405         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
9406         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
9407         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
9409 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
9411         * cpphash.h (struct_lexer_state): Delete was_skipping.
9412         Move skipping here from struct cpp_reader.
9413         * cpplex.c (parse_identifier): Update.
9414         (_cpp_lex_token): Don't skip tokens in a directive.
9415         * cpplib.c (struct if_stack): Update.
9416         (start_directive, end_directive): Don't change skipping state.
9417         (_cpp_handle_directive): Update.
9418         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
9419         (do_else, do_endif): Update; only check for excess tokens if not
9420         in a skipped conditional block.
9421         (push_conditional): Update for new struct if_stack.
9423 2001-07-26  Graham Stott  <grahams@redhat.com>
9425         * function.c (locate_and_pad_parm): Also pad initial offset
9426         so that the total argument size also includes the padding.
9428 2001-07-26  Graham Stott <grahams@redhat.com>
9430         * gensupport.c (alter_output_for_insn): Correct enable checking failure
9431         change XSTR to XTMPL.
9433         (process_one_cond_exec): Likewise
9435 2001-07-25  Richard Henderson  <rth@redhat.com>
9437         * varasm.c (assemble_variable): Create DECL_RTL before setting
9438         TREE_ASM_WRITTEN.
9440 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
9442         * predict.c (estimate_probability): Avoid duplicated predictions.
9444         * loop.c (find_and_verify_loops): Grok multiple barriers.
9446 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9448         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
9450         * dbxout.c: Consistently use putc instead of fputc.
9451         (print_wide_int): New function; call instead of direct fprintf.
9452         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
9453         (dbxout_type_fields, dbxout_type_method_1): Likewise.
9454         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
9455         (print_int_cst_octal): Likewise.
9456         (print_octal): Show we wrote characters.
9457         (dbxout_type): Set have_used_extensions in more places.
9459 2001-07-25  Catherine Moore  <clm@redhat.com>
9461         * config/v850/v850.c (v850_va_arg):  Use addr
9462         instead of valist to build incr.
9464 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
9466         * flow.c (delete_dead_jumptables): New function.
9467         (life_analyzis): Call it.
9468         * bb-reorder.c (skip_insns_after_block): Handle contradictory
9469         sequences.
9471 2001-07-25  Richard Henderson  <rth@redhat.com>
9473         * except.c (reachable_handlers): Handle a region being removed
9474         out from under a RESX.
9476 2001-07-25  Richard Henderson  <rth@redhat.com>
9478         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
9479         swap GE/GT if it is an fp comparison.
9481 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
9483         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
9484         operands.
9486 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
9488         * ssa.c (rename_insn_1): Do not wrap an assignment to a
9489         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
9490         glitch.
9492         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
9493         throw an exception.
9494         (visit_expression): When attempting to simplify an expression,
9495         retrieve any modes for arguments before they are simplified
9496         to constants.
9498 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
9499             Janis Johnson  <janis@us.ibm.com>
9501         * stmt.c (expand_goto): A nonlocal goto can be a call too.
9502         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
9503         pointer parameters to match documented usage of nonlocal_goto.
9504         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
9505         parameters to their correct order.
9506         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
9507         parameters to their correct order.
9509 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
9511         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
9513 2001-07-25  Jan Hubicka  <jh@suse.cz>
9514             Richard Henderson  <rth@redhat.com>
9516         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
9517         the sequence.
9518         (make_edges): New argument update_p; populate the edge cache if set.
9519         (find_basic_blocks): Update make_edges invocation.
9521 2001-07-24  Joel Sherrill <joel@OARcorp.com>
9523         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
9525 2001-07-24  Joel Sherrill <joel@OARcorp.com>
9527         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
9528         -Acpu and -Amachine.h.
9529         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
9530         Corrected header to say ELF not a.out.
9531         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
9532         when given -msoft-float.
9534 2001-07-24  Joel Sherrill <joel@OARcorp.com>
9536         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
9537         extra multilib parts like arm-elf.
9538         (i960-*-coff*, i960-*-rtems): Should not use collect2.
9539         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
9540         crtfini.o as extra multilib parts.
9542 2001-07-24  Joel Sherrill <joel@OARcorp.com>
9544         * configure.in: Add rtems as a supported thread model.
9545         * gthr-rtems.h: Add missing entry point __gthread_active_p.
9546         * configure: Rebuilt.
9548 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
9550         * stor-layout.c (get_mode_alignment): make it work when
9551         BITS_PER_UNIT is not a power of two.
9552         * builtins.c (get_pointer_alignment): Likewise.
9554 2001-07-24  Richard Henderson  <rth@redhat.com>
9556         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
9557         the retrieved constant into the expected mode.
9559 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
9561         * flow.c (try_simplify_condjump): Avoid duplicated edges.
9562         (verify_flow_info): Check for duplicated edges; clarify
9563         error reporting.
9565         * flow.c (block_label): Update basic_block_for_insn.
9566         (commit_edge_insertions): Call compute_bb_for_insn.
9568         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
9569         returns too.
9571         * flow.c (redirect_edge_and_branch,
9572         try_optimize_cfg): Use redirect_edge_succ_nodup
9573         (redirect_edge_succ_nodup): New.
9574         * basic_block.h (redirect_edge_succ_nodup): Declare.
9576         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
9577         after gcse.
9579 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
9581         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
9582         (try_crossjump_to_edge): Update commetns.
9583         (try_crossjump_bb): Likewise.
9585 2001-07-24  Richard Henderson  <rth@redhat.com>
9587         * combine.c (distribute_notes): Move set of need_refresh
9588         for noop_move_p down to catch all cases.
9590 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
9592         * recog.c (split_all_insns_noflow): New.
9593         * rtl.h (split_all_insns_noflow): Declare.
9594         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
9595         * m68hc11.c (m68hc11_reorg): Likewise.
9596         * sh.c (machine_dependent_reorg): Likewise.
9597         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
9598         call.
9600 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
9602         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
9603         (ashlsi3_n splitter): Likewise.
9604         (lshrsi3_n splitter): Likewise.
9606         (GOTaddr2picreg): Make const SImode.
9607         (sym_label2reg): Likewise.
9608         (symGOT2reg): Likewise.
9609         (symGOTOFF2reg) Likewise.
9611         (casesi_worker_0): Make unspec SImode.
9613 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
9615         * config/sh/sh.c (barrier_align): Check that an operand really is
9616         an insn before extracting its INSN_CODE.
9618 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
9620         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
9621         dangling else.
9623         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
9624         for SImode to prevent overflow.
9626 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9628         * config/mips/irix6-libc-compat.c: New file.
9629         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
9630         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
9631         passing workaround.
9633 2001-07-24  lars brinkhoff  <lars@nocrew.org>
9635         * rtl.texi (REG_POINTER): Document.
9636         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
9637         QFmode, HFmode, TQFmode, QCmode, and HCmode.
9639 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
9641         * flow.c (delete_noop_moves): Do not confuse libcall regions.
9643 2001-07-23  Richard Henderson  <rth@redhat.com>
9645         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
9647 2001-07-23  Kazu Hirata  <kazu@hxi.com>
9649         * config/h8300/h8300-protos.h: Add a prototype for
9650         general_operand_dst_push.
9651         * config/h8300/h8300.c (general_operand_dst_push): New.
9652         * config/h8300/h8300.h (OK_FOR_T): New.
9653         (EXTRA_CONSTRAINT): Use it.
9654         * config/h8300/h8300.md (movqi_push): Remove and integrate into
9655         the existing movqi pattern.
9656         (movhi_push): Likewise.
9658         * reload.c: Fix comment typos.
9660 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
9662         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
9664 2001-07-23  H.J. Lu  (hjl@gnu.org)
9666         * doc/extend.texi: Update __builtin_return_address and
9667         __builtin_frame_address.
9669 2001-07-23  Richard Henderson  <rth@redhat.com>
9671         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
9672         before CSE.
9673         * config/i386/i386.md: New setcc+movzbl peephole2.
9675 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
9677         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
9678         * objc/objc-act.c: Include debug.h.
9679         (synth_module_prologue): Save and restore debug hooks too.
9681 2001-07-23  lars brinkhoff  <lars@nocrew.org>
9683         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
9684         and C4X_FLOAT_FORMAT.
9685         (BOOL_TYPE_SIZE): Document.
9687 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
9689         * unroll.c (loop_iterations): Fix miscalculation of initial
9690         giv offset.
9692 2001-07-13  Andrew Haley  <aph@redhat.com>
9694         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
9695         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
9696         * config/sh/sh.c (sh_can_redirect_branch): New function.
9697         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
9698         * reorg.c (steal_delay_list_from_target): Use
9699         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
9701 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
9703         * flow.c (try_simplify_condjump): Unlink insn chain on
9704         fallthru edge; use can_fallthru.
9706 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
9708         * basic-block.h (find_sub_basic_block): Declare.
9709         * flow.c (make_edges): New arguments MIN and MAX;
9710         (find_sub_basic_blocks): Revamp to use make_edges
9711         and purge_dead_edges.
9712         (find_basic_blocks): Update call of find_sub_basic_block.
9714         * recog.c (split_all_insns): Always expect CFG to be consistent;
9715         call find_sub_basic_blocks in case something has changed.
9716         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
9717         has been built.
9719         * basic-block.h (delete_noop_moves): Declare.
9720         * combine.c (combine_instructions): Call it.
9721         (recog_for_combine): Tolerate noop moves
9722         (distribute_notes): Force refresh when register dies at noop move.
9723         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
9724         too.
9725         (life_analysis): Update delete_noop_moves call.
9726         (set_noop_p): Move too ...
9727         * rtlanal.c (noop_move_p): ... here.
9728         * rtl.h (noop_move_p): Declare.
9730         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
9731         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
9732         after combine.
9733         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
9734         (cprop_jump): Likewise; call purge_dead_edges if substitution suceeded.
9736 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
9738         * reload.c (push_reload): Fix typo in comment.
9739         (find_reloads_address): Ditto.
9740         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
9742 2001-07-22  Richard Henderson  <rth@redhat.com>
9744         * flow.c: Grammar check and clarify a lot of comments.
9745         (try_simplify_condjump): Rename variables to be clearer.
9746         (try_forward_edges): Skip complex and fallthru edges.
9747         Rearrange tests to avoid duplicate checks.
9748         (flow_find_cross_jump): Likewise.
9749         (outgoing_edges_match): Allow match if neither branch has
9750         probability data.  Loosen probability match to 5%.
9751         (try_crossjump_to_edge): Hoist repeated indirection into
9752         local variables.
9753         (try_crossjump_bb): Don't check complex edges.  Eliminate
9754         redundant crossjump tests.
9755         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
9756         checks before more expensive checks.
9758 2001-07-22  Richard Henderson  <rth@redhat.com>
9760         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
9761         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
9762         arguments.
9764 2001-07-22  Richard Henderson  <rth@redhat.com>
9766         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
9767         (const_sint32_operand): Likewise.
9768         * m68k.md (anon mulsi pattern): Use const_int_operand not
9769         const_sint32_operand.
9770         (umulsi3_highpart): Zero extend a constant input.
9771         (smulsi3_highpart): Don't bother checking SImode constant.
9772         (const_umulsi3_highpart): Give op3 DImode.
9773         (const_smulsi3_highpart): Likewise.
9775 2001-07-22  Richard Henderson  <rth@redhat.com>
9777         * flow.c (split_block): Make sure bb_note is included in the
9778         new block when splitting before a label.
9780 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
9782         * basic-block.h (redirect_edge_and_branch_force,
9783         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
9784         * flow.c (redirect_edge_and_branch_force,
9785         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
9786         (redirect_edge_and_branch_force): Fix copying of lifeness information.
9787         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
9788         * ifcvt.c (dead_or_predictable): Take BB as an new destionation
9789         instead of label; update CFG after transformation.
9790         (find_if_case_1): Update call, use redirect_edge_and_branch_force
9791         for finishing the transformation; handle even case where ELSE
9792         does not follow THEN.
9793         (find_if_case_2): Update call of dead_or_predictable; simplify
9794         CFG update.
9796         * emit-rtl.c (split_branch_probability): New global variable.
9797         (try_split): Take care to set split_branch_probability and
9798         create REG_BR_PROB note for new jump insns.
9799         * md.texi (define_split): Document new feature.
9801         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
9803 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
9805         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
9806         (asm_out_file): Remove redundant declaration.
9807         (assemble_asm): Remove old #if 0 block.
9808         (assemble_variable): Remove end of function; debug output is
9809         now handled with global_decl.  Remove old #if 0 block.  Update.
9810         Remove saved_in_section and associated no-op code.
9811         * Makefile.in (varasm.o): Correct dependencies.
9813 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
9815         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
9816         the definition in defaults.h.
9818 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
9820         * jump.c: Update comments.
9821         (delete_barrier_successors, delete_unreferenced_labels,
9822         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
9823         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
9824         jump_optimize, jump_optimize_minimal): Kill.
9825         (rebuild_jump_labels): Move code from jump_optimize_1.
9826         (purge_line_number_notes): Likewise.
9827         (copy_loop_headers): Likewise.
9828         * reg-stack.c: Update comment.
9829         * stmt.c: Likewise.
9830         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
9831         JUMP_AFTER_REGSCAN): Kill.
9832         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
9833         purge_line_number_notes and copy_loop_headers.
9835 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
9836            Richard Henderson  <rth@redhat.com>
9838         * dbxout.c (dbxout_global_decl): New.
9839         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
9840         * sdbout.c (sdbout_finish): New.
9841         (sdbout_debug_hooks): Use it, add comments.
9842         (sdbout_global_decl): Defer initialised public vars to
9843         sdbout_finish.
9844         * varasm.c (assemble_variable): Don't output debug information
9845         for file-scope variables.
9847 2001-07-22  Richard Henderson  <rth@redhat.com>
9849         * config/alpha/alpha.c (get_trap_mode_suffix): New.
9850         (get_round_mode_suffix): New.
9851         (print_operand): Use them for [/].  Remove support for [&'`()+].
9852         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
9853         * config/alpha/alpha.md (attr round_suffix): New.
9854         (attr trap_suffix): New.
9855         (all insns): Set them appropriately.  Use %/ instead of the
9856         myriad punctuators.
9858 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
9860         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
9862 2001-07-22  Richard Henderson  <rth@redhat.com>
9864         * regrename.c (regrename_optimize): Compute nregs for each
9865         potential target register.
9867 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
9868            Richard Henderson  <rth@redhat.com>
9870         * dbxout.c (dbxout_global_decl): New.
9871         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
9872         * sdbout.c (sdbout_finish): New.
9873         (sdbout_debug_hooks): Use it, add comments.
9874         (sdbout_global_decl): Defer initialised public vars to
9875         sdbout_finish.
9876         * varasm.c (assemble_variable): Don't output debug information
9877         for file-scope variables.
9879 2001-07-21  H.J. Lu  (hjl@gnu.org)
9881         * config/mips/mips.c (mips_cpu): Moved into ...
9882         (override_options): Here.
9884         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
9885         mips_tune.
9886         (mips_cpu): Removed.
9888 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9890         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
9891         ("iorqi3"): Likewise.
9892         ("xorqi3"): Likewise.
9893         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
9894         ("*subhi3_sp): Likewise.
9895         ("*subhi3"): Likewise.
9896         ("extendhisi2"): Accept D, X and Y as source operand to avoid
9897         reload problems.
9899 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
9901         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
9902         * config/freebsd.h: Likewise.
9903         * config/linux.h: Likewise.
9904         * config/openbsd.h: Likewise.
9905         * config/alpha/linux-elf.h: Likewise.
9906         * config/arm/linux-elf.h: Likewise.
9907         * config/d30v/d30v.h: Likewise.
9908         * config/fr30/fr30.h: Likewise.
9909         * config/ia64/aix.h: Likewise.
9910         * config/ia64/ia64.h: Likewise.
9911         * config/mips/linux.h: Likewise.
9912         * config/pj/pj.h: Likewise.
9913         * config/rs6000/linux.h: Likewise.
9914         * config/sparc/linux.h: Likewise.
9915         * config/sparc/linux64.h: Likewise.
9917 2001-07-20  Bruce Korb  <bkorb@gnu.org>
9919         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
9920         because getc() and char* may disagree on signedness.
9922 2001-07-20  Richard Henderson  <rth@redhat.com>
9924         * doc/rtl.texi (REG_DEAD): Update for current semantics.
9926         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
9927         insns to delete in the presence of cc0 in a jump insn.
9929 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
9930                                 Jan Hubicka  <jh@suse.cz>
9932         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
9933         of doing the change by hand.
9935 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
9937         * rtlanal.c (set_noop_p): Return true for noop jumps.
9939         * expr.c (emit_single_push_insn): Add call to push expander.
9940         * expr.h (optab_index): Add OTI_push
9941         (push_optab): New constant.
9942         * genopinit.c (optabs): Add push_optab.
9943         * optabs.c (init_optab): Init push optab.
9944         * md.texi (push??1): Document
9946 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9948         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
9949         expand to emit the pattern; put a REG_INC note for push/pop
9950         instructions.
9951         ("movdf", "movdf_internal"): Likewise.
9952         ("movsi", "movsi_internal"): Likewise.
9953         ("movsf", "movsf_internal"): Likewise.
9954         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
9956 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9958         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
9959         gen_highpart.
9961 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
9963         * params.def: Change default max inline insns to 100.
9965 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
9967         * combine.c (combine_simplify_rtx): Generate a new shift operation
9968         when simplifying the first operand of a (neg (ashift)) expression.
9970 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
9972         * regclass.c (N_REG_INTS): Use only 32 bits per element.
9974 2001-07-20  Kelley Cook  <kelley.cook@home.com>
9976         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
9977         information.   Move rest into ...
9978         (*-*-solaris): ... here.  Eliminate redundant information and
9979         reword necessary packages section.  Delete 4.x assembler bug info.
9980         (sparc-sun-*): Merge into ...
9981         (sparc-sun-sunos*): here.
9983 2001-07-20  Catherine Moore  <clm@redhat.com>
9985         * config/v850/v850.md (casesi): Generate LABEL_REF
9986         with Pmode.
9988 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
9990         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
9991         * i386.c (ix86_zero_extend_to_Pmode): Make global.
9992         * i386.md (strclrsi expander): Use it.
9994 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
9996         * integrate.c (copy_insn_list): handle
9997         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
9998         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
9999         identically as to CODE_LABEL.
10001         * fold-const (fold): Convert A/B/C to A/(B*C) and
10002         A/(B/C) to (A/B)*C
10004         * except.c (connect_post_landing_pads): Delete the RESX insns.
10006 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
10008         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
10010         * config/mips/mips.md (nmadd/nmsub): Use macro.
10012 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
10014         * cppinit.c (remove_dup_dir): Make static.
10015         (remove_dup_dirs): Make static. Only warn about preempting a
10016         system directory with a non-system directory.
10018 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
10020         * ifcvt.c (noce_try_store_flag_constants): Correct order
10021         of parameters to trunc_int_for_mode.
10023 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
10025         * reorg.c (fill_simple_delay_slots): If an instruction might throw
10026         an exception that will be caught within this function, do not fill
10027         its delay slot with any subsequent instruction.
10029 2001-07-19  Steve Ellcey <sje@cup.hp.com>
10031         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
10032         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
10033         pointer extension instruction.
10034         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
10035         * simplify-rtx.c (simplify_unary_operation) Likewise.
10036         * explow.c (convert_memory_address) Check value of
10037         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
10038         less than zero.
10039         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
10040         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
10041         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
10042         Add Multilib Support.
10043         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
10044         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
10045         Add Multilib Support.
10046         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
10047         support.
10048         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
10049         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
10050         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
10052 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
10054         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
10055         old and new operands in `<', `3' and `b'.
10057 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
10059         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
10060         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
10061         (toplev.o): Don't depend on xcoffout.h.
10062         * c-decl.c: Include debug.h
10063         (duplicate_decls): Use debug hook.
10064         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
10065         (dbx_debug_hooks, xcoff_debug_hooks): Update.
10066         (dbxout_types): Remove.
10067         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
10068         * debug.c (do_nothing_debug_hooks): Update.
10069         (debug_true_tree, debug_nothing_rtx): New.
10070         * debug.h (struct rtx_def): New.
10071         (struct gcc_debug_hooks): New hooks ignore_block,
10072         outlining_inline_function and label.
10073         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
10074         dwarf2out_frame_finish): New.
10075         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
10076         Make static, update prototype.
10077         (dwarf2_debug_hooks): Update.
10078         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
10079         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
10080         * dwarfout.c (dwarf_debug_hooks): Update.
10081         * emit-rtl.c: Include debug.h.
10082         (remove_unnecessary_notes): Use debug hook.
10083         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
10084         (final_scan_insn): Use debug hook.
10085         * integrate.c (output_inline_function): Use debug hook.
10086         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
10087         (sdb_debug_hooks): Update.
10088         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
10089         * toplev.c: Don't include xcoffout.h.
10090         (note_outlining_of_inline_function, debug_ignore_block): Remove.
10091         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
10092         Remove.
10093         * tree.h (dwarf2out_do_frame): Remove.
10095 2001-07-19  Catherine Moore  <clm@cygnus.com>
10097         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
10099 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
10101         * reload1.c (eliminate_regs_in_insn): When updating a set
10102         to the frame pointer to the hardware frame pointer, perform
10103         the update always not just when REPLACE is set.
10105         * reload1.c (choose_reload_regs): Don't inherit a reload
10106         that crosses multiple registers if registers past the first
10107         don't fit in the desired class.
10109         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
10110         when negating constants.
10112 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
10114         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
10115         * doc/tree.texi: Ditto.
10117 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
10118             Jakub Jelinek  <jakub@redhat.com>
10120         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
10121         (extract_cie_info): Handle "eh" augmentation properly,
10122         remember eh_ptr.
10123         (struct frame_state, __frame_state_for): New.
10125 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10127         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
10128         HANDLE_SYSV_PRAGMA): Define.
10129         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
10130         previous args.
10131         (copy_object): Caller changed.
10133 2001-07-19  Andreas Schwab  <schwab@suse.de>
10135         * configure.in (assembler dwarf2 debug_line support): Define nop
10136         insn for m68k.
10137         * configure: Regenerated.
10139 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
10141         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
10142         dwarfout.h.
10143         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
10144         to conditionally compiled block.
10145         (dbx_debug_hooks, xcoff_debug_hooks): Update.
10146         * dbxout.h (dbxout_function): Remove.
10147         * debug.c (do_nothing_debug_hooks): Update.
10148         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
10149         global_decl, deferred_inline_function.
10150         * dwarf2out.c (dwarf2_debug_hooks): Update.
10151         (dwarf2out_global_decl): New.
10152         * dwarfout.c: Don't include dwarfout.h.
10153         (dwarfout_global_decl, dwarfout_function_decl,
10154         dwarfout_deferred_inline_function): New.
10155         (dwarf_debug_hooks): Update.
10156         * dwarfout.h: Remove.
10157         * final.c: Don't include dwarfout.h.
10158         * sdbout.c (sdbout_global_decl): New.
10159         (sdbout_debug_hooks): Update.
10160         * toplev.c: Don't include dwarfout.h.
10161         (check_global_declarations, rest_of_compilation): Use new debug hooks.
10162         (note_deferral_of_defined_inline_function): Remove.
10163         * toplev.h (note_deferral_of_defined_inline_function): Remove.
10164         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
10165         * ch/lex.c: Don't include dwarfout.h.
10166         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
10167         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
10168         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
10169         * cp/optimize.c: Include debug.h.
10170         (maybe_clone_body): Use debug hook.
10171         * cp/semantics.c: Include debug.h.
10172         (expand_body): Use debug hook.
10173         * po/POTFILES.in: Remove dwarfout.h.
10175 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
10177         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
10178         * c-parse.in (yyerror, _yylex): Similarly.
10179         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
10180         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
10181         Update comments.
10182         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
10183         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
10185 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
10187         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
10188         in-class declaration at -g1.  Fixes c++/2814.
10190 2001-07-18  Richard Henderson  <rth@redhat.com>
10192         * doc/md.texi (reload_in/out): Document restrictions in predicates
10193         and constraints for these patterns.  Document empty string matching
10194         ALL_REGS.
10196 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10198         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
10200 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
10202         * cse.c: Undo my previous patch.
10204 2001-07-18  Tom Tromey  <tromey@redhat.com>
10206         For PR java/2812:
10207         * configure: Rebuilt.
10208         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
10209         instead.
10210         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
10212 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
10213                                 Jan Hubicka  <jh@suse.cz>
10215         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
10216         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
10217         * jump.c (mark_jump_label): Do not forward branches.
10219 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
10221         * cse.c (delete_trivially_dead_insns): Delete the libcall block
10222         when return value is unused.
10224 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
10226         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
10228 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
10230         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
10231         on error.  We can't blindly return the result of
10232         pthread_mutex_trylock because it returns a positive number on
10233         error, while we must return -1 on error.
10234         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
10235         fixes.
10236         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
10238 2001-07-18  Andreas Jaeger  <aj@suse.de>
10240         * integrate.c (output_inline_function): Correct type of debug_hooks.
10242 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
10244         * combine.c (combine_simplify_rtx): DIV can be treated
10245         associatively for floats if unsafe math optimisations are enabled.
10247 2001-07-17  Richard Henderson  <rth@redhat.com>
10249         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
10251 2001-07-17  Richard Henderson  <rth@redhat.com>
10253         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
10254         don't force the function address into a register.
10255         (expand_call, emit_library_call_value_1): Update callers.
10256         * builtins.c (expand_builtin_apply): Likewise.
10257         * expr.h (prepare_call_address): Update decl.
10259 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
10261         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
10262         config directory.
10263         * config/i386/chorus.h: Move up.
10264         * config/sparc/chorus.h: Likewise.
10265         * config/rs6000/chorus.h: Likewise.
10266         * config/chorus.h: Moved here.
10268 2001-07-17  Andreas Schwab  <schwab@suse.de>
10270         * configure.in  (assembler eh_frame optimization): Handle big
10271         endian.
10272         * configure: Regenerated.
10274 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
10276         * expr.c (epxand_expr): Convert divisions into multiplications by
10277         reciprocals if -ffast-math.
10279 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
10281         * dbxout.c (dbxout_really_begin_function): Rename to
10282         dbxout_begin_function.
10283         (dbx_debug_hooks, xcoff_debug_hooks): Update.
10284         (dbxout_begin_function): Remove.
10285         (dbxout_function): Update.
10286         (dbxout_source_line): Update prototype.
10287         * dbxout.h (dbxout_begin_function): Remove.
10288         * debug.c (do_nothing_debug_hooks): Update.
10289         (debug_nothing_tree): Update.
10290         (debug_nothing_charstar_rtx): Remove.
10291         * debug.h (union tree_node): Declare.
10292         (struct rtx_def): Remove.
10293         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
10294         begin_function.  Change source_line prototype.
10295         (debug_nothing_tree): New.
10296         (debug_nothing_charstar_rtx): Delete.
10297         (dwarf2out_begin_prologue): Moved from ...
10298         * tree.h: ... here.
10299         * dwarf2out.c (dwarf2_debug_hooks): Update.
10300         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
10301         debug info, call dwarf2out_source_line.
10302         (dwarf2out_souce_line): Update prototype.
10303         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
10304         Change prototype, make static.
10305         (dwarfout_source_line): Update prototype.
10306         (dwarf_debug_hooks): Update.
10307         * dwarfout.h (dwarfout_begin_function): Remove.
10308         * final.c (final_start_function, final_scan_insn): Use appropriate
10309         debug hooks, update to use notice_source_line.
10310         (output_source_line): Rename notice_source_line.  Don't call the
10311         source_line debug hook.
10312         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
10313         make static, update prototype.
10314         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
10315         prototype.
10316         (sdbout_end_prologue): New.
10317         (sdbout_source_line): Update prototype.
10318         (sdbout_debug_hooks): Update.
10319         (sdbout_symbol): Remove unused var.
10320         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
10321         Delete.
10322         * varasm.c: Include debug.h.
10323         (assemble_start_function): Use begin_function debug_hook.
10324         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
10325         update with prototype.
10326         (xcoffout_source_line): Update prototype.
10327         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
10328         update prototype.
10329         (xcoffout_source_line): Update prototype.
10331 2001-07-17  Richard Henderson  <rth@redhat.com>
10333         * c-typeck.c (build_binary_op): Do not shorten unsigned
10334         right shift after sign extension.
10336 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
10338         * combine.c (combine_simplify_rtx): Attempt to simplify
10339         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
10341         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
10342         (simplify_binary_operation, simplify_unary_operation,
10343          simplify_relational_operation): Use it.
10345         * combine.c (combine_simplify_rtx): Don't do associative law
10346         on divisions; allow associative law on floats.
10348 2001-07-17  H.J. Lu <hjl@gnu.org>
10349             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10351         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
10352         ASM_OUTPUT_WEAK_ALIAS are defined.
10353         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
10354         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
10355         Moved ...
10356         * config/mips/iris5.h: ... here.
10357         (HANDLE_SYSV_PRAGMA): Defined as 1.
10358         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
10359         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
10360         symbol.
10362 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
10364         * c-parse.in (all_prefix_attributes): New variable.
10365         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
10366         (maybe_resetattrs): New production.
10367         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
10368         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
10369         notype_initdcl, nested_function, notype_nested_function,
10370         component_decl, components, components_notype,
10371         component_declarator, component_notype_declarator,
10372         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
10373         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
10374         after a comma being applied to more than one declarator.
10375         * doc/extend.texi (Attribute Syntax): Update.  Remove
10376         documentation of bugs that are no longer present.
10378 2001-07-13  Eric Christopher  <echristo@redhat.com>
10380         * config/mips/mips.h: Change TUNE_MIPS* options to use
10381         mips_tune.
10382         (EXTRA_SPECS): Add cc1_cpu_spec.
10383         * config/mips/mips.md (muldf3): Fix typo.
10385 2001-07-16  Richard Henderson  <rth@redhat.com>
10387         * config/m68k/m68k.c: Include expr.h and reload.h.
10388         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
10389         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
10391 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
10392             Richard Henderson  <rth@redhat.com>
10394         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
10395         (insn_live_p): Fix fall off end of function.
10396         (dead_libcall_p): Remove COUNTS argument; update callers.
10397         (delete_trivially_dead_insns): Remove unused variables.
10399 2001-07-17  Andreas Jaeger  <aj@suse.de>
10401         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
10402         x86-64 pic support.
10404         * lcm.c (optimize_mode_switching): Avoid warning for unused
10405         variable if !NORMAL_MODE.
10407         * flow.c (try_crossjump_to_edge): Remove unused variable.
10409 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10411         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
10412         atexit declaration in stdlib.h.
10414 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
10416         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
10418 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
10420         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
10421         * except.c (finish_eh_generation): Update call of cleanup_cfg;
10422         do rebuild_jump_labels instead of jump_optimize
10423         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
10424         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
10425         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
10427         * flow.c: Include timevar.h
10428         (find_basic_block): Push/pop timevar;
10429         (cleanup_cfg): Likewise.
10430         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
10431         * Makefile: Add dependencies on timevar.h
10433         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
10434         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
10436         * rtl.h (delete_trivially_dead_insns): Add new parameter.
10437         * toplev.c (rest_of_compilation): Update calls.
10438         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
10439         (delete_trivially_dead_insns): ... here; accept new argument
10440         preserve_basic_blocks; preserve basic blocks if set.
10442         * reg-stack.c (stack_regs_mentioned): Return 0 if
10443         stack_regs_mentioned_data is not initialized.
10444         (reg_to_stack): Make stack_regs_mentioned survive after the
10445         reg-stack is completted; do not call cleanup_cfg.
10446         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
10447         make cleanup_cfg after bb-reorder to output to debug file.
10449 2001-07-16  Richard Henderson  <rth@redhat.com>
10451         * regclass.c (init_reg_sets): Use only 32 bits per initializer
10452         from int_reg_class_contents.
10454 2001-07-16  Richard Henderson  <rth@redhat.com>
10456         * hard-reg-set.h (regs_invalidated_by_call): Declare.
10457         * regclass.c (regs_invalidated_by_call): Move from cse.c.
10458         (init_reg_sets_1): Move initialization from cse_main.
10459         * cse.c (regs_invalidated_by_call): Move to regclass.c.
10460         (cse_main): Move its initialization also.
10461         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
10462         * flow.c (propagate_one_insn): Likewise.
10463         * gcse.c (compute_hash_table): Likewise.
10464         (compute_kill_rd, compute_store_table): Likewise.
10465         * sched-deps.c (sched_analyze_1): Likewise.
10467 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
10469         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
10470         gen_rtx_SET.
10472 2001-07-16  Steve Ellcey <sje@cup.hp.com>
10474         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
10475         in if statement so we don't access undefined memory.
10477 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
10479         * gcse.c: Update comment at top.
10480         Update comment on mem handling.
10481         mem_last_set, mem_first_set, mem_set_in_block: gone.
10482         Declaration of reg_set_info: gone.
10483         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
10484         pointless with load_killed_in_block_p (they are *more*
10485         conservative then it, not less, and less accurate).
10486         (oprs_not_set_p): Ditto.
10487         (alloc_gcse_mem): Don't allocate mem_set_in_block
10488         (free_gcse_mem): Don't free it, either.
10489         (record_last_mem_set_info): Update comment in front, remove
10490         mem_*set_* stuff. Note the reason we don't handle stores directly
10491         here.
10492         (compute_hash_table): Update comments to reflect reality. Remove
10493         mem_*set_* references.
10494         (reset_opr_set_tables): Remove mem_*set_* references.
10495         (mark_call): Ditto.
10496         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
10497         (mark_clobber): Ditto (on both parts, we double set here too).
10498         (expr_killed_p): Remove mem_set_in_block test.
10499         (compute_transp): Remove mem_set_in_block test.
10501         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
10502         of edge, and removal of phi alternative to dump file.
10503         (ssa_ccp_substitute_constants): Add note about register now being
10504         constant, and which uses were replaced in what insns to dump file.
10506 2001-07-16  Andreas Jaeger  <aj@suse.de>
10508         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
10509         variables of type HOST_WIDEST_INT.
10511         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
10512         (__bb_exit_func): Correct type of count_max to avoid overflow.
10513         (num_digits): Handle long long argument.
10515         * combine.c (gen_lowpart_for_combine): Remove unused variable.
10517 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10519         * output.h (sdb_begin_function_line): Restore as an extern
10520         variable.
10521         * sdbout.c (sdb_begin_function_line): Make extern.
10523 2001-07-15  Richard Henderson  <rth@redhat.com>
10525         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
10526         * genrecog.c (maybe_both_true_mode): New.
10527         (maybe_both_true_2): Use it.
10528         (write_switch): Don't put Pmode in a switch.
10529         * rtl.c (mode arrays): Don't explicitly size them.
10531 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
10533         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
10534         handling; move unconditional splitting before mode switching.
10536         * i386.md (type): Add fistp type.
10537         (i387, length_attr, scheduling definitions): Handle this type.
10538         (fix_trunc?f?i2): Revamp to use mode switching.
10539         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
10540         * i386.h (fp_cw_mode): New enum
10541         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
10542         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
10544 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10546         * Makefile.in (integrate.o): Add debug.h.
10547         * integrate.c (debug.h): Add.
10548         (output_inline_function): Save, reset, and restore debug_hooks.
10550 2001-07-15  Richard Henderson  <rth@redhat.com>
10552         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
10553         instead of COMPARE for the EQUIV expression.
10555 2001-07-15  Richard Henderson  <rth@redhat.com>
10557         * flow.c (redirect_edge_and_branch_force): Initialize
10558         global_live_at_start and global_live_at_end.
10559         (allocate_bb_life_data): Export.
10560         * basic-block.h (allocate_bb_life_data): Declare.
10561         * toplev.c (rest_of_compilation): Call it.
10563 2001-07-15  Richard Henderson  <rth@redhat.com>
10565         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
10566         (alpha_tablejump_best_label): New.
10567         * config/alpha/alpha-protos.h: Declare them.
10568         * config/alpha/alpha.md: Use braced strings for code blocks.
10569         (tablejump_osf): Break out add with r29.
10570         (tablejump_osf_internal): Remove.
10571         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
10572         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
10574 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
10576         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
10577         of the movable.
10579         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
10581         * i386-protos.h (ix86_split_fp_branch): Update prototype.
10582         (ix86_fp_jump_nontrivial_p): New.
10583         * i386.md (fp_jcc_?): Update call of split_fp_branch;
10584         use ix86_fp_jump_nontrivial_p.
10585         * i386.c (ix86_fp_jump_nontrivial_p): New.
10586         (ix86_split_fp_branch): Accept code instead of rtx.
10587         (ix86_expand_compare): Expand comparison early in case
10588         doing so is resonably cheap.
10590 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
10592         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
10593         not 'machine'.
10594         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
10595         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
10597 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10599         * dbxout.c (dbxout_source_line): Make static, update prototype.
10600         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
10601         (dbxout_init, dbxout_finish, dbxout_source_line,
10602         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
10603         * dbxout.h (dbxout_source_line): Delete.
10604         * debug.c (debug_nothing_file, debug_nothing_file_int,
10605         debug_nothing_file_charstar_rtx): New.
10606         (do_nothing_debug_hooks): Update.
10607         (debug_nothing_void, debug_nothing_charstar_rtx,
10608         dwarf2out_end_epilogue): New.
10609         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
10610         * debug.h (struct rtx_def): Declare.
10611         (gcc_debug_hooks): New hooks source_line, end_epilogue
10612         and end_function.
10613         (debug_nothing_void, debug_nothing_charstar_rtx,
10614         dwarf2out_end_epilogue): New.
10615         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
10616         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
10617         (dwarf2_debug_hooks): Update.
10618         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
10619         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
10620         * dwarf2out.h (dwarf2out_source_line): Remove.
10621         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
10622         Make static, update prototype.
10623         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
10624         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
10625         (dwarf_debug_hooks): Update.
10626         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
10627         dwarfout_end_function): Remove.
10628         * final.c (profile_function): Use debug hooks for ending functions
10629         and epilogues.
10630         (output_source_line, final_end_function): Update prototype,
10631         use debug hooks.
10632         (final_start_function, final_scan_insn): Update.
10633         * output.h (sdb_begin_function_line): Remove.
10634         (final_end_function): Update prototype.
10635         * sdbout.c (sdb_begin_function_line): Make static.
10636         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
10637         (sdbout_source_line): New.
10638         (sdbout_end_epilogue, sdbout_end_function): Make static, update
10639         prototypes.
10640         (sdb_debug_hooks): Update.
10641         (sdbout_init, sdbout_source_line,
10642         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
10643         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
10644         * toplev.c (compile_file, rest_of_compilation): Update.
10645         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
10646         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
10647         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
10648         Update for prototype changes.
10649         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
10650         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
10652 2001-07-15  Richard Henderson  <rth@redhat.com>
10654         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
10655         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
10656         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
10657         * config/alpha/alpha.c: Likewise.
10658         * config/alpha/alpha.md: Likewise.
10659         * config/alpha/alpha32.h: Likewise.
10660         * config/alpha/vms.h: Likewise.
10661         (OPEN_VMS): Remove.
10663 2001-07-14  Richard Henderson  <rth@redhat.com>
10665         * config/alpha/alpha.md: Use define_constants for unspec values.
10666         Substitute throughout.
10668 2001-07-14  Tim Josling  <tej@melbpc.org.au>
10670         * tree.def (EXPON_EXPR) remove. Never supported anyway.
10672 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10674         * pa.md: Remove unused constraints from define_split's.
10676 2001-04-14  Richard Henderson  <rth@redhat.com>
10678         * ifcvt.c (find_cond_trap): Test for exit block.
10680 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
10682         Re-install recently reverted patch.
10683         * emit-rtl.c (try_split): Update mark_jump_label call.
10684         * flow.c (find_sub_basic_blocks): Likewise.
10685         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
10686         jump_back_p): Kill.
10687         (mark_all_labels): Kill second parameter.
10688         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
10689         (rebuild_jump_labels, jump_optimize_minimal): Update call
10690         of jump_optimize_1.
10691         (jump_optimize_1): Kill crossjumping code.
10692         (mark_jump_label): Kill cross_jump parameter.
10693         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
10694         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
10695         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
10696          splitting.
10697         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
10698         DFI_bpro.
10699         (dump_file_info): Likewise.
10700         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
10701         reorganize passes to do reg-stack first, bb-reorder second.
10702         * invoke.texi (-d letters doc): Remove the jump2 pass.
10704 2001-07-14  Richard Henderson  <rth@redhat.com>
10706         * ifcvt.c (find_cond_trap): New.
10707         (find_if_header): Call it.
10708         (merge_if_block): Relax existing jump sanity check.
10709         * jump.c (jump_optimize_1): Remove conditional trap handling.
10711 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
10713         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
10714         millicode.
10715         (insn_refs_are_delayed): Correct comment.
10716         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
10717         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
10718         instead of r31.  Make associated insn !TARGET_64BIT, and
10719         provide an additional 64-bit insn that clobbers r2.
10720         (divsi3): Likewise.
10721         (udivsi3): Likewise.
10722         (modsi3): Likewise.
10723         (umodsi3): Likewise.
10725 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
10727         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
10729         * flow.c (redirect_edge_and_branch_force, split_edge,
10730         try_crossjump_to_edge): Use set_block_for_new_insns.
10731         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
10733 2001-07-13  H.J. Lu  (hjl@gnu.org)
10735         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
10736         the correct patch.
10738 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
10740         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
10742 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
10744         * c-common.c (decl_attributes): Take a pointer to the node to
10745         which attributes are to be attached, and a flags argument.
10746         * c-common.h (enum attribute_flags): New.
10747         (decl_attributes): Update prototype.
10748         * c-decl.c (start_decl, push_parm_decl, finish_struct,
10749         finish_enum, start_function): Update calls to decl_attributes.
10750         * c-parse.in (component_declarator, component_notype_declarator,
10751         label): Update calls to decl_attributes.
10753 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
10755         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
10756         * config/avr/avr.c (legitimate_address_p): Return value changed
10757         from letter to register classes. For better debugging.
10759 2001-07-13  Kazu Hirata  <kazu@hxi.com>
10761         * jump.c (reversed_comparison_code_parts): Fix comment typos.
10763 2001-07-13  H.J. Lu  (hjl@gnu.org)
10765         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
10767 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
10769         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
10770         correctly for shared configurations.
10771         * config/t-libgcc-pic:  New.
10772         * config/{i386,m68k,sparc}/t-openbsd:  New.
10773         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
10774         Support -shared.  Support debugging libraries with -g.
10775         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
10776         frame information does not emit pointer diffs.
10777         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
10778         emit pointer diffs.
10780 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
10782         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
10784 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
10786         * combine.c (try_combine): Ensure const_int pow2 is positive.
10788 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
10790         * config.gcc: Add configuration for s/390.
10791         * config/s390/s390.c: New. Subroutines for code generation.
10792         * config/s390/s390.h: New. Definitions for s/390.
10793         * config/s390/s390-protos.h: New. Prototypes.
10794         * config/s390/linux.h: New. Definitions for linux for s/390.
10795         * config/s390/linux64.h: New. Definitions for linux for zSeries.
10796         * config/s390/t-linux: New. Makefile fragment.
10797         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
10798         * config/s390/fixdfdi.h: New. Fix L_fix*di.
10800 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
10802         * emit-rtl.c (try_split): Update mark_jump_label call.
10803         * flow.c (find_sub_basic_blocks): Likewise.
10804         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
10805         jump_back_p): Kill.
10806         (mark_all_labels): Kill second parameter.
10807         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
10808         (rebuild_jump_labels, jump_optimize_minimal): Update call
10809         of jump_optimize_1.
10810         (jump_optimize_1): Kill crossjumping code.
10811         (mark_jump_label): Kill cross_jump parameter.
10812         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
10813         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
10814         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
10815          splitting.
10816         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
10817         DFI_bpro.
10818         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
10819         reorganize passes to do reg-stack first, bb-reorder second.
10820         * invoke.texi (-d letters doc): Remove the jump2 pass.
10822 2001-07-12  Steve Ellcey <sje@cup.hp.com>
10824         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
10826 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
10828         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
10829         basic blocks.
10830         (verify_flow_info): Make diagnostics prettier.
10832 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
10834         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
10836         * flow.c (outgoing_edges_match): Return early if condition reversal
10837         failed.
10839 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
10841         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
10842         (mips_move_2words): When splitting a move into two instructions,
10843         prefix the second address operand with '%D'.
10845 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
10847         * Makefile.in (final.o): Depend on debug.h.
10848         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
10849         (dbx_debug_hooks): Add new hooks.
10850         (xcoff_debug_hooks): New.
10851         * debug.c (debug_nothing_file_int_int): New.
10852         (do_nothing_debug_hooks): Update.
10853         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
10854         (debug_nothing_file_int_int): New.
10855         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
10856         static, update prototype.
10857         (dwarf2_debug_hooks): Update.
10858         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
10859         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
10860         static, update prototype.
10861         (dwarf_debug_hooks): Update.
10862         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
10863         * final.c: Include debug.h.
10864         (final_scan_insn): Use debug hooks when beginning and ending blocks.
10865         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
10866         static, update prototype.
10867         (sdb_debug_hooks): Update.
10868         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
10869         * toplev.c: Distinguish between xcoff and dbx.
10871         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
10872         Call all debug hooks, not just dwarf ones.
10874 2001-07-11  Timothy Wall  <twall@redhat.com>
10876         * config.gcc: Add configuration for AIX5/IA64.
10877         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
10878         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
10879         support prefix/suffix code.
10880         * config/ia64/t-aix: New.  Makefile fragment.
10881         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
10883 2001-07-11  Kazu Hirata  <kazu@hxi.com>
10885         * recog.c (validate_change): Fix a comment typo.
10887 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
10889         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
10890         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
10891         hooks directly.
10892         * dbxout.c (dbx_debug_hooks): Add new hooks.
10893         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
10894         make static.
10895         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
10896         make static.
10897         * dbxout.h (dbxout_start_new_source_file,
10898         dbxout_resume_previous_source_file): Delete.
10899         * debug.c (do_nothing_debug_hooks): Add new hooks.
10900         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
10901         (debug_nothing_int_charstar, debug_nothing_int): New.
10902         * debug.h (gcc_debug_hooks): New hooks define, undef,
10903         start_source_file and end_source_file.
10904         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
10905         (debug_nothing_int_charstar, debug_nothing_int): New.
10906         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
10907         the conditionally compiled section.
10908         (dwarf2out_start_source_file, dwarf2out_end_source_file,
10909         dwarf2out_define, dwarf2out_undef): Make static.
10910         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
10911         dwarf2out_define, dwarf2out_undef): Remove.
10912         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
10913         (dwarfout_start_source_file, dwarfout_end_source_file,
10914         dwarfout_define, dwarfout_undef): Make static.
10915         (dwarfout_start_source_file_check,
10916         dwarfout_end_source_file_check): New.
10917         (dwarfout_define, dwarfout_finish): Update.
10918         * dwarfout.h (dwarfout_start_new_source_file,
10919         dwarfout_resume_previous_source_file, dwarfout_define,
10920         dwarfout_undef): Remove.
10921         * sdbout.c (sdb_debug_hooks): Add new hooks.
10922         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
10923         make static.
10924         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
10925         make static, take an arg.
10926         * sdbout.h (sdbout_start_new_source_file,
10927         sdbout_resume_previous_source_file): Delete.
10928         * toplev.c (debug_start_source_file, debug_end_source_file,
10929         debug_define, debug_undef): Delete.
10930         * toplev.h (debug_start_source_file, debug_end_source_file,
10931         debug_define, debug_undef): Delete.
10933         * java/jcf-parse.c: Include debug.h.
10934         (parse_class_file): Update to use debug hooks directly.
10935         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
10937 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10939         * alias.c (set_mem_alias_set): New function.
10940         * rtl.h (set_mem_alias_set): Declare it.
10941         * builtins.c (expand_builtin_return_addr): Call it instead of
10942         using MEM_ALIAS_SET accessor.
10943         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
10944         (get_memory_rtx, expand_builtin_va_arg): Likewise.
10945         (expand_builtin_va_copy):Likewise.
10946         * caller-save.c (setup_save_areas): Likewise.
10947         * calls.c (compute_argument_addresses): Likewise.
10948         * explow.c (set_mem_attributes): Likewise.
10949         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
10950         (expand_assignment, store_constructor_field, store_field): Likewise.
10951         (expand_expr_unaligned): Likewise.
10952         * function.c (assign_stack_temp_for_type): Likewise.
10953         (put_reg_into_stack, gen_mem_addressof): Likewise.
10954         * ifcvt.c (noce_try_cmove_arith): Likewise.
10955         * reload1.c (reload, alter_reg): Likewise.
10956         * config/alpha/alpha.c (get_aligned_mem): Likewise.
10957         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
10958         (alpha_expand_unaligned_store): Likewise
10959         (alpha_expand_unaligned_load_words): Likewise.
10960         (alpha_expand_unaligned_store_words): Likewise.
10961         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
10962         (alpha_expand_epilogue): Likewise.
10963         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
10964         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
10965         * config/i386/i386.c (legitimize_pic_address): Likewise.
10966         * config/i960/i960.c (setup_incoming_varargs): Likewise.
10967         * config/ia64/ia64.c (spill_restore_mem): Likewise.
10968         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
10969         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
10970         * config/mips/mips.c (mips_va_arg): Likewise.
10971         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
10972         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
10973         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
10974         (setup_incoming_varargs, rs6000_va_arg): Likewise.
10975         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
10976         (rs6000_emit_epilogue): Likewise.
10977         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
10978         * config/sparc/sparc.c (sparc_va_arg): Likewise.
10979         * config/v850/v850.c (v850_va_arg): Likewise.
10981 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
10983         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
10984         when fallthru edge is present.
10985         (mege_blocks): Handle case where creation of jump insn
10986         is required.
10988         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
10989         CLEANUP_POST_REGSTACK): New constants.
10990         * except.c (finish_eh_generation): Update call of cleanup_cfg,
10991         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
10992         * output.h (cleanup_cfg): Update prototype.
10993         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
10994         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
10995         cleanup_cfg call; kill missleading comment.
10996         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
10997         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
10998         parameter; control optimizations performed using it.
10999         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
11000         try_crossjump_bb): New functions.
11002 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11004         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
11005         extern.
11006         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
11007         pa_output_function_prologue.
11008         * pa-protos.h (pa_output_function_prologue): New prototype.
11010 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11012         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
11013         and low to get correct sign extension in low+high test.
11015 2001-07-11  Janis Johnson <janis@us.ibm.com>
11017         * gcov.c (arcdata): Use gcov_type to fix branch percentage
11018         for large hit count.
11020         * profile.c (branch_prob): Fix .bbg info for computed gotos
11021         and C++ EH code.
11023 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
11025         * stmt.c (parse_output_constraint): New function, split out
11026         from ...
11027         (expand_asm_operands): ... here.  Use parse_output_constraint.
11028         * tree.h (parse_output_constraint): Declare it.
11030 2001-07-11  Richard Henderson  <rth@redhat.com>
11032         * bitmap.c: Comment some functions; fiddle whitespace.
11033         (bitmap_free): Don't export.
11034         (bitmap_element_allocate): Use memset.
11035         * bitmap.h (bitmap_free): Don't declare.
11037 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
11039         * gcse.c, lcm.c, sched-deps.c:
11040         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
11042         * flow.c (flow_loops_find): Free dom if we found no loops, since
11043         we aren't going to save it.
11045         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
11046         done.
11048 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
11050         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
11052 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11054         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
11055         #ifndef DWARF2_DEBUGGING_INFO.
11057 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
11059         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
11061 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
11063         * config/mips/mips.c (gen_int_relational): Tell the caller not to
11064         reverse a branch if a NE comparison is implemented with GTU.
11066 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
11067             H.J. Lu  <hjl@gnu.org>
11069         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
11070         constant addresses.
11071         (call_internal2): Likewise.
11072         (call_value_internal1): Likewise.
11073         (call_value_internal2): Likewise.
11074         (call_value_multiple_internal1): Likewise.
11075         (call_value_multiple_internal2): Likewise.
11077 2001-07-10  Kazu Hirata  <kazu@hxi.com>
11079         * calls.c (emit_library_call_value_1): Fix a comment typo.
11080         * dwarf2out.c (mem_loc_descriptor): Likewise.
11081         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
11083 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
11085         * simplify-rtx.c (simplify_subreg): Fix typo in comment
11087 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11089         * recog.c (offsettable_address_p): Handle LO_SUM case.
11090         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
11091         instead of plus_constant.
11093 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11095         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
11096         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
11098 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11100         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
11101         adjust_address_nv instead of plus_constant.
11103 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
11105         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
11106         dwarf2out.o): Depend on debug.h, wrap long lines.
11107         * dbxout.c: Include debug.h.
11108         (dbx_debug_hooks): New.
11109         (dbxout_init): Make static, take just 2 args.
11110         (dbxout_finish): Make static.
11111         * dbxout.h (dbxout_init, dbxout_finish): Delete.
11112         * debug.c: New file.
11113         * debug.h: New file.
11114         * dwarf2out.c: Include debug.h.
11115         (dwarf2_debug_hooks): New.
11116         (dwarf2out_init): Make static.
11117         (dwarf2out_finish): Make static, take 2 args.
11118         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
11119         * dwarfout.c: Include debug.h.
11120         (dwarf_debug_hooks): New.
11121         (dwarfout_init): Make static.
11122         (dwarfout_finish): Make static, take 2 args.
11123         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
11124         * sdbout.c: Include debug.h.
11125         (sdb_debug_hooks): New.
11126         (sdbout_init): Make static, take 2 args.
11127         * sdbout.h (sdbout_init): Delete.
11128         * toplev.c: Include debug.h.
11129         (debug_hooks): New.
11130         (compile_file): Set deubg_hooks based on command line options.
11131         Use the hooks unconditionally rather than conditional compilation.
11133 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
11135         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
11136         first_insn_after_basic_block_note instead.
11138         * df.c (df_bb_refs_unlink): #if 0 out for now.
11140 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
11142         * ssa.h: Add prototype for ssa_const_prop
11143         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
11144         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
11145         (ssa_fast_dce): Remove unused variable
11147 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
11149         * diagnostic.c (finish_diagnostic): Rename to
11150         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
11151         calls thourghout.
11153 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
11155         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
11156         .loc support.
11158         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
11159         (dump_file): Only pad the demangled name with spaces if the
11160         mangled name was padded with spaces.
11162 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
11164         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
11165         edge detection.
11167 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11169         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
11170         extraction if no direct load if either EXPAND_CONST_ADDRESS or
11171         EXPAND_INITIALIZER.
11173         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
11174         whether can put offset inside LO_SUM to check mode alignment, not size.
11176 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
11178         * doc/tm.texi (Misc): Fix thinko.
11180 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
11182         * regmove.c (replace_in_call_usage): Fix warnings.
11183         * sched-deps.c (add_dependence): Fix warnings.
11184         * simplify-rtx.c (simplify_subreg): Likewise.
11185         Return NULL_RTX instead of NULL.
11187         * reg-stack.c (emit_swap_insn): Eliminate warnings.
11188         (subst_asm_stack_regs): Likewise.
11190         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
11191         warnings.
11193         * dwarf2out.c (output_call_frame_info): Declare i as int.
11194         (build_abbrev_table): Declare n_alloc as int.
11195         (dwarf2out_finish): Initialize die.
11196         * except.c: Declare sjlj_funcdef_number as unsigned.
11197         (connect_post_landing_pads): Declare j as unsigned.
11198         (convert_to_eh_region_ranges): Initialize call_site.
11199         (output_function_exception_table): Initialize tt_format_size.
11200         * expr.c (move_by_pieces_1): Initialize to1.
11201         (store_constructor): Initialize minelt and maxelt.
11202         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
11203         * function.c (instantiate_decls): Avoid signed/unsigned warning.
11205         * c-decl.c (combine_parm_decls): Unused, remove.
11206         * c-tree.h: Remove prototype for combine_parm_decls.
11208         * reload.c (push_reload): Fix warning.
11209         (regno_clobbered_p): Likewise.
11210         * reload1.c (replace_pseudos_in_call_usage): Likewise.
11211         (reload_combine): Likewise.
11213         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
11214         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
11215         warnings.
11216         * bitmap.c (bitmap_operation): Change user.
11217         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
11219 2001-07-10  Eric Christopher  <echristo@redhat.com>
11221         * config/mips/mips.c (override_options): Fix typo.
11223 2001-07-09  Stan Shebs  <shebs@apple.com>
11225         * target.h (struct gcc_target): New fields init_builtins and
11226         expand_builtin.
11227         * target-def.h (TARGET_INIT_BUILTINS): New macro.
11228         (TARGET_EXPAND_BUILTIN): New macro.
11229         (TARGET_INITIALIZER): Add them.
11230         * builtins.c: Include target.h.
11231         (expand_builtin): Use targetm.expand_builtin.
11232         (default_init_builtins): New function.
11233         (default_expand_builtin): New function.
11234         * expr.h (default_init_builtins): Declare.
11235         (default_expand_builtin): Declare.
11236         * c-common.c (c_common_nodes_and_builtins): Use
11237         targetm.init_builtins.
11238         * defaults.h (MD_INIT_BUILTINS): Remove.
11239         * Makefile.in (builtins.o): Depend on target.h.
11241         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
11242         (TARGET_EXPAND_BUILTIN): Define.
11243         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
11244         (MD_EXPAND_BUILTIN): Remove.
11246         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
11247         (TARGET_EXPAND_BUILTIN): Define.
11248         (c4x_init_builtins): Make endlink arg a local.
11249         (c4x_print_operand): Fix typos in adjust_address usages.
11250         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
11251         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
11252         (MD_EXPAND_BUILTIN): Remove.
11254         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
11255         (TARGET_EXPAND_BUILTIN): Define.
11256         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
11257         (ix86_init_builtins): Call new function only if TARGET_MMX.
11258         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
11259         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
11260         (MD_EXPAND_BUILTIN): Remove.
11262         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
11263         (TARGET_EXPAND_BUILTIN): Define.
11264         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
11265         (MD_EXPAND_BUILTIN): Remove.
11267         * doc/tm.texi: Document these changes.
11269 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
11271         * basic-block.h (tree_node): Forward declare if needed.
11272         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
11273         (BLOCK_HEAD_TREE): Define.
11274         (BLOCK_END_TREE): Define.
11275         (struct loops): Rename field 'tree' to 'tree_root'.
11276         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
11277         'end_tree'.
11278         (flow_loops_tree_build): Rename reference to field 'tree' to
11279         'tree_root'.
11280         (flow_loops_level_compute): Ditto.
11281         * predict.c (estimate_bb_frequencies): Ditto.
11282         * tree.h (struct tree_common): Add field 'aux'.
11284 2001-07-09  Stan Shebs  <shebs@apple.com>
11286         * config/darwin.c (darwin_encode_section_info): Don't mark any
11287         DECL_EXTERNAL node as defined.
11289 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11291         * pa.c (pa_init_machine_status, pa_mark_machine_status,
11292         pa_free_machine_status, hppa_init_pic_save): Delete.
11293         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
11294         (hppa_profile_hook): Use hppa_pic_save_rtx.
11295         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
11296         hppa_init_pic_save): Delete.
11297         (hppa_pic_save_rtx): Declare.
11298         * pa.md (call, call_value, sibcall, sibcall_value,
11299         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
11301 2001-07-09  Kazu Hirata  <kazu@hxi.com>
11303         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
11304         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
11306 2001-07-09  Andreas Jaeger  <aj@suse.de>
11308         * output.h: Add declaration of final_forward_branch_p.
11310         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
11312         * varray.c: Include errors.h for internal_error and trim_filename
11313         declarations.
11315         * Makefile.in (varray.o): Add errors.h.
11317 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
11319         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
11320         * optabs.c (have_add2_insn): Check whether the add insn chosen
11321         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
11322         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
11324 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
11326         * Makefile.in (OBJS): Add ssa-ccp.o
11327         (ssa-ccp.o): Add dependencies.
11328         * toplev.c (DFI_ssa_ccp): New dump file enum.
11329         (dump_file): Add entry for dumping after SSA CCP.
11330         (flag_ssa_ccp): New flag variable.
11331         (f_options): Add -fssa-ccp.
11332         (rest_of_compilation): Run SSA CCP if requested.
11333         * timevar.def (TV_SSA_CCP): New timevar.
11334         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
11335         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
11336         Fix minor typo in SSA DCE documentation.
11337         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
11338         Add documentation for new dump option.  Renumber dump files
11339         appropriately.
11341 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
11343         * emit-rtl.c (gen_highpart_mode): New.
11344         * rtl.h (gen_highpart_mode): Declare.
11345         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
11346         operand can be VOIDmode constant.
11348 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
11350         * flow.c (redirect_edge_and_branch_force): New.
11351         (can_fallthru): Ensure that basic blocks are succeeding.
11352         (try_optimize_cfg): Do not delete basic block if it is the last one.
11354         * flow.c (try_redirect_by_replacing_jump): Do not remove
11355         jumps with side effects, unlink chain on fallthru edge;
11356         set block for new jump instruction; avoid basic block to
11357         over by line number note.
11359         * flow.c (try_simplify_condjump): Verify that the condjump
11360         is not always falling trought.
11362         Re-install patch:
11363         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
11365         * flow.c (forwarder_block_p): Fix for fallthru blocks.
11366         (try_redirect_by_replacing_jump): Update properly the count
11367         and frequency information.
11369 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11371         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
11372         address that is a LO_SUM specially.
11373         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
11375         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
11377         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
11378         (operand_subword): Use them.
11379         (change_address_1): Renamed from change_address; new arg VALIDATE.
11380         * expr.h: Reflect above changes; change_address now macro.
11381         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
11382         making MEM.
11383         * cselib.c (add_mem_for_addr): Likewise.
11384         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
11385         * regmove.c (try_apply_stack_adjustment): Likewise.
11386         * reload.c (push_reload, make_memloc): Likewise.
11387         * reload1.c (eliminate_regs): Likewise.
11388         * simplify-rtx.c (simplify_replace_rtx): Likewise.
11389         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
11390         adjust_addess.
11391         * combine.c (make_extraction, simplify_shift_const): Likewise.
11392         (gen_lowpart_for_combine): Likewise.
11393         * cse.c (gen_lowpart_if_possible): Likewise.
11394         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
11395         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
11396         * optabs.c (gen_move_insn): Likewise.
11397         * reload1.c (alter_reg): Likewise.
11398         * simplify-rtx.c (simplify_subreg): Likewise.
11399         * stmt.c (expand_anon_union_decl): Likewise.
11400         * recog.c (validate_replace_rtx_1): Likewise.
11401         (expr.h): Include.
11402         * Makefile.in (recog.o): Add $(EXPR_H).
11403         * explow.c (stabilize): Call replace_equiv_address.
11404         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
11405         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
11407 2001-07-03  Andrew Haley  <aph@redhat.com>
11409         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
11410         the mode of the memory location.
11412 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
11414         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
11416 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
11418         * final.c (output_addr_const): Use target opening and
11419         closing parentheses.
11420         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
11421         defaults, add to TARGET_ASM_OUT.
11422         * target.h (struct gcc_target): Add open_paren and close_paren.
11423         * doc/md.texi: Update.
11424         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
11425         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
11426         TARGET_ASM_CLOSE_PAREN.
11427         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
11428         Override.
11429         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
11430         Override.
11431         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
11432         * config/a29k/a29k.h: Similarly.
11433         * config/alpha/alpha.h: Similarly.
11434         * config/arc/arc.h: Similarly.
11435         * config/arm/aof.h: Similarly.
11436         * config/arm/aout.h: Similarly.
11437         * config/avr/avr.h: Similarly.
11438         * config/c4x/c4x.h: Similarly.
11439         * config/clipper/clipper.h: Similarly.
11440         * config/convex/convex.h: Similarly.
11441         * config/d30v/d30v.h: Similarly.
11442         * config/dsp16xx/dsp16xx.h: Similarly.
11443         * config/elxsi/elxsi.h: Similarly.
11444         * config/fr30/fr30.h: Similarly.
11445         * config/h8300/h8300.h: Similarly.
11446         * config/i370/i370.h: Similarly.
11447         * config/i386/i386.h: Similarly.
11448         * config/i860/i860.h: Similarly.
11449         * config/i960/i960.h: Similarly.
11450         * config/ia64/ia64.h: Similarly.
11451         * config/m32r/m32r.h: Similarly.
11452         * config/m68hc11/m68hc11.h: Similarly.
11453         * config/m68k/m68k.h: Similarly.
11454         * config/m88k/m88k.h: Similarly.
11455         * config/mcore/mcore.h: Similarly.
11456         * config/mips/mips.h: Similarly.
11457         * config/mn10200/mn10200.h: Similarly.
11458         * config/mn10300/mn10300.h: Similarly.
11459         * config/ns32k/ns32k.h: Similarly.
11460         * config/pa/pa.h: Similarly.
11461         * config/pdp11/pdp11.h: Similarly.
11462         * config/pj/pj.h: Similarly.
11463         * config/romp/romp.h: Similarly.
11464         * config/rs6000/rs6000.h: Similarly.
11465         * config/sh/sh.h: Similarly.
11466         * config/sparc/sparc.h: Similarly.
11467         * config/v850/v850.h: Similarly.
11468         * config/vax/vax.h: Similarly.
11469         * config/we32k/we32k.h: Similarly.
11471 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
11473         * doc/c-tree.texi: Document representation of attributes.
11475 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
11477         * doc/tm.texi: Update some places for the rename of target to
11478         targetm.  Fix typo.
11480 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
11482         * target.h (struct gcc_target): Add insert_attributes.
11483         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
11484         (TARGET_INITIALIZER): Update.
11485         * tree.c, tree.h (default_insert_attributes): New function.
11486         Update comments on other default functions to refer to targetm,
11487         not target.
11488         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
11489         TARGET_INSERT_ATTRIBUTES.
11490         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
11491         * c-common.c (decl_attributes): Use targetm.insert_attributes.
11492         Don't use PRAGMA_INSERT_ATTRIBUTES.
11493         * Makefile.in (c-common.o): Depend on $(TARGET_H).
11494         * c-decl.c (start_decl, start_function): Don't call
11495         SET_DEFAULT_DECL_ATTRIBUTES.
11496         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
11497         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
11498         declare.
11499         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
11500         (c4x_check_attribute): Avoid modifying attribute list itself.
11501         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
11502         Make static.
11503         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
11504         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
11505         declare.
11506         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
11507         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
11508         Make static.
11509         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
11510         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
11511         declare.
11512         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
11513         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
11514         Adjust parameters.  Make static.
11516 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
11518         * c-common.c (decl_attributes): Only take a single attributes
11519         parameter.
11520         * c-common.h (decl_attributes): Update prototype.
11521         * c-decl.c (start_decl, start_function): Only take a single
11522         attributes parameter.  Update calls to decl_attributes.
11523         (finish_struct, finish_enum): Update calls to decl_attributes.
11524         (push_parm_decl): Expect unified list of attributes.  Update call
11525         to decl_attributes.
11526         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
11527         notype_nested_function, component_declarator,
11528         component_notype_declarator, label): Update calls to
11529         decl_attributes.
11530         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
11531         lists that are passed to push_parm_decl.
11532         * c-tree.h (start_function, start_decl): Update prototypes.
11533         * config/sh/sh-protos.h, config/sh/sh.c
11534         (sh_pragma_insert_attributes): Only take a single attributes
11535         parameter.
11536         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
11537         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
11538         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
11539         build_module_descriptor, generate_static_references,
11540         generate_strings, build_selector_translation_table,
11541         generate_descriptor_table, generate_protocols,
11542         generate_ivars_list, generate_dispatch_table,
11543         generate_protocol_list, generate_category,
11544         generate_shared_structures, really_start_method, add_objc_decls,
11545         generate_classref_translation_entry): Update calls to start_decl
11546         and start_function.
11547         (build_tmp_function_decl, start_method_def): Unify attribute lists
11548         that are passed to push_parm_decl.
11550 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
11552         * final.c (no_asm_to_stream): New.
11553         (final_scan_insn): Use target structures for prologue ends
11554         and epilogue starts.
11555         * output.h (no_asm_to_stream): New.
11556         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
11557         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
11558         (TARGET_ASM_OUT): Update.
11559         * target.h (struct gcc_target): New members function_end_prologue
11560         and function_begin_epilogue.
11561         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
11562         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
11563         * config/alpha/alpha.c (output_end_prologue): Rename to
11564         alpha_output_function_end_prologue.  Use in target struct
11565         and make static.
11566         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
11567         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
11568         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
11569         ia64_output_function_end_prologue.  Use in target struct
11570         and make static.
11571         (ia64_function_prologue, ia64_funciton_epilogue): Rename
11572         mistyped prototypes.
11573         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
11574         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
11575         Delete.
11576         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
11577         an use in target struct, make static.
11578         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
11579         Delete.
11581 2001-07-08  Richard Henderson  <rth@redhat.com>
11583         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
11585 2001-07-08  Richard Henderson  <rth@redhat.com>
11587         * config/i386/i386.md: Remove constraints strings from define_split
11588         and define_peephole2 patterns.
11589         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
11590         (eh_return): Use them.
11592 2001-07-08  Richard Henderson  <rth@redhat.com>
11594         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
11595         Document MD_FALLBACK_FRAME_STATE_FOR.
11597 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11599         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
11600         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
11601         elimination.
11602         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
11604 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
11606         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
11607         of the label inside NAME as opposed to just the end of NAME.
11609 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
11611         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
11612         * config/alpha/alpha.c (alpha_init_machine_status,
11613         alpha_mark_machine_status, alpha_free_machine_status): Delete.
11614         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
11615         (vms_valid_decl_attribute_p): Make static, conditionally compile.
11616         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
11618 2001-07-06  Stan Shebs  <shebs@apple.com>
11620         * target.h (targetm): Rename global from "target", so as not to
11621         conflict with local variables.
11622         * c-decl.c: Ditto.
11623         * c-typeck.c: Ditto.
11624         * final.c: Ditto.
11625         * tree.c: Ditto.
11626         * cp/decl.c: Ditto.
11627         * cp/decl2.c: Ditto.
11628         * cp/typeck.c: Ditto.
11629         * 1750a/1750a.c: Ditto.
11630         * a29k/a29k.c: Ditto.
11631         * arc/arc.c: Ditto.
11632         * arm/arm.c: Ditto.
11633         * avr/avr.c: Ditto.
11634         * clipper/clipper.c: Ditto.
11635         * convex/convex.c: Ditto.
11636         * d30v/d30v.c: Ditto.
11637         * dsp16xx/dsp16xx.c: Ditto.
11638         * elxsi/elxsi.c: Ditto.
11639         * fr30/fr30.c: Ditto.
11640         * h8300/h8300.c: Ditto.
11641         * i370/i370.c: Ditto.
11642         * i386/i386.c: Ditto.
11643         * i860/i860.c: Ditto.
11644         * i960/i960.c: Ditto.
11645         * ia64/ia64.c: Ditto.
11646         * m32r/m32r.c: Ditto.
11647         * m68hc11/m68hc11.c: Ditto.
11648         * m68k/m68k.c: Ditto.
11649         * m88k/m88k.c: Ditto.
11650         * mips/mips.c: Ditto.
11651         * ns32k/ns32k.c: Ditto.
11652         * pa/pa.c: Ditto.
11653         * pdp11/pdp11.c: Ditto.
11654         * romp/romp.c: Ditto.
11655         * rs6000/rs6000.c: Ditto.
11656         * sh/sh.c: Ditto.
11657         * sparc/sparc.c: Ditto.
11658         * vax/vax.c: Ditto.
11659         * we32k/we32k.c: Ditto.
11660         * doc/tm.texi: Update the manual to match.
11662 2001-07-06  Richard Henderson  <rth@redhat.com>
11664         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
11665         DWARF2_UNWIND_INFO not just whether it is defined.
11667 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
11669         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
11670         call to simplify_binary_operation returns a new pattern.
11672 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11674         * glimits.h (__SHRT_MAX__): New.
11675         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
11676         (SHRT_MAX): Define in terms of __SHRT_MAX__.
11678 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
11680         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
11681         avoid warnings.
11683 2001-07-06  Richard Henderson  <rth@redhat.com>
11685         * bitmap.c (bitmap_release_memory): Move adjacent to the
11686         allocation functions.
11687         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
11688         the implementation.  Binary search for the set bit.
11689         (bitmap_union_of_diff): Allocate the temporary on the stack
11690         instead of using xmalloc.
11692 2001-07-06  Richard Henderson  <rth@redhat.com>
11694         * genrecog.c (validate_pattern): Warn for constraints in
11695         define_{expand,split,peephole2}.  Remove strict_low_part
11696         before looking up match_dup.
11698 2001-07-06  DJ Delorie  <dj@redhat.com>
11700         * doc/gcc.texi (Makefile): Rename to be a more general purpose
11701         chapter about various build hints and history.  Add section
11702         talking about the various types of native and cross builds.
11704 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
11706         * Makefile.in (final.o): Depend on target.h.
11707         * final.c: Include target.h.
11708         (default_function_pro_epilogue): New.
11709         (final_start_function): Use target structure for function prologues.
11710         (final_end_function): Use target structure for function epilogues.
11711         * fold-const.c (real_hex_to_f): Constify s and p.
11712         * output.h (default_function_pro_epilogue): New.
11713         * real.h (real_hex_to_f): Update prototype.
11714         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
11715         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
11716         (TARGET_INITIALIZER): Update.
11717         * target.h (gcc_target): Add struct asm_out.
11718         * doc/tm.texi: Update.
11720 config:
11721         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
11722         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
11723         in cpu/cpu.c, or rename old functions consistently.  Take
11724         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
11725         redundant macros and prototypes.  Make new functions static.
11727         * 1750a/1750a.c: Similarly.
11728         * 1750a/1750a.h: Similarly.
11729         * a29k/a29k-protos.h: Similarly.
11730         * a29k/a29k.c: Similarly.
11731         * a29k/a29k.h: Similarly.
11732         * arc/arc-protos.h: Similarly.
11733         * arc/arc.c: Similarly.
11734         * arc/arc.h: Similarly.
11735         * arm/arm-protos.h: Similarly.
11736         * arm/arm.c: Similarly.
11737         * arm/arm.h: Similarly.
11738         * avr/avr-protos.h: Similarly.
11739         * avr/avr.c: Similarly.
11740         * avr/avr.h: Similarly.
11741         * clipper/clipper-protos.h: Similarly.
11742         * clipper/clipper.c: Similarly.
11743         * clipper/clipper.h: Similarly.
11744         * convex/convex.c: Similarly.
11745         * convex/convex.h: Similarly.
11746         * d30v/d30v-protos.h: Similarly.
11747         * d30v/d30v.c: Similarly.
11748         * d30v/d30v.h: Similarly.
11749         * d30v/d30v.md: Similarly.
11750         * dsp16xx/dsp16xx-protos.h: Similarly.
11751         * dsp16xx/dsp16xx.c: Similarly.
11752         * dsp16xx/dsp16xx.h: Similarly.
11753         * elxsi/elxsi.c: Similarly.
11754         * elxsi/elxsi.h: Similarly.
11755         * fr30/fr30.c: Similarly.
11756         * fr30/fr30.md: Similarly.
11757         * h8300/h8300-protos.h: Similarly.
11758         * h8300/h8300.c: Similarly.
11759         * h8300/h8300.h: Similarly.
11760         * i370/i370-protos.h: Similarly.
11761         * i370/i370.c: Similarly.
11762         * i370/i370.h: Similarly.
11763         * i386/i386.c: Similarly.
11764         * i386/osf1elf.h: Similarly.
11765         * i386/osfrose.h: Similarly.
11766         * i860/i860-protos.h: Similarly.
11767         * i860/i860.c: Similarly.
11768         * i860/i860.h: Similarly.
11769         * i960/i960-protos.h: Similarly.
11770         * i960/i960.c: Similarly.
11771         * i960/i960.h: Similarly.
11772         * ia64/ia64-protos.h: Similarly.
11773         * ia64/ia64.c: Similarly.
11774         * ia64/ia64.h: Similarly.
11775         * m32r/m32r-protos.h: Similarly.
11776         * m32r/m32r.c: Similarly.
11777         * m32r/m32r.h: Similarly.
11778         * m68hc11/m68hc11-protos.h: Similarly.
11779         * m68hc11/m68hc11.c: Similarly.
11780         * m68hc11/m68hc11.h: Similarly.
11781         * m68k/crds.h: Similarly.
11782         * m68k/dpx2.h: Similarly.
11783         * m68k/m68k-protos.h: Similarly.
11784         * m68k/m68k.c: Similarly.
11785         * m68k/m68k.h: Similarly.
11786         * m68k/news.h: Similarly.
11787         * m88k/m88k-protos.h: Similarly.
11788         * m88k/m88k.c: Similarly.
11789         * m88k/m88k.h: Similarly.
11790         * mips/mips-protos.h: Similarly.
11791         * mips/mips.c: Similarly.
11792         * mips/mips.h: Similarly.
11793         * ns32k/merlin.h: Similarly.
11794         * ns32k/ns32k.c: Similarly.
11795         * ns32k/ns32k.h: Similarly.
11796         * ns32k/tek6000.h: Similarly.
11797         * pa/pa-protos.h: Similarly.
11798         * pa/pa.c: Similarly.
11799         * pa/pa.h: Similarly.
11800         * pdp11/2bsd.h: Similarly.
11801         * pdp11/pdp11-protos.h: Similarly.
11802         * pdp11/pdp11.c: Similarly.
11803         * pdp11/pdp11.h: Similarly.
11804         * romp/romp-protos.h: Similarly.
11805         * romp/romp.c: Similarly.
11806         * romp/romp.h: Similarly.
11807         * rs6000/rs6000-protos.h: Similarly.
11808         * rs6000/rs6000.c: Similarly.
11809         * rs6000/rs6000.h: Similarly.
11810         * rs6000/sysv4.h: Similarly.
11811         * sh/sh-protos.h: Similarly.
11812         * sh/sh.c: Similarly.
11813         * sh/sh.h: Similarly.
11814         * sparc/sparc-protos.h: Similarly.
11815         * sparc/sparc.c: Similarly.
11816         * sparc/sparc.h: Similarly.
11817         * vax/vax.c: Similarly.
11818         * vax/vax.h: Similarly.
11819         * vax/vms.h: Similarly.
11820         * we32k/we32k.c: Similarly.
11821         * we32k/we32k.h: Similarly.
11823 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
11825         * basic-block.h (first_insn_after_basic_block_note): Declare.
11826         * flow.c (first_insn_after_basic_block_note): Define.  Moved
11827         from...
11828         * ssa.c (first_insn_after_basic_block_note): Remove.
11829         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
11830         necessary.
11831         (ssa_eliminate_dead_code): Properly update the CFG and PHI
11832         nodes when we find a dead conditional branch.  Insert BARRIERs
11833         after any blocks with no successors, but which do not have
11834         any BARRIERs.
11836 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
11838         * varray.c (varray_check_failed): Use internal_error.
11840 2001-07-05  Andrew Haley  <aph@redhat.com>
11842         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
11843         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
11844         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
11846 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
11848         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
11849         reference if the target constant is also a SYMBOL_REF.
11851 2001-07-05  Eric Christopher  <echristo@redhat.com>
11853         * config/mips/mips.h (MASK_MIPS3900): Remove.
11854         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
11855         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
11856         (TARGET_MIPS3900): Change to use mips_arch.
11857         (TARGET_MIPS4000): New.
11858         (TARGET_MIPS4100): New.
11859         (TARGET_MIPS4300): New.
11860         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
11861         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
11862         for -mipsX.
11863         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
11864         (ISA_HAS_BRANCHLIKELY): To here.
11865         (CC1_CPU_SPEC):  New.
11866         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
11867         (mips_arch_string): Declare.
11868         (mips_arch): Declare.
11869         (TARGET_OPTIONS): Add -march and -mtune.
11871         * config/mips/mips.c (mips_arch_string): New.
11872         (mips_arch): New.
11873         (override_options): Handle -march for codegen and -mtune
11874         for scheduling. Use mips_arch. Move tx39 target default here.
11875         (mips_parse_cpu): Move error message to override_options.
11877         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
11879         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
11881         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
11882         (MIPS Options): Ditto.  Change mcpu entry to historical text.
11884 2001-07-05  H.J. Lu  (hjl@gnu.org)
11886         * config/mips/mips.c (mips_parse_cpu): New function to parse
11887         -march=*/-mcpu=*.
11889 2001-07-05  Jim Wilson  <wilson@redhat.com>
11891         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
11892         * config/ia64/t-ia64: Likewise.
11893         (LIB1ASMFUNCS): Update comment.
11895 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
11897         * doc/install.texi (Install GCC: Binaries): Fix typo.
11899 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11901         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
11902         reference using the stack pointer, adjust it since we push Y
11903         temporarily.
11904         ("*ashrsi3"): Likewise.
11905         ("*lshrsi3"): Likewise.
11907 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11909         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
11910         when -fomit-frame-pointer is used.
11912 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
11914         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
11915         (try_redirect_by_replacing_jump): Reverse updating properly the
11916         count and frequency information.  Reverse removing cc0 setter.
11917         (forwarder_block_p): Reverse fixing for fallthru blocks.
11919 2001-07-05  DJ Delorie  <dj@redhat.com>
11921         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
11922         (translate_options): If the above is defined, use it to map
11923         given options to new options.
11924         * doc/tm.texi: Document it.
11926 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
11927             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11929         * doc/invoke.texi (Optimize Options): Document that -fgcse may
11930         cause programs using computed gotos to run more slowly.
11932 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11934         * doc/install.texi (Specific): Markup, spelling and typo fixes.
11935         Fixed sorting.
11936         Consistently require binutils 2.11.2, not prereleases.
11937         (Specific, decstation-*): Canonicalize as mips-dec-*.
11938         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
11939         always necessary.
11940         (Specific, m68k-altos): Removed reference to README.altos, deleted.
11941         (Specific, mips-*): Reword MIPS C compiler requirements.
11942         (Specific, powerpc*-*-*): New, mention --with-cpu once.
11943         (Specific, sunv5): Removed, obsolete.
11945 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
11947         * dwarf2out.c (output_loc_list): Use an all ones mask for
11948         .text asm output and don't rely on long long
11949         literals. Reformat some long lines.
11951 2001-07-05  Andreas Jaeger  <aj@suse.de>
11953         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
11954         section.
11956 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
11958         * dwarf2out.c (dwarf2out_define): Update comment.
11959         (dwarf2out_undef): Ditto.
11960         (dwarf2out_start_source_file): Ditto.
11961         (dwarf2out_end_source_file): Ditto.
11962         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
11963         since we never call the start/end debug hook for the primary file.
11965 2001-07-04  Kazu Hirata  <kazu@hxi.com>
11967         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
11968         from shll.
11970 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
11972         * cppinit.c (remove_dup_dirs): Inform if a system include
11973         directory is being reordered.
11974         * doc/invoke.texi (Directory Options): GCC warns if you hide a
11975         system include.
11976         * doc/cpp.texi (Search Paths): Likewise.
11977         * doc/gcc.texi (Interoperation): Remove information about
11978         -I/usr/include.
11980 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
11982         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
11983         (VARRAY_TOP_CHAR_PTR): Likewise.
11985 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11987         * gcc.c (process_command): Don't assign elements of a const char*.
11989 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11991         * emit-rtl.c (change_address): Don't abort if invalid address while
11992         reload is in progress.
11994 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
11996         * c-lex.c (cb_file_change): Pass line number to
11997         debug_start_source_file.
11998         (cb_undefine): Pass correct line number to debug_undef.
12000         * toplev.c (debug_start_source_file): Add line number to
12001         parameters. Pass it along to dwarf2out_start_source_file.
12002         (decode_g_option): Stop resetting debug level back to normal when
12003         we change debug formats, unless the current level is
12004         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
12005         3).
12007         * toplev.h (debug_start_source_file): Add line number to
12008         parameters.
12010         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
12011         parameters.
12013         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
12014         parameters.
12015         Output debug_macinfo data for starting file if requested.
12016         (dwarf2out_end_source_file): Output debug_macinfo data for ending
12017         file if requested.
12018         (dwarf2out_define): Output debug_macinfo data for defining a macro
12019         if requested.
12020         (dwarf2out_undef): Output debug_macinfo data for undefining a
12021         macro if requested.
12022         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
12023         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
12024         (macinfo_section_label): New. DWARF2 macro info section label.
12025         (dwarf2out_init): If we want macro info, output the start label
12026         for the section.
12027         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
12028         attribute to the compilation unit die pointing to the macro info.
12030 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
12032         * dwarf2out.c (new_loc_list): Move to inside #ifdef
12033         DWARF2_DEBUGGING_INFO.
12034         (add_loc_descr_to_loc_list): Ditto.
12035         (output_loc_list): Ditto.
12036         Also, fix thinko in curr not being initialized.
12037         (gen_internal_sym): Ditto.
12039 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12041         * emit-rtl.c (replace_equiv_address): New function.
12042         * expr.h (replace_equiv_address): New declaration.
12043         * explow.c (validize_mem): Call it instead of change_address and
12044         also call if -fforce-addr and address is constant.
12045         * expr.c: Replace more calls to change_address with adjust_address
12046         and/or replace_equiv_address or to validize_mem.
12047         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
12048         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
12049         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
12050         * config/i370/i370.md, config/i860/i860.md: Likewise.
12051         * config/i960/i960.md, config/mips/mips.c: Likewise.
12052         * config/mips/mips.md, config/pa/pa.md: Likewise.
12053         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
12054         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
12056 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12058         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
12060         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
12061         function.
12063 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
12065         * doc/include: New directory.
12066         * doc/fdl.texi: Move to doc/include/fdl.texi.
12067         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
12068         * doc/include/funding.texi, doc/include/gpl.texi: New files.
12069         * doc/gcc.texi: Use funding.texi and gpl.texi.
12070         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
12071         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
12072         Update dependencies and use -I $(docdir)/include.
12074 2001-07-04  Anthony Green  <green@redhat.com>
12076         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
12078 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12080         * doc/install.texi (sparc64-*-*): Remove garbage.
12082 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
12084         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
12085         Fix typo in last change to use adjust_address.
12087 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12089         * doc/install.texi (Specific): Update information for *-*-solaris*.
12091 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12093         * explow.c (plus_constant_wide): Reinitialize Y for restart.
12095 2001-07-03  Stan Shebs  <shebs@apple.com>
12097         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
12098         case for flag_no_mach_text_sections.
12099         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
12100         * config/darwin.c (flag_no_mach_text_sections): Remove.
12101         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
12103 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12105         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
12106         and avoid checking for constant as first operand.
12107         * recog.c (find_constant_term_loc): No longer static.
12108         (adj_offettable_operand): Delete.
12109         * rtl.h (adj_offsettable_operand): Delete declaration.
12110         (find_constant_term): Add declaration.
12111         * caller-save.c: Replace calls to adj_offsettable_operand with calls
12112         to adjust_address.
12113         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
12114         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
12115         * config/i386/i386.c, config/i386/i386.md: Likewise.
12116         * config/i860/i860.c, config/i960/i960.c: Likewise.
12117         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
12118         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
12119         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
12120         * config/mips/mips.c, config/mips/mips.md: Likewise.
12121         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
12122         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
12123         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
12124         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
12125         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
12126         * config/ns32k/ns32k.md: Likewise.
12128 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
12130         * rtl.c (copy_rtx): Handle 'T' format letter.
12131         * gensupport.c (collect_insn_data): Likewise.
12132         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
12134 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
12136         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
12137         -B option.  Use 'dir' not 'foo' as example directory name.
12139 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12141         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
12142         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
12144 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
12146         * doc/cppinternals.texi: Improve formatting and logical markup.
12148 2001-07-03  Andreas Jaeger  <aj@suse.de>
12150         * Makefile.in (insn-recog.o): Add dependency on reload.h.
12152         * genrecog.c (write_header): Include reload.h for prototypes in
12153         insn-recog.c.
12155 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
12157 config:
12158         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
12159         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
12160         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
12161         i386_pe_valid_type_attribute_p): Add.
12162         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
12163         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
12165 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12167         * explow.c (plus_constant_wide, case LO_SUM): New case.
12168         (plus_constant_for_output_wide): Delete.
12169         * rtl.h (plus_constant_for_output): Delete.
12170         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
12171         instead of plus_constant_for_output.
12172         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
12173         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
12174         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
12175         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
12176         * config/sparc/sparc.md: Likewise.
12177         Convert some change_address calls to adjust_address.
12179 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
12181         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
12182         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
12183         documentation of -std and -Wwrite-strings.
12185 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
12187         * cse.c (canon_hash): Don't register registers in very small
12188         register classes, as extending their lifetime might cause
12189         reload to fail.
12191 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
12193         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
12195         * flow.c (forwarder_block_p): Fix for fallthru blocks.
12196         (try_redirect_by_replacing_jump): Update properly the count
12197         and frequency information.
12199 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
12201         * toplev.c (dump_file_index): Move SSA dumps just after first
12202         jump dump.
12203         (dump_file): Corresponding changes.
12204         (rest_of_compilation): Move SSA path to just after the first
12205         jump pass.
12206         * doc/gcc.texi (Passes): Update due to movement of SSA path.
12207         * doc/invoke.texi: Update dump file #s as they were completely
12208         out of date with reality.
12210 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
12212         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
12214         * expr.c (emit_move_insn_1): Deal with non-default
12215         STACK_PUSH_CODE.
12217         * expr.c (emit_single_push_insn): Fix warning.
12219 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
12221         * expr.c (emit_move_insn_1): Avoid modifying
12222         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
12224 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12226         * emit-rtl.c (adjust_address): New function.
12227         * expr.h (adjust_address): Add declaration.
12228         * builtins.c: Replace some calls to change_address with calls to it
12229         or to validize_mem.
12230         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
12231         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
12232         * config/arm/arm.c, config/convex/convex.c: Likewise.
12233         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
12234         * config/i386/i386.c, config/i386/i386.md: Likewise.
12235         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
12236         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
12237         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
12238         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
12239         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
12241 2001-07-02  Jim Wilson  <wilson@redhat.com>
12243         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
12245 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
12247         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
12248         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
12250 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
12252         * cppinit.c (lang_defaults): New table.
12253         (set_lang): Just read from lang_defaults into the live options
12254         structure.
12256 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
12258         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
12259         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
12260         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
12262 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12264         * doc/install.texi: Various spelling and markup fixes.
12265         (Installing GCC): Component specific installation instructions are
12266         gone.
12267         Fix reference.
12268         Warn about removing old install dir in the presence of shared libs.
12269         (Configuration): Invoke with options target to match configure
12270         --help.
12271         Consistently refer to gas, gld pathnames.
12272         Invert --enable-multilib documentation.
12273         Remove references to old compiler versions.
12275 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12277         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
12279 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12281         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
12282         section.
12283         (Specific, mips*-sgi-irix5): Note IDO download.
12284         Reworded MIPS C hints.
12285         Use GNU as instead of GAS.
12286         Markup fixes.
12287         Removed SGI Freeware reference, IRIX 6 only.
12288         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
12289         Note N64 library requirement/workaround.
12290         Update O32 hints.
12291         Complete list of structure passing bug victims.
12293 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12295         * doc/install.texi: Remove CVS Id.
12297 2001-07-02  Andreas Jaeger  <aj@suse.de>
12299         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
12300         (find_inherently_necessary): Remove unused variable.
12302 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
12304         * c-common.h (TDI_inlined): New ast dump phase.
12305         (dump_flag_name): New function.
12306         * c-dump.c (dump_files): Add inlined phase.
12307         (dump_flag_name): Define.
12308         * doc/invoke.texi (-fdump-ast-inlined): Document.
12310 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12312         * stor-layout.c (layout_decl): Revert change to handling of alignment
12313         in packed types.
12315 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12317         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
12318         for FIELD_DECL.
12320 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
12322         * doc/tm.texi (FUNCTION_ARG): Document that the last call
12323         is special.
12325 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
12327         * tlink.c (recompile_files): Remove COMPILER_PATH and
12328         LIBRARY_PATH from the environment.
12330 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
12332         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
12333         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
12334         enumerators.
12335         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
12337         * c-parse.in (OBJC_STRING): Kill.
12338         (objc_string): Decompose to [objc_string] '@' STRING.
12339         (reswords): Take the leading '@' off all the Objective C keywords.
12340         (objc_rid_sans_at): Kill.
12341         (init_reswords): Don't initialize it.
12342         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
12343         (_yylex): Kill reconsider label.  Look ahead one token after
12344         an '@'; if we get an identifier, check whether it's an
12345         Objective C @-keyword.  If so, return the keyword.  Otherwise,
12346         put back the token and return the '@' as a terminal.
12348         * cpplib.c (lex_macro_node): Remove unnecessary check for
12349         leading '@' on identifier.  Clarify control flow and commentary.
12351 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12353         * cse.c (new_label_ref): Variable deleted.
12354         (insert): Remove set of new_label_ref.
12355         (check_for_label_ref): New function.
12356         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
12358 See ChangeLog.5 for earlier changes.