1. 04 Sep, 2000 1 commit
  2. 18 Aug, 2000 1 commit
    • nathan's avatar
      * cp-tree.h (PTRMEM_OK_P): New macro. · 30efa7ed
      nathan authored
      	(itf_ptrmem_ok): New enumeration value.
      	* class.c (resolve_address_of_overloaded_function): Add PTRMEM
      	argument. Diagnose implicit pointer to member.
      	(instantiate_type): Don't diagnose implicit pointer to member
      	here. Pass itf_ptrmem_ok if ok. Adjust calls to
      	resolve_address_of_overloaded_function.
      	* init.c (build_offset_ref): Set PTRMEM_OK_P.
      	(resolve_offset_ref): Don't diagnose implicit pointer to member here.
      	* semantics.c (finish_parenthesized_expr): Clear OFFSET_REFs here.
      	* typeck.c (build_x_unary_op): Calculate PTRMEM_OK_P.
      	(build_unary_op): Deal with single non-static member in
      	microsoft-land.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35777 138bc75d-0d04-0410-961f-82ee72b054a4
      30efa7ed
  3. 10 Aug, 2000 1 commit
  4. 10 Jul, 2000 1 commit
    • jason's avatar
      * init.c (build_new_1): Bail early if the call to new fails. · f9b9bf39
      jason authored
              * decl.c (compute_array_index_type): Check specifically for
              an INTEGER_CST, not just TREE_CONSTANT.
      
              * decl.c (duplicate_decls): Don't call duplicate_decls on
              the DECL_TEMPLATE_RESULT.
              (decls_match): Return 0 if the DECL_TEMPLATE_RESULTs have different
              codes.
      
              * error.c (dump_template_bindings): Don't crash if we had an
              invalid argument list.
      
              * typeck.c (c_expand_start_case): Do narrowing here.
              * semantics.c (finish_switch_cond): Not here.
      
              * parse.y (asm_clobbers): Do string concatenation.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34938 138bc75d-0d04-0410-961f-82ee72b054a4
      f9b9bf39
  5. 04 Jul, 2000 1 commit
  6. 03 Jul, 2000 1 commit
    • chelf's avatar
      2000-07-02 Benjamin Chelf <chelf@codesourcery.com> · 752e275b
      chelf authored
      	* c-common.h (genrtl_begin_compound_stmt): Remove declaration.
      	(genrtl_finish_compound_stmt): Likewise.
      	(genrtl_compound_stmt): Change to return void.
      
      	* c-semantics.c (genrtl_begin_compound_stmt): Remove function and
      	move code from here to ...
      	(genrtl_compound_stmt): ... here.
      	(genrtl_finish_compound_stmt): Remove.
      	(expand_stmt): Add comment.
      
      	* cp/cp-tree.h (genrtl_goto_stmt): Remove declaration.
      	(genrtl_expr_stmt): Likewise.
      	(genrtl_decl_stmt): Likewise.
      	(genrtl_if_stmt): Likewise.
      	(genrtl_while_stmt): Likewise.
      	(genrtl_do_stmt): Likewise.
      	(genrtl_return_stmt): Likewise.
      	(genrtl_for_stmt): Likewise.
      	(genrtl_break_stmt): Likewise.
      	(genrtl_continue_stmt): Likewise.
      	(genrtl_scope_stmt): Likewise.
      	(genrtl_switch_stmt): Likewise.
      	(genrtl_case_label): Likewise.
      	(genrtl_begin_compound_stmt): Likewise.
      	(genrtl_finish_compound_stmt): Likewise.
      	(genrtl_compound_stmt): Likewise.
      	(genrtl_asm_stmt): Likewise.
      
      	* cp/init.c (begin_init_stmts): Remove call to
      	genrtl_begin_compound_stmt.
      	(finish_init_stmts): Remove call to genrtl_finish_compound_stmt.
      
      	* cp/semantics.c (lang_expand_stmt): Changed call to
      	genrtl_compound_stmt to ignore return value.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34837 138bc75d-0d04-0410-961f-82ee72b054a4
      752e275b
  7. 02 Jul, 2000 2 commits
    • chelf's avatar
      2000-07-01 Benjamin Chelf <chelf@codesourcery.com> · 5c3247a9
      chelf authored
      	* Makefile.in (C_AND_OBJC_OBJS): Added c-semantics.o.
      	(c-semantics.o): New target.
      
      	* c-common.h (TREE_LANG_FLAG_?): Added documentation.
      	(genrtl_do_pushlevel): Moved from cp/cp-tree.h.
      	(genrtl_clear_out_block): Likewise.
      	(genrtl_goto_stmt): Likewise.
      	(genrtl_expr_stmt): Likewise.
      	(genrtl_decl_stmt): Likewise.
      	(genrtl_if_stmt): Likewise.
      	(genrtl_while_stmt): Likewise.
      	(genrtl_do_stmt): Likewise.
      	(genrtl_return_stmt): Likewise.
      	(genrtl_for_stmt): Likewise.
      	(genrtl_break_stmt): Likewise.
      	(genrtl_continue_stmt): Likewise.
      	(genrtl_scope_stmt): Likewise.
      	(genrtl_switch_stmt): Likewise.
      	(genrtl_case_label): Likewise.
      	(genrtl_begin_compound_stmt): Likewise.
      	(gerntl_finish_compound_stmt): Likewise.
      	(genrtl_compound_stmt): Likewise.
      	(genrtl_asm_stmt): Likewise.
      	(genrtl_decl_cleanup): Likewise.
      	(DECL_ANON_UNION_ELEMS): Likewise.
      	(emit_local_var): Likewise.
      	(make_rtl_for_local_static): Likewise.
      	(expand_cond): Likewise.
      	(expand_stmt): L...
      5c3247a9
    • jason's avatar
      * init.c (init_init_processing): Go back to aligning like · 30de7d91
      jason authored
              double_type_node for old ABI.
              (get_cookie_size): Make cookie larger if we get a type that needs
              more alignment.
              (build_vec_delete): Call it.
      
              * typeck.c (qualify_type_recursive): New fn.
              (composite_pointer_type): Use it.
              (build_binary_op): Use composite_pointer_type.
      
              * typeck.c (check_return_expr): Don't complain about returning
              NULL from operator new if -fcheck-new.
              * cp-tree.h: Declare flag_check_new here.
              * init.c: Not here.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34824 138bc75d-0d04-0410-961f-82ee72b054a4
      30de7d91
  8. 30 Jun, 2000 2 commits
    • mmitchel's avatar
      * cp-tree.h (struct language_function): Remove temp_name_counter. · 4eb32e62
      mmitchel authored
      	(temp_name_counter): Remove.
      	(get_temp_name): Change prototype.
      	(get_guard): New function.
      	(get_guard_cond): Likewise.
      	(set_guard): Likewise.
      	* cvt.c (build_up_reference): Adjust call to get_temp_name.
      	* decl.c (expand_static_init): Use get_guard and friends to
      	implement guard variables.
      	* decl2.c (get_temp_name): Assume that the variables created are
      	always static.
      	(get_sentry): Rename to ...
      	(get_guard): ... this.  Implement new ABI guard	variables.
      	(get_guard_bits): New function.
      	(get_guard_cond): Likewise.
      	(set_guard): Likewise.
      	(start_static_initialization_or_destruction): Use them.
      	(do_static_initialization): Replace sentry with guard throughout.
      	(do_static_destruction): Likewise.
      	* init.c (create_temporary_var): Add comment.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34803 138bc75d-0d04-0410-961f-82ee72b054a4
      4eb32e62
    • mmitchel's avatar
      * c-common.c: Include c-common.h, not c-lex.h or c-tree.h. · 29d00ba7
      mmitchel authored
      	* c-common.h (flag_const_strings): Declare.
      	(warn_format): Likewise.
      	(flag_traditional): Likewise.
      	(flag_isoc99): Likewise.
      	(warn_parentheses): Likewise.
      	(warn_conversion): Likewise.
      	(C_TYPE_OBJECT_P): Likewise.
      	(C_TYPE_INCOMPLETE_P): Likewise.
      	(C_TYPE_FUNCTION_P): Likewise.
      	(C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise.
      	(C_EXP_ORIGINAL_CODE): Likewise.
      	(build_unary_op): Likewise.
      	(build_binary_op): Likewise.
      	(lvalue_p): Likewise.
      	(default_conversion): Likewise.
      	(common_type): Likewise.
      	* c-tree.h (C_TYPE_OBJECT_P): Remove.
      	(C_TYPE_INCOMPLETE_P): Likewise.
      	(C_TYPE_FUNCTION_P): Likewise.
      	(C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise.
      	(C_EXP_ORIGINAL_CODE): Likewise.
      	(common_type): Likewise.
      	(default_conversion): Likewise.
      	(build_binary_op): Likewise.
      	(build_unary_op): Likewise.
      	(lvalue_p): Likewise.
      	(flag_const_strings): Likewise.
      	(warn_format): Likewise.
      	(warn_conversion): Likewise.
      	(flag_traditional): Likewise.
      	(flag_isoc99): Likewise.
      	(warn_parentheses): Likewise.
      
      	* cp-tree.h (flag_const_strings): Remove.
      	(warn_parentheses): Likewise.
      	(warn_format): Likewise.
      	(common_type): Likewise.
      	(default_conversion): Likewise.
      	(build_binary_op): Likewise.
      	(cp_build_binary_op): New macro.
      	* call.c (build_new_op): Use cp_build_binary_op instead of
      	build_binary_op.
      	* class.c (build_vtable_entry_ref): Likewise.
      	* decl.c (expand_static_init): Likewise.
      	(compute_array_index_type): Likewise.
      	(build_enumerator): Likewise.
      	* decl2.c (delete_sanity): Likewise.
      	(start_static_initialization_or_destruction): Likewise.
      	* error.c (dump_type_suffix): Likewise.
      	* init.c (resolve_offset_ref): Likewise.
      	(build_new): Likewise.
      	(build_new_1): Likewise.
      	(build_vec_delete_1): Likewise.
      	(build_vec_init): Likewise.
      	(build_delete): Likewise.
      	* rtti.c (synthesize_tinfo_fn): Likewise.
      	(synthesize_tinfo_var): Likewise.
      	* search.c (expand_upcast_fixups): Likewise.
      	(fixup_all_virtual_upcast_offsets): Likewise.
      	* typeck.c (build_array_ref): Likewise.
      	(get_member_function_from_ptrfunc): Likewise.
      	(build_binary_op): Add parameter.
      	(pointer_int_sum): Use cp_build_binary_op.
      	(pointer_diff): Likewise.
      	(build_modify_expr): Likewise.
      	(get_delta_difference): Likewise.
      	(build_ptrmemfunc): Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34796 138bc75d-0d04-0410-961f-82ee72b054a4
      29d00ba7
  9. 26 Jun, 2000 1 commit
    • mmitchel's avatar
      * cp-tree.h (genrtl_begin_stmt_expr): Rename to ... · 4a8eb32a
      mmitchel authored
      	(begin_global_stmt_expr): ... this.
      	(genrtl_finish_stmt_expr): Rename to ...
      	(finish_global_stmt_expr): ... this.
      	* init.c (begin_init_stmts): Adjust calls.
      	(finish_init_stmts): Likewise.
      	* semantics.c (genrtl_begin_stmt_expr): Rename to ...
      	(begin_global_stmt_expr): ... this.
      	(genrtl_finish_stmt_expr): Rename to ...
      	(finish_global_stmt_expr): ... this.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34702 138bc75d-0d04-0410-961f-82ee72b054a4
      4a8eb32a
  10. 20 Jun, 2000 1 commit
    • nathan's avatar
      * call.c (build_conditional_expr): Use VOID_TYPE_P. · e3cfe3ce
      nathan authored
      	* cvt.c (cp_convert_to_pointer): Likewise.
      	(convert_to_void): Likewise.
      	* error.c (dump_expr): Likewise.
      	* except.c (complete_ptr_ref_or_void_ptr_p): Likewise.
      	* init.c (build_delete): Likewise.
      	* method.c (emit_thunk): Likewise.
      	* optmize.c (declare_return_variable): Likewise.
      	* rtti.c (get_tinfo_decl_dynamic): Likewise.
      	(get_typeid): Likewise.
      	(build_dynamic_cast_1): Likewise.
      	* typeck.c (composite_pointer_type): Likewise.
      	(common_type): Likewise.
      	(build_indirect_ref): Likewise.
      	(build_binary_op): Likewise.
      	(build_x_compound_expr): Likewise.
      	(check_return_expr): Likewise.
      	* typeck2.c (add_exception_specifier): Likewise.
      
      	* mangle.c (write_method_parms): Use direct comparison for end
      	of parmlist.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34617 138bc75d-0d04-0410-961f-82ee72b054a4
      e3cfe3ce
  11. 19 Jun, 2000 1 commit
    • chelf's avatar
      * c-common.h (IF_COND): Added documentation. · 8036397f
      chelf authored
      	(THEN_CLAUSE): Likewise.
      	(ELSE_CLAUSE): Likewise.
      	(WHILE_COND): Likewise.
      	(WHILE_BODY): Likewise.
      	(DO_COND): Likewise.
      	(DO_BODY): Likewise.
      	(RETURN_EXPR): Likewise.
      	(EXPR_STMT_EXPR): Likewise.
      	(FOR_INIT_STMT): Likewise.
      	(FOR_COND): Likewise.
      	(FOR_EXPR): Likewise.
      	(FOR_BODY): Likewise.
      	(SWITCH_COND): Likewise.
      	(SWITCH_BODY): Likewise.
      	(CASE_LOW): Likewise.
      	(CASE_HIGH): Likewise.
      	(GOTO_DESTINATION): Likewise.
      	(COMPOUND_BODY): Likewise.
      	(ASM_CV_QUAL): Likewise.
      	(ASM_STRING): Likewise.
      	(ASM_OUTPUTS): Likewise.
      	(ASM_INPUTS): Likewise.
      	(ASM_CLOBBERS): Likewise.
      	(DECL_STMT_DECL): Likewise.
      	(STMT_EXPR_STMT): Likewise.
      	(LABEL_STMT_LABEL): Likewise.
      
      	* c-common.def: Added documenetion for SRCLOC, EXPR_STMT,
      	COMPOUND_STMT, DECL_STMT, IF_STMT, FOR_STMT, WHILE_STMT, DO_STMT,
      	RETURN_STMT, BREAK_STMT, CONTINUE_STMT, SWITCH_STMT, GOTO_STMT,
      	LABEL_STMT, ASM_STMT, SCOPE_STMT, CASE_LABEL, STMT_EXPR.
      
      	* cp/cp-tree.h (genrtl_try_block): Declare function.
      	(genrtl_handler): Likewise.
      	(genrtl_catch_block): Likewise.
      	(genrtl_ctor_stmt): Likewise.
      	(genrtl_subobject): Likewise.
      	(genrtl_decl_cleanup): Likewise.
      	(genrtl_do_poplevel): Likewise.
      	(genrtl_do_pushlevel): Likewise.
      	(genrtl_clear_out_block): Likewise.
      	(genrtl_goto_stmt): Likewise.
      	(genrtl_expr_stmt): Likewise.
      	(genrtl_decl_stmt): Likewise.
      	(genrtl_if_stmt): Likewise.
      	(genrtl_while_stmt): Likewise.
      	(genrtl_do_stmt): Likewise.
      	(genrtl_return_stmt): Likewise.
      	(genrtl_for_stmt): Likewise.
      	(genrtl_break_stmt): Likewise.
      	(genrtl_continue_stmt): Likewise.
      	(genrtl_scope_stmt): Likewise.
      	(genrtl_switch_stmt): Likewise.
      	(genrtl_case_label): Likewise.
      	(genrtl_begin_compound_stmt): Likewise.
      	(genrtl_finish_compound_stmt): Likewise.
      	(genrtl_compound_stmt): Likewise.
      	(genrtl_asm_stmt): Likewise.
      	(genrtl_named_return_value): Likewise.
      	(genrtl_begin_stmt_expr): Likewise.
      	(genrtl_finish_stmt_expr): Likewise.
      	(finish_for_stmt): Removed first argument.
      	(finish_switch_stmt): Likewise.
      
      	* cp/semantics.c (genrtl_try_block): Define function.
      	(genrtl_handler): Likewise.
      	(genrtl_catch_block): Likewise.
      	(genrtl_ctor_stmt): Likewise.
      	(genrtl_subobject): Likewise.
      	(genrtl_decl_cleanup): Likewise.
      	(genrtl_do_poplevel): Likewise.
      	(genrtl_do_pushlevel): Likewise.
      	(genrtl_clear_out_block): Likewise.
      	(genrtl_goto_stmt): Likewise.
      	(genrtl_expr_stmt): Likewise.
      	(genrtl_decl_stmt): Likewise.
      	(genrtl_if_stmt): Likewise.
      	(genrtl_while_stmt): Likewise.
      	(genrtl_do_stmt): Likewise.
      	(genrtl_return_stmt): Likewise.
      	(genrtl_for_stmt): Likewise.
      	(genrtl_break_stmt): Likewise.
      	(genrtl_continue_stmt): Likewise.
      	(genrtl_scope_stmt): Likewise.
      	(genrtl_switch_stmt): Likewise.
      	(genrtl_case_label): Likewise.
      	(genrtl_begin_compound_stmt): Likewise.
      	(genrtl_finish_compound_stmt): Likewise.
      	(genrtl_compound_stmt): Likewise.
      	(genrtl_asm_stmt): Likewise.
      	(genrtl_named_return_value): Likewise.
      	(genrtl_begin_stmt_expr): Likewise.
      	(genrtl_finish_stmt_expr): Likewise.
      	(finish_for_stmt): Removed first argument and generate rtl
      	specific code.
      	(finish_switch_stmt): Likewise.
      	(do_poplevel): Removed generate rtl specific code.
      	(do_pushlevel): Likewise.
      	(add_tree): Likewise.
      	(finish_goto_stmt): Likewise.
      	(finish_expr_stmt): Likewise.
      	(begin_if_stmt): Likewise.
      	(finish_if_stmt_cond): Likewise.
      	(finish_then_clause): Likewise.
      	(begin_else_clause): Likewise.
      	(finish_else_clause): Likewise.
      	(finish_if_stmt): Likewise.
      	(clear_out_block): Likewise.
      	(begin_while_stmt): Likewise.
      	(finish_while_stmt_cond): Likewise.
      	(finish_while_stmt): Likewise.
      	(begin_do_stmt): Likewise.
      	(finish_do_body): Likewise.
      	(finish_do_stmt): Likewise.
      	(finish_return_stmt): Likewise.
      	(begin_for_stmt): Likewise.
      	(finish_for_init_stmt): Likewise.
      	(finish_for_cond): Likewise.
      	(finish_for_expr): Likewise.
      	(finish_break_stmt): Likewise.
      	(finish_continue_stmt): Likewise.
      	(begin_switch_stmt): Likewise.
      	(finish_switch_cond): Likewise.
      	(finish_case_label): Likewise.
      	(begin_try_block): Likewise.
      	(begin_function_try_block): Likewise.
      	(finish_try_block): Likewise.
      	(finish_cleanup_try_block): Likewise.
      	(finish_cleanup): Likewise.
      	(finish_function_try_block): Likewise.
      	(finish_handler_sequence): Likewise.
      	(finish_function_handler_sequence): Likewise.
      	(begin_handler): Likewise.
      	(finish_handler_parms): Likewise.
      	(begin_catch_block): Likewise.
      	(finish_handler): Likewise.
      	(begin_compound_stmt): Likewise.
      	(finish_compound_stmt): Likewise.
      	(finish_asm_stmt): Likewise.
      	(finish_label_stmt): Likewise.
      	(finish_label_decl): Likewise.
      	(finish_subobject): Likewise.
      	(finish_decl_cleanup): Likewise.
      	(finish_named_return_value): Likewise.
      	(begin_stmt_expr): Likewise.
      	(finish_stmt_expr): Likewise.
      
      	* cp/decl.c (initialize_local_var): Changed call to finish_expr_stmt
      	to call genrtl_expr_stmt when appropriate.
      
      	* cp/init.c (begin_init_stmts): Changed calls to begin_stmt_expr and
      	begin_compound_expr to call genrtl_begin_stmt_expr and
      	genrtl_begin_compound_expr when appropriate.
      	(finish_init_stmts): Changed calls to finish_compound_expr and
      	finish_stmt_expr to call genrtl_finish_compound_expr and
      	genrtl_finish_stmt_expr when appropriate.
      	(expand_default_init): Changed call to finish_expr_stmt to call
      	genrtl_expr_stmt when appropriate.
      	(build_vec_init): Likewise.
      
      	* cp/parse.y (simple_stmt): Removed first argument from call to
      	finish_for_stmt. Removed first argument from call to
      	finish_switch_stmt.
      
      	* cp/parse.c: Regenerated.
      
      	* cp/pt.c (tsubst_expr): Removed first argument from call to
      	finish_for_stmt. Removed first argument from call to
      	finish_switch_stmt.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34597 138bc75d-0d04-0410-961f-82ee72b054a4
      8036397f
  12. 16 Jun, 2000 1 commit
    • mmitchel's avatar
      * cp-tree.h (struct language_function): Remove x_base_init_list · bc577f39
      mmitchel authored
      	and x_member_init_list.
      	(current_base_init_list): Remove.
      	(current_member_init_list): Likewise.
      	(setup_vtbl_ptr): Change prototype.
      	(emit_base_init): Likewise.
      	(expand_member_init): Likewise.
      	(reinit_parse_for_function): Remove.
      	* decl.c (save_function_data): Don't clear x_base_init_list and
      	x_member_init_list.
      	(mark_language_function): Don't mark them.
      	* init.c (perform_member_init): Tweak comment.
      	(sort_member_init): Take the list of initializers as an argument.
      	(sort_base_init): Likewise.
      	(emit_base_init): Likewise.
      	(expand_member_init): Return the initializer.  Don't use global
      	variables.
      	* lex.c (reinit_parse_for_function): Remove.
      	* method.c (build_template_parm_names): Correct substitution.
      	(do_build_copy_constructor): Don't use current_member_init_list
      	and current_base_init_list.
      	(synthesize_method): Likewise.
      	* parse.y (base_init): Split mem-initializers into
      	base-initializers and field-initializers.
      	(member_init_list): Build up the list here.
      	(member_init): Return the initializer.
      	(fn.depfn): Don't use reinit_parse_for_function.
      	* parse.c: Regenerated.
      	* pt.c (convert_nontype_argument): Don't make an ADDR_EXPR of the
      	ERROR_MARK.
      	(tsubst_expr): Don't use current_member_init_list
      	and current_base_init_list.
      	(tsubst_expr_values): Rename to ...
      	(tsubst_initializer_list): ... this.  Use convert_from_reference.
      	* semantics.c (setup_vtbl_ptr): Don't use current_member_init_list
      	and current_base_init_list.
      	(begin_function_definition): Don't call reinit_parse_for_function.
      
      	* dump.c (dequeue_and_dump): Use TREE_VEC_LENGTH with vectors.
      
      	* error.c (dump_expr): Handle ADDR_EXPRs with REFERENCE_TYPE
      	correctly.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34571 138bc75d-0d04-0410-961f-82ee72b054a4
      bc577f39
  13. 15 Jun, 2000 1 commit
    • jason's avatar
      * tree.c (count_trees): New debugging function. · 3a37334e
      jason authored
              * typeck.c (build_x_function_call): Use DECL_FUNCTION_TEMPLATE_P.
              * init.c (build_member_call): Pull out the name of a DECL.
      
              * Makefile.in (semantics.o, pt.o): Depend on TIMEVAR_H.
              * semantics.c (expand_body): Push to TV_INTEGRATION here.
              * optimize.c (optimize_function): Not here.
              * pt.c (instantiate_decl): Push to TV_PARSE.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34568 138bc75d-0d04-0410-961f-82ee72b054a4
      3a37334e
  14. 14 Jun, 2000 1 commit
    • jakub's avatar
      * tree.h (TYPE_USER_ALIGN, DECL_USER_ALIGN): Define. · aca14577
      jakub authored
      	(struct tree_type, struct tree_decl): Add user_align member.
      	* stor-layout.c (layout_decl): Set DECL_USER_ALIGN.
      	(place_union_field): If BIGGEST_FIELD_ALIGNMENT is defined
      	and DECL_USER_ALIGN 0, cap alignment to this value.
      	(place_field): Likewise.
      	(finalize_type_size): Set TYPE_USER_ALIGN.
      	(layout_type): Likewise.
      	(initialize_sizetypes): Likewise.
      	* c-common.c (decl_attributes): Set TYPE_USER_ALIGN resp.
      	DECL_USER_ALIGN to 1.
      	* c-decl.c (duplicate_decls): Set DECL_USER_ALIGN.
      	(xfer_tag): Set TYPE_USER_ALIGN.
      	(finish_struct): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
      	(finish_enum): Likewise.
      	* stmt.c (expand_decl): Set DECL_USER_ALIGN.
      	(expand_anon_union_decl): Likewise.
      	* tree.c (make_node): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
      	(build_index_type): Set TYPE_USER_ALIGN.
      	(build_range_type): Likewise.
      	(build_common_tree_nodes_2): Likewise.
      	* tm.texi (BIGGEST_FIELD_ALIGNMENT): Document the changed meaning.
      
      ch/:
      	* decl.c (init_decl_processing): Set TYPE_USER_ALIGN.
      	(layout_enum): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
      	* typeck.c (layout_chill_range_type): Set TYPE_USER_ALIGN.
      	(apply_chill_field_layout): Set DECL_USER_ALIGN.
      	(layout_chill_struct_type): Set TYPE_USER_ALIGN.
      
      cp/:
      	* class.c (build_secondary_vtable): Set DECL_USER_ALIGN.
      	(check_bitfield_decl, check_field_decl): Likewise.
      	(build_vtbl_or_vbase_field, build_base_field): Likewise.
      	(layout_class_type): Set DECL_USER_ALIGN resp. CLASSTYPE_USER_ALIGN.
      	* decl.c (record_unknown_type): Set TYPE_USER_ALIGN.
      	(xfer_tag, finish_enum): Likewise.
      	* decl2.c (finish_builtin_type): Likewise.
      	* init.c (init_init_processing): Likewise.
      	* pt.c (instantiate_class_template): Likewise.
      	* rtti.c (get_tinfo_decl, synthesize_tinfo_fn): Set DECL_USER_ALIGN.
      	* cp-tree.h (struct lang_type): Add user_align member.
      	(CLASSTYPE_USER_ALIGN): Define.
      
      f/:
      	* com.c (ffecom_transform_common_): Set DECL_USER_ALIGN.
      	(ffecom_transform_equiv_, ffecom_decl_field): Likewise.
      	(ffecom_init_0): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
      	(duplicate_decls): Set DECL_USER_ALIGN.
      
      java/:
      	* typeck.c (build_java_array_type): Set TYPE_USER_ALIGN.
      	* parse.y (java_complete_class): Set DECL_USER_ALIGN.
      	* parse.c: Rebuilt.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34541 138bc75d-0d04-0410-961f-82ee72b054a4
      aca14577
  15. 09 Jun, 2000 1 commit
  16. 08 Jun, 2000 1 commit
    • mmitchel's avatar
      * invoke.texi: Remove documentation for -fsquangle and · f2b8a47d
      mmitchel authored
      	-fname-mangling-version.
      
      	Remove old ABI mangling code.
      	* cp-tree.h (cp_tree_index): Remove CPTI_TINFO_DECL_ID and
      	CPTI_TINFO_VAR_ID.
      	(tinfo_decl_id): Remove.
      	(tinfo_var_id): Likewise.
      	(name_mangling_version): Likewise.
      	(flag_do_squangling): Likewise.
      	(get_vtt_name): Likewise.
      	(init_method): Likewise.
      	(build_overload_name): Likewise.
      	(build_static_name): Likewise.
      	(build_decl_overload_real): Likewise.
      	(build_overload_with_type): Likewise.
      	(build_destructor_name): Likewise.
      	(get_id_2): Likewise.
      	(get_ctor_vtbl_name): Likewise.
      	(mangle_typeinfo_fn_for_type): New function.
      	(mangle_java_reflection_var_for_type): Likewise.
      	* call.c (build_new_method_call): Use mangle_vtt_for_type.
      	* class.c (get_vtable_name): Remove.
      	(get_vtt_name): Remove.
      	(get_vtable_decl): Use mangle_vtbl_for_type.
      	(build_vtt): Likewise.
      	(build_ctor_vtbl_group): Remove old ABI mangling support.
      	* decl.c (pushtag): Likewise.
      	(maybe_commonize_var): Use set_mangled_name_for_decl.
      	(grokfndecl): Remove old ABI mangling support.
      	(grokvardecl): Likewise.
      	(grokdeclarator): Likewise.
      	(grok_op_properties): Adjust use of DEF_OPERATOR.
      	* decl2.c (name_mangling_version): Remove.
      	(lang_f_options): Remove squangle.
      	(unsupported_options): Add squangle.
      	(lang_decode_options): Don't set flag_do_squangling.  Issue a
      	warning for -fname-mangling-version.
      	(grokclassfn): Remove old ABI mangling support.
      	(finish_static_data_member_decl): Likewise.
      	(grokfield): Likewise.
      	(grokoptypename): Likewise.
      	(get_sentry): Likewise.
      	* init.c (build_java_class_ref): Use
      	mangle_java_reflection_var_for_type.
      	* lex.c (init_operators): Adjust use of DEF_OPERATOR.
      	(init_parse): Call init_mangle, not init_method.
      	* mangle.c (write_special_name_constructor): Handle
      	maybe-in-charge constructors.
      	(write_special_name_destructor): Handle
      	maybe-in-charge destructors.
      	(write_expression): Tweak code to handle non-type template
      	arguments with reference type.
      	(mangle_typeinfo_fn_for_type): New function.
      	(mangle_java_reflection_var_for_type): Likewise.
      	(mangle_conv_op_name_for_type): Don't use a name that the user
      	could type.
      	* method.c (enum mangling_flags): Remove.
      	(mangling_flags): Likewise.
      	(obstack_chunk_alloc): Likewise.
      	(obstack_chunk_free): Likewise.
      	(OB_INIT): Likewise.
      	(OB_PUTC): Likewise.
      	(OB_PUTC2): Likewise.
      	(OB_PUTS): Likewise.
      	(OB_PUTID): Likewise.
      	(OB_PUTCP): Likewise.
      	(OB_FINISH): Likewise.
      	(OB_LAST): Likewise.
      	(btypelist): Likewise.
      	(ktypelist): Likewise.
      	(maxbtype): Likewise.
      	(maxktype): Likewise.
      	(typevec): Likewise.
      	(maxtype): Likewise.
      	(init_method): Likewise.
      	(digit_buffer): Likewise.
      	(nofold): Likewise.
      	(start_squangling): Likewise.
      	(end_squangling): Likewise.
      	(icat): Likewise.
      	(dicat): Likewise.
      	(old_backref_index): Likewise.
      	(flush_repeats): Likewise.
      	(is_back_referenceable_type): Likewise.
      	(issue_nrepeats): Likewise.
      	(check_ktype): Likewise.
      	(issue_ktype): Likewise.
      	(build_overload_nested_name): Likewise.
      	(build_underscore_int): Likewise.
      	(build_overload_scope_ref): Likewise.
      	(mangle_expression): Likewise.
      	(build_overload_int): Likewise.
      	(mangled_C9x_name): Likewise.
      	(build_overload_value): Likewise.
      	(build_template_template_parm_names): Likewise.
      	(build_template_parm_names): Likewise.
      	(build_overload_identifier): Likewise.
      	(build_qualified_name): Likewise.
      	(build_mangled_name_for_type_with_Gcode): Likewise.
      	(build_mangled_name_for_type): Likewise.
      	(build_overload_name): Likewise.
      	(build_mangled_name): Likewise.
      	(process_modifiers): Likewise.
      	(check_btype): Likewise.
      	(process_overload_item): Likewise.
      	(build_static_name): Likewise.
      	(build_decl_overload_real): Likewise.
      	(set_mangled_name_for_decl): Remove old ABI mangling support.
      	(build_typename_overload): Remove.
      	(build_overload_with_type): Remove.
      	(get_id_2): Remove.
      	(get_ctor_vtbl_name): Remove.
      	(build_destructor_name): Likewise.
      	(set_mangled_name_for_decl): Likewise.
      	(make_thunk): Remove old ABI mangling support.
      	* operators.def: Likewise.
      	* pt.c (check_explicit_specialization): Don't call
      	set_mangled_name_for_template_decl.
      	(lookup_template_class): Remove old ABI mangling support.
      	(tsubst_friend_function): Update comment.
      	(tsubst_decl): Remove old ABI mangling support.
      	(tsubst_copy): Likewise.
      	(set_mangled_name_for_template_decl): Remove.
      	* rtti.c (init_rtti_processing): Use std_identifier.  Don't set
      	tinfo_decl_id or tinfo_var_id.
      	(get_tinfo_var): Use mangle_typeinfo_for_type.
      	(tinfo_name): Remove old ABI mangling support.
      	(get_tinfo_decl): Likewise.
      	(tinfo_base_init): Likewise.
      	(create_real_tinfo_var): Use a name that the user can't type.
      
      	* tinfo2.cc (BUILTIN): Adjust to use new mangling.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34458 138bc75d-0d04-0410-961f-82ee72b054a4
      f2b8a47d
  17. 01 Jun, 2000 1 commit
  18. 28 May, 2000 1 commit
    • mmitchel's avatar
      2000-05-27 Alex Samuel <samuel@codesourcery.com> · 97cc4539
      mmitchel authored
      	    Mark Mitchell  <mark@codesourcery.com>
      
      	* cp-tree.h (ansi_opname): Make it a macro.
      	(ansi_assopname): Likewise.
      	(struct lang_decl_flags): Add assignment_operator_p.
      	(struct lang_decl): Add operator_code.
      	(DECL_VTT_PARM): Adjust.
      	(DECL_OVERLOADED_OPERATOR_P): Return the operator_code for an
      	overloaded operator.
      	(SET_OVERLOADED_OPERATOR_CODE): New macro.
      	(DECL_ASSIGNMENT_OPERATOR_P): New macro.
      	(DECL_ARRAY_DELETE_OPERATOR_P): Adjust.
      	(opname_tab): Remove.
      	(assignop_tab): Likewise.
      	(operator_name_info_t): New type.
      	(operator_name_info): New variable.
      	(assignment_operator_name_info): Likewise.
      	(build_cp_library_fn): Remove declaration.
      	(push_cp_library_fn): Likewise.
      	(operator_name_string): Likewise.
      	(build_decl_overload): Likewise.
      	* call.c (print_z_candidates): Simplify.
      	(build_object_call): Adjust usage of ansi_opname.  Use
      	DECL_OVERLOADED_OPERATOR_P.
      	(op_error): Adjust operator name lookup.
      	(build_conditional_expr): Adjust usage of ansi_opname.
      	(build_new_op): Likewise.
      	(build_op_delete_call): Likewise.
      	(build_over_call): Likewise.
      	(joust): Use DECL_OVERLOADED_OPERATOR_P.
      	* decl.c (duplicate_decls): Copy operator_code.
      	(init_decl_processing): Adjust parameters to push_cp_library_fn.
      	(builtin_function): Adjust parameters to build_library_fn_1.
      	(build_library_fn_1): Accept an overloaded operator code.
      	(build_library_fn): Pass ERROR_MARK.
      	(build_cp_library_fn): Accept an overloaded operator code.
      	(push_cp_library_fn): Likewise.
      	(grokfndecl): Tweak.
      	(grokdeclarator): Simplify code to compute names of overloaded
      	operators.  Adjust use of ansi_opname.
      	(ambi_op_p): Work on tree_codes, not identifiers.
      	(unary_op_p): Likewise.
      	(grok_op_properties): Likewise.
      	(start_function): Use DECL_OVERLOADED_OPERATOR_P.
      	(lang_mark_tree): Don't try to mark the operator_code.
      	* decl2.c (grok_function_init): Use DECL_OVERLOADED_OPERATOR_P.
      	* error.c (dump_decl): Remove special handling for operator
      	names.
      	(dump_function_name): Likewise.
      	(dump_expr): Adjust name lookup of operators.
      	(op_to_string): Simplify.
      	(assop_to_string): Likewise.
      	* init.c (build_new_1): Adjust use of ansi_opname.
      	* lex.c (opname_tab): Remove.
      	(assignop_tab): Likewise.
      	(ansi_opname): Likewise.
      	(ansi_assopname): Likewise.
      	(operator_name_string): Likewise.
      	(reinit_lang_specific): Likewise.
      	(operator_name_info): New variable.
      	(assignment_operator_name_info): Likewise.
      	(init_operators): New function.
      	(init_parse): Use it.
      	(do_identifier): Adjust use of ansi_opname.
      	* method.c (mangle_expression): Don't use ansi_opname for
      	mangling.
      	(build_decl_overload_real): Use DECL_OVERLOADED_OPERATOR_P.
      	(build_decl_overload): Remove.
      	(build_typename_overload): Use OPERATOR_TYPENAME_FORMAT directly.
      	(do_build_assign_ref): Adjust use of ansi_opname.
      	(synthesize_method): Likewise.
      	(implicitly_declare_fn): Likewise.
      	* operators.def: New file.
      	* parse.y (operator): Adjust use of ansi_opname.
      	* pt.c (tsubst_decl): Use IDENTIFIER_OPNAME_P.
      	(set_mangled_name_for_template_decl): Don't play games with
      	current_namespace.
      	(special_function_p): Adjust use of ansi_opname.
      	* typeck.c (check_return_expr): Likewise.
      	* Make-lang.in (cc1plus): Depend on operators.def.
      	* Makefile.in (lex.o): Likewise.
      	(decl.o): Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34223 138bc75d-0d04-0410-961f-82ee72b054a4
      97cc4539
  19. 25 May, 2000 1 commit
    • mmitchel's avatar
      Finish implementation of VTTs. · 0ce25b06
      mmitchel authored
      	* cp-tree.h (cp_tree_index): Add CPTI_VTT_PARM_TYPE and
      	CPTI_VTT_PARM_IDENTIFIER.
      	(vtt_parm_identifier): New macro.
      	(vtt_parm_type): Likewise.
      	(BINFO_SUBVTT_INDEX): Likewise.
      	(BINFO_VPTR_INDEX): Likewise.
      	(struct lang_decl): Add vtt_parm.
      	(DECL_VTT_PARM): New macro.
      	(DECL_USE_VTT_PARM): Likewise.
      	(DECL_NEEDS_VTT_PARM_P): Likewise.
      	(get_vtt_name): Declare.
      	(build_artifical_parm): Likewise.
      	(fixup_all_virtual_upcast_offsets): Likewise.
      	(expand_indirect_vtbls_init): Remove.
      	* call.c (build_new_method_call): Pass the vtt to subobject
      	constructors and destructors.
      	* class.c (get_vtt_name): Give it external linkage.
      	(build_clone): Handle the magic VTT parameters for clones.
      	(clone_function_decl): Fix typo in comment.
      	(build_vtt): Keep track of the indices in the VTTs where various
      	entities are stored.
      	(build_vtt_inits): Likewise.
      	(dfs_build_vtt_inits): Likewise.
      	(build_ctor_vtbl_group): Tweak type of construction vtables.
      	(dfs_accumulate_vtbl_inits): Build vtables for all bases, even
      	primary bases, when building construction vtables.
      	* decl.c (duplicate_decls): Handle DECL_VTT_PARM.
      	(initialize_predefined_identifiers): Add vtt_parm_identifier.
      	(init_decl_processing): Initialize vtt_parm_type.
      	(grokfndecl): Use DECL_OVERLOADED_OPERATOR_P.
      	(lang_mark_tree): Make vtt_parm.
      	* decl2.c (build_artificial_parm): New function.
      	(maybe_retrofit_in_chrg): Use it.  Add VTT parameters.
      	(grokclassfn): Use build_artificial_parm.
      	* init.c (initialize_vtbl_ptrs): Call
      	fixup_all_virtual_upcast_offsets directly.
      	(perform_member_init): Use the complete subobject destructor for
      	member cleanups.
      	(build_vtbl_address): New function.
      	(expand_virtual_init): Handle VTTs.
      	* optimize (maybe_clone_body): Likewise.
      	* search.c (fixup_all_virtual_upcast_offsets): Give it external
      	linkage.
      	(expand_indirect_vtbls_init): Remove.
      	* semantics.c (setup_vtbl_ptr): Fix typos in comment.
      	* tree.c (make_binfo): Make them bigger.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34177 138bc75d-0d04-0410-961f-82ee72b054a4
      0ce25b06
  20. 24 May, 2000 3 commits
    • mmitchel's avatar
      * cp-tree.h (build_delete): Change prototype. · 675996d9
      mmitchel authored
      	(build_vec_delete): Likewise.
      	* call.c (build_scoped_method_call): Use special_function_kind
      	values to indicate the kind of destruction to be done.
      	(build_method_call): Likewise.
      	* decl.c (finish_destructor_body): Likewise.
      	(maybe_build_cleanup_1): Likewise.  Rename to ...
      	(maybe_build_cleanup): ... this.
      	* decl2.c (delete_sanity): Use special_function_kind
      	values to indicate the kind of destruction to be done.
      	(build_cleanup): Likewise.
      	* init.c (perform_member_init): Likewise.
      	(build_vec_delete_1): Likewise.
      	(build_dtor_call): Simplify.
      	(build_delete): Use special_function_kind
      	values to indicate the kind of destruction to be done.
      	(build_vbase_delete): Likewise.
      	(build_vec_delete): Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34147 138bc75d-0d04-0410-961f-82ee72b054a4
      675996d9
    • mmitchel's avatar
      * init.c (sort_member_init): Fix typo in error message generation · 781d8448
      mmitchel authored
      	code.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34134 138bc75d-0d04-0410-961f-82ee72b054a4
      781d8448
    • mmitchel's avatar
      * cp-tree.h (lang_decl_flags): Rename mutable_flag to uninlinable · a484e8db
      mmitchel authored
      	and bitfield to tinfo_fn_p.
      	(DECL_TINFO_FN_P): Adjust.
      	(SET_DECL_TINFO_FN_P): Likewise.
      	(DECL_MUTABLE_P): Likewise.
      	(DECL_C_BIT_FIELD): Likewise.
      	(SET_DECL_C_BIT_FIELD): Likewise.
      	(CLEAR_DECL_C_BIT_FIELD): Likewise.
      	(DECL_UNINLINABLE): Likewise.
      	* class.c (alter_access): Call retrofit_lang_decl if ncessary.
      	(handle_using_decl): Remove assertion.
      	(build_vtbl_or_vbase_field): Use build_decl, not build_lang_decl,
      	to build FIELD_DECLs.
      	(build_base_field): Likewise.
      	(layout_class_type): Likewise.
      	* decl.c (init_decl_processing): Likewise.
      	(build_ptrmemfunc_type): Likewise.
      	(grokdeclarator): Likewise.
      	* decl2.c (grok_x_components): Likewise.
      	* except.c (call_eh_info): Likewise.
      	* init.c (init_init_processing): Likewise.
      	* rtti.c (expand_class_desc): Likewise.
      	(create_pseudo_type_info): Likewise.
      	(get_vmi_pseudo_type_info): Likewise.
      	(create_tinfo_types): Likewise.
      	* ptree.c (print_lang_decl): Adjust.
      	* typeck.c (build_component_ref): Don't check DECL_LANG_SPECIFIC
      	before checking DECL_MUTABLE_P.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34125 138bc75d-0d04-0410-961f-82ee72b054a4
      a484e8db
  21. 21 May, 2000 1 commit
    • mmitchel's avatar
      * cp-tree.h (struct lang_type): Remove search_slot. · 9e92dee9
      mmitchel authored
      	(CLASSTYPE_SEARCH_SLOT): Remove.
      	(emit_base_init): Change prototype.
      	(initialize_vtbl_ptrs): Likewise.
      	(expand_indirect_vtbls_init): Likewise.
      	(clear_search_slots): Remove.
      	* decl.c (lang_mark_tree): Don't mark search_slot.
      	* init.c (initialize_vtbl_ptrs): Simplify.
      	(emit_base_init): Likewise.
      	* search.c (struct vbase_info): Document decl_ptr.
      	(convert_pointer_to_single_level): Remove.
      	(dfs_find_vbases): Remove.
      	(dfs_init_base_pointers): Simplify.
      	(dfs_clear_vbase_slots): Remove.
      	(dfs_vtable_path_unmark): New function.
      	(init_vbase_pointers): Simplify.
      	(expand_upcast_fixups): Don't rely on CLASSTYPE_SEARCH_SLOT.
      	(expand_indirect_vtbls_init): Simplify.  Don't call
      	mark_all_temps_used.
      	* semantics.c (setup_vtbl_ptr): Adjust calls to emit_base_init and
      	initialize_vtbl_ptrs.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34067 138bc75d-0d04-0410-961f-82ee72b054a4
      9e92dee9
  22. 19 May, 2000 1 commit
    • mmitchel's avatar
      Don't create a separate copy of virtual bases for the · 6bcacb96
      mmitchel authored
      	CLASSTYPE_VBASECLASSES list.
      	* cp-tree.h (CLASSTYPE_VBASECLASSES): Change documentation.
      	(BINFO_FOR_VBASE): Remove.
      	(CANONICAL_BINFO): Adjust.
      	(binfo_for_vbase): New function.
      	* class.c (build_vbase_pointer_fields): Use binfo_for_vbase
      	instead of BINFO_FOR_VBASE.
      	(build_vbase_pointer): Likewise.
      	(build_secondary_vtable): Likewise.
      	(dfs_mark_primary_bases): Likewise.
      	(mark_primary_bases): Likewise.
      	(layout_nonempty_base_or_field): Likewise.
      	(dfs_set_offset_for_shared_vbases): Likewise.
      	(dfs_set_offset_for_unshared_vbases): Likewise.
      	(layout_virtual_bases): Likewise.  Adjust for changes to the
      	CLASSTYPE_VBASECLASSES list.
      	(dump_class_hierarchy_r): Use binfo_for_vbase
      	instead of BINFO_FOR_VBASE.
      	(dump_class_hierarchy): Likewise.
      	(finish_vtbls): Likewise.
      	(build_vtbl_initializer): Adjust for changes to the
      	CLASSTYPE_VBASECLASSES list.
      	(build_vbase_offset_vtbl_entries): Use binfo_for_vbase.
      	* decl.c (finish_destructor_body): Adjust for changes to the
      	CLASSTYPE_VBASECLASSES list.
      	* init.c (sort_base_init): Use binfo_for_vbase.
      	(construct_virtual_bases): Adjust for changes to the
      	CLASSTYPE_VBASECLASSES list.
      	(expand_member_init): Use binfo_for_vbase.
      	(build_vbase_delete):  Adjust for changes to the
      	CLASSTYPE_VBASECLASSES list.
      	* method.c (do_build_copy_constructor): Likewise.
      	* rtti.c (get_base_offset): Use binfo_for_vbase.
      	(expand_class_desc): Remove #if 0'd code.
      	* search.c (struct vbase_info): Remove vbase_types.
      	(get_base_distance):  Use binfo_for_vbase.
      	(lookup_field_queue_p): Use CANONICAL_BINFO.
      	(get_shared_vbase_if_not_primary): Use binfo_for_vbase.
      	(get_pure_virtuals): Adjust for changes to the
      	CLASSTYPE_VBASECLASSES list.
      	(dfs_find_vbases): Use binfo_for_vbase.
      	(dfs_init_vbase_pointers): Likewise.
      	(init_vbase_pointers): Don't initialize vi.vbase_types.
      	(virtual_context): Use binfo_for_vbase.
      	(fixup_all_virtual_upcast_offsets): Adjust for changes to the
      	CLASSTYPE_VBASECLASSES list.
      	(expand_indirect_vtbls_init): Simplify.
      	(dfs_get_vbase_types): Don't replicate virtual bases.
      	(find_vbase_instance): Use binfo_for_vbase.
      	(binfo_for_vbase): New function.
      	* typeck.c (get_delta_difference): Use binfo_for_vbase.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34040 138bc75d-0d04-0410-961f-82ee72b054a4
      6bcacb96
  23. 17 May, 2000 1 commit
    • mmitchel's avatar
      * decl2.c (finish_anon_union): Generalize error messages to handle · c8470848
      mmitchel authored
      	anonymous structures.
      	* init.c (perform_member_init): Remove `name' parameter.
      	(build_field_list): New function.
      	(sort_member_init): Handle anonymous union initialization order
      	correctly.  Check for multiple initializations of the same union.
      	(emit_base_init): Don't look up fields by name here.
      	(expand_member_init): Record the result of name lookup for future
      	reference.
      	* typeck.c (build_component_ref): Fix formatting.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33963 138bc75d-0d04-0410-961f-82ee72b054a4
      c8470848
  24. 26 Apr, 2000 1 commit
    • mmitchel's avatar
      * cp-tree.h (TREE_READONLY_DECL_P): Use DECL_P. · 1202e392
      mmitchel authored
      	* init.c (decl_constant_value): Check TREE_READONLY_DECL_P.
      	* call.c (convert_like_real): Don't test TREE_READONLY_DECL_P
      	before calling decl_constant_value.
      	* class.c (check_bitfield_decl): Likewise.
      	* cvt.c (ocp_convert): Likewise.
      	(convert): Likewise.
      	* decl.c (compute_array_index_type): Likewise.
      	(build_enumerator): Likewise.
      	* decl2.c (check_cp_case_value): Likewise.
      	* pt.c (convert_nontype_argument): Likewise.
      	(tsubst): Likewise.
      	* typeck.c (decay_conversion): Likewise.
      	(build_compound_expr): Likewise.
      	(build_reinterpret_cast): Likewise.
      	(build_c_cast): Likewise.
      	(convert_for_assignment): Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33446 138bc75d-0d04-0410-961f-82ee72b054a4
      1202e392
  25. 12 Apr, 2000 3 commits
    • mmitchel's avatar
      Fix typo · 92fd8bb5
      mmitchel authored
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33114 138bc75d-0d04-0410-961f-82ee72b054a4
      92fd8bb5
    • mmitchel's avatar
      Fix typo · 65ba242f
      mmitchel authored
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33113 138bc75d-0d04-0410-961f-82ee72b054a4
      65ba242f
    • mmitchel's avatar
      * cp-tree.h (IDENTIFIER_CTOR_OR_DTOR_P): New macro. · f04596da
      mmitchel authored
      	(cp_tree_index): Add CPTI_PUSH_EXCEPTION_IDENTIFIER.
      	(cp_push_exception_identifier): New macro.
      	(DECL_COMPLETE_DESTRUCTOR_P): New macro.
      	(DECL_BASE_DESTRUCTOR_P): Likewise.
      	(DECL_DELETING_DESTRUCTOR_P): Likewise.
      	(get_vtbl_decl_for_binfo): Fix formatting.
      	(in_charge_arg_for_name): New macro.
      	(maybe_build_cleanup_and_delete): Remove declaration.
      	* call.c (build_field_call): Use IDENTIFIER_CTOR_OR_DTOR_P.
      	(in_charge_arg_for_name): New function.
      	(build_new_method_call): Use it.  Handle cloned destructors.
      	(build_clone): Don't make the base constructor virtual.
      	Automatically defer generated functions.
      	(clone_function_decl): Handle destructors, too.
      	(clone_constructors_and_destructors): Likewise.
      	(create_vtable_ptr): Don't create a vtable entry for a cloned
      	function.
      	* decl.c (predefined_identifier): Add ctor_or_dtor_p.
      	(initialize_predefined_identifiers): Update appropriately.
      	(finish_destructor_body): Simplify.
      	(maybe_build_cleanup_and_delete): Remove.
      	* except.c (expand_throw): Handle new-ABI destructors.
      	* init.c (expand_cleanup_for_base): Use base_dtor_identifier.
      	(build_dtor_call): New function.
      	(build_delete): Use it.  Simplify.
      	* optimize.c (maybe_clone_body): Handle destructors.
      	* search.c (lookup_field_queue_p): Use IDENTIFIER_CTOR_OR_DTOR_P.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33096 138bc75d-0d04-0410-961f-82ee72b054a4
      f04596da
  26. 11 Apr, 2000 1 commit
    • mmitchel's avatar
      * cp-tree.h (lang_decl_flags): Rename constructor_for_vbase_attr · a23287c6
      mmitchel authored
      	to has_in_charge_parm_p.
      	(DECL_CONSTRUCTOR_FOR_VBASE_P): Rename to ...
      	(DECL_HAS_IN_CHARGE_PARM_P): ... this.
      	(DECL_COPY_CONSTRUCTOR_P): New macro.
      	* call.c (add_function_candidate): Use DECL_HAS_IN_CHARGE_PARM_P.
      	(build_user_type_conversion_1): Likewise.
      	(convert_like_real): Likewise.
      	(build_over_call): Likeiwse.  Use DECL_COPY_CONSTRUCTOR_P.
      	* decl.c (grokdeclarator): Use DECL_HAS_IN_CHARGE_PARM_P.
      	(copy_args_p): Likewise.
      	(grok_ctor_properties): Likewise.
      	(start_function): Likewise.
      	* decl2.c (maybe_retrofit_in_charge): Likewise.  Set it.
      	* error.c (dump_function_decl): Use DECL_HAS_IN_CHARGE_PARM_P.
      	* init.c (emit_base_init): Use DECL_COPY_CONSTRUCTOR_P.
      	* method.c (do_build_copy_constructor): Use
      	DECL_HAS_IN_CHARGE_PARM_P.
      	(synthesize_method): Likewise.
      	* pt.c (instantiate_template): Remove goto.
      	* tree.c (build_cplus_method_type): Remove mention of obstacks in
      	comment.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33080 138bc75d-0d04-0410-961f-82ee72b054a4
      a23287c6
  27. 09 Apr, 2000 3 commits
    • mmitchel's avatar
      * cp-tree.h (cp_tree_index): Add CPTI_COMPLETE_CTOR_IDENTIFIER. · cfb46e1f
      mmitchel authored
      	(complete_ctor_identifier): New macro.
      	(special_function_kind): Add sfk_copy_constructor and
      	sfk_assignment_operator.
      	(LOOKUP_HAS_IN_CHARGE): Remove.
      	(cons_up_default_function): Rename to ...
      	(implicitly_declare_fn): ... this.
      	* call.c (build_new_method_call): Add in-charge parameters for
      	constructors here.
      	* class.c (add_implicitly_declared_members): Change parameter name
      	from cant_have_assignment to cant_have_const_assignment.
      	Replace calls to cons_up_default_function to implicitly_declare_fn.
      	* cvt.c (ocp_convert): Use complete_ctor_identifier.
      	* decl.c (initialize_predefined_identifiers): Initialize it.
      	(start_function): Use DECL_CONSTRUCTOR_FOR_VBASE_P instead of
      	complex expression.
      	* init.c (expand_default_init): Don't calculate the in-charge
      	parameter here.
      	(build_new_1): Likewise.
      	* lex.c (cons_up_default_function): Move to method.c.
      	* method.c (synthesize_method): Use DECL_DESTRUCTOR_P.
      	(implicitly_declare_fn): New function.
      	* typeck.c (build_static_cast): Use complete_ctor_identifier.
      	(build_modify_expr): Likewise.
      	* typeck2.c (build_functional_cast): Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33038 138bc75d-0d04-0410-961f-82ee72b054a4
      cfb46e1f
    • mmitchel's avatar
      Under the new ABI, constructors don't return `this'. · bb855ff9
      mmitchel authored
      	* cp-tree.h (warn_reorder): Declare.
      	(special_function_kind): New enum.
      	(global_base_init_list): Remove declaration.
      	(emit_base_init): Don't return a value.
      	(check_base_init): Don't declare.
      	(is_aggr_typedef): Likewise.
      	* decl.c (check_special_function_return_type): New function.
      	(return_types): Remove.
      	(grokdeclarator): Use check_special_function_return_type.
      	(start_function): Don't initialize ctor_label under the new ABI.
      	(finish_construtor_body): Don't create a corresponding LABEL_STMT.
      	* init.c (begin_init_stmts): Move to top of file.
      	(finish_init_stmts): Likewise.
      	(warn_reorder): Don't declare.
      	(emit_base_init): Don't create a STMT_EXPR here.  Don't return a
      	value.
      	(check_base_init): Remove.
      	(is_aggr_typedef): Likewise.
      	(build_new_1): Don't use the return value of a constructor.
      	* semantics.c (setup_vtbl_ptr): Don't use the return value
      	of emit_base_init.
      	* typeck.c (check_return_expr): Don't magically convert return
      	statements into `return this' in constructors under the new ABI.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33035 138bc75d-0d04-0410-961f-82ee72b054a4
      bb855ff9
    • mmitchel's avatar
      * cp-tree.h (cp_tree_index): Add CPTI_BASE_CTOR_IDENTIFIER, · 8eadd521
      mmitchel authored
      	CPTI_BASE_DTOR_IDENTIFIER, and CPTI_DELETING_DTOR_IDENTIFIER.
      	(base_ctor_identifier): New macro.
      	(base_dtor_identifier): Likewise.
      	(deleting_dtor_identifier): Likewise.
      	* decl.c: Don't include obstack.h.
      	(obstack_chunk_alloc): Don't define.
      	(obstack_chunk_free): Likewise.
      	(struct predefined_identifier): New type.
      	(initialize_predefined_identifiers): New function.
      	(init_decl_processing): Use it.
      	(debug_temp_inits): Remove.
      	(start_method): Don't call preserve_data.
      	(hack_incomplete_structures): Update comment.
      	* init.c (init_init_processing): Don't initialize
      	nelts_identifier.
      	(build_offset_rf): Remove dead code.
      	(build_delete): Use CLASSTYPE_N_BASECLASSES.
      	* search.c (init_search_processing): Don't initialize
      	vptr_identifier.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33031 138bc75d-0d04-0410-961f-82ee72b054a4
      8eadd521
  28. 04 Apr, 2000 1 commit
    • mmitchel's avatar
      Correct many new ABI issues regarding vbase and vcall offset · 59751e6c
      mmitchel authored
      	layout.
      	* cp-tree.h (BINFO_VTABLE): Document.
      	(struct lang_type): Tweak formatting.
      	(BINFO_PRIMARY_BINFO): Add to documentation.
      	(CLASSTYPE_VSIZE): Fix typo in comment.
      	(CLASSTYPE_VBASECLASSES): Update documentation.
      	(BINFO_VBASE_MARKED): Remove.
      	(SET_BINFO_VBASE_MARKED): Likewise.
      	(CLEAR_BINFO_VBASE_MARKED): Likewise.
      	(BINFO_FIELDS_MARKED): Remove.
      	(SET_BINFO_FIELDS_MARKED): Likewise.
      	(CLEAR_BINFO_FIELDS_MARKED): Likewise.
      	(enum access_kind): New enumeration.
      	(num_extra_vtbl_entries): Remove declaration.
      	(size_extra_vtbl_entries): Likewise.
      	(get_vtbl_decl_for_binfo): New function.
      	(dfs_vbase_unmark): Remove declaration.
      	(mark_primary_bases): Likewise.
      	* class.c (SAME_FN): Remove.
      	(struct vcall_offset_data_s): Move definition.
      	(build_vbase_pointer): Use `build', not `build_binary_op', to
      	access the vbase pointer under the new ABI.
      	(build_vtable_entry_ref): Use get_vtbl_decl_for_binfo.
      	(build_primary_vtable): Likewise.
      	(dfs_mark_primary_bases): Move here from search.c.
      	(mark_primary_bases): Likewise.
      	(determine_primary_bases): Under the new ABI, don't make a base
      	class a primary base just because we don't yet have any virtual
      	functions.
      	(layout_vtable_decl): Use get_vtbl_decl_for_binfo.
      	(num_vfun_entries): Remove.
      	(dfs_count_virtuals): Likewise.
      	(num_extra_vtbl_entries): Likewise.
      	(size_extra_vtbl_entries): Likewise.
      	(layout_virtual_bases): Iterate in inheritance graph order under
      	the new ABI.
      	(finish_struct_1): Use TYPE_VFIELD, not CLASSTYPE_VSIZE, to
      	indicate that a vfield is present.
      	(init_class_processing): Initialize access_public_node, etc., from
      	ak_public, etc.
      	(get_vtbl_decl_for_binfo): New function.
      	(dump_class_hierarchy_r): Likewise.
      	(dump_class_hierarchy): Use it.
      	(finish_vtbls): Build the vtbls in inheritance graph order.
      	(dfs_finish_vtbls): Adjust call to build_vtbl_initializer.
      	(initialize_vtable): Use get_vtbl_decl_for_binfo.
      	(accumulate_vtbl_inits): Add comments explaining why a pre-order
      	walk is required.
      	(dfs_accumulate_vtbl_inits): Set BINFO_VTABLE to the location
      	where the vptr points, even for primary vtables.
      	(build_vtbl_initializer): Adjust handling of vbase and vcall
      	offsets.
      	(build_vcall_and_vbase_vtable_entries): New function.
      	(dfs_build_vbase_offset_vtbl_entries): Remove.
      	(build_vbase_offset_vtbl_entries): Reimplement.
      	(dfs_build_vcall_offset_vtbl_entries): Don't include virtuals that
      	were already handled in a primary base class vtable.
      	(build_vcall_offset_vtbl_entries): Adjust.
      	(build_rtti_vtbl_entries): Adjust.
      	* decl2.c (output_vtable_inherit): Use get_vtbl_decl_for_binfo.
      	* init.c (expand_virtual_init): Simplify.
      	* repo.c (repo_get_id): Use get_vtbl_decl_for_binfo.
      	* rtti.c (create_pseudo_type_info): Adjust calculation of vptr.
      	* search.c (BINFO_ACCESS): New macro.
      	(SET_BINFO_ACCESS): Likewise.
      	(dfs_access_in_type): Manipulate access_kinds, not access nodes.
      	(access_in_type): Likewise.
      	(dfs_accessible_p): Likewise.
      	(protected_accessible_p): Likewise.
      	(lookup_fnfields_1): Adjust documentation.
      	(dfs_mark_primary_bases): Move to class.c
      	(mark_primary_bases): Likewise.
      	(dfs_vbase_unmark): Remove.
      	(virtual_context): Use BINFO_FOR_VBASE.
      	(dfs_get_vbase_types): Simplify.
      	(dfs_build_inheritance_graph_order): New function.
      	(get_vbase_types): Use it.
      	* tree.c (debug_binfo): Use get_vtbl_decl_for_binfo.
      
      	* tinfo.cc (get_vbase_offset): New function.
      	(__vmi_class_type_info::do_find_public_src): Use it.
      	(__vmi_class_type_info::do_dyncast): Likewise.
      	(__vmi_class_type_info::do_upcast): Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32905 138bc75d-0d04-0410-961f-82ee72b054a4
      59751e6c
  29. 21 Mar, 2000 1 commit
    • nathan's avatar
      gcc · 4b72716d
      nathan authored
      	* tree.h (COMPLETE_TYPE_P): New macro.
      	(COMPLETE_OR_VOID_TYPE_P): New macro.
      	(COMPLETE_OR_UNBOUND_ARRAY_TYPE_P): New macro.
      	* stor-layout.c (layout_type, case VOID_TYPE): Don't set TYPE_SIZE.
      	* c-aux-info.c (gen_type): Use them.
      	* c-common.c (c_expand_expr_stmt): Likewise.
      	* c-decl.c (poplevel, pushdecl, start_decl, finish_decl,
      	grokdeclarator, grokparms, finish_struct, start_function,
      	store_parm_decls, combine_parm_decls): Likewise.
      	* c-parse.y (cast_expr): Likewise.
      	* c-typeck.c (require_complete_type, c_sizeof, c_sizeof_nowarn,
      	c_size_in_bytes, c_alignof, build_component_ref,
      	build_indirect_ref, build_array_ref, convert_arguments,
      	build_binary_op, pointer_diff, build_unary_op, digest_init: Likewise.
      	* calls.c (initialize_argument_information): Likewise.
      	* convert.c (convert_to_integer): Likewise.
      	* dbxout.c (dbxout_typedefs, dbxout_type, dbxout_symbol): Likewise.
      	* dwarfout.c (location_or_const_value_attribute,
      	output_enumeration_type_die, output_structure_type_die,
      	output_union_type_die, output_type): Likewise.
      	* expr.c (safe_from_p, expand_expr): Likewise.
      	* function.c (assign_parms): Likewise.
      	* sdbout.c (sdbout_symbol, sdbout_one_type): Likewise.
      	* tree.c (build_array_type, build_function_type,
      	build_method_type, build_offset_type, build_complex_type): Likewise.
      	* c-parse.c, c-parse.h: Regenerated.
      gcc/cp
      	* typeck.c (require_complete_type, complete_type,
      	complete_type_or_else, c_sizeof, c_sizeof_nowarn,
      	build_array_ref, convert_arguments, pointer_diff,
      	build_x_unary_op, build_unary_op, build_c_cast,
      	build_modify_expr): Use COMPLETE_TYPE_P etc.
      	* call.c (is_complete, convert_like_real,
      	build_new_method_call): Likewise.
      	* class.c (build_vbase_pointer_fields, check_bases,
      	build_base_field, finish_struct_1, pushclass): Likewise.
      	* cvt.c (cp_convert_to_pointer, convert_to_void): Likewise.
      	* decl.c (maybe_process_template_type_declaration, pushtag,
      	pushdecl, redeclaration_error_message, start_decl, start_decl_1,
      	layout_var_decl, check_initializer, cp_finish_decl,
      	grokdeclarator, require_complete_types_for_parms,
      	grok_op_properties, xref_tag, xref_basetypes,
      	check_function_type): Likewise.
      	* decl2.c (check_classfn, reparse_absdcl_as_casts): Likewise.
      	* friend.c (do_friend): Likewise.
      	* init.c (build_offset_ref): Likewise.
      	* parse.y (structsp): Likewise.
      	* pt.c (maybe_process_partial_specialization,
      	tsubst_friend_function, instantiate_class_template, tsubst,
      	do_type_instantiation, instantiate_pending_templates): Likewise.
      	* repo.c (repo_get_id): Likewise.
      	* rtti.c (build_typeid, get_typeid, build_dynamic_cast_1,
      	synthesize_tinfo_var, emit_support_tinfos): Likewise.
      	* search.c (lookup_fnfields_1, lookup_conversions): Likewise.
      	* semantics.c (begin_class_definition): Likewise.
      	* tree.c (build_cplus_method_type): Likewise.
      	* typeck2.c (digest_init, build_functional_cast,
      	add_exception_specifier): Likewise.
      	* parse.h, parse.c: Regenerated.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32671 138bc75d-0d04-0410-961f-82ee72b054a4
      4b72716d
  30. 20 Mar, 2000 1 commit
  31. 19 Mar, 2000 1 commit
    • mmitchel's avatar
      * cp-tree.h (CLEAR_DECL_C_BIT_FIELD): New macro. · ad63a0fc
      mmitchel authored
      	* class.c (check_bitfield_decl): Turn illegal bitfields into
      	non-bitfields.
      	(dfs_propagate_binfo_offsets): Adjust for new size_binop
      	semantics.
      	(dfs_offset_for_unshared_vbases): Likewise.
      	* cvt.c (cp_convert_to_pointer): Convert NULL to a
      	pointer-to-member correctly under the new ABI.
      	* expr.c (cplus_expand_constant): Don't use cp_convert when
      	turning an offset into a pointer-to-member.
      	* init.c (resolve_offset_ref): Don't adjust pointers-to-members
      	when dereferencing them under the new ABI.
      	* typeck.c (get_member_function_from_ptrfunc): Tweak calculation
      	of pointers-to-members under the new ABI.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32631 138bc75d-0d04-0410-961f-82ee72b054a4
      ad63a0fc
  32. 17 Mar, 2000 1 commit
    • kenner's avatar
      * Clean up usages of TREE_INT_CST_LOW. · 5d844ba2
      kenner authored
      	* c-parse.in (RESTORE_WARN_FLAGS): Use tree_low_cst.
      	* c-parse.y, c-parse.c, objc/objc-parse.y, objc/objc-parse.c:
      	Regenerated.
      	* c-tree.h (min_precision): Move declaration to here.
      	* c-typeck.c (build_binary_op): Use host_integerp and tree_low_cst.
      	(build_unary_op, add_pending_init): Use bit_position.
      	(pending_init_member, process_init_element): Likewise.
      	(really_start_incremental_init, push_init_level, pop_init_level):
      	Don't make copies of nodes or modify them in place, use consistent
      	types when tracking positions, and use tree routines computations.
      	(set_init_index, output_init_element): Likewise.
      	(output_pending_init_elements, process_init_element): Likewise.
      	* dbxout.c (dbxout_type_fields): Use bit_position, host_integerp,
      	tree_low_cst and int_bit_position; also minor cleanup.
      	(dbxout_type_method_1, dbxout_range_type, dbxout_type): Likewise.
      	(print_cst_octal): Precision is unsigned.
      	(dbxout_symbol): Ensure DECL_INITIAL is in-range and use tree_low_cst.
      	* dwarf2out.c (ceiling): Input and output are unsigned HOST_WIDE_INT.
      	(simple_type_align_in_bits): Result is unsigned int.
      	Use tree_int_low_cst and host_integerp.
      	(simple_type_size_in_bits): Result is unsigned HOST_WIDE_INT.
      	(field_byte_offset): Result is HOST_WIDE_INT.
      	Change types of internal variables so alignments are unsigned int,
      	offsets are HOST_WIDE_INT and sizes are unsigned HOST_WIDE_INT.
      	Use host_integerp, tree_low_cst, and int_bit_position.
      	(add_bit_offset_attribute): Likewise.
      	(add_data_member_location_attribute): Use tree_cst_low.
      	(add_bound_info): Use host_integerp, integer_zerop, and integer_onep.
      	(add_bit_size_attribute): Use tree_low_cst.
      	(add_pure_or_virtual_attribute, gen_enumeration_type_die): Likewise.
      	* dwarfout.c: Similar changes to dwarf2out.c.
      	* expr.c (expand_expr, case ARRAY_REF): Remove redundant code.
      	* genoutput.c (n_occurences): Return -1 for null string.
      	(strip_whitespace): Accept null string and make into function.
      	(scan_operands): Reflect above changes.
      	* sdbout.c (plain_type_1): Use host_integerp and tree_low_cst.
      	(sdbout_field_types, sdbout_one_type): Likewise; also use bit_position.
      	* ssa.c (rename_registers): Add missing cast of arg to bzero.
      	* tree.c (int_size_in_bytes): Check for too big to represent.
      	(bit_position, int_bit_position, host_integerp, tree_low_cst): New fns.
      	* tree.h (host_integerp, tree_low_cst, bit_position, int_bit_position):
      	New declarations.
      	(min_precision): Delete from here.
      	* varasm.c (decode_addr_const): Use host_integerp, bit_position,
      	and int_bit_position.
      	* objc/objc-act.c (encode_method_prototype): Sizes are HOST_WIDE_INT.
      	(encode_method_def): Likewise.
      	(build_ivar_list_initializer): Use int_bit_position.
      	(generate_shared_structures): Convert size.
      	(encode_type, encode_complete_bitfield): Use integer_zerop.
      	(encode_bitfield): Use tree_low_cst and int_bit_position.
      	* ch/typeck.c (min_precision): New function.
      	(build_chill_slice): Use host_integerp and tree_low_cst.
      	(expand_constant_to_buffer): Likewise and also int_bit_position.
      	LO is unsigned HOST_WIDE_INT
      	(build_chill_array_ref_1): Make `i' be HOST_WIDE_INT; use tree_low_cst.
      	(extract_constant_from_buffer): Sizes are now HOST_WIDE_INT.
      	Use host_integerp and tree_low_cst.
      	(build_chill_bin_type): Use host_integerp and tree_low_cst.
      	(layout_chill_range_type): Use tree_int_cst_sgn, compare_tree_int,
      	tree_low_cst, and min_precision.
      	(apply_chill_array_layout): Cleanups for types of variables
      	and use tree_int_cst_sgn, compare_tree_int, and tree_low_cst.
      	(apply_chill_field_layout): Likewise.
      	* cp/class.c (build_vbase_path): Use integer_zerop.
      	(build_vtable_entry): Use tree_low_cst.
      	(get_vfield_offset): Use bit_position.
      	(dfs_modify_vtables): New variable vindex_val; `i' is HOST_WIDE_INT.
      	Use tree_low_cst.
      	(check_bitfield_decl): Set DECL_SIZE using convert.
      	(build_base_field): Set DECL_SIZE and DECL_SIZE_UNIT using size_binop.
      	(layout_virtual_bases): DSIZE is unsigned HOST_WIDE_INT.
      	Use tree_low_cst.
      	(finish_struct_1): Use bit_position.
      	(dump_class_hierarchy): Use tree_low_cst.
      	* cp/cp-tree.h (min_precision): Add declaration.
      	* cp/decl.c (xref_tag, xref_basetypes): Use tree_low_cst.
      	* cp/error.c (dump_type_suffix): Use host_integerp and tree_low_cst.
      	(dump_expr): Use integer_zerop, host_integerp, and tree_low_cst.
      	* cp/expr.c (cplus_expand_constant): Use bit_position.
      	* cp/init.c (build_vec_init): Use host_integerp and tree_low_cst.
      	* cp/rtti.c (get_base_offset): Use bit_position.
      	* cp/typeck.c (build_binary_op): Use integer_zerop, compare_tree_int,
      	host_integerp, and tree_low_cst.
      	(pointer_int_sum): Use integer_zerop.
      	(build_component_addr): Use bit_position.
      	* java/class.c (make_field_value): Properly handle sizes.
      	(get_dispatch_vector): Use tree_low_cst and host_integerp.
      	(layout_class_method): Count using trees.
      	* java/decl.c (push_promoted_type): Set TYPE_{MIN,MAX}_VALUE with
      	copy_node.
      	* java/expr.c (java_array_data_offset): Use int_bit_position.
      	(build_newarray, build_anewarray): Use host_integerp and tree_low_cst.
      	(build_invokevirtual): Use tree_low_cst and do computations with trees.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32607 138bc75d-0d04-0410-961f-82ee72b054a4
      5d844ba2