46 GCC regressions, 0 new, with your patch on 2002-06-04T22:54:45Z.
GCC regression checker
regress@redhat.com
Tue Jun 4 19:19:00 GMT 2002
With your recent patch, GCC has some regression test failures, which
used to pass. There are 0 new failures, and 46
failures that existed before and after that patch; 0 failures
have been fixed.
The old failures, which were not fixed or introduced by your patch, are:
powerpc-eabisim gcc.sum gcc.dg/debug/debug-1.c
powerpc-eabisim gcc.sum gcc.dg/debug/debug-2.c
powerpc-eabisim gcc.sum gcc.dg/uninit-A.c
mips-elf gcc.sum gcc.dg/debug/debug-1.c
mips-elf gcc.sum gcc.dg/debug/debug-2.c
mips-elf gcc.sum gcc.dg/debug/debug-6.c
native g++.sum g++.brendan/copy9.C
native g++.sum g++.brendan/overload7.C
native g++.sum g++.eh/catch9.C
native g++.sum g++.eh/crash3.C
native g++.sum g++.mike/bool2.C
native g77.sum g77.f-torture/compile/19990305-0.f,
native g77.sum g77.f-torture/compile/20000629-1.f,
native g77.sum g77.f-torture/compile/980310-3.f,
native g77.sum g77.f-torture/compile/980310-4.f,
native g77.sum g77.f-torture/execute/970625-2.f
native g77.sum g77.f-torture/execute/dnrm2.f
native gcc.sum gcc.c-torture/compile/950922-1.c,
native gcc.sum gcc.c-torture/compile/961010-1.c,
native gcc.sum gcc.c-torture/compile/980506-2.c,
native gcc.sum gcc.c-torture/compile/981223-1.c,
native gcc.sum gcc.c-torture/execute/conversion.c
native gcc.sum gcc.c-torture/execute/ieee/20001122-1.c
native gcc.sum gcc.c-torture/execute/ieee/920518-1.c
native gcc.sum gcc.c-torture/execute/ieee/920810-1.c
native gcc.sum gcc.c-torture/execute/ieee/980619-1.c
native gcc.sum gcc.c-torture/execute/ieee/fp-cmp-1.c
native gcc.sum gcc.c-torture/execute/ieee/fp-cmp-2.c
native gcc.sum gcc.c-torture/execute/ieee/fp-cmp-3.c
native gcc.sum gcc.c-torture/execute/ieee/mzero2.c
native gcc.sum gcc.dg/debug/debug-1.c
native gcc.sum gcc.dg/debug/debug-2.c
native gcc.sum gcc.dg/uninit-A.c
native gdb.sum gdb.base/break.exp:
native gdb.sum gdb.base/call-ar-st.exp:
native gdb.sum gdb.base/call-rt-st.exp:
native gdb.sum gdb.base/constvars.exp:
native gdb.sum gdb.base/dbx.exp:
native gdb.sum gdb.base/display.exp:
native gdb.sum gdb.base/funcargs.exp:
native gdb.sum gdb.base/long_long.exp:
native gdb.sum gdb.base/miscexprs.exp:
native gdb.sum gdb.base/pointers.exp:
native gdb.sum gdb.base/return.exp:
native gdb.sum gdb.base/return2.exp:
native gdb.sum gdb.base/scope.exp:
For more information, see <http://people.redhat.com/geoffk/gcc-regression/>.
-------------- next part --------------
ChangeLog entries since last run on 2002-06-04T19:30:06Z:
--- /maat/heart/tbox/changelog_mail/gcc/gcc/ChangeLog Tue Jun 4 12:31:10 2002
+++ gcc/gcc/ChangeLog Tue Jun 4 15:55:12 2002
@@ -1,3 +1,34 @@
+2002-06-04 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (mode_mask_operand): Simplify without ifdefs.
+ (print_operand) ['U']: Likewise.
+ (alpha_expand_unaligned_store): Correct constants for 32-bit cross.
+ (alpha_expand_unaligned_store_words): Likewise.
+ (alpha_expand_builtin_vector_binop): Fix typo.
+ (enum alpha_builtin, code_for_builtin): Add remaining ext, ins, msk,
+ umulh, and cix insns.
+ (one_arg_builtins): Add cix builtins.
+ (two_arg_builtins): Add ext, ins, msk, umulh builtins.
+ (alpha_expand_builtin): Fix typo in arity.
+ * config/alpha/alpha.md (UNSPEC_CTLZ, UNSPEC_CTPOP): New.
+ (builtin_extbl, builtin_extwl, builtin_extll, builtin_extwh,
+ builtin_extlh, builtin_insbl, builtin_inswl, builtin_insll,
+ builtin_insql, builtin_inswh, builtin_inslh, builtin_insqh,
+ builtin_mskbl, builtin_mskwl, builtin_mskll, builtin_mskql,
+ builtin_mskwh, builtin_msklh, builtin_mskqh, builtin_cttz,
+ builtin_ctlz, builtin_ctpop): New.
+ * doc/extend.texi (Alpha Built-in Functions): Update.
+
+2002-06-04 Geoffrey Keating <geoffk@redhat.com>
+
+ * gengtype.c (write_gc_root): Don't unnecessarily prevent
+ global variable-length arrays being roots.
+
+ * config.gcc (powerpc-*-darwin*): Set config_gtfiles.
+ * configure.in (config_gtfiles): New variable.
+ (all_gtfiles): Initialise from config_gtfiles.
+ * configure: Regenerate.
+
2002-06-04 Neil Booth <neil@daikokuya.demon.co.uk>
config/i386:
--- /maat/heart/tbox/changelog_mail/gcc/gcc/java/ChangeLog Tue Jun 4 00:42:11 2002
+++ gcc/gcc/java/ChangeLog Tue Jun 4 15:55:25 2002
@@ -1,3 +1,24 @@
+2002-06-04 Tom Tromey <tromey@redhat.com>
+
+ * jcf-write.c (perform_relocations): Optmize a goto to a goto.
+
+2002-06-04 Michael Koch <konqueror@gmx.de>
+
+ * gcj.texi (Input Options): Fixed typo.
+
+2002-06-04 Zack Weinberg <zack@codesourcery.com>
+
+ * java-tree.h, class.c, expr.c, jcf-parse.c, parse.y,
+ typeck.c, verify.c: Remove all #if JAVA_USE_HANDLES blocks,
+ all mention of CLASS_TO_HANDLE_TYPE or HANDLE_TO_CLASS_TYPE,
+ and all now-pointless local variables. Rename other local
+ variables to reflect their not being handles.
+
+ * java-tree.h, jcf-dump.c, jcf-io.c: Remove all
+ #if JCF_USE_STDIO blocks.
+
+ * parse.y: Add missing semicolon at end of rule.
+
2002-06-03 Geoffrey Keating <geoffk@redhat.com>
* check-init.c (attach_initialized_static_class): Delete, unused.
--- /maat/heart/tbox/changelog_mail/gcc/gcc/testsuite/ChangeLog Tue Jun 4 00:42:25 2002
+++ gcc/gcc/testsuite/ChangeLog Tue Jun 4 15:55:54 2002
@@ -1,3 +1,9 @@
+2002-06-04 Richard Henderson <rth@redhat.com>
+
+ * gcc.dg/alpha-base-1.c: Add ext/ins/msk/umulh cases.
+ * gcc.dg/alpha-max-1.c, gcc.dg/alpha-max-2.c: Use -mcpu=ev67.
+ * gcc.dg/alpha-cix-1.c, gcc.dg/alpha-cix-2.c: New.
+
2002-06-04 Aldy Hernandez <aldyh@redhat.com>
* gcc.dg/altivec-2.c: Remove test for invalid vector type V2DF.
--- /maat/heart/tbox/changelog_mail/gcc/libjava/ChangeLog Tue Jun 4 12:31:40 2002
+++ gcc/libjava/ChangeLog Tue Jun 4 15:55:56 2002
@@ -1,3 +1,17 @@
+2002-06-04 H.J. Lu (hjl@gnu.org)
+
+ * Makefile.am (libgcj_convenience.la): New target.
+ (libgcj.la): Depend on libgcj_convenience.la.
+ * Makefile.in: Regenerated.
+
+2002-06-04 H.J. Lu (hjl@gnu.org)
+
+ * configure.in (--with-newlib): New option:
+ Check ${with_newlib} instead of ${with_cross_host} for newlib.
+ (HAVE_PROC_SELF_EXE): Defined to 1 only for cross compiling to
+ Linux.
+ * configure: Regenerated.
+
2002-06-04 Tom Tromey <tromey@redhat.com>
* java/util/natTimeZone.cc: Include <stdio.h>.
--- /maat/heart/tbox/changelog_mail/gcc/libjava/testsuite/ChangeLog Wed May 29 20:13:55 2002
+++ gcc/libjava/testsuite/ChangeLog Tue Jun 4 15:56:04 2002
@@ -1,3 +1,16 @@
+2002-06-04 Tom Tromey <tromey@redhat.com>
+
+ * libjava.compile/T20020604.java: New file.
+
+ For PR libgcj/6389:
+ * libjava.mauve/xfails: Now passes System.getProperty test.
+
+ For PR java/1343 and PR java/6336:
+ * libjava.compile/PR1343.java: New file.
+
+ For PR java/5913:
+ * libjava.compile/PR5913.xfail: Removed.
+
2002-05-29 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
* libjava.compile/T20020529.java: New file.
ChangeLog entries between 2002-06-04T19:30:06Z and the last time everything
passed, on 2002-05-29T21:10:18Z:
--- /maat/heart/tbox/changelog_pass/gcc/ChangeLog Tue May 28 13:59:06 2002
+++ gcc/ChangeLog Fri May 31 14:03:49 2002
@@ -1,3 +1,21 @@
+2002-05-31 Nathanael Nerode <neroden@twcny.rr.com>
+
+ * Makefile.in: Replace HOST_PREFIX, HOST_PREFIX_1 with BUILD_PREFIX,
+ BUILD_PREFIX_1, to correct nomenclature.
+ * configure: Likewise.
+
+ * Makefile.in: Eliminate version-specific references to tcl8.1, tk8.1.
+ * configure.in: Eliminate version-specific references to tcl8.1, tk8.1.
+
+2002-05-31 Olaf Hering <olh@suse.de>
+
+ * config-ml.in: Propogate DESTDIR also.
+
+2002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * configure.in (vax-*-netbsd*): Don't build gas for this
+ platform.
+
2002-05-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
* configure.in (noconfigdirs): Don't compile libiberty, libstdcxx
--- /maat/heart/tbox/changelog_pass/gcc/gcc/ChangeLog Wed May 29 14:10:46 2002
+++ gcc/gcc/ChangeLog Tue Jun 4 12:31:10 2002
@@ -1,3 +1,2052 @@
+2002-06-04 Neil Booth <neil@daikokuya.demon.co.uk>
+
+config/i386:
+ * beos-elf.h, cygwin.h, djgpp.h, gas.h, gnu.h, i386-interix.h,
+ i386-interix3.h, i386elf.h, linux-aout.h, linux.h, linux64.h,
+ mingw32.h, netbsd-elf.h, netbsd.h, netbsd64.h, rtemself.h,
+ sco5.h, sol2.h, sysv3.h, sysv4.h, sysv5.h, uwin.h, vxi386.h,
+ win32.h (CPP_SPEC): Remove cpp_cpu.
+ * i386.h (TARGET_CPU_CPP_BUILTINS): Use.
+ (CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Die!
+
+2002-06-04 Janis Johnson <janis187@us.ibm.com>
+
+ * config/ia64/ia64.c (gen_thread_pointer): Fix variable name.
+
+2002-06-04 Jeff Law <law@redhat.com.
+ David Edelsohn <edelsohn@gnu.org>
+ Michael Matz <matz@kde.org>
+
+ * sched-int.h (struct deps): New field libcall_block_tail_insn.
+ * sched_deps.c (init_deps): Initialize libcall_block_tail_insn.
+ * sched_deps.c (sched_analyze_insn): If libcall_block_tail_insn
+ is set, then mark the current insn as being part of a libcall
+ scheduling group.
+ (sched_analyze): Set and clear libcall_block_tail_insn appropriately.
+
+ * haifa-sched.c (schedule_block): Do not count USE or CLOBBER
+ insns against the issue rate.
+
+Tue Jun 4 19:29:42 CEST 2002 Jan Hubicka <jh@suse.cz>
+
+ * cfglayout.c (duplicate_insn_chain): Kill NOTE_INSN_RANGE notes.
+ * final.c (final_scan_insn): Likewise.
+ * ggc-common.c (ggc_mark_rtx_children_1): Likewise; use
+ NOTE_EXPECTED_VALUE instead of NOTE_RANGE.
+ * haifa-sched.c (unlink_other_notes): Likeewise.
+ (reemit_notes): Likewise.
+ * print-rtl.c (print_rtx): Likewise.
+ * sched-deps (sched-analyze): Likewise.
+ * rtl.c (note_insn_name): Likewise.
+ * rtl.h (NOTE_RANGE_INFO, NOTE_LIVE_INFO): Kill.
+ (enum insn_note): Kill NOTE_INSN_RANGE_*, NOTE_INSN_LIVE.
+ (RANGE_*): Kill.
+
+2002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * varasm.c (mark_constants): Handle RTX format 'B'.
+
+2002-06-04 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpphash.h (FIRST, LAST, CUR, RLIMIT): New.
+ (struct cpp_context): Add traditional fields.
+ * cppmacro.c (paste_all_tokens, push_ptoken_context,
+ push_token_context, cpp_get_token, _cpp_backup_tokens): Update.
+ * cpptrad.c (skip_comment, lex_identifier,
+ _cpp_read_logical_line_trad, scan_out_logical_line): Update.
+
+2002-06-04 Kazu Hirata <kazu@cs.umass.edu>
+
+ * gbl-ctors.h: Fix formatting.
+ * gcc.c: Likewise.
+ * gccspec.c: Likewise.
+ * gcov.c: Likewise.
+ * gcov-io.h: Likewise.
+ * gcse.c: Likewise.
+ * ggc-common.c: Likewise.
+ * ggc.h: Likewise.
+ * ggc-page.c: Likewise.
+ * ggc-simple.c: Likewise.
+ * global.c: Likewise.
+ * graph.h: Likewise.
+ * gthr-dce.h: Likewise.
+ * gthr.h: Likewise.
+ * gthr-posix.h: Likewise.
+ * gthr-rtems.h: Likewise.
+ * gthr-solaris.h: Likewise.
+ * gthr-win32.h: Likewise.
+
+2002-06-03 Geoffrey Keating <geoffk@redhat.com>
+
+ Merge from pch-branch:
+
+ * gengtype.h (UNION_OR_STRUCT_P): New macro.
+ * gengtype.c (write_gc_structure_fields): Use it.
+ (write_gc_root): Use it here too.
+
+ * gengtype.c (write_gc_structure_fields): Assume that lengths
+ of typenames fit into an 'int'; don't pass a size_t to "%d" in
+ printf.
+ (write_gc_marker_routine_for_structure): Likewise.
+ (write_gc_types): Likewise.
+ (write_gc_root): Likewise.
+
+ * varray.h (VARRAY_CLEAR): New.
+ (varray_clear): Prototype.
+ * varray.c (varray_clear): New.
+ * cselib.c (reg_values_old): New.
+ (used_regs_old): New.
+ (cselib_init): Use cached varrays if available to avoid
+ generating large amounts of garbage.
+ (cselib_finish): Don't throw away old varrays.
+
+ * final.c (insn_addresses_): Move out of ifdef.
+
+ * varray.c (uses_ggc): Make more varray kinds GCable.
+ * varray.h (union varray_data_tag): Let gengtype see
+ fields 'generic' and 'te'.
+ * reg-stack.c: Include gt-reg-stack.h, ggc.h.
+ (stack_regs_mentioned_data): Move out of ifdef; mark with gengtype.
+ (reg_to_stack): Don't call VARRAY_FREE.
+ * insn-addr.h (INSN_ADDRESSES_FREE): Don't use VARRAY_FREE.
+ (insn_addresses_): Use gengtype to mark.
+ * gengtype.c (write_gc_structure_fields): Handle arrays of generic
+ pointers; handle generic pointers in unused union fields.
+ (get_output_file_with_visibility): Include cselib.h,
+ insn-addr.h in gtype-desc.c.
+ * function.c (prologue): Use gengtype to mark.
+ (epilogue): Likewise.
+ (sibcall_epilogue): Likewise.
+ * dependence.c: Include gt-dependence.h, ggc.h.
+ (struct def_use): Use gengtype to mark.
+ (struct loop): Likewise.
+ (struct induction): Likewise.
+ (struct dependence): Likewise.
+ (def_use_chain): Likewise.
+ (dep_chain): Likewise.
+ (loop_chain): Likewise.
+ (induction_chain): Likewise.
+ (init_dependence_analysis): Don't free anything, just clear pointers.
+ (build_def_use): Use GGC to allocate def_use.
+ (add_loop): Use GGC to allocate loop.
+ (find_induction_variable): Use GGC to allocate induction.
+ (check_node_dependence): Use GGC to allocate induction, dependence.
+ (dump_node_dependence): Don't free varrays.
+ (end_dependence_analysis): Likewise.
+ * cselib.h (struct cselib_val_struct): Use gengtype to mark.
+ (struct elt_loc_list): Likewise.
+ (struct elt_list): Likewise.
+ * cselib.c: Don't include obstack.h.
+ (hash_table): Use gengtype to mark.
+ (reg_values): Use gengtype to mark.
+ (used_regs): Use gengtype to mark.
+ (cselib_obstack): Delete.
+ (cselib_startobj): Delete.
+ (empty_vals): Mark as deletable.
+ (empty_elt_lists): Mark as deletable.
+ (empty_elt_loc_lists): Mark as deletable.
+ (new_elt_list): Use GGC to allocate struct elt_list.
+ (new_elt_loc_list): Use GGC to allocate struct elt_loc_list.
+ (clear_table): Don't delete obstack; don't unnecessarily clear
+ deletable variables.
+ (new_cselib_val): Use GGC to allocate struct cselib_val.
+ (cselib_init): Don't set up obstacks. Use GGC to allocate
+ hash table.
+ (cselib_finish): Just clear variables, don't free anything.
+ * Makefile.in (cselib.o): Remove dependency on $(OBSTACK_H).
+ (reg-stack.o): Add dependency on gt-reg-stack.h, $(GGC_H).
+ (dependence.o): Add dependency on gt-dependence.h, $(GGC_H).
+ (GTFILES): Add insn-addr.h, cselib.h, dependence.c, reg-stack.c.
+ (gt-reg-stack.h): New rule.
+ (gt-dependence.h): New rule.
+ (gtype-desc.o): Add cselib.h, insn-addr.h.
+
+ * varray.c: Use only necessary headers.
+ (element_size): New.
+ (uses_ggc): New.
+ (varray_init): Take type, not size. Use GGC if appropriate.
+ (varray_grow): Update for change to struct varray_head_tag.
+ Use GGC if appropriate.
+ * varray.h (struct const_equiv_data): Use gengtype.
+ (enum varray_data_enum): New.
+ (union varray_data_tag): Use gengtype.
+ (struct varray_head_tag): Use gengtype. Replace size field with
+ enum varray_data_enum.
+ (varray_init): Update prototype.
+ (VARRAY_SCHED_INIT): Delete.
+ (VARRAY_*_INIT): Update for change to varray_init.
+ (VARRAY_SCHED): Delete.
+ (VARRAY_PUSH_SCHED): Delete.
+ (VARRAY_TOP_SCHED): Delete.
+ * tree.h: Update for change to length specifier.
+ * tree-inline.c (optimize_inline_calls): Don't use VARRAY_FREE.
+ (clone_body): Likewise.
+ * ssa.h (ssa_definition): Use gengtype to mark.
+ * ssa.c (convert_from_ssa): Don't use VARRAY_FREE.
+ * ssa-dce.c (ssa_eliminate_dead_code): Don't use VARRAY_FREE.
+ * rtl.h (struct rtvec_def): Update for change to length specifier.
+ * integrate.c (expand_inline_function): Don't use VARRAY_FREE.
+ (struct initial_value_struct): Update for change to length specifier.
+ * ggc.h (ggc_add_rtx_varray_root): Delete prototype.
+ (ggc_add_tree_varray_root): Delete prototype.
+ (ggc_mark_rtx_varray): Delete prototype.
+ (ggc_mark_tree_varray): Delete prototype.
+ * ggc-common.c (ggc_add_rtx_varray_root): Delete.
+ (ggc_add_tree_varray_root): Delete.
+ (ggc_mark_rtx_varray): Delete.
+ (ggc_mark_tree_varray): Delete.
+ (ggc_mark_rtx_varray_ptr): Delete.
+ (ggc_mark_tree_varray_ptr): Delete.
+ * gengtype.h (enum typekind): Remove TYPE_VARRAY.
+ (create_varray): Delete prototype.
+ * gengtype.c (varrays): Delete.
+ (create_varray): Delete.
+ (adjust_field_type): Detect array of string pointers.
+ (process_gc_options): Remove code to handle varray_type option.
+ (set_gc_used_type): Remove TYPE_VARRAY case.
+ (output_escaped_param): New.
+ (write_gc_structure_fields): Use output_escaped_param on all
+ parameters. Handle 'skip' with 'use_param' option. Handle
+ arrays of strings. Remove TYPE_VARRAY handling.
+ (write_gc_roots): Use boolean to detect 'length' option.
+ * gengtype-yacc.y (VARRAY_TYPE): Delete token.
+ (struct_fields): Call adjust_field_type on array fields.
+ (type): Remove VARRAY_TYPE case.
+ (type_option): Likewise.
+ * gengtype-lex.l: Don't consider varray_type a keyword.
+ * function.h: Update for change to length specifier.
+ (free_eh_status): Delete prototype.
+ * function.c (free_after_compilation): Don't call free_eh_status.
+ (reorder_blocks): Don't use VARRAY_FREE.
+ * except.c (struct eh_status): Update for change to length specifier.
+ remove varray_type specifier.
+ (free_eh_status): Delete.
+ * dwarf2out.c: Include gt-dwarf2out.h.
+ (used_rtx_varray): Use gengtype to mark, move
+ outside ifdefs.
+ (incomplete_types): Likewise.
+ (decl_scope_table): Likewise.
+ (dwarf2out_init): Don't call ggc_add_tree_varray_root.
+ * cfglayout.c (scope_to_insns_finalize): Don't use VARRAY_FREE.
+ * c-tree.h (struct lang_type): Update for change to length specifier.
+ * c-parse.in (yylexstring): Don't use VARRAY_FREE.
+ * c-objc-common.c: Include gt-c-objc-common.h.
+ (deferred_fns): Mark for gengtype.
+ (c_objc_common_init): Don't call ggc_add_tree_varray_root.
+ (expand_deferred_fns): Just set deferred_fns to 0 to free it.
+ * Makefile.in (c-objc-common.o): Add gt-c-objc-common.h.
+ (gtype-desc.o): Update dependencies.
+ (dwarf2out.o): Add gt-dwarf2out.h.
+ (varray.o): Update dependencies.
+ (GTFILES): Add varray.h, ssa.h, dwarf2out.c, c-objc-common.c.
+ (gt-c-objc-common.h): New rule.
+ (gt-dwarf2out.h): New rule.
+ * objc/objc-act.c (build_objc_string_object): Don't use VARRAY_FREE.
+
+ * doc/gty.texi (GTY Options): Correct spelling.
+ (GGC Roots): Likewise.
+ * Makefile.in (TEXI_CPP_FILES): New.
+ (TEXI_GCC_FILES): New.
+ (TEXI_GCCINT_FILES): New.
+ (TEXI_CPPINT_FILES): New.
+ ($(docdir)/cpp.info): Use new macros.
+ ($(docdir)/gcc.info): Likewise.
+ ($(docdir)/gccint.info): Likewise.
+ ($(docdir)/cppinternals.info): Likewise.
+ (cpp.dvi): Likewise.
+ (gcc.dvi): Likewise.
+ (gccint.dvi): Likewise.
+ (cppinternals.dvi): Likewise.
+
+ * Makefile.in ($(docdir)/gccint.info): Depend on gty.texi.
+ * doc/gccint.texi (Top): Include gty.texi.
+ * doc/gty.texi: New file.
+
+ * bitmap.c: Include ggc.h, gt-bitmap.h.
+ (bitmap_ggc_free): New.
+ (bitmap_elem_to_freelist): New.
+ (bitmap_element_free): Use bitmap_elem_to_freelist.
+ (bitmap_element_allocate): Allow use of GGC.
+ (bitmap_clear): Use bitmap_elem_to_freelist.
+ (bitmap_copy): Update for change to bitmap_element_allocate.
+ (bitmap_set_bit): Likewise.
+ (bitmap_operation): Update for changes elsewhere.
+ (bitmap_initialize): Allow to create bitmaps that will use GGC.
+ * bitmap.h (struct bitmap_element_def): Use gengtype.
+ (struct bitmap_head_def): Likewise. Also add 'using_obstack' field.
+ (bitmap_initialize): Add extra parameter.
+ (BITMAP_OBSTACK_ALLOC): Update for change to bitmap_initialize.
+ (BITMAP_ALLOCA): Delete.
+ (BITMAP_XMALLOC): Update for change to bitmap_initialize.
+ (BITMAP_GGC_ALLOC): New.
+ * Makefile.in (gtype-desc.o): Add bitmap.h.
+ (bitmap.o): Add gt-bitmap.h, $(GGC_H).
+ (GTFILES): Add bitmap.c.
+ (gt-bitmap.h): New rule.
+ ($(HOST_PREFIX_1)bitmap.o): Add gt-bitmap.h.
+ * basic-block.h: Update for changes to bitmap_initialize.
+ * except.c (exception_handler_label_map): Move into...
+ (struct eh_status): Here.
+ (struct eh_region): Make 'aka' GCable.
+ (free_eh_status): Don't need to specially handle
+ exception_handler_label_map.
+ (add_ehl_entry): Update for changes to exception_handler_label_map.
+ (find_exception_handler_labels): Likewise.
+ (remove_exception_handler_label): Likewise.
+ (maybe_remove_eh_handler): Likewise.
+ (for_each_eh_label): Likewise.
+ (remove_eh_handler): Allocate 'aka' using GGC.
+ * gengtype.c (get_output_file_with_visibility): Add bitmap.h
+ to list of includes.
+
+ * gengtype.c (write_gc_marker_routine_for_structure): Name
+ the routines 'gt_ggc_mx_*' instead of 'gt_ggc_m_*'.
+ (write_gc_types): Arrange for the tests with NULL to be inlined.
+ (write_gc_roots): Update uses of procedure pointers.
+ * ggc-common.c (gt_ggc_mx_rtx_def): Rename from gt_ggc_m_rtx_def.
+
+ * Makefile.in (explow.o): Add dependency on gt-explow.h.
+ (sdbout.o): Add dependency on gt-sdbout.h.
+
+ * emit-rtl.c (const_int_htab): Use gengtype to clear unused entries.
+ (mem_attrs_htab): Likewise.
+ (init_emit_once): Don't call ggc_add_deletable_htab.
+ * fold-const.c (size_htab): Use gengtype to clear unused entries.
+ (size_int_type_wide): Don't call ggc_add_deletable_htab.
+ * gengtype.c (finish_root_table): Add LASTNAME and TNAME
+ parameters, use them, change callers.
+ (write_gc_root): Add IF_MARKED parameter, use it, change callers.
+ (write_gc_roots): Handle 'if_marked' option.
+ (main): Don't need to call set_gc_used_type any more.
+ * ggc.h (ggc_htab_marked_p): Delete.
+ (ggc_htab_mark): Delete.
+ (struct ggc_cache_tab): New.
+ (gt_ggc_cache_rtab): New declaration.
+ * ggc-common.c (struct d_htab_root): Delete.
+ (d_htab_roots): Delete.
+ (ggc_add_deletable_htab): Delete.
+ (ggc_htab_delete): Handle new htab-deleting mechanism.
+ (ggc_mark_roots): Use new htab-deleting mechanism.
+ * tree.c (type_hash_table): Use gengtype to clear unused entries.
+ Make static.
+ (init_obstacks): Don't call ggc_add_deletable_htab.
+
+ * objc/objc-act.h (struct hashed_attribute): Use gengtype.
+ (struct hashed_entry): Likewise.
+ (nst_method_hash_list): Likewise.
+ (cls_method_hash_list): Likewise.
+ (HASH_ALLOC_LIST_SIZE): Delete.
+ (ATTR_ALLOC_LIST_SIZE): Delete.
+ * objc/objc-act.c (hash_init): Use ggc to allocate
+ nst_method_hash_list, cls_method_hash_list.
+ (hash_enter): Use ggc to allocate; allocate one entry at a time.
+ (hash_add_attr): Likewise.
+ (ggc_mark_hash_table): Delete.
+ (objc_act_parse_init): Delete.
+ (objc_init): Delete reference to objc_act_parse_init.
+ * tlink.c: Replace hash.h with hashtab.h. Explicitly include
+ obstack.h. Replace references to 'struct hash_table' with htab_t.
+ (struct symbol_hash_entry): Replace hash header with key field.
+ (struct file_hash_entry): Replace hash header with key field.
+ (struct demangled_hash_entry): Replace hash header with key field.
+ (hash_string_eq): New.
+ (hash_string_hash): New.
+ (symbol_hash_newfunc): Delete.
+ (symbol_hash_lookup): Modify to use htab_t.
+ (file_hash_newfunc): Delete.
+ (file_hash_lookup): Modify to use htab_t.
+ (demangled_hash_newfunc): Delete.
+ (demangled_hash_lookup): Modify to use htab_t.
+ (tlink_init): Modify to use htab_t.
+ * hash.h: Delete.
+ * hash.c: Delete.
+ * ggc.h: Delete forward structure declarations.
+ Delete prototypes for deleted functions.
+ * ggc-common.c: Don't include hash.h.
+ (ggc_add_tree_hash_table_root): Delete.
+ (ggc_mark_tree_hash_table_entry): Delete.
+ (ggc_mark_tree_hash_table): Delete.
+ (ggc_mark_tree_hash_table_ptr): Delete.
+ * gengtype.c (write_gc_structure_fields): Allow param_is option.
+ (write_gc_marker_routine_for_structure): Use visibility of
+ the parameter if there is one.
+ * function.c: Replace hash.h with hashtab.h. Replace references
+ to 'struct hash_table *' with htab_t.
+ (struct insns_for_mem_entry): Include a plain key.
+ (fixup_var_refs_insns_with_hash): Update to use htab_t.
+ (insns_for_mem_newfunc): Delete.
+ (insns_for_mem_hash): Update to use htab_t.
+ (insns_for_mem_comp): Likewise.
+ (insns_for_mem_walk): Likewise.
+ * c-lang.c: Include ggc.h.
+ * Makefile.in (OBJS): Remove hash.o.
+ (c-lang.o): Add GGC_H.
+ (COLLECT2_OBJS): Remove hash.o.
+ (tlink.o): Remove hash.h, add HASHTAB_H and OBSTACK_H.
+ (ggc-common.o): Remove hash.h.
+ (function.o): Remove hash.h, add HASHTAB_H.
+ (genautomata.o): Remove hash.h, add HASHTAB_H.
+
+ * varasm.c (mark_const_str_htab_1): Delete.
+ (mark_const_str_htab): Delete.
+ (const_str_htab_del): Delete.
+ (const_str_htab): Use gengtype to mark.
+ (init_varasm_once): Use gengtype to mark hashtables. Use GC to
+ allocate them.
+ * tree.c (mark_tree_hashtable_entry): Delete.
+ (mark_tree_hashtable): Delete.
+ * tree.h (mark_tree_hashtable): Delete prototype.
+ * ggc.h (ggc_test_and_set_mark): Treat (void *)1 like NULL.
+ (ggc_mark): Likewise.
+ (ggc_calloc): New.
+ (htab_create_ggc): New.
+ * ggc-common.c (ggc_calloc): New.
+ * gengtype.h (enum typekind): Add TYPE_PARAM_STRUCT.
+ (struct type): Add param_struct structure.
+ * gengtype.c (param_structs): New.
+ (adjust_field_type): Handle param_is option.
+ (set_gc_used_type): Handle TYPE_PARAM_STRUCT.
+ (get_output_file_with_visibility): Include hashtab.h in gtype-desc.c.
+ (write_gc_structure_fields): Add new PARAM parameter. Update
+ callers. Handle use_param option. Handle TYPE_PARAM_STRUCT.
+ (write_gc_marker_routine_for_structure): Add new PARAM parameter.
+ Use it to generate function name. Update callers.
+ (write_gc_types): Add new PARAM_STRUCTS parameter. Update callers.
+ Process them.
+ (write_gc_roots): Handle TYPE_PARAM_STRUCT. Allow param_is
+ option.
+ (main): Define PTR as pointer-to-scalar. Don't specially
+ mark deferred_string or ehl_map_entry.
+ * gengtype-yacc.y (PARAM_IS): Add new token.
+ (externstatic): Use adjust_field_type.
+ (type_option): Add PARAM_IS.
+ * gengtype-lex.l: Add rule for typedef of function pointers.
+ Add rule for PARAM_IS.
+ (IWORD): Add size_t.
+ * except.c (exception_handler_label_map): Use gengtype to mark.
+ (type_to_runtime_map): Likewise.
+ (mark_ehl_map_entry): Delete.
+ (mark_ehl_map): Delete.
+ (init_eh): Use gengtype for roots; use GC to allocate hash tables.
+ (t2r_mark_1): Delete.
+ (t2r_mark): Delete.
+ * Makefile.in (gtype-desc.o): Correct dependencies.
+ (GTFILES): Add hashtab.h.
+ (genautomata.o): Actually uses hashtab.h.
+
+ * Makefile.in (stringpool.o): Add $(GGC_H).
+ (dwarf2asm.o): Likewise.
+ (GTFILES): Add hashtable.h.
+ * c-common.h (struct c_common_identifier): Use gengtype.
+ * c-decl.h (c_mark_tree): Delete.
+ * c-lang.c (LANG_HOOKS_MARK_TREE): Delete.
+ * c-tree.h (struct lang_identifier): Use gengtype.
+ (union lang_tree_node): New.
+ (c_mark_tree): Delete prototype.
+ * dwarf2out.c [!DWARF2_DEBUGGING_INFO]: Define dummy
+ dwarf2_debug_hooks.
+ * gengtype-lex.l (IWORD): Allow 'bool'.
+ (ptr_alias): Match.
+ * gengtype-yacc.y (ALIAS): New token.
+ (type_option): New rule.
+ (option): Use type_option.
+ * gengtype.c (process_gc_options): New.
+ (set_gc_used_type): Use it.
+ (write_gc_structure_fields): Add 'bitmap' parameter, change callers.
+ Add new variable 't' to hold the type of the field being processed.
+ Add more error checking. Use UNION_P when looking at 'desc' option.
+ Handle language-specific structures containing other
+ language-specific structures.
+ (write_gc_types): Handle 'ptr_alias' option.
+ (main): Don't need to specially output lang_type, lang_decl, lang_id2.
+ * ggc-common.c (ggc_pending_trees): Delete.
+ (ggc_mark_roots): Don't manipulate ggc_pending_trees.
+ (ggc_mark_trees): Delete.
+ (gt_ggc_m_tree_node): Delete.
+ * ggc.h (ggc_pending_trees): Delete.
+ (ggc_mark_tree): Make alias of gt_ggc_m_tree_node.
+ * hashtable.h (ht_identifier): Use gengtype.
+ * langhooks-def.h (LANG_HOOKS_MARK_TREE): Delete.
+ * langhooks.h (struct lang_hooks): Delete mark_tree.
+ * sdbout.c [! SDB_DEBUGGING_INFO]: Define dummy sdb_debug_hooks
+ anyway.
+ * system.h: Poison LANG_HOOKS_MARK_TREE.
+ * tree.c (tree_node_structure): New.
+ * tree.h (struct tree_common): Use gengtype.
+ (struct tree_int_cst): Likewise.
+ (struct tree_real_cst): Likewise.
+ (struct tree_string): Likewise.
+ (struct tree_complex): Likewise.
+ (struct tree_vector): Likewise.
+ (struct tree_identifier): Likewise.
+ (struct tree_list): Likewise.
+ (struct tree_vec): Likewise.
+ (struct tree_exp): Likewise.
+ (struct tree_block): Likewise.
+ (struct tree_type): Likewise.
+ (struct tree_decl): Likewise.
+ (enum tree_structure_enum): New.
+ (union tree_node): Use gengtype, with an alias.
+ (tree_node_structure): Prototype.
+ * objc/objc-lang.c (LANG_HOOKS_MARK_TREE): Delete.
+
+ Merge to tag pch-merge-20020430. The LANG_HOOKS_FUNCTION_MARK
+ macro was deleted. The LANG_HOOKS_FUNCTION_FREE macro was renamed
+ to LANG_HOOKS_FUNCTION_FINAL.
+ * Makefile.in (GTFILES): Add bitmap.h.
+ * except.c (struct eh_region): Mark field 'aka' to be skipped.
+
+ * config/alpha/alpha.c [TARGET_ABI_UNICOSMK]
+ (alpha_init_machine_status): Give proper type.
+ * Makefile.in (c-lang.o): Depend on gtype-c.h.
+ (optabs.o): Depend on gt-optabs.h.
+ (GTFILES): Add optabs.o.
+ (gt-optabs.h): Add rule.
+ * optabs.c: Include gt-optabs.h.
+
+ * gengtype.c (set_gc_used_type): Correct some errors in last change.
+ (write_gc_structure_fields): If a field which should be NULL is
+ not, abort.
+ * c-pragma.c: Move struct align_stack and variable alignment_stack
+ out from the ifdef.
+
+ * config/xtensa/t-xtensa: Add dependencies for gt-xtensa.h.
+ * config/xtensa/xtensa.c: Include gt-cris.h.
+ (struct machine_function): Use gengtype to mark.
+ * config/mmix/mmix.h (struct machine_function): Use gengtype
+ to mark.
+ * config/cris/t-cris: Add dependencies for gt-cris.h.
+ * config/cris/cris.c: Include gt-cris.h.
+ (struct machine_function): Use gengtype to mark.
+ * config/rs6000/rs6000.h (struct machine_function): Use gengtype
+ to mark.
+ * doc/tm.texi (Per-Function Data): Delete references to
+ mark_machine_status.
+ * config/ia64/ia64.c (ia64_override_options): Don't set
+ mark_machine_status.
+ * config/i386/i386.c (override_options): Likewise.
+ * config/d30v/d30v.c (d30v_init_expanders): Likewise.
+ * config/arm/arm.c (arm_init_expanders): Likewise.
+ * config/alpha/alpha.c (override_options): Likewise.
+ * gengtype.h (enum gc_used_enum): Add GC_MAYBE_POINTED_TO.
+ * gengtype.c (set_gc_used_type): Handle 'maybe_null' option.
+ (write_gc_structure_fields): Don't handle 'really' option.
+ Handle 'maybe_null' option.
+ (write_gc_types): Handle 'maybe_null' option.
+ * function.h (struct function): Don't use "really".
+ (mark_machine_status): Delete declaration.
+ (mark_lang_status): Delete declaration.
+ (gt_ggc_mr_machine_function): Delete prototype.
+ (gt_ggc_mr_language_function): Delete prototype.
+ * function.c (mark_machine_status): Delete.
+ (mark_lang_status): Delete.
+ (gt_ggc_mr_machine_function): Delete.
+ (gt_ggc_mr_language_function): Delete.
+ * c-tree.h (mark_c_function_context): Delete prototype.
+ * c-objc-common.c (c_objc_common_init): Don't set mark_lang_status.
+ * c-decl.c (struct language_function): Rename from struct
+ c_language_function. Update uses. Use gengtype to mark.
+ (mark_c_function_context): Delete.
+ * c-common.h (struct c_language_function): Rename from struct
+ language_function.
+ (mark_stmt_tree): Delete prototype.
+ (c_mark_lang_decl): Delete prototype.
+ (mark_c_language_function): Delete prototype.
+ * c-common.c (mark_stmt_tree): Delete.
+ (c_mark_lang_decl): Delete.
+ (mark_c_language_function): Delete.
+
+ * gengtype.h (enum typekind): Add TYPE_LANG_STRUCT.
+ (lang_bitmap): New typedef. Use where appropriate.
+ (struct type): Add gc_used field, lang_struct field.
+ (UNION_P): New macro.
+ (new_structure): New prototype.
+ (find_structure): Remove 'pos' parameter. Change all callers.
+ * gengtype-lex.l: Update for changes to find_structure.
+ * gengtype-yacc.y (typedef_struct): Use new_structure.
+ (yacc_ids): Suppress warning.
+ (type): Use new_structure.
+ * gengtype.c (string_type): Update for changes to struct type.
+ (find_structure): Just find a structure, don't worry about
+ creating one.
+ (new_structure): New.
+ (note_yacc_type): Use new_structure.
+ (set_gc_used_type): New.
+ (set_gc_used): New.
+ (write_gc_structure_fields): Allow for pointers to TYPE_LANG_STRUCT.
+ (write_gc_types): Handle TYPE_LANG_STRUCT.
+ (write_gc_marker_routine_for_structure): New.
+ (main): Call set_gc_used. Add some calls to set_gc_used_type
+ for places where GCC doesn't use gengtype properly yet.
+ * ggc.h (gt_ggc_m_rtx_def): Don't prototype.
+ (gt_ggc_m_tree_node): Likewise.
+
+ * varasm.c (copy_constant): Call expand_constant if we hit
+ something we can't recognise.
+
+ * ggc-common.c (ggc_mark_rtvec_children): Delete.
+ (ggc_mark_rtx_children): Use generic name for ggc_mark_rtvec.
+ (lang_mark_false_label_stack): Delete.
+ * rtl.h (struct rtvec_def): Use gengtype to mark.
+ * ggc.h (ggc_mark_rtvec): Delete.
+ (gt_ggc_m_rtvec_def): Delete.
+ (ggc_mark_nonnull_tree): Delete.
+ (ggc_mark_rtvec_children): Delete prototype.
+ (lang_mark_false_label_stack): Delete declaration.
+
+ * gengtype.h (note_yacc_type): Add prototype.
+ * gengtype.c (note_yacc_type): New function.
+ * gengtype-lex.l: Add lexer support for yacc files.
+ * gengtype-yacc.y (start): Extract union from yacc files.
+ (yacc_union): New rule.
+ (yacc_typematch): New rule.
+ (yacc_ids): New rule.
+ (enum_items): Tweak for efficiency.
+ (optionseq): Likewise.
+
+ * c-common.h (struct language_function): Use gengtype.
+ (struct c_lang_decl): Likewise.
+ * c-tree.h (struct lang_decl): Likewise.
+ (struct lang_type): Likewise.
+ * c-decl.c (lang_mark_tree): Use generated marker routines to mark
+ tree language substructures.
+
+ * stringpool.c (mark_ident): Replace ggc_mark_nonnull_tree with
+ ggc_mark_tree.
+ * dwarf2asm.c (mark_indirect_pool_entry): Likewise.
+
+ * varasm.c (struct rtx_const): Remove 'skip' tags for scalar arrays.
+
+ * stmt.c (struct nesting): Add discriminator. Use gengtype to
+ mark. Remove 'data.block.cleanup_ptr' field.
+ (struct stmt_status): Use usual technique to mark struct nesting.
+ (gt_ggc_mr_nesting_cond): Delete.
+ (gt_ggc_mr_nesting_loop): Delete.
+ (gt_ggc_mr_nesting_block): Delete.
+ (gt_ggc_mr_nesting_case_stmt): Delete.
+ (expand_start_cond): Set discriminator.
+ (expand_start_loop): Likewise.
+ (expand_start_null_loop): Likewise.
+ (expand_start_bindings_and_block): Set discriminator. Don't set
+ deleted fields.
+ (expand_decl_cleanup): Replace 'cleanup_ptr' with
+ &thisblock->data.block.cleanups.
+ (expand_start_case): Set discriminator.
+ (expand_start_case_dummy): Set discriminator.
+
+ * ggc-callbacks.c: Remove.
+
+ * gengtype.h (struct type): Add 'u.s.bitmap' field.
+ (find_structure): Add 'pos' parameter.
+ * gengtype-lex.l: Update callers to find_structure.
+ * gengtype-yacc.y: Likewise.
+ * gengtype.c (find_structure): Allow for structures to be defined
+ in multiple language backends.
+ (get_output_file_with_visibility): Include debug.h in gtype-desc.c.
+ (counter): Rename to gc_counter.
+ (write_gc_structure_fields): Fail when writing out fields for
+ an incomplete structure. Ignore arrays of scalars. Handle
+ 'tree_vec' special.
+ (write_gc_types): Reset counter for each procedure written.
+
+ * stmt.c (add_case_node): Use GGC to allocate struct case_node.
+ (free_case_nodes): Delete.
+ (expand_end_case_type): Delete call to free_case_nodes.
+
+ * Makefile.in (cselib.o): Include gt-<filename>.h.
+ (gcse.o): Likewise.
+ (profile.o): Likewise.
+ (alias.o): Likewise.
+ (GTFILES): Add alias.c, cselib.c, gcse.c, profile.c, and
+ alphabetize backend files.
+ (gt-alias.h, gt-cselib.h, gt-gcse.h, gt-profile.h): New rules.
+ * alias.c: Use gengtype for roots.
+ * c-common.h (struct stmt_tree_s): Use gengtype.
+ * c-decl.c: Use gengtype for roots.
+ * cselib.c: Use gengtype for roots.
+ * expr.c: Use gengtype for roots.
+ * fold-const.c: Use gengtype for roots.
+ * gcse.c: Use gengtype for roots.
+ * gengtype-lex.l: Handle typedefs of function types.
+ Allow for empty array bounds.
+ Allow processing to stop on initialisers.
+ * gengtype-yacc.y (externstatic): Stop processing on initialisers.
+ (semiequal): New rule.
+ * gengtype.c (create_file): Tidy output files.
+ (get_output_file_with_visibility): Fix paren warning. Fix bug
+ involving multiple input files mapping to one output file.
+ (write_gc_structure_fields): Skip arrays of scalars.
+ (write_gc_types): Tidy output files.
+ (write_gc_root): New function.
+ (write_gc_roots): Fix bugs, add support for roots that are
+ structures.
+ * ggc-common.c (ggc_mark_rtx_ptr): Delete.
+ (ggc_mark_tree_ptr): Delete.
+ (ggc_add_rtx_root): Delete.
+ (ggc_add_tree_root): Delete.
+ (ggc_del_root): Delete.
+ * integrate.c (get_func_hard_reg_initial_val): Use ggc_alloc to
+ allocate struct initial_value_struct.
+ * profile.c: Use gengtype for roots.
+ * sdbout.c: Use gengtype for roots.
+ * varasm.c (mark_weak_decls): Delete unused prototype.
+ (mark_const_hash_entry): Delete unused function.
+ * config/darwin-protos.h: Use gengtype for roots.
+ (machopic_add_gc_roots): Delete.
+ * config/arm/arm.c: Use gengtype for roots.
+ * config/arm/arm.h: Use gengtype for roots.
+ * config/c4x/c4x-protos.h: Use gengtype for roots.
+ * config/c4x/c4x.c (c4x_add_gc_roots): Delete.
+ * config/d30v/d30v-protos.h: Use gengtype for roots.
+ * config/d30v/d30v.c (d30v_add_gc_roots): Delete.
+ * config/dsp16xx/dsp16xx.c (override_options): Use gengtype for roots.
+ * config/dsp16xx/dsp16xx.h: Use gengtype for roots.
+ * config/ia64/ia64-protos.h: Use gengtype for roots.
+ * config/ia64/ia64.c (ia64_add_gc_roots): Delete.
+ * config/m68hc11/m68hc11-protos.h: Use gengtype for roots.
+ * config/m68hc11/m68hc11.c (z_reg): Make global.
+ (z_reg_qi): Make global.
+ (m68hc11_add_gc_roots): Delete.
+ * config/mcore/mcore-protos.h: Use gengtype for roots.
+ * config/mcore/mcore.c (mcore_add_gc_roots): Delete.
+ * config/mips/mips.c (mips_add_gc_roots): Delete.
+ * config/mips/mips.h: Use gengtype for roots.
+ * config/mmix/mmix.c (override_options): Use gengtype for roots.
+ * config/mmix/mmix.h: Use gengtype for roots.
+ * config/mn10200/mn10200.c (asm_file_start): Use gengtype for roots.
+ * config/mn10200/mn10200.h: Use gengtype for roots.
+ * config/pa/pa.c: Use gengtype for roots, marking.
+ (struct deferred_plabel): Use GGC, gengtype.
+ (pa_add_gc_roots): Delete.
+ (mark_deferred_plabels): Delete.
+ * config/pj/pj-protos.h: Use gengtype for roots.
+ * config/pj/pj.h (OVERRIDE_OPTIONS): Don't define.
+ * config/rs6000/rs6000.c: Use gengtype for roots. Don't call
+ machopic_add_gc_roots.
+ * config/rs6000/rs6000.h: Use gengtype for roots.
+ * config/rs6000/t-darwin (darwin.o): Add dependency on gt-darwin.h.
+ (gt-darwin.h): Add rule.
+ * config/sh/sh.c: Use gengtype for roots.
+ * config/sh/t-sh ($(out_object_file)): Add dependency on gt-sh.h.
+ (gt-sh.h): Add rule.
+ * config/sparc/sparc.c: Use gengtype for roots.
+ (sparc_add_gc_roots): Delete.
+ (struct ultrasparc_pipeline_state): Use GGC, gengtype.
+ (mark_ultrasparc_pipeline_state): Delete.
+ * config/sparc/sparc.h: Use gengtype for roots.
+
+ * Makefile.in (c-parse.o): Update dependencies.
+ (c-common.o): Likewise.
+ (GTFILES): Add c-common.h, c-tree.h, c-common.c, c-parse.in.
+ Add dependencies for the files they generate.
+ * c-common.c: Replace ggc_add_* uses with GTY annotations.
+ * c-common.h: Likewise.
+ * c-decl.c: Likewise.
+ (gt_ggc_mp_binding_level): Delete.
+ * c-lang.c: Include gtype-c.h.
+ * c-parse.in: Replace ggc_add_* uses with GTY annotations. Include
+ gt-c-parse.h.
+ * c-pragma.h: Replace ggc_add_* uses with GTY annotations.
+ (gt_ggc_mp_align_stack): Delete.
+ * c-tree.h: Replace ggc_add_* uses with GTY annotations.
+ * function.c: Replace ggc_add_* uses with GTY annotations.
+ (gt_ggc_mp_function): Delete.
+ * function.h: Replace ggc_add_* uses with GTY annotations.
+ * gengtype.c (lang_names): New.
+ (NUM_BASE_FILES): New.
+ (open_base_files): Create language base files.
+ (startswith): New.
+ (get_file_basename): New.
+ (get_base_file_bitmap): New.
+ (get_output_file_with_visibility): Rename from get_output_file.
+ Add more mappings for various C/Objc filenames.
+ (finish_root_table): New.
+ (write_gc_roots): Handle dependencies and scoping properly.
+ * gengtype.h: Add prototypes for new functions.
+ * ggc-common.c (struct deletable_root): Delete.
+ (deletables): Delete.
+ (ggc_add_deletable_root): Delete.
+ (ggc_mark_roots): No need to deal with deleted functionality.
+ * ggc.h (ggc_add_deletable_root): Delete prototype.
+ * objc/Make-lang.in (objc-act.o): Add gtype-objc.h dependency.
+ (gtype-objc.h): Add rule to create.
+ * objc/config-lang.in (gtfiles): New.
+ * objc/objc-act.c: Allocate imp_list using GGC. Replace uses of
+ ggc_add_* with GTY markers. Include gtype-objc.h.
+ (ggc_mark_imp_list): Delete.
+ * objc/objc-act.h: Replace uses of ggc_add_* with GTY markers.
+ * objc/objc-lang.c: Random Whitespace Change.
+
+ * except.h (exception_handler_labels): Delete.
+ (get_exception_handler_labels): New.
+ * except.c (exception_handler_labels): Delete.
+ (struct eh_status): Add exception_handler_labels field.
+ (doing_eh): Don't add exception_handler_labels as root.
+ (free_eh_status): Don't need to free exception_handler_labels.
+ (get_exception_handler_labels): New.
+ (find_exception_handler_labels): Update for move of
+ exception_handler_labels.
+ (remove_exception_handler_label): Likewise.
+ * cfgrtl.c (can_delete_label_p): Use get_exception_handler_labels.
+ * jump.c (rebuild_jump_labels): Likewise.
+ * loop.c (find_and_verify_loops): Likewise.
+ * sched-rgn.c (is_cfg_nonregular): Likewise.
+
+ * gengtype.c (write_gc_structure_fields): Handle variable-length
+ TYPE_ARRAYs.
+
+ * varasm.c (struct weak_syms): Use GGC, gengtype.
+ (mark_weak_decls): Delete.
+ (weak_decls): Likewise.
+ (add_weak): Likewise.
+ (remove_from_pending_weak_list): Likewise.
+ (init_varasm_once): Likewise.
+
+ * Makefile.in (gtype-desc.o): Add libfuncs.h dependency.
+ (GTFILES): Add tree.h, libfuncs.h, emit-rtl.c, explow.c,
+ stor-layout.c, regclass.c, and lists.c.
+ Add dependencies of gt-emit-rtl.h gt-explow.h gt-stor-layout.h
+ gt-regclass.h and gt-lists.h on s-gtype.
+ * emit-rtl.c: Use gengtype for roots. Include gt-emit-rtl.h.
+ * except.c: Use gengtype for roots.
+ * explow.c: Use gengtype for roots. Include gt-explow.h.
+ * expr.h (init_stor_layout_once): Delete prototype.
+ * function.c: Use gengtype for roots.
+ * gengtype-lex.l: Add ENT_EXTERNSTATIC lexing.
+ * gengtype-yacc.y (start): Can also be an externstatic.
+ (externstatic): New production.
+ (struct_fields): Correct array bounds inversion for 2-d arrays.
+ * gengtype.c (variables): New variable.
+ (note_variable): New function.
+ (get_output_file): Include libfuncs.h into gtype-desc.c.
+ (get_output_file_name): New function.
+ (write_gc_structure_fields): Suppress warnings.
+ (write_gc_types): Make static.
+ (put_mangled_filename): New function.
+ (write_gc_roots): New function.
+ (main): Call write_gc_roots.
+ * gengtype.h (note_variable): Prototype.
+ (get_output_file_name): Prototype.
+ (write_gc_types): Delete prototype.
+ * ggc.h: Clean up unnecessary structure predefinitions.
+ (struct ggc_root_tab): Define.
+ (gt_ggc_m_rtx_def): Make function, not macro.
+ (gt_ggc_m_tree_node): Likewise.
+ * libfuncs.h: Use gengtype for roots.
+ * lists.c: Use gengtype for roots. Include gt-lists.h.
+ (init_EXPR_INSN_LIST_cache): Delete.
+ * optabs.c: Use gengtype for roots.
+ (gt_ggc_mp_optab): Delete.
+ * optabs.h: Use gengtype for roots.
+ * regclass.c: Use gengtype for roots. Include gt-regclass.h.
+ * rtl.h: Use gengtype for roots.
+ (init_EXPR_INSN_LIST_cache): Delete prototype.
+ * stor-layout.c: Use gengtype for roots.
+ Include gt-stor-layout.h.
+ (init_stor_layout_once): Delete.
+ * toplev.c: Use gengtype for roots. Delete calls to deleted
+ routines.
+ * tree.c: Use gengtype for roots.
+ * tree.h: Use gengtype for roots.
+ * varasm.c: Use gengtype for roots.
+
+ * Makefile.in (GTFILES): Add @all_gtfiles@.
+ * configure: Regenerate.
**** TRUNCATED ****
-------------- next part --------------
--
Geoffrey Keating <regress@redhat.com>
(via an automated GCC regression-testing script.)
More information about the Gcc-regression
mailing list