1. 20 Oct, 2000 4 commits
    • class.c (subobject_offset_fn): New type. · c20118a8
      	* class.c (subobject_offset_fn): New type.
      	(dfs_record_base_offsets): Remove.
      	(record_base_offsets): Likewise.
      	(dfs_search_base_offsets): Likewise.
      	(record_subobject_offset): New function.
      	(check_subobject_offset): Likewise.
      	(walk_subobject_offsets): Likewise.
      	(record_subobject_offsets): Likewise.
      	(layout_conflict_p): Reimplement.
      	(layout_nonempty_base_or_field): Correct handling of type
      	conflicts during layout.
      	(layout_empty_base): Likewise.
      	(build_base_field): Adjust to handle new representation of empty
      	base offset table.
      	(build_base_fields): Likewise.
      	(layout_virtual_bases): Likewise.
      	(splay_tree_compare_integer_csts): New function.
      	(layout_class_type): Use a splay_tree, rather than a varray, to
      	represent the offsets of empty bases.
      
      From-SVN: r36958
      Mark Mitchell committed
    • alias.c: (mark_constant_function): Don't check pure functions. · bf6d9fd7
      	* alias.c: (mark_constant_function): Don't check pure functions.
      	Initialize and end alias analysis.
      	(nonlocal_mentioned_p): Rename from nonlocal_reference_p.
      	Don't make a special exception for recursion.  Handle
      	UNSPEC_VOLATILE.  Don't assume ASM_OPERANDS is non-local
      	unless it's volatile.
      
      	* local-alloc.c (equivalence): New structure.
      	(reg_equiv): Define.
      	(contains_replace_regs): Remove array and use
      	field in reg_equiv.
      	(memref_referenced_p): Likewise.
      	(no_equiv): Likewise.
      	(update_equiv_regs): Likewise.
      
      	(equiv_init_varies_p,
      	equiv_init_movable_p): New functions.
      	(update_equiv_regs): Use them.  Use rtx_varies_p
      	instead of function_invariant_p.  Process insns
      	from end to beginning.  Allow a REG_EQUIV insn
      	within the same loop as a use to be moved, also
      	allow it to be moved out of a loop.  Update
      	REG_DEAD notes when substituting into an insn.
      
      From-SVN: r36957
      John Wehle committed
    • parse.y (find_most_specific_methods_list): Select the only non-abstract method… · cab8e2bd
      parse.y (find_most_specific_methods_list): Select the only non-abstract method even if max has been set.
      
      2000-07-18  Bryce McKinlay  <bryce@albatross.co.nz>
      
      	* parse.y (find_most_specific_methods_list): Select the only
      	non-abstract method even if max has been set.
      	Fixes gcj/285, gcj/298.
      
      (http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00646.html)
      
      From-SVN: r36956
      Bryce McKinlay committed
    • Fix tree-checking abort on testcase with undefined macro as array size. · f4fce7ed
      	* c-decl.c (start_decl): Check for error_mark_node type before using
      	COMPLETE_TYPE_P.
      	(finish_decl): Likewise.  Don't give an error if decl type is
      	already error_mark_node.
      
      From-SVN: r36955
      Jim Wilson committed
  2. 19 Oct, 2000 9 commits
  3. 18 Oct, 2000 27 commits