1. 03 Jan, 2018 1 commit
  2. 01 Jan, 2017 1 commit
  3. 04 Jan, 2016 1 commit
  4. 15 May, 2015 1 commit
    • ipa-chkp.h (chkp_wrap_function): New. · 26625161
      gcc/
      
      	* ipa-chkp.h (chkp_wrap_function): New.
      	* ipa-chkp.c (chkp_wrap_function): Remove 'static'.
      	(chkp_wrap_function_name): New.
      	(chkp_build_instrumented_fndecl): Use chkp_wrap_function_name
      	to get wrapper name.
      	* lto-cgraph.c: Include ipa-chkp.h.
      	(input_cgraph_1): Avoid alias chain for wrappers.
      
      gcc/testsuite/
      
      	* gcc.dg/lto/chkp-wrap-asm-name_0.c: New.
      
      From-SVN: r223216
      Ilya Enkovich committed
  5. 16 Jan, 2015 1 commit
    • re PR target/64363 (Unresolved labels with -fcheck-pointer-bounds and -mmpx) · 06201ad5
      gcc/
      
      	PR target/64363
      	* ipa-chkp.h (chkp_instrumentable_p): New.
      	* ipa-chkp.c: Include tree-inline.h.
      	(chkp_instrumentable_p): New.
      	(chkp_maybe_create_clone): Use chkp_instrumentable_p.
      	Fix processing of not instrumentable functions.
      	(chkp_versioning): Use chkp_instrumentable_p. Warn about
      	not instrumentable functions.
      	* tree-chkp.c (chkp_add_bounds_to_call_stmt): Use
      	chkp_instrumentable_p.
      	* tree-inline.h (copy_forbidden): New.
      	* tree-inline.c (copy_forbidden): Not static anymore.
      
      gcc/testsuite/
      
      	PR target/64363
      	* gcc.target/i386/chkp-label-address.c: New.
      
      From-SVN: r219733
      Ilya Enkovich committed
  6. 05 Jan, 2015 1 commit
  7. 17 Nov, 2014 1 commit
    • tree-core.h (built_in_class): Add builtin codes to be used by Pointer Bounds… · edcf72f3
      tree-core.h (built_in_class): Add builtin codes to be used by Pointer Bounds Checker for instrumented builtin...
      
      	* tree-core.h (built_in_class): Add builtin codes to be used
      	by Pointer Bounds Checker for instrumented builtin functions.
      	* tree-streamer-in.c: Include ipa-chkp.h.
      	(streamer_get_builtin_tree): Created instrumented decl if
      	required.
      	* ipa-chkp.h (chkp_maybe_clone_builtin_fndecl): New.
      	* ipa-chkp.c (chkp_build_instrumented_fndecl): Support builtin
      	function decls.
      	(chkp_maybe_clone_builtin_fndecl): New.
      	(chkp_maybe_create_clone): Support builtin function decls.
      	(chkp_versioning): Clone builtin functions.
      	* tree-chkp.c (chkp_instrument_normal_builtin): New.
      	(chkp_add_bounds_to_call_stmt): Support builtin functions.
      	(chkp_replace_function_pointer): Likewise.
      	* builtins.c (expand_builtin_memcpy_args): New.
      	(expand_builtin_memcpy): Call expand_builtin_memcpy_args.
      	(expand_builtin_memcpy_with_bounds): New.
      	(expand_builtin_mempcpy_with_bounds): New.
      	(expand_builtin_mempcpy_args): Add orig_exp arg. Support
      	BUILT_IN_CHKP_MEMCPY_NOBND_NOCHK
      	(expand_builtin_memset_with_bounds): New.
      	(expand_builtin_memset_args): Support BUILT_IN_CHKP_MEMSET_NOBND_NOCHK.
      	(expand_builtin_with_bounds): New.
      	* builtins.h (expand_builtin_with_bounds): New.
      	* expr.c (expand_expr_real_1): Support instrumented builtin calls.
      
      From-SVN: r217655
      Ilya Enkovich committed
  8. 05 Nov, 2014 1 commit
    • ipa-chkp.c: New. · d5e254e1
      gcc/
      
      2014-11-05  Ilya Enkovich  <ilya.enkovich@intel.com>
      
      	* ipa-chkp.c: New.
      	* ipa-chkp.h: New.
      	* tree-chkp.c: New.
      	* tree-chkp.h: New.
      	* tree-chkp-opt.c: New.
      	* rtl-chkp.c: New.
      	* rtl-chkp.h: New.
      	* Makefile.in (OBJS): Add ipa-chkp.o, rtl-chkp.o, tree-chkp.o
      	tree-chkp-opt.o.
      	(GTFILES): Add tree-chkp.c.
      	* mode-classes.def (MODE_POINTER_BOUNDS): New.
      	* tree.def (POINTER_BOUNDS_TYPE): New.
      	* genmodes.c (complete_mode): Support MODE_POINTER_BOUNDS.
      	(POINTER_BOUNDS_MODE): New.
      	(make_pointer_bounds_mode): New.
      	* machmode.h (POINTER_BOUNDS_MODE_P): New.
      	* stor-layout.c (int_mode_for_mode): Support MODE_POINTER_BOUNDS.
      	(layout_type): Support POINTER_BOUNDS_TYPE.
      	* tree-pretty-print.c (dump_generic_node): Support POINTER_BOUNDS_TYPE.
      	* tree-core.h (tree_index): Add TI_POINTER_BOUNDS_TYPE.
      	* tree.c (build_int_cst_wide): Support POINTER_BOUNDS_TYPE.
      	(type_contains_placeholder_1): Likewise.
      	(build_common_tree_nodes): Initialize
      	pointer_bounds_type_node.
      	* tree.h (POINTER_BOUNDS_TYPE_P): New.
      	(pointer_bounds_type_node): New.
      	(POINTER_BOUNDS_P): New.
      	(BOUNDED_TYPE_P): New.
      	(BOUNDED_P): New.
      	(CALL_WITH_BOUNDS_P): New.
      	* gimple.h (gf_mask): Add GF_CALL_WITH_BOUNDS.
      	(gimple_call_with_bounds_p): New.
      	(gimple_call_set_with_bounds): New.
      	(gimple_return_retbnd): New.
      	(gimple_return_set_retbnd): New
      	* gimple.c (gimple_build_return): Increase number of ops
      	for return statement.
      	(gimple_build_call_from_tree): Propagate CALL_WITH_BOUNDS_P
      	flag.
      	* gimple-pretty-print.c (dump_gimple_return): Print second op.
      	* rtl.h (CALL_EXPR_WITH_BOUNDS_P): New.
      	* gimplify.c (gimplify_init_constructor): Avoid infinite
      	loop during gimplification of bounds initializer.
      	* calls.c: Include tree-chkp.h, rtl-chkp.h, bitmap.h.
      	(special_function_p): Use original decl name when analyzing
      	instrumentation clone.
      	(arg_data): Add fields special_slot, pointer_arg and
      	pointer_offset.
      	(store_bounds): New.
      	(emit_call_1): Propagate instrumentation flag for CALL.
      	(initialize_argument_information): Compute pointer_arg,
      	pointer_offset and special_slot for pointer bounds arguments.
      	(finalize_must_preallocate): Preallocate when storing bounds
      	in bounds table.
      	(compute_argument_addresses): Skip pointer bounds.
      	(expand_call): Store bounds into tables separately.  Return
      	result joined with resulting bounds.
      	* cfgexpand.c: Include tree-chkp.h, rtl-chkp.h.
      	(expand_call_stmt): Propagate bounds flag for CALL_EXPR.
      	(expand_return): Add returned bounds arg.  Handle returned bounds.
      	(expand_gimple_stmt_1): Adjust to new expand_return signature.
      	(gimple_expand_cfg): Reset rtx bounds map.
      	* expr.c: Include tree-chkp.h, rtl-chkp.h.
      	(expand_assignment): Handle returned bounds.
      	(store_expr_with_bounds): New.  Replaces store_expr with new bounds
      	target argument.  Handle bounds returned by calls.
      	(store_expr): Now wraps store_expr_with_bounds.
      	* expr.h (store_expr_with_bounds): New.
      	* function.c: Include tree-chkp.h, rtl-chkp.h.
      	(bounds_parm_data): New.
      	(use_register_for_decl): Do not registerize decls used for bounds
      	stores and loads.
      	(assign_parms_augmented_arg_list): Add bounds of the result
      	structure pointer as the second argument.
      	(assign_parm_find_entry_rtl): Mark bounds are never passed on
      	the stack.
      	(assign_parm_is_stack_parm): Likewise.
      	(assign_parm_load_bounds): New.
      	(assign_bounds): New.
      	(assign_parms): Load bounds and determine a location for
      	returned bounds.
      	(diddle_return_value_1): New.
      	(diddle_return_value): Handle returned bounds.
      	* function.h (rtl_data): Add field for returned bounds.
      	* varasm.c: Include tree-chkp.h.
      	(output_constant): Support POINTER_BOUNDS_TYPE.
      	(output_constant_pool_2): Support MODE_POINTER_BOUNDS.
      	(ultimate_transparent_alias_target): Move up.
      	(make_decl_rtl): For instrumented function use
      	name of the original decl.
      	(assemble_start_function): Mark function as global
      	in case it is instrumentation clone of the global
      	function.
      	(do_assemble_alias): Follow transparent alias chain
      	for identifier.  Check if original alias is public.
      	(maybe_assemble_visibility): Use visibility of the
      	original function for instrumented version.
      	(default_unique_section): Likewise.
      	* emit-rtl.c (immed_double_const): Support MODE_POINTER_BOUNDS.
      	(init_emit_once): Build pointer bounds zero constants.
      	* explow.c (trunc_int_for_mode): Support MODE_POINTER_BOUNDS.
      	* target.def (builtin_chkp_function): New.
      	(chkp_bound_type): New.
      	(chkp_bound_mode): New.
      	(chkp_make_bounds_constant): New.
      	(chkp_initialize_bounds): New.
      	(load_bounds_for_arg): New.
      	(store_bounds_for_arg): New.
      	(load_returned_bounds): New.
      	(store_returned_bounds): New.
      	(chkp_function_value_bounds): New.
      	(setup_incoming_vararg_bounds): New.
      	(function_arg): Update hook description with new possible return
      	value CONST_INT.
      	* targhooks.h (default_load_bounds_for_arg): New.
      	(default_store_bounds_for_arg): New.
      	(default_load_returned_bounds): New.
      	(default_store_returned_bounds): New.
      	(default_chkp_bound_type): New.
      	(default_chkp_bound_mode): New.
      	(default_builtin_chkp_function): New.
      	(default_chkp_function_value_bounds): New.
      	(default_chkp_make_bounds_constant): New.
      	(default_chkp_initialize_bounds): New.
      	(default_setup_incoming_vararg_bounds): New.
      	* targhooks.c (default_load_bounds_for_arg): New.
      	(default_store_bounds_for_arg): New.
      	(default_load_returned_bounds): New.
      	(default_store_returned_bounds): New.
      	(default_chkp_bound_type): New.
      	(default_chkp_bound_mode); New.
      	(default_builtin_chkp_function): New.
      	(default_chkp_function_value_bounds): New.
      	(default_chkp_make_bounds_constant): New.
      	(default_chkp_initialize_bounds): New.
      	(default_setup_incoming_vararg_bounds): New.
      	* builtin-types.def (BT_BND): New.
      	(BT_FN_PTR_CONST_PTR): New.
      	(BT_FN_CONST_PTR_CONST_PTR): New.
      	(BT_FN_BND_CONST_PTR): New.
      	(BT_FN_CONST_PTR_BND): New.
      	(BT_FN_PTR_CONST_PTR_SIZE): New.
      	(BT_FN_PTR_CONST_PTR_CONST_PTR): New.
      	(BT_FN_VOID_PTRPTR_CONST_PTR): New.
      	(BT_FN_VOID_CONST_PTR_SIZE): New.
      	(BT_FN_VOID_PTR_BND): New.
      	(BT_FN_CONST_PTR_CONST_PTR_CONST_PTR): New.
      	(BT_FN_BND_CONST_PTR_SIZE): New.
      	(BT_FN_PTR_CONST_PTR_CONST_PTR_SIZE): New.
      	(BT_FN_VOID_CONST_PTR_BND_CONST_PTR): New.
      	* chkp-builtins.def: New.
      	* builtins.def: include chkp-builtins.def.
      	(DEF_CHKP_BUILTIN): New.
      	* builtins.c: Include tree-chkp.h and rtl-chkp.h.
      	(expand_builtin): Support BUILT_IN_CHKP_INIT_PTR_BOUNDS,
      	BUILT_IN_CHKP_NULL_PTR_BOUNDS, BUILT_IN_CHKP_COPY_PTR_BOUNDS,
      	BUILT_IN_CHKP_CHECK_PTR_LBOUNDS, BUILT_IN_CHKP_CHECK_PTR_UBOUNDS,
      	BUILT_IN_CHKP_CHECK_PTR_BOUNDS, BUILT_IN_CHKP_SET_PTR_BOUNDS,
      	BUILT_IN_CHKP_NARROW_PTR_BOUNDS, BUILT_IN_CHKP_STORE_PTR_BOUNDS,
      	BUILT_IN_CHKP_GET_PTR_LBOUND, BUILT_IN_CHKP_GET_PTR_UBOUND,
      	BUILT_IN_CHKP_BNDMK, BUILT_IN_CHKP_BNDSTX, BUILT_IN_CHKP_BNDCL,
      	BUILT_IN_CHKP_BNDCU, BUILT_IN_CHKP_BNDLDX, BUILT_IN_CHKP_BNDRET,
      	BUILT_IN_CHKP_INTERSECT, BUILT_IN_CHKP_NARROW,
      	BUILT_IN_CHKP_EXTRACT_LOWER, BUILT_IN_CHKP_EXTRACT_UPPER.
      	(std_expand_builtin_va_start): Init bounds for va_list.
      	* cppbuiltin.c (define_builtin_macros_for_compilation_flags): Add
      	__CHKP__ macro when Pointer Bounds Checker is on.
      	* params.def (PARAM_CHKP_MAX_CTOR_SIZE): New.
      	* passes.def (pass_ipa_chkp_versioning): New.
      	(pass_early_local_passes): Renamed to pass_build_ssa_passes.
      	(pass_fixup_cfg): Moved to pass_chkp_instrumentation_passes.
      	(pass_chkp_instrumentation_passes): New.
      	(pass_ipa_chkp_produce_thunks): New.
      	(pass_local_optimization_passes): New.
      	(pass_chkp_opt): New.
      	* tree-pass.h (make_pass_ipa_chkp_versioning): New.
      	(make_pass_ipa_chkp_produce_thunks): New.
      	(make_pass_chkp): New.
      	(make_pass_chkp_opt): New.
      	(make_pass_early_local_passes): Renamed to ...
      	(make_pass_build_ssa_passes): This.
      	(make_pass_chkp_instrumentation_passes): New.
      	(make_pass_local_optimization_passes): New.
      	* passes.c (pass_manager::execute_early_local_passes): Execute
      	early passes in three steps.
      	(execute_all_early_local_passes): Renamed to ...
      	(execute_build_ssa_passes): This.
      	(pass_data_early_local_passes): Renamed to ...
      	(pass_data_build_ssa_passes): This.
      	(pass_early_local_passes): Renamed to ...
      	(pass_build_ssa_passes): This.
      	(pass_data_chkp_instrumentation_passes): New.
      	(pass_chkp_instrumentation_passes): New.
      	(pass_data_local_optimization_passes): New.
      	(pass_local_optimization_passes): New.
      	(make_pass_early_local_passes): Renamed to ...
      	(make_pass_build_ssa_passes): This.
      	(make_pass_chkp_instrumentation_passes): New.
      	(make_pass_local_optimization_passes): New.
      	* c-family/c.opt (fcheck-pointer-bounds): New.
      	(fchkp-check-incomplete-type): New.
      	(fchkp-zero-input-bounds-for-main): New.
      	(fchkp-first-field-has-own-bounds): New.
      	(fchkp-narrow-bounds): New.
      	(fchkp-narrow-to-innermost-array): New.
      	(fchkp-optimize): New.
      	(fchkp-use-fast-string-functions): New.
      	(fchkp-use-nochk-string-functions): New.
      	(fchkp-use-static-bounds): New.
      	(fchkp-use-static-const-bounds): New.
      	(fchkp-treat-zero-dynamic-size-as-infinite): New.
      	(fchkp-check-read): New.
      	(fchkp-check-write): New.
      	(fchkp-store-bounds): New.
      	(fchkp-instrument-calls): New.
      	(fchkp-instrument-marked-only): New.
      	(Wchkp): New.
      	* c-family/c-common.c (handle_bnd_variable_size_attribute): New.
      	(handle_bnd_legacy): New.
      	(handle_bnd_instrument): New.
      	(c_common_attribute_table): Add bnd_variable_size, bnd_legacy
      	and bnd_instrument.  Fix documentation.
      	(c_common_format_attribute_table): Likewsie.
      	* toplev.c: include tree-chkp.h.
      	(process_options): Check Pointer Bounds Checker is supported.
      	(compile_file): Add chkp_finish_file call.
      	* ipa-cp.c (initialize_node_lattices): Use cgraph_local_p
      	to handle instrumentation clones properly.
      	(propagate_constants_accross_call): Do not propagate
      	through instrumentation thunks.
      	* ipa-pure-const.c (propagate_pure_const): Support
      	IPA_REF_CHKP.
      	* ipa-inline.c (early_inliner): Check edge has summary allocated.
      	* ipa-split.c: Include tree-chkp.h.
      	(find_retbnd): New.
      	(split_part_set_ssa_name_p): New.
      	(consider_split): Do not split retbnd and retval
      	producers.
      	(insert_bndret_call_after): new.
      	(split_function): Propagate Pointer Bounds Checker
      	instrumentation marks and handle returned bounds.
      	* tree-ssa-sccvn.h (vn_reference_op_struct): Transform opcode
      	into bit field and add with_bounds field.
      	* tree-ssa-sccvn.c (copy_reference_ops_from_call): Set
      	with_bounds field for instrumented calls.
      	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Restore
      	CALL_WITH_BOUNDS_P flag for calls.
      	* tree-ssa-ccp.c: Include tree-chkp.h.
      	(insert_clobber_before_stack_restore): Handle
      	BUILT_IN_CHKP_BNDRET calls.
      	* tree-ssa-dce.c: Include tree-chkp.h.
      	(propagate_necessity): For free call fed by alloc check
      	bounds are also provided by the same alloc.
      	(eliminate_unnecessary_stmts): Handle BUILT_IN_CHKP_BNDRET
      	used by free calls.
      	* tree-inline.c: Include tree-chkp.h.
      	(declare_return_variable): Add arg holding
      	returned bounds slot.  Create and initialize returned bounds var.
      	(remap_gimple_stmt): Handle returned bounds.
      	Return sequence of statements instead of a single statement.
      	(insert_init_stmt): Add declaration.
      	(remap_gimple_seq): Adjust to new remap_gimple_stmt signature.
      	(copy_bb): Adjust to changed return type of remap_gimple_stmt.
      	Properly handle bounds in va_arg_pack and va_arg_pack_len.
      	(expand_call_inline): Handle returned bounds.  Add bounds copy
      	for generated mem to mem assignments.
      	* tree-inline.h (copy_body_data): Add fields retbnd and
      	assign_stmts.
      	* value-prof.c: Include tree-chkp.h.
      	(gimple_ic): Support returned bounds.
      	* ipa.c (cgraph_build_static_cdtor_1): Support contructors
      	with "chkp ctor" and "bnd_legacy" attributes.
      	(symtab_remove_unreachable_nodes): Keep initial values for
      	pointer bounds to be used for checks eliminations.
      	(process_references): Handle IPA_REF_CHKP.
      	(walk_polymorphic_call_targets): Likewise.
      	* ipa-visibility.c (cgraph_externally_visible_p): Mark
      	instrumented 'main' as externally visible.
      	(function_and_variable_visibility): Filter instrumentation
      	thunks.
      	* cgraph.h (cgraph_thunk_info): Add add_pointer_bounds_args
      	field.
      	(cgraph_node): Add instrumented_version, orig_decl and
      	instrumentation_clone fields.
      	(symtab_node::get_alias_target): Allow IPA_REF_CHKP reference.
      	(varpool_node): Add need_bounds_init field.
      	(cgraph_local_p): New.
      	* cgraph.c: Include tree-chkp.h.
      	(cgraph_node::remove): Fix instrumented_version
      	of the referenced node if any.
      	(cgraph_node::dump): Dump instrumentation_clone and
      	instrumented_version fields.
      	(cgraph_node::verify_node): Check correctness of IPA_REF_CHKP
      	references and instrumentation thunks.
      	(cgraph_can_remove_if_no_direct_calls_and_refs_p): Keep
      	all not instrumented instrumentation clones alive.
      	(cgraph_redirect_edge_call_stmt_to_callee): Support
      	returned bounds.
      	* cgraphbuild.c (rebuild_cgraph_edges): Rebuild IPA_REF_CHKP
      	reference.
      	(cgraph_rebuild_references): Likewise.
      	* cgraphunit.c: Include tree-chkp.h.
      	(assemble_thunks_and_aliases): Skip thunks calling instrumneted
      	function version.
      	(varpool_finalize_decl): Register statically initialized decls
      	in Pointer Bounds Checker.
      	(walk_polymorphic_call_targets): Do not mark generated call to
      	__builtin_unreachable as with_bounds.
      	(output_weakrefs): If there are both instrumented and original
      	versions, output only one of them.
      	(cgraph_node::expand_thunk): Set with_bounds flag
      	for created call statement.
      	* ipa-ref.h (ipa_ref_use): Add IPA_REF_CHKP.
      	(ipa_ref): increase size of use field.
      	* symtab.c (ipa_ref_use_name): Add element for IPA_REF_CHKP.
      	* varpool.c (dump_varpool_node): Dump need_bounds_init field.
      	(ctor_for_folding): Do not fold constant bounds vars.
      	* lto-streamer.h (LTO_minor_version): Change minor version from
      	0 to 1.
      	* lto-cgraph.c (compute_ltrans_boundary): Keep initial values for
      	pointer bounds.
      	(lto_output_node): Output instrumentation_clone,
      	thunk.add_pointer_bounds_args and orig_decl field.
      	(lto_output_ref): Adjust to new ipa_ref::use field size.
      	(input_overwrite_node): Read instrumentation_clone field.
      	(input_node): Read thunk.add_pointer_bounds_args and orig_decl
      	fields.
      	(input_ref): Adjust to new ipa_ref::use field size.
      	(input_cgraph_1): Compute instrumented_version fields and restore
      	IDENTIFIER_TRANSPARENT_ALIAS chains.
      	(lto_output_varpool_node): Output
      	need_bounds_init value.
      	(input_varpool_node): Read need_bounds_init value.
      	* lto-partition.c (add_symbol_to_partition_1): Keep original
      	and instrumented versions together.
      	(privatize_symbol_name): Restore transparent alias chain if required.
      	(add_references_to_partition): Add references to pointer bounds vars.
      	* dbxout.c (dbxout_type): Ignore POINTER_BOUNDS_TYPE.
      	* dwarf2out.c (gen_subprogram_die): Ignore bound args.
      	(gen_type_die_with_usage): Skip pointer bounds.
      	(dwarf2out_global_decl): Likewise.
      	(is_base_type): Support POINTER_BOUNDS_TYPE.
      	(gen_formal_types_die): Skip pointer bounds.
      	(gen_decl_die): Likewise.
      	* var-tracking.c (vt_add_function_parameters): Skip
      	bounds parameters.
      	* ipa-icf.c (sem_function::merge): Do not merge when instrumentation
      	thunk still exists.
      	(sem_variable::merge): Reset need_bounds_init flag.
      	* doc/extend.texi: Document Pointer Bounds Checker built-in functions
      	and attributes.
      	* doc/tm.texi.in (TARGET_LOAD_BOUNDS_FOR_ARG): New.
      	(TARGET_STORE_BOUNDS_FOR_ARG): New.
      	(TARGET_LOAD_RETURNED_BOUNDS): New.
      	(TARGET_STORE_RETURNED_BOUNDS): New.
      	(TARGET_CHKP_FUNCTION_VALUE_BOUNDS): New.
      	(TARGET_SETUP_INCOMING_VARARG_BOUNDS): New.
      	(TARGET_BUILTIN_CHKP_FUNCTION): New.
      	(TARGET_CHKP_BOUND_TYPE): New.
      	(TARGET_CHKP_BOUND_MODE): New.
      	(TARGET_CHKP_MAKE_BOUNDS_CONSTANT): New.
      	(TARGET_CHKP_INITIALIZE_BOUNDS): New.
      	* doc/tm.texi: Regenerated.
      	* doc/rtl.texi (MODE_POINTER_BOUNDS): New.
      	(BND32mode): New.
      	(BND64mode): New.
      	* doc/invoke.texi (-mmpx): New.
      	(-mno-mpx): New.
      	(chkp-max-ctor-size): New.
      	* config/i386/constraints.md (w): New.
      	(Ti): New.
      	(Tb): New.
      	* config/i386/i386-c.c (ix86_target_macros_internal): Add __MPX__.
      	* config/i386/i386-modes.def (BND32): New.
      	(BND64): New.
      	* config/i386/i386-protos.h (ix86_bnd_prefixed_insn_p): New.
      	* config/i386/i386.c: Include tree-chkp.h, rtl-chkp.h, tree-iterator.h.
      	(regclass_map): Add bound registers.
      	(dbx_register_map): Likewise.
      	(dbx64_register_map): Likewise.
      	(svr4_dbx_register_map): Likewise.
      	(isa_opts): Add -mmpx.
      	(PTA_MPX): New.
      	(ix86_option_override_internal): Support MPX ISA.
      	(ix86_conditional_register_usage): Support bound registers.
      	(ix86_code_end): Add MPX bnd prefix.
      	(output_set_got): Likewise.
      	(print_reg): Avoid prefixes for bound registers.
      	(ix86_print_operand): Add '!' (MPX bnd) print prefix support.
      	(ix86_print_operand_punct_valid_p): Likewise.
      	(ix86_print_operand_address): Support UNSPEC_BNDMK_ADDR and
      	UNSPEC_BNDLDX_ADDR.
      	(ix86_output_call_insn): Add MPX bnd prefix to branch instructions.
      	(ix86_class_likely_spilled_p): Add bound regs support.
      	(ix86_hard_regno_mode_ok): Likewise.
      	(x86_order_regs_for_local_alloc): Likewise.
      	(ix86_bnd_prefixed_insn_p): New.
      	(ix86_builtins): Add
      	IX86_BUILTIN_BNDMK, IX86_BUILTIN_BNDSTX,
      	IX86_BUILTIN_BNDLDX, IX86_BUILTIN_BNDCL,
      	IX86_BUILTIN_BNDCU, IX86_BUILTIN_BNDRET,
      	IX86_BUILTIN_BNDNARROW, IX86_BUILTIN_BNDINT,
      	IX86_BUILTIN_SIZEOF, IX86_BUILTIN_BNDLOWER,
      	IX86_BUILTIN_BNDUPPER.
      	(builtin_isa): Add leaf_p and nothrow_p fields.
      	(def_builtin): Initialize leaf_p and nothrow_p.
      	(ix86_add_new_builtins): Handle leaf_p and nothrow_p
      	flags.
      	(bdesc_mpx): New.
      	(bdesc_mpx_const): New.
      	(ix86_init_mpx_builtins): New.
      	(ix86_init_builtins): Call ix86_init_mpx_builtins.
      	(ix86_emit_cmove): New.
      	(ix86_emit_move_max): New.
      	(ix86_expand_builtin): Expand IX86_BUILTIN_BNDMK,
      	IX86_BUILTIN_BNDSTX, IX86_BUILTIN_BNDLDX,
      	IX86_BUILTIN_BNDCL, IX86_BUILTIN_BNDCU,
      	IX86_BUILTIN_BNDRET, IX86_BUILTIN_BNDNARROW,
      	IX86_BUILTIN_BNDINT, IX86_BUILTIN_SIZEOF,
      	IX86_BUILTIN_BNDLOWER, IX86_BUILTIN_BNDUPPER.
      	(ix86_function_value_bounds): New.
      	(ix86_builtin_mpx_function): New.
      	(ix86_get_arg_address_for_bt): New.
      	(ix86_load_bounds): New.
      	(ix86_store_bounds): New.
      	(ix86_load_returned_bounds): New.
      	(ix86_store_returned_bounds): New.
      	(ix86_mpx_bound_mode): New.
      	(ix86_make_bounds_constant): New.
      	(ix86_initialize_bounds):
      	(TARGET_LOAD_BOUNDS_FOR_ARG): New.
      	(TARGET_STORE_BOUNDS_FOR_ARG): New.
      	(TARGET_LOAD_RETURNED_BOUNDS): New.
      	(TARGET_STORE_RETURNED_BOUNDS): New.
      	(TARGET_CHKP_BOUND_MODE): New.
      	(TARGET_BUILTIN_CHKP_FUNCTION): New.
      	(TARGET_CHKP_FUNCTION_VALUE_BOUNDS): New.
      	(TARGET_CHKP_MAKE_BOUNDS_CONSTANT): New.
      	(TARGET_CHKP_INITIALIZE_BOUNDS): New.
      	(ix86_option_override_internal): Do not
      	support x32 with MPX.
      	(init_cumulative_args): Init stdarg, bnd_regno, bnds_in_bt
      	and force_bnd_pass.
      	(function_arg_advance_32): Return number of used integer
      	registers.
      	(function_arg_advance_64): Likewise.
      	(function_arg_advance_ms_64): Likewise.
      	(ix86_function_arg_advance): Handle pointer bounds.
      	(ix86_function_arg): Likewise.
      	(ix86_function_value_regno_p): Mark fisrt bounds registers as
      	possible function value.
      	(ix86_function_value_1): Handle pointer bounds type/mode
      	(ix86_return_in_memory): Likewise.
      	(ix86_print_operand): Analyse insn to decide abounf "bnd" prefix.
      	(ix86_expand_call): Generate returned bounds.
      	(ix86_setup_incoming_vararg_bounds): New.
      	(ix86_va_start): Initialize bounds for pointers in va_list.
      	(TARGET_SETUP_INCOMING_VARARG_BOUNDS): New.
      	* config/i386/i386.h (TARGET_MPX): New.
      	(TARGET_MPX_P): New.
      	(FIRST_PSEUDO_REGISTER): Fix to new value.
      	(FIXED_REGISTERS): Add bound registers.
      	(CALL_USED_REGISTERS): Likewise.
      	(REG_ALLOC_ORDER): Likewise.
      	(HARD_REGNO_NREGS): Likewise.
      	(VALID_BND_REG_MODE): New.
      	(FIRST_BND_REG): New.
      	(LAST_BND_REG): New.
      	(reg_class): Add BND_REGS.
      	(REG_CLASS_NAMES): Likewise.
      	(REG_CLASS_CONTENTS): Likewise.
      	(BND_REGNO_P): New.
      	(ANY_BND_REG_P): New.
      	(BNDmode): New.
      	(HI_REGISTER_NAMES): Add bound registers.
      	(ix86_args): Add bnd_regno, bnds_in_bt,	force_bnd_pass and
      	stdarg fields.
      	* config/i386/i386.md (UNSPEC_BNDMK): New.
      	(UNSPEC_BNDMK_ADDR): New.
      	(UNSPEC_BNDSTX): New.
      	(UNSPEC_BNDLDX): New.
      	(UNSPEC_BNDLDX_ADDR): New.
      	(UNSPEC_BNDCL): New.
      	(UNSPEC_BNDCU): New.
      	(UNSPEC_BNDCN): New.
      	(UNSPEC_MPX_FENCE): New.
      	(UNSPEC_SIZEOF): New.
      	(BND0_REG): New.
      	(BND1_REG): New.
      	(type): Add mpxmov, mpxmk, mpxchk, mpxld, mpxst.
      	(length_immediate): Support mpxmov, mpxmk, mpxchk, mpxld, mpxst.
      	(prefix_rep): Check for bnd prefix.
      	(prefix_0f): Support mpxmov, mpxmk, mpxchk, mpxld, mpxst.
      	(length_nobnd): New.
      	(length): Use length_nobnd when specified.
      	(memory): Support mpxmov, mpxmk, mpxchk, mpxld, mpxst.
      	(BND): New.
      	(bnd_ptr): New.
      	(BNDCHECK): New.
      	(bndcheck): New.
      	(*jcc_1): Add MPX bnd prefix.
      	(*jcc_2): Likewise.
      	(jump): Likewise.
      	(*indirect_jump): Likewise.
      	(*tablejump_1): Likewise.
      	(simple_return_internal): Likewise.
      	(simple_return_internal_long): Likewise.
      	(simple_return_pop_internal): Likewise.
      	(simple_return_indirect_internal): Likewise.
      	(<mode>_mk): New.
      	(*<mode>_mk): New.
      	(mov<mode>): New.
      	(*mov<mode>_internal_mpx): New.
      	(<mode>_<bndcheck>): New.
      	(*<mode>_<bndcheck>): New.
      	(<mode>_ldx): New.
      	(*<mode>_ldx): New.
      	(<mode>_stx): New.
      	(*<mode>_stx): New.
      	move_size_reloc_<mode>): New.
      	* config/i386/predicates.md (address_mpx_no_base_operand): New.
      	(address_mpx_no_index_operand): New.
      	(bnd_mem_operator): New.
      	(symbol_operand): New.
      	(x86_64_immediate_size_operand): New.
      	* config/i386/i386.opt (mmpx): New.
      	* config/i386/i386-builtin-types.def (BND): New.
      	(ULONG): New.
      	(BND_FTYPE_PCVOID_ULONG): New.
      	(VOID_FTYPE_BND_PCVOID): New.
      	(VOID_FTYPE_PCVOID_PCVOID_BND): New.
      	(BND_FTYPE_PCVOID_PCVOID): New.
      	(BND_FTYPE_PCVOID): New.
      	(BND_FTYPE_BND_BND): New.
      	(PVOID_FTYPE_PVOID_PVOID_ULONG): New.
      	(PVOID_FTYPE_PCVOID_BND_ULONG): New.
      	(ULONG_FTYPE_VOID): New.
      	(PVOID_FTYPE_BND): New.
      
      gcc/testsuite/
      
      2014-11-05  Ilya Enkovich  <ilya.enkovich@intel.com>
      
      	* gcc.target/i386/chkp-builtins-1.c: New.
      	* gcc.target/i386/chkp-builtins-2.c: New.
      	* gcc.target/i386/chkp-builtins-3.c: New.
      	* gcc.target/i386/chkp-builtins-4.c: New.
      	* gcc.target/i386/chkp-remove-bndint-1.c: New.
      	* gcc.target/i386/chkp-remove-bndint-2.c: New.
      	* gcc.target/i386/chkp-const-check-1.c: New.
      	* gcc.target/i386/chkp-const-check-2.c: New.
      	* gcc.target/i386/chkp-lifetime-1.c: New.
      	* gcc.dg/pr37858.c: Replace early_local_cleanups pass name
      	with build_ssa_passes.
      
      From-SVN: r217125
      Ilya Enkovich committed
  9. 21 Oct, 2014 1 commit
    • cfg.h: New. · dd637013
      2014-10-21  Andrew MacLeod  <amacleod@redhat.com>
      
      
      	* cfg.h: New.  Header file for cfg.c.
      	* cfganal.h: New.  Header file for cfganal.c.
      	* lcm.h: New.  Header file for lcm.c.
      	* loop-unroll.h: New.  Header file for loop-unroll.h.
      	* cfgloop.h: (unroll_loops): Remove prototype.
      	* basic-block.h: Move prototypes and structs to new header files.
      	Include cfg.h, cfganal.h, and lcm.h.
      	* loop-init.c: Include loop-unroll.h.
      	* loop-unroll.c: (referenced_in_one_insn_in_loop_p): Make static.
      	* modulo-sched.c: Include loop-unroll.h.
      
      From-SVN: r216518
      Andrew MacLeod committed
  10. 01 Aug, 2014 1 commit
    • RTL & dwarf2out changes · f768061c
      Convert dwarf2out and rtl.c to the new inchash interface.
      
      gcc/:
      
      2014-07-31  Andi Kleen  <ak@linux.intel.com>
      
      	* Makefile.in (OBJS): Add rtlhash.o
      	* dwarf2out.c (addr_table_entry_do_hash): Convert to inchash.
      	(loc_checksum): Dito.
      	(loc_checksum_ordered): Dito.
      	(hash_loc_operands): Dito.
      	(hash_locs): Dito.
      	(hash_loc_list): Dito.
      	* rtl.c (iterative_hash_rtx): Moved to rtlhash.c
      	* rtl.h (iterative_hash_rtx): Moved to rtlhash.h
      	* rtlhash.c: New file.
      	* rtlhash.h: New file.
      
      From-SVN: r213395
      Andi Kleen committed
  11. 02 Jan, 2014 1 commit
  12. 19 Nov, 2013 1 commit
    • Factor unrelated declarations out of tree.h. · d8a2d370
      This patch applies the rule that functions defined in FOO.c must be
      declared in FOO.h. One of the worst offenders in the code base is
      tree.h, unsurprisingly.
      
      The patch creates several new headers: attribs.h calls.h fold-const.h
      gcc-symtab.h print-rtl.h print-tree.h stmt.h stor-layout.h stringpool.h
      tree-nested.h tree-object-size.h varasm.h.
      
      Functions in each corresponding .c file got moved to those headers and
      others that already existed. I wanted to make this patch as mechanical
      as possible, so I made no attempt to fix problems like having
      build_addr defined in tree-inline.c. I left that for later.
      
      There were some declarations that I could not move out of tree.h
      because of header poisoning or the use of target macros. We forbid the
      inclusion of things like expr.h from FE files. While that's a
      reasonable idea, the FE file *still* manage to at expr.c functionality
      because the declarations they want to use were defined in tree.h.
      
      The affected files are builtins.h, emit-rtl.h and expr.h.
      
      If that functionality is allowed to be accessed from the FEs,
      then I will later move those functions out of expr.c into tree.c.
      I have moved these declarations to the bottom of tree.h so they
      are easy to identify later.
      
      There is a namespace collision with libcpp. The file gcc/symtab.c
      cannot use gcc/symtab.h because the #include command picks up
      libcpp/include/symtab.h first. So I named this file gcc-symtab.h
      for now.
      
      Finally, I added a new header to PLUGIN_HEADERS to account for the
      tree.h refactoring. I did not add all headers factored out of tree.h
      because it is unclear (and impossible to tell) what plugins need.
      This adds the one header used by the plugins in the testsuite.
      
      This will be changing quite dramatically as we progress with the header
      refactoring.
      
      This patch should offer some minimal incremental build advantages
      by reducing the size of tree.h. Changes that would otherwise
      affected tree.h, will now go to other headers which are less
      frequently included.
      
      	* tree.h: Include fold-const.h.
      	(aggregate_value_p): Moved to function.h.
      	(alloca_call_p): Moved to calls.h.
      	(allocate_struct_function): Moved to function.h.
      	(apply_tm_attr): Moved to attribs.h.
      	(array_at_struct_end_p): Moved to expr.h.
      	(array_ref_element_size): Moved to tree-dfa.h.
      	(array_ref_low_bound): Moved to tree-dfa.h.
      	(array_ref_up_bound): Moved to tree.h.
      	(assemble_alias): Moved to cgraph.h.
      	(bit_from_pos): Moved to stor-layout.h.
      	(build_addr): Moved to tree-nested.h.
      	(build_duplicate_type): Moved to tree-inline.h.
      	(build_fold_addr_expr): Moved to fold-const.h.
      	(build_fold_addr_expr_with_type): Moved to fold-const.h.
      	(build_fold_addr_expr_with_type_loc): Moved to fold-const.h.
      	(build_fold_indirect_ref): Moved to fold-const.h.
      	(build_fold_indirect_ref_loc): Moved to fold-const.h.
      	(build_personality_function): Moved to tree.h.
      	(build_range_check): Moved to fold-const.h.
      	(build_simple_mem_ref): Moved to fold-const.h.
      	(build_simple_mem_ref_loc): Moved to fold-const.h.
      	(build_tm_abort_call): Moved to trans-mem.h.
      	(byte_from_pos): Moved to stor-layout.h.
      	(call_expr_flags): Moved to calls.h.
      	(can_move_by_pieces): Moved to expr.h.
      	(categorize_ctor_elements): Moved to expr.h.
      	(change_decl_assembler_name): Moved to gcc-symtab.h.
      	(combine_comparisons): Moved to fold-const.h.
      	(complete_ctor_at_level_p): Moved to tree.h.
      	(component_ref_field_offset): Moved to tree-dfa.h.
      	(compute_builtin_object_size): Moved to tree-object-size.h.
      	(compute_record_mode): Moved to stor-layout.h.
      	(constant_boolean_node): Moved to fold-const.h.
      	(constructor_static_from_elts_p): Moved to varasm.h.
      	(cxx11_attribute_p): Moved to attribs.h.
      	(debug_body): Moved to print-tree.h.
      	(debug_find_tree): Moved to tree-inline.h.
      	(debug_fold_checksum): Moved to fold-const.h.
      	(debug_head): Moved to print-tree.h.
      	(debug_head): Moved to print-tree.h.
      	(debug_raw): Moved to print-tree.h.
      	(debug_tree): Moved to print-tree.h.
      	(debug_vec_tree): Moved to print-tree.h.
      	(debug_verbose): Moved to print-tree.h.
      	(debug_verbose): Moved to print-tree.h.
      	(decl_attributes): Moved to attribs.h.
      	(decl_binds_to_current_def_p): Moved to varasm.h.
      	(decl_default_tls_model): Moved to varasm.h.
      	(decl_replaceable_p): Moved to varasm.h.
      	(div_if_zero_remainder): Moved to fold-const.h.
      	(double_int mem_ref_offset): Moved to fold-const.h.
      	(dump_addr): Moved to print-tree.h.
      	(element_precision): Moved to machmode.h.
      	(expand_dummy_function_end): Moved to function.h.
      	(expand_function_end): Moved to function.h.
      	(expand_function_start): Moved to function.h.
      	(expand_label): Moved to stmt.h.
      	(expr_first): Moved to tree-iterator.h.
      	(expr_last): Moved to tree-iterator.h.
      	(finalize_size_functions): Moved to stor-layout.h.
      	(finish_builtin_struct): Moved to stor-layout.h.
      	(finish_record_layout): Moved to stor-layout.h.
      	(fixup_signed_type): Moved to stor-layout.h.
      	(fixup_unsigned_type): Moved to stor-layout.h.
      	(flags_from_decl_or_type): Moved to calls.h.
      	(fold): Moved to fold-const.h.
      	(fold_abs_const): Moved to fold-const.h.
      	(fold_binary): Moved to fold-const.h.
      	(fold_binary_loc): Moved to fold-const.h.
      	(fold_binary_to_constant): Moved to fold-const.h.
      	(fold_build1): Moved to fold-const.h.
      	(fold_build1_initializer_loc): Moved to fold-const.h.
      	(fold_build1_loc): Moved to fold-const.h.
      	(fold_build1_stat_loc): Moved to fold-const.h.
      	(fold_build2): Moved to fold-const.h.
      	(fold_build2_initializer_loc): Moved to fold-const.h.
      	(fold_build2_loc): Moved to fold-const.h.
      	(fold_build2_stat_loc): Moved to fold-const.h.
      	(fold_build3): Moved to fold-const.h.
      	(fold_build3_loc): Moved to fold-const.h.
      	(fold_build3_stat_loc): Moved to fold-const.h.
      	(fold_build_call_array): Moved to fold-const.h.
      	(fold_build_call_array_initializer): Moved to fold-const.h.
      	(fold_build_call_array_initializer_loc): Moved to fold-const.h.
      	(fold_build_call_array_loc): Moved to fold-const.h.
      	(fold_build_cleanup_point_expr): Moved to fold-const.h.
      	(fold_convert): Moved to fold-const.h.
      	(fold_convert_loc): Moved to fold-const.h.
      	(fold_convertible_p): Moved to fold-const.h.
      	(fold_defer_overflow_warnings): Moved to fold-const.h.
      	(fold_deferring_overflow_warnings_p): Moved to fold-const.h.
      	(fold_fma): Moved to fold-const.h.
      	(fold_ignored_result): Moved to fold-const.h.
      	(fold_indirect_ref): Moved to fold-const.h.
      	(fold_indirect_ref_1): Moved to fold-const.h.
      	(fold_indirect_ref_loc): Moved to fold-const.h.
      	(fold_read_from_constant_string): Moved to fold-const.h.
      	(fold_real_zero_addition_p): Moved to fold-const.h.
      	(fold_single_bit_test): Moved to fold-const.h.
      	(fold_strip_sign_ops): Moved to fold-const.h.
      	(fold_ternary): Moved to fold-const.h.
      	(fold_ternary_loc): Moved to fold-const.h.
      	(fold_unary): Moved to tree-data-ref.h.
      	(fold_unary_ignore_overflow): Moved to fold-const.h.
      	(fold_unary_ignore_overflow_loc): Moved to fold-const.h.
      	(fold_unary_loc): Moved to fold-const.h.
      	(fold_unary_to_constant): Moved to fold-const.h.
      	(fold_undefer_and_ignore_overflow_warnings): Moved to fold-const.h.
      	(fold_undefer_overflow_warnings): Moved to fold-const.h.
      	(folding_initializer): Moved to fold-const.h.
      	(free_temp_slots): Moved to function.h.
      	(generate_setjmp_warnings): Moved to function.h.
      	(get_attribute_name): Moved to attribs.h.
      	(get_identifier): Moved to stringpool.h.
      	(get_identifier_with_length): Moved to stringpool.h.
      	(get_inner_reference): Moved to tree.h.
      	(gimple_alloca_call_p): Moved to calls.h.
      	(gimplify_parameters): Moved to function.h.
      	(highest_pow2_factor): Moved to expr.h.
      	(indent_to): Moved to print-tree.h.
      	(init_attributes): Moved to attribs.h.
      	(init_dummy_function_start): Moved to function.h.
      	(init_function_start): Moved to function.h.
      	(init_inline_once): Moved to tree-inline.h.
      	(init_object_sizes): Moved to tree-object-size.h.
      	(init_temp_slots): Moved to function.h.
      	(init_tree_optimization_optabs): Moved to optabs.h.
      	(initialize_sizetypes): Moved to stor-layout.h.
      	(initializer_constant_valid_for_bitfield_p): Moved to varasm.h.
      	(initializer_constant_valid_p): Moved to varasm.h.
      	(int_const_binop): Moved to fold-const.h.
      	(internal_reference_types): Moved to stor-layout.h.
      	(invert_tree_comparison): Moved to fold-const.h.
      	(invert_truthvalue): Moved to fold-const.h.
      	(invert_truthvalue_loc): Moved to fold-const.h.
      	(is_tm_ending_fndecl): Moved to trans-mem.h.
      	(is_tm_may_cancel_outer): Moved to trans-mem.h.
      	(is_tm_pure): Moved to trans-mem.h.
      	(is_tm_safe): Moved to trans-mem.h.
      	(layout_decl): Moved to stor-layout.h.
      	(layout_type): Moved to stor-layout.h.
      	(lookup_attribute_spec): Moved to attribs.h.
      	(make_accum_type): Moved to stor-layout.h.
      	(make_decl_one_only): Moved to varasm.h.
      	(make_decl_rtl): Moved to tree.h.
      	(make_decl_rtl_for_debug): Moved to varasm.h.
      	(make_fract_type): Moved to stor-layout.h.
      	(make_or_reuse_sat_signed_accum_type): Moved to stor-layout.h.
      	(make_or_reuse_sat_signed_fract_type): Moved to stor-layout.h.
      	(make_or_reuse_sat_unsigned_accum_type): Moved to stor-layout.h.
      	(make_or_reuse_sat_unsigned_fract_type): Moved to stor-layout.h.
      	(make_or_reuse_signed_accum_type): Moved to stor-layout.h.
      	(make_or_reuse_signed_fract_type): Moved to stor-layout.h.
      	(make_or_reuse_unsigned_accum_type): Moved to stor-layout.h.
      	(make_or_reuse_unsigned_fract_type): Moved to stor-layout.h.
      	(make_range): Moved to fold-const.h.
      	(make_range_step): Moved to fold-const.h.
      	(make_sat_signed_accum_type): Moved to stor-layout.h.
      	(make_sat_signed_fract_type): Moved to stor-layout.h.
      	(make_sat_unsigned_accum_type): Moved to stor-layout.h.
      	(make_sat_unsigned_fract_type): Moved to stor-layout.h.
      	(make_signed_accum_type): Moved to stor-layout.h.
      	(make_signed_fract_type): Moved to stor-layout.h.
      	(make_signed_type): Moved to stor-layout.h.
      	(make_unsigned_accum_type): Moved to stor-layout.h.
      	(make_unsigned_fract_type): Moved to stor-layout.h.
      	(make_unsigned_type): Moved to stor-layout.h.
      	(mark_decl_referenced): Moved to varasm.h.
      	(mark_referenced): Moved to varasm.h.
      	(may_negate_without_overflow_p): Moved to fold-const.h.
      	(maybe_get_identifier): Moved to stringpool.h.
      	(merge_ranges): Moved to fold-const.h.
      	(merge_weak): Moved to varasm.h.
      	(mode_for_size_tree): Moved to stor-layout.h.
      	(multiple_of_p): Moved to fold-const.h.
      	(must_pass_in_stack_var_size): Moved to calls.h.
      	(must_pass_in_stack_var_size_or_pad): Moved to calls.h.
      	(native_encode_expr): Moved to fold-const.h.
      	(native_interpret_expr): Moved to fold-const.h.
      	(non_lvalue): Moved to fold-const.h.
      	(non_lvalue_loc): Moved to fold-const.h.
      	(normalize_offset): Moved to stor-layout.h.
      	(normalize_rli): Moved to stor-layout.h.
      	(notice_global_symbol): Moved to varasm.h.
      	(omit_one_operand): Moved to fold-const.h.
      	(omit_one_operand_loc): Moved to fold-const.h.
      	(omit_two_operands): Moved to fold-const.h.
      	(omit_two_operands_loc): Moved to fold-const.h.
      	(operand_equal_p): Moved to tree-data-ref.h.
      	(parse_input_constraint): Moved to stmt.h.
      	(parse_output_constraint): Moved to stmt.h.
      	(place_field): Moved to stor-layout.h.
      	(pop_function_context): Moved to function.h.
      	(pop_temp_slots): Moved to function.h.
      	(pos_from_bit): Moved to stor-layout.h.
      	(preserve_temp_slots): Moved to function.h.
      	(print_node): Moved to print-tree.h.
      	(print_node_brief): Moved to print-tree.h.
      	(print_rtl): Moved to rtl.h.
      	(process_pending_assemble_externals): Moved to varasm.h.
      	(ptr_difference_const): Moved to fold-const.h.
      	(push_function_context): Moved to function.h.
      	(push_struct_function): Moved to function.h.
      	(push_temp_slots): Moved to function.h.
      	(record_tm_replacement): Moved to trans-mem.h.
      	(relayout_decl): Moved to stor-layout.h.
      	(resolve_asm_operand_names): Moved to stmt.h.
      	(resolve_unique_section): Moved to varasm.h.
      	(rli_size_so_far): Moved to stor-layout.h.
      	(rli_size_unit_so_far): Moved to stor-layout.h.
      	(round_down): Moved to fold-const.h.
      	(round_down_loc): Moved to fold-const.h.
      	(round_up): Moved to fold-const.h.
      	(round_up_loc): Moved to fold-const.h.
      	(set_decl_incoming_rtl): Moved to emit-rtl.h.
      	(set_decl_rtl): Moved to tree.h.
      	(set_min_and_max_values_for_integral_type): Moved to stor-layout.h.
      	(set_user_assembler_name): Moved to varasm.h.
      	(setjmp_call_p): Moved to calls.h.
      	(size_binop): Moved to fold-const.h.
      	(size_binop_loc): Moved to fold-const.h.
      	(size_diffop): Moved to fold-const.h.
      	(size_diffop_loc): Moved to fold-const.h.
      	(size_int_kind): Moved to fold-const.h.
      	(stack_protect_epilogue): Moved to function.h.
      	(start_record_layout): Moved to stor-layout.h.
      	(supports_one_only): Moved to varasm.h.
      	(swap_tree_comparison): Moved to fold-const.h.
      	(tm_malloc_replacement): Moved to trans-mem.h.
      	(tree build_fold_addr_expr_loc): Moved to fold-const.h.
      	(tree build_invariant_address): Moved to fold-const.h.
      	(tree_binary_nonnegative_warnv_p): Moved to fold-const.h.
      	(tree_binary_nonzero_warnv_p): Moved to fold-const.h.
      	(tree_call_nonnegative_warnv_p): Moved to fold-const.h.
      	(tree_expr_nonnegative_p): Moved to fold-const.h.
      	(tree_expr_nonnegative_warnv_p): Moved to fold-const.h.
      	(tree_output_constant_def): Moved to varasm.h.
      	(tree_overlaps_hard_reg_set): Moved to stmt.h.
      	(tree_single_nonnegative_warnv_p): Moved to fold-const.h.
      	(tree_single_nonzero_warnv_p): Moved to fold-const.h.
      	(tree_swap_operands_p): Moved to fold-const.h.
      	(tree_unary_nonnegative_warnv_p): Moved to fold-const.h.
      	(tree_unary_nonzero_warnv_p): Moved to fold-const.h.
      	(update_alignment_for_field): Moved to stor-layout.h.
      	(use_register_for_decl): Moved to function.h.
      	(variable_size): Moved to rtl.h.
      	(vector_type_mode): Moved to stor-layout.h.
      	* cgraph.h: Corresponding changes.
      	* emit-rtl.h: Corresponding changes.
      	* expr.h: Corresponding changes.
      	* function.h: Corresponding changes.
      	* optabs.h: Corresponding changes.
      	* trans-mem.h: Corresponding changes.
      	Protect against multiple inclusion.
      	* tree-inline.h: Corresponding changes.
      	* tree-iterator.h: Corresponding changes.
      	* tree-dfa.h: Include expr.h.
      	* tree-ssanames.h: Include stringpool.h.
      	* attribs.h: New file.
      	* calls.h: New file.
      	* fold-const.h: New file.
      	* gcc-symtab.h: New file.
      	* print-rtl.h: New file.
      	* print-tree.h: New file.
      	* stmt.h: New file.
      	* stor-layout.h: New file.
      	* strinpool.h: New file.
      	* tree-nested.h: New file
      	* tree-object-size.h: New file.
      	* varasm.h: New file.
      	* Makefile.in (PLUGIN_HEADERS): Add stringpool.h.
      
      	* alias.c: Include varasm.h.
      	Include expr.h.
      	* asan.c: Include calls.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	* attribs.c: Include stringpool.h.
      	Include attribs.h.
      	Include stor-layout.h.
      	* builtins.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	Include tree-object-size.h.
      	* calls.c: Include stor-layout.h.
      	Include varasm.h.
      	Include stringpool.h.
      	Include attribs.h.
      	* cfgexpand.c: Include stringpool.h.
      	Include varasm.h.
      	Include stor-layout.h.
      	Include stmt.h.
      	Include print-tree.h.
      	* cgraph.c: Include varasm.h.
      	Include calls.h.
      	Include print-tree.h.
      	* cgraphclones.c: Include stringpool.h.
      	Include function.h.
      	Include emit-rtl.h.
      	Move inclusion of rtl.h earlier in the file.
      	* cgraphunit.c: Include varasm.h.
      	Include stor-layout.h.
      	Include stringpool.h.
      	* cilk-common.c: Include stringpool.h.
      	Include stor-layout.h.
      	* combine.c: Include stor-layout.h.
      	* config/aarch64/aarch64-builtins.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include calls.h.
      	* config/aarch64/aarch64.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/alpha/alpha.c: Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/arc/arc.c: Include varasm.h.
      	Include stor-layout.h.
      	Include stringpool.h.
      	Include calls.h.
      	* config/arm/arm.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/avr/avr-c.c: Include stor-layout.h.
      	* config/avr/avr-log.c: Include print-tree.h.
      	* config/avr/avr.c: Include print-tree.h.
      	Include calls.h.
      	Include stor-layout.h.
      	Include stringpool.h.
      	* config/bfin/bfin.c: Include varasm.h.
      	Include calls.h.
      	* config/c6x/c6x.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	Include stringpool.h.
      	* config/cr16/cr16.c: Include stor-layout.h.
      	Include calls.h.
      	* config/cris/cris.c: Include varasm.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include stmt.h.
      	* config/darwin.c: Include stringpool.h.
      	Include varasm.h.
      	Include stor-layout.h.
      	* config/epiphany/epiphany.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	Include stringpool.h.
      	* config/fr30/fr30.c: Include stor-layout.h.
      	Include varasm.h.
      	* config/frv/frv.c: Include varasm.h.
      	Include stor-layout.h.
      	Include stringpool.h.
      	* config/h8300/h8300.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	Include stringpool.h.
      	* config/i386/i386.c: Include stringpool.h.
      	Include attribs.h.
      	Include calls.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	* config/i386/winnt-cxx.c: Include stringpool.h.
      	Include attribs.h.
      	* config/i386/winnt.c: Include stringpool.h.
      	Include varasm.h.
      	* config/ia64/ia64-c.c: Include stringpool.h.
      	* config/ia64/ia64.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/iq2000/iq2000.c: Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/lm32/lm32.c: Include calls.h.
      	* config/m32c/m32c.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/m32r/m32r.c: Include stor-layout.h.
      	Include varasm.h.
      	Include stringpool.h.
      	Include calls.h.
      	* config/m68k/m68k.c: Include calls.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	* config/mcore/mcore.c: Include stor-layout.h.
      	Include varasm.h.
      	Include stringpool.h.
      	Include calls.h.
      	* config/mep/mep.c: Include varasm.h.
      	Include calls.h.
      	Include stringpool.h.
      	Include stor-layout.h.
      	* config/microblaze/microblaze.c: Include varasm.h.
      	Include stor-layout.h.
      	Include calls.h.
      	* config/mips/mips.c: Include varasm.h.
      	Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	* config/mmix/mmix.c: Include varasm.h.
      	Include stor-layout.h.
      	Include calls.h.
      	* config/mn10300/mn10300.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/moxie/moxie.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/msp430/msp430.c: Include stor-layout.h.
      	Include calls.h.
      	* config/nds32/nds32.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/pa/pa.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/pdp11/pdp11.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/picochip/picochip.c: Include calls.h.
      	Include stor-layout.h.
      	Include stringpool.h.
      	Include varasm.h.
      	* config/rl78/rl78.c: Include varasm.h.
      	Include stor-layout.h.
      	Include calls.h.
      	* config/rs6000/rs6000-c.c: Include stor-layout.h.
      	Include stringpool.h.
      	* config/rs6000/rs6000.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include print-tree.h.
      	Include varasm.h.
      	* config/rx/rx.c: Include varasm.h.
      	Include stor-layout.h.
      	Include calls.h.
      	* config/s390/s390.c: Include print-tree.h.
      	Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/score/score.c: Include stringpool.h.
      	Include calls.h.
      	Include varasm.h.
      	Include stor-layout.h.
      	* config/sh/sh-c.c: Include stringpool.h.
      	Include attribs.h.h.
      	* config/sh/sh.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/sol2-c.c: Include stringpool.h.
      	Include attribs.h.
      	* config/sol2-cxx.c: Include stringpool.h.
      	* config/sol2.c: Include stringpool.h.
      	Include varasm.h.
      	* config/sparc/sparc.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/spu/spu-c.c: Include stringpool.h.
      	* config/spu/spu.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/stormy16/stormy16.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/tilegx/tilegx.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/tilepro/tilepro.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/v850/v850-c.c: Include stringpool.h.
      	Include attribs.h.
      	* config/v850/v850.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/vax/vax.c: Include calls.h.
      	Include varasm.h.
      	* config/vms/vms.c: Include stringpool.h.
      	* config/vxworks.c: Include stringpool.h.
      	* config/xtensa/xtensa.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* convert.c: Include stor-layout.h.
      	* coverage.c: Include stringpool.h.
      	Include stor-layout.h.
      	* dbxout.c: Include varasm.h.
      	Include stor-layout.h.
      	* dojump.c: Include stor-layout.h.
      	* dse.c: Include stor-layout.h.
      	* dwarf2asm.c: Include stringpool.h.
      	Include varasm.h.
      	* dwarf2cfi.c: Include stor-layout.h.
      	* dwarf2out.c: Include rtl.h.
      	Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include function.h.
      	Include emit-rtl.h.
      	Move inclusion of rtl.h earlier in the file.
      	* emit-rtl.c: Include varasm.h.
      	* except.c: Include stringpool.h.
      	Include stor-layout.h.
      	* explow.c: Include stor-layout.h.
      	* expmed.c: Include stor-layout.h.
      	* expr.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include attribs.h.
      	Include varasm.h.
      	* final.c: Include varasm.h.
      	* fold-const.c: Include stor-layout.h.
      	Include calls.h.
      	Include tree-iterator.h.
      	* function.c: Include stor-layout.h.
      	Include varasm.h.
      	Include stringpool.h.
      	* genattrtab.c (write_header): Emit includes for varasm.h,
      	stor-layout.h and calls.h.
      	* genautomata.c (main): Likewise.
      	* genemit.c: Likewise.
      	* genopinit.c: Likewise.
      	* genoutput.c (output_prologue): Likewise.
      	* genpeep.c: Likewise.
      	* genpreds.c (write_insn_preds_c): Likewise.
      	* gengtype.c (open_base_files): Add stringpool.h.
      	* gimple-expr.c: Include stringpool.h.
      	Include stor-layout.h.
      	* gimple-fold.c: Include stringpool.h.
      	Include expr.h.
      	Include stmt.h.
      	Include stor-layout.h.
      	* gimple-low.c: Include tree-nested.h.
      	Include calls.h.
      	* gimple-pretty-print.c: Include stringpool.h.
      	* gimple-ssa-strength-reduction.c: Include stor-layout.h.
      	Include expr.h.
      	* gimple-walk.c: Include stmt.h.
      	* gimple.c: Include calls.h.
      	Include stmt.h.
      	Include stor-layout.h.
      	* gimplify.c: Include stringpool.h.
      	Include calls.h.
      	Include varasm.h.
      	Include stor-layout.h.
      	Include stmt.h.
      	Include print-tree.h.
      	Include expr.h.
      	* gimplify-me.c: Include stmt.h
      	Include stor-layout.h
      	* internal-fn.c: Include stor-layout.h.
      	* ipa-devirt.c: Include print-tree.h.
      	Include calls.h.
      	* ipa-inline-analysis.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include print-tree.h.
      	* ipa-inline.c: Include trans-mem.h.
      	Include calls.h.
      	* ipa-prop.c: Include expr.h.
      	Include stor-layout.h.
      	Include print-tree.h.
      	* ipa-pure-const.c: Include print-tree.h.
      	Include calls.h.
      	* ipa-reference.c: Include calls.h.
      	* ipa-split.c: Include stringpool.h.
      	Include expr.h.
      	Include calls.h.
      	* ipa.c: Include calls.h.
      	Include stringpool.h.
      	* langhooks.c: Include stringpool.h.
      	Include attribs.h.
      	* lto-cgraph.c: Include stringpool.h.
      	* lto-streamer-in.c: Include stringpool.h.
      	* lto-streamer-out.c: Include stor-layout.h.
      	Include stringpool.h.
      	* omp-low.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include expr.h.
      	* optabs.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include varasm.h.
      	* passes.c: Include varasm.h.
      	* predict.c: Include calls.h.
      	* print-rtl.c: Include print-tree.h.
      	* print-tree.c: Include varasm.h.
      	Include print-rtl.h.
      	Include stor-layout.h.
      	* realmpfr.c: Include stor-layout.h.
      	* reg-stack.c: Include varasm.h.
      	* sdbout.c: Include varasm.h.
      	Include stor-layout.h.
      	* simplify-rtx.c: Include varasm.h.
      	* stmt.c: Include varasm.h.
      	Include stor-layout.h.
      	* stor-layout.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include varasm.h.
      	Include print-tree.h.
      	* symtab.c: Include rtl.h.
      	Include print-tree.h.
      	Include varasm.h.
      	Include function.h.
      	Include emit-rtl.h.
      	* targhooks.c: Include stor-layout.h.
      	Include varasm.h.
      	* toplev.c: Include varasm.h.
      	Include tree-inline.h.
      	* trans-mem.c: Include calls.h.
      	Include function.h.
      	Include rtl.h.
      	Include emit-rtl.h.
      	* tree-affine.c: Include expr.h.
      	* tree-browser.c: Include print-tree.h.
      	* tree-call-cdce.c: Include stor-layout.h.
      	* tree-cfg.c: Include trans-mem.h.
      	Include stor-layout.h.
      	Include print-tree.h.
      	* tree-complex.c: Include stor-layout.h.
      	* tree-data-ref.c: Include expr.h.
      	* tree-dfa.c: Include stor-layout.h.
      	* tree-eh.c: Include expr.h.
      	Include calls.h.
      	* tree-emutls.c: Include stor-layout.h.
      	Include varasm.h.
      	* tree-if-conv.c: Include stor-layout.h.
      	* tree-inline.c: Include stor-layout.h.
      	Include calls.h.
      	* tree-loop-distribution.c: Include stor-layout.h.
      	* tree-nested.c: Include stringpool.h.
      	Include stor-layout.h.
      	* tree-object-size.c: Include tree-object-size.h.
      	* tree-outof-ssa.c: Include stor-layout.h.
      	* tree-parloops.c: Include stor-layout.h.
      	Include tree-nested.h.
      	* tree-pretty-print.c: Include stor-layout.h.
      	Include expr.h.
      	* tree-profile.c: Include varasm.h.
      	Include tree-nested.h.
      	* tree-scalar-evolution.c: Include expr.h.
      	* tree-sra.c: Include stor-layout.h.
      	* tree-ssa-address.c: Include stor-layout.h.
      	* tree-ssa-ccp.c: Include stor-layout.h.
      	* tree-ssa-dce.c: Include calls.h.
      	* tree-ssa-dom.c: Include stor-layout.h.
      	* tree-ssa-forwprop.c: Include stor-layout.h.
      	* tree-ssa-ifcombine.c: Include stor-layout.h.
      	* tree-ssa-loop-ivopts.c: Include stor-layout.h.
      	* tree-ssa-loop-niter.c: Include calls.h.
      	Include expr.h.
      	* tree-ssa-loop-prefetch.c: Include stor-layout.h.
      	* tree-ssa-math-opts.c: Include stor-layout.h.
      	* tree-ssa-operands.c: Include stmt.h.
      	Include print-tree.h.
      	* tree-ssa-phiopt.c: Include stor-layout.h.
      	* tree-ssa-reassoc.c: Include stor-layout.h.
      	* tree-ssa-sccvn.c: Include stor-layout.h.
      	* tree-ssa-sink.c: Include stor-layout.h.
      	* tree-ssa-strlen.c: Include stor-layout.h.
      	* tree-ssa-structalias.c: Include stor-layout.h.
      	Include stmt.h.
      	* tree-ssa-tail-merge.c: Include stor-layout.h.
      	Include trans-mem.h.
      	* tree-ssa-uncprop.c: Include stor-layout.h.
      	* tree-ssa.c: Include stor-layout.h.
      	* tree-ssanames.c: Include stor-layout.h.
      	* tree-streamer-in.c: Include stringpool.h.
      	* tree-streamer-out.c: Include stor-layout.h.
      	* tree-switch-conversion.c: Include varasm.h.
      	Include stor-layout.h.
      	* tree-tailcall.c: Include stor-layout.h.
      	* tree-vect-data-refs.c: Include stor-layout.h.
      	* tree-vect-generic.c: Include stor-layout.h.
      	* tree-vect-loop.c: Include stor-layout.h.
      	* tree-vect-patterns.c: Include stor-layout.h.
      	* tree-vect-slp.c: Include stor-layout.h.
      	* tree-vect-stmts.c: Include stor-layout.h.
      	* tree-vectorizer.c: Include stor-layout.h.
      	* tree-vrp.c: Include stor-layout.h.
      	Include calls.h.
      	* tree.c: Include stor-layout.h.
      	Include calls.h.
      	Include attribs.h.
      	Include varasm.h.
      	* tsan.c: Include expr.h.
      	* ubsan.c: Include stor-layout.h.
      	Include stringpool.h.
      	* value-prof.c: Include tree-nested.h.
      	Include calls.h.
      	* var-tracking.c: Include varasm.h.
      	Include stor-layout.h.
      	* varasm.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include gcc-symtab.h.
      	Include varasm.h.
      	* varpool.c: Include varasm.h.
      	* vmsdbgout.c: Include varasm.h.
      	* xcoffout.c: Include varasm.h.
      
      ada/ChangeLog
      
      	* gcc-interface/decl.c: Include stringpool.h
      	Include stor-layout.h
      	* gcc-interface/misc.c: Include stor-layout.h
      	Include print-tree.h
      	* gcc-interface/trans.c: Include stringpool.h
      	Include stor-layout.h
      	Include stmt.h
      	Include varasm.h
      	* gcc-interface/utils.c: Include stringpool.h
      	Include stor-layout.h
      	Include attribs.h
      	Include varasm.h
      	* gcc-interface/utils2.c: Include stringpool.h
      	Include stor-layout.h
      	Include attribs.h
      	Include varasm.h
      
      c-family/ChangeLog
      
      	* c-common.c: Include fold-const.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include stringpool.h.
      	Include attribs.h.
      	Include varasm.h.
      	Include trans-mem.h.
      	* c-cppbuiltin.c: Include stor-layout.h.
      	Include stringpool.h.
      	* c-format.c: Include stringpool.h.
      	* c-lex.c: Include stringpool.h.
      	Include stor-layout.h.
      	* c-pragma.c: Include stringpool.h.
      	Include attribs.h.
      	Include varasm.h.
      	Include gcc-symtab.h.
      	* c-pretty-print.c: Include stor-layout.h.
      	Include attribs.h.
      	* cilk.c: Include stringpool.h.
      	Include calls.h.
      
      c/ChangeLog
      
      	* c-decl.c: Include print-tree.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include attribs.h.
      	Include stringpool.h.
      	* c-lang.c: Include fold-const.h.
      	* c-parser.c: Include stringpool.h.
      	Include attribs.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include trans-mem.h.
      	* c-typeck.c: Include stor-layout.h.
      	Include trans-mem.h.
      	Include varasm.h.
      	Include stmt.h.
      
      cp/ChangeLog
      
      	* call.c: Include stor-layout.h.
      	Include trans-mem.h.
      	Include stringpool.h.
      	* class.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include attribs.h.
      	* cp-gimplify.c: Include stor-layout.h.
      	* cvt.c: Include stor-layout.h.
      	* decl.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include attribs.h.
      	Include calls.h.
      	* decl2.c: Include stringpool.h.
      	Include varasm.h.
      	Include attribs.h.
      	Include stor-layout.h.
      	Include calls.h.
      	* error.c: Include stringpool.h.
      	* except.c: Include stringpool.h.
      	Include trans-mem.h.
      	Include attribs.h.
      	* init.c: Include stringpool.h.
      	Include varasm.h.
      	* lambda.c: Include stringpool.h.
      	* lex.c: Include stringpool.h.
      	* mangle.c: Include stor-layout.h.
      	Include stringpool.h.
      	* method.c: Include stringpool.h.
      	Include varasm.h.
      	* name-lookup.c: Include stringpool.h.
      	Include print-tree.h.
      	Include attribs.h.
      	* optimize.c: Include stringpool.h.
      	* parser.c: Include print-tree.h.
      	Include stringpool.h.
      	Include attribs.h.
      	Include trans-mem.h.
      	* pt.c: Include stringpool.h.
      	Include varasm.h.
      	Include attribs.h.
      	Include stor-layout.h.
      	* ptree.c: Include print-tree.h.
      	* repo.c: Include stringpool.h.
      	* rtti.c: Include stringpool.h.
      	Include stor-layout.h.
      	* semantics.c: Include stmt.h.
      	Include varasm.h.
      	Include stor-layout.h.
      	Include stringpool.h.
      	* tree.c: Include stor-layout.h.
      	Include print-tree.h.
      	Include tree-iterator.h.
      	* typeck.c: Include stor-layout.h.
      	Include varasm.h.
      	* typeck2.c: Include stor-layout.h.
      	Include varasm.h.
      	* vtable-class-hierarchy.c: Include stringpool.h.
      	Include stor-layout.h.
      
      fortran/ChangeLog
      
      	* decl.c: Include stringpool.h.
      	* iresolve.c: Include stringpool.h.
      	* match.c: Include stringpool.h.
      	* module.c: Include stringpool.h.
      	* target-memory.c: Include stor-layout.h.
      	* trans-common.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	* trans-const.c: Include stor-layout.h.
      	* trans-decl.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include attribs.h.
      	* trans-expr.c: Include stringpool.h.
      	* trans-intrinsic.c: Include stringpool.h.
      	Include tree-nested.h.
      	Include stor-layout.h.
      	* trans-io.c: Include stringpool.h.
      	Include stor-layout.h.
      	* trans-openmp.c: Include stringpool.h.
      	* trans-stmt.c: Include stringpool.h.
      	* trans-types.c: Include stor-layout.h.
      	Include stringpool.h.
      	* trans.c: Include stringpool.h.
      
      go/ChangeLog
      
      	* go-backend.c: Include stor-layout.h.
      	* go-gcc.cc: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	* go-lang.c: Include stor-layout.h.
      
      java/ChangeLog
      
      	* builtins.c: Include stor-layout.h.
      	Include stringpool.h.
      	* class.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	* constants.c: Include stringpool.h.
      	Include stor-layout.h.
      	* decl.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include varasm.h.
      	* except.c: Include stringpool.h.
      	Include stor-layout.h.
      	* expr.c: Include stringpool.h.
      	Include stor-layout.h.
      	* jcf-parse.c: Include stringpool.h.
      	* mangle.c: Include stringpool.h.
      	* resource.c: Include stringpool.h.
      	Include stor-layout.h.
      	* typeck.c: Include stor-layout.h.
      	Include stringpool.h.
      	* verify-glue.c: Include stringpool.h.
      
      lto/ChangeLog
      	* lto-lang.c: Include stringpool.h.
      	Include stor-layout.h.
      	* lto-partition.c: Include gcc-symtab.h.
      	* lto.c: Include stor-layout.h.
      
      objc/ChangeLog
      	* objc-act.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include attribs.h.
      	* objc-encoding.c: Include stringpool.h.
      	Include stor-layout.h.
      	* objc-gnu-runtime-abi-01.c: Include stringpool.h.
      	* objc-next-runtime-abi-01.c:
      	Include stringpool.h.
      	* objc-next-runtime-abi-02.c: Include stringpool.h.
      	* objc-runtime-shared-support.c: Include stringpool.h.
      
      testsuite/ChangeLog
      
      	* gcc.dg/plugin/selfassign.c: Include stringpool.h.
      	* gcc.dg/plugin/start_unit_plugin.c: Likewise.
      
      From-SVN: r205023
      Diego Novillo committed
  13. 10 Jan, 2013 1 commit
  14. 26 Jul, 2007 1 commit
  15. 25 Jun, 2005 1 commit
  16. 01 Jun, 2003 1 commit
    • sdbout.h: Use ISO C90 prototypes. · cef2bd3e
      	* sdbout.h: Use ISO C90 prototypes.
      
      	* sdbout.c (CONTIN): Removed empty macro.
      	(sdbout_one_type): Remove CONTIN usages.
      	Remove ^Ls.
      	(tag_of_ru_type): Remove #if 0'ed function.
      	(sdbout_symbol): Remove #if 0'ed code.
      	(sdbout_one_type): Remove a #if 1.
      	(sdbout_one_type): Remove #if 0'ed code.
      	(sdbout_init): Remove RMS_QUICK_HACK_1 code.
      	Remove PARAMS, use ISO C90 prototypes for all functions.
      
      From-SVN: r67294
      Andreas Jaeger committed
  17. 22 Aug, 2001 1 commit
    • Makefile.in, [...]: replace "GNU CC" with "GCC". · 1322177d
      	* Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
      	bitmap.h, builtin-types.def, builtins.c, builtins.def,
      	c-aux-info.c, c-common.c, c-common.def, c-common.h,
      	c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
      	c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
      	c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
      	caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
      	conditions.h, config.gcc, configure.frag, configure.in,
      	conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
      	cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
      	dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
      	doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
      	dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
      	emit-rtl.c, errors.c, errors.h, except.c, except.h,
      	exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
      	fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
      	function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
      	gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
      	gencheck.c, gencodes.c, genconfig.c, genemit.c,
      	genextract.c, genflags.c, gengenrtl.c, genmultilib,
      	genopinit.c, genoutput.c, genpeep.c, genrecog.c,
      	gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
      	ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
      	graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
      	gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
      	gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
      	hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
      	integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
      	libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
      	machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
      	mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
      	mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
      	params.h, predict.c, predict.def, predict.h, prefix.c,
      	prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
      	read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
      	regclass.c, regmove.c, regrename.c, regs.h, reload.c,
      	reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
      	rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
      	sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
      	sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
      	ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
      	stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
      	tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
      	tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
      	unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
      	unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
      	xcoffout.h: replace "GNU CC" with "GCC".
      
      From-SVN: r45105
      Lars Brinkhoff committed
  18. 19 Jul, 2001 1 commit
    • Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h. · e1772ac0
      	* Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
      	(final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
      	(toplev.o): Don't depend on xcoffout.h.
      	* c-decl.c: Include debug.h
      	(duplicate_decls): Use debug hook.
      	* dbxout.c (dbxout_source_file, dbxout_args): Make static.
      	(dbx_debug_hooks, xcoff_debug_hooks): Update.
      	(dbxout_types): Remove.
      	* dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
      	* debug.c (do_nothing_debug_hooks): Update.
      	(debug_true_tree, debug_nothing_rtx): New.
      	* debug.h (struct rtx_def): New.
      	(struct gcc_debug_hooks): New hooks ignore_block,
      	outlining_inline_function and label.
      	(debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
      	dwarf2out_frame_finish): New.
      	* dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
      	Make static, update prototype.
      	(dwarf2_debug_hooks): Update.
      	* dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
      	dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
      	* dwarfout.c (dwarf_debug_hooks): Update.
      	* emit-rtl.c: Include debug.h.
      	(remove_unnecessary_notes): Use debug hook.
      	* final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
      	(final_scan_insn): Use debug hook.
      	* integrate.c (output_inline_function): Use debug hook.
      	* sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
      	(sdb_debug_hooks): Update.
      	* sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
      	* toplev.c: Don't include xcoffout.h.
      	(note_outlining_of_inline_function, debug_ignore_block): Remove.
      	* toplev.h (note_outlining_of_inline_function, debug_ignore_block):
      	Remove.
      	* tree.h (dwarf2out_do_frame): Remove.
      
      From-SVN: r44163
      Neil Booth committed
  19. 17 Jul, 2001 1 commit
    • dbxout.c (dbxout_really_begin_function): Rename to dbxout_begin_function. · 653e276c
      	* dbxout.c (dbxout_really_begin_function): Rename to
      	dbxout_begin_function.
      	(dbx_debug_hooks, xcoff_debug_hooks): Update.
      	(dbxout_begin_function): Remove.
      	(dbxout_function): Update.
      	(dbxout_source_line): Update prototype.
      	* dbxout.h (dbxout_begin_function): Remove.
      	* debug.c (do_nothing_debug_hooks): Update.
      	(debug_nothing_tree): Update.
      	(debug_nothing_charstar_rtx): Remove.
      	* debug.h (union tree_node): Declare.
      	(struct rtx_def): Remove.
      	(gcc_debug_hooks): New hooks begin_prologue, end_prologue,
      	begin_function.  Change source_line prototype.
      	(debug_nothing_tree): New.
      	(debug_nothing_charstar_rtx): Delete.
      	(dwarf2out_begin_prologue): Moved from ...
      	* tree.h: ... here.
      	* dwarf2out.c (dwarf2_debug_hooks): Update.
      	(dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
      	debug info, call dwarf2out_source_line.
      	(dwarf2out_souce_line): Update prototype.
      	* dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
      	Change prototype, make static.
      	(dwarfout_source_line): Update prototype.
      	(dwarf_debug_hooks): Update.
      	* dwarfout.h (dwarfout_begin_function): Remove.
      	* final.c (final_start_function, final_scan_insn): Use appropriate
      	debug hooks, update to use notice_source_line.
      	(output_source_line): Rename notice_source_line.  Don't call the
      	source_line debug hook.
      	* sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
      	make static, update prototype.
      	(sdbout_mark_begin_function): Rename sdbout_begin_function, update
      	prototype.
      	(sdbout_end_prologue): New.
      	(sdbout_source_line): Update prototype.
      	(sdbout_debug_hooks): Update.
      	(sdbout_symbol): Remove unused var.
      	* sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
      	Delete.
      	* varasm.c: Include debug.h.
      	(assemble_start_function): Use begin_function debug_hook.
      	* xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
      	update with prototype.
      	(xcoffout_source_line): Update prototype.
      	* xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
      	update prototype.
      	(xcoffout_source_line): Update prototype.
      
      From-SVN: r44087
      Neil Booth committed
  20. 15 Jul, 2001 1 commit
    • dbxout.c (dbxout_source_line): Make static, update prototype. · e2a12aca
      	* dbxout.c (dbxout_source_line): Make static, update prototype.
      	(dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
      	(dbxout_init, dbxout_finish, dbxout_source_line,
      	dbxout_begin_block, dbxout_end_block): Update for new prototypes.
      	* dbxout.h (dbxout_source_line): Delete.
      	* debug.c (debug_nothing_file, debug_nothing_file_int,
      	debug_nothing_file_charstar_rtx): New.
      	(do_nothing_debug_hooks): Update.
      	(debug_nothing_void, debug_nothing_charstar_rtx,
      	dwarf2out_end_epilogue): New.
      	(debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
      	* debug.h (struct rtx_def): Declare.
      	(gcc_debug_hooks): New hooks source_line, end_epilogue
      	and end_function.
      	(debug_nothing_void, debug_nothing_charstar_rtx,
      	dwarf2out_end_epilogue): New.
      	(debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
      	* dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
      	(dwarf2_debug_hooks): Update.
      	(dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
      	dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
      	* dwarf2out.h (dwarf2out_source_line): Remove.
      	* dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
      	Make static, update prototype.
      	(dwarfout_init, dwarfout_finish, dwarfout_source_line,
      	dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
      	(dwarf_debug_hooks): Update.
      	* dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
      	dwarfout_end_function): Remove.
      	* final.c (profile_function): Use debug hooks for ending functions
      	and epilogues.
      	(output_source_line, final_end_function): Update prototype,
      	use debug hooks.
      	(final_start_function, final_scan_insn): Update.
      	* output.h (sdb_begin_function_line): Remove.
      	(final_end_function): Update prototype.
      	* sdbout.c (sdb_begin_function_line): Make static.
      	(PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
      	(sdbout_source_line): New.
      	(sdbout_end_epilogue, sdbout_end_function): Make static, update
      	prototypes.
      	(sdb_debug_hooks): Update.
      	(sdbout_init, sdbout_source_line,
      	sdbout_begin_block, sdbout_end_block): Update for new prototypes.
      	* sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
      	* toplev.c (compile_file, rest_of_compilation): Update.
      	* tree.h (dwarf2out_end_epilogue): Move to debug.h.
      	* xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
      	xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
      	Update for prototype changes.
      	* xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
      	xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
      
      From-SVN: r44017
      Neil Booth committed
  21. 12 Jul, 2001 1 commit
    • Makefile.in (final.o): Depend on debug.h. · a5a42b92
      	* Makefile.in (final.o): Depend on debug.h.
      	* dbxout.c (dbxout_begin_block, dbxout_end_block): New.
      	(dbx_debug_hooks): Add new hooks.
      	(xcoff_debug_hooks): New.
      	* debug.c (debug_nothing_file_int_int): New.
      	(do_nothing_debug_hooks): Update.
      	* debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
      	(debug_nothing_file_int_int): New.
      	* dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
      	static, update prototype.
      	(dwarf2_debug_hooks): Update.
      	* dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
      	* dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
      	static, update prototype.
      	(dwarf_debug_hooks): Update.
      	* dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
      	* final.c: Include debug.h.
      	(final_scan_insn): Use debug hooks when beginning and ending blocks.
      	* sdbout.c (sdbout_begin_block, sdbout_end_block): Make
      	static, update prototype.
      	(sdb_debug_hooks): Update.
      	* sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
      	* toplev.c: Distinguish between xcoff and dbx.
      
      	* f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
      	Call all debug hooks, not just dwarf ones.
      
      From-SVN: r43959
      Neil Booth committed
  22. 11 Jul, 2001 1 commit
    • Makefile.in (c-lex.o): Wrap long lines. · 7f905405
      	* Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
      	* c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
      	hooks directly.
      	* dbxout.c (dbx_debug_hooks): Add new hooks.
      	(dbxout_start_new_source_file): Rename dbxout_start_source_file,
      	make static.
      	(dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
      	make static.
      	* dbxout.h (dbxout_start_new_source_file,
      	dbxout_resume_previous_source_file): Delete.
      	* debug.c (do_nothing_debug_hooks): Add new hooks.
      	(debug_nothing_init_finish): Rename debug_nothing_file_charstar.
      	(debug_nothing_int_charstar, debug_nothing_int): New.
      	* debug.h (gcc_debug_hooks): New hooks define, undef,
      	start_source_file and end_source_file.
      	(debug_nothing_init_finish): Rename debug_nothing_file_charstar.
      	(debug_nothing_int_charstar, debug_nothing_int): New.
      	* dwarf2out.c (dwarf2_debug_hooks): Add new hooks.
      	(dwarf2out_start_source_file, dwarf2out_end_source_file,
      	dwarf2out_define, dwarf2out_undef): Make static.
      	* dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
      	dwarf2out_define, dwarf2out_undef): Remove.
      	* dwarfout.c (dwarf_debug_hooks): Add new hooks.
      	(dwarfout_start_source_file, dwarfout_end_source_file,
      	dwarfout_define, dwarfout_undef): Make static.
      	(dwarfout_start_source_file_check,
      	dwarfout_end_source_file_check): New.
      	(dwarfout_define, dwarfout_finish): Update.
      	* dwarfout.h (dwarfout_start_new_source_file,
      	dwarfout_resume_previous_source_file, dwarfout_define,
      	dwarfout_undef): Remove.
      	* sdbout.c (sdb_debug_hooks): Add new hooks.
      	(sdbout_start_new_source_file): Rename sdbout_start_source_file,
      	make static.
      	(sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
      	make static, take an arg.
      	* sdbout.h (sdbout_start_new_source_file,
      	sdbout_resume_previous_source_file): Delete.
      	* toplev.c (debug_start_source_file, debug_end_source_file,
      	debug_define, debug_undef): Delete.
      	* toplev.h (debug_start_source_file, debug_end_source_file,
      	debug_define, debug_undef): Delete.
      
      	* java/jcf-parse.c: Include debug.h.
      	(parse_class_file): Update to use debug hooks directly.
      	* java/Make-lang.in (jcf-parse.o): Depend on debug.h.
      
      From-SVN: r43952
      Neil Booth committed
  23. 10 Jul, 2001 1 commit
    • Makefile.in (toplev.o, [...]): Depend on debug.h, wrap long lines. · a51d908e
      	* Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
      	dwarf2out.o): Depend on debug.h, wrap long lines.
      	* dbxout.c: Include debug.h.
      	(dbx_debug_hooks): New.
      	(dbxout_init): Make static, take just 2 args.
      	(dbxout_finish): Make static.
      	* dbxout.h (dbxout_init, dbxout_finish): Delete.
      	* debug.c: New file.
      	* debug.h: New file.
      	* dwarf2out.c: Include debug.h.
      	(dwarf2_debug_hooks): New.
      	(dwarf2out_init): Make static.
      	(dwarf2out_finish): Make static, take 2 args.
      	* dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
      	* dwarfout.c: Include debug.h.
      	(dwarf_debug_hooks): New.
      	(dwarfout_init): Make static.
      	(dwarfout_finish): Make static, take 2 args.
      	* dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
      	* sdbout.c: Include debug.h.
      	(sdb_debug_hooks): New.
      	(sdbout_init): Make static, take 2 args.
      	* sdbout.h (sdbout_init): Delete.
      	* toplev.c: Include debug.h.
      	(debug_hooks): New.
      	(compile_file): Set deubg_hooks based on command line options.
      	Use the hooks unconditionally rather than conditional compilation.
      
      From-SVN: r43908
      Neil Booth committed
  24. 06 Jun, 2000 1 commit
  25. 17 Jan, 2000 2 commits
  26. 22 Jun, 1998 1 commit
    • Warning fixes: · e016950d
              * reload1.c (reload_cse_regs): Cast first arg of `bzero' to char *.
              * sdbout.c: Include output.h and toplev.h.
              (PUT_SDB_INT_VAL): Use HOST_WIDE_INT_PRINT_DEV to print argument
              `a'.  Cast `a' to HOST_WIDE_INT to force it to always be so.
              (PUT_SDB_SIZE): Likewise.
              * sdbout.h (sdbout_mark_begin_function): Add prototype.
              * stmt.c (check_for_full_enumeration_handling): Cast argument of
              `warning' to long and use %ld specifier.
              * toplev.c (main): Likewise for `fprintf'.
              * toplev.h (output_file_directive): Add prototype.
              * unroll.c (unroll_loop): Use HOST_WIDE_INT_PRINT_DEC specifier in
              call to `fprintf'.
              (precondition_loop_p): Likewise.
              * varasm.c Include sdbout.h.
              (assemble_static_space): Move sometimes-unused variable `rounded'
              into the scope in which it is used.
      
      From-SVN: r20651
      Kaveh R. Ghazi committed
  27. 18 May, 1998 1 commit
    • dwarfout.h, [...]: New files. · 76ead72b
              * dwarfout.h, dwarf2out.h, dbxout.h, sdbout.h:  New files.
              Prototypes for externally used functions in respective C files.
              * dwarfout.c, dbxout.c, dwarf2out.c, sdbout.c, toplev,c,
              final.c: Include above files.
              * Makefile.in (toplev.o): Add dependency for above four headers.
              (final.o): Likewise.
              (dwarfout.o, dbxout.o, dwarf2out.o, sdbout.o): Depend on four
              respective header files.
      
      From-SVN: r19835
      Robert Lipe committed
  28. 22 Feb, 1998 1 commit
  29. 06 Dec, 1997 1 commit
  30. 11 Aug, 1997 1 commit
  31. 15 Jun, 1995 1 commit
  32. 13 Feb, 1994 1 commit
  33. 30 Oct, 1993 2 commits
  34. 29 Oct, 1993 1 commit
  35. 24 May, 1993 1 commit
  36. 11 Jan, 1993 1 commit
  37. 11 Oct, 1992 2 commits