1. 13 Jul, 2000 1 commit
    • gcc.c (do_spec_1): Add new %B operator. · ea414c97
      	* gcc.c (do_spec_1): Add new %B operator.
      	(set_input): Prepare for %B.
      
      	(link_command_spec): Move up with the other tm.h-
      	overrideable specs.  Factor out the portion conditional on
      	LINK_LIBGCC_SPECIAL into a new spec, %(link_libgcc).
      	(struct compiler): Just have a single spec string.  All users
      	updated.
      	(default_compilers): Remove unnecessary braces.
      	(static_specs): Update.
      
      	(trad_capable_cpp, cpp_options, cc1_options, asm_options): New
      	named specs.
      	(C and assembly specs): Use the new named specs, as appropriate.
      
      	* objc/lang-specs.h, ch/lang-specs.h, cp/lang-specs.h,
      	f/lang-specs.h, java/lang-specs.h: Use the new named specs.
      	Remove unnecessary braces.
      
      From-SVN: r35008
      Zack Weinberg committed
  2. 12 Jul, 2000 1 commit
    • gcc.c (C specs [!USE_CPPLIB]): Invoke tradcpp if any of -traditional,… · f5896af2
      gcc.c (C specs [!USE_CPPLIB]): Invoke tradcpp if any of -traditional, -ftraditional, or -traditional-cpp was given.
      
      	* gcc.c (C specs [!USE_CPPLIB]): Invoke tradcpp if any of
      	-traditional, -ftraditional, or -traditional-cpp was given.
      	Do not pass -traditional to the preprocessor.
      	(.S spec): Likewise.  Don't bother defining __ASSEMBLER__, the
      	preprocessor does it automatically.
      	* objc/lang-specs.h: Likewise.  Don't bother defining __OBJC__.
      
      	* ch/lang-specs.h: Always use tradcpp.  Do not pass
      	-traditional, -trigraphs, or -pedantic to the preprocessor.
      	* f/lang-specs.h (.F spec): Likewise.  Don't bother defining
      	_LANGUAGE_FORTRAN.
      
      From-SVN: r34995
      Zack Weinberg committed
  3. 14 Jun, 2000 1 commit
    • tree.h (TYPE_USER_ALIGN, [...]): Define. · 11cf4d18
      	* tree.h (TYPE_USER_ALIGN, DECL_USER_ALIGN): Define.
      	(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.
      
      From-SVN: r34541
      Jakub Jelinek committed
  4. 13 Jun, 2000 1 commit
  5. 11 Jun, 2000 1 commit
    • Warning fixes: · 5ac9118e
      	* bb-reorder.c (build_scope_forest): Initialize variable
      	`curr_scope'.
      
      	* calls.c (expand_call): Likewise for variables
      	`save_pending_stack_adjust' and `save_stack_pointer_delta'.
      
      	* i386.c (function_arg_advance, function_arg): Cast to avoid
      	signed/unsigned warnings.
      
      	* i386.h (MEMORY_MOVE_COST): Likewise.
      
      	* ifcvt.c (cond_exec_process_if_block): Initialize variables
      	`else_start' and `else_end'.
      
      	* libgcc2.h (__eh_alloc, __eh_free): Prototype.
      
      	* regrename.c (rr_replace_reg): Initialize variable `dest_subregno'.
      
      ch:
      	* Makefile.in (EXPR_H): New dependency variable.
      	(actions.o, expr.o): Use EXPR_H.
      	(lang.o): Depend on RTL_H and EXPR_H.
      
      	* lang.c: Include rtl.h and expr.h.
      	(lang_get_alias_set): Mark parameter with ATTRIBUTE_UNUSED.
      
      cp:
      	* decl2.c (compare_options): Don't needlessly cast away const-ness.
      
      f:
      	* com.c (lang_get_alias_set): Mark parameter with ATTRIBUTE_UNUSED.
      
      java:
      	* decl.c (create_primitive_vtable): Prototype.
      
      	* jcf-write.c (generate_bytecode_insns): Initialize variable
      	`saved_context'.
      
      	* lang.c (lang_get_alias_set): Mark parameter with ATTRIBUTE_UNUSED.
      
      From-SVN: r34490
      Kaveh R. Ghazi committed
  6. 06 Jun, 2000 1 commit
    • configure.in (AC_C_INLINE): Added. · 603832a0
      gcc/:
              * configure.in (AC_C_INLINE): Added.
      	* configure: Regenerate.
      
      gcc/java:
      	* Makefile.in (INTLLIBS): New.
      	(LIBS): Add above.
      	(DEPLIBS): Ditto.
      
      gcc/f:
      	* Makefile.in(INTLLIBS): New macro.
      	(LIBS): Add INTLLIBS.
      	(DEPLIBS): Likewise.
      
      gcc/ch:
      	* Makefile.in: Changed to be processed by configure.
      	(INTLLIBS): New macro.
      	(LIBS): Add INTLLIBS.
      	(DEPLIBS): Likewise.
      	* config-lang(outputs): Specify ch/Makefile.
      
      gcc/po:
      	* Makefile.in.in: Add --define switch for xgettext.
      
      gcc/intl:
      	* Makefile.in: Add -DIN_GCC to DEFS, add appropriate -I switches.
      	* dcgettext.c: Define _GNU_SOURCE before any system header is
      	included. Guard getcwd declaration with HAVE_DECL_GETCWD.
      	* loadmsgcat.c (_nl_load_domain): Cast st.st_size in compaison to
      	size_t.
      	* localealias.c: Define _GNU_SOURCE before any system header is
      	included. Don't use return value of memcpy because it could be a
      	macro defined in terms of bcopy.
      	(read_alias_file): Remove HAVE_MEMCPY guard and just don't use the
      	return value of memcpy. Cast argument to fgets and strlen to char *.
      	* explodename.c (_nl_explode_name): Cast codeset to unsigned char **
      	in call to _nl_normalize_codeset.
      	* l10nflist.c: Define _GNU_SOURCE before any system header is
      	included.
      
      From-SVN: r34423
      Philipp Thomas committed
  7. 03 Jun, 2000 2 commits
    • * chill.texi (INFO-DIR-ENTRY): Fix chill entry. · 888457d7
      From-SVN: r34382
      Jeffrey A Law committed
    • alias.c (lang_get_alias_set): Remove. · 2e761e49
      gcc/
      	* alias.c (lang_get_alias_set): Remove.
      	(get_alias_set): Call it directly, not indirectly.
      	* c-common.c (lang_get_alias_set): Rename from c_get_alias_set.
      	* c-common.h (c_get_alias_set): Don't declare.
      	* c-decl.c (init_decl_processing): Don't set lang_get_alias_set.
      	* expr.h (lang_get_alias_set): Declare as function, not pointer.
      
      gcc/ch/
      	* lang.c (lang_get_alias_set): New.
      
      gcc/cp/
      	* decl.c (init_decl_processing): Don't set lang_get_alias_set.
      
      gcc/f/
      	* com.c (lang_get_alias_set): New.
      
      gcc/java/
      	* lang.c (lang_get_alias_set): New.
      
      From-SVN: r34368
      Richard Henderson committed
  8. 27 May, 2000 1 commit
    • tree.h (TREE_CODE_LENGTH): New macro. · 8d5e6e25
      	* tree.h (TREE_CODE_LENGTH): New macro.
      	* c-common.c (c_find_base_decl): Use it.
      	* expr.c (safe_from_p): Likewise.
      	* print-tree.c (print_node): Likewise.
      	* tree.c (make_node, copy_node, get_identifier): Likewie.
      	(first_rtl_op, contains_placeholder_p, substitute_in_expr): Likewise.
      	(build, build_nt, build_parse_node, simple_cst_equal): Likewise.
      	* fold-const.c (make_range): Likewise.
      	(fold): Likewise; also use first_rtl_op.
      	* c-iterate.c (collect_iterators): Use first_rtl_op.
      	* calls.c (calls_function_1): Likewise; also rename TYPE to CLASS.
      	Use IS_EXPR_CODE_CLASS.
      	(preexpand_calls): Likewise.
      	* ggc-common.c (ggc_mark_trees): Rework to use first_rtl_op
      	and TREE_CODE_LENGTH.
      	* stmt.c (warn_if_unused_value): If no operands, no unused value.
      	* ch/lang.c (deep_const_expr): Use first_rtl_op.
      	* ch/satisfy.c (satisfy): Use TREE_CODE_LENGTH.
      	* cp/method.c (mangle_expression): Use TREE_CODE_LENGTH.
      	* cp/tree.c (break_out_calls, build_min_nt): Use TREE_CODE_LENGTH.
      	(built_min, cp_tree_equal): Likewise.
      
      From-SVN: r34203
      Richard Kenner committed
  9. 18 May, 2000 1 commit
  10. 17 May, 2000 1 commit
  11. 09 May, 2000 1 commit
    • top level: · 3b304f5b
      	* Makefile.in (WARN_CFLAGS): Add -Wwrite-strings.
      	(tree.o): Depend on output.h.
      
      	* c-decl.c (pending_invalid_xref_file,
      	current_function_prototype_file): Constify.
      	(pushdecl): Constify a local char *.
      	(define_label): Constify filename parameter.
      	* c-lex.c (init_parse): Constify parameter and return value.
      	* c-typeck.c (c_expand_asm_operands): Constify filename parameter.
      	* c-tree.h: Update prototypes.
      	* c-parse.in: Constify filename member of %union, and if_stmt_file.
      	* c-parse.y, c-parse.c, c-parse.h, objc/objc-parse.y,
      	objc/objc-parse.c: Regenerate.
      
      	* dwarfout.c (dwarfout_init): Constify main_input_filename parameter.
      	* dwarfout.h: Update prototypes.
      	* expr.c (expand_expr): Constify a local char *.
      	* flags.h: Constify main_input_filename.
      	* function.c (expand_function_end): Constify filename parameter.
      	* genrecog.c (make_insn_sequence): Use a character array for
      	c_test_pos.
      	(main): Remove unused variables.
      	* input.h: Constify input_filename, main_input_filename, and
      	file_stack.name.  Update prototypes.
      	* output.h: Declare first_global_object_name and
      	weak_global_object_name here, as const char *.
      	* stmt.c (expand_asm_operands): Constify filename parameter.
      	* toplev.c (compile_file, push_srcloc, debug_start_source_file):
      	Constify filename parameter.
      	(input_filename, main_input_filename): Constify.
      	* toplev.h: Update prototypes.
      	* tree.c: Include output.h.  Don't declare
      	first_global_object_name or weak_global_object_name.  Clean up string
      	bashing in get_file_function_name_long.
      	* tree.h (struct tree_decl): Constify filename member.
      	(input_filename): Constify.
      	Update prototypes.
      	* varasm.c (first_global_object_name, weak_global_object_name):
      	Constify.
      	(assemble_start_function, assemble_variable): Clean up string bashing.
      
      	* gcc.c: Constify all spec-related strings initialized,
      	transitively, from string constants.  Constify all strings
      	and string variables related to multilibs.
      	(set_spec, read_specs): Cast argument to free to PTR.
      	(used_arg): Do not modify multilib_matches.  Use strncmp plus
      	length comparison to compare multilib switches.
      	* genmultilib: Constify everything declared in multilib.h.
      
      ch:
      	* ch-tree.h: Update prototypes.  Remove prototypes for
      	functions declared elsewhere.
      	* decl.c (define_label): Constify filename parameter.
      	* grant.c (globalize_decl, set_default_grant_file): Constify
      	local char * variables.  Don't declare
      	first_global_object_name or asm_out_file.
      	* lang.c (chill_real_input_filename): Constify.
      	* lex.c (init_parse): Constify parameter and return value.
      	* parse.c: Don't declare input_filename.
      	(ch_expand_asm_operands): Constify filename parameter.
      	(parse_multi_dimension_case_action): Constify local char *.
      	* satisfy.c (safe_satisfy_decl): Constify local char *.
      
      cp:
      	* cp-tree.h: Constify tree_srcloc.filename, tinst_level.file,
      	and pending_inline.filename.  Update prototypes.
      	* decl.c (define_label): Constify filename parameter.
      	* decl2.c (warn_if_unknown_interface): Constify local char *.
      	* input.c Constify input_source.filename. Don't declare
      	input_filename or lineno.  Constify filename parameter to feed_input.
      	* lex.c (init_parse): Constify parameter and return value.
      	(cp_pragma_interface, cp_pragma_implementation): Constify
      	filename argument.
      	(reinit_parse_for_method, reinit_parse_for_block,
      	reinit_parse_for_expr, feed_defarg, handle_cp_pragma):
      	Constify local char *.
      	* pt.c: Don't declare lineno or input_filename.
      	(print_template_context, tsubst_friend_function, tsubst_decl,
      	tsubst, instantiate_decl): Constify local char *.
      	* semantics.c (expand_body): Constify local char *.
      	* tree.c (build_srcloc): Constify filename parameter.
      	* typeck.c (c_expand_asm_operands): Constify filename
      	parameter.
      
      f:
      	* com.c (ffecom_subscript_check_): Constify array_name
      	parameter. Clean up string bashing.
      	(ffecom_arrayref_, ffecom_char_args_x_): Constify array_name
      	parameter.
      	(ffecom_do_entry_, ffecom_gen_sfuncdef_, ffecom_start_progunit_,
      	ffecom_sym_transform_, ffecom_sym_transform_assign_): Constify
      	local char *.
      	(init_parse): Constify parameter and return value.
      	* lex.c: Include dwarfout.h instead of prototyping dwarfout_*
      	functions here.
      	(ffelex_file_pop_, ffelex_file_push_): Constify filename parameter.
      	(ffelex_hash_, ffelex_include_): Constify local char *.
      	* std.c (ffestd_exec_end): Constify local char *.
      	* where.c (ffewhere_file_new): Constify filename parameter.
      	* where.h: Update prototypes.
      
      java:
      	* check_init.c (check_init): Constify local char *.
      	* class.c (push_class): Constify local char *.
      	* java_tree.h: Update prototypes.
      	* jcf-io.c (open_class): Constify filename parameter and
      	return value.
      	(find_class): Remove redundant string copy.  Cast return from
      	open_class.
      	* jcf-parse.c (read_class, parse_class_file, yyparse):
      	Constify local char *.
      	* jcf-write.c (generate_bytecode_insns, generate_classfile):
      	Constify local char *.
      	* jcf.h (JCF): Constify filename and classname.
      	(JCF_FINISH): Cast args to FREE to char * when appropriate.
      	* lang.c (init_parse): Constify parameter and return value.
      	* lex.c (java_get_line_col): Constify filename parameter.
      	* parse.h: Constify parser_ctxt.filename.  Update prototypes.
      	* parse.y (java_parser_context_suspend,
      	issue_warning_error_from_context, safe_layout_class): Constify
      	local char *.
      	* parse.c: Regenerate.
      
      From-SVN: r33804
      Zack Weinberg committed
  12. 04 May, 2000 1 commit
    • bb-reorder.c (get_next_bb_note, [...]): Prototype. · 36244024
      	* bb-reorder.c (get_next_bb_note, get_prev_bb_note): Prototype.
      
      	* diagnostic (vbuild_message_string, build_message_string,
      	build_location_prefix, output_get_prefix, init_output_buffer,
      	output_notice, vline_wrapper_message_with_location,
      	v_message_with_decl, default_print_error_function): De-constify.
      	(set_real_maximum_length): Prototype.
      
      	* diagnostic.h (struct output_buffer, init_output_buffer,
      	output_get_prefix, output_set_prefix): De-constify.
      
      	* function.c (init_function_start): Constify.
      
      	* gensupport.c (remove_constraints, process_rtx): Prototype.
      
      	* gthr-posix.h: Indent uses of #pragma.
      
      	* objc/objc-act.c (ggc_mark_imp_list, ggc_mark_hash_table):
      	Prototype.
      
      	* predict.c (find_expected_value): Delete prototype.
      	(expected_value_to_br_prob): Initialize variable `ev_reg'.
      
      	* sbitmap.h (debug_sbitmap): Prototype.
      
      	* ssa.c (compute_coalesced_reg_partition): Prototype.
      
      	* stor-layout.c (debug_rli): Prototype.
      
      	* tree.h (round_down): Prototype.
      	(init_function_start): Constify.
      
      ch:
      	* ch-tree.h (init_function_start): Constify.
      
      From-SVN: r33675
      Kaveh R. Ghazi committed
  13. 03 May, 2000 1 commit
    • Makefile.in (WARN_CFLAGS): Add -pedantic -Wno-long-long. · 6bed14c7
              * Makefile.in (WARN_CFLAGS): Add -pedantic -Wno-long-long.
              (LOOSE_CFLAGS): New: CFLAGS without -pedantic and -Wtraditional.
              (GCC_CFLAGS): Use it.
              (LANG_FLAGS_TO_PASS): New: SUBDIR_FLAGS_TO_PASS with LOOSE_CFLAGS.
              * cp/Make-lang.in, java/Make-lang.in, f/Make-lang.in, ch/Make-lang.in,
              objc/Make-lang.in: Use it.
      
      From-SVN: r33648
      Jason Merrill committed
  14. 18 Apr, 2000 1 commit
    • cccp.c, [...]: Removed. · 86702e31
      	* cccp.c, cexp.y, cexp.c, cccp.1: Removed.
      
      	* configure.in: Delete --disable-cpplib option and all
      	references to cpp_main.
      	* configure: Regenerate.
      	* Makefile.in: Remove all references to CCCP, CCCP_OBJS,
      	@cpp_main@, cccp.c, cexp.c, cexp.y, cexp.output, cexp.o,
      	cccp.o, cccp, or cppmain.  Link cppmain.o straight to
      	cpp$(exeext).  Add --no-headers to makeinfo command line when
      	generating INSTALL.  Install and uninstall cpp.1 manpage, not
      	cccp.1.
      	* install.texi: Delete all references to cexp.y/cexp.c.
      	Delete ancient instructions for compiling GCC on 3b1.
      	* INSTALL: Regenerate.
      
      	* cppfiles.c, cpplib.h, jump.c, protoize.c, c-lex.c,
      	ch/decl.c, ch/lex.c, cp/lex.c, f/lex.c, mips/t-ecoff,
      	mips/t-elf, mips/t-r3900: Remove references to cccp.c.
      	* convex.h, fx80.h, m68k.h, pdp11.h, contrib/gcc_update,
      	f/g77install.texi: Remove references to	cexp.c/cexp.y.
      	* xm-linux.h, xm-os2.h, romp.h: Remove definition of BSTRING,
      	which is no longer tested anywhere.
      
      	* po/POTFILES.in: Remove cccp.c and cexp.c.  Comment out
      	alpha/vms-tramp.asm.
      
      From-SVN: r33238
      Zack Weinberg committed
  15. 03 Apr, 2000 2 commits
  16. 30 Mar, 2000 1 commit
    • builtins.c (get_pointer_alignment): Use host_integerp & tree_low_cst. · 19caa751
      	* builtins.c (get_pointer_alignment): Use host_integerp & tree_low_cst.
      	(expand_builtin_apply): Pass alignment to emit_block_move in bits.
      	(expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
      	(expand_builtin_memset): Likewise, but to clear_storage.
      	* calls.c (save_fixed_argument_area): Likewise, to move_by_pieces.
      	(restore_fixed_argument_area): Likewise.
      	(store_unaligned_arguments_into_pseudos): Likewise, to store_bit_field.
      	(load_register_parameters): Likewise, to emit_group_load.
      	(expand_call): Likewise, to emit_group_store and emit_block_move.
      	(emit_library_call_value_1): Likewise, to emit_block_move.
      	(store_one_arg): Likewise, and to emit_push_insn.
      	* expmed.c (extract_bit_field): Alignment is in bits, not bytes.
      	(extract_fixed_bit_field, extract_split_bit_field): Likewise.
      	* expr.c (move_by_pieces, move_by_pieces_ninsns): Likewise.
      	(emit_block_move, emit_group_load, emit_group_store): Likewise.
      	(clear_by_pieces, clear_storage, emit_push_insn): Likewise.
      	(expand_assigment, store_expr, store_constructor_field): Likewise.
      	(expand_expr_unaligned, do_jump, do_compare_and_jump): Likewise.
      	(store_constructor, store_field, get_inner_reference): Likewise.
      	Use host_integerp and tree_low_cst; sizes and positions HOST_WIDE_INT.
      	(expand_expr, case COMPONENT_REF): Likewise.
      	(copy_blkmode_from_regs): Use UNSIGNED_HOST_WIDE_INT for sizes
      	and positions; reindent code.
      	* expr.h (emit_cmp_insn, emit_cmp_and_jump_insns): Alignment unsigned.
      	* function.c (purge_addressof_1): Pass bit align to store_bit_field.
      	(assign_parms): Likewise to emit_group_store.
      	* optbas.c (prepare_cmp_insn): Alignment is in bits.
      	(emit_cmp_and_jump_insns, emit_cmp_insn): Likewise, and also unsigned.
      	* stmt.c (expand_value_return): Pass align in bits to emit_group_load.
      	(expand_return): Likewise to {extract,store}_bit_field.
      	* stor-layout.c (get_mode_alignment): Minor cleanup.
      	* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Align is in bits.
      	* config/sh/sh.h (MOVE_BY_PIECES_P): Likewise.
      	* ch/expr.c (chill_expand_expr): Pass bit alignment to emit_block_move.
      
      From-SVN: r32827
      Richard Kenner committed
  17. 25 Mar, 2000 1 commit
    • * Rework fields used to describe positions of bitfields and · 770ae6cc
      	modify sizes to be unsigned and use HOST_WIDE_INT.
      	* alias.c (reg_known_value_size): Now unsigned.
      	* c-typeck.c (build_unary_op, case ADDR_EXPR): Use byte_position.
      	(really_start_incremental_init): Use bitsize_zero_node.
      	(push_init_level, pop_init_level, output_init_element): Likewise.
      	Use bitsize_unit_node and bitsize_one_node.
      	(output_pending_init_elements, process_init_element): Likewise.
      	* combine.c (combine_max_regno, reg_sign_bit_copies): Now unsigned.
      	(make_extraction): Position and length HOST_WIDE_INT and unsigned
      	HOST_WIDE_INT, respectively.
      	(get_pos_from_mask): Passed in value is unsigned HOST_WIDE_INT.
      	(num_sign_bit_copies): Returns unsigned.
      	BITWIDTH now unsigned; rework arithmetic.
      	Remove recursive call from arg to MAX.
      	(combine_instructions, init_reg_last_arrays): NREGS now unsigned.
      	(setup_incoming_promotions, can_combine_p, try_combine, simplify_set):
      	REGNO now unsigned.
      	(set_nonzero_bit_and_sign_copies): NUM now unsigned.
      	(find_split_point, expand_compound_operation, make_extraction): LEN
      	now unsigned HOST_WIDE_INT, POS now HOST_WIDE_INT.
      	(make_field_assignment): Likewise.
      	(combine_simplify_rtx): Add cast.
      	(expand_compound_operation): MODEWIDTH now unsigned; rework arithmetic.
      	(force_to_mode): WIDTH now unsigned; add cast.
      	(if_then_else_cond): SIZE now unsigned.
      	(nonzero_bits): MODE_WIDTH, RESULT_WIDTH, and WIDTH now unsigned.
      	(extended_count): Now returns unsigned.
      	(simplify_shift_const): COUNT unsigned; arg is now INPUT_COUNT.
      	Add SIGNED_COUNT variable; MODE_WORDS and FIRST_COUNT now unsigned.
      	(simplify_comparison): MODE_WIDTH now unsigned.
      	(update_table_tick): REGNO and ENDREGNO now unsigned; new var R.
      	(mark_used_regs_combine): Likewise; rework arithmetic.
      	(record_value_for_reg): REGNO, ENDREGNO, and I now unsigned.
      	(record_dead_and_set_regs, reg_dead_at_p, distribute_notes): Likewise.
      	(record_promoted_value): REGNO now unsigned.
      	(get_last_value_validate): REGNO, ENDREGNO, and J now unsigned.
      	(get_last_value): REGNO now unsigned.
      	(use_crosses_set_p): REGNO and ENDREGNO now unsigned.
      	(reg_dead_regno, reg_dead_endregno): Now unsigned.
      	(remove_death): Arg REGNO now unsigned.
      	(move_deaths):  REGNO, DEADREGNO, DEADEND, OUREND, and I now unsigned.
      	(reg_bitfield_target_p): REGNO, REGNO, ENDREGNO, and ENDTREGNO
      	now unsigned.
      	* convert.c (convert_to_integer): INPREC and OUTPREC now unsigned.
      	* cse.c (struct qty_table_elem): FIRST_REG and LAST_REG now unsigned.
      	(struct cse_reg_info): REGNO now unsigned.
      	(cached_regno): Now unsigned.
      	(REGNO_QTY_VALID_P): Add cast.
      	(make_new_qty, make_regs_eqv, delete_reg_eqiv): Regno args unsigned.
      	(remove_invalid_regs): Likewise.
      	(remove_invalid_subreg_refs): Likewise; arg WORD also unsigned
      	as are variables END and I.
      	(get_cse_reg_info, insert): Likewise.
      	(mention_regs, invalidate_for_call): REGNO, ENDREGNO, and I unsigned.
      	(canon_hash): Likewise.
      	(insert_regs, lookup_for_remove): REGNO now unsigned.
      	(invalidate): REGNO, ENDREGNO, TREGNO, and TENDREGNO now unsigned.
      	New variable RN.
      	* dbxout.c (dbxout_parms, dbxout_reg_parms): Don't check for REGNO < 0.
      	* dwarf2out.c (dwarf2ou_frame_debug_expr): Remove cast.
      	* emit-rtl.c (subreg_realpart_p): Add cast.
      	(operand_subword): Arg I is now unsigned as is var PARTWORDS.
      	(operand_subword_force): Arg I is now unsigned.
      	* except.c (eh_regs): Variable I is now unsigned.
      	* explow.c (hard_function_value): BYTES is unsigned HOST_WIDE_INT.
      	* expmed.c (store_fixed_bit_field): Position is HOST_WIDE_INT;
      	length is unsigned HOST_WIDE_INT; likewise for internal variables.
      	(store_split_bit_field, extract_fixed_bit_field): Likewise.
      	(extract_split_bit_field, store_bit_field, extract_bit_field):
      	Likewise.
      	* expr.c (store_constructor_fields, store_constructor, store_field):
      	Positions are HOST_WIDE_INT and lengths are unsigned HOST_WIDE_INT.
      	(expand_assignment, expand_expr, expand_expr_unaligned): Likewise.
      	(do_jump): Likewise.
      	(move_by_pieces, move_by_pieces_ninsns, clear_by_pieces):
      	MAX_SIZE is now unsigned.
      	(emit_group_load): BYTEPOS is HOST_WIDE_INT; BYTELEN is unsigned.
      	(emit_group_store): Likewise.
      	(emit_move_insn): I now unsigned.
      	(store_constructor): Use host_integerp, tree_low_cst, and
      	bitsize_unit_node.
      	(get_inner_reference): Return bitpos and bitsize as HOST_WIDE_INT.
      	Rework all calculations to use trees and new fields.
      	* expr.h (promoted_input_arg): Regno now unsigned.
      	(store_bit_field, extract_bit_field): Adjust types of pos and size.
      	(mark_seen_cases): Arg is HOST_WIDE_INT.
      	* flow.c (verify_wide_reg_1): REGNO now unsigned.
      	* fold-const.c (decode_field_reference): Size and pos HOST_WIDE_INT;
      	precisions and alignments are unsigned.
      	(optimize_bit_field_compare, fold_truthop): Likewise.
      	(int_const_binop): Adjust threshold for size_int_type_wide call.
      	(fold_convert): Likewise.
      	(size_int_type_wide): Make table larger and fix thinko that only
      	had half of table used.
      	(all_ones_mask_p, fold): Precisions are unsigned.
      	* function.c (put_reg_info_stack): REGNO is unsigned.
      	(instantiate_decl): Size is HOST_WIDE_INT.
      	(instantiate_virtual_regs): I is unsigned.
      	(assign_parms): REGNO, REGNOI, and REGNOR are unsigned.
      	(promoted_input_arg): REGNO is unsigned.
      	* function.h (struct function): x_max_parm_reg is now unsigned.
      	* gcse.c (max_gcse_regno): Now unsigned.
      	(struct null_pointer_info): min_reg and max_reg now unsigned.
      	(lookup_set, next_set): REGNO arg now unsigned.
      	(compute_hash_table): REGNO and I now unsigned.
      	(handle_avail_expr): regnum_for_replacing now unsigned.
      	(cprop_insn): REGNO now unsigned.
      	(delete_null_pointer_checks_1): BLOCK_REG now pointer to unsigned.
      	* ggc-common.c (ggc_mark_tree_children, case FIELD_DECL): New case.
      	* global.c (set_preference): SRC_REGNO, DEST_REGNO, and I now unsigned.
      	* hard-reg-set.h (reg_class_size): Now unsigned.
      	* integrate.c (mark_stores): LAST_REG and I now unsigned; new UREGNO.
      	* jump.c (mark_modified_reg): I now unsigned; add cast.
      	(rtx_equal_for_thread_p): Add cast.
      	* loop.c (max_reg_before_loop): Now unsigned.
      	(struct_movable): REGNO now unsigned.
      	(try_copy_prop): REGNO arg unsigned.
      	(regs_match_p): XN and YN now unsigned.
      	(consec_sets_invariant_p, maybe_eliminate_biv): REGNO now unsigned.
      	(strength_reduce): Likewise; NREGS also unsigned.
      	(first_increment_giv, last_increment_giv unsigned): Now unsigned.
      	* loop.h (struct iv_class): REGNO now unsigned.
      	(max_reg_before_loop, first_increment_giv, last_increment_giv):
      	Now unsigned.
      	* machmode.h (mode_size, mode_unit_size): Now unsigned.
      	(mode_for_size, smallest_mode_for_size): Pass size as unsigned.
      	* optabs.c (expand_binop): I and NWORDS now unsigned.
      	(expand_unop): I now unsigned.
      	* print-tree.c (print_node): Don't print DECL_FIELD_BITPOS, but do
      	print DECL_FIELD_OFFSET and DECL_FIELD_BIT_OFFSET.
      	* real.c (significand_size): Now returns unsigned.
      	* real.h (significand_size): Likewise.
      	* regclass.c (reg_class_size): Now unsigned.
      	(choose_hard_reg_mode): Both operands now unsigned.
      	(record_reg_classes): REGNO and NR now unsigned.
      	(reg_scan): NREGS now unsigned.
      	(reg_scan_update): old_max_regno now unsigned.
      	(reg_scan_mark_refs): Arg MIN_REGNO and var REGNO now unsigned.
      	* reload.c (find_valid_class): BEST_SIZE now unsigned.
      	(find_dummy_reload): REGNO, NWORDS, and	I now unsigned.
      	(hard_reg_set_here_p): Args BEG_REGNO and END_REGNO now unsigned.
      	Likewise for variable R.
      	(refers_to_regno_for_reload_p): Args REGNO and END_REGNO now unsigned,
      	as are variables INNER_REGNO and INNER_ENDREGNO; add new variable R.
      	(find_equiv_reg): Add casts.
      	(regno_clobbered_p): Arg REGNO now unsigned.
      	* reload.h (struct reload): NREGS now unsigned.
      	(refers_to_regno_for_reload_p): Regno args are unsigned.
      	(regno_clobbered_p): Likewise.
      	* reload1.c (reg_max_ref_width, spill_stack_slot_width): Now unsigned.
      	(compute_use_by_pseudos): REGNO now unsigned.
      	(find_reg): I and J now unsigned, new variable K, and change loop
      	variables accordingly; THIS_NREGS now unsigned.
      	(alter_reg): INHERENT_SIZE and TOTAL_SIZE now unsigned.
      	(spill_hard_reg): REGNO arg now unsigned; add casts.
      	(forget_old_reloads_1): REGNO, NR, and I now unsigned.
      	(mark_reload_reg_in_use): Arg REGNO and vars NREGS and I now unsigned.
      	(clear_reload_reg_in_use): Arg REGNO and vars NREGS, START_REGNO,
      	END_REGNO, CONFLICT_START, and CONFLICT_END now unsigned.
      	(reload_reg_free_p, reload_reg_reaches_end_p): Arg REGNO now unsigned.
      	(choose_reload_regs): MAX_GROUP_SIZE now unsigned.
      	(emit_reload_insns): REGNO now unsigned.
      	(reload_cse_move2add): Add cast.
      	(move2add_note_store): REGNO and I now unsigned; new variable ENDREGNO
      	and rework loop.
      	* resource.c (mark_referenced_resources, mark_set_resources): New
      	variable R; REGNO and LAST_REGNO now unsigned.
      	(mark_target_live_regs): J and REGNO now unsigned.
      	* rtl.c (mode_size, mode_unit_size): Now unsigned.
      	* rtl.h (union rtunion_def): New field rtuint.
      	(XCUINT): New macro.
      	(ADDRESSOF_REGNO, REGNO, SUBREG_WORD): New XCUINT.
      	(operand_subword, operand_subword_force): Word number is unsigned.
      	(choose_hard_reg_mode): Operands are unsigned.
      	(refers_to-regno_p, dead_or_set_regno_p): Regno arg is unsigned.
      	(find_regno_note, find_regno_fusage, replace_regs): Likewise.
      	(regno_use_in, combine_instructions, remove_death): Likewise.
      	(reg_scan, reg_scan_update): Likewise.
      	(extended_count): Return is unsigned.
      	* rtlanal.c (refers_to_regno_p): Args REGNO and ENDREGNO and vars I,
      	INNER_REGNO, and INNER_ENDREGNO now unsigned; new variable X_REGNO.
      	(reg_overlap_mentioned_p): REGNO and ENDREGNO now unsigned.
      	(reg_set_last_first_regno, reg_set_last_last_regno): Now unsigned.
      	(reg_reg_last_1): FIRS and LAST now unsigned.
      	(dead_or_set_p): REGNO, LAST_REGNO, and I now unsigned.
      	(dead_or_set_regno_p): Arg TEST_REGNO and vars REGNO and ENDREGNO
      	now unsigned.
      	(find_regno_note, regno_use_in): Arg REGNO now unsigned.
      	(find_regno_fusage): Likewise; also var REGNOTE now unsigned.
      	(find_reg_fusage): Variables REGNO, END_REGNO, and I now unsigned.
      	(replace_regs): Arg NREGS now unsigned.
      	* sdbout.c (sdbout_parms, sdbout_reg_parms): Don't check REGNO < 0.
      	* simplify-rtx.c (simplify_unary_operation): WIDTH now unsigned.
      	(simplify_binary_operation): Likewise.
      	(cselib_invalidate_regno): Arg REGNO and variables ENDREGNO, I, and
      	THIS_LAST now unsigned.
      	(cselib_record_set): Add cast.
      	* ssa.c (ssa_max_reg_num): Now unsigned.
      	(rename_block): REGNO now unsigned.
      	* stmt.c (expand_return): Bit positions unsigned HOST_WIDE_INT;
      	sizes now unsigned.
      	(all_cases_count): Just return -1 not -2.
      	COUNT, MINVAL, and LASTVAL now HOST_WIDE_INT.
      	Rework tests to use trees whenever possible.
      	Use host_integerp and tree_low_cst.
      	(mark_seen_cases): COUNT arg now HOST_WIDE_INT;
      	Likewise variable NEXT_NODE_OFFSET; XLO now unsigned.
      	(check_for_full_enumeration_handing): BYTES_NEEDED, I to HOST_WIDE_INT.
      	* stor-layout.c (mode_for_size): SIZE arg now unsigned.
      	(smallest_mode_for_size): Likewise.
      	(layout_decl): Simplify handing of a specified DECL_SIZE_UNIT.
      	KNOWN_ALIGN is now an alignment, so simplify code.
      	Don't turn off DECL_BIT_FIELD if field is BLKmode, but not type.
      	(start_record_layout): Renamed from new_record_layout_info.
      	Update to new fields.
      	(debug_rli, normalize_rli, rli_size_unit_so_far, rli_size_so_far):
      	New functions.
      	(place_union_field): Renamed from layout_union_field.
      	Update to use new fields in rli.
      	(place_field): Renamed from layout_field.
      	Major rewrite to use new fields in rli; pass alignment to layout_decl.
      	(finalize_record_size): Rework to use new fields in rli and handle
      	union.
      	(compute_record_mode): Rework to simplify and to use new DECL fields.
      	(finalize_type_size): Make rounding more consistent.
      	(finish_union_layout): Deleted.
      	(layout_type, case VOID_TYPE): Don't set TYPE_SIZE_UNIT either.
      	(layout_type, case RECORD_TYPE): Call new function names.
      	(initialize_sizetypes): Set TYPE_IS_SIZETYPE.
      	(set_sizetype): Set TYPE_IS_SIZETYPE earlier.
      	(get_best_mode): UNIT is now unsigned; remove casts.
      	* tree.c (bit_position): Compute from new fields.
      	(byte_position, int_byte_position): New functions.
      	(print_type_hash_statistics): Cast to remove warning.
      	(build_range_type): Use host_integerp and tree_low_cst to try to hash.
      	(build_index_type): Likewise; make subtype of sizetype.
      	(build_index_2_type): Pass sizetype to build_range_type.
      	(build_common_tree_nodes): Use size_int and bitsize_int to
      	initialize nodes; add bitsize_{zero,one,unit}_node.
      	* tree.h (DECL_FIELD_CONTEXT): Use FIELD_DECL_CHECK.
      	(DECL_BIT_FIELD_TYPE, DECL_QUALIFIER, DECL_FCONTEXT): Likewise.
      	(DECL_PACKED, DECL_BIT_FIELD): Likewise.
      	(DECL_FIELD_BITPOS): Deleted.
      	(DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET): New fields.
      	(DECL_RESULT, DECL_SAVED_INSNS): Use FUNCTION_DECL_CHECK.
      	(DECL_FRAME_SIZE, DECL_FUNCTION_CODE, DECL_NO_STATIC_CHAIN): Likewise.
      	(DECL_INLINE, DECL_BUILT_IN_NONANSI, DECL_IS_MALLOC): Likewise.
      	(DECL_BUILT_IN_CLASS, DECL_STATIC_CONSTRUCTOR): Likewise.
      	(DECL_STATIC_DESTRUCTOR, DECL_NO_CHECK_MEMORY_USAGE): Likewise.
      	(DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT, DECL_NO_LIMIT_STACK) Likewise.
      	(DECL_ORIGINAL_TYPE, TYPE_DECL_SUPPRESS_DEBUG): Use TYPE_DECL_CHECK.
      	(DECL_ARG_TYPE_AS_WRITEN, DECL_ARG_TYPE): Use PARM_DECL_CHECK.
      	(DECL_INCOMING_RTL, DECL_TRANSPARENT_UNION): Likewise.
      	(DECL_ALIGN): Adjust to new field in union.
      	(DECL_OFFSET_ALIGN): New field.
      	(DECL_ERROR_ISSUED, DECL_TOO_LATE): Use LABEL_DECL_CHECK.
      	(DECL_IN_TEXT_SECTION): Use VAR_DECL_CHECK.
      	(union tree_decl): Add struct for both aligns.
      	(enum tree_index): Add TI_BITSIZE_{ZERO,ONE,UNIT}.
      	(bitsize_zero_node, bitsize_one_node, bitsize_unit_node): Added.
      	(struct record_layout_info): Rework fields to have offset
      	alignment and byte and bit position.
      	(start_record_layout, place_field): Renamed from old names.
      	(rli_size_so_far, rli_size_unit_so_far, normalize_rli): New decls.
      	(byte_position, int_byte_position): Likewise.
      	(get_inner_reference): Change types of position and length.
      	* unroll.c (unroll_loop): New variable R; use for some loops.
      	MAX_LOCAL_REGNUM and MAXREGNUM now unsigned.
      	(calculate_giv_inc): Arg REGNO now unsigned.
      	(copy_loop_body): REGNO and SRC_REGNO now unsigned.
      	* varasm.c (assemble_variable): Clean up handling of size using
      	host_integerp and tree_low_cst.
      	(decode_addr_const): Use byte, not bit, position.
      	(output_constructor): bitpos and offsets are HOST_WIDE_INT;
      	use tree_low_cst and int_bit_position.
      	* objc/objc-act.c (build_ivar_list_initializer): Use byte_position.
      	* ch/actions.c (check_missing_cases): BYTES_NEEDED is HOST_WIDE_INT.
      	* ch/typeck.c (expand_constant_to_buffer): Use int_byte_position.
      	(extract_constant_from_buffer): Likewise.
      	* cp/class.c (build_vbase_pointer_fields): layout_field now
      	place_field.
      	(get_vfield_offset): Use byte_position.
      	(set_rtti_entry): Set OFFSET to ssizetype zero.
      	(get_binfo_offset_as_int): Deleted.
      	(dfs_record_base_offsets): Use tree_low_cst.
      	(dfs_search_base_offsets): Likewise.
      	(layout_nonempty_base_or_field): Reflect changes in RLI format
      	and call byte_position.
      	(layout_empty_base): Convert offset to ssizetype.
      	(build_base_field): use rli_size_unit_so_far.
      	(dfs_propagate_binfo_offsets): Do computation in proper type.
      	(layout_virtual_bases): Pass ssizetype to propagate_binfo_offsets.
      	(layout_class_type): Reflect changes in RLI names and fields.
      	(finish_struct_1): Set DECL_FIELD_OFFSET.
      	* cp/dump.c (dequeue_and_dump): Call bit_position.
      	* cp/expr.c (cplus_expand_constant): Use byte_position.
      	* cp/rtti.c (expand_class_desc): Use bitsize_one_node.
      	* cp/typeck.c (build_component_addr): Use byte_position and don't
      	special case for zero offset.
      	* f/com.c (ffecom_tree_canonize_ptr_): Use bitsize_zero_node.
      	(ffecom_tree_canonize_ref_): Likewise.
      	* java/class.c (make_field_value): Use byte_position.
      	* java/expr.c (JAVA_ARRAY_LENGTH_OFFSET): Use byte_position.
      	(java_array_data_offset): Likewise.
      	* java/java-tree.h (MAYBE_CREATE_TYPE_TYPE_LANG_SPECIFIC): Add case to
      	bzero call.
      
      From-SVN: r32742
      Richard Kenner committed
  18. 17 Mar, 2000 1 commit
    • * Clean up usages of TREE_INT_CST_LOW. · 665f2503
      	* 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.
      
      From-SVN: r32607
      Richard Kenner committed
  19. 07 Mar, 2000 2 commits
    • rtl.h (rtunion_def): Constify member `rtstr'. · 3cce094d
      	* rtl.h (rtunion_def): Constify member `rtstr'.
      	(emit_line_note_after, emit_line_note, emit_line_note_force,
      	emit_note, decode_asm_operands): Constify.
      
      	* cse.c (canon_hash): Likewise.
      
      	* dbxout.c (dbxout_block): Likewise.
      
      	* diagnostic.c (file_and_line_for_asm, v_error_for_asm,
      	v_warning_for_asm): Likewise.
      
      	* dwarfout.c (function_start_label): Likewise.
      
      	* emit-rtl.c (emit_line_note_after, emit_line_note, emit_note,
      	emit_line_note_force): Likewise.
      
      	* final.c (last_filename, asm_insn_count, final_scan_insn,
      	output_source_line): Likewise.
      
      	* function.h (struct emit_status): Likewise.
      
      	* gcse.c (hash_expr_1): Likewise.
      
      	* genattr.c (gen_attr, main): Likewise.
      
      	* genattrtab.c (struct function_unit, current_alternative_string,
      	write_attr_valueq, n_comma_elts, next_comma_elt, attr_eq,
      	attr_numeral, check_attr_test, check_attr_value,
      	convert_set_attr_alternative, convert_set_attr,
      	compute_alternative_mask, simplify_by_exploding, gen_attr,
      	gen_unit): Likewise.
      
      	* genflags.c (gen_insn): Likewise.
      
      	* gengenrtl.c (type_from_format): Likewise.
      
      	* genopinit.c (gen_insn): Likewise.
      
      	* genoutput.c (n_occurrences, process_template, process_template):
      	Likewise.
      
      	* ggc-page.c (ggc_set_mark, ggc_mark_if_gcable, ggc_get_size):
      	Likewise.
      
      	* ggc-simple.c (ggc_set_mark, ggc_mark_if_gcable, ggc_get_size):
      	Likewise.
      
      	* ggc.h (ggc_mark_string, ggc_mark, ggc_mark_if_gcable,
      	ggc_set_mark, ggc_get_size): Likewise.
      
      	* objc/objc-act.c (build_module_descriptor, finish_objc): Likewise.
      
      	* optabs.c (init_one_libfunc): Likewise.
      
      	* output.h (assemble_start_function): Likewise.
      
      	* recog.c (decode_asm_operands): Likewise.
      
      	* toplev.c (rest_of_compilation): Likewise.
      
      	* tree.h (emit_line_note_after, emit_line_note,
      	emit_line_note_force): Likewise.
      
      	* varasm.c (asm_output_bss, asm_output_aligned_bss,
      	asm_emit_uninitialised, assemble_start_function,
      	assemble_variable, const_hash, compare_constant_1,
      	find_pool_constant, mark_constant_pool, assemble_alias): Likewise.
      
      	* xcoffout.h (DBX_FINISH_SYMBOL): Likewise.
      
      	* alpha/alpha.md (call_vms, call_value_vms): Likewise.
      
      	* arm/aof.h (ASM_OUTPUT_ASCII): Likewise.
      
      	* arm/aout.h (ASM_OUTPUT_ASCII): Likewise.
      
      	* arm/arm-protos.h (output_ascii_pseudo_op, arm_dllexport_name_p,
      	arm_dllimport_name_p): Likewise.
      
      	* arm/arm.c (arm_encode_call_attribute, output_ascii_pseudo_op):
      	Likewise.
      
      	* arm/arm.h (ASM_OUTPUT_MI_THUNK): Likewise.
      
      	* arm/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
      
      	* arm/pe.c (arm_dllexport_name_p, arm_dllimport_name_p,
      	arm_mark_dllexport, arm_mark_dllimport,
      	arm_pe_encode_section_info): Likewise.
      
      	* arm/telf.h (ASM_OUTPUT_DEF_FROM_DECLS,
      	ASM_FINISH_DECLARE_OBJECT): Likewise.
      
      	* arm/thumb.c (thumb_function_prologue): Likewise.
      
      	* arm/thumb.h (ASM_OUTPUT_ASCII): Likewise.
      
      	* avr/avr.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
      
      	* clipper/clix.h (ASM_OUTPUT_ASCII): Likewise.
      
      	* fx80/fx80.h (ASM_OUTPUT_ASCII): Likewise.
      
      	* i386/cygwin.h (ASM_OUTPUT_SECTION_NAME): Likewise.
      
      	* i386/freebsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
      
      	* i386/i386-interix.h (ASM_OUTPUT_LIMITED_STRING,
      	ASM_OUTPUT_ASCII, ASM_OUTPUT_SECTION_NAME): Likewise.
      
      	* i386/i386-protos.h (asm_output_function_prefix): Likewise.
      
      	* i386/i386.c (asm_output_function_prefix): Likewise.
      
      	* i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise.
      
      	* i386/osfrose.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
      
      	* i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise.
      
      	* i386/sco5.h (ASM_FINISH_DECLARE_OBJECT,
      	ASM_OUTPUT_LIMITED_STRING, ASM_OUTPUT_ASCII,
      	ASM_OUTPUT_SECTION_NAME): Likewise.
      
      	* i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise.
      
      	* i860/paragon.h (ASM_OUTPUT_ASCII): Likewise.
      
      	* i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise.
      
      	* m32r/m32r.c (m32r_encode_section_info): Likewise.
      
      	* mcore-elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
      
      	* mcore/mcore.c (mcore_encode_section_info): Likewise.
      
      	* mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
      
      	* mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
      
      	* mips/iris6.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
      
      	* mips/mips.h (ASM_OUTPUT_IDENT): Likewise.
      
      	* mips/mips.md (movdi, movsi): Likewise.
      
      	* mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
      
      	* netbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
      
      	* openbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
      
      	* ptx4.h (ASM_FINISH_DECLARE_OBJECT, ASM_OUTPUT_LIMITED_STRING,
      	ASM_OUTPUT_ASCII): Likewise.
      
      	* rs6000/rs6000.c (rs6000_allocate_stack_space, output_epilog,
      	output_mi_thunk, output_toc): Likewise.
      
      	* rs6000/rs6000.md (movsi): Likewise.
      
      	* rs6000/sysv4.h (ASM_OUTPUT_INT, ASM_OUTPUT_SECTION_NAME): Likewise.
      
      	* tahoe/harris.h (ASM_OUTPUT_ASCII): Likewise.
      
      	* v850/v850.c (print_operand, print_operand_address,
      	v850_encode_data_area): Likewise.
      
      ch:
      	* grant.c (globalize_decl): Constify a char*.
      
      cp:
      	* decl2.c (finish_objects): Constify a char*.
      
      	* method.c (emit_thunk): Likewise.
      
      From-SVN: r32388
      Kaveh R. Ghazi committed
    • tree.h (INT_CST_LT, [...]): Remove unneeded casts. · 05bccae2
      	* tree.h (INT_CST_LT, INT_CST_LT_UNSIGNED): Remove unneeded casts.
      	(struct tree_int_cst): int_cst_low is now unsigned HOST_WIDE_INT.
      	(attribute_hash_list, type_hash_canon): hashcode is now unsigned.
      	(type_hash_lookup, type_hash_add, type_hash_list): Likewise.
      	(min_precision): Result is unsignd.
      	(add_double, neg_double, mul_double): Low word is unsigned.
      	(lshift_double, rshift_double, lrotate_double): Likewise.
      	(rrotate_double, div_and_round_double): Likewise.
      	(tree_floor_log2, compare_tree_int): New functions.
      	(preserve_rtl_expr_temps): New declaration.
      	* c-common.c (declare_hidden_char_array): Use compare_tree_int.
      	(decl_attributes): Use tree_log2 to find alignment.
      	Check for TREE_INT_CST_HIGH for format args.
      	(min_precision): Now unsigned.
      	Use tree_floor_log2.
      	(truthvalue_conversion): Delete long-disabled code.
      	* c-decl.c (finish_struct): Clean up tests on field width.
      	(finish_function): Use compare_tree_int.
      	* c-pragma.c (handle_pragma_token): Use tree_log2 for alignment.
      	* c-typeck.c (comptypes): Use tree_int_cst_equal.
      	(default_conversion, digest_init): Use compare_tree_int.
      	(build_binary_op): Use integer_all_onesp and compare_tree_int.
      	Fix type errors in forming masks.
      	* calls.c (initialize_argument_information): Use compare_tree_int.
      	* dbxout.c (dbxout_type): Cast TREE_INT_CST_LOW to HOST_WIDE_INT.
      	* except.c (expand_eh_region_start_tree): Use compare_tree_int.
      	* expr.c (is_zeros_p, case INTEGER_CST): Use integer_zerop.
      	(store_field): Use compare_tree_int.
      	(expand_expr, case CONSTRUCTOR): Use TYPE_SIZE_UNIT.
      	(expand_expr, case ARRAY_REF): Use compare_tree_int.
      	(do_jump, case BIT_AND_EXPR): Use tree_floor_log2.
      	(do_store_flag): Use compare_tree_int.
      	* fold-const.c (encode, decode): Low part is always unsigned.
      	(force_fit_type, add_double, neg_double, mul_double): Likewise.
      	(lshift_double, rshift_double, lrotate_double): Likewise.
      	(rrotate_double, div_and_round_double, int_const_binop): Likewise.
      	(fold_convert): Use compare_tree_int.
      	(operand_equal_p, case INTEGER_CST): Use tree_int_cst_equal.
      	(invert_truthvalue, case INTEGER_CST): Likewise.
      	(fold): Use compare_tree_int; add casts for unsigned TREE_INT_CST_LOW.
      	* mkdeps.c (deps_dummy_targets): Make I unsigned.
      	* rtl.h (add_double, neg_double, mul_double): Low words are unsigned.
      	(lshift_double, rshift_double, lrotate_double, rrotate_double):
      	Likewise.
      	* stmt.c (expand_decl): Use compare_tree_int and mode_for_size_tree.
      	(expand_end_case): Use compare_tree_int.
      	(estimate_case_costs): Cast TREE_INT_CST_LOW to HOST_WIDE_INT.
      	* stor-layout.c (mode_for_size_tree): Use compare_tree_int.
      	(layout_decl): Likewise.
      	(layout_record, layout_union): Make sizes unsigned.
      	(layout_type, case VOID_TYPE): TYPE_SIZE must be bitsizetype.
      	(layout_type, case QUAL_UNION_TYPE): Use compare_tree_int.
      	* tree.c (struct type_hash): hashcode is unsigned.
      	(build_type_attribute_variant, type_hash_list): Likewise.
      	(type_hash_lookup, type_hash_add, type_hash_canon): Likewise.
      	(attribute_hash_list, build_array_type, build_method_type): Likewise.
      	(build_complex_type): Likewise.
      	(real_value_from_int_cst): Remove unneeded casts.
      	(integer_all_onesp): Add casts.
      	(tree_floor_log2, compare_tree_int): New functions.
      	(build_index_type): Use tree_int_cst_sgn.
      	* varasm.c (assemble_variable): Use compare_tree_int.
      	* ch/actions.c (chill_convert_for_assignment): INDEX is unsigned
      	HOST_WIDE_INT.
      	* ch/ch-tree.h (DECL_NESTING_LEVEL): Use TREE_INT_CST_HIGH
      	since unsigned.
      	* ch/except.c (chill_handle_on_labels): ALTERNATIVE is unsigned.
      	Use compare_tree_int.
      	(expand_goto_except_cleanup): Likewise.
      	* cp/class.c (dfs_modify_vtables): I is now unsigned.
      	(check_bitfield_decl): Use tree_int_cst_sgn and compare_tree_int.
      	(build_base_field): Add casts of TREE_INT_CST_LOW to HOST_WIDE_INT.
      	* cp/error.c (dump_expr): Cast TREE_INT_CST_HIGH to unsigned.
      	* cp/init.c (build_vec_init): Cast TREE_INT_CST_LOW to HOST_WIDE_INT.
      	* cp/method.c (build_overload_int): Cast TREE_INT_CST_HIGH to unsigned.
      	* cp/typeck.c (build_binary_op, case TRUNC_DIV_EXPR):
      	Call integer_all_onesp.
      	* cp/typeck2.c (process_init_constructor): Use compare_tree_int.
      	* f/com.c (ffecom_f2c_set_lio_code_): Use compare_tree_int.
      	(ffecom_sym_transform_, ffecom_transform_common_): Likewise.
      	(ffecom_transform_equiv_): Likewise.
      	* java/decl.c (emit_init_test_initialization): Mark KEY as unused.
      	* java/expr.c (build_newarray): Cast TREE_INT_CST_LOW to HOST_WIDE_INT.
      	(build_anewarray): Likewise.
      	* java/parse.y (patch_newarray): Likewise.
      	* java/parse.c: Regenerated.
      
      From-SVN: r32383
      Richard Kenner committed
  20. 29 Feb, 2000 2 commits
    • c-decl.c (current_function_decl): Move to toplev.c. · 00262c8a
      	* c-decl.c (current_function_decl): Move to toplev.c.
      	(init_decl_processing): Don't add current_function_decl as a ggc
      	root here.
      	* dbxout.c (dbxout_symbol): Change return type to int.
      	(dbxout_symbol_location, dbxout_syms): Likewise.
      	(dbxout_block): Don't emit LBRAC/RBRAC pairs for blocks without
      	any locals. Use current_function_func_begin_label if set.
      	* dbxout.h (dbxout_symbol, dbxout_syms): Change return type.
      	* dwarf2out.c (dwarf2out_begin_prologue): Set
      	current_function_func_begin_label.
      	* final.c (final_start_function): Reset it.
      	* toplev.c (current_function_decl): Define it here.
      	(current_function_func_begin_label): New variable.
      	(main): Add both as ggc roots.
      	* tree.h (current_function_func_begin_label): Declare.
      	* ch/decl.c (current_function_decl): Move to toplev.c.
      	* cp/decl.c (current_function_decl): Move to toplev.c.
      	* f/com.c (current_function_decl): Move to toplev.c.
      	* java/decl.c (current_function_decl): Move to toplev.c.
      
      From-SVN: r32268
      Martin v. Löwis committed
    • * Eliminate DECL_FIELD_SIZE. · 9df2c88c
      	* builtins.c (built_in_class_names, built_in_names): New variables.
      	* c-decl.c (finish_struct): Set specified size in DECL_SIZE.
      	* expr.c (expand_expr, case COMPONENT_REF): Get field size from
      	DECL_SIZE, not DECL_FIELD_SIZE.
      	* print-tree.c (print_node): Remove code that prints extra blank
      	lines in some cases.
      	Properly handle inline and builtin function cases.
      	* stor-layout.c (layout_decl): Get specified size from DEC_SIZE.
      	* tree.h (built_in_class_named, built_in_names): New declarations.
      	(union tree_decl): Rename internal unions to u1 and u2 and change
      	some of their components.
      	Add new field built_in_class.
      	(DECL_ALIGN, DECL_INCOMING_RTL, DECL_SAVED_INSNS, DECL_FRAME_SIZE):
      	Reflect above changes.
      	(DECL_FUNCTION_CODE, DECL_BUILT_IN_CLASS): Likewise.
      	(DECL_SET_FUNCTION_CODE, DECL_FIELD_SIZE): Deleted.
      	* objc/objc-act.c (objc_copy_list): Use DECL_SIZE, not DECL_FIELD_SIZE.
      	(encode_field_decl): Likewise; also remove obsolete test for bitfield.
      	* ch/ch-tree.h (DECL_ACTION_NESTING_LEVEL): Use new tree union name.
      	* ch/decl.c (finish_struct): Don't clear DECL_FIELD_SIZE.
      	* ch/typeck.c (make_chill_struct_type): Likewise.
      	(apply_decl_field_layout): General cleanup.
      	Set DECL_SIZE instead of DECL_FIELD_SIZE.
      	* cp/class.c (build_vtbl_or_vbase_field, check_methods): Don't clear
      	DECL_FIELD_SIZE.
      	(check_bitfield_decl, check_field_decls): Set DECL_SIZE, not
      	DECL_FIELD_SIZE.
      	* cp/rtti.c (expand_class_desc): Likewise.
      	* cp/cp-tree.h (DECL_INIT_PRIORITY): Use underlying union name.
      	(THUNK_VCALL_OFFSET): Likewise.
      	(THUNK_DELTA): Reflect changes in ../tree.h.
      	* java/java-tree.h (LABEL_PC): Relect name changes in ../tree.h.
      	(DECL_BIT_INDEX): Use underlying representation.
      	* java/parse.h (DECL_INHERITED_SOURCE_LINE): Likewise.
      
      From-SVN: r32249
      Richard Kenner committed
  21. 27 Feb, 2000 1 commit
    • builtins.c (c_strlen): Use size_diffop and return ssizetype value. · fed3cef0
      	* builtins.c (c_strlen): Use size_diffop and return ssizetype value.
      	(expand_builtin_strcpy): Pass correct type to size_binop.
      	(expand_builtin_strcmp): Likewise.
      	Clean up conditional structure.
      	* c-decl.c (init_decl_processing): Don't call set_sizetype twice.
      	(complete_array_type): Don't use size_binop for MAXINDEX.
      	* c-typeck.c (c_sizeof): Use size_one_node and TYPE_SIZE_UNIT.
      	(c_sizeof_nowarn, c_size_in_bytes): Likewise.
      	(c_alignof): Use size_one_node.
      	(build_unary_op): Pass arg of proper type to size_binop.
      	(really_start_incremental_init, push_init_level): Use sizetype for
      	constructor{,_bit,_unfilled}_index.
      	(pop_init_label, output_init_element): Likewise.
      	(output_pending_init_elements, process_init_element): Likewise.
      	* calls.c (compute_argument_block_size): Field VAR is ssizetype.
      	* expr.c (store_expr): Use size_int.
      	(store_constructor): Use proper types for size_binop args.
      	(get_inner_reference, expand_expr, case ARRAY_REF): Likewise.
      	(expand_expr_unaligned): Likewise.
      	(string_contant): Return object of sizetype.
      	* expr.h (SUB_PARM_SIZE): Call size_diffop and pass proper types.
      	(ARGS_SIZE_RTX): Call ARGS_SIZE_TREE.
      	(ARGS_SIZE_TREE): Pass proper types to size_binop.
      	* fold-const.c (int_const_binop): Refine when size_int is called.
      	(fold_convert): Likewise.
      	(size_int_wide): Rework to take KIND as arg, only take low order
      	bits, handle new sizetype_tab datatype, and chain entries in
      	size_table.
      	(size_int_type_wide): New function.
      	(size_binop): Validate types of arguments.
      	(ssize_binop): Deleted.
      	(size_diffop): New function.
      	(extract_muldiv): Only fold division into multiplication for sizetypes.
      	* function.c (assign_parms): Use size_diffop and make sure
      	VAR field is of ssizetype; also pass proper type to size_binop.
      	(locate_and_pad_parm, pad_to_arg_alignment): Likewise.
      	(round_down): Deleted from here.
      	* store-layout.c (sizetype_tab): Now an array.
      	(sizetype_set, early_root_list): New variables.
      	(variable_size): Use size_one_node.
      	(round_up): Pass proper type to size_binop.
      	(round_down): Moved to here and corrected as above.
      	(layout_record): Pass proper arg types to size_binop.
      	(layout_type): Likewise.
      	If sizetype_set is zero, record the type just laid out.
      	(make_unsigned_type): Don't call set_sizetype;
      	(make_signed_type): Likewise; also, call fixup_signed_type.
      	(initialize_sizetypes): New function.
      	(set_sizetype): Make copy of types, set TYPE_IS_SIZETYPE, and
      	set name of bitsizetype to "bit_size_type".
      	Fix up type of sizes of all types made before call.
      	* tm.texi (ROUND_TYPE_SIZE_UNIT): New macro.
      	* tree.c (fix_sizetype): Deleted.
      	(build_common_tree_nodes): Call initialize_sizetypes.
      	(build_common_tree_nodes_2): Don't call fix_sizetype.
      	* tree.h (TYPE_IS_SIZETYPE): New macro.
      	(initialize_sizetype): New declaration.
      	(enum size_type_kind): New type.
      	(struct sizetype_tab): Deleted.
      	(sizetype_tab): Now array; adjust sizetype macros.
      	(size_diffop, size_int_type_wide): New functions.
      	(size_int_wide): Change number of args and type; access macros changed.
      	(ssize_int, sbitsize_int): New macros.
      	* config/i960/i960.h (ROUND_TYPE_SIZE): Use size_int.
      	(ROUND_TYPE_SIZE_UNIT): New macro.
      	* ch/actions.c (chill_convert_for_assignment): Don't use size_binop
      	for things that aren't sizes.
      	(expand_varying_length_assignment): Likewise.
      	* ch/convert.c (digest_array_tuple, convert): Likewise.
      	* ch/typeck.c (build_chill_slice, smash_dummy_type): Likewise.
      	(build_chill_slice_with_range): Likewise.
      	(build_chill_slice_with_length): Likewise.
      	(build_array_from_set): Adjust types for size_binop.
      	* ch/expr.c (build_concat_expr, build_chill_repetition_op): Likewise.
      	(build_chill_sizeof): Use TYPE_SIZE_UNIT.
      	* ch/tree.c (build_string_type): Pass proper type to size_binop.
      	* cp/class.c (dfs_build_vtable_offset_vtbl_entries): Don't use
      	size_binop on things that are not sizes; ssize_binop deleted.
      	Call size_diffop when appropriate.
      	(dfs_build_vcall_offset_vtbl_entries): Likewise.
      	(build_primary_vtable, build_secondary_vtable): Likewise.
      	(dfs_set_offset_for_unshared_vbases, dfs_modify_vtables): Likewise.
      	Variable I is HOST_WIDE_INT.
      	(get_vfield_offset): Pass proper types to size_binop.
      	(size_extra_vtbl_entries, layout_virtual_bases): Likewise.
      	(finish_struct_1): Likewise.
      	(skip_rtti_stuff): Arg N is now pointer to signed.
      	(layout_class_type): Use size_zero_node.
      	* cp/cp-tree.h (skip_rtti_stuff): Arg N is pointer to signed.
      	* cp/cvt.c (cp_convert_to_pointer): Pass proper types to size_binop.
      	* cp/decl.c (complete_arry_type): Pass proper types to size_binop.
      	(xref_basetypes): BINFO_OFFSET is sizetype.
      	* cp/error.c (dump_expr): Don't use size_binop non-sizes.
      	* cp/expr.c (cplus_expand_constant): Pass proper types to size_binop.
      	* cp/init.c (construct_virtual_bases): Fix type error.
      	(build_vec_delete_1): Pass proper type to size_binop and don't
      	fold result.
      	* cp/lex.c (cp_make_lang_type): BINFO_OFFSET is sizetype.
      	* cp/rtti.c (get_base_offset): Pass proper type to size_binop.
      	* cp/search.c (dfs_find_vbases): Fix type error.
      	(expand_upcast_fixups): Arg to skip_rtti_stuff is pointer to signed.
      	(dfs_get_vbase_types): BINFO_OFFSET is sizetype.
      	* cp/tree.c (debug_binfo): Variable N is signed.
      	Use HOST_WIDE_INT_PRINT_DEC.
      	* cp/typeck.c (comptypes): sizetype is same as equivalent integer type.
      	(c_sizeof, c_sizeof_nowarn, expr_sizeof): Use TYPE_SIZE_UNIT,
      	size_one_node and size_zero_node.
      	(c_alignof): Use size_one_node.
      	(build_component_addr): Pass proper types to size_binop.
      	(expand_ptrmemfunc_cst): Don't use size_binop on non-sizes.
      	* f/com.c (ffecom_arrayref_): Convert args to size_binop to proper
      	type.
      	(ffecom_tree_canonize_ptr_): Don't use size_binop for non-sizes.
      	(ffecom_tree_canonize_ref_): Likewise.
      	(type_for_mode): Handle TImode.
      	* f/ste.c (ffeste_io_dofio_, ffeste_io_douio_): Use TYPE_SIZE_UNIT.
      	(ffeste_io_ciclist_): Likewise.
      	* java/expr.c (build_java_ret): Pass proper type to size_binop.
      
      From-SVN: r32225
      Richard Kenner committed
  22. 26 Feb, 2000 1 commit
  23. 20 Feb, 2000 2 commits
    • Move language-specific entries · 64e92991
      From-SVN: r32071
      Richard Kenner committed
    • c-common.c (decl_attributes): Set DECL_SIZE_UNIT. · 06ceef4e
      	* c-common.c (decl_attributes): Set DECL_SIZE_UNIT.
      	* c-decl.c (duplicate_decls, finish_enum): Likewise.
      	(finish_decl): Remove -Wlarger-than code from here.
      	* flags.h (id_clash_len): Now int.
      	(larger_than_size): Now HOST_WIDE_INT.
      	* fold-const.c (size_int_wide): No more HIGH parm; NUMBER is signed.
      	Clean up checking to see if in table.
      	(make_bit_field_ref): Remove extra parm to bitsize_int.
      	* ggc-common.c (ggc_mark_tree_children): Mark DECL_SIZE_UNIT.
      	* print-tree.c (print_node): Print DECL_SIZE_UNIT and TYPE_SIZE_UNIT.
      	* stmt.c (expand_decl): Use DECL_SIZE_UNIT for stack checking size
      	and for computing size of decl.
      	* stor-layout.c (layout_decl): Set DECL_SIZE_UNIT.
      	Move -Wlarger-than code to here.
      	(layout_record): Remove extra arg to bitsize_int.
      	Set TYPE_BINFO_SIZE_UNIT.
      	(layout_union): Remove extra arg to bitsize_int.
      	Use proper type for size of QUAL_UNION.
      	(layout_type): Remove extra arg to bitsize_int.
      	* toplev.c (id_clash_len): Now int.
      	(larger_than_size): Now HOST_WIDE_INT.
      	(decode_W_option): Clean up id-clash and larger-than- cases.
      	* tree.c (get_identifier, maybe_get_identifier): Remove unneeded casts.
      	(expr_align, case FUNCTION_DECL): DECL_ALIGN is not defined.
      	* tree.h (BINFO_SIZE_UNIT, TYPE_BINFO_SIZE_UNIT, DECL_SIZE_UNIT): New.
      	(struct tree_decl): New field size_unit.
      	(size_int_wide): No HIGH operand; NUMBER is now signed.
      	(size_int_2): Deleted.
      	(size_int, bitsize_int): Don't use it and rework args.
      	* varasm.c (assemble_variable, output_constructor): Use DECL_SIZE_UNIT.
      	* ch/decl.c (layout_enum): Set DECL_SIZE_UNIT.
      	* ch/satisfy.c (safe_satisfy_decl): Likewise.
      	* cp/class.c (build_primary_vtable, layout_vtable_decl): Likewise.
      	(avoid_overlap, build_base_field): Likewise.
      	(build_base_field, build_base_fields, is_empty_class):
      	Test DECL_SIZE with integer_zero.
      	(layout_class_type): Set CLASSTYPE_SIZE_UNIT.
      	* cp/cp-tree.h (struct lang_type): New field size_unit.
      	(CLASSTYPE_SIZE_UNIT): New macro.
      	* cp/decl.c (init_decl_processing): Set DECL_SIZE_UNIT.
      	(cp_finish_decl): Delete -Wlarger-than processing.
      	* cp/optimize.c (remap_decl): Walk DECL_SIZE_UNIT.
      	* cp/pt.c (tsubst_decl): Set DECL_SIZE_UNIT.
      	* cp/tree.c (make_binfo): binfo vector is one entry longer.
      	(walk_tree): Walk DECL_SIZE_UNIT.
      	* f/com.c (ffecom_sym_transform): Use DECL_SIZE_UNIT.
      	(ffecom_transform_common_, ffecom_transform_equiv_): Likewise.
      	(duplicate_decls): Likewise.
      	(ffecom_tree_canonize_ptr_): Delete extra arg to bitsize_int.
      	(finish_decl): Delete -Wlarger-than processing.
      	* java/class.c (build_class_ref, push_super_field): Set DECL_SIZE_UNIT.
      	* java/constants.c (build_constants_constructor): Likewise.
      
      From-SVN: r32068
      Richard Kenner committed
  24. 16 Feb, 2000 1 commit
  25. 15 Feb, 2000 1 commit
    • Makefile.in (TREE_H, [...]): Depend on version.h. · 9f8f4efe
      	* Makefile.in (TREE_H, collect2.o, gcc.h, mips-tfile.o, cccp.o,
      	cpphash.o, cppinit.o, protoize.o, unprotoize.o): Depend on version.h.
      
      	* cccp.c: Include version.h and/or don't declare `version_string'.
      	* collect2.c: Likewise.
      	* alpha.c: Likewise.
      	* arm/aof.h: Likewise.
      	* arm/coff.h: Likewise.
      	* arm/elf.h: Likewise.
      	* arm/pe.h: Likewise.
      	* arm/tcoff.h: Likewise.
      	* arm/telf.h: Likewise.
      	* arm/tpe.h: Likewise.
      	* arm/vxarm.h: Likewise.
      	* convex/convex.c: Likewise.
      	* i386/dgux.c: Likewise.
      	* i386/sun386.h: Likewise.
      	* m88k/m88k.c: Likewise.
      	* mcore/mcore-pe.h: Likewise.
      	* mips/mips.h: Likewise.
      	* romp/romp.h: Likewise.
      	* sh/sh.c: Likewise.
      	* cpphash.c: Likewise.
      	* cppinit.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* dwarfout.c: Likewise.
      	* gcc.c: Likewise.
      	* gcc.h: Likewise.
      	* mips-tfile.c: Likewise.
      	* protoize.c: Likewise.
      	* toplev.c: Likewise.
      	* tree.h: Likewise.
      
      	* version.c (version_string): Constify a char*.
      
      	* version.h: New file.
      
      ch:
      	* grant.c: Don't declare `version_string'.
      
      f:
      	* g77spec.c: Don't declare `version_string'.
      
      java:
      	* Makefile.in (jv-scan, jcf-dump, gcjh): Depend on and link with
      	version.o.
      	(jcf-dump.o, gjavah.o, jv-scan.o): Depend on version.h.
      
      	* gjavah.c: Include version.h.
      
      	* jcf-dump.c: Likewise.
      
      	* jv-scan.c: Likewise.
      
      From-SVN: r31984
      Kaveh R. Ghazi committed
  26. 11 Feb, 2000 2 commits
    • decl.c (init_decl_processing): Remove duplicate decl of set_alignment. · a1cee8a3
      	* decl.c (init_decl_processing): Remove duplicate decl of
      	set_alignment.
      
      From-SVN: r31921
      Nathan Sidwell committed
    • expr.c (compare_records): Delete maximum_field_alignment declaration. · f7077394
      	* expr.c (compare_records): Delete maximum_field_alignment declaration.
      	* inout.c (inout_init): Likewise.
      	(build_chill_gettextaccess): Likewise.
      	(build_enum_tables): Likewise.
      	* lang.c: Likewise.
      	* satisfy.c (satisfy): Likewise.
      	* tasking.c (build_tasking_struct): Likewise.
      	(build_tasking_message_type): Likewise.
      	* typeck.c (build_init_struct): Likewise.
      
      	* except.c (emit_setup_handler): Make save_maximum_field_alignment
      	unsigned int to match maximum_field_alignment.
      	* inout.c (inout_init): Likewise.
      	(build_chill_gettextaccess): Likewise.
      	(build_enum_tables): Likewise.
      	* tasking.c (build_tasking_struct): Likewise.
      	(build_tasking_message_type): Likewise.
      	* typeck.c (build_init_struct): Likewise.
      
      From-SVN: r31920
      Franz Sirl committed
  27. 10 Feb, 2000 1 commit
  28. 17 Jan, 2000 2 commits
  29. 11 Jan, 2000 1 commit
  30. 10 Jan, 2000 1 commit
    • Makefile.in (optabs.o): Depend on real.h · 7bdb32b9
      	* Makefile.in (optabs.o): Depend on real.h
      	(resource.o): Depend on insn-attr.h
      
      	* builtins.c (result_vector): Wrap prototype in macro conditions
      	governing definition and use.
      
      	* c-common.c: Include tm_p.h.
      
      	* c-lex.c: Likewise.
      
      	* elfos.h: Constify a char*.
      
      	* final.c (align_fuzz): Wrap prototype in macro HAVE_ATTR_length.
      	(get_attr_length, shorten_branches, profile_after_prologue): Mark
      	parameter with ATTRIBUTE_UNUSED.
      
      	* fold-const.c (exact_real_inverse): Wrap variable `i' in
      	CHECK_FLOAT_VALUE.
      
      	* haifa-sched.c (schedule_insns): Mark parameter with
      	ATTRIBUTE_UNUSED.
      
      	* optabs.c: Include real.h.
      
      	* real.h (ereal_atof): Add prototype arguments.
      
      	* resource.c: Include insn-attr.h.
      
      	* sdbout.c (sdbout_queue_anonymous_type,
      	sdbout_dequeue_anonymous_types): Wrap in macro
      	SDB_ALLOW_FORWARD_REFERENCES.
      	(sdbout_init, sdbout_start_new_source_file): Mark parameter with
      	ATTRIBUTE_UNUSED.
      
      	* stmt.c (expand_return): Wrap variable `op0' in macro HAVE_return.
      
      	* stupid.c: Include tm_p.h.
      
      	* tree.c (real_value_from_int_cst): Mark parameter with
      	ATTRIBUTE_UNUSED.
      
      cp:
      	* lex.c: Include tm_p.h.
      
      ch:
      	* lex.c: Include tm_p.h.
      
      From-SVN: r31308
      Kaveh R. Ghazi committed
  31. 04 Jan, 2000 1 commit
    • builtins.c (expand_builtin_strlen): Initialize variable `icode'. · a544cfd2
      	* builtins.c (expand_builtin_strlen): Initialize variable `icode'.
      
      	* calls.c (expand_call): Likewise for
      	`old_stack_arg_under_construction'.
      
      	* cpphash.c (macroexpand): Likewise for `args' and `rest_zero'.
      
      	* function.c (pad_to_arg_alignment): Likewise for `save_var' and
      	`save_constant'.
      
      	* gcc.c (execute): Likewise for `ut' and `st'.
      
      	* genattrtab.c (attr_rtx): Likewise for `rt_val'.
      
      	* genopinit.c (gen_insn): Likewise for `m1', `m2' and `op'.
      
      	* jump.c (jump_optimize_1): Likewise for `temp2'.
      
      	* local-alloc.c (block_alloc): Likewise for `r1'.
      
      	* loop.c (recombine_givs): Likewise for `life_start' and `life_end'.
      
      	* reg-stack.c (check_asm_stack_operands): Likewise for `clobber_reg'.
      	(subst_asm_stack_regs): Likewise for `clobber_reg' and `clobber_loc'.
      
      	* regmove.c (fixup_match_1): Likewise for `insn_const', `dst_node'
      	and `set2'.
      
      	* reload.c (find_reloads): Likewise for `goal_alternative_number'
      	and `goal_earlyclobber'.
      
      	* scan-decls.c (scan_decls): Likewise for `prev_id_end'.
      
      	* sdbout.c (sdbout_one_type): Likewise for `member_scl'.
      
      	* stupid.c (stupid_life_analysis): Likewise for `chain'.
      
      	* unroll.c (copy_loop_body): Likewise for `copy'.
      
      	* varasm.c (output_constructor): Likewise for `byte'.
      
      ch:
      	* actions.c (update_else_range_for_int_const): Initialize
      	variables `lowval' and `highval'.
      	(update_else_range_for_range): Likewise for `low_range_val' and
      	`high_range_val'.
      
      cp:
      	* class.c (warn_hidden): Initialize variable `fndecl'.
      
      From-SVN: r31207
      Kaveh R. Ghazi committed
  32. 11 Dec, 1999 1 commit
  33. 23 Nov, 1999 1 commit
    • expr.c (build_chill_function_call): Don't call a variadic function with a… · a3dd1d43
      expr.c (build_chill_function_call): Don't call a variadic function with a non-literal format string.
      
              * expr.c (build_chill_function_call): Don't call a variadic
              function with a non-literal format string.
      
              * grant.c (write_spec_module): Likewise.
      
              * parse.c (require, expect): Likewise.
      
              * tasking.c (get_struct_type_name, get_struct_debug_type_name,
              get_tasking_code_name, get_struct_variable_name,
              get_process_wrapper_name, build_start_process): Likewise.
      
              * typeck.c (valid_array_index_p): Likewise.
      
      From-SVN: r30640
      Kaveh R. Ghazi committed