diff options
author | Diego Novillo <dnovillo@google.com> | 2013-11-19 07:31:09 -0500 |
---|---|---|
committer | Diego Novillo <dnovillo@gcc.gnu.org> | 2013-11-19 07:31:09 -0500 |
commit | d8a2d370dc8e418c97cfacbef66a86ab444e94d2 (patch) | |
tree | 058d42df305c5405dc414593bf44994dd6f03cfe /gcc | |
parent | b9a55b135e5482e2484c27b6233ebf9132347ee5 (diff) | |
download | gcc-d8a2d370dc8e418c97cfacbef66a86ab444e94d2.zip gcc-d8a2d370dc8e418c97cfacbef66a86ab444e94d2.tar.gz gcc-d8a2d370dc8e418c97cfacbef66a86ab444e94d2.tar.bz2 |
Factor unrelated declarations out of tree.h.
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
Diffstat (limited to 'gcc')
339 files changed, 2433 insertions, 568 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d1b78d1..9e82c2f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -911,6 +911,723 @@ * config/tilepro/tilepro.c: Likewise. * config/xtensa/xtensa.c: Likewise. +2013-11-14 Diego Novillo <dnovillo@google.com> + + * Makefile.in (PLUGIN_HEADERS): Add stringpool.h. + +2013-11-14 Diego Novillo <dnovillo@google.com> + + * 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. + +2013-11-14 Diego Novillo <dnovillo@google.com> + + * 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. + 2013-11-14 Joern Rennecke <joern.rennecke@embecosm.com> * config/arc/arc.md (doloop_begin_i): Remove extra alignment; diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 77fba80..8cc8341 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -3115,7 +3115,7 @@ PLUGIN_HEADERS = $(TREE_H) $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \ cppdefault.h flags.h $(MD5_H) params.def params.h prefix.h tree-inline.h \ $(GIMPLE_PRETTY_PRINT_H) realmpfr.h \ $(IPA_PROP_H) $(TARGET_H) $(RTL_H) $(TM_P_H) $(CFGLOOP_H) $(EMIT_RTL_H) \ - version.h + version.h stringpool.h # generate the 'build fragment' b-header-vars s-header-vars: Makefile diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index a9fd65b..4d55405 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -64,6 +64,25 @@ * gcc-interface/trans.c: Include gimple.h and pointer-set.h. +2013-11-14 Diego Novillo <dnovillo@google.com> + + * 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 + 2013-11-12 Andrew MacLeod <amacleod@redhat.com> * gcc-interface/trans.c: Include gimplify.h. diff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c index f5d7f2f..0d72be2 100644 --- a/gcc/ada/gcc-interface/decl.c +++ b/gcc/ada/gcc-interface/decl.c @@ -28,6 +28,8 @@ #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" #include "flags.h" #include "toplev.h" #include "ggc.h" diff --git a/gcc/ada/gcc-interface/misc.c b/gcc/ada/gcc-interface/misc.c index a82f6fd8..fc74be2 100644 --- a/gcc/ada/gcc-interface/misc.c +++ b/gcc/ada/gcc-interface/misc.c @@ -30,6 +30,8 @@ #include "options.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" +#include "print-tree.h" #include "diagnostic.h" #include "target.h" #include "ggc.h" diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c index f699fd8..53e6678 100644 --- a/gcc/ada/gcc-interface/trans.c +++ b/gcc/ada/gcc-interface/trans.c @@ -28,6 +28,10 @@ #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" +#include "stmt.h" +#include "varasm.h" #include "flags.h" #include "ggc.h" #include "output.h" diff --git a/gcc/ada/gcc-interface/utils.c b/gcc/ada/gcc-interface/utils.c index b92531b..4995ca4 100644 --- a/gcc/ada/gcc-interface/utils.c +++ b/gcc/ada/gcc-interface/utils.c @@ -28,6 +28,10 @@ #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" +#include "attribs.h" +#include "varasm.h" #include "flags.h" #include "toplev.h" #include "diagnostic-core.h" diff --git a/gcc/ada/gcc-interface/utils2.c b/gcc/ada/gcc-interface/utils2.c index c45f1c3..184a223 100644 --- a/gcc/ada/gcc-interface/utils2.c +++ b/gcc/ada/gcc-interface/utils2.c @@ -28,6 +28,9 @@ #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" +#include "stringpool.h" +#include "varasm.h" #include "flags.h" #include "toplev.h" #include "ggc.h" diff --git a/gcc/alias.c b/gcc/alias.c index f0bb32b..68650f0 100644 --- a/gcc/alias.c +++ b/gcc/alias.c @@ -24,6 +24,8 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "rtl.h" #include "tree.h" +#include "varasm.h" +#include "expr.h" #include "tm_p.h" #include "function.h" #include "alias.h" @@ -26,8 +26,12 @@ along with GCC; see the file COPYING3. If not see #include "gimple.h" #include "gimplify.h" #include "gimple-iterator.h" +#include "calls.h" +#include "varasm.h" +#include "stor-layout.h" #include "tree-iterator.h" #include "cgraph.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-pass.h" #include "asan.h" diff --git a/gcc/attribs.c b/gcc/attribs.c index 296bcd6..19b697d 100644 --- a/gcc/attribs.c +++ b/gcc/attribs.c @@ -22,6 +22,9 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" +#include "attribs.h" +#include "stor-layout.h" #include "flags.h" #include "diagnostic-core.h" #include "ggc.h" diff --git a/gcc/attribs.h b/gcc/attribs.h new file mode 100644 index 0000000..042e112 --- /dev/null +++ b/gcc/attribs.h @@ -0,0 +1,40 @@ +/* Declarations and definitions dealing with attribute handling. + Copyright (C) 2013 Free Software Foundation, Inc. + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 3, or (at your option) any later +version. + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with GCC; see the file COPYING3. If not see +<http://www.gnu.org/licenses/>. */ + +#ifndef GCC_ATTRIBS_H +#define GCC_ATTRIBS_H + +extern const struct attribute_spec *lookup_attribute_spec (const_tree); +extern void init_attributes (void); + +/* Process the attributes listed in ATTRIBUTES and install them in *NODE, + which is either a DECL (including a TYPE_DECL) or a TYPE. If a DECL, + it should be modified in place; if a TYPE, a copy should be created + unless ATTR_FLAG_TYPE_IN_PLACE is set in FLAGS. FLAGS gives further + information, in the form of a bitwise OR of flags in enum attribute_flags + from tree.h. Depending on these flags, some attributes may be + returned to be applied at a later stage (for example, to apply + a decl attribute to the declaration rather than to its type). */ +extern tree decl_attributes (tree *, tree, int); + +extern bool cxx11_attribute_p (const_tree); +extern tree get_attribute_name (const_tree); +extern void apply_tm_attr (tree, tree); + +#endif // GCC_ATTRIBS_H diff --git a/gcc/builtins.c b/gcc/builtins.c index 7dc980f..e962457 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -24,6 +24,11 @@ along with GCC; see the file COPYING3. If not see #include "machmode.h" #include "rtl.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" +#include "calls.h" +#include "varasm.h" +#include "tree-object-size.h" #include "realmpfr.h" #include "gimple.h" #include "flags.h" diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 89c975d..599c024 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -63,6 +63,29 @@ * c-gimplify.c: Likewise. * cilk.c: Likewise. +2013-11-14 Diego Novillo <dnovillo@google.com> + + * 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. + 2013-11-13 Joseph Myers <joseph@codesourcery.com> * c-common.h (enum rid): Add RID_AUTO_TYPE. diff --git a/gcc/c-family/c-common.c b/gcc/c-family/c-common.c index 83d6253..b4bd63b 100644 --- a/gcc/c-family/c-common.c +++ b/gcc/c-family/c-common.c @@ -23,6 +23,13 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "intl.h" #include "tree.h" +#include "fold-const.h" +#include "stor-layout.h" +#include "calls.h" +#include "stringpool.h" +#include "attribs.h" +#include "varasm.h" +#include "trans-mem.h" #include "flags.h" #include "c-pragma.h" #include "ggc.h" diff --git a/gcc/c-family/c-cppbuiltin.c b/gcc/c-family/c-cppbuiltin.c index c5e895c..eb96b83 100644 --- a/gcc/c-family/c-cppbuiltin.c +++ b/gcc/c-family/c-cppbuiltin.c @@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" +#include "stringpool.h" #include "version.h" #include "flags.h" #include "c-common.h" diff --git a/gcc/c-family/c-format.c b/gcc/c-family/c-format.c index b3e1e39..8f6c0db 100644 --- a/gcc/c-family/c-format.c +++ b/gcc/c-family/c-format.c @@ -22,6 +22,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" #include "flags.h" #include "c-common.h" #include "c-objc.h" diff --git a/gcc/c-family/c-lex.c b/gcc/c-family/c-lex.c index 6484352..85fa426 100644 --- a/gcc/c-family/c-lex.c +++ b/gcc/c-family/c-lex.c @@ -23,6 +23,8 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" #include "input.h" #include "c-common.h" #include "flags.h" diff --git a/gcc/c-family/c-pragma.c b/gcc/c-family/c-pragma.c index 029ab1e..70fb39a 100644 --- a/gcc/c-family/c-pragma.c +++ b/gcc/c-family/c-pragma.c @@ -22,6 +22,10 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" +#include "attribs.h" +#include "varasm.h" +#include "gcc-symtab.h" #include "function.h" /* For cfun. FIXME: Does the parser know when it is inside a function, so that we don't have to look at cfun? */ diff --git a/gcc/c-family/c-pretty-print.c b/gcc/c-family/c-pretty-print.c index 7898f13..af8a3fc 100644 --- a/gcc/c-family/c-pretty-print.c +++ b/gcc/c-family/c-pretty-print.c @@ -23,6 +23,8 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" +#include "attribs.h" #include "intl.h" #include "c-pretty-print.h" #include "tree-pretty-print.h" diff --git a/gcc/c-family/cilk.c b/gcc/c-family/cilk.c index 165348f..894a352 100644 --- a/gcc/c-family/cilk.c +++ b/gcc/c-family/cilk.c @@ -24,6 +24,8 @@ along with GCC; see the file COPYING3. If not see #include "system.h" #include "coretypes.h" #include "tree.h" +#include "stringpool.h" +#include "calls.h" #include "langhooks.h" #include "gimple.h" #include "gimplify.h" diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index e8a5365..92dbcee 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -39,6 +39,24 @@ * c-typeck.c: Include only gimplify.h and gimple.h as needed. +2013-11-14 Diego Novillo <dnovillo@google.com> + + * 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. + 2013-11-13 Joseph Myers <joseph@codesourcery.com> * c-tree.h (c_typespec_keyword): Add cts_auto_type. diff --git a/gcc/c/c-decl.c b/gcc/c/c-decl.c index 10933e8..4125bd9 100644 --- a/gcc/c/c-decl.c +++ b/gcc/c/c-decl.c @@ -31,6 +31,11 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "intl.h" #include "tree.h" +#include "print-tree.h" +#include "stor-layout.h" +#include "varasm.h" +#include "attribs.h" +#include "stringpool.h" #include "tree-inline.h" #include "flags.h" #include "function.h" diff --git a/gcc/c/c-lang.c b/gcc/c/c-lang.c index 614c46d..8b0dca6 100644 --- a/gcc/c/c-lang.c +++ b/gcc/c/c-lang.c @@ -23,6 +23,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "fold-const.h" #include "c-tree.h" #include "c-family/c-common.h" #include "langhooks.h" diff --git a/gcc/c/c-parser.c b/gcc/c/c-parser.c index 74eb13a..ea3aa9a 100644 --- a/gcc/c/c-parser.c +++ b/gcc/c/c-parser.c @@ -40,6 +40,11 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" /* For rtl.h: needs enum reg_class. */ #include "tree.h" +#include "stringpool.h" +#include "attribs.h" +#include "stor-layout.h" +#include "varasm.h" +#include "trans-mem.h" #include "langhooks.h" #include "input.h" #include "cpplib.h" diff --git a/gcc/c/c-typeck.c b/gcc/c/c-typeck.c index 42b6a6e..8e74b7b 100644 --- a/gcc/c/c-typeck.c +++ b/gcc/c/c-typeck.c @@ -28,6 +28,10 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" +#include "trans-mem.h" +#include "varasm.h" +#include "stmt.h" #include "langhooks.h" #include "c-tree.h" #include "c-lang.h" diff --git a/gcc/calls.c b/gcc/calls.c index 4dcdb27..726ba23 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -23,6 +23,10 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "rtl.h" #include "tree.h" +#include "stor-layout.h" +#include "varasm.h" +#include "stringpool.h" +#include "attribs.h" #include "gimple.h" #include "flags.h" #include "expr.h" diff --git a/gcc/calls.h b/gcc/calls.h new file mode 100644 index 0000000..8e72738 --- /dev/null +++ b/gcc/calls.h @@ -0,0 +1,31 @@ +/* Declarations anda data types for RTL call insn generation. + Copyright (C) 2013 Free Software Foundation, Inc. + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 3, or (at your option) any later +version. + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with GCC; see the file COPYING3. If not see +<http://www.gnu.org/licenses/>. */ + +#ifndef GCC_CALLS_H +#define GCC_CALLS_H + +extern int flags_from_decl_or_type (const_tree); +extern int call_expr_flags (const_tree); +extern int setjmp_call_p (const_tree); +extern bool gimple_alloca_call_p (const_gimple); +extern bool alloca_call_p (const_tree); +extern bool must_pass_in_stack_var_size (enum machine_mode, const_tree); +extern bool must_pass_in_stack_var_size_or_pad (enum machine_mode, const_tree); + +#endif // GCC_CALLS_H diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c index 85732c8..4ff1a89 100644 --- a/gcc/cfgexpand.c +++ b/gcc/cfgexpand.c @@ -24,6 +24,11 @@ along with GCC; see the file COPYING3. If not see #include "rtl.h" #include "hard-reg-set.h" #include "tree.h" +#include "stringpool.h" +#include "varasm.h" +#include "stor-layout.h" +#include "stmt.h" +#include "print-tree.h" #include "tm_p.h" #include "basic-block.h" #include "function.h" diff --git a/gcc/cgraph.c b/gcc/cgraph.c index 996f1b6..624d492 100644 --- a/gcc/cgraph.c +++ b/gcc/cgraph.c @@ -28,6 +28,9 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "varasm.h" +#include "calls.h" +#include "print-tree.h" #include "tree-inline.h" #include "langhooks.h" #include "hashtab.h" diff --git a/gcc/cgraph.h b/gcc/cgraph.h index f81b7b5..651f34e 100644 --- a/gcc/cgraph.h +++ b/gcc/cgraph.h @@ -852,6 +852,8 @@ void symtab_initialize_asm_name_hash (void); void symtab_prevail_in_asm_name_hash (symtab_node *node); void varpool_remove_initializer (struct varpool_node *); +/* In cgraph.c */ +extern void change_decl_assembler_name (tree, tree); /* Return callgraph node for given symbol and check it is a function. */ static inline struct cgraph_node * diff --git a/gcc/cgraphclones.c b/gcc/cgraphclones.c index 28e4063..795a321 100644 --- a/gcc/cgraphclones.c +++ b/gcc/cgraphclones.c @@ -68,9 +68,12 @@ along with GCC; see the file COPYING3. If not see #include "system.h" #include "coretypes.h" #include "tm.h" +#include "rtl.h" #include "tree.h" +#include "stringpool.h" +#include "function.h" +#include "emit-rtl.h" #include "gimple.h" -#include "rtl.h" #include "bitmap.h" #include "tree-cfg.h" #include "tree-inline.h" diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index ce52115..2fcd313 100644 --- a/gcc/cgraphunit.c +++ b/gcc/cgraphunit.c @@ -162,6 +162,9 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "varasm.h" +#include "stor-layout.h" +#include "stringpool.h" #include "output.h" #include "rtl.h" #include "gimple.h" diff --git a/gcc/cilk-common.c b/gcc/cilk-common.c index 98b8598..bdea617 100644 --- a/gcc/cilk-common.c +++ b/gcc/cilk-common.c @@ -24,6 +24,8 @@ along with GCC; see the file COPYING3. If not see #include "system.h" #include "coretypes.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" #include "langhooks.h" #include "expr.h" #include "optabs.h" diff --git a/gcc/combine.c b/gcc/combine.c index 13f5e29..fb5c881 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -81,6 +81,7 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "rtl.h" #include "tree.h" +#include "stor-layout.h" #include "tm_p.h" #include "flags.h" #include "regs.h" diff --git a/gcc/config/aarch64/aarch64-builtins.c b/gcc/config/aarch64/aarch64-builtins.c index 2f1a8d0..2dc7838 100644 --- a/gcc/config/aarch64/aarch64-builtins.c +++ b/gcc/config/aarch64/aarch64-builtins.c @@ -24,6 +24,9 @@ #include "tm.h" #include "rtl.h" #include "tree.h" +#include "stor-layout.h" +#include "stringpool.h" +#include "calls.h" #include "expr.h" #include "tm_p.h" #include "recog.h" diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index edd378c..f9da7c4 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -26,6 +26,10 @@ #include "rtl.h" #include "insn-attr.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" +#include "calls.h" +#include "varasm.h" #include "regs.h" #include "df.h" #include "hard-reg-set.h" diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index e710b0c..a5171ea 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -25,6 +25,9 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "rtl.h" #include "tree.h" +#include "stor-layout.h" +#include "calls.h" +#include "varasm.h" #include "regs.h" #include "hard-reg-set.h" #include "insn-config.h" @@ -51,6 +54,7 @@ along with GCC; see the file COPYING3. If not see #include "gimple.h" #include "gimplify.h" #include "gimple-ssa.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-stdarg.h" #include "tm-constrs.h" diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c index f813c90..77932ce 100644 --- a/gcc/config/arc/arc.c +++ b/gcc/config/arc/arc.c @@ -34,6 +34,10 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "varasm.h" +#include "stor-layout.h" +#include "stringpool.h" +#include "calls.h" #include "rtl.h" #include "regs.h" #include "hard-reg-set.h" diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index a5bd010..2d5f867 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -27,6 +27,10 @@ #include "tm.h" #include "rtl.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" +#include "calls.h" +#include "varasm.h" #include "obstack.h" #include "regs.h" #include "hard-reg-set.h" diff --git a/gcc/config/avr/avr-c.c b/gcc/config/avr/avr-c.c index 4e64405..2cfb264 100644 --- a/gcc/config/avr/avr-c.c +++ b/gcc/config/avr/avr-c.c @@ -26,6 +26,7 @@ #include "tm_p.h" #include "cpplib.h" #include "tree.h" +#include "stor-layout.h" #include "target.h" #include "c-family/c-common.h" #include "langhooks.h" diff --git a/gcc/config/avr/avr-log.c b/gcc/config/avr/avr-log.c index 87fa14d..3d2f54d 100644 --- a/gcc/config/avr/avr-log.c +++ b/gcc/config/avr/avr-log.c @@ -24,6 +24,7 @@ #include "tm.h" #include "rtl.h" #include "tree.h" +#include "print-tree.h" #include "output.h" #include "input.h" #include "function.h" diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c index e7e1c2f..8d98c81 100644 --- a/gcc/config/avr/avr.c +++ b/gcc/config/avr/avr.c @@ -32,6 +32,10 @@ #include "flags.h" #include "reload.h" #include "tree.h" +#include "print-tree.h" +#include "calls.h" +#include "stor-layout.h" +#include "stringpool.h" #include "output.h" #include "expr.h" #include "c-family/c-common.h" diff --git a/gcc/config/bfin/bfin.c b/gcc/config/bfin/bfin.c index bd677f8..0d473cb 100644 --- a/gcc/config/bfin/bfin.c +++ b/gcc/config/bfin/bfin.c @@ -32,6 +32,8 @@ #include "output.h" #include "insn-attr.h" #include "tree.h" +#include "varasm.h" +#include "calls.h" #include "flags.h" #include "except.h" #include "function.h" diff --git a/gcc/config/c6x/c6x.c b/gcc/config/c6x/c6x.c index a37e02f..af310ba 100644 --- a/gcc/config/c6x/c6x.c +++ b/gcc/config/c6x/c6x.c @@ -25,6 +25,10 @@ #include "tm.h" #include "rtl.h" #include "tree.h" +#include "stor-layout.h" +#include "varasm.h" +#include "calls.h" +#include "stringpool.h" #include "insn-flags.h" #include "output.h" #include "insn-attr.h" diff --git a/gcc/config/cr16/cr16.c b/gcc/config/cr16/cr16.c index 1ac29cc..b397276 100644 --- a/gcc/config/cr16/cr16.c +++ b/gcc/config/cr16/cr16.c @@ -24,6 +24,8 @@ #include "tm.h" #include "rtl.h" #include "tree.h" +#include "stor-layout.h" +#include "calls.h" #include "tm_p.h" #include "regs.h" #include "hard-reg-set.h" diff --git a/gcc/config/cris/cris.c b/gcc/config/cris/cris.c index 7432251..2d2a108 100644 --- a/gcc/config/cris/cris.c +++ b/gcc/config/cris/cris.c @@ -30,6 +30,10 @@ along with GCC; see the file COPYING3. If not see #include "insn-attr.h" #include "flags.h" #include "tree.h" +#include "varasm.h" +#include "stor-layout.h" +#include "calls.h" +#include "stmt.h" #include "expr.h" #include "except.h" #include "function.h" diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c index 63efe49..761576d 100644 --- a/gcc/config/darwin.c +++ b/gcc/config/darwin.c @@ -32,6 +32,9 @@ along with GCC; see the file COPYING3. If not see #include "insn-attr.h" #include "flags.h" #include "tree.h" +#include "stringpool.h" +#include "varasm.h" +#include "stor-layout.h" #include "expr.h" #include "reload.h" #include "function.h" diff --git a/gcc/config/epiphany/epiphany.c b/gcc/config/epiphany/epiphany.c index 3a09efa..88459e2 100644 --- a/gcc/config/epiphany/epiphany.c +++ b/gcc/config/epiphany/epiphany.c @@ -23,6 +23,10 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" +#include "varasm.h" +#include "calls.h" +#include "stringpool.h" #include "rtl.h" #include "regs.h" #include "hard-reg-set.h" diff --git a/gcc/config/fr30/fr30.c b/gcc/config/fr30/fr30.c index 4a45fea..caa50d9 100644 --- a/gcc/config/fr30/fr30.c +++ b/gcc/config/fr30/fr30.c @@ -33,6 +33,8 @@ #include "flags.h" #include "recog.h" #include "tree.h" +#include "stor-layout.h" +#include "varasm.h" #include "output.h" #include "expr.h" #include "obstack.h" diff --git a/gcc/config/frv/frv.c b/gcc/config/frv/frv.c index bcd5511..6e74fe4 100644 --- a/gcc/config/frv/frv.c +++ b/gcc/config/frv/frv.c @@ -23,6 +23,9 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "rtl.h" #include "tree.h" +#include "varasm.h" +#include "stor-layout.h" +#include "stringpool.h" #include "regs.h" #include "hard-reg-set.h" #include "insn-config.h" diff --git a/gcc/config/h8300/h8300.c b/gcc/config/h8300/h8300.c index 69f37fd..f0ebca3 100644 --- a/gcc/config/h8300/h8300.c +++ b/gcc/config/h8300/h8300.c @@ -25,6 +25,10 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "rtl.h" #include "tree.h" +#include "stor-layout.h" +#include "varasm.h" +#include "calls.h" +#include "stringpool.h" #include "regs.h" #include "hard-reg-set.h" #include "insn-config.h" diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index d95ca35..7ae9f57 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -23,6 +23,11 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "rtl.h" #include "tree.h" +#include "stringpool.h" +#include "attribs.h" +#include "calls.h" +#include "stor-layout.h" +#include "varasm.h" #include "tm_p.h" #include "regs.h" #include "hard-reg-set.h" diff --git a/gcc/config/i386/winnt-cxx.c b/gcc/config/i386/winnt-cxx.c index 92de46a..d466299 100644 --- a/gcc/config/i386/winnt-cxx.c +++ b/gcc/config/i386/winnt-cxx.c @@ -23,6 +23,8 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" +#include "attribs.h" #include "cp/cp-tree.h" /* This is why we're a separate module. */ #include "flags.h" #include "tm_p.h" diff --git a/gcc/config/i386/winnt.c b/gcc/config/i386/winnt.c index 94155d8..2c1677e 100644 --- a/gcc/config/i386/winnt.c +++ b/gcc/config/i386/winnt.c @@ -27,6 +27,8 @@ along with GCC; see the file COPYING3. If not see #include "hard-reg-set.h" #include "output.h" #include "tree.h" +#include "stringpool.h" +#include "varasm.h" #include "flags.h" #include "tm_p.h" #include "diagnostic-core.h" diff --git a/gcc/config/ia64/ia64-c.c b/gcc/config/ia64/ia64-c.c index 4d4dbc8..6489668 100644 --- a/gcc/config/ia64/ia64-c.c +++ b/gcc/config/ia64/ia64-c.c @@ -23,6 +23,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" #include "cpplib.h" #include "c-family/c-common.h" #include "c-family/c-pragma.h" diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c index 4fde7aa..307681c 100644 --- a/gcc/config/ia64/ia64.c +++ b/gcc/config/ia64/ia64.c @@ -25,6 +25,10 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "rtl.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" +#include "calls.h" +#include "varasm.h" #include "regs.h" #include "hard-reg-set.h" #include "insn-config.h" diff --git a/gcc/config/iq2000/iq2000.c b/gcc/config/iq2000/iq2000.c index e65d0cc..e6d1171 100644 --- a/gcc/config/iq2000/iq2000.c +++ b/gcc/config/iq2000/iq2000.c @@ -22,6 +22,9 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" +#include "calls.h" +#include "varasm.h" #include "rtl.h" #include "regs.h" #include "hard-reg-set.h" diff --git a/gcc/config/lm32/lm32.c b/gcc/config/lm32/lm32.c index 6483a03..6bddc48 100644 --- a/gcc/config/lm32/lm32.c +++ b/gcc/config/lm32/lm32.c @@ -35,6 +35,7 @@ #include "recog.h" #include "output.h" #include "tree.h" +#include "calls.h" #include "expr.h" #include "flags.h" #include "reload.h" diff --git a/gcc/config/m32c/m32c.c b/gcc/config/m32c/m32c.c index deac40c..ec30b8d 100644 --- a/gcc/config/m32c/m32c.c +++ b/gcc/config/m32c/m32c.c @@ -36,6 +36,9 @@ #include "diagnostic-core.h" #include "obstack.h" #include "tree.h" +#include "stor-layout.h" +#include "varasm.h" +#include "calls.h" #include "expr.h" #include "optabs.h" #include "except.h" diff --git a/gcc/config/m32r/m32r.c b/gcc/config/m32r/m32r.c index c94da53..6cee5d7 100644 --- a/gcc/config/m32r/m32r.c +++ b/gcc/config/m32r/m32r.c @@ -22,6 +22,10 @@ #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" +#include "varasm.h" +#include "stringpool.h" +#include "calls.h" #include "rtl.h" #include "regs.h" #include "hard-reg-set.h" diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c index 7035504..db1554d 100644 --- a/gcc/config/m68k/m68k.c +++ b/gcc/config/m68k/m68k.c @@ -22,6 +22,9 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "calls.h" +#include "stor-layout.h" +#include "varasm.h" #include "rtl.h" #include "function.h" #include "regs.h" diff --git a/gcc/config/mcore/mcore.c b/gcc/config/mcore/mcore.c index 6550b69..6bd6070 100644 --- a/gcc/config/mcore/mcore.c +++ b/gcc/config/mcore/mcore.c @@ -23,6 +23,10 @@ #include "tm.h" #include "rtl.h" #include "tree.h" +#include "stor-layout.h" +#include "varasm.h" +#include "stringpool.h" +#include "calls.h" #include "tm_p.h" #include "mcore.h" #include "regs.h" diff --git a/gcc/config/mep/mep.c b/gcc/config/mep/mep.c index 489bef9..6ce6c53 100644 --- a/gcc/config/mep/mep.c +++ b/gcc/config/mep/mep.c @@ -24,6 +24,10 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "rtl.h" #include "tree.h" +#include "varasm.h" +#include "calls.h" +#include "stringpool.h" +#include "stor-layout.h" #include "regs.h" #include "hard-reg-set.h" #include "insn-config.h" diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c index 3258a95..93dede4 100644 --- a/gcc/config/microblaze/microblaze.c +++ b/gcc/config/microblaze/microblaze.c @@ -33,6 +33,9 @@ #include "insn-attr.h" #include "recog.h" #include "tree.h" +#include "varasm.h" +#include "stor-layout.h" +#include "calls.h" #include "function.h" #include "expr.h" #include "flags.h" diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 80bbb00..00c6e0c 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -34,6 +34,10 @@ along with GCC; see the file COPYING3. If not see #include "recog.h" #include "output.h" #include "tree.h" +#include "varasm.h" +#include "stringpool.h" +#include "stor-layout.h" +#include "calls.h" #include "function.h" #include "expr.h" #include "optabs.h" diff --git a/gcc/config/mmix/mmix.c b/gcc/config/mmix/mmix.c index 34b4fea..eb43af7 100644 --- a/gcc/config/mmix/mmix.c +++ b/gcc/config/mmix/mmix.c @@ -31,6 +31,9 @@ along with GCC; see the file COPYING3. If not see #include "basic-block.h" #include "flags.h" #include "tree.h" +#include "varasm.h" +#include "stor-layout.h" +#include "calls.h" #include "function.h" #include "expr.h" #include "diagnostic-core.h" diff --git a/gcc/config/mn10300/mn10300.c b/gcc/config/mn10300/mn10300.c index df563d0..342c336 100644 --- a/gcc/config/mn10300/mn10300.c +++ b/gcc/config/mn10300/mn10300.c @@ -24,6 +24,9 @@ #include "tm.h" #include "rtl.h" #include "tree.h" +#include "stor-layout.h" +#include "varasm.h" +#include "calls.h" #include "regs.h" #include "hard-reg-set.h" #include "insn-config.h" diff --git a/gcc/config/moxie/moxie.c b/gcc/config/moxie/moxie.c index d4f7d6d..abba0ae 100644 --- a/gcc/config/moxie/moxie.c +++ b/gcc/config/moxie/moxie.c @@ -36,6 +36,9 @@ #include "diagnostic-core.h" #include "obstack.h" #include "tree.h" +#include "stor-layout.h" +#include "varasm.h" +#include "calls.h" #include "expr.h" #include "optabs.h" #include "except.h" diff --git a/gcc/config/msp430/msp430.c b/gcc/config/msp430/msp430.c index 1ebb583..daff4ae 100644 --- a/gcc/config/msp430/msp430.c +++ b/gcc/config/msp430/msp430.c @@ -23,6 +23,8 @@ #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" +#include "calls.h" #include "rtl.h" #include "regs.h" #include "hard-reg-set.h" diff --git a/gcc/config/nds32/nds32.c b/gcc/config/nds32/nds32.c index f039e27..4454bf2 100644 --- a/gcc/config/nds32/nds32.c +++ b/gcc/config/nds32/nds32.c @@ -25,6 +25,9 @@ #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" +#include "varasm.h" +#include "calls.h" #include "rtl.h" #include "regs.h" #include "hard-reg-set.h" diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 260830f..2aa63c6 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -30,6 +30,10 @@ along with GCC; see the file COPYING3. If not see #include "insn-attr.h" #include "flags.h" #include "tree.h" +#include "stor-layout.h" +#include "stringpool.h" +#include "varasm.h" +#include "calls.h" #include "output.h" #include "dbxout.h" #include "except.h" diff --git a/gcc/config/pdp11/pdp11.c b/gcc/config/pdp11/pdp11.c index 0a310c5..42237b5 100644 --- a/gcc/config/pdp11/pdp11.c +++ b/gcc/config/pdp11/pdp11.c @@ -33,6 +33,9 @@ along with GCC; see the file COPYING3. If not see #include "flags.h" #include "recog.h" #include "tree.h" +#include "stor-layout.h" +#include "varasm.h" +#include "calls.h" #include "expr.h" #include "diagnostic-core.h" #include "tm_p.h" diff --git a/gcc/config/picochip/picochip.c b/gcc/config/picochip/picochip.c index 641bccb..4756cb7 100644 --- a/gcc/config/picochip/picochip.c +++ b/gcc/config/picochip/picochip.c @@ -34,6 +34,10 @@ along with GCC; see the file COPYING3. If not, see #include "recog.h" #include "obstack.h" #include "tree.h" +#include "calls.h" +#include "stor-layout.h" +#include "stringpool.h" +#include "varasm.h" #include "expr.h" #include "optabs.h" #include "except.h" diff --git a/gcc/config/rl78/rl78.c b/gcc/config/rl78/rl78.c index f071e31..72aefc2 100644 --- a/gcc/config/rl78/rl78.c +++ b/gcc/config/rl78/rl78.c @@ -23,6 +23,9 @@ #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "varasm.h" +#include "stor-layout.h" +#include "calls.h" #include "rtl.h" #include "regs.h" #include "hard-reg-set.h" diff --git a/gcc/config/rs6000/rs6000-c.c b/gcc/config/rs6000/rs6000-c.c index 283cc91..667e5a6 100644 --- a/gcc/config/rs6000/rs6000-c.c +++ b/gcc/config/rs6000/rs6000-c.c @@ -26,6 +26,8 @@ #include "tm.h" #include "cpplib.h" #include "tree.h" +#include "stor-layout.h" +#include "stringpool.h" #include "c-family/c-common.h" #include "c-family/c-pragma.h" #include "diagnostic-core.h" diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index bfa061c..fa79a02 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -32,6 +32,11 @@ #include "recog.h" #include "obstack.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" +#include "calls.h" +#include "print-tree.h" +#include "varasm.h" #include "expr.h" #include "optabs.h" #include "except.h" diff --git a/gcc/config/rx/rx.c b/gcc/config/rx/rx.c index 8986092..662ab9b 100644 --- a/gcc/config/rx/rx.c +++ b/gcc/config/rx/rx.c @@ -27,6 +27,9 @@ #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "varasm.h" +#include "stor-layout.h" +#include "calls.h" #include "rtl.h" #include "regs.h" #include "hard-reg-set.h" diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c index 8519cd0..cae4a32 100644 --- a/gcc/config/s390/s390.c +++ b/gcc/config/s390/s390.c @@ -26,6 +26,11 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "rtl.h" #include "tree.h" +#include "print-tree.h" +#include "stringpool.h" +#include "stor-layout.h" +#include "varasm.h" +#include "calls.h" #include "tm_p.h" #include "regs.h" #include "hard-reg-set.h" diff --git a/gcc/config/score/score.c b/gcc/config/score/score.c index c25aaa2..3fdf2ea 100644 --- a/gcc/config/score/score.c +++ b/gcc/config/score/score.c @@ -32,6 +32,10 @@ #include "diagnostic-core.h" #include "output.h" #include "tree.h" +#include "stringpool.h" +#include "calls.h" +#include "varasm.h" +#include "stor-layout.h" #include "function.h" #include "expr.h" #include "optabs.h" diff --git a/gcc/config/sh/sh-c.c b/gcc/config/sh/sh-c.c index 4f3a41a..22e291d 100644 --- a/gcc/config/sh/sh-c.c +++ b/gcc/config/sh/sh-c.c @@ -23,6 +23,8 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" +#include "attribs.h.h" #include "tm_p.h" #include "cpplib.h" #include "c-family/c-common.h" diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index 088ef39..d5f7f15 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -26,6 +26,10 @@ along with GCC; see the file COPYING3. If not see #include "insn-config.h" #include "rtl.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" +#include "calls.h" +#include "varasm.h" #include "flags.h" #include "expr.h" #include "optabs.h" diff --git a/gcc/config/sol2-c.c b/gcc/config/sol2-c.c index ee44621..8254af0 100644 --- a/gcc/config/sol2-c.c +++ b/gcc/config/sol2-c.c @@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see #include "system.h" #include "coretypes.h" #include "tree.h" +#include "stringpool.h" +#include "attribs.h" #include "tm.h" #include "tm_p.h" diff --git a/gcc/config/sol2-cxx.c b/gcc/config/sol2-cxx.c index e1b450d..d3d7955 100644 --- a/gcc/config/sol2-cxx.c +++ b/gcc/config/sol2-cxx.c @@ -21,6 +21,7 @@ along with GCC; see the file COPYING3. If not see #include "system.h" #include "coretypes.h" #include "tree.h" +#include "stringpool.h" #include "cp/cp-tree.h" #include "tm.h" #include "tm_p.h" diff --git a/gcc/config/sol2.c b/gcc/config/sol2.c index 7c7c429..4200e620 100644 --- a/gcc/config/sol2.c +++ b/gcc/config/sol2.c @@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see #include "system.h" #include "coretypes.h" #include "tree.h" +#include "stringpool.h" +#include "varasm.h" #include "output.h" #include "tm.h" #include "rtl.h" diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index 1d6aa942..cabf8f0 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -25,6 +25,10 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" +#include "calls.h" +#include "varasm.h" #include "rtl.h" #include "regs.h" #include "hard-reg-set.h" diff --git a/gcc/config/spu/spu-c.c b/gcc/config/spu/spu-c.c index 215962f..7632ec1 100644 --- a/gcc/config/spu/spu-c.c +++ b/gcc/config/spu/spu-c.c @@ -20,6 +20,7 @@ #include "tm.h" #include "cpplib.h" #include "tree.h" +#include "stringpool.h" #include "c-family/c-common.h" #include "c-family/c-pragma.h" #include "tm_p.h" diff --git a/gcc/config/spu/spu.c b/gcc/config/spu/spu.c index 55b934b..315f1b3 100644 --- a/gcc/config/spu/spu.c +++ b/gcc/config/spu/spu.c @@ -28,6 +28,10 @@ #include "recog.h" #include "obstack.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" +#include "calls.h" +#include "varasm.h" #include "expr.h" #include "optabs.h" #include "except.h" diff --git a/gcc/config/stormy16/stormy16.c b/gcc/config/stormy16/stormy16.c index 3a08534..d5a1fc6 100644 --- a/gcc/config/stormy16/stormy16.c +++ b/gcc/config/stormy16/stormy16.c @@ -35,6 +35,10 @@ #include "diagnostic-core.h" #include "obstack.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" +#include "varasm.h" +#include "calls.h" #include "expr.h" #include "optabs.h" #include "except.h" diff --git a/gcc/config/tilegx/tilegx.c b/gcc/config/tilegx/tilegx.c index bf13d11..809beef 100644 --- a/gcc/config/tilegx/tilegx.c +++ b/gcc/config/tilegx/tilegx.c @@ -41,6 +41,10 @@ #include "timevar.h" #include "tree.h" #include "gimple.h" +#include "stringpool.h" +#include "stor-layout.h" +#include "varasm.h" +#include "calls.h" #include "gimplify.h" #include "cfgloop.h" #include "tilegx-builtins.h" diff --git a/gcc/config/tilepro/tilepro.c b/gcc/config/tilepro/tilepro.c index d497f64..9fe1b10 100644 --- a/gcc/config/tilepro/tilepro.c +++ b/gcc/config/tilepro/tilepro.c @@ -42,6 +42,10 @@ #include "timevar.h" #include "tree.h" #include "gimple.h" +#include "stringpool.h" +#include "stor-layout.h" +#include "varasm.h" +#include "calls.h" #include "gimplify.h" #include "cfgloop.h" #include "tilepro-builtins.h" diff --git a/gcc/config/v850/v850-c.c b/gcc/config/v850/v850-c.c index 63ef368..25158d5 100644 --- a/gcc/config/v850/v850-c.c +++ b/gcc/config/v850/v850-c.c @@ -24,6 +24,8 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "cpplib.h" #include "tree.h" +#include "stringpool.h" +#include "attribs.h" #include "c-family/c-pragma.h" #include "diagnostic-core.h" #include "ggc.h" diff --git a/gcc/config/v850/v850.c b/gcc/config/v850/v850.c index 006cff4..32fe73b 100644 --- a/gcc/config/v850/v850.c +++ b/gcc/config/v850/v850.c @@ -23,6 +23,10 @@ #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" +#include "varasm.h" +#include "calls.h" #include "rtl.h" #include "regs.h" #include "hard-reg-set.h" diff --git a/gcc/config/vax/vax.c b/gcc/config/vax/vax.c index 6b643d1..7aac7cb 100644 --- a/gcc/config/vax/vax.c +++ b/gcc/config/vax/vax.c @@ -24,6 +24,8 @@ along with GCC; see the file COPYING3. If not see #include "rtl.h" #include "df.h" #include "tree.h" +#include "calls.h" +#include "varasm.h" #include "regs.h" #include "hard-reg-set.h" #include "insn-config.h" diff --git a/gcc/config/vms/vms.c b/gcc/config/vms/vms.c index ba1e2a6..3047cfd 100644 --- a/gcc/config/vms/vms.c +++ b/gcc/config/vms/vms.c @@ -22,6 +22,7 @@ along with GCC; see the file COPYING3. If not see #include "system.h" #include "coretypes.h" #include "tree.h" +#include "stringpool.h" #include "vms-protos.h" #include "ggc.h" #include "target.h" diff --git a/gcc/config/vxworks.c b/gcc/config/vxworks.c index 2900d97..2940ea1 100644 --- a/gcc/config/vxworks.c +++ b/gcc/config/vxworks.c @@ -26,6 +26,7 @@ along with GCC; see the file COPYING3. If not see #include "output.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" /* Like default_named_section_asm_out_constructor, except that even constructors with DEFAULT_INIT_PRIORITY must go in a numbered diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c index 6385c5d..9e6bb23 100644 --- a/gcc/config/xtensa/xtensa.c +++ b/gcc/config/xtensa/xtensa.c @@ -34,6 +34,10 @@ along with GCC; see the file COPYING3. If not see #include "recog.h" #include "output.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" +#include "calls.h" +#include "varasm.h" #include "expr.h" #include "flags.h" #include "reload.h" diff --git a/gcc/convert.c b/gcc/convert.c index a2f2a33..4cf5001 100644 --- a/gcc/convert.c +++ b/gcc/convert.c @@ -26,6 +26,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" #include "flags.h" #include "convert.h" #include "diagnostic-core.h" diff --git a/gcc/coverage.c b/gcc/coverage.c index 3f4e334..f2ac5fc 100644 --- a/gcc/coverage.c +++ b/gcc/coverage.c @@ -30,6 +30,8 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "rtl.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" #include "flags.h" #include "output.h" #include "regs.h" diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 2906ed7..1c0d9b7 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -83,6 +83,68 @@ * tree.c: Likewise. * vtable-class-hierarchy.c: Likewise. +2013-11-14 Diego Novillo <dnovillo@google.com> + + * 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. + 2013-11-12 Andrew MacLeod <amacleod@redhat.com> * class.c: Include gimplify.h. diff --git a/gcc/cp/call.c b/gcc/cp/call.c index fd7b1cc..c529c16 100644 --- a/gcc/cp/call.c +++ b/gcc/cp/call.c @@ -27,6 +27,9 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" +#include "trans-mem.h" +#include "stringpool.h" #include "cp-tree.h" #include "flags.h" #include "toplev.h" diff --git a/gcc/cp/class.c b/gcc/cp/class.c index 39ff6a5..00fec27 100644 --- a/gcc/cp/class.c +++ b/gcc/cp/class.c @@ -26,6 +26,10 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" +#include "attribs.h" +#include "gimple.h" #include "cp-tree.h" #include "flags.h" #include "toplev.h" diff --git a/gcc/cp/cp-gimplify.c b/gcc/cp/cp-gimplify.c index c464719..e262946 100644 --- a/gcc/cp/cp-gimplify.c +++ b/gcc/cp/cp-gimplify.c @@ -24,6 +24,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" #include "cp-tree.h" #include "c-family/c-common.h" #include "tree-iterator.h" diff --git a/gcc/cp/cvt.c b/gcc/cp/cvt.c index 7dac108..5264c5d 100644 --- a/gcc/cp/cvt.c +++ b/gcc/cp/cvt.c @@ -29,6 +29,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" #include "flags.h" #include "cp-tree.h" #include "intl.h" diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index e2aad9d..500c81f 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -31,6 +31,11 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" +#include "varasm.h" +#include "attribs.h" +#include "calls.h" #include "flags.h" #include "cp-tree.h" #include "tree-iterator.h" diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c index 1845684..93c75cb 100644 --- a/gcc/cp/decl2.c +++ b/gcc/cp/decl2.c @@ -31,6 +31,12 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" +#include "varasm.h" +#include "attribs.h" +#include "stor-layout.h" +#include "calls.h" +#include "gimple.h" #include "flags.h" #include "cp-tree.h" #include "decl.h" diff --git a/gcc/cp/error.c b/gcc/cp/error.c index 0ad9f07..5481523 100644 --- a/gcc/cp/error.c +++ b/gcc/cp/error.c @@ -22,6 +22,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" #include "cp-tree.h" #include "flags.h" #include "diagnostic.h" diff --git a/gcc/cp/except.c b/gcc/cp/except.c index ac2128d..d7d009b 100644 --- a/gcc/cp/except.c +++ b/gcc/cp/except.c @@ -26,6 +26,9 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" +#include "trans-mem.h" +#include "attribs.h" #include "cp-tree.h" #include "flags.h" #include "tree-inline.h" diff --git a/gcc/cp/init.c b/gcc/cp/init.c index 7eac6f5..fd43a4f 100644 --- a/gcc/cp/init.c +++ b/gcc/cp/init.c @@ -25,6 +25,8 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" +#include "varasm.h" #include "cp-tree.h" #include "flags.h" #include "target.h" diff --git a/gcc/cp/lambda.c b/gcc/cp/lambda.c index f39ce1a..24aa2c5 100644 --- a/gcc/cp/lambda.c +++ b/gcc/cp/lambda.c @@ -25,6 +25,7 @@ along with GCC; see the file COPYING3. If not see #include "system.h" #include "coretypes.h" #include "tree.h" +#include "stringpool.h" #include "cgraph.h" #include "tree-iterator.h" #include "cp-tree.h" diff --git a/gcc/cp/lex.c b/gcc/cp/lex.c index d6ed809..5d8a313 100644 --- a/gcc/cp/lex.c +++ b/gcc/cp/lex.c @@ -27,6 +27,7 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "input.h" #include "tree.h" +#include "stringpool.h" #include "cp-tree.h" #include "cpplib.h" #include "flags.h" diff --git a/gcc/cp/mangle.c b/gcc/cp/mangle.c index 202fafc..8a24d6c 100644 --- a/gcc/cp/mangle.c +++ b/gcc/cp/mangle.c @@ -49,6 +49,8 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" +#include "stringpool.h" #include "tm_p.h" #include "cp-tree.h" #include "obstack.h" diff --git a/gcc/cp/method.c b/gcc/cp/method.c index d15d0a4..740536573 100644 --- a/gcc/cp/method.c +++ b/gcc/cp/method.c @@ -26,6 +26,8 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" +#include "varasm.h" #include "cp-tree.h" #include "flags.h" #include "toplev.h" diff --git a/gcc/cp/name-lookup.c b/gcc/cp/name-lookup.c index ced596e..d0c024a 100644 --- a/gcc/cp/name-lookup.c +++ b/gcc/cp/name-lookup.c @@ -24,6 +24,9 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "flags.h" #include "tree.h" +#include "stringpool.h" +#include "print-tree.h" +#include "attribs.h" #include "cp-tree.h" #include "name-lookup.h" #include "timevar.h" diff --git a/gcc/cp/optimize.c b/gcc/cp/optimize.c index c4ee848..b8df134 100644 --- a/gcc/cp/optimize.c +++ b/gcc/cp/optimize.c @@ -23,6 +23,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" #include "cp-tree.h" #include "input.h" #include "params.h" diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index d379248..977adf6 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -25,6 +25,10 @@ along with GCC; see the file COPYING3. If not see #include "timevar.h" #include "cpplib.h" #include "tree.h" +#include "print-tree.h" +#include "stringpool.h" +#include "attribs.h" +#include "trans-mem.h" #include "cp-tree.h" #include "intl.h" #include "c-family/c-pragma.h" diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 3bc8ccb..bbf8f55 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -29,6 +29,10 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" +#include "varasm.h" +#include "attribs.h" +#include "stor-layout.h" #include "intl.h" #include "pointer-set.h" #include "flags.h" diff --git a/gcc/cp/ptree.c b/gcc/cp/ptree.c index f4ca003..3c37a2a 100644 --- a/gcc/cp/ptree.c +++ b/gcc/cp/ptree.c @@ -24,6 +24,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "print-tree.h" #include "cp-tree.h" void diff --git a/gcc/cp/repo.c b/gcc/cp/repo.c index 7b6f7b8..47b9198 100644 --- a/gcc/cp/repo.c +++ b/gcc/cp/repo.c @@ -29,6 +29,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" #include "cp-tree.h" #include "input.h" #include "obstack.h" diff --git a/gcc/cp/rtti.c b/gcc/cp/rtti.c index 5827540..0bac879 100644 --- a/gcc/cp/rtti.c +++ b/gcc/cp/rtti.c @@ -24,6 +24,8 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" #include "cp-tree.h" #include "flags.h" #include "convert.h" diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index dce2b37..11f7812 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -28,6 +28,10 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stmt.h" +#include "varasm.h" +#include "stor-layout.h" +#include "stringpool.h" #include "cp-tree.h" #include "c-family/c-common.h" #include "c-family/c-objc.h" diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c index d7af1d3..a990a79 100644 --- a/gcc/cp/tree.c +++ b/gcc/cp/tree.c @@ -23,6 +23,9 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" +#include "print-tree.h" +#include "tree-iterator.h" #include "cp-tree.h" #include "flags.h" #include "tree-inline.h" diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c index bff7f17..c9ddbe9 100644 --- a/gcc/cp/typeck.c +++ b/gcc/cp/typeck.c @@ -29,6 +29,9 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" +#include "varasm.h" +#include "gimple.h" #include "cp-tree.h" #include "flags.h" #include "diagnostic.h" diff --git a/gcc/cp/typeck2.c b/gcc/cp/typeck2.c index 5c4fdfa..0f3b01d 100644 --- a/gcc/cp/typeck2.c +++ b/gcc/cp/typeck2.c @@ -30,6 +30,8 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" +#include "varasm.h" #include "intl.h" #include "cp-tree.h" #include "flags.h" diff --git a/gcc/cp/vtable-class-hierarchy.c b/gcc/cp/vtable-class-hierarchy.c index 5e78ec9..32f9541 100644 --- a/gcc/cp/vtable-class-hierarchy.c +++ b/gcc/cp/vtable-class-hierarchy.c @@ -120,6 +120,8 @@ along with GCC; see the file COPYING3. If not see #include "vtable-verify.h" #include "gimple.h" #include "gimplify.h" +#include "stringpool.h" +#include "stor-layout.h" static int num_calls_to_regset = 0; static int num_calls_to_regpair = 0; diff --git a/gcc/dbxout.c b/gcc/dbxout.c index 2e03c12..88596a8 100644 --- a/gcc/dbxout.c +++ b/gcc/dbxout.c @@ -72,6 +72,8 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "tree.h" +#include "varasm.h" +#include "stor-layout.h" #include "rtl.h" #include "flags.h" #include "regs.h" diff --git a/gcc/dojump.c b/gcc/dojump.c index ee12d76..2aef34d 100644 --- a/gcc/dojump.c +++ b/gcc/dojump.c @@ -23,6 +23,7 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "rtl.h" #include "tree.h" +#include "stor-layout.h" #include "flags.h" #include "function.h" #include "insn-config.h" @@ -29,6 +29,7 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "rtl.h" #include "tree.h" +#include "stor-layout.h" #include "tm_p.h" #include "regs.h" #include "hard-reg-set.h" diff --git a/gcc/dwarf2asm.c b/gcc/dwarf2asm.c index 69907f9..fc1b082 100644 --- a/gcc/dwarf2asm.c +++ b/gcc/dwarf2asm.c @@ -24,6 +24,8 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "flags.h" #include "tree.h" +#include "stringpool.h" +#include "varasm.h" #include "rtl.h" #include "output.h" #include "target.h" diff --git a/gcc/dwarf2cfi.c b/gcc/dwarf2cfi.c index e0f85ed..19276e2 100644 --- a/gcc/dwarf2cfi.c +++ b/gcc/dwarf2cfi.c @@ -25,6 +25,7 @@ along with GCC; see the file COPYING3. If not see #include "flags.h" #include "rtl.h" #include "tree.h" +#include "stor-layout.h" #include "function.h" #include "basic-block.h" #include "dwarf2.h" diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 0095507..8186b52 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -59,10 +59,16 @@ along with GCC; see the file COPYING3. If not see #include "system.h" #include "coretypes.h" #include "tm.h" +#include "rtl.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" +#include "varasm.h" +#include "function.h" +#include "emit-rtl.h" +#include "gimple.h" #include "version.h" #include "flags.h" -#include "rtl.h" #include "hard-reg-set.h" #include "regs.h" #include "insn-config.h" diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index af228d94..24e3c92 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -38,9 +38,12 @@ along with GCC; see the file COPYING3. If not see #include "diagnostic-core.h" #include "rtl.h" #include "tree.h" +#include "varasm.h" +#include "gimple.h" #include "tm_p.h" #include "flags.h" #include "function.h" +#include "stringpool.h" #include "expr.h" #include "regs.h" #include "hard-reg-set.h" diff --git a/gcc/emit-rtl.h b/gcc/emit-rtl.h index 7268090..301c67b 100644 --- a/gcc/emit-rtl.h +++ b/gcc/emit-rtl.h @@ -113,4 +113,7 @@ get_max_uid (void) { return crtl->emit.x_cur_insn_uid; } + +extern void set_decl_incoming_rtl (tree, rtx, bool); + #endif /* GCC_EMIT_RTL_H */ diff --git a/gcc/except.c b/gcc/except.c index 6043ef2..f8296b2 100644 --- a/gcc/except.c +++ b/gcc/except.c @@ -115,6 +115,8 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "rtl.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" #include "flags.h" #include "function.h" #include "expr.h" diff --git a/gcc/explow.c b/gcc/explow.c index 3a78a65..bc4f805 100644 --- a/gcc/explow.c +++ b/gcc/explow.c @@ -25,6 +25,7 @@ along with GCC; see the file COPYING3. If not see #include "diagnostic-core.h" #include "rtl.h" #include "tree.h" +#include "stor-layout.h" #include "tm_p.h" #include "flags.h" #include "except.h" diff --git a/gcc/expmed.c b/gcc/expmed.c index 1617bc0..c5123cb 100644 --- a/gcc/expmed.c +++ b/gcc/expmed.c @@ -26,6 +26,7 @@ along with GCC; see the file COPYING3. If not see #include "diagnostic-core.h" #include "rtl.h" #include "tree.h" +#include "stor-layout.h" #include "tm_p.h" #include "flags.h" #include "insn-config.h" @@ -24,6 +24,10 @@ along with GCC; see the file COPYING3. If not see #include "machmode.h" #include "rtl.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" +#include "attribs.h" +#include "varasm.h" #include "flags.h" #include "regs.h" #include "hard-reg-set.h" @@ -748,4 +748,23 @@ extern void expand_case (gimple); /* Like expand_case but special-case for SJLJ exception dispatching. */ extern void expand_sjlj_dispatch_table (rtx, vec<tree> ); +/* Determine whether the LEN bytes can be moved by using several move + instructions. Return nonzero if a call to move_by_pieces should + succeed. */ +extern int can_move_by_pieces (unsigned HOST_WIDE_INT, unsigned int); + +extern unsigned HOST_WIDE_INT highest_pow2_factor (const_tree); +bool array_at_struct_end_p (tree); + +/* Return a tree of sizetype representing the size, in bytes, of the element + of EXP, an ARRAY_REF or an ARRAY_RANGE_REF. */ +extern tree array_ref_element_size (tree); + +extern bool categorize_ctor_elements (const_tree, HOST_WIDE_INT *, + HOST_WIDE_INT *, bool *); + +/* Return a tree representing the offset, in bytes, of the field referenced + by EXP. This does not include any offset in DECL_FIELD_BIT_OFFSET. */ +extern tree component_ref_field_offset (tree); + #endif /* GCC_EXPR_H */ diff --git a/gcc/final.c b/gcc/final.c index 1a6320f..2d206f1 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -48,6 +48,7 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "tree.h" +#include "varasm.h" #include "rtl.h" #include "tm_p.h" #include "regs.h" diff --git a/gcc/fold-const.c b/gcc/fold-const.c index 5a01023..fc18de5 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -46,6 +46,9 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "flags.h" #include "tree.h" +#include "stor-layout.h" +#include "calls.h" +#include "tree-iterator.h" #include "realmpfr.h" #include "rtl.h" #include "expr.h" diff --git a/gcc/fold-const.h b/gcc/fold-const.h new file mode 100644 index 0000000..1d45836 --- /dev/null +++ b/gcc/fold-const.h @@ -0,0 +1,172 @@ +/* Fold a constant sub-tree into a single node for C-compiler + Copyright (C) 1987-2013 Free Software Foundation, Inc. + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 3, or (at your option) any later +version. + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with GCC; see the file COPYING3. If not see +<http://www.gnu.org/licenses/>. */ + +#ifndef GCC_FOLD_CONST_H +#define GCC_FOLD_CONST_H + +/* Non-zero if we are folding constants inside an initializer; zero + otherwise. */ +extern int folding_initializer; + +/* Convert between trees and native memory representation. */ +extern int native_encode_expr (const_tree, unsigned char *, int); +extern tree native_interpret_expr (tree, const unsigned char *, int); + +/* Fold constants as much as possible in an expression. + Returns the simplified expression. + Acts only on the top level of the expression; + if the argument itself cannot be simplified, its + subexpressions are not changed. */ + +extern tree fold (tree); +#define fold_unary(CODE,T1,T2)\ + fold_unary_loc (UNKNOWN_LOCATION, CODE, T1, T2) +extern tree fold_unary_loc (location_t, enum tree_code, tree, tree); +#define fold_unary_ignore_overflow(CODE,T1,T2)\ + fold_unary_ignore_overflow_loc (UNKNOWN_LOCATION, CODE, T1, T2) +extern tree fold_unary_ignore_overflow_loc (location_t, enum tree_code, tree, tree); +#define fold_binary(CODE,T1,T2,T3)\ + fold_binary_loc (UNKNOWN_LOCATION, CODE, T1, T2, T3) +extern tree fold_binary_loc (location_t, enum tree_code, tree, tree, tree); +#define fold_ternary(CODE,T1,T2,T3,T4)\ + fold_ternary_loc (UNKNOWN_LOCATION, CODE, T1, T2, T3, T4) +extern tree fold_ternary_loc (location_t, enum tree_code, tree, tree, tree, tree); +#define fold_build1(c,t1,t2)\ + fold_build1_stat_loc (UNKNOWN_LOCATION, c, t1, t2 MEM_STAT_INFO) +#define fold_build1_loc(l,c,t1,t2)\ + fold_build1_stat_loc (l, c, t1, t2 MEM_STAT_INFO) +extern tree fold_build1_stat_loc (location_t, enum tree_code, tree, + tree MEM_STAT_DECL); +#define fold_build2(c,t1,t2,t3)\ + fold_build2_stat_loc (UNKNOWN_LOCATION, c, t1, t2, t3 MEM_STAT_INFO) +#define fold_build2_loc(l,c,t1,t2,t3)\ + fold_build2_stat_loc (l, c, t1, t2, t3 MEM_STAT_INFO) +extern tree fold_build2_stat_loc (location_t, enum tree_code, tree, tree, + tree MEM_STAT_DECL); +#define fold_build3(c,t1,t2,t3,t4)\ + fold_build3_stat_loc (UNKNOWN_LOCATION, c, t1, t2, t3, t4 MEM_STAT_INFO) +#define fold_build3_loc(l,c,t1,t2,t3,t4)\ + fold_build3_stat_loc (l, c, t1, t2, t3, t4 MEM_STAT_INFO) +extern tree fold_build3_stat_loc (location_t, enum tree_code, tree, tree, tree, + tree MEM_STAT_DECL); +extern tree fold_build1_initializer_loc (location_t, enum tree_code, tree, tree); +extern tree fold_build2_initializer_loc (location_t, enum tree_code, tree, tree, tree); +#define fold_build_call_array(T1,T2,N,T4)\ + fold_build_call_array_loc (UNKNOWN_LOCATION, T1, T2, N, T4) +extern tree fold_build_call_array_loc (location_t, tree, tree, int, tree *); +#define fold_build_call_array_initializer(T1,T2,N,T4)\ + fold_build_call_array_initializer_loc (UNKNOWN_LOCATION, T1, T2, N, T4) +extern tree fold_build_call_array_initializer_loc (location_t, tree, tree, int, tree *); +extern bool fold_convertible_p (const_tree, const_tree); +#define fold_convert(T1,T2)\ + fold_convert_loc (UNKNOWN_LOCATION, T1, T2) +extern tree fold_convert_loc (location_t, tree, tree); +extern tree fold_single_bit_test (location_t, enum tree_code, tree, tree, tree); +extern tree fold_ignored_result (tree); +extern tree fold_abs_const (tree, tree); +extern tree fold_indirect_ref_1 (location_t, tree, tree); +extern void fold_defer_overflow_warnings (void); +extern void fold_undefer_overflow_warnings (bool, const_gimple, int); +extern void fold_undefer_and_ignore_overflow_warnings (void); +extern bool fold_deferring_overflow_warnings_p (void); +extern tree fold_fma (location_t, tree, tree, tree, tree); +extern int operand_equal_p (const_tree, const_tree, unsigned int); +extern int multiple_of_p (tree, const_tree, const_tree); +#define omit_one_operand(T1,T2,T3)\ + omit_one_operand_loc (UNKNOWN_LOCATION, T1, T2, T3) +extern tree omit_one_operand_loc (location_t, tree, tree, tree); +#define omit_two_operands(T1,T2,T3,T4)\ + omit_two_operands_loc (UNKNOWN_LOCATION, T1, T2, T3, T4) +extern tree omit_two_operands_loc (location_t, tree, tree, tree, tree); +#define invert_truthvalue(T)\ + invert_truthvalue_loc (UNKNOWN_LOCATION, T) +extern tree invert_truthvalue_loc (location_t, tree); +extern tree fold_unary_to_constant (enum tree_code, tree, tree); +extern tree fold_binary_to_constant (enum tree_code, tree, tree, tree); +extern tree fold_read_from_constant_string (tree); +extern tree int_const_binop (enum tree_code, const_tree, const_tree); +#define build_fold_addr_expr(T)\ + build_fold_addr_expr_loc (UNKNOWN_LOCATION, (T)) +extern tree build_fold_addr_expr_loc (location_t, tree); +#define build_fold_addr_expr_with_type(T,TYPE)\ + build_fold_addr_expr_with_type_loc (UNKNOWN_LOCATION, (T), TYPE) +extern tree build_fold_addr_expr_with_type_loc (location_t, tree, tree); +extern tree fold_build_cleanup_point_expr (tree type, tree expr); +extern tree fold_strip_sign_ops (tree); +#define build_fold_indirect_ref(T)\ + build_fold_indirect_ref_loc (UNKNOWN_LOCATION, T) +extern tree build_fold_indirect_ref_loc (location_t, tree); +#define fold_indirect_ref(T)\ + fold_indirect_ref_loc (UNKNOWN_LOCATION, T) +extern tree fold_indirect_ref_loc (location_t, tree); +extern tree build_simple_mem_ref_loc (location_t, tree); +#define build_simple_mem_ref(T)\ + build_simple_mem_ref_loc (UNKNOWN_LOCATION, T) +extern double_int mem_ref_offset (const_tree); +extern tree build_invariant_address (tree, tree, HOST_WIDE_INT); +extern tree constant_boolean_node (bool, tree); +extern tree div_if_zero_remainder (enum tree_code, const_tree, const_tree); + +extern bool tree_swap_operands_p (const_tree, const_tree, bool); +extern enum tree_code swap_tree_comparison (enum tree_code); + +extern bool ptr_difference_const (tree, tree, HOST_WIDE_INT *); +extern enum tree_code invert_tree_comparison (enum tree_code, bool); + +extern bool tree_unary_nonzero_warnv_p (enum tree_code, tree, tree, bool *); +extern bool tree_binary_nonzero_warnv_p (enum tree_code, tree, tree, tree op1, + bool *); +extern bool tree_single_nonzero_warnv_p (tree, bool *); +extern bool tree_unary_nonnegative_warnv_p (enum tree_code, tree, tree, bool *); +extern bool tree_binary_nonnegative_warnv_p (enum tree_code, tree, tree, tree, + bool *); +extern bool tree_single_nonnegative_warnv_p (tree t, bool *strict_overflow_p); +extern bool tree_call_nonnegative_warnv_p (tree, tree, tree, tree, bool *); + +extern bool fold_real_zero_addition_p (const_tree, const_tree, int); +extern tree combine_comparisons (location_t, enum tree_code, enum tree_code, + enum tree_code, tree, tree, tree); +extern void debug_fold_checksum (const_tree); +extern bool may_negate_without_overflow_p (const_tree); +#define round_up(T,N) round_up_loc (UNKNOWN_LOCATION, T, N) +extern tree round_up_loc (location_t, tree, int); +#define round_down(T,N) round_down_loc (UNKNOWN_LOCATION, T, N) +extern tree round_down_loc (location_t, tree, int); +extern tree size_int_kind (HOST_WIDE_INT, enum size_type_kind); +#define size_binop(CODE,T1,T2)\ + size_binop_loc (UNKNOWN_LOCATION, CODE, T1, T2) +extern tree size_binop_loc (location_t, enum tree_code, tree, tree); +#define size_diffop(T1,T2)\ + size_diffop_loc (UNKNOWN_LOCATION, T1, T2) +extern tree size_diffop_loc (location_t, tree, tree); + +/* Return an expr equal to X but certainly not valid as an lvalue. */ +#define non_lvalue(T) non_lvalue_loc (UNKNOWN_LOCATION, T) +extern tree non_lvalue_loc (location_t, tree); + +extern bool tree_expr_nonnegative_p (tree); +extern bool tree_expr_nonnegative_warnv_p (tree, bool *); +extern tree make_range (tree, int *, tree *, tree *, bool *); +extern tree make_range_step (location_t, enum tree_code, tree, tree, tree, + tree *, tree *, int *, bool *); +extern tree build_range_check (location_t, tree, tree, int, tree, tree); +extern bool merge_ranges (int *, tree *, tree *, int, tree, tree, int, + tree, tree); + +#endif // GCC_FOLD_CONST_H diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 16e8915..26e58be 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -7,6 +7,33 @@ * trans-expr.c: Include only gimplify.h and gimple.h as needed. * trans-openmp.c: Likewise. +2013-11-14 Diego Novillo <dnovillo@google.com> + + * 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. + 2013-11-12 Andrew MacLeod <amacleod@redhat.com> * f95-lang.c: Don't include gimple.h. diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c index 9c9fd4f..0a0f8e0 100644 --- a/gcc/fortran/decl.c +++ b/gcc/fortran/decl.c @@ -27,6 +27,7 @@ along with GCC; see the file COPYING3. If not see #include "flags.h" #include "constructor.h" #include "tree.h" +#include "stringpool.h" /* Macros to access allocate memory for gfc_data_variable, gfc_data_value and gfc_data. */ diff --git a/gcc/fortran/iresolve.c b/gcc/fortran/iresolve.c index af452b3..f31340f 100644 --- a/gcc/fortran/iresolve.c +++ b/gcc/fortran/iresolve.c @@ -30,6 +30,7 @@ along with GCC; see the file COPYING3. If not see #include "system.h" #include "coretypes.h" #include "tree.h" +#include "stringpool.h" #include "gfortran.h" #include "intrinsic.h" #include "constructor.h" diff --git a/gcc/fortran/match.c b/gcc/fortran/match.c index 71e3862..539780a 100644 --- a/gcc/fortran/match.c +++ b/gcc/fortran/match.c @@ -26,6 +26,7 @@ along with GCC; see the file COPYING3. If not see #include "match.h" #include "parse.h" #include "tree.h" +#include "stringpool.h" int gfc_matching_ptr_assignment = 0; int gfc_matching_procptr_assignment = 0; diff --git a/gcc/fortran/module.c b/gcc/fortran/module.c index c390a95..0cd4801 100644 --- a/gcc/fortran/module.c +++ b/gcc/fortran/module.c @@ -74,6 +74,7 @@ along with GCC; see the file COPYING3. If not see #include "constructor.h" #include "cpp.h" #include "tree.h" +#include "stringpool.h" #include "scanner.h" #include <zlib.h> diff --git a/gcc/fortran/target-memory.c b/gcc/fortran/target-memory.c index e905b3a..d0ee41a 100644 --- a/gcc/fortran/target-memory.c +++ b/gcc/fortran/target-memory.c @@ -24,6 +24,7 @@ along with GCC; see the file COPYING3. If not see #include "flags.h" #include "machmode.h" #include "tree.h" +#include "stor-layout.h" #include "gfortran.h" #include "arith.h" #include "constructor.h" diff --git a/gcc/fortran/trans-common.c b/gcc/fortran/trans-common.c index e2234b1..2266c1b 100644 --- a/gcc/fortran/trans-common.c +++ b/gcc/fortran/trans-common.c @@ -98,6 +98,9 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" +#include "varasm.h" #include "gfortran.h" #include "trans.h" #include "trans-types.h" diff --git a/gcc/fortran/trans-const.c b/gcc/fortran/trans-const.c index a217c47..f5a2b18 100644 --- a/gcc/fortran/trans-const.c +++ b/gcc/fortran/trans-const.c @@ -24,6 +24,7 @@ along with GCC; see the file COPYING3. If not see #include "system.h" #include "coretypes.h" #include "tree.h" +#include "stor-layout.h" #include "realmpfr.h" #include "diagnostic-core.h" /* For fatal_error. */ #include "double-int.h" diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c index 1df3bb4..f974c6e 100644 --- a/gcc/fortran/trans-decl.c +++ b/gcc/fortran/trans-decl.c @@ -25,6 +25,10 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" +#include "varasm.h" +#include "attribs.h" #include "tree-dump.h" #include "gimple-expr.h" /* For create_tmp_var_raw. */ #include "ggc.h" diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c index b932fa4..41b2f94 100644 --- a/gcc/fortran/trans-expr.c +++ b/gcc/fortran/trans-expr.c @@ -25,6 +25,7 @@ along with GCC; see the file COPYING3. If not see #include "system.h" #include "coretypes.h" #include "tree.h" +#include "stringpool.h" #include "diagnostic-core.h" /* For fatal_error. */ #include "langhooks.h" #include "flags.h" diff --git a/gcc/fortran/trans-intrinsic.c b/gcc/fortran/trans-intrinsic.c index 042911f..4acdc8d 100644 --- a/gcc/fortran/trans-intrinsic.c +++ b/gcc/fortran/trans-intrinsic.c @@ -26,6 +26,9 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" /* For UNITS_PER_WORD. */ #include "tree.h" +#include "stringpool.h" +#include "tree-nested.h" +#include "stor-layout.h" #include "ggc.h" #include "diagnostic-core.h" /* For internal_error. */ #include "toplev.h" /* For rest_of_decl_compilation. */ diff --git a/gcc/fortran/trans-io.c b/gcc/fortran/trans-io.c index 5fa1cdc..9b46a4e 100644 --- a/gcc/fortran/trans-io.c +++ b/gcc/fortran/trans-io.c @@ -23,6 +23,8 @@ along with GCC; see the file COPYING3. If not see #include "system.h" #include "coretypes.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" #include "ggc.h" #include "diagnostic-core.h" /* For internal_error. */ #include "gfortran.h" diff --git a/gcc/fortran/trans-openmp.c b/gcc/fortran/trans-openmp.c index 13c8705..d23af17 100644 --- a/gcc/fortran/trans-openmp.c +++ b/gcc/fortran/trans-openmp.c @@ -25,6 +25,7 @@ along with GCC; see the file COPYING3. If not see #include "tree.h" #include "gimple.h" #include "gimplify.h" /* For create_tmp_var_raw. */ +#include "stringpool.h" #include "diagnostic-core.h" /* For internal_error. */ #include "gfortran.h" #include "trans.h" diff --git a/gcc/fortran/trans-stmt.c b/gcc/fortran/trans-stmt.c index 62e690d..4f21197 100644 --- a/gcc/fortran/trans-stmt.c +++ b/gcc/fortran/trans-stmt.c @@ -24,6 +24,7 @@ along with GCC; see the file COPYING3. If not see #include "system.h" #include "coretypes.h" #include "tree.h" +#include "stringpool.h" #include "gfortran.h" #include "flags.h" #include "trans.h" diff --git a/gcc/fortran/trans-types.c b/gcc/fortran/trans-types.c index fa84d5d..21d9f28 100644 --- a/gcc/fortran/trans-types.c +++ b/gcc/fortran/trans-types.c @@ -34,6 +34,8 @@ along with GCC; see the file COPYING3. If not see FLOAT_TYPE_SIZE, DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE and LIBGCC2_HAS_TF_MODE. */ #include "tree.h" +#include "stor-layout.h" +#include "stringpool.h" #include "langhooks.h" /* For iso-c-bindings.def. */ #include "target.h" #include "ggc.h" diff --git a/gcc/fortran/trans.c b/gcc/fortran/trans.c index ef20a20..204cbff 100644 --- a/gcc/fortran/trans.c +++ b/gcc/fortran/trans.c @@ -23,6 +23,8 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tree.h" #include "gimple-expr.h" /* For create_tmp_var_raw. */ +#include "gimple.h" +#include "stringpool.h" #include "tree-iterator.h" #include "diagnostic-core.h" /* For internal_error. */ #include "flags.h" diff --git a/gcc/function.c b/gcc/function.c index 724b969..87953e3 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -37,6 +37,9 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "rtl-error.h" #include "tree.h" +#include "stor-layout.h" +#include "varasm.h" +#include "stringpool.h" #include "flags.h" #include "except.h" #include "function.h" diff --git a/gcc/function.h b/gcc/function.h index 9bb6ff0..c00bfe2 100644 --- a/gcc/function.h +++ b/gcc/function.h @@ -822,4 +822,25 @@ extern unsigned int emit_initial_value_sets (void); extern bool optimize_function_for_size_p (struct function *); extern bool optimize_function_for_speed_p (struct function *); +/* In function.c */ +extern void expand_function_end (void); +extern void expand_function_start (tree); +extern void stack_protect_epilogue (void); +extern void init_dummy_function_start (void); +extern void expand_dummy_function_end (void); +extern void allocate_struct_function (tree, bool); +extern void push_struct_function (tree fndecl); +extern void init_function_start (tree); +extern bool use_register_for_decl (const_tree); +extern void generate_setjmp_warnings (void); +extern void init_temp_slots (void); +extern void free_temp_slots (void); +extern void pop_temp_slots (void); +extern void push_temp_slots (void); +extern void preserve_temp_slots (rtx); +extern int aggregate_value_p (const_tree, const_tree); +extern void push_function_context (void); +extern void pop_function_context (void); +extern gimple_seq gimplify_parameters (void); + #endif /* GCC_FUNCTION_H */ diff --git a/gcc/gcc-symtab.h b/gcc/gcc-symtab.h new file mode 100644 index 0000000..a5bbad2 --- /dev/null +++ b/gcc/gcc-symtab.h @@ -0,0 +1,28 @@ +/* Declarations for symtab.c. + FIXME - This file should be named symtab.h, but that name conflicts + with libcpp's symtab.h. + + Copyright (C) 2013 Free Software Foundation, Inc. + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 3, or (at your option) any later +version. + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with GCC; see the file COPYING3. If not see +<http://www.gnu.org/licenses/>. */ + +#ifndef GCC_SYMTAB_H +#define GCC_SYMTAB_H + +extern void change_decl_assembler_name (tree, tree); + +#endif // GCC_SYMTAB_H diff --git a/gcc/genattrtab.c b/gcc/genattrtab.c index f79380d..c0125d1 100644 --- a/gcc/genattrtab.c +++ b/gcc/genattrtab.c @@ -5101,6 +5101,9 @@ write_header (FILE *outf) fprintf (outf, "#include \"coretypes.h\"\n"); fprintf (outf, "#include \"tm.h\"\n"); fprintf (outf, "#include \"tree.h\"\n"); + fprintf (outf, "#include \"varasm.h\"\n"); + fprintf (outf, "#include \"stor-layout.h\"\n"); + fprintf (outf, "#include \"calls.h\"\n"); fprintf (outf, "#include \"rtl.h\"\n"); fprintf (outf, "#include \"insn-attr.h\"\n"); fprintf (outf, "#include \"tm_p.h\"\n"); diff --git a/gcc/genautomata.c b/gcc/genautomata.c index f6c4b91c4..3ab4804 100644 --- a/gcc/genautomata.c +++ b/gcc/genautomata.c @@ -9666,6 +9666,9 @@ main (int argc, char **argv) "#include \"coretypes.h\"\n" "#include \"tm.h\"\n" "#include \"tree.h\"\n" + "#include \"varasm.h\"\n" + "#include \"stor-layout.h\"\n" + "#include \"calls.h\"\n" "#include \"rtl.h\"\n" "#include \"tm_p.h\"\n" "#include \"insn-config.h\"\n" diff --git a/gcc/genemit.c b/gcc/genemit.c index 724a114..03831bf 100644 --- a/gcc/genemit.c +++ b/gcc/genemit.c @@ -791,6 +791,9 @@ from the machine description file `md'. */\n\n"); printf ("#include \"coretypes.h\"\n"); printf ("#include \"tm.h\"\n"); printf ("#include \"tree.h\"\n"); + printf ("#include \"varasm.h\"\n"); + printf ("#include \"stor-layout.h\"\n"); + printf ("#include \"calls.h\"\n"); printf ("#include \"rtl.h\"\n"); printf ("#include \"tm_p.h\"\n"); printf ("#include \"function.h\"\n"); diff --git a/gcc/gengtype.c b/gcc/gengtype.c index ecf1ef0..86e9ca2 100644 --- a/gcc/gengtype.c +++ b/gcc/gengtype.c @@ -1770,7 +1770,7 @@ open_base_files (void) "hard-reg-set.h", "basic-block.h", "cselib.h", "insn-addr.h", "optabs.h", "libfuncs.h", "debug.h", "ggc.h", "cgraph.h", "gimple.h", "gimple-iterator.h", "gimple-ssa.h", "tree-cfg.h", - "tree-phinodes.h", "ssa-iterators.h", "tree-ssanames.h", + "tree-phinodes.h", "ssa-iterators.h", "stringpool.h", "tree-ssanames.h", "tree-ssa-loop.h", "tree-ssa-loop-ivopts.h", "tree-ssa-loop-manip.h", "tree-ssa-loop-niter.h", "tree-into-ssa.h", "tree-dfa.h", "tree-ssa.h", "reload.h", "cpp-id-data.h", "tree-chrec.h", diff --git a/gcc/genopinit.c b/gcc/genopinit.c index 3efb71e..2e736ce 100644 --- a/gcc/genopinit.c +++ b/gcc/genopinit.c @@ -405,6 +405,9 @@ main (int argc, char **argv) "#include \"coretypes.h\"\n" "#include \"tm.h\"\n" "#include \"tree.h\"\n" + "#include \"varasm.h\"\n" + "#include \"stor-layout.h\"\n" + "#include \"calls.h\"\n" "#include \"rtl.h\"\n" "#include \"tm_p.h\"\n" "#include \"flags.h\"\n" diff --git a/gcc/genoutput.c b/gcc/genoutput.c index 2a7ee23..de8979b 100644 --- a/gcc/genoutput.c +++ b/gcc/genoutput.c @@ -239,6 +239,9 @@ output_prologue (void) printf ("#include \"flags.h\"\n"); printf ("#include \"ggc.h\"\n"); printf ("#include \"tree.h\"\n"); + printf ("#include \"varasm.h\"\n"); + printf ("#include \"stor-layout.h\"\n"); + printf ("#include \"calls.h\"\n"); printf ("#include \"rtl.h\"\n"); printf ("#include \"expr.h\"\n"); printf ("#include \"insn-codes.h\"\n"); diff --git a/gcc/genpeep.c b/gcc/genpeep.c index 877fde3..8d9d25d 100644 --- a/gcc/genpeep.c +++ b/gcc/genpeep.c @@ -360,6 +360,9 @@ from the machine description file `md'. */\n\n"); printf ("#include \"tm.h\"\n"); printf ("#include \"insn-config.h\"\n"); printf ("#include \"tree.h\"\n"); + printf ("#include \"varasm.h\"\n"); + printf ("#include \"stor-layout.h\"\n"); + printf ("#include \"calls.h\"\n"); printf ("#include \"rtl.h\"\n"); printf ("#include \"tm_p.h\"\n"); printf ("#include \"regs.h\"\n"); diff --git a/gcc/genpreds.c b/gcc/genpreds.c index f3d9dac..c27ae88 100644 --- a/gcc/genpreds.c +++ b/gcc/genpreds.c @@ -1302,6 +1302,9 @@ write_insn_preds_c (void) #include \"tm.h\"\n\ #include \"rtl.h\"\n\ #include \"tree.h\"\n\ +#include \"varasm.h\"\n\ +#include \"stor-layout.h\"\n\ +#include \"calls.h\"\n\ #include \"tm_p.h\"\n\ #include \"function.h\"\n\ #include \"insn-config.h\"\n\ diff --git a/gcc/gimple-builder.c b/gcc/gimple-builder.c index 6b53221..17cd2e1 100644 --- a/gcc/gimple-builder.c +++ b/gcc/gimple-builder.c @@ -21,6 +21,7 @@ along with GCC; see the file COPYING3. If not see #include "system.h" #include "coretypes.h" #include "tree.h" +#include "stringpool.h" #include "gimple.h" #include "tree-ssanames.h" diff --git a/gcc/gimple-expr.c b/gcc/gimple-expr.c index 9156f95..77660a3 100644 --- a/gcc/gimple-expr.c +++ b/gcc/gimple-expr.c @@ -25,7 +25,9 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "tree.h" #include "gimple.h" +#include "stringpool.h" #include "gimplify.h" +#include "stor-layout.h" #include "demangle.h" #include "gimple-ssa.h" diff --git a/gcc/gimple-fold.c b/gcc/gimple-fold.c index a5277eb..5493c5f 100644 --- a/gcc/gimple-fold.c +++ b/gcc/gimple-fold.c @@ -23,6 +23,10 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" +#include "expr.h" +#include "stmt.h" +#include "stor-layout.h" #include "flags.h" #include "function.h" #include "dumpfile.h" diff --git a/gcc/gimple-low.c b/gcc/gimple-low.c index 3f9ac57..71f8dfe 100644 --- a/gcc/gimple-low.c +++ b/gcc/gimple-low.c @@ -23,6 +23,8 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "tree-nested.h" +#include "calls.h" #include "gimple.h" #include "gimple-iterator.h" #include "tree-iterator.h" diff --git a/gcc/gimple-pretty-print.c b/gcc/gimple-pretty-print.c index b20d11a..cdf1dbd 100644 --- a/gcc/gimple-pretty-print.c +++ b/gcc/gimple-pretty-print.c @@ -24,6 +24,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" #include "diagnostic.h" #include "gimple-pretty-print.h" #include "hashtab.h" diff --git a/gcc/gimple-ssa-isolate-paths.c b/gcc/gimple-ssa-isolate-paths.c index c42f112..1b7e3ff 100644 --- a/gcc/gimple-ssa-isolate-paths.c +++ b/gcc/gimple-ssa-isolate-paths.c @@ -30,6 +30,7 @@ along with GCC; see the file COPYING3. If not see #include "gimple-iterator.h" #include "gimple-walk.h" #include "tree-ssa.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "gimple-ssa.h" #include "tree-ssa-operands.h" diff --git a/gcc/gimple-ssa-strength-reduction.c b/gcc/gimple-ssa-strength-reduction.c index 51bf7c7..4eb897f 100644 --- a/gcc/gimple-ssa-strength-reduction.c +++ b/gcc/gimple-ssa-strength-reduction.c @@ -40,6 +40,8 @@ along with GCC; see the file COPYING3. If not see #include "gimple.h" #include "gimple-iterator.h" #include "gimplify-me.h" +#include "stor-layout.h" +#include "expr.h" #include "basic-block.h" #include "tree-pass.h" #include "cfgloop.h" @@ -48,6 +50,7 @@ along with GCC; see the file COPYING3. If not see #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "domwalk.h" #include "pointer-set.h" diff --git a/gcc/gimple-streamer-in.c b/gcc/gimple-streamer-in.c index 6f8f51a..f8106fc 100644 --- a/gcc/gimple-streamer-in.c +++ b/gcc/gimple-streamer-in.c @@ -28,6 +28,7 @@ along with GCC; see the file COPYING3. If not see #include "gimple-iterator.h" #include "gimple-ssa.h" #include "tree-phinodes.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "data-streamer.h" #include "tree-streamer.h" diff --git a/gcc/gimple-walk.c b/gcc/gimple-walk.c index deb4673..22f4584 100644 --- a/gcc/gimple-walk.c +++ b/gcc/gimple-walk.c @@ -24,6 +24,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stmt.h" #include "gimple.h" #include "gimple-iterator.h" #include "gimple-walk.h" diff --git a/gcc/gimple.c b/gcc/gimple.c index 10d7edc..c031698 100644 --- a/gcc/gimple.c +++ b/gcc/gimple.c @@ -25,6 +25,9 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "target.h" #include "tree.h" +#include "calls.h" +#include "stmt.h" +#include "stor-layout.h" #include "ggc.h" #include "hard-reg-set.h" #include "basic-block.h" diff --git a/gcc/gimplify-me.c b/gcc/gimplify-me.c index c4818fa..a7e9387 100644 --- a/gcc/gimplify-me.c +++ b/gcc/gimplify-me.c @@ -25,11 +25,14 @@ along with GCC; see the file COPYING3. If not see #include "system.h" #include "coretypes.h" #include "tree.h" +#include "stmt.h" +#include "stor-layout.h" #include "gimple.h" #include "gimple-iterator.h" #include "gimplify.h" #include "gimplify-me.h" #include "gimple-ssa.h" +#include "stringpool.h" #include "tree-ssanames.h" diff --git a/gcc/gimplify.c b/gcc/gimplify.c index a65d3d1..8baa4dc 100644 --- a/gcc/gimplify.c +++ b/gcc/gimplify.c @@ -24,9 +24,16 @@ along with GCC; see the file COPYING3. If not see #include "system.h" #include "coretypes.h" #include "tree.h" +#include "expr.h" #include "gimple.h" #include "gimplify.h" #include "gimple-iterator.h" +#include "stringpool.h" +#include "calls.h" +#include "varasm.h" +#include "stor-layout.h" +#include "stmt.h" +#include "print-tree.h" #include "tree-iterator.h" #include "tree-inline.h" #include "tree-pretty-print.h" diff --git a/gcc/go/ChangeLog b/gcc/go/ChangeLog index 6f6b53e..918862e 100644 --- a/gcc/go/ChangeLog +++ b/gcc/go/ChangeLog @@ -12,6 +12,14 @@ * go-lang.c: Include only gimplify.h and gimple.h as needed. +2013-11-14 Diego Novillo <dnovillo@google.com> + + * 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. + 2013-11-12 Andrew MacLeod <amacleod@redhat.com> * go-lang.c: Include gimplify.h. diff --git a/gcc/go/go-backend.c b/gcc/go/go-backend.c index c3ffa3b1..31d0122 100644 --- a/gcc/go/go-backend.c +++ b/gcc/go/go-backend.c @@ -23,6 +23,7 @@ along with GCC; see the file COPYING3. If not see #include "simple-object.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" #include "tm_p.h" #include "intl.h" #include "output.h" /* for assemble_string */ diff --git a/gcc/go/go-gcc.cc b/gcc/go/go-gcc.cc index 5ff529f..83f91d5 100644 --- a/gcc/go/go-gcc.cc +++ b/gcc/go/go-gcc.cc @@ -25,6 +25,9 @@ #include <gmp.h> #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" +#include "varasm.h" #include "tree-iterator.h" #include "gimple.h" #include "toplev.h" diff --git a/gcc/go/go-lang.c b/gcc/go/go-lang.c index aa1d80b..93a0446 100644 --- a/gcc/go/go-lang.c +++ b/gcc/go/go-lang.c @@ -25,6 +25,7 @@ along with GCC; see the file COPYING3. If not see #include "tree.h" #include "gimple.h" #include "gimplify.h" +#include "stor-layout.h" #include "ggc.h" #include "toplev.h" #include "debug.h" diff --git a/gcc/go/gofrontend/expressions.cc b/gcc/go/gofrontend/expressions.cc index 823c5e1..14c10d6 100644 --- a/gcc/go/gofrontend/expressions.cc +++ b/gcc/go/gofrontend/expressions.cc @@ -11,6 +11,8 @@ #include "toplev.h" #include "intl.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" #include "gimple.h" #include "gimplify.h" #include "tree-iterator.h" diff --git a/gcc/go/gofrontend/gogo-tree.cc b/gcc/go/gofrontend/gogo-tree.cc index 12a0889..001d24d 100644 --- a/gcc/go/gofrontend/gogo-tree.cc +++ b/gcc/go/gofrontend/gogo-tree.cc @@ -8,6 +8,9 @@ #include "toplev.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" +#include "varasm.h" #include "gimple.h" #include "gimplify.h" #include "tree-iterator.h" diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c index 1b2cd99..7d705bb 100644 --- a/gcc/graphite-sese-to-poly.c +++ b/gcc/graphite-sese-to-poly.c @@ -42,6 +42,7 @@ along with GCC; see the file COPYING3. If not see #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-ssa-loop-manip.h" #include "tree-ssa-loop-niter.h" diff --git a/gcc/internal-fn.c b/gcc/internal-fn.c index a4cf1d5..8677470 100644 --- a/gcc/internal-fn.c +++ b/gcc/internal-fn.c @@ -22,6 +22,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "internal-fn.h" #include "tree.h" +#include "stor-layout.h" #include "expr.h" #include "optabs.h" #include "gimple.h" diff --git a/gcc/ipa-devirt.c b/gcc/ipa-devirt.c index 99fbfe7..38cf378 100644 --- a/gcc/ipa-devirt.c +++ b/gcc/ipa-devirt.c @@ -110,7 +110,10 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "print-tree.h" +#include "calls.h" #include "cgraph.h" +#include "expr.h" #include "tree-pass.h" #include "ggc.h" #include "pointer-set.h" diff --git a/gcc/ipa-inline-analysis.c b/gcc/ipa-inline-analysis.c index a558dbc..662196f 100644 --- a/gcc/ipa-inline-analysis.c +++ b/gcc/ipa-inline-analysis.c @@ -69,6 +69,9 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" +#include "stringpool.h" +#include "print-tree.h" #include "tree-inline.h" #include "langhooks.h" #include "flags.h" diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c index c9a373b..fbb63da 100644 --- a/gcc/ipa-inline.c +++ b/gcc/ipa-inline.c @@ -94,6 +94,8 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "trans-mem.h" +#include "calls.h" #include "tree-inline.h" #include "langhooks.h" #include "flags.h" diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c index 65f9da1..d122dd5 100644 --- a/gcc/ipa-prop.c +++ b/gcc/ipa-prop.c @@ -22,6 +22,9 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tree.h" #include "gimple.h" +#include "expr.h" +#include "stor-layout.h" +#include "print-tree.h" #include "gimplify.h" #include "gimple-iterator.h" #include "gimplify-me.h" diff --git a/gcc/ipa-pure-const.c b/gcc/ipa-pure-const.c index 52be4bf..a241a69 100644 --- a/gcc/ipa-pure-const.c +++ b/gcc/ipa-pure-const.c @@ -36,6 +36,8 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "print-tree.h" +#include "calls.h" #include "gimple.h" #include "gimple-iterator.h" #include "gimple-walk.h" diff --git a/gcc/ipa-reference.c b/gcc/ipa-reference.c index 9f80086..27208de 100644 --- a/gcc/ipa-reference.c +++ b/gcc/ipa-reference.c @@ -41,6 +41,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "calls.h" #include "gimple.h" #include "tree-inline.h" #include "tree-pass.h" diff --git a/gcc/ipa-split.c b/gcc/ipa-split.c index e55b3f5..59d1742 100644 --- a/gcc/ipa-split.c +++ b/gcc/ipa-split.c @@ -79,6 +79,9 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tree.h" #include "gimple.h" +#include "stringpool.h" +#include "expr.h" +#include "calls.h" #include "gimplify.h" #include "gimple-iterator.h" #include "gimplify-me.h" @@ -89,6 +92,7 @@ along with GCC; see the file COPYING3. If not see #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-into-ssa.h" #include "tree-dfa.h" @@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "calls.h" +#include "stringpool.h" #include "cgraph.h" #include "tree-pass.h" #include "gimple.h" diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 3ffa76d..0e277e4 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -12,6 +12,30 @@ * java-gimplify.c: Include only gimplify.h and gimple.h as needed. +2013-11-14 Diego Novillo <dnovillo@google.com> + + * 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. + 2013-11-12 Andrew MacLeod <amacleod@redhat.com> * java-gimplify.c: Include gimplify.h. diff --git a/gcc/java/builtins.c b/gcc/java/builtins.c index c055437..46d1d86 100644 --- a/gcc/java/builtins.c +++ b/gcc/java/builtins.c @@ -31,6 +31,8 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */ #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" +#include "stringpool.h" #include "ggc.h" #include "flags.h" #include "langhooks.h" diff --git a/gcc/java/class.c b/gcc/java/class.c index 251873e..58bc92f 100644 --- a/gcc/java/class.c +++ b/gcc/java/class.c @@ -27,6 +27,9 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */ #include "system.h" #include "coretypes.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" +#include "varasm.h" #include "flags.h" #include "java-tree.h" #include "jcf.h" diff --git a/gcc/java/constants.c b/gcc/java/constants.c index ca411b5..64f6e69 100644 --- a/gcc/java/constants.c +++ b/gcc/java/constants.c @@ -26,6 +26,8 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */ #include "tm.h" #include "jcf.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" #include "java-tree.h" #include "diagnostic-core.h" #include "toplev.h" diff --git a/gcc/java/decl.c b/gcc/java/decl.c index 0a2cecc..70e21b0 100644 --- a/gcc/java/decl.c +++ b/gcc/java/decl.c @@ -28,6 +28,9 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */ #include "system.h" #include "coretypes.h" #include "tree.h" +#include "stor-layout.h" +#include "stringpool.h" +#include "varasm.h" #include "diagnostic-core.h" #include "toplev.h" #include "flags.h" diff --git a/gcc/java/except.c b/gcc/java/except.c index b6d0c8d..9674aba 100644 --- a/gcc/java/except.c +++ b/gcc/java/except.c @@ -26,6 +26,8 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */ #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" #include "java-tree.h" #include "javaop.h" #include "java-opcodes.h" diff --git a/gcc/java/expr.c b/gcc/java/expr.c index 6dc00c6..c62d66d 100644 --- a/gcc/java/expr.c +++ b/gcc/java/expr.c @@ -33,6 +33,8 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */ PARM_BOUNDARY. */ #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" #include "flags.h" #include "java-tree.h" #include "javaop.h" diff --git a/gcc/java/jcf-parse.c b/gcc/java/jcf-parse.c index fbd4e00..9799523 100644 --- a/gcc/java/jcf-parse.c +++ b/gcc/java/jcf-parse.c @@ -27,6 +27,7 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */ #include "system.h" #include "coretypes.h" #include "tree.h" +#include "stringpool.h" #include "obstack.h" #include "flags.h" #include "java-except.h" diff --git a/gcc/java/mangle.c b/gcc/java/mangle.c index 10557e9..c4e0883 100644 --- a/gcc/java/mangle.c +++ b/gcc/java/mangle.c @@ -29,6 +29,7 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */ #include "coretypes.h" #include "jcf.h" #include "tree.h" +#include "stringpool.h" #include "java-tree.h" #include "obstack.h" #include "diagnostic-core.h" diff --git a/gcc/java/resource.c b/gcc/java/resource.c index 54403d9..17155b8 100644 --- a/gcc/java/resource.c +++ b/gcc/java/resource.c @@ -25,6 +25,8 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */ #include "system.h" #include "coretypes.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" #include "java-tree.h" #include "jcf.h" #include "diagnostic-core.h" diff --git a/gcc/java/typeck.c b/gcc/java/typeck.c index 9dbb3f0..3a0aa39 100644 --- a/gcc/java/typeck.c +++ b/gcc/java/typeck.c @@ -27,6 +27,8 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */ #include "system.h" #include "coretypes.h" #include "tree.h" +#include "stor-layout.h" +#include "stringpool.h" #include "obstack.h" #include "flags.h" #include "java-tree.h" diff --git a/gcc/java/verify-glue.c b/gcc/java/verify-glue.c index 21acc42..022f4c4 100644 --- a/gcc/java/verify-glue.c +++ b/gcc/java/verify-glue.c @@ -28,6 +28,7 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */ #include "system.h" #include "coretypes.h" #include "tree.h" +#include "stringpool.h" #include "parse.h" #include "verify.h" diff --git a/gcc/langhooks.c b/gcc/langhooks.c index ec0dd4d..4b72f2a 100644 --- a/gcc/langhooks.c +++ b/gcc/langhooks.c @@ -25,6 +25,8 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "toplev.h" #include "tree.h" +#include "stringpool.h" +#include "attribs.h" #include "tree-inline.h" #include "gimple.h" #include "gimplify.h" diff --git a/gcc/lto-cgraph.c b/gcc/lto-cgraph.c index 99dbf96..d827599 100644 --- a/gcc/lto-cgraph.c +++ b/gcc/lto-cgraph.c @@ -25,6 +25,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" #include "gimple.h" #include "expr.h" #include "flags.h" diff --git a/gcc/lto-streamer-in.c b/gcc/lto-streamer-in.c index 98cf28f..7b9f4ca 100644 --- a/gcc/lto-streamer-in.c +++ b/gcc/lto-streamer-in.c @@ -26,6 +26,7 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "toplev.h" #include "tree.h" +#include "stringpool.h" #include "expr.h" #include "flags.h" #include "params.h" diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c index 5176e35..5e264fc 100644 --- a/gcc/lto-streamer-out.c +++ b/gcc/lto-streamer-out.c @@ -25,6 +25,8 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" +#include "stringpool.h" #include "expr.h" #include "flags.h" #include "params.h" diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog index 266d00f..1b83f22 100644 --- a/gcc/lto/ChangeLog +++ b/gcc/lto/ChangeLog @@ -2,6 +2,13 @@ * lto-partition.c lto-symtab.c lto.c Adjust. +2013-11-14 Diego Novillo <dnovillo@google.com> + + * lto-lang.c: Include stringpool.h. + Include stor-layout.h. + * lto-partition.c: Include gcc-symtab.h. + * lto.c: Include stor-layout.h. + 2013-10-31 David Malcolm <dmalcolm@redhat.com> Automated part of renaming of symtab_node_base to symtab_node. diff --git a/gcc/lto/lto-lang.c b/gcc/lto/lto-lang.c index b56c22b..cb15ce3 100644 --- a/gcc/lto/lto-lang.c +++ b/gcc/lto/lto-lang.c @@ -24,6 +24,8 @@ along with GCC; see the file COPYING3. If not see #include "flags.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" #include "target.h" #include "langhooks.h" #include "langhooks-def.h" diff --git a/gcc/lto/lto-partition.c b/gcc/lto/lto-partition.c index e0d020d..42d7830 100644 --- a/gcc/lto/lto-partition.c +++ b/gcc/lto/lto-partition.c @@ -22,6 +22,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "toplev.h" #include "tree.h" +#include "gcc-symtab.h" #include "gimple.h" #include "tm.h" #include "cgraph.h" diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c index 6ecac01..0211437 100644 --- a/gcc/lto/lto.c +++ b/gcc/lto/lto.c @@ -24,6 +24,7 @@ along with GCC; see the file COPYING3. If not see #include "opts.h" #include "toplev.h" #include "tree.h" +#include "stor-layout.h" #include "diagnostic-core.h" #include "tm.h" #include "cgraph.h" diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog index 881ac6e..000ba9e 100644 --- a/gcc/objc/ChangeLog +++ b/gcc/objc/ChangeLog @@ -12,6 +12,19 @@ * objc-act.c: Include only gimplify.h and gimple.h as needed. +2013-11-14 Diego Novillo <dnovillo@google.com> + + * 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. + 2013-11-12 Andrew MacLeod <amacleod@redhat.com> * objc-act.c: Include gimplify.h. diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c index 9a640a3..d7e8afb 100644 --- a/gcc/objc/objc-act.c +++ b/gcc/objc/objc-act.c @@ -23,6 +23,9 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" +#include "attribs.h" #ifdef OBJCPLUS #include "cp/cp-tree.h" diff --git a/gcc/objc/objc-encoding.c b/gcc/objc/objc-encoding.c index 5327251..61d722a 100644 --- a/gcc/objc/objc-encoding.c +++ b/gcc/objc/objc-encoding.c @@ -21,6 +21,8 @@ along with GCC; see the file COPYING3. If not see #include "system.h" #include "coretypes.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" #ifdef OBJCPLUS #include "cp/cp-tree.h" diff --git a/gcc/objc/objc-gnu-runtime-abi-01.c b/gcc/objc/objc-gnu-runtime-abi-01.c index f011683..ef2e033 100644 --- a/gcc/objc/objc-gnu-runtime-abi-01.c +++ b/gcc/objc/objc-gnu-runtime-abi-01.c @@ -22,6 +22,7 @@ along with GCC; see the file COPYING3. If not see #include "system.h" #include "coretypes.h" #include "tree.h" +#include "stringpool.h" #ifdef OBJCPLUS #include "cp/cp-tree.h" diff --git a/gcc/objc/objc-next-runtime-abi-01.c b/gcc/objc/objc-next-runtime-abi-01.c index 000256d..9c7bf45 100644 --- a/gcc/objc/objc-next-runtime-abi-01.c +++ b/gcc/objc/objc-next-runtime-abi-01.c @@ -27,6 +27,7 @@ along with GCC; see the file COPYING3. If not see #include "system.h" #include "coretypes.h" #include "tree.h" +#include "stringpool.h" #ifdef OBJCPLUS #include "cp/cp-tree.h" diff --git a/gcc/objc/objc-next-runtime-abi-02.c b/gcc/objc/objc-next-runtime-abi-02.c index 8850477..c7215a8 100644 --- a/gcc/objc/objc-next-runtime-abi-02.c +++ b/gcc/objc/objc-next-runtime-abi-02.c @@ -30,6 +30,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" #ifdef OBJCPLUS #include "cp/cp-tree.h" diff --git a/gcc/objc/objc-runtime-shared-support.c b/gcc/objc/objc-runtime-shared-support.c index 45efb78..9278b39 100644 --- a/gcc/objc/objc-runtime-shared-support.c +++ b/gcc/objc/objc-runtime-shared-support.c @@ -23,6 +23,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" #ifdef OBJCPLUS #include "cp/cp-tree.h" diff --git a/gcc/omp-low.c b/gcc/omp-low.c index f850f53..783b422 100644 --- a/gcc/omp-low.c +++ b/gcc/omp-low.c @@ -26,6 +26,8 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" #include "rtl.h" #include "gimple.h" #include "gimplify.h" @@ -43,6 +45,7 @@ along with GCC; see the file COPYING3. If not see #include "ssa-iterators.h" #include "tree-ssanames.h" #include "tree-into-ssa.h" +#include "expr.h" #include "tree-dfa.h" #include "tree-ssa.h" #include "flags.h" diff --git a/gcc/optabs.c b/gcc/optabs.c index 661ce58..dcef480 100644 --- a/gcc/optabs.c +++ b/gcc/optabs.c @@ -29,6 +29,9 @@ along with GCC; see the file COPYING3. If not see #include "insn-config.h" #include "rtl.h" #include "tree.h" +#include "stor-layout.h" +#include "stringpool.h" +#include "varasm.h" #include "tm_p.h" #include "flags.h" #include "function.h" diff --git a/gcc/optabs.h b/gcc/optabs.h index 4de4409..6a5ec19 100644 --- a/gcc/optabs.h +++ b/gcc/optabs.h @@ -551,5 +551,6 @@ extern void gen_satfract_conv_libfunc (convert_optab, const char *, extern void gen_satfractuns_conv_libfunc (convert_optab, const char *, enum machine_mode, enum machine_mode); +extern void init_tree_optimization_optabs (tree); #endif /* GCC_OPTABS_H */ diff --git a/gcc/passes.c b/gcc/passes.c index 55ec70f..fee1513 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -30,6 +30,7 @@ along with GCC; see the file COPYING3. If not see #include "hash-table.h" #include "input.h" #include "tree.h" +#include "varasm.h" #include "rtl.h" #include "tm_p.h" #include "flags.h" @@ -63,6 +64,7 @@ along with GCC; see the file COPYING3. If not see #include "gimple.h" #include "gimple-ssa.h" #include "tree-cfg.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-ssa-loop-manip.h" #include "tree-into-ssa.h" diff --git a/gcc/predict.c b/gcc/predict.c index b9303e2..4adc5e4 100644 --- a/gcc/predict.c +++ b/gcc/predict.c @@ -32,6 +32,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "calls.h" #include "rtl.h" #include "tm_p.h" #include "hard-reg-set.h" diff --git a/gcc/print-rtl.c b/gcc/print-rtl.c index 7d712c1..833bee9 100644 --- a/gcc/print-rtl.c +++ b/gcc/print-rtl.c @@ -34,6 +34,7 @@ along with GCC; see the file COPYING3. If not see generator programs. */ #ifndef GENERATOR_FILE #include "tree.h" +#include "print-tree.h" #include "flags.h" #include "hard-reg-set.h" #include "basic-block.h" diff --git a/gcc/print-rtl.h b/gcc/print-rtl.h new file mode 100644 index 0000000..3cb28d6 --- /dev/null +++ b/gcc/print-rtl.h @@ -0,0 +1,27 @@ +/* Print RTL for GCC. + Copyright (C) 1987-2013 Free Software Foundation, Inc. + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 3, or (at your option) any later +version. + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with GCC; see the file COPYING3. If not see +<http://www.gnu.org/licenses/>. */ + +#ifndef GCC_PRINT_RTL_H +#define GCC_PRINT_RTL_H + +#ifdef BUFSIZ +extern void print_rtl (FILE *, const_rtx); +#endif + +#endif // GCC_PRINT_RTL_H diff --git a/gcc/print-tree.c b/gcc/print-tree.c index 5916c52..1f4bf22 100644 --- a/gcc/print-tree.c +++ b/gcc/print-tree.c @@ -23,6 +23,9 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "varasm.h" +#include "print-rtl.h" +#include "stor-layout.h" #include "ggc.h" #include "langhooks.h" #include "tree-iterator.h" diff --git a/gcc/print-tree.h b/gcc/print-tree.h new file mode 100644 index 0000000..7d1a5c8 --- /dev/null +++ b/gcc/print-tree.h @@ -0,0 +1,46 @@ +/* Declarations for printing trees in human readable form + Copyright (C) 2013 Free Software Foundation, Inc. + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 3, or (at your option) any later +version. + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with GCC; see the file COPYING3. If not see +<http://www.gnu.org/licenses/>. */ + +#ifndef GCC_PRINT_TREE_H +#define GCC_PRINT_TREE_H + +extern void debug_tree (tree); +extern void debug_raw (const tree_node &ref); +extern void debug_raw (const tree_node *ptr); +extern void debug (const tree_node &ref); +extern void debug (const tree_node *ptr); +extern void debug_verbose (const tree_node &ref); +extern void debug_verbose (const tree_node *ptr); +extern void debug_head (const tree_node &ref); +extern void debug_head (const tree_node *ptr); +extern void debug_body (const tree_node &ref); +extern void debug_body (const tree_node *ptr); +extern void debug_vec_tree (vec<tree, va_gc> *); +extern void debug (vec<tree, va_gc> &ref); +extern void debug (vec<tree, va_gc> *ptr); +extern void debug_raw (vec<tree, va_gc> &ref); +extern void debug_raw (vec<tree, va_gc> *ptr); +#ifdef BUFSIZ +extern void dump_addr (FILE*, const char *, const void *); +extern void print_node (FILE *, const char *, tree, int); +extern void print_node_brief (FILE *, const char *, const_tree, int); +extern void indent_to (FILE *, int); +#endif + +#endif // GCC_PRINT_TREE_H diff --git a/gcc/realmpfr.c b/gcc/realmpfr.c index 34f7712..b5c1120 100644 --- a/gcc/realmpfr.c +++ b/gcc/realmpfr.c @@ -22,6 +22,7 @@ #include "coretypes.h" #include "realmpfr.h" #include "tree.h" /* For TYPE_MODE in real_from_mpfr. */ +#include "stor-layout.h" /* Convert from REAL_VALUE_TYPE to MPFR. The caller is responsible for initializing and clearing the MPFR parameter. */ diff --git a/gcc/reg-stack.c b/gcc/reg-stack.c index 3740934..756d3bd 100644 --- a/gcc/reg-stack.c +++ b/gcc/reg-stack.c @@ -154,6 +154,7 @@ #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "varasm.h" #include "rtl-error.h" #include "tm_p.h" #include "function.h" diff --git a/gcc/sdbout.c b/gcc/sdbout.c index f108699..8af0bc5 100644 --- a/gcc/sdbout.c +++ b/gcc/sdbout.c @@ -45,6 +45,8 @@ AT&T C compiler. From the example below I would conclude the following: #include "tm.h" #include "debug.h" #include "tree.h" +#include "varasm.h" +#include "stor-layout.h" #include "ggc.h" #include "vec.h" @@ -33,6 +33,7 @@ along with GCC; see the file COPYING3. If not see #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-ssa-loop.h" #include "tree-into-ssa.h" diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c index 6e174e5..b91ae1a 100644 --- a/gcc/simplify-rtx.c +++ b/gcc/simplify-rtx.c @@ -24,6 +24,7 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "rtl.h" #include "tree.h" +#include "varasm.h" #include "tm_p.h" #include "regs.h" #include "hard-reg-set.h" @@ -30,6 +30,8 @@ along with GCC; see the file COPYING3. If not see #include "rtl.h" #include "hard-reg-set.h" #include "tree.h" +#include "varasm.h" +#include "stor-layout.h" #include "tm_p.h" #include "flags.h" #include "except.h" diff --git a/gcc/stmt.h b/gcc/stmt.h new file mode 100644 index 0000000..514be23 --- /dev/null +++ b/gcc/stmt.h @@ -0,0 +1,34 @@ +/* Declarations and data structures for stmt.c. + Copyright (C) 2013 Free Software Foundation, Inc. + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 3, or (at your option) any later +version. + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with GCC; see the file COPYING3. If not see +<http://www.gnu.org/licenses/>. */ + +#ifndef GCC_STMT_H +#define GCC_STMT_H + +extern void expand_label (tree); +extern bool parse_output_constraint (const char **, int, int, int, + bool *, bool *, bool *); +extern bool parse_input_constraint (const char **, int, int, int, int, + const char * const *, bool *, bool *); +extern tree resolve_asm_operand_names (tree, tree, tree, tree); +#ifdef HARD_CONST +/* Silly ifdef to avoid having all includers depend on hard-reg-set.h. */ +extern tree tree_overlaps_hard_reg_set (tree, HARD_REG_SET *); +#endif + +#endif // GCC_STMT_H diff --git a/gcc/stor-layout.c b/gcc/stor-layout.c index 535b897..0dece71 100644 --- a/gcc/stor-layout.c +++ b/gcc/stor-layout.c @@ -23,6 +23,10 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" +#include "stringpool.h" +#include "varasm.h" +#include "print-tree.h" #include "rtl.h" #include "tm_p.h" #include "flags.h" diff --git a/gcc/stor-layout.h b/gcc/stor-layout.h new file mode 100644 index 0000000..706bed4 --- /dev/null +++ b/gcc/stor-layout.h @@ -0,0 +1,115 @@ +/* Definitions and declarations for stor-layout.c. + Copyright (C) 2013 Free Software Foundation, Inc. + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 3, or (at your option) any later +version. + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with GCC; see the file COPYING3. If not see +<http://www.gnu.org/licenses/>. */ + +#ifndef GCC_STOR_LAYOUT_H +#define GCC_STOR_LAYOUT_H + +extern void set_min_and_max_values_for_integral_type (tree, int, bool); +extern void fixup_signed_type (tree); +extern void internal_reference_types (void); +extern unsigned int update_alignment_for_field (record_layout_info, tree, + unsigned int); +extern record_layout_info start_record_layout (tree); +extern tree bit_from_pos (tree, tree); +extern tree byte_from_pos (tree, tree); +extern void pos_from_bit (tree *, tree *, unsigned int, tree); +extern void normalize_offset (tree *, tree *, unsigned int); +extern tree rli_size_unit_so_far (record_layout_info); +extern tree rli_size_so_far (record_layout_info); +extern void normalize_rli (record_layout_info); +extern void place_field (record_layout_info, tree); +extern void compute_record_mode (tree); +extern void finish_record_layout (record_layout_info, int); +extern unsigned int element_precision (const_tree); +extern void finalize_size_functions (void); +extern void fixup_unsigned_type (tree); +extern void initialize_sizetypes (void); + +/* Finish up a builtin RECORD_TYPE. Give it a name and provide its + fields. Optionally specify an alignment, and then lay it out. */ +extern void finish_builtin_struct (tree, const char *, tree, tree); + +/* Given a VAR_DECL, PARM_DECL, RESULT_DECL or FIELD_DECL node, + calculates the DECL_SIZE, DECL_SIZE_UNIT, DECL_ALIGN and DECL_MODE + fields. Call this only once for any given decl node. + + Second argument is the boundary that this field can be assumed to + be starting at (in bits). Zero means it can be assumed aligned + on any boundary that may be needed. */ +extern void layout_decl (tree, unsigned); + +/* Given a ..._TYPE node, calculate the TYPE_SIZE, TYPE_SIZE_UNIT, + TYPE_ALIGN and TYPE_MODE fields. If called more than once on one + node, does nothing except for the first time. */ +extern void layout_type (tree); + +/* Construct various nodes representing fract or accum data types. */ +extern tree make_fract_type (int, int, int); +extern tree make_accum_type (int, int, int); + +#define make_signed_fract_type(P) make_fract_type (P, 0, 0) +#define make_unsigned_fract_type(P) make_fract_type (P, 1, 0) +#define make_sat_signed_fract_type(P) make_fract_type (P, 0, 1) +#define make_sat_unsigned_fract_type(P) make_fract_type (P, 1, 1) +#define make_signed_accum_type(P) make_accum_type (P, 0, 0) +#define make_unsigned_accum_type(P) make_accum_type (P, 1, 0) +#define make_sat_signed_accum_type(P) make_accum_type (P, 0, 1) +#define make_sat_unsigned_accum_type(P) make_accum_type (P, 1, 1) + +#define make_or_reuse_signed_fract_type(P) \ + make_or_reuse_fract_type (P, 0, 0) +#define make_or_reuse_unsigned_fract_type(P) \ + make_or_reuse_fract_type (P, 1, 0) +#define make_or_reuse_sat_signed_fract_type(P) \ + make_or_reuse_fract_type (P, 0, 1) +#define make_or_reuse_sat_unsigned_fract_type(P) \ + make_or_reuse_fract_type (P, 1, 1) +#define make_or_reuse_signed_accum_type(P) \ + make_or_reuse_accum_type (P, 0, 0) +#define make_or_reuse_unsigned_accum_type(P) \ + make_or_reuse_accum_type (P, 1, 0) +#define make_or_reuse_sat_signed_accum_type(P) \ + make_or_reuse_accum_type (P, 0, 1) +#define make_or_reuse_sat_unsigned_accum_type(P) \ + make_or_reuse_accum_type (P, 1, 1) + +extern tree make_signed_type (int); +extern tree make_unsigned_type (int); + +/* Return the mode for data of a given size SIZE and mode class CLASS. + If LIMIT is nonzero, then don't use modes bigger than MAX_FIXED_MODE_SIZE. + The value is BLKmode if no other mode is found. This is like + mode_for_size, but is passed a tree. */ +extern enum machine_mode mode_for_size_tree (const_tree, enum mode_class, int); + +/* Given a VAR_DECL, PARM_DECL or RESULT_DECL, clears the results of + a previous call to layout_decl and calls it again. */ +extern void relayout_decl (tree); + +/* variable_size (EXP) is like save_expr (EXP) except that it + is for the special case of something that is part of a + variable size for a data type. It makes special arrangements + to compute the value at the right time when the data type + belongs to a function parameter. */ +extern tree variable_size (tree); + +/* Vector types need to check target flags to determine type. */ +extern enum machine_mode vector_type_mode (const_tree); + +#endif // GCC_STOR_LAYOUT_H diff --git a/gcc/stringpool.h b/gcc/stringpool.h new file mode 100644 index 0000000..55592aa --- /dev/null +++ b/gcc/stringpool.h @@ -0,0 +1,43 @@ +/* Declarations and definitons for stringpool.c. + Copyright (C) 2013 Free Software Foundation, Inc. + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 3, or (at your option) any later +version. + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with GCC; see the file COPYING3. If not see +<http://www.gnu.org/licenses/>. */ + +#ifndef GCC_STRINGPOOL_H +#define GCC_STRINGPOOL_H + +/* Return the (unique) IDENTIFIER_NODE node for a given name. + The name is supplied as a char *. */ +extern tree get_identifier (const char *); + +/* If an identifier with the name TEXT (a null-terminated string) has + previously been referred to, return that node; otherwise return + NULL_TREE. */ +extern tree maybe_get_identifier (const char *); + +/* Identical to get_identifier, except that the length is assumed + known. */ +extern tree get_identifier_with_length (const char *, size_t); + +#if GCC_VERSION >= 3000 +#define get_identifier(str) \ + (__builtin_constant_p (str) \ + ? get_identifier_with_length ((str), strlen (str)) \ + : get_identifier (str)) +#endif + +#endif // GCC_STRINGPOOL_H diff --git a/gcc/symtab.c b/gcc/symtab.c index 9426f75..851264d 100644 --- a/gcc/symtab.c +++ b/gcc/symtab.c @@ -22,7 +22,12 @@ along with GCC; see the file COPYING3. If not see #include "system.h" #include "coretypes.h" #include "tm.h" +#include "rtl.h" #include "tree.h" +#include "print-tree.h" +#include "varasm.h" +#include "function.h" +#include "emit-rtl.h" #include "gimple.h" #include "tree-inline.h" #include "langhooks.h" @@ -32,7 +37,6 @@ along with GCC; see the file COPYING3. If not see #include "diagnostic.h" #include "timevar.h" #include "lto-streamer.h" -#include "rtl.h" #include "output.h" const char * const ld_plugin_symbol_resolution_names[]= diff --git a/gcc/targhooks.c b/gcc/targhooks.c index cddc439..533d9f3 100644 --- a/gcc/targhooks.c +++ b/gcc/targhooks.c @@ -53,6 +53,8 @@ along with GCC; see the file COPYING3. If not see #include "machmode.h" #include "rtl.h" #include "tree.h" +#include "stor-layout.h" +#include "varasm.h" #include "expr.h" #include "output.h" #include "diagnostic-core.h" @@ -70,6 +72,7 @@ along with GCC; see the file COPYING3. If not see #include "opts.h" #include "gimple.h" #include "gimplify.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-ssa-alias.h" #include "insn-codes.h" diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 5666ad2..7fd31df 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -175,6 +175,11 @@ * g++.dg/cpp0x/nsdmi-template3.C: New. * g++.dg/cpp0x/nsdmi-template4.C: Likewise. +2013-11-14 Diego Novillo <dnovillo@google.com> + + * gcc.dg/plugin/selfassign.c: Include stringpool.h. + * gcc.dg/plugin/start_unit_plugin.c: Likewise. + 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> * gcc.target/powerpc/ppc64-abi-1.c (stack_frame_t): Remove diff --git a/gcc/testsuite/gcc.dg/plugin/selfassign.c b/gcc/testsuite/gcc.dg/plugin/selfassign.c index 2498153..cdab74a 100644 --- a/gcc/testsuite/gcc.dg/plugin/selfassign.c +++ b/gcc/testsuite/gcc.dg/plugin/selfassign.c @@ -8,6 +8,7 @@ #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" #include "toplev.h" #include "basic-block.h" #include "gimple.h" diff --git a/gcc/testsuite/gcc.dg/plugin/start_unit_plugin.c b/gcc/testsuite/gcc.dg/plugin/start_unit_plugin.c index 257aad8..39f4462 100644 --- a/gcc/testsuite/gcc.dg/plugin/start_unit_plugin.c +++ b/gcc/testsuite/gcc.dg/plugin/start_unit_plugin.c @@ -11,6 +11,7 @@ #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" #include "toplev.h" #include "basic-block.h" #include "gimple.h" diff --git a/gcc/toplev.c b/gcc/toplev.c index 66477b6..5fedcea 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -29,6 +29,8 @@ along with GCC; see the file COPYING3. If not see #include "line-map.h" #include "input.h" #include "tree.h" +#include "varasm.h" +#include "tree-inline.h" #include "realmpfr.h" /* For GMP/MPFR/MPC versions, in print_version. */ #include "version.h" #include "rtl.h" diff --git a/gcc/trans-mem.c b/gcc/trans-mem.c index 879f37b..2486005 100644 --- a/gcc/trans-mem.c +++ b/gcc/trans-mem.c @@ -23,6 +23,10 @@ #include "hash-table.h" #include "tree.h" #include "gimple.h" +#include "calls.h" +#include "function.h" +#include "rtl.h" +#include "emit-rtl.h" #include "gimplify.h" #include "gimple-iterator.h" #include "gimplify-me.h" @@ -30,6 +34,7 @@ #include "gimple-ssa.h" #include "cgraph.h" #include "tree-cfg.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-into-ssa.h" #include "tree-pass.h" diff --git a/gcc/trans-mem.h b/gcc/trans-mem.h index 09f0b4d..d68171f 100644 --- a/gcc/trans-mem.h +++ b/gcc/trans-mem.h @@ -17,6 +17,8 @@ along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>. */ +#ifndef GCC_TRANS_MEM_H +#define GCC_TRANS_MEM_H /* These defines must match the enumerations in libitm.h. */ #define PR_INSTRUMENTEDCODE 0x0001 @@ -37,3 +39,12 @@ extern void compute_transaction_bits (void); extern bool is_tm_ending (gimple); +extern tree build_tm_abort_call (location_t, bool); +extern bool is_tm_safe (const_tree); +extern bool is_tm_pure (const_tree); +extern bool is_tm_may_cancel_outer (tree); +extern bool is_tm_ending_fndecl (tree); +extern void record_tm_replacement (tree, tree); +extern void tm_malloc_replacement (tree); + +#endif // GCC_TRANS_MEM_H diff --git a/gcc/tree-affine.c b/gcc/tree-affine.c index 25fd7f2..9e3e1bf 100644 --- a/gcc/tree-affine.c +++ b/gcc/tree-affine.c @@ -21,6 +21,7 @@ along with GCC; see the file COPYING3. If not see #include "system.h" #include "coretypes.h" #include "tree.h" +#include "expr.h" #include "tree-pretty-print.h" #include "pointer-set.h" #include "tree-affine.h" diff --git a/gcc/tree-browser.c b/gcc/tree-browser.c index dad06a5..c3483a7 100644 --- a/gcc/tree-browser.c +++ b/gcc/tree-browser.c @@ -24,6 +24,7 @@ along with GCC; see the file COPYING3. If not see #include "hash-table.h" #include "tree.h" #include "tree-pretty-print.h" +#include "print-tree.h" #define TB_OUT_FILE stdout #define TB_IN_FILE stdin diff --git a/gcc/tree-call-cdce.c b/gcc/tree-call-cdce.c index 8e63646..6f6b117 100644 --- a/gcc/tree-call-cdce.c +++ b/gcc/tree-call-cdce.c @@ -24,11 +24,13 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "basic-block.h" #include "tree.h" +#include "stor-layout.h" #include "gimple-pretty-print.h" #include "gimple.h" #include "gimple-iterator.h" #include "gimple-ssa.h" #include "tree-cfg.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-into-ssa.h" #include "tree-pass.h" diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index 751db30..a38dec3 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -24,6 +24,9 @@ along with GCC; see the file COPYING3. If not see #include "hash-table.h" #include "tm.h" #include "tree.h" +#include "trans-mem.h" +#include "stor-layout.h" +#include "print-tree.h" #include "tm_p.h" #include "basic-block.h" #include "flags.h" @@ -39,10 +42,12 @@ along with GCC; see the file COPYING3. If not see #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-ssa-loop-manip.h" #include "tree-ssa-loop-niter.h" #include "tree-into-ssa.h" +#include "expr.h" #include "tree-dfa.h" #include "tree-ssa.h" #include "tree-dump.h" diff --git a/gcc/tree-cfgcleanup.c b/gcc/tree-cfgcleanup.c index 0d4c63d..ec99ed0 100644 --- a/gcc/tree-cfgcleanup.c +++ b/gcc/tree-cfgcleanup.c @@ -36,8 +36,10 @@ along with GCC; see the file COPYING3. If not see #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-ssa-loop-manip.h" +#include "expr.h" #include "tree-dfa.h" #include "tree-ssa.h" #include "tree-pass.h" diff --git a/gcc/tree-complex.c b/gcc/tree-complex.c index 130674e..05f30e5 100644 --- a/gcc/tree-complex.c +++ b/gcc/tree-complex.c @@ -22,6 +22,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" #include "flags.h" #include "gimple.h" #include "gimplify.h" @@ -31,7 +32,9 @@ along with GCC; see the file COPYING3. If not see #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" +#include "expr.h" #include "tree-dfa.h" #include "tree-ssa.h" #include "tree-iterator.h" diff --git a/gcc/tree-data-ref.c b/gcc/tree-data-ref.c index dde08bb..190b91c 100644 --- a/gcc/tree-data-ref.c +++ b/gcc/tree-data-ref.c @@ -77,6 +77,7 @@ along with GCC; see the file COPYING3. If not see #include "system.h" #include "coretypes.h" #include "tree.h" +#include "expr.h" #include "gimple-pretty-print.h" #include "gimple.h" #include "gimple-iterator.h" diff --git a/gcc/tree-dfa.c b/gcc/tree-dfa.c index 678bbb9..0d1eb99 100644 --- a/gcc/tree-dfa.c +++ b/gcc/tree-dfa.c @@ -25,6 +25,7 @@ along with GCC; see the file COPYING3. If not see #include "hashtab.h" #include "pointer-set.h" #include "tree.h" +#include "stor-layout.h" #include "tm_p.h" #include "basic-block.h" #include "ggc.h" @@ -38,7 +39,9 @@ along with GCC; see the file COPYING3. If not see #include "gimple-ssa.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" +#include "expr.h" #include "tree-dfa.h" #include "tree-inline.h" #include "tree-pass.h" diff --git a/gcc/tree-eh.c b/gcc/tree-eh.c index 656ba6f..7778678 100644 --- a/gcc/tree-eh.c +++ b/gcc/tree-eh.c @@ -23,6 +23,8 @@ along with GCC; see the file COPYING3. If not see #include "hash-table.h" #include "tm.h" #include "tree.h" +#include "expr.h" +#include "calls.h" #include "flags.h" #include "function.h" #include "except.h" @@ -34,6 +36,7 @@ along with GCC; see the file COPYING3. If not see #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-into-ssa.h" #include "tree-ssa.h" diff --git a/gcc/tree-emutls.c b/gcc/tree-emutls.c index 11337c0..7f0c0a1 100644 --- a/gcc/tree-emutls.c +++ b/gcc/tree-emutls.c @@ -21,6 +21,8 @@ along with GCC; see the file COPYING3. If not see #include "system.h" #include "coretypes.h" #include "tree.h" +#include "stor-layout.h" +#include "varasm.h" #include "gimple.h" #include "gimple-iterator.h" #include "gimple-walk.h" @@ -29,6 +31,7 @@ along with GCC; see the file COPYING3. If not see #include "cgraph.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "langhooks.h" #include "target.h" diff --git a/gcc/tree-if-conv.c b/gcc/tree-if-conv.c index 81403f2..2dd0733 100644 --- a/gcc/tree-if-conv.c +++ b/gcc/tree-if-conv.c @@ -85,6 +85,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" #include "flags.h" #include "basic-block.h" #include "gimple-pretty-print.h" @@ -96,6 +97,7 @@ along with GCC; see the file COPYING3. If not see #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-into-ssa.h" #include "tree-ssa.h" diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index d0eb27b..0a39ee6 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -24,6 +24,8 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "diagnostic-core.h" #include "tree.h" +#include "stor-layout.h" +#include "calls.h" #include "tree-inline.h" #include "flags.h" #include "params.h" @@ -43,8 +45,10 @@ along with GCC; see the file COPYING3. If not see #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-into-ssa.h" +#include "expr.h" #include "tree-dfa.h" #include "tree-ssa.h" #include "function.h" diff --git a/gcc/tree-inline.h b/gcc/tree-inline.h index 50ccaab..d871fc4 100644 --- a/gcc/tree-inline.h +++ b/gcc/tree-inline.h @@ -183,10 +183,9 @@ extern eni_weights eni_size_weights; extern eni_weights eni_time_weights; /* Function prototypes. */ - +void init_inline_once (void); extern tree copy_tree_body_r (tree *, int *, void *); extern void insert_decl_map (copy_body_data *, tree, tree); - unsigned int optimize_inline_calls (tree); tree maybe_inline_call_in_expr (tree); bool tree_inlinable_function_p (tree); @@ -197,9 +196,13 @@ int estimate_num_insns (gimple, eni_weights *); int estimate_num_insns_fn (tree, eni_weights *); int count_insns_seq (gimple_seq, eni_weights *); bool tree_versionable_function_p (tree); - extern tree remap_decl (tree decl, copy_body_data *id); extern tree remap_type (tree type, copy_body_data *id); extern gimple_seq copy_gimple_seq_and_replace_locals (gimple_seq seq); +extern bool debug_find_tree (tree, tree); + +/* This is in tree-inline.c since the routine uses + data structures from the inliner. */ +extern tree build_duplicate_type (tree); #endif /* GCC_TREE_INLINE_H */ diff --git a/gcc/tree-into-ssa.c b/gcc/tree-into-ssa.c index ee86f2c..b2b5799 100644 --- a/gcc/tree-into-ssa.c +++ b/gcc/tree-into-ssa.c @@ -35,8 +35,10 @@ along with GCC; see the file COPYING3. If not see #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-into-ssa.h" +#include "expr.h" #include "tree-dfa.h" #include "tree-ssa.h" #include "tree-inline.h" diff --git a/gcc/tree-iterator.h b/gcc/tree-iterator.h index f759389..b5217f7 100644 --- a/gcc/tree-iterator.h +++ b/gcc/tree-iterator.h @@ -117,5 +117,7 @@ extern tree alloc_stmt_list (void); extern void free_stmt_list (tree); extern void append_to_statement_list (tree, tree *); extern void append_to_statement_list_force (tree, tree *); +extern tree expr_first (tree); +extern tree expr_last (tree); #endif /* GCC_TREE_ITERATOR_H */ diff --git a/gcc/tree-loop-distribution.c b/gcc/tree-loop-distribution.c index 0754877..6f9462c 100644 --- a/gcc/tree-loop-distribution.c +++ b/gcc/tree-loop-distribution.c @@ -48,10 +48,12 @@ along with GCC; see the file COPYING3. If not see #include "gimple.h" #include "gimple-iterator.h" #include "gimplify-me.h" +#include "stor-layout.h" #include "gimple-ssa.h" #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-ssa-loop-manip.h" #include "tree-ssa-loop.h" diff --git a/gcc/tree-nested.c b/gcc/tree-nested.c index 9b4493b..868c8fd 100644 --- a/gcc/tree-nested.c +++ b/gcc/tree-nested.c @@ -22,6 +22,8 @@ #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stringpool.h" +#include "stor-layout.h" #include "tm_p.h" #include "function.h" #include "tree-dump.h" diff --git a/gcc/tree-nrv.c b/gcc/tree-nrv.c index b333abf..035428a 100644 --- a/gcc/tree-nrv.c +++ b/gcc/tree-nrv.c @@ -29,6 +29,7 @@ along with GCC; see the file COPYING3. If not see #include "gimple-iterator.h" #include "gimple-walk.h" #include "gimple-ssa.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-pass.h" #include "langhooks.h" diff --git a/gcc/tree-object-size.c b/gcc/tree-object-size.c index 8dcd2aa..785f71e 100644 --- a/gcc/tree-object-size.c +++ b/gcc/tree-object-size.c @@ -23,12 +23,14 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "tree-object-size.h" #include "diagnostic-core.h" #include "gimple-pretty-print.h" #include "bitmap.h" #include "gimple.h" #include "gimple-iterator.h" #include "gimple-ssa.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-pass.h" #include "tree-ssa-propagate.h" diff --git a/gcc/tree-object-size.h b/gcc/tree-object-size.h new file mode 100644 index 0000000..19029d8 --- /dev/null +++ b/gcc/tree-object-size.h @@ -0,0 +1,26 @@ +/* Declarations for tree-object-size.c. + Copyright (C) 2013 Free Software Foundation, Inc. + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3, or (at your option) +any later version. + +GCC is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GCC; see the file COPYING3. If not see +<http://www.gnu.org/licenses/>. */ + +#ifndef GCC_TREE_OBJECT_SIZE_H +#define GCC_TREE_OBJECT_SIZE_H + +extern void init_object_sizes (void); +extern unsigned HOST_WIDE_INT compute_builtin_object_size (tree, int); + +#endif // GCC_TREE_OBJECT_SIZE_H diff --git a/gcc/tree-outof-ssa.c b/gcc/tree-outof-ssa.c index eb11c88..333ef76 100644 --- a/gcc/tree-outof-ssa.c +++ b/gcc/tree-outof-ssa.c @@ -23,6 +23,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" #include "ggc.h" #include "basic-block.h" #include "gimple-pretty-print.h" @@ -34,6 +35,7 @@ along with GCC; see the file COPYING3. If not see #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "dumpfile.h" #include "diagnostic-core.h" diff --git a/gcc/tree-parloops.c b/gcc/tree-parloops.c index 648331c..b7370f7 100644 --- a/gcc/tree-parloops.c +++ b/gcc/tree-parloops.c @@ -28,10 +28,13 @@ along with GCC; see the file COPYING3. If not see #include "gimple-iterator.h" #include "gimplify-me.h" #include "gimple-walk.h" +#include "stor-layout.h" +#include "tree-nested.h" #include "gimple-ssa.h" #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-ssa-loop-ivopts.h" #include "tree-ssa-loop-manip.h" diff --git a/gcc/tree-phinodes.c b/gcc/tree-phinodes.c index da7bf5b..dffad68 100644 --- a/gcc/tree-phinodes.c +++ b/gcc/tree-phinodes.c @@ -29,6 +29,7 @@ along with GCC; see the file COPYING3. If not see #include "gimple-ssa.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-ssa.h" #include "diagnostic-core.h" diff --git a/gcc/tree-predcom.c b/gcc/tree-predcom.c index a43d19b..830f82b 100644 --- a/gcc/tree-predcom.c +++ b/gcc/tree-predcom.c @@ -198,12 +198,14 @@ along with GCC; see the file COPYING3. If not see #include "gimple-ssa.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-ssa-loop-ivopts.h" #include "tree-ssa-loop-manip.h" #include "tree-ssa-loop-niter.h" #include "tree-ssa-loop.h" #include "tree-into-ssa.h" +#include "expr.h" #include "tree-dfa.h" #include "tree-ssa.h" #include "ggc.h" diff --git a/gcc/tree-pretty-print.c b/gcc/tree-pretty-print.c index 93dc9c2..7ed4883 100644 --- a/gcc/tree-pretty-print.c +++ b/gcc/tree-pretty-print.c @@ -23,6 +23,8 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" +#include "expr.h" #include "tree-pretty-print.h" #include "hashtab.h" #include "gimple.h" diff --git a/gcc/tree-profile.c b/gcc/tree-profile.c index 132ce0d..fb4df90 100644 --- a/gcc/tree-profile.c +++ b/gcc/tree-profile.c @@ -35,12 +35,15 @@ along with GCC; see the file COPYING3. If not see #include "coverage.h" #include "tree.h" #include "gimple.h" +#include "varasm.h" +#include "tree-nested.h" #include "gimplify.h" #include "gimple-iterator.h" #include "gimplify-me.h" #include "gimple-ssa.h" #include "cgraph.h" #include "tree-cfg.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-into-ssa.h" #include "tree-pass.h" diff --git a/gcc/tree-scalar-evolution.c b/gcc/tree-scalar-evolution.c index 115683d..e8b18f9 100644 --- a/gcc/tree-scalar-evolution.c +++ b/gcc/tree-scalar-evolution.c @@ -257,6 +257,7 @@ along with GCC; see the file COPYING3. If not see #include "system.h" #include "coretypes.h" #include "tree.h" +#include "expr.h" #include "hash-table.h" #include "gimple-pretty-print.h" #include "gimple.h" @@ -266,6 +267,7 @@ along with GCC; see the file COPYING3. If not see #include "gimple-ssa.h" #include "tree-cfg.h" #include "tree-phinodes.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-ssa-loop-ivopts.h" #include "tree-ssa-loop-manip.h" diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c index b4b1788..ea1986c 100644 --- a/gcc/tree-sra.c +++ b/gcc/tree-sra.c @@ -79,6 +79,7 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "tree.h" #include "gimple.h" +#include "stor-layout.h" #include "gimplify.h" #include "gimple-iterator.h" #include "gimplify-me.h" @@ -88,7 +89,9 @@ along with GCC; see the file COPYING3. If not see #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" +#include "expr.h" #include "tree-dfa.h" #include "tree-ssa.h" #include "tree-pass.h" diff --git a/gcc/tree-ssa-address.c b/gcc/tree-ssa-address.c index cf24567..257d534 100644 --- a/gcc/tree-ssa-address.c +++ b/gcc/tree-ssa-address.c @@ -25,14 +25,17 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" #include "tm_p.h" #include "basic-block.h" #include "tree-pretty-print.h" #include "gimple.h" #include "gimple-iterator.h" #include "gimplify-me.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-ssa-loop-ivopts.h" +#include "expr.h" #include "tree-dfa.h" #include "dumpfile.h" #include "flags.h" diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c index c1028fb..ef9fbfe 100644 --- a/gcc/tree-ssa-alias.c +++ b/gcc/tree-ssa-alias.c @@ -35,7 +35,9 @@ along with GCC; see the file COPYING3. If not see #include "dumpfile.h" #include "gimple.h" #include "gimple-ssa.h" +#include "stringpool.h" #include "tree-ssanames.h" +#include "expr.h" #include "tree-dfa.h" #include "tree-inline.h" #include "params.h" diff --git a/gcc/tree-ssa-ccp.c b/gcc/tree-ssa-ccp.c index 06da6a2..d8ef822 100644 --- a/gcc/tree-ssa-ccp.c +++ b/gcc/tree-ssa-ccp.c @@ -114,6 +114,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" #include "flags.h" #include "tm_p.h" #include "basic-block.h" @@ -126,6 +127,7 @@ along with GCC; see the file COPYING3. If not see #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-pass.h" #include "tree-ssa-propagate.h" diff --git a/gcc/tree-ssa-coalesce.c b/gcc/tree-ssa-coalesce.c index 942602e..cc46370 100644 --- a/gcc/tree-ssa-coalesce.c +++ b/gcc/tree-ssa-coalesce.c @@ -32,6 +32,7 @@ along with GCC; see the file COPYING3. If not see #include "gimple-ssa.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "hash-table.h" #include "tree-ssa-live.h" diff --git a/gcc/tree-ssa-copy.c b/gcc/tree-ssa-copy.c index 0f70372..def7806 100644 --- a/gcc/tree-ssa-copy.c +++ b/gcc/tree-ssa-copy.c @@ -33,6 +33,7 @@ along with GCC; see the file COPYING3. If not see #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-pass.h" #include "tree-ssa-propagate.h" diff --git a/gcc/tree-ssa-copyrename.c b/gcc/tree-ssa-copyrename.c index d71802e..361b4c3 100644 --- a/gcc/tree-ssa-copyrename.c +++ b/gcc/tree-ssa-copyrename.c @@ -31,7 +31,9 @@ along with GCC; see the file COPYING3. If not see #include "tree-pretty-print.h" #include "bitmap.h" #include "gimple-ssa.h" +#include "stringpool.h" #include "tree-ssanames.h" +#include "expr.h" #include "tree-dfa.h" #include "tree-inline.h" #include "hashtab.h" diff --git a/gcc/tree-ssa-dce.c b/gcc/tree-ssa-dce.c index d138f92..213bb51 100644 --- a/gcc/tree-ssa-dce.c +++ b/gcc/tree-ssa-dce.c @@ -48,6 +48,7 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "tree.h" +#include "calls.h" #include "gimple-pretty-print.h" #include "basic-block.h" #include "gimple.h" @@ -57,9 +58,11 @@ along with GCC; see the file COPYING3. If not see #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-ssa-loop-niter.h" #include "tree-into-ssa.h" +#include "expr.h" #include "tree-dfa.h" #include "tree-pass.h" #include "flags.h" diff --git a/gcc/tree-ssa-dom.c b/gcc/tree-ssa-dom.c index 0ce24df..bfd865d 100644 --- a/gcc/tree-ssa-dom.c +++ b/gcc/tree-ssa-dom.c @@ -24,6 +24,7 @@ along with GCC; see the file COPYING3. If not see #include "hash-table.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" #include "flags.h" #include "tm_p.h" #include "basic-block.h" @@ -36,6 +37,7 @@ along with GCC; see the file COPYING3. If not see #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-into-ssa.h" #include "domwalk.h" diff --git a/gcc/tree-ssa-dse.c b/gcc/tree-ssa-dse.c index 42e2380..905ef21 100644 --- a/gcc/tree-ssa-dse.c +++ b/gcc/tree-ssa-dse.c @@ -33,7 +33,9 @@ along with GCC; see the file COPYING3. If not see #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" +#include "expr.h" #include "tree-dfa.h" #include "tree-pass.h" #include "domwalk.h" diff --git a/gcc/tree-ssa-forwprop.c b/gcc/tree-ssa-forwprop.c index 817fa9f..a826137 100644 --- a/gcc/tree-ssa-forwprop.c +++ b/gcc/tree-ssa-forwprop.c @@ -22,6 +22,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" #include "tm_p.h" #include "basic-block.h" #include "gimple-pretty-print.h" @@ -33,7 +34,9 @@ along with GCC; see the file COPYING3. If not see #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" +#include "expr.h" #include "tree-dfa.h" #include "tree-pass.h" #include "langhooks.h" diff --git a/gcc/tree-ssa-ifcombine.c b/gcc/tree-ssa-ifcombine.c index 8ce4871..9d24375 100644 --- a/gcc/tree-ssa-ifcombine.c +++ b/gcc/tree-ssa-ifcombine.c @@ -27,6 +27,7 @@ along with GCC; see the file COPYING3. If not see #include "rtl.h" #include "tm_p.h" #include "tree.h" +#include "stor-layout.h" #include "basic-block.h" #include "tree-pretty-print.h" #include "gimple.h" diff --git a/gcc/tree-ssa-live.c b/gcc/tree-ssa-live.c index 1657f6f..5dc8d02 100644 --- a/gcc/tree-ssa-live.c +++ b/gcc/tree-ssa-live.c @@ -32,7 +32,9 @@ along with GCC; see the file COPYING3. If not see #include "gimple-ssa.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" +#include "expr.h" #include "tree-dfa.h" #include "timevar.h" #include "dumpfile.h" diff --git a/gcc/tree-ssa-loop-im.c b/gcc/tree-ssa-loop-im.c index 7f29ea2..79a0543 100644 --- a/gcc/tree-ssa-loop-im.c +++ b/gcc/tree-ssa-loop-im.c @@ -33,6 +33,7 @@ along with GCC; see the file COPYING3. If not see #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-ssa-loop-manip.h" #include "tree-ssa-loop.h" diff --git a/gcc/tree-ssa-loop-ivcanon.c b/gcc/tree-ssa-loop-ivcanon.c index 97b95ab..ea0ab8c 100644 --- a/gcc/tree-ssa-loop-ivcanon.c +++ b/gcc/tree-ssa-loop-ivcanon.c @@ -47,6 +47,7 @@ along with GCC; see the file COPYING3. If not see #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-ssa-loop-manip.h" #include "tree-ssa-loop-niter.h" diff --git a/gcc/tree-ssa-loop-ivopts.c b/gcc/tree-ssa-loop-ivopts.c index f53fa22..9bf12eb 100644 --- a/gcc/tree-ssa-loop-ivopts.c +++ b/gcc/tree-ssa-loop-ivopts.c @@ -66,6 +66,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" #include "tm_p.h" #include "basic-block.h" #include "gimple-pretty-print.h" @@ -78,11 +79,13 @@ along with GCC; see the file COPYING3. If not see #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-ssa-loop-ivopts.h" #include "tree-ssa-loop-manip.h" #include "tree-ssa-loop-niter.h" #include "tree-ssa-loop.h" +#include "expr.h" #include "tree-dfa.h" #include "tree-ssa.h" #include "cfgloop.h" diff --git a/gcc/tree-ssa-loop-manip.c b/gcc/tree-ssa-loop-manip.c index 31db43a..fe2686d 100644 --- a/gcc/tree-ssa-loop-manip.c +++ b/gcc/tree-ssa-loop-manip.c @@ -32,6 +32,7 @@ along with GCC; see the file COPYING3. If not see #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-ssa-loop-ivopts.h" #include "tree-ssa-loop-manip.h" diff --git a/gcc/tree-ssa-loop-niter.c b/gcc/tree-ssa-loop-niter.c index 97cad3de..023f2a8 100644 --- a/gcc/tree-ssa-loop-niter.c +++ b/gcc/tree-ssa-loop-niter.c @@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "calls.h" +#include "expr.h" #include "tm_p.h" #include "basic-block.h" #include "gimple-pretty-print.h" @@ -47,6 +49,7 @@ along with GCC; see the file COPYING3. If not see #include "diagnostic-core.h" #include "tree-inline.h" #include "tree-pass.h" +#include "stringpool.h" #include "tree-ssanames.h" diff --git a/gcc/tree-ssa-loop-prefetch.c b/gcc/tree-ssa-loop-prefetch.c index 3738f62..6baf4ab 100644 --- a/gcc/tree-ssa-loop-prefetch.c +++ b/gcc/tree-ssa-loop-prefetch.c @@ -22,6 +22,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" #include "tm_p.h" #include "basic-block.h" #include "tree-pretty-print.h" diff --git a/gcc/tree-ssa-math-opts.c b/gcc/tree-ssa-math-opts.c index 0c5dbb1..67117bc 100644 --- a/gcc/tree-ssa-math-opts.c +++ b/gcc/tree-ssa-math-opts.c @@ -93,11 +93,14 @@ along with GCC; see the file COPYING3. If not see #include "gimple.h" #include "gimple-iterator.h" #include "gimplify-me.h" +#include "stor-layout.h" #include "gimple-ssa.h" #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" +#include "expr.h" #include "tree-dfa.h" #include "tree-ssa.h" #include "tree-pass.h" diff --git a/gcc/tree-ssa-operands.c b/gcc/tree-ssa-operands.c index 4e05d2d..3508b34 100644 --- a/gcc/tree-ssa-operands.c +++ b/gcc/tree-ssa-operands.c @@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stmt.h" +#include "print-tree.h" #include "flags.h" #include "function.h" #include "gimple-pretty-print.h" @@ -30,6 +32,7 @@ along with GCC; see the file COPYING3. If not see #include "gimple-ssa.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-inline.h" #include "timevar.h" diff --git a/gcc/tree-ssa-phiopt.c b/gcc/tree-ssa-phiopt.c index a0d7398..54a9819 100644 --- a/gcc/tree-ssa-phiopt.c +++ b/gcc/tree-ssa-phiopt.c @@ -24,6 +24,7 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "ggc.h" #include "tree.h" +#include "stor-layout.h" #include "flags.h" #include "tm_p.h" #include "basic-block.h" @@ -35,7 +36,9 @@ along with GCC; see the file COPYING3. If not see #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" +#include "expr.h" #include "tree-dfa.h" #include "tree-pass.h" #include "langhooks.h" diff --git a/gcc/tree-ssa-phiprop.c b/gcc/tree-ssa-phiprop.c index 070b8ed..e764040 100644 --- a/gcc/tree-ssa-phiprop.c +++ b/gcc/tree-ssa-phiprop.c @@ -32,6 +32,7 @@ along with GCC; see the file COPYING3. If not see #include "gimple-ssa.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-pass.h" #include "langhooks.h" diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c index 6ab1b10..b16fd17 100644 --- a/gcc/tree-ssa-pre.c +++ b/gcc/tree-ssa-pre.c @@ -35,9 +35,11 @@ along with GCC; see the file COPYING3. If not see #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-ssa-loop.h" #include "tree-into-ssa.h" +#include "expr.h" #include "tree-dfa.h" #include "tree-ssa.h" #include "hash-table.h" diff --git a/gcc/tree-ssa-propagate.c b/gcc/tree-ssa-propagate.c index 078b04a..bd33071 100644 --- a/gcc/tree-ssa-propagate.c +++ b/gcc/tree-ssa-propagate.c @@ -37,6 +37,7 @@ #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-ssa.h" #include "tree-ssa-propagate.h" diff --git a/gcc/tree-ssa-reassoc.c b/gcc/tree-ssa-reassoc.c index 709b1c1..eedccc6 100644 --- a/gcc/tree-ssa-reassoc.c +++ b/gcc/tree-ssa-reassoc.c @@ -26,6 +26,7 @@ along with GCC; see the file COPYING3. If not see #include "rtl.h" #include "tm_p.h" #include "tree.h" +#include "stor-layout.h" #include "basic-block.h" #include "gimple-pretty-print.h" #include "tree-inline.h" @@ -36,9 +37,11 @@ along with GCC; see the file COPYING3. If not see #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-ssa-loop-niter.h" #include "tree-ssa-loop.h" +#include "expr.h" #include "tree-dfa.h" #include "tree-ssa.h" #include "tree-iterator.h" diff --git a/gcc/tree-ssa-sccvn.c b/gcc/tree-ssa-sccvn.c index 786cfaa..2b2d0e9 100644 --- a/gcc/tree-ssa-sccvn.c +++ b/gcc/tree-ssa-sccvn.c @@ -23,6 +23,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" #include "basic-block.h" #include "gimple-pretty-print.h" #include "tree-inline.h" @@ -31,7 +32,9 @@ along with GCC; see the file COPYING3. If not see #include "gimple-ssa.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" +#include "expr.h" #include "tree-dfa.h" #include "tree-ssa.h" #include "dumpfile.h" diff --git a/gcc/tree-ssa-sink.c b/gcc/tree-ssa-sink.c index caf10bb..f0c831d 100644 --- a/gcc/tree-ssa-sink.c +++ b/gcc/tree-ssa-sink.c @@ -23,6 +23,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" #include "basic-block.h" #include "gimple-pretty-print.h" #include "tree-inline.h" diff --git a/gcc/tree-ssa-strlen.c b/gcc/tree-ssa-strlen.c index 04e9ef4..514b1b8 100644 --- a/gcc/tree-ssa-strlen.c +++ b/gcc/tree-ssa-strlen.c @@ -22,6 +22,7 @@ along with GCC; see the file COPYING3. If not see #include "system.h" #include "coretypes.h" #include "tree.h" +#include "stor-layout.h" #include "hash-table.h" #include "bitmap.h" #include "gimple.h" @@ -31,7 +32,9 @@ along with GCC; see the file COPYING3. If not see #include "gimple-ssa.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" +#include "expr.h" #include "tree-dfa.h" #include "tree-pass.h" #include "domwalk.h" diff --git a/gcc/tree-ssa-structalias.c b/gcc/tree-ssa-structalias.c index f1172e7..688f547 100644 --- a/gcc/tree-ssa-structalias.c +++ b/gcc/tree-ssa-structalias.c @@ -29,12 +29,16 @@ #include "flags.h" #include "basic-block.h" #include "tree.h" +#include "stor-layout.h" +#include "stmt.h" #include "gimple.h" #include "gimple-iterator.h" #include "gimple-ssa.h" #include "cgraph.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-into-ssa.h" +#include "expr.h" #include "tree-dfa.h" #include "tree-inline.h" #include "diagnostic-core.h" diff --git a/gcc/tree-ssa-tail-merge.c b/gcc/tree-ssa-tail-merge.c index 79be216..35b8bbe 100644 --- a/gcc/tree-ssa-tail-merge.c +++ b/gcc/tree-ssa-tail-merge.c @@ -190,6 +190,8 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" +#include "trans-mem.h" #include "tm_p.h" #include "basic-block.h" #include "flags.h" diff --git a/gcc/tree-ssa-ter.c b/gcc/tree-ssa-ter.c index df0c458..883f950 100644 --- a/gcc/tree-ssa-ter.c +++ b/gcc/tree-ssa-ter.c @@ -31,6 +31,7 @@ along with GCC; see the file COPYING3. If not see #include "gimple-ssa.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "dumpfile.h" #include "tree-ssa-live.h" diff --git a/gcc/tree-ssa-threadedge.c b/gcc/tree-ssa-threadedge.c index cabfc82..b90ff23 100644 --- a/gcc/tree-ssa-threadedge.c +++ b/gcc/tree-ssa-threadedge.c @@ -36,6 +36,7 @@ along with GCC; see the file COPYING3. If not see #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-ssa-propagate.h" #include "tree-ssa-threadupdate.h" diff --git a/gcc/tree-ssa-uncprop.c b/gcc/tree-ssa-uncprop.c index e4b3998..62ffe42 100644 --- a/gcc/tree-ssa-uncprop.c +++ b/gcc/tree-ssa-uncprop.c @@ -22,6 +22,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" #include "flags.h" #include "tm_p.h" #include "basic-block.h" diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c index d255236..1b4a383 100644 --- a/gcc/tree-ssa.c +++ b/gcc/tree-ssa.c @@ -22,6 +22,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" #include "flags.h" #include "tm_p.h" #include "target.h" @@ -38,6 +39,7 @@ along with GCC; see the file COPYING3. If not see #include "gimple-ssa.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-ssa-loop-manip.h" #include "tree-into-ssa.h" diff --git a/gcc/tree-ssanames.c b/gcc/tree-ssanames.c index 7635891..9d88b4c 100644 --- a/gcc/tree-ssanames.c +++ b/gcc/tree-ssanames.c @@ -22,10 +22,12 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" #include "gimple.h" #include "gimple-ssa.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-into-ssa.h" #include "tree-ssa.h" diff --git a/gcc/tree-stdarg.c b/gcc/tree-stdarg.c index 5cd845c..221e7d7 100644 --- a/gcc/tree-stdarg.c +++ b/gcc/tree-stdarg.c @@ -34,6 +34,7 @@ along with GCC; see the file COPYING3. If not see #include "gimple-ssa.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "sbitmap.h" #include "tree-pass.h" diff --git a/gcc/tree-streamer-in.c b/gcc/tree-streamer-in.c index 92598e3..560d4f8 100644 --- a/gcc/tree-streamer-in.c +++ b/gcc/tree-streamer-in.c @@ -24,6 +24,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "diagnostic.h" #include "tree.h" +#include "stringpool.h" #include "gimple.h" #include "tree-streamer.h" #include "data-streamer.h" diff --git a/gcc/tree-streamer-out.c b/gcc/tree-streamer-out.c index ea1a054..275c22c 100644 --- a/gcc/tree-streamer-out.c +++ b/gcc/tree-streamer-out.c @@ -25,6 +25,7 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "diagnostic.h" #include "tree.h" +#include "stor-layout.h" #include "gimple.h" #include "tree-streamer.h" #include "data-streamer.h" diff --git a/gcc/tree-switch-conversion.c b/gcc/tree-switch-conversion.c index fa31e22..494d48e 100644 --- a/gcc/tree-switch-conversion.c +++ b/gcc/tree-switch-conversion.c @@ -30,6 +30,8 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA #include "params.h" #include "flags.h" #include "tree.h" +#include "varasm.h" +#include "stor-layout.h" #include "basic-block.h" #include "gimple.h" #include "gimplify.h" @@ -39,6 +41,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA #include "cgraph.h" #include "tree-cfg.h" #include "tree-phinodes.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-pass.h" #include "gimple-pretty-print.h" diff --git a/gcc/tree-tailcall.c b/gcc/tree-tailcall.c index 185bf16..33677ce 100644 --- a/gcc/tree-tailcall.c +++ b/gcc/tree-tailcall.c @@ -22,6 +22,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "stor-layout.h" #include "tm_p.h" #include "basic-block.h" #include "function.h" @@ -31,8 +32,10 @@ along with GCC; see the file COPYING3. If not see #include "gimple-ssa.h" #include "tree-cfg.h" #include "tree-phinodes.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-into-ssa.h" +#include "expr.h" #include "tree-dfa.h" #include "gimple-pretty-print.h" #include "except.h" diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c index 83d1f45..259a284 100644 --- a/gcc/tree-vect-data-refs.c +++ b/gcc/tree-vect-data-refs.c @@ -26,6 +26,7 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "ggc.h" #include "tree.h" +#include "stor-layout.h" #include "tm_p.h" #include "target.h" #include "basic-block.h" @@ -37,6 +38,7 @@ along with GCC; see the file COPYING3. If not see #include "gimple-ssa.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-ssa-loop-ivopts.h" #include "tree-ssa-loop-manip.h" diff --git a/gcc/tree-vect-generic.c b/gcc/tree-vect-generic.c index 9fcab5d..735689b 100644 --- a/gcc/tree-vect-generic.c +++ b/gcc/tree-vect-generic.c @@ -21,6 +21,7 @@ along with GCC; see the file COPYING3. If not see #include "system.h" #include "coretypes.h" #include "tree.h" +#include "stor-layout.h" #include "tm.h" #include "langhooks.h" #include "gimple.h" @@ -28,6 +29,7 @@ along with GCC; see the file COPYING3. If not see #include "gimplify-me.h" #include "gimple-ssa.h" #include "tree-cfg.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-iterator.h" #include "tree-pass.h" diff --git a/gcc/tree-vect-loop-manip.c b/gcc/tree-vect-loop-manip.c index 411adb9..5c14995 100644 --- a/gcc/tree-vect-loop-manip.c +++ b/gcc/tree-vect-loop-manip.c @@ -36,6 +36,7 @@ along with GCC; see the file COPYING3. If not see #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-ssa-loop-manip.h" #include "tree-into-ssa.h" diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c index 86ebbd2..4a277ae 100644 --- a/gcc/tree-vect-loop.c +++ b/gcc/tree-vect-loop.c @@ -26,6 +26,7 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "ggc.h" #include "tree.h" +#include "stor-layout.h" #include "basic-block.h" #include "gimple-pretty-print.h" #include "gimple.h" @@ -35,6 +36,7 @@ along with GCC; see the file COPYING3. If not see #include "gimple-ssa.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-ssa-loop-ivopts.h" #include "tree-ssa-loop-manip.h" diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c index 0992fbc..de854e1 100644 --- a/gcc/tree-vect-patterns.c +++ b/gcc/tree-vect-patterns.c @@ -24,6 +24,7 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "ggc.h" #include "tree.h" +#include "stor-layout.h" #include "target.h" #include "basic-block.h" #include "gimple-pretty-print.h" @@ -33,6 +34,7 @@ along with GCC; see the file COPYING3. If not see #include "gimple-ssa.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "cfgloop.h" #include "expr.h" diff --git a/gcc/tree-vect-slp.c b/gcc/tree-vect-slp.c index 247bdfd..bd9e4e2 100644 --- a/gcc/tree-vect-slp.c +++ b/gcc/tree-vect-slp.c @@ -26,6 +26,7 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "ggc.h" #include "tree.h" +#include "stor-layout.h" #include "target.h" #include "basic-block.h" #include "gimple-pretty-print.h" @@ -34,6 +35,7 @@ along with GCC; see the file COPYING3. If not see #include "gimple-ssa.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-pass.h" #include "cfgloop.h" diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c index 54d821a..2116cec 100644 --- a/gcc/tree-vect-stmts.c +++ b/gcc/tree-vect-stmts.c @@ -26,6 +26,7 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "ggc.h" #include "tree.h" +#include "stor-layout.h" #include "target.h" #include "basic-block.h" #include "gimple-pretty-print.h" @@ -37,6 +38,7 @@ along with GCC; see the file COPYING3. If not see #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-ssa-loop-manip.h" #include "cfgloop.h" diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c index 9c2cf5d..5021c5b 100644 --- a/gcc/tree-vectorizer.c +++ b/gcc/tree-vectorizer.c @@ -61,6 +61,7 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "ggc.h" #include "tree.h" +#include "stor-layout.h" #include "tree-pretty-print.h" #include "gimple.h" #include "gimple-iterator.h" diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c index 696cadb..d250186 100644 --- a/gcc/tree-vrp.c +++ b/gcc/tree-vrp.c @@ -25,6 +25,8 @@ along with GCC; see the file COPYING3. If not see #include "ggc.h" #include "flags.h" #include "tree.h" +#include "stor-layout.h" +#include "calls.h" #include "basic-block.h" #include "gimple.h" #include "gimple-iterator.h" @@ -33,6 +35,7 @@ along with GCC; see the file COPYING3. If not see #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-ssa-loop-manip.h" #include "tree-ssa-loop-niter.h" @@ -33,6 +33,10 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "flags.h" #include "tree.h" +#include "stor-layout.h" +#include "calls.h" +#include "attribs.h" +#include "varasm.h" #include "tm_p.h" #include "function.h" #include "obstack.h" @@ -54,7 +58,9 @@ along with GCC; see the file COPYING3. If not see #include "gimple-ssa.h" #include "cgraph.h" #include "tree-phinodes.h" +#include "stringpool.h" #include "tree-ssanames.h" +#include "expr.h" #include "tree-dfa.h" #include "params.h" #include "pointer-set.h" @@ -22,6 +22,12 @@ along with GCC; see the file COPYING3. If not see #include "tree-core.h" +/* These includes are required here because they provide declarations + used by inline functions in this file. + + FIXME - Move these users elsewhere? */ +#include "fold-const.h" + /* Macros for initializing `tree_contains_struct'. */ #define MARK_TS_BASE(C) \ do { \ @@ -568,7 +574,6 @@ extern void omp_clause_range_check_failed (const_tree, const char *, int, #define COMPLETE_OR_UNBOUND_ARRAY_TYPE_P(NODE) \ (COMPLETE_TYPE_P (TREE_CODE (NODE) == ARRAY_TYPE ? TREE_TYPE (NODE) : (NODE))) - /* Define many boolean fields that all tree nodes have. */ /* In VAR_DECL, PARM_DECL and RESULT_DECL nodes, nonzero means address @@ -882,7 +887,7 @@ extern void omp_clause_range_check_failed (const_tree, const char *, int, (TREE_NOT_CHECK2 (NODE, TREE_VEC, SSA_NAME)->base.u.bits.lang_flag_5) #define TREE_LANG_FLAG_6(NODE) \ (TREE_NOT_CHECK2 (NODE, TREE_VEC, SSA_NAME)->base.u.bits.lang_flag_6) - + /* Define additional fields and accessors for nodes representing constants. */ /* In an INTEGER_CST node. These two together make a 2-word integer. @@ -1519,8 +1524,6 @@ extern void protected_set_expr_location (tree, location_t); #define TYPE_MAIN_VARIANT(NODE) (TYPE_CHECK (NODE)->type_common.main_variant) #define TYPE_CONTEXT(NODE) (TYPE_CHECK (NODE)->type_common.context) -/* Vector types need to check target flags to determine type. */ -extern enum machine_mode vector_type_mode (const_tree); #define TYPE_MODE(NODE) \ (VECTOR_TYPE_P (TYPE_CHECK (NODE)) \ ? vector_type_mode (NODE) : (NODE)->type_common.mode) @@ -2692,8 +2695,6 @@ extern vec<tree, va_gc> **decl_debug_args_insert (tree); /* Return a tree node that encapsulates the optimization options in OPTS. */ extern tree build_optimization_node (struct gcc_options *opts); -extern void init_tree_optimization_optabs (tree); - #define TREE_TARGET_OPTION(NODE) \ (&TARGET_OPTION_NODE_CHECK (NODE)->target_option.opts) @@ -3438,30 +3439,6 @@ extern tree make_tree_vec_stat (int MEM_STAT_DECL); extern tree grow_tree_vec_stat (tree v, int MEM_STAT_DECL); #define grow_tree_vec(v, t) grow_tree_vec_stat (v, t MEM_STAT_INFO) -/* Return the (unique) IDENTIFIER_NODE node for a given name. - The name is supplied as a char *. */ - -extern tree get_identifier (const char *); - -#if GCC_VERSION >= 3000 -#define get_identifier(str) \ - (__builtin_constant_p (str) \ - ? get_identifier_with_length ((str), strlen (str)) \ - : get_identifier (str)) -#endif - - -/* Identical to get_identifier, except that the length is assumed - known. */ - -extern tree get_identifier_with_length (const char *, size_t); - -/* If an identifier with the name TEXT (a null-terminated string) has - previously been referred to, return that node; otherwise return - NULL_TREE. */ - -extern tree maybe_get_identifier (const char *); - /* Construct various types of nodes. */ extern tree build_nt (enum tree_code, ...); @@ -3612,14 +3589,10 @@ extern tree build_call_vec (tree, tree, vec<tree, va_gc> *); /* Construct various nodes representing data types. */ -extern tree make_signed_type (int); -extern tree make_unsigned_type (int); extern tree signed_or_unsigned_type_for (int, tree); extern tree signed_type_for (tree); extern tree unsigned_type_for (tree); extern tree truth_type_for (tree); -extern void initialize_sizetypes (void); -extern void fixup_unsigned_type (tree); extern tree build_pointer_type_for_mode (tree, enum machine_mode, bool); extern tree build_pointer_type (tree); extern tree build_reference_type_for_mode (tree, enum machine_mode, bool); @@ -3687,51 +3660,17 @@ tree_to_uhwi (const_tree t) extern int tree_int_cst_sgn (const_tree); extern int tree_int_cst_sign_bit (const_tree); extern unsigned int tree_int_cst_min_precision (tree, bool); -extern bool tree_expr_nonnegative_p (tree); -extern bool tree_expr_nonnegative_warnv_p (tree, bool *); -extern bool may_negate_without_overflow_p (const_tree); extern tree strip_array_types (tree); extern tree excess_precision_type (tree); extern bool valid_constant_size_p (const_tree); -extern unsigned int element_precision (const_tree); - -/* Construct various nodes representing fract or accum data types. */ - -extern tree make_fract_type (int, int, int); -extern tree make_accum_type (int, int, int); - -#define make_signed_fract_type(P) make_fract_type (P, 0, 0) -#define make_unsigned_fract_type(P) make_fract_type (P, 1, 0) -#define make_sat_signed_fract_type(P) make_fract_type (P, 0, 1) -#define make_sat_unsigned_fract_type(P) make_fract_type (P, 1, 1) -#define make_signed_accum_type(P) make_accum_type (P, 0, 0) -#define make_unsigned_accum_type(P) make_accum_type (P, 1, 0) -#define make_sat_signed_accum_type(P) make_accum_type (P, 0, 1) -#define make_sat_unsigned_accum_type(P) make_accum_type (P, 1, 1) - -#define make_or_reuse_signed_fract_type(P) \ - make_or_reuse_fract_type (P, 0, 0) -#define make_or_reuse_unsigned_fract_type(P) \ - make_or_reuse_fract_type (P, 1, 0) -#define make_or_reuse_sat_signed_fract_type(P) \ - make_or_reuse_fract_type (P, 0, 1) -#define make_or_reuse_sat_unsigned_fract_type(P) \ - make_or_reuse_fract_type (P, 1, 1) -#define make_or_reuse_signed_accum_type(P) \ - make_or_reuse_accum_type (P, 0, 0) -#define make_or_reuse_unsigned_accum_type(P) \ - make_or_reuse_accum_type (P, 1, 0) -#define make_or_reuse_sat_signed_accum_type(P) \ - make_or_reuse_accum_type (P, 0, 1) -#define make_or_reuse_sat_unsigned_accum_type(P) \ - make_or_reuse_accum_type (P, 1, 1) + /* From expmed.c. Since rtl.h is included after tree.h, we can't put the prototype here. Rtl.h does declare the prototype if tree.h had been included. */ extern tree make_tree (tree, rtx); - + /* Return a type like TTYPE except that its TYPE_ATTRIBUTES is ATTRIBUTE. @@ -3850,30 +3789,6 @@ extern tree build_aligned_type (tree, unsigned int); extern tree build_distinct_type_copy (tree); extern tree build_variant_type_copy (tree); -/* Finish up a builtin RECORD_TYPE. Give it a name and provide its - fields. Optionally specify an alignment, and then lay it out. */ - -extern void finish_builtin_struct (tree, const char *, - tree, tree); - -/* Given a ..._TYPE node, calculate the TYPE_SIZE, TYPE_SIZE_UNIT, - TYPE_ALIGN and TYPE_MODE fields. If called more than once on one - node, does nothing except for the first time. */ - -extern void layout_type (tree); - -extern record_layout_info start_record_layout (tree); -extern tree bit_from_pos (tree, tree); -extern tree byte_from_pos (tree, tree); -extern void pos_from_bit (tree *, tree *, unsigned int, tree); -extern void normalize_offset (tree *, tree *, unsigned int); -extern tree rli_size_unit_so_far (record_layout_info); -extern tree rli_size_so_far (record_layout_info); -extern void normalize_rli (record_layout_info); -extern void place_field (record_layout_info, tree); -extern void compute_record_mode (tree); -extern void finish_record_layout (record_layout_info, int); - /* Given a hashcode and a ..._TYPE node (for which the hashcode was made), return a canonicalized ..._TYPE node, so that duplicates are not made. How the hash code is computed is up to the caller, as long as any two @@ -3881,37 +3796,8 @@ extern void finish_record_layout (record_layout_info, int); extern tree type_hash_canon (unsigned int, tree); -/* Given a VAR_DECL, PARM_DECL, RESULT_DECL or FIELD_DECL node, - calculates the DECL_SIZE, DECL_SIZE_UNIT, DECL_ALIGN and DECL_MODE - fields. Call this only once for any given decl node. - - Second argument is the boundary that this field can be assumed to - be starting at (in bits). Zero means it can be assumed aligned - on any boundary that may be needed. */ - -extern void layout_decl (tree, unsigned); - -/* Given a VAR_DECL, PARM_DECL or RESULT_DECL, clears the results of - a previous call to layout_decl and calls it again. */ - -extern void relayout_decl (tree); - -/* Return the mode for data of a given size SIZE and mode class CLASS. - If LIMIT is nonzero, then don't use modes bigger than MAX_FIXED_MODE_SIZE. - The value is BLKmode if no other mode is found. This is like - mode_for_size, but is passed a tree. */ - -extern enum machine_mode mode_for_size_tree (const_tree, enum mode_class, int); - -/* Return an expr equal to X but certainly not valid as an lvalue. */ - -#define non_lvalue(T) non_lvalue_loc (UNKNOWN_LOCATION, T) -extern tree non_lvalue_loc (location_t, tree); - extern tree convert (tree, tree); extern unsigned int expr_align (const_tree); -extern tree expr_first (tree); -extern tree expr_last (tree); extern tree size_in_bytes (const_tree); extern HOST_WIDE_INT int_size_in_bytes (const_tree); extern HOST_WIDE_INT max_int_size_in_bytes (const_tree); @@ -3924,26 +3810,11 @@ extern HOST_WIDE_INT int_byte_position (const_tree); #define bitsizetype sizetype_tab[(int) stk_bitsizetype] #define ssizetype sizetype_tab[(int) stk_ssizetype] #define sbitsizetype sizetype_tab[(int) stk_sbitsizetype] - -extern tree size_int_kind (HOST_WIDE_INT, enum size_type_kind); -#define size_binop(CODE,T1,T2)\ - size_binop_loc (UNKNOWN_LOCATION, CODE, T1, T2) -extern tree size_binop_loc (location_t, enum tree_code, tree, tree); -#define size_diffop(T1,T2)\ - size_diffop_loc (UNKNOWN_LOCATION, T1, T2) -extern tree size_diffop_loc (location_t, tree, tree); - #define size_int(L) size_int_kind (L, stk_sizetype) #define ssize_int(L) size_int_kind (L, stk_ssizetype) #define bitsize_int(L) size_int_kind (L, stk_bitsizetype) #define sbitsize_int(L) size_int_kind (L, stk_sbitsizetype) -#define round_up(T,N) round_up_loc (UNKNOWN_LOCATION, T, N) -extern tree round_up_loc (location_t, tree, int); -#define round_down(T,N) round_down_loc (UNKNOWN_LOCATION, T, N) -extern tree round_down_loc (location_t, tree, int); -extern void finalize_size_functions (void); - /* Type for sizes of data-type. */ #define BITS_PER_UNIT_LOG \ @@ -3993,11 +3864,6 @@ extern tree uniform_vector_p (const_tree); extern vec<tree, va_gc> *ctor_to_vec (tree); -extern bool categorize_ctor_elements (const_tree, HOST_WIDE_INT *, - HOST_WIDE_INT *, bool *); - -extern bool complete_ctor_at_level_p (const_tree, HOST_WIDE_INT, const_tree); - /* integer_zerop (tree x) is nonzero if X is an integer constant of value 0. */ extern int integer_zerop (const_tree); @@ -4121,13 +3987,6 @@ extern tree substitute_placeholder_in_expr (tree, tree); ((EXP) == 0 || TREE_CONSTANT (EXP) ? (EXP) \ : substitute_placeholder_in_expr (EXP, OBJ)) -/* variable_size (EXP) is like save_expr (EXP) except that it - is for the special case of something that is part of a - variable size for a data type. It makes special arrangements - to compute the value at the right time when the data type - belongs to a function parameter. */ - -extern tree variable_size (tree); /* stabilize_reference (EXP) returns a reference equivalent to EXP but it can be used multiple times @@ -4170,36 +4029,6 @@ handled_component_p (const_tree t) } } -/* Given an expression EXP that is a handled_component_p, - look for the ultimate containing object, which is returned and specify - the access position and size. */ - -extern tree get_inner_reference (tree, HOST_WIDE_INT *, HOST_WIDE_INT *, - tree *, enum machine_mode *, int *, int *, - bool); - -/* Return a tree of sizetype representing the size, in bytes, of the element - of EXP, an ARRAY_REF or an ARRAY_RANGE_REF. */ - -extern tree array_ref_element_size (tree); - -bool array_at_struct_end_p (tree); - -/* Return a tree representing the lower bound of the array mentioned in - EXP, an ARRAY_REF or an ARRAY_RANGE_REF. */ - -extern tree array_ref_low_bound (tree); - -/* Return a tree representing the upper bound of the array mentioned in - EXP, an ARRAY_REF or an ARRAY_RANGE_REF. */ - -extern tree array_ref_up_bound (tree); - -/* Return a tree representing the offset, in bytes, of the field referenced - by EXP. This does not include any offset in DECL_FIELD_BIT_OFFSET. */ - -extern tree component_ref_field_offset (tree); - /* Given a DECL or TYPE, return the scope in which it was declared, or NUL_TREE if there is no containing scope. */ @@ -4274,8 +4103,6 @@ inlined_function_outer_scope_p (const_tree block) (TREE = function_args_iter_cond (&(ITER))) != NULL_TREE; \ function_args_iter_next (&(ITER))) - - /* In tree.c */ extern unsigned crc32_string (unsigned, const char *); extern unsigned crc32_byte (unsigned, char); @@ -4306,14 +4133,6 @@ extern void assign_assembler_name_if_neeeded (tree); extern void warn_deprecated_use (tree, tree); extern void cache_integer_cst (tree); - -/* In cgraph.c */ -extern void change_decl_assembler_name (tree, tree); - -/* In stmt.c */ - -extern void expand_label (tree); - /* Compare and hash for any structure which begins with a canonical pointer. Assumes all pointers are interchangeable, which is sort of already assumed by gcc elsewhere IIRC. */ @@ -4333,132 +4152,6 @@ struct_ptr_hash (const void *a) return (intptr_t)*x >> 4; } -/* In fold-const.c */ - -/* Non-zero if we are folding constants inside an initializer; zero - otherwise. */ -extern int folding_initializer; - -/* Convert between trees and native memory representation. */ -extern int native_encode_expr (const_tree, unsigned char *, int); -extern tree native_interpret_expr (tree, const unsigned char *, int); - -/* Fold constants as much as possible in an expression. - Returns the simplified expression. - Acts only on the top level of the expression; - if the argument itself cannot be simplified, its - subexpressions are not changed. */ - -extern tree fold (tree); -#define fold_unary(CODE,T1,T2)\ - fold_unary_loc (UNKNOWN_LOCATION, CODE, T1, T2) -extern tree fold_unary_loc (location_t, enum tree_code, tree, tree); -#define fold_unary_ignore_overflow(CODE,T1,T2)\ - fold_unary_ignore_overflow_loc (UNKNOWN_LOCATION, CODE, T1, T2) -extern tree fold_unary_ignore_overflow_loc (location_t, enum tree_code, tree, tree); -#define fold_binary(CODE,T1,T2,T3)\ - fold_binary_loc (UNKNOWN_LOCATION, CODE, T1, T2, T3) -extern tree fold_binary_loc (location_t, enum tree_code, tree, tree, tree); -#define fold_ternary(CODE,T1,T2,T3,T4)\ - fold_ternary_loc (UNKNOWN_LOCATION, CODE, T1, T2, T3, T4) -extern tree fold_ternary_loc (location_t, enum tree_code, tree, tree, tree, tree); -#define fold_build1(c,t1,t2)\ - fold_build1_stat_loc (UNKNOWN_LOCATION, c, t1, t2 MEM_STAT_INFO) -#define fold_build1_loc(l,c,t1,t2)\ - fold_build1_stat_loc (l, c, t1, t2 MEM_STAT_INFO) -extern tree fold_build1_stat_loc (location_t, enum tree_code, tree, - tree MEM_STAT_DECL); -#define fold_build2(c,t1,t2,t3)\ - fold_build2_stat_loc (UNKNOWN_LOCATION, c, t1, t2, t3 MEM_STAT_INFO) -#define fold_build2_loc(l,c,t1,t2,t3)\ - fold_build2_stat_loc (l, c, t1, t2, t3 MEM_STAT_INFO) -extern tree fold_build2_stat_loc (location_t, enum tree_code, tree, tree, - tree MEM_STAT_DECL); -#define fold_build3(c,t1,t2,t3,t4)\ - fold_build3_stat_loc (UNKNOWN_LOCATION, c, t1, t2, t3, t4 MEM_STAT_INFO) -#define fold_build3_loc(l,c,t1,t2,t3,t4)\ - fold_build3_stat_loc (l, c, t1, t2, t3, t4 MEM_STAT_INFO) -extern tree fold_build3_stat_loc (location_t, enum tree_code, tree, tree, tree, - tree MEM_STAT_DECL); -extern tree fold_build1_initializer_loc (location_t, enum tree_code, tree, tree); -extern tree fold_build2_initializer_loc (location_t, enum tree_code, tree, tree, tree); -#define fold_build_call_array(T1,T2,N,T4)\ - fold_build_call_array_loc (UNKNOWN_LOCATION, T1, T2, N, T4) -extern tree fold_build_call_array_loc (location_t, tree, tree, int, tree *); -#define fold_build_call_array_initializer(T1,T2,N,T4)\ - fold_build_call_array_initializer_loc (UNKNOWN_LOCATION, T1, T2, N, T4) -extern tree fold_build_call_array_initializer_loc (location_t, tree, tree, int, tree *); -extern bool fold_convertible_p (const_tree, const_tree); -#define fold_convert(T1,T2)\ - fold_convert_loc (UNKNOWN_LOCATION, T1, T2) -extern tree fold_convert_loc (location_t, tree, tree); -extern tree fold_single_bit_test (location_t, enum tree_code, tree, tree, tree); -extern tree fold_ignored_result (tree); -extern tree fold_abs_const (tree, tree); -extern tree fold_indirect_ref_1 (location_t, tree, tree); -extern void fold_defer_overflow_warnings (void); -extern void fold_undefer_overflow_warnings (bool, const_gimple, int); -extern void fold_undefer_and_ignore_overflow_warnings (void); -extern bool fold_deferring_overflow_warnings_p (void); -extern tree fold_fma (location_t, tree, tree, tree, tree); -extern int operand_equal_p (const_tree, const_tree, unsigned int); -extern int multiple_of_p (tree, const_tree, const_tree); -#define omit_one_operand(T1,T2,T3)\ - omit_one_operand_loc (UNKNOWN_LOCATION, T1, T2, T3) -extern tree omit_one_operand_loc (location_t, tree, tree, tree); -#define omit_two_operands(T1,T2,T3,T4)\ - omit_two_operands_loc (UNKNOWN_LOCATION, T1, T2, T3, T4) -extern tree omit_two_operands_loc (location_t, tree, tree, tree, tree); -#define invert_truthvalue(T)\ - invert_truthvalue_loc (UNKNOWN_LOCATION, T) -extern tree invert_truthvalue_loc (location_t, tree); -extern tree fold_unary_to_constant (enum tree_code, tree, tree); -extern tree fold_binary_to_constant (enum tree_code, tree, tree, tree); -extern tree fold_read_from_constant_string (tree); -extern tree int_const_binop (enum tree_code, const_tree, const_tree); -#define build_fold_addr_expr(T)\ - build_fold_addr_expr_loc (UNKNOWN_LOCATION, (T)) -extern tree build_fold_addr_expr_loc (location_t, tree); -#define build_fold_addr_expr_with_type(T,TYPE)\ - build_fold_addr_expr_with_type_loc (UNKNOWN_LOCATION, (T), TYPE) -extern tree build_fold_addr_expr_with_type_loc (location_t, tree, tree); -extern tree fold_build_cleanup_point_expr (tree type, tree expr); -extern tree fold_strip_sign_ops (tree); -#define build_fold_indirect_ref(T)\ - build_fold_indirect_ref_loc (UNKNOWN_LOCATION, T) -extern tree build_fold_indirect_ref_loc (location_t, tree); -#define fold_indirect_ref(T)\ - fold_indirect_ref_loc (UNKNOWN_LOCATION, T) -extern tree fold_indirect_ref_loc (location_t, tree); -extern tree build_simple_mem_ref_loc (location_t, tree); -#define build_simple_mem_ref(T)\ - build_simple_mem_ref_loc (UNKNOWN_LOCATION, T) -extern double_int mem_ref_offset (const_tree); -extern tree build_invariant_address (tree, tree, HOST_WIDE_INT); -extern tree constant_boolean_node (bool, tree); -extern tree div_if_zero_remainder (enum tree_code, const_tree, const_tree); - -extern bool tree_swap_operands_p (const_tree, const_tree, bool); -extern enum tree_code swap_tree_comparison (enum tree_code); - -extern bool ptr_difference_const (tree, tree, HOST_WIDE_INT *); -extern enum tree_code invert_tree_comparison (enum tree_code, bool); - -extern bool tree_unary_nonzero_warnv_p (enum tree_code, tree, tree, bool *); -extern bool tree_binary_nonzero_warnv_p (enum tree_code, tree, tree, tree op1, - bool *); -extern bool tree_single_nonzero_warnv_p (tree, bool *); -extern bool tree_unary_nonnegative_warnv_p (enum tree_code, tree, tree, bool *); -extern bool tree_binary_nonnegative_warnv_p (enum tree_code, tree, tree, tree, - bool *); -extern bool tree_single_nonnegative_warnv_p (tree t, bool *strict_overflow_p); -extern bool tree_call_nonnegative_warnv_p (tree, tree, tree, tree, bool *); - -extern bool fold_real_zero_addition_p (const_tree, const_tree, int); -extern tree combine_comparisons (location_t, enum tree_code, enum tree_code, - enum tree_code, tree, tree, tree); -extern void debug_fold_checksum (const_tree); - /* Return nonzero if CODE is a tree code that represents a truth value. */ static inline bool truth_value_p (enum tree_code code) @@ -4508,56 +4201,7 @@ fold_build_pointer_plus_hwi_loc (location_t loc, tree ptr, HOST_WIDE_INT off) #define fold_build_pointer_plus_hwi(p,o) \ fold_build_pointer_plus_hwi_loc (UNKNOWN_LOCATION, p, o) -/* In builtins.c */ - -/* Non-zero if __builtin_constant_p should be folded right away. */ -extern bool force_folding_builtin_constant_p; - -extern bool avoid_folding_inline_builtin (tree); -extern tree fold_call_expr (location_t, tree, bool); -extern tree fold_builtin_fputs (location_t, tree, tree, bool, bool, tree); -extern tree fold_builtin_strcpy (location_t, tree, tree, tree, tree); -extern tree fold_builtin_strncpy (location_t, tree, tree, tree, tree, tree); -extern tree fold_builtin_memory_chk (location_t, tree, tree, tree, tree, tree, tree, bool, - enum built_in_function); -extern tree fold_builtin_stxcpy_chk (location_t, tree, tree, tree, tree, tree, bool, - enum built_in_function); -extern tree fold_builtin_stxncpy_chk (location_t, tree, tree, tree, tree, tree, bool, - enum built_in_function); -extern bool fold_builtin_next_arg (tree, bool); -extern enum built_in_function builtin_mathfn_code (const_tree); -extern tree fold_builtin_call_array (location_t, tree, tree, int, tree *); -extern tree build_call_expr_loc_array (location_t, tree, int, tree *); -extern tree build_call_expr_loc_vec (location_t, tree, vec<tree, va_gc> *); -extern tree build_call_expr_loc (location_t, tree, int, ...); -extern tree build_call_expr (tree, int, ...); -extern tree mathfn_built_in (tree, enum built_in_function fn); -extern tree c_strlen (tree, int); -extern tree build_string_literal (int, const char *); -extern rtx builtin_memset_read_str (void *, HOST_WIDE_INT, enum machine_mode); -extern bool is_builtin_fn (tree); -extern bool get_object_alignment_1 (tree, unsigned int *, - unsigned HOST_WIDE_INT *); -extern unsigned int get_object_alignment (tree); -extern bool get_pointer_alignment_1 (tree, unsigned int *, - unsigned HOST_WIDE_INT *); -extern unsigned int get_pointer_alignment (tree); -extern tree fold_call_stmt (gimple, bool); -extern tree gimple_fold_builtin_snprintf_chk (gimple, tree, enum built_in_function); -extern tree make_range (tree, int *, tree *, tree *, bool *); -extern tree make_range_step (location_t, enum tree_code, tree, tree, tree, - tree *, tree *, int *, bool *); -extern tree build_range_check (location_t, tree, tree, int, tree, tree); -extern bool merge_ranges (int *, tree *, tree *, int, tree, tree, int, - tree, tree); -extern void set_builtin_user_assembler_name (tree decl, const char *asmspec); -extern bool is_simple_builtin (tree); -extern bool is_inexpensive_builtin (tree); - -/* In convert.c */ extern tree strip_float_extensions (tree); - -/* In tree.c */ extern int really_constant_p (const_tree); extern bool decl_address_invariant_p (const_tree); extern bool decl_address_ip_invariant_p (const_tree); @@ -4581,7 +4225,6 @@ extern void dump_tree_statistics (void); extern void recompute_tree_invariant_for_addr_expr (tree); extern bool needs_to_live_in_memory (const_tree); extern tree reconstruct_complex_type (tree, tree); - extern int real_onep (const_tree); extern int real_minus_onep (const_tree); extern void init_ttree (void); @@ -4593,14 +4236,11 @@ extern tree build_nonshared_range_type (tree, tree, tree); extern bool subrange_type_for_debug_p (const_tree, tree *, tree *); extern HOST_WIDE_INT int_cst_value (const_tree); extern HOST_WIDEST_INT widest_int_cst_value (const_tree); - extern tree tree_block (tree); extern void tree_set_block (tree, tree); extern location_t *block_nonartificial_location (tree); extern location_t tree_nonartificial_location (tree); - extern tree block_ultimate_origin (const_tree); - extern tree get_binfo_at_offset (tree, HOST_WIDE_INT, tree); extern bool virtual_method_call_p (tree); extern tree obj_type_ref_class (tree ref); @@ -4610,163 +4250,8 @@ extern bool type_in_anonymous_namespace_p (tree); extern bool block_may_fallthru (const_tree); extern void using_eh_for_cleanups (void); extern bool using_eh_for_cleanups_p (void); - extern const char *get_tree_code_name (enum tree_code); - -/* In function.c */ -extern void expand_function_end (void); -extern void expand_function_start (tree); -extern void stack_protect_epilogue (void); -extern void init_dummy_function_start (void); -extern void expand_dummy_function_end (void); -extern void allocate_struct_function (tree, bool); -extern void push_struct_function (tree fndecl); -extern void init_function_start (tree); -extern bool use_register_for_decl (const_tree); -extern void generate_setjmp_warnings (void); -extern void init_temp_slots (void); -extern void free_temp_slots (void); -extern void pop_temp_slots (void); -extern void push_temp_slots (void); -extern void preserve_temp_slots (rtx); -extern int aggregate_value_p (const_tree, const_tree); -extern void push_function_context (void); -extern void pop_function_context (void); -extern gimple_seq gimplify_parameters (void); - -/* In print-rtl.c */ -#ifdef BUFSIZ -extern void print_rtl (FILE *, const_rtx); -#endif - -/* In print-tree.c */ -extern void debug_tree (tree); -extern void debug_raw (const tree_node &ref); -extern void debug_raw (const tree_node *ptr); -extern void debug (const tree_node &ref); -extern void debug (const tree_node *ptr); -extern void debug_verbose (const tree_node &ref); -extern void debug_verbose (const tree_node *ptr); -extern void debug_head (const tree_node &ref); -extern void debug_head (const tree_node *ptr); -extern void debug_body (const tree_node &ref); -extern void debug_body (const tree_node *ptr); -extern void debug_vec_tree (vec<tree, va_gc> *); -extern void debug (vec<tree, va_gc> &ref); -extern void debug (vec<tree, va_gc> *ptr); -extern void debug_raw (vec<tree, va_gc> &ref); -extern void debug_raw (vec<tree, va_gc> *ptr); -#ifdef BUFSIZ -extern void dump_addr (FILE*, const char *, const void *); -extern void print_node (FILE *, const char *, tree, int); -extern void print_node_brief (FILE *, const char *, const_tree, int); -extern void indent_to (FILE *, int); -#endif - -/* In tree-inline.c: */ -extern bool debug_find_tree (tree, tree); -/* This is in tree-inline.c since the routine uses - data structures from the inliner. */ -extern tree build_duplicate_type (tree); - -/* In calls.c */ -extern int flags_from_decl_or_type (const_tree); -extern int call_expr_flags (const_tree); extern void set_call_expr_flags (tree, int); - -extern int setjmp_call_p (const_tree); -extern bool gimple_alloca_call_p (const_gimple); -extern bool alloca_call_p (const_tree); -extern bool must_pass_in_stack_var_size (enum machine_mode, const_tree); -extern bool must_pass_in_stack_var_size_or_pad (enum machine_mode, const_tree); - -/* In attribs.c. */ - -extern const struct attribute_spec *lookup_attribute_spec (const_tree); -extern void init_attributes (void); - -/* Process the attributes listed in ATTRIBUTES and install them in *NODE, - which is either a DECL (including a TYPE_DECL) or a TYPE. If a DECL, - it should be modified in place; if a TYPE, a copy should be created - unless ATTR_FLAG_TYPE_IN_PLACE is set in FLAGS. FLAGS gives further - information, in the form of a bitwise OR of flags in enum attribute_flags - from tree.h. Depending on these flags, some attributes may be - returned to be applied at a later stage (for example, to apply - a decl attribute to the declaration rather than to its type). */ -extern tree decl_attributes (tree *, tree, int); - -extern bool cxx11_attribute_p (const_tree); - -extern tree get_attribute_name (const_tree); - -extern void apply_tm_attr (tree, tree); - -/* In stor-layout.c */ -extern void set_min_and_max_values_for_integral_type (tree, int, bool); -extern void fixup_signed_type (tree); -extern void internal_reference_types (void); -extern unsigned int update_alignment_for_field (record_layout_info, tree, - unsigned int); -/* varasm.c */ -extern tree tree_output_constant_def (tree); -extern void make_decl_rtl (tree); -extern rtx make_decl_rtl_for_debug (tree); -extern void make_decl_one_only (tree, tree); -extern int supports_one_only (void); -extern void resolve_unique_section (tree, int, int); -extern void mark_referenced (tree); -extern void mark_decl_referenced (tree); -extern void notice_global_symbol (tree); -extern void set_user_assembler_name (tree, const char *); -extern void process_pending_assemble_externals (void); -extern bool decl_replaceable_p (tree); -extern bool decl_binds_to_current_def_p (tree); -extern enum tls_model decl_default_tls_model (const_tree); - -/* Declare DECL to be a weak symbol. */ -extern void declare_weak (tree); -/* Merge weak status. */ -extern void merge_weak (tree, tree); -/* Make one symbol an alias for another. */ -extern void assemble_alias (tree, tree); - -/* Return nonzero if VALUE is a valid constant-valued expression - for use in initializing a static variable; one that can be an - element of a "constant" initializer. - - Return null_pointer_node if the value is absolute; - if it is relocatable, return the variable that determines the relocation. - We assume that VALUE has been folded as much as possible; - therefore, we do not need to check for such things as - arithmetic-combinations of integers. */ -extern tree initializer_constant_valid_p (tree, tree); - -/* Return true if VALUE is a valid constant-valued expression - for use in initializing a static bit-field; one that can be - an element of a "constant" initializer. */ -extern bool initializer_constant_valid_for_bitfield_p (tree); - -/* Whether a constructor CTOR is a valid static constant initializer if all - its elements are. This used to be internal to initializer_constant_valid_p - and has been exposed to let other functions like categorize_ctor_elements - evaluate the property while walking a constructor for other purposes. */ - -extern bool constructor_static_from_elts_p (const_tree); - -/* In stmt.c */ -extern bool parse_output_constraint (const char **, int, int, int, - bool *, bool *, bool *); -extern bool parse_input_constraint (const char **, int, int, int, int, - const char * const *, bool *, bool *); -extern tree resolve_asm_operand_names (tree, tree, tree, tree); -#ifdef HARD_CONST -/* Silly ifdef to avoid having all includers depend on hard-reg-set.h. */ -extern tree tree_overlaps_hard_reg_set (tree, HARD_REG_SET *); -#endif - - -/* In tree-inline.c */ - extern tree walk_tree_1 (tree*, walk_tree_fn, void*, struct pointer_set_t*, walk_tree_lh); extern tree walk_tree_without_duplicates_1 (tree*, walk_tree_fn, void*, @@ -4776,16 +4261,7 @@ extern tree walk_tree_without_duplicates_1 (tree*, walk_tree_fn, void*, #define walk_tree_without_duplicates(a,b,c) \ walk_tree_without_duplicates_1 (a, b, c, NULL) -/* In emit-rtl.c */ -/* Assign the RTX to declaration. */ - -extern void set_decl_rtl (tree, rtx); -extern void set_decl_incoming_rtl (tree, rtx, bool); - -/* In gimple.c. */ extern tree get_base_address (tree t); - -/* In tree.c. */ extern tree drop_tree_overflow (tree); extern int tree_map_base_eq (const void *, const void *); extern unsigned int tree_map_base_hash (const void *); @@ -4811,33 +4287,6 @@ extern unsigned int tree_decl_map_hash (const void *); #define tree_vec_map_hash tree_decl_map_hash #define tree_vec_map_marked_p tree_map_base_marked_p -/* In tree-object-size.c. */ -extern void init_object_sizes (void); -extern unsigned HOST_WIDE_INT compute_builtin_object_size (tree, int); - -/* In expr.c. */ - -/* Determine whether the LEN bytes can be moved by using several move - instructions. Return nonzero if a call to move_by_pieces should - succeed. */ -extern int can_move_by_pieces (unsigned HOST_WIDE_INT, unsigned int); - -extern unsigned HOST_WIDE_INT highest_pow2_factor (const_tree); -extern tree build_personality_function (const char *); - -/* In trans-mem.c. */ -extern tree build_tm_abort_call (location_t, bool); -extern bool is_tm_safe (const_tree); -extern bool is_tm_pure (const_tree); -extern bool is_tm_may_cancel_outer (tree); -extern bool is_tm_ending_fndecl (tree); -extern void record_tm_replacement (tree, tree); -extern void tm_malloc_replacement (tree); - -/* In tree-inline.c. */ - -void init_inline_once (void); - /* Initialize the abstract argument list iterator object ITER with the arguments from CALL_EXPR node EXP. */ static inline void @@ -5045,5 +4494,70 @@ may_be_aliased (const_tree var) #endif /* NO_DOLLAR_IN_LABEL */ #endif /* NO_DOT_IN_LABEL */ +/* FIXME - These declarations belong in builtins.h, expr.h and emit-rtl.h, + but none of these files are allowed to be included from front ends. + They should be split in two. One suitable for the FEs, the other suitable + for the BE. */ + +/* Assign the RTX to declaration. */ +extern void set_decl_rtl (tree, rtx); +extern bool complete_ctor_at_level_p (const_tree, HOST_WIDE_INT, const_tree); + +/* Return a tree representing the upper bound of the array mentioned in + EXP, an ARRAY_REF or an ARRAY_RANGE_REF. */ +extern tree array_ref_up_bound (tree); + +extern tree build_personality_function (const char *); + +/* Given an expression EXP that is a handled_component_p, + look for the ultimate containing object, which is returned and specify + the access position and size. */ +extern tree get_inner_reference (tree, HOST_WIDE_INT *, HOST_WIDE_INT *, + tree *, enum machine_mode *, int *, int *, + bool); + +/* Return a tree representing the lower bound of the array mentioned in + EXP, an ARRAY_REF or an ARRAY_RANGE_REF. */ +extern tree array_ref_low_bound (tree); + +/* In builtins.c. */ + +/* Non-zero if __builtin_constant_p should be folded right away. */ +extern bool force_folding_builtin_constant_p; + +extern bool avoid_folding_inline_builtin (tree); +extern tree fold_call_expr (location_t, tree, bool); +extern tree fold_builtin_fputs (location_t, tree, tree, bool, bool, tree); +extern tree fold_builtin_strcpy (location_t, tree, tree, tree, tree); +extern tree fold_builtin_strncpy (location_t, tree, tree, tree, tree, tree); +extern tree fold_builtin_memory_chk (location_t, tree, tree, tree, tree, tree, tree, bool, + enum built_in_function); +extern tree fold_builtin_stxcpy_chk (location_t, tree, tree, tree, tree, tree, bool, + enum built_in_function); +extern tree fold_builtin_stxncpy_chk (location_t, tree, tree, tree, tree, tree, bool, + enum built_in_function); +extern bool fold_builtin_next_arg (tree, bool); +extern enum built_in_function builtin_mathfn_code (const_tree); +extern tree fold_builtin_call_array (location_t, tree, tree, int, tree *); +extern tree build_call_expr_loc_array (location_t, tree, int, tree *); +extern tree build_call_expr_loc_vec (location_t, tree, vec<tree, va_gc> *); +extern tree build_call_expr_loc (location_t, tree, int, ...); +extern tree build_call_expr (tree, int, ...); +extern tree mathfn_built_in (tree, enum built_in_function fn); +extern tree c_strlen (tree, int); +extern tree build_string_literal (int, const char *); +extern rtx builtin_memset_read_str (void *, HOST_WIDE_INT, enum machine_mode); +extern bool is_builtin_fn (tree); +extern bool get_object_alignment_1 (tree, unsigned int *, + unsigned HOST_WIDE_INT *); +extern unsigned int get_object_alignment (tree); +extern bool get_pointer_alignment_1 (tree, unsigned int *, + unsigned HOST_WIDE_INT *); +extern unsigned int get_pointer_alignment (tree); +extern tree fold_call_stmt (gimple, bool); +extern tree gimple_fold_builtin_snprintf_chk (gimple, tree, enum built_in_function); +extern void set_builtin_user_assembler_name (tree decl, const char *asmspec); +extern bool is_simple_builtin (tree); +extern bool is_inexpensive_builtin (tree); #endif /* GCC_TREE_H */ @@ -23,6 +23,7 @@ along with GCC; see the file COPYING3. If not see #include "system.h" #include "coretypes.h" #include "tree.h" +#include "expr.h" #include "intl.h" #include "tm.h" #include "basic-block.h" @@ -33,6 +34,7 @@ along with GCC; see the file COPYING3. If not see #include "gimple-ssa.h" #include "cgraph.h" #include "tree-cfg.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-pass.h" #include "tree-iterator.h" diff --git a/gcc/ubsan.c b/gcc/ubsan.c index 62894d9..de5dc40 100644 --- a/gcc/ubsan.c +++ b/gcc/ubsan.c @@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see #include "system.h" #include "coretypes.h" #include "tree.h" +#include "stor-layout.h" +#include "stringpool.h" #include "cgraph.h" #include "tree-pass.h" #include "gimple.h" diff --git a/gcc/value-prof.c b/gcc/value-prof.c index f21ff00..2fe12b6 100644 --- a/gcc/value-prof.c +++ b/gcc/value-prof.c @@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "tree-nested.h" +#include "calls.h" #include "rtl.h" #include "expr.h" #include "hard-reg-set.h" @@ -40,6 +42,7 @@ along with GCC; see the file COPYING3. If not see #include "tree-cfg.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "diagnostic.h" #include "gimple-pretty-print.h" diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c index fc3fc93..a569d46 100644 --- a/gcc/var-tracking.c +++ b/gcc/var-tracking.c @@ -91,6 +91,9 @@ #include "tm.h" #include "rtl.h" #include "tree.h" +#include "varasm.h" +#include "stor-layout.h" +#include "gimple.h" #include "tm_p.h" #include "hard-reg-set.h" #include "basic-block.h" diff --git a/gcc/varasm.c b/gcc/varasm.c index 1fd53f0..475d196 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -31,6 +31,10 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #include "rtl.h" #include "tree.h" +#include "stor-layout.h" +#include "stringpool.h" +#include "gcc-symtab.h" +#include "varasm.h" #include "flags.h" #include "function.h" #include "expr.h" diff --git a/gcc/varasm.h b/gcc/varasm.h new file mode 100644 index 0000000..d2a01a7 --- /dev/null +++ b/gcc/varasm.h @@ -0,0 +1,69 @@ +/* Declarations for varasm.h. + Copyright (C) 2013 Free Software Foundation, Inc. + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 3, or (at your option) any later +version. + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with GCC; see the file COPYING3. If not see +<http://www.gnu.org/licenses/>. */ + +#ifndef GCC_VARASM_H +#define GCC_VARASM_H + +extern tree tree_output_constant_def (tree); +extern void make_decl_rtl (tree); +extern rtx make_decl_rtl_for_debug (tree); +extern void make_decl_one_only (tree, tree); +extern int supports_one_only (void); +extern void resolve_unique_section (tree, int, int); +extern void mark_referenced (tree); +extern void mark_decl_referenced (tree); +extern void notice_global_symbol (tree); +extern void set_user_assembler_name (tree, const char *); +extern void process_pending_assemble_externals (void); +extern bool decl_replaceable_p (tree); +extern bool decl_binds_to_current_def_p (tree); +extern enum tls_model decl_default_tls_model (const_tree); + +/* Declare DECL to be a weak symbol. */ +extern void declare_weak (tree); + +/* Merge weak status. */ +extern void merge_weak (tree, tree); + +/* Make one symbol an alias for another. */ +extern void assemble_alias (tree, tree); + +/* Return nonzero if VALUE is a valid constant-valued expression + for use in initializing a static variable; one that can be an + element of a "constant" initializer. + + Return null_pointer_node if the value is absolute; + if it is relocatable, return the variable that determines the relocation. + We assume that VALUE has been folded as much as possible; + therefore, we do not need to check for such things as + arithmetic-combinations of integers. */ +extern tree initializer_constant_valid_p (tree, tree); + +/* Return true if VALUE is a valid constant-valued expression + for use in initializing a static bit-field; one that can be + an element of a "constant" initializer. */ +extern bool initializer_constant_valid_for_bitfield_p (tree); + +/* Whether a constructor CTOR is a valid static constant initializer if all + its elements are. This used to be internal to initializer_constant_valid_p + and has been exposed to let other functions like categorize_ctor_elements + evaluate the property while walking a constructor for other purposes. */ +extern bool constructor_static_from_elts_p (const_tree); + +#endif // GCC_VARASM_H diff --git a/gcc/varpool.c b/gcc/varpool.c index 4521caf..06b93a3 100644 --- a/gcc/varpool.c +++ b/gcc/varpool.c @@ -23,6 +23,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "varasm.h" #include "cgraph.h" #include "langhooks.h" #include "diagnostic-core.h" diff --git a/gcc/vmsdbgout.c b/gcc/vmsdbgout.c index 9f308a6..7972dd7 100644 --- a/gcc/vmsdbgout.c +++ b/gcc/vmsdbgout.c @@ -26,6 +26,7 @@ along with GCC; see the file COPYING3. If not see #ifdef VMS_DEBUGGING_INFO #include "tree.h" +#include "varasm.h" #include "version.h" #include "flags.h" #include "rtl.h" diff --git a/gcc/vtable-verify.c b/gcc/vtable-verify.c index ecf1dc2..8d692e6 100644 --- a/gcc/vtable-verify.c +++ b/gcc/vtable-verify.c @@ -143,6 +143,7 @@ along with GCC; see the file COPYING3. If not see #include "gimple-ssa.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "stringpool.h" #include "tree-ssanames.h" #include "tree-pass.h" #include "cfgloop.h" diff --git a/gcc/xcoffout.c b/gcc/xcoffout.c index 8a9093c..c14f014 100644 --- a/gcc/xcoffout.c +++ b/gcc/xcoffout.c @@ -27,6 +27,7 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "tm.h" #include "tree.h" +#include "varasm.h" #include "rtl.h" #include "flags.h" #include "diagnostic-core.h" |