1. 05 Jan, 2015 1 commit
  2. 02 Jan, 2014 1 commit
  3. 19 Nov, 2013 1 commit
    • Factor unrelated declarations out of tree.h. · d8a2d370
      This patch applies the rule that functions defined in FOO.c must be
      declared in FOO.h. One of the worst offenders in the code base is
      tree.h, unsurprisingly.
      
      The patch creates several new headers: attribs.h calls.h fold-const.h
      gcc-symtab.h print-rtl.h print-tree.h stmt.h stor-layout.h stringpool.h
      tree-nested.h tree-object-size.h varasm.h.
      
      Functions in each corresponding .c file got moved to those headers and
      others that already existed. I wanted to make this patch as mechanical
      as possible, so I made no attempt to fix problems like having
      build_addr defined in tree-inline.c. I left that for later.
      
      There were some declarations that I could not move out of tree.h
      because of header poisoning or the use of target macros. We forbid the
      inclusion of things like expr.h from FE files. While that's a
      reasonable idea, the FE file *still* manage to at expr.c functionality
      because the declarations they want to use were defined in tree.h.
      
      The affected files are builtins.h, emit-rtl.h and expr.h.
      
      If that functionality is allowed to be accessed from the FEs,
      then I will later move those functions out of expr.c into tree.c.
      I have moved these declarations to the bottom of tree.h so they
      are easy to identify later.
      
      There is a namespace collision with libcpp. The file gcc/symtab.c
      cannot use gcc/symtab.h because the #include command picks up
      libcpp/include/symtab.h first. So I named this file gcc-symtab.h
      for now.
      
      Finally, I added a new header to PLUGIN_HEADERS to account for the
      tree.h refactoring. I did not add all headers factored out of tree.h
      because it is unclear (and impossible to tell) what plugins need.
      This adds the one header used by the plugins in the testsuite.
      
      This will be changing quite dramatically as we progress with the header
      refactoring.
      
      This patch should offer some minimal incremental build advantages
      by reducing the size of tree.h. Changes that would otherwise
      affected tree.h, will now go to other headers which are less
      frequently included.
      
      	* tree.h: Include fold-const.h.
      	(aggregate_value_p): Moved to function.h.
      	(alloca_call_p): Moved to calls.h.
      	(allocate_struct_function): Moved to function.h.
      	(apply_tm_attr): Moved to attribs.h.
      	(array_at_struct_end_p): Moved to expr.h.
      	(array_ref_element_size): Moved to tree-dfa.h.
      	(array_ref_low_bound): Moved to tree-dfa.h.
      	(array_ref_up_bound): Moved to tree.h.
      	(assemble_alias): Moved to cgraph.h.
      	(bit_from_pos): Moved to stor-layout.h.
      	(build_addr): Moved to tree-nested.h.
      	(build_duplicate_type): Moved to tree-inline.h.
      	(build_fold_addr_expr): Moved to fold-const.h.
      	(build_fold_addr_expr_with_type): Moved to fold-const.h.
      	(build_fold_addr_expr_with_type_loc): Moved to fold-const.h.
      	(build_fold_indirect_ref): Moved to fold-const.h.
      	(build_fold_indirect_ref_loc): Moved to fold-const.h.
      	(build_personality_function): Moved to tree.h.
      	(build_range_check): Moved to fold-const.h.
      	(build_simple_mem_ref): Moved to fold-const.h.
      	(build_simple_mem_ref_loc): Moved to fold-const.h.
      	(build_tm_abort_call): Moved to trans-mem.h.
      	(byte_from_pos): Moved to stor-layout.h.
      	(call_expr_flags): Moved to calls.h.
      	(can_move_by_pieces): Moved to expr.h.
      	(categorize_ctor_elements): Moved to expr.h.
      	(change_decl_assembler_name): Moved to gcc-symtab.h.
      	(combine_comparisons): Moved to fold-const.h.
      	(complete_ctor_at_level_p): Moved to tree.h.
      	(component_ref_field_offset): Moved to tree-dfa.h.
      	(compute_builtin_object_size): Moved to tree-object-size.h.
      	(compute_record_mode): Moved to stor-layout.h.
      	(constant_boolean_node): Moved to fold-const.h.
      	(constructor_static_from_elts_p): Moved to varasm.h.
      	(cxx11_attribute_p): Moved to attribs.h.
      	(debug_body): Moved to print-tree.h.
      	(debug_find_tree): Moved to tree-inline.h.
      	(debug_fold_checksum): Moved to fold-const.h.
      	(debug_head): Moved to print-tree.h.
      	(debug_head): Moved to print-tree.h.
      	(debug_raw): Moved to print-tree.h.
      	(debug_tree): Moved to print-tree.h.
      	(debug_vec_tree): Moved to print-tree.h.
      	(debug_verbose): Moved to print-tree.h.
      	(debug_verbose): Moved to print-tree.h.
      	(decl_attributes): Moved to attribs.h.
      	(decl_binds_to_current_def_p): Moved to varasm.h.
      	(decl_default_tls_model): Moved to varasm.h.
      	(decl_replaceable_p): Moved to varasm.h.
      	(div_if_zero_remainder): Moved to fold-const.h.
      	(double_int mem_ref_offset): Moved to fold-const.h.
      	(dump_addr): Moved to print-tree.h.
      	(element_precision): Moved to machmode.h.
      	(expand_dummy_function_end): Moved to function.h.
      	(expand_function_end): Moved to function.h.
      	(expand_function_start): Moved to function.h.
      	(expand_label): Moved to stmt.h.
      	(expr_first): Moved to tree-iterator.h.
      	(expr_last): Moved to tree-iterator.h.
      	(finalize_size_functions): Moved to stor-layout.h.
      	(finish_builtin_struct): Moved to stor-layout.h.
      	(finish_record_layout): Moved to stor-layout.h.
      	(fixup_signed_type): Moved to stor-layout.h.
      	(fixup_unsigned_type): Moved to stor-layout.h.
      	(flags_from_decl_or_type): Moved to calls.h.
      	(fold): Moved to fold-const.h.
      	(fold_abs_const): Moved to fold-const.h.
      	(fold_binary): Moved to fold-const.h.
      	(fold_binary_loc): Moved to fold-const.h.
      	(fold_binary_to_constant): Moved to fold-const.h.
      	(fold_build1): Moved to fold-const.h.
      	(fold_build1_initializer_loc): Moved to fold-const.h.
      	(fold_build1_loc): Moved to fold-const.h.
      	(fold_build1_stat_loc): Moved to fold-const.h.
      	(fold_build2): Moved to fold-const.h.
      	(fold_build2_initializer_loc): Moved to fold-const.h.
      	(fold_build2_loc): Moved to fold-const.h.
      	(fold_build2_stat_loc): Moved to fold-const.h.
      	(fold_build3): Moved to fold-const.h.
      	(fold_build3_loc): Moved to fold-const.h.
      	(fold_build3_stat_loc): Moved to fold-const.h.
      	(fold_build_call_array): Moved to fold-const.h.
      	(fold_build_call_array_initializer): Moved to fold-const.h.
      	(fold_build_call_array_initializer_loc): Moved to fold-const.h.
      	(fold_build_call_array_loc): Moved to fold-const.h.
      	(fold_build_cleanup_point_expr): Moved to fold-const.h.
      	(fold_convert): Moved to fold-const.h.
      	(fold_convert_loc): Moved to fold-const.h.
      	(fold_convertible_p): Moved to fold-const.h.
      	(fold_defer_overflow_warnings): Moved to fold-const.h.
      	(fold_deferring_overflow_warnings_p): Moved to fold-const.h.
      	(fold_fma): Moved to fold-const.h.
      	(fold_ignored_result): Moved to fold-const.h.
      	(fold_indirect_ref): Moved to fold-const.h.
      	(fold_indirect_ref_1): Moved to fold-const.h.
      	(fold_indirect_ref_loc): Moved to fold-const.h.
      	(fold_read_from_constant_string): Moved to fold-const.h.
      	(fold_real_zero_addition_p): Moved to fold-const.h.
      	(fold_single_bit_test): Moved to fold-const.h.
      	(fold_strip_sign_ops): Moved to fold-const.h.
      	(fold_ternary): Moved to fold-const.h.
      	(fold_ternary_loc): Moved to fold-const.h.
      	(fold_unary): Moved to tree-data-ref.h.
      	(fold_unary_ignore_overflow): Moved to fold-const.h.
      	(fold_unary_ignore_overflow_loc): Moved to fold-const.h.
      	(fold_unary_loc): Moved to fold-const.h.
      	(fold_unary_to_constant): Moved to fold-const.h.
      	(fold_undefer_and_ignore_overflow_warnings): Moved to fold-const.h.
      	(fold_undefer_overflow_warnings): Moved to fold-const.h.
      	(folding_initializer): Moved to fold-const.h.
      	(free_temp_slots): Moved to function.h.
      	(generate_setjmp_warnings): Moved to function.h.
      	(get_attribute_name): Moved to attribs.h.
      	(get_identifier): Moved to stringpool.h.
      	(get_identifier_with_length): Moved to stringpool.h.
      	(get_inner_reference): Moved to tree.h.
      	(gimple_alloca_call_p): Moved to calls.h.
      	(gimplify_parameters): Moved to function.h.
      	(highest_pow2_factor): Moved to expr.h.
      	(indent_to): Moved to print-tree.h.
      	(init_attributes): Moved to attribs.h.
      	(init_dummy_function_start): Moved to function.h.
      	(init_function_start): Moved to function.h.
      	(init_inline_once): Moved to tree-inline.h.
      	(init_object_sizes): Moved to tree-object-size.h.
      	(init_temp_slots): Moved to function.h.
      	(init_tree_optimization_optabs): Moved to optabs.h.
      	(initialize_sizetypes): Moved to stor-layout.h.
      	(initializer_constant_valid_for_bitfield_p): Moved to varasm.h.
      	(initializer_constant_valid_p): Moved to varasm.h.
      	(int_const_binop): Moved to fold-const.h.
      	(internal_reference_types): Moved to stor-layout.h.
      	(invert_tree_comparison): Moved to fold-const.h.
      	(invert_truthvalue): Moved to fold-const.h.
      	(invert_truthvalue_loc): Moved to fold-const.h.
      	(is_tm_ending_fndecl): Moved to trans-mem.h.
      	(is_tm_may_cancel_outer): Moved to trans-mem.h.
      	(is_tm_pure): Moved to trans-mem.h.
      	(is_tm_safe): Moved to trans-mem.h.
      	(layout_decl): Moved to stor-layout.h.
      	(layout_type): Moved to stor-layout.h.
      	(lookup_attribute_spec): Moved to attribs.h.
      	(make_accum_type): Moved to stor-layout.h.
      	(make_decl_one_only): Moved to varasm.h.
      	(make_decl_rtl): Moved to tree.h.
      	(make_decl_rtl_for_debug): Moved to varasm.h.
      	(make_fract_type): Moved to stor-layout.h.
      	(make_or_reuse_sat_signed_accum_type): Moved to stor-layout.h.
      	(make_or_reuse_sat_signed_fract_type): Moved to stor-layout.h.
      	(make_or_reuse_sat_unsigned_accum_type): Moved to stor-layout.h.
      	(make_or_reuse_sat_unsigned_fract_type): Moved to stor-layout.h.
      	(make_or_reuse_signed_accum_type): Moved to stor-layout.h.
      	(make_or_reuse_signed_fract_type): Moved to stor-layout.h.
      	(make_or_reuse_unsigned_accum_type): Moved to stor-layout.h.
      	(make_or_reuse_unsigned_fract_type): Moved to stor-layout.h.
      	(make_range): Moved to fold-const.h.
      	(make_range_step): Moved to fold-const.h.
      	(make_sat_signed_accum_type): Moved to stor-layout.h.
      	(make_sat_signed_fract_type): Moved to stor-layout.h.
      	(make_sat_unsigned_accum_type): Moved to stor-layout.h.
      	(make_sat_unsigned_fract_type): Moved to stor-layout.h.
      	(make_signed_accum_type): Moved to stor-layout.h.
      	(make_signed_fract_type): Moved to stor-layout.h.
      	(make_signed_type): Moved to stor-layout.h.
      	(make_unsigned_accum_type): Moved to stor-layout.h.
      	(make_unsigned_fract_type): Moved to stor-layout.h.
      	(make_unsigned_type): Moved to stor-layout.h.
      	(mark_decl_referenced): Moved to varasm.h.
      	(mark_referenced): Moved to varasm.h.
      	(may_negate_without_overflow_p): Moved to fold-const.h.
      	(maybe_get_identifier): Moved to stringpool.h.
      	(merge_ranges): Moved to fold-const.h.
      	(merge_weak): Moved to varasm.h.
      	(mode_for_size_tree): Moved to stor-layout.h.
      	(multiple_of_p): Moved to fold-const.h.
      	(must_pass_in_stack_var_size): Moved to calls.h.
      	(must_pass_in_stack_var_size_or_pad): Moved to calls.h.
      	(native_encode_expr): Moved to fold-const.h.
      	(native_interpret_expr): Moved to fold-const.h.
      	(non_lvalue): Moved to fold-const.h.
      	(non_lvalue_loc): Moved to fold-const.h.
      	(normalize_offset): Moved to stor-layout.h.
      	(normalize_rli): Moved to stor-layout.h.
      	(notice_global_symbol): Moved to varasm.h.
      	(omit_one_operand): Moved to fold-const.h.
      	(omit_one_operand_loc): Moved to fold-const.h.
      	(omit_two_operands): Moved to fold-const.h.
      	(omit_two_operands_loc): Moved to fold-const.h.
      	(operand_equal_p): Moved to tree-data-ref.h.
      	(parse_input_constraint): Moved to stmt.h.
      	(parse_output_constraint): Moved to stmt.h.
      	(place_field): Moved to stor-layout.h.
      	(pop_function_context): Moved to function.h.
      	(pop_temp_slots): Moved to function.h.
      	(pos_from_bit): Moved to stor-layout.h.
      	(preserve_temp_slots): Moved to function.h.
      	(print_node): Moved to print-tree.h.
      	(print_node_brief): Moved to print-tree.h.
      	(print_rtl): Moved to rtl.h.
      	(process_pending_assemble_externals): Moved to varasm.h.
      	(ptr_difference_const): Moved to fold-const.h.
      	(push_function_context): Moved to function.h.
      	(push_struct_function): Moved to function.h.
      	(push_temp_slots): Moved to function.h.
      	(record_tm_replacement): Moved to trans-mem.h.
      	(relayout_decl): Moved to stor-layout.h.
      	(resolve_asm_operand_names): Moved to stmt.h.
      	(resolve_unique_section): Moved to varasm.h.
      	(rli_size_so_far): Moved to stor-layout.h.
      	(rli_size_unit_so_far): Moved to stor-layout.h.
      	(round_down): Moved to fold-const.h.
      	(round_down_loc): Moved to fold-const.h.
      	(round_up): Moved to fold-const.h.
      	(round_up_loc): Moved to fold-const.h.
      	(set_decl_incoming_rtl): Moved to emit-rtl.h.
      	(set_decl_rtl): Moved to tree.h.
      	(set_min_and_max_values_for_integral_type): Moved to stor-layout.h.
      	(set_user_assembler_name): Moved to varasm.h.
      	(setjmp_call_p): Moved to calls.h.
      	(size_binop): Moved to fold-const.h.
      	(size_binop_loc): Moved to fold-const.h.
      	(size_diffop): Moved to fold-const.h.
      	(size_diffop_loc): Moved to fold-const.h.
      	(size_int_kind): Moved to fold-const.h.
      	(stack_protect_epilogue): Moved to function.h.
      	(start_record_layout): Moved to stor-layout.h.
      	(supports_one_only): Moved to varasm.h.
      	(swap_tree_comparison): Moved to fold-const.h.
      	(tm_malloc_replacement): Moved to trans-mem.h.
      	(tree build_fold_addr_expr_loc): Moved to fold-const.h.
      	(tree build_invariant_address): Moved to fold-const.h.
      	(tree_binary_nonnegative_warnv_p): Moved to fold-const.h.
      	(tree_binary_nonzero_warnv_p): Moved to fold-const.h.
      	(tree_call_nonnegative_warnv_p): Moved to fold-const.h.
      	(tree_expr_nonnegative_p): Moved to fold-const.h.
      	(tree_expr_nonnegative_warnv_p): Moved to fold-const.h.
      	(tree_output_constant_def): Moved to varasm.h.
      	(tree_overlaps_hard_reg_set): Moved to stmt.h.
      	(tree_single_nonnegative_warnv_p): Moved to fold-const.h.
      	(tree_single_nonzero_warnv_p): Moved to fold-const.h.
      	(tree_swap_operands_p): Moved to fold-const.h.
      	(tree_unary_nonnegative_warnv_p): Moved to fold-const.h.
      	(tree_unary_nonzero_warnv_p): Moved to fold-const.h.
      	(update_alignment_for_field): Moved to stor-layout.h.
      	(use_register_for_decl): Moved to function.h.
      	(variable_size): Moved to rtl.h.
      	(vector_type_mode): Moved to stor-layout.h.
      	* cgraph.h: Corresponding changes.
      	* emit-rtl.h: Corresponding changes.
      	* expr.h: Corresponding changes.
      	* function.h: Corresponding changes.
      	* optabs.h: Corresponding changes.
      	* trans-mem.h: Corresponding changes.
      	Protect against multiple inclusion.
      	* tree-inline.h: Corresponding changes.
      	* tree-iterator.h: Corresponding changes.
      	* tree-dfa.h: Include expr.h.
      	* tree-ssanames.h: Include stringpool.h.
      	* attribs.h: New file.
      	* calls.h: New file.
      	* fold-const.h: New file.
      	* gcc-symtab.h: New file.
      	* print-rtl.h: New file.
      	* print-tree.h: New file.
      	* stmt.h: New file.
      	* stor-layout.h: New file.
      	* strinpool.h: New file.
      	* tree-nested.h: New file
      	* tree-object-size.h: New file.
      	* varasm.h: New file.
      	* Makefile.in (PLUGIN_HEADERS): Add stringpool.h.
      
      	* alias.c: Include varasm.h.
      	Include expr.h.
      	* asan.c: Include calls.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	* attribs.c: Include stringpool.h.
      	Include attribs.h.
      	Include stor-layout.h.
      	* builtins.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	Include tree-object-size.h.
      	* calls.c: Include stor-layout.h.
      	Include varasm.h.
      	Include stringpool.h.
      	Include attribs.h.
      	* cfgexpand.c: Include stringpool.h.
      	Include varasm.h.
      	Include stor-layout.h.
      	Include stmt.h.
      	Include print-tree.h.
      	* cgraph.c: Include varasm.h.
      	Include calls.h.
      	Include print-tree.h.
      	* cgraphclones.c: Include stringpool.h.
      	Include function.h.
      	Include emit-rtl.h.
      	Move inclusion of rtl.h earlier in the file.
      	* cgraphunit.c: Include varasm.h.
      	Include stor-layout.h.
      	Include stringpool.h.
      	* cilk-common.c: Include stringpool.h.
      	Include stor-layout.h.
      	* combine.c: Include stor-layout.h.
      	* config/aarch64/aarch64-builtins.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include calls.h.
      	* config/aarch64/aarch64.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/alpha/alpha.c: Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/arc/arc.c: Include varasm.h.
      	Include stor-layout.h.
      	Include stringpool.h.
      	Include calls.h.
      	* config/arm/arm.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/avr/avr-c.c: Include stor-layout.h.
      	* config/avr/avr-log.c: Include print-tree.h.
      	* config/avr/avr.c: Include print-tree.h.
      	Include calls.h.
      	Include stor-layout.h.
      	Include stringpool.h.
      	* config/bfin/bfin.c: Include varasm.h.
      	Include calls.h.
      	* config/c6x/c6x.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	Include stringpool.h.
      	* config/cr16/cr16.c: Include stor-layout.h.
      	Include calls.h.
      	* config/cris/cris.c: Include varasm.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include stmt.h.
      	* config/darwin.c: Include stringpool.h.
      	Include varasm.h.
      	Include stor-layout.h.
      	* config/epiphany/epiphany.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	Include stringpool.h.
      	* config/fr30/fr30.c: Include stor-layout.h.
      	Include varasm.h.
      	* config/frv/frv.c: Include varasm.h.
      	Include stor-layout.h.
      	Include stringpool.h.
      	* config/h8300/h8300.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	Include stringpool.h.
      	* config/i386/i386.c: Include stringpool.h.
      	Include attribs.h.
      	Include calls.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	* config/i386/winnt-cxx.c: Include stringpool.h.
      	Include attribs.h.
      	* config/i386/winnt.c: Include stringpool.h.
      	Include varasm.h.
      	* config/ia64/ia64-c.c: Include stringpool.h.
      	* config/ia64/ia64.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/iq2000/iq2000.c: Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/lm32/lm32.c: Include calls.h.
      	* config/m32c/m32c.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/m32r/m32r.c: Include stor-layout.h.
      	Include varasm.h.
      	Include stringpool.h.
      	Include calls.h.
      	* config/m68k/m68k.c: Include calls.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	* config/mcore/mcore.c: Include stor-layout.h.
      	Include varasm.h.
      	Include stringpool.h.
      	Include calls.h.
      	* config/mep/mep.c: Include varasm.h.
      	Include calls.h.
      	Include stringpool.h.
      	Include stor-layout.h.
      	* config/microblaze/microblaze.c: Include varasm.h.
      	Include stor-layout.h.
      	Include calls.h.
      	* config/mips/mips.c: Include varasm.h.
      	Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	* config/mmix/mmix.c: Include varasm.h.
      	Include stor-layout.h.
      	Include calls.h.
      	* config/mn10300/mn10300.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/moxie/moxie.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/msp430/msp430.c: Include stor-layout.h.
      	Include calls.h.
      	* config/nds32/nds32.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/pa/pa.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/pdp11/pdp11.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/picochip/picochip.c: Include calls.h.
      	Include stor-layout.h.
      	Include stringpool.h.
      	Include varasm.h.
      	* config/rl78/rl78.c: Include varasm.h.
      	Include stor-layout.h.
      	Include calls.h.
      	* config/rs6000/rs6000-c.c: Include stor-layout.h.
      	Include stringpool.h.
      	* config/rs6000/rs6000.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include print-tree.h.
      	Include varasm.h.
      	* config/rx/rx.c: Include varasm.h.
      	Include stor-layout.h.
      	Include calls.h.
      	* config/s390/s390.c: Include print-tree.h.
      	Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/score/score.c: Include stringpool.h.
      	Include calls.h.
      	Include varasm.h.
      	Include stor-layout.h.
      	* config/sh/sh-c.c: Include stringpool.h.
      	Include attribs.h.h.
      	* config/sh/sh.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/sol2-c.c: Include stringpool.h.
      	Include attribs.h.
      	* config/sol2-cxx.c: Include stringpool.h.
      	* config/sol2.c: Include stringpool.h.
      	Include varasm.h.
      	* config/sparc/sparc.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/spu/spu-c.c: Include stringpool.h.
      	* config/spu/spu.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/stormy16/stormy16.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/tilegx/tilegx.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/tilepro/tilepro.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/v850/v850-c.c: Include stringpool.h.
      	Include attribs.h.
      	* config/v850/v850.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/vax/vax.c: Include calls.h.
      	Include varasm.h.
      	* config/vms/vms.c: Include stringpool.h.
      	* config/vxworks.c: Include stringpool.h.
      	* config/xtensa/xtensa.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* convert.c: Include stor-layout.h.
      	* coverage.c: Include stringpool.h.
      	Include stor-layout.h.
      	* dbxout.c: Include varasm.h.
      	Include stor-layout.h.
      	* dojump.c: Include stor-layout.h.
      	* dse.c: Include stor-layout.h.
      	* dwarf2asm.c: Include stringpool.h.
      	Include varasm.h.
      	* dwarf2cfi.c: Include stor-layout.h.
      	* dwarf2out.c: Include rtl.h.
      	Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include function.h.
      	Include emit-rtl.h.
      	Move inclusion of rtl.h earlier in the file.
      	* emit-rtl.c: Include varasm.h.
      	* except.c: Include stringpool.h.
      	Include stor-layout.h.
      	* explow.c: Include stor-layout.h.
      	* expmed.c: Include stor-layout.h.
      	* expr.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include attribs.h.
      	Include varasm.h.
      	* final.c: Include varasm.h.
      	* fold-const.c: Include stor-layout.h.
      	Include calls.h.
      	Include tree-iterator.h.
      	* function.c: Include stor-layout.h.
      	Include varasm.h.
      	Include stringpool.h.
      	* genattrtab.c (write_header): Emit includes for varasm.h,
      	stor-layout.h and calls.h.
      	* genautomata.c (main): Likewise.
      	* genemit.c: Likewise.
      	* genopinit.c: Likewise.
      	* genoutput.c (output_prologue): Likewise.
      	* genpeep.c: Likewise.
      	* genpreds.c (write_insn_preds_c): Likewise.
      	* gengtype.c (open_base_files): Add stringpool.h.
      	* gimple-expr.c: Include stringpool.h.
      	Include stor-layout.h.
      	* gimple-fold.c: Include stringpool.h.
      	Include expr.h.
      	Include stmt.h.
      	Include stor-layout.h.
      	* gimple-low.c: Include tree-nested.h.
      	Include calls.h.
      	* gimple-pretty-print.c: Include stringpool.h.
      	* gimple-ssa-strength-reduction.c: Include stor-layout.h.
      	Include expr.h.
      	* gimple-walk.c: Include stmt.h.
      	* gimple.c: Include calls.h.
      	Include stmt.h.
      	Include stor-layout.h.
      	* gimplify.c: Include stringpool.h.
      	Include calls.h.
      	Include varasm.h.
      	Include stor-layout.h.
      	Include stmt.h.
      	Include print-tree.h.
      	Include expr.h.
      	* gimplify-me.c: Include stmt.h
      	Include stor-layout.h
      	* internal-fn.c: Include stor-layout.h.
      	* ipa-devirt.c: Include print-tree.h.
      	Include calls.h.
      	* ipa-inline-analysis.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include print-tree.h.
      	* ipa-inline.c: Include trans-mem.h.
      	Include calls.h.
      	* ipa-prop.c: Include expr.h.
      	Include stor-layout.h.
      	Include print-tree.h.
      	* ipa-pure-const.c: Include print-tree.h.
      	Include calls.h.
      	* ipa-reference.c: Include calls.h.
      	* ipa-split.c: Include stringpool.h.
      	Include expr.h.
      	Include calls.h.
      	* ipa.c: Include calls.h.
      	Include stringpool.h.
      	* langhooks.c: Include stringpool.h.
      	Include attribs.h.
      	* lto-cgraph.c: Include stringpool.h.
      	* lto-streamer-in.c: Include stringpool.h.
      	* lto-streamer-out.c: Include stor-layout.h.
      	Include stringpool.h.
      	* omp-low.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include expr.h.
      	* optabs.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include varasm.h.
      	* passes.c: Include varasm.h.
      	* predict.c: Include calls.h.
      	* print-rtl.c: Include print-tree.h.
      	* print-tree.c: Include varasm.h.
      	Include print-rtl.h.
      	Include stor-layout.h.
      	* realmpfr.c: Include stor-layout.h.
      	* reg-stack.c: Include varasm.h.
      	* sdbout.c: Include varasm.h.
      	Include stor-layout.h.
      	* simplify-rtx.c: Include varasm.h.
      	* stmt.c: Include varasm.h.
      	Include stor-layout.h.
      	* stor-layout.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include varasm.h.
      	Include print-tree.h.
      	* symtab.c: Include rtl.h.
      	Include print-tree.h.
      	Include varasm.h.
      	Include function.h.
      	Include emit-rtl.h.
      	* targhooks.c: Include stor-layout.h.
      	Include varasm.h.
      	* toplev.c: Include varasm.h.
      	Include tree-inline.h.
      	* trans-mem.c: Include calls.h.
      	Include function.h.
      	Include rtl.h.
      	Include emit-rtl.h.
      	* tree-affine.c: Include expr.h.
      	* tree-browser.c: Include print-tree.h.
      	* tree-call-cdce.c: Include stor-layout.h.
      	* tree-cfg.c: Include trans-mem.h.
      	Include stor-layout.h.
      	Include print-tree.h.
      	* tree-complex.c: Include stor-layout.h.
      	* tree-data-ref.c: Include expr.h.
      	* tree-dfa.c: Include stor-layout.h.
      	* tree-eh.c: Include expr.h.
      	Include calls.h.
      	* tree-emutls.c: Include stor-layout.h.
      	Include varasm.h.
      	* tree-if-conv.c: Include stor-layout.h.
      	* tree-inline.c: Include stor-layout.h.
      	Include calls.h.
      	* tree-loop-distribution.c: Include stor-layout.h.
      	* tree-nested.c: Include stringpool.h.
      	Include stor-layout.h.
      	* tree-object-size.c: Include tree-object-size.h.
      	* tree-outof-ssa.c: Include stor-layout.h.
      	* tree-parloops.c: Include stor-layout.h.
      	Include tree-nested.h.
      	* tree-pretty-print.c: Include stor-layout.h.
      	Include expr.h.
      	* tree-profile.c: Include varasm.h.
      	Include tree-nested.h.
      	* tree-scalar-evolution.c: Include expr.h.
      	* tree-sra.c: Include stor-layout.h.
      	* tree-ssa-address.c: Include stor-layout.h.
      	* tree-ssa-ccp.c: Include stor-layout.h.
      	* tree-ssa-dce.c: Include calls.h.
      	* tree-ssa-dom.c: Include stor-layout.h.
      	* tree-ssa-forwprop.c: Include stor-layout.h.
      	* tree-ssa-ifcombine.c: Include stor-layout.h.
      	* tree-ssa-loop-ivopts.c: Include stor-layout.h.
      	* tree-ssa-loop-niter.c: Include calls.h.
      	Include expr.h.
      	* tree-ssa-loop-prefetch.c: Include stor-layout.h.
      	* tree-ssa-math-opts.c: Include stor-layout.h.
      	* tree-ssa-operands.c: Include stmt.h.
      	Include print-tree.h.
      	* tree-ssa-phiopt.c: Include stor-layout.h.
      	* tree-ssa-reassoc.c: Include stor-layout.h.
      	* tree-ssa-sccvn.c: Include stor-layout.h.
      	* tree-ssa-sink.c: Include stor-layout.h.
      	* tree-ssa-strlen.c: Include stor-layout.h.
      	* tree-ssa-structalias.c: Include stor-layout.h.
      	Include stmt.h.
      	* tree-ssa-tail-merge.c: Include stor-layout.h.
      	Include trans-mem.h.
      	* tree-ssa-uncprop.c: Include stor-layout.h.
      	* tree-ssa.c: Include stor-layout.h.
      	* tree-ssanames.c: Include stor-layout.h.
      	* tree-streamer-in.c: Include stringpool.h.
      	* tree-streamer-out.c: Include stor-layout.h.
      	* tree-switch-conversion.c: Include varasm.h.
      	Include stor-layout.h.
      	* tree-tailcall.c: Include stor-layout.h.
      	* tree-vect-data-refs.c: Include stor-layout.h.
      	* tree-vect-generic.c: Include stor-layout.h.
      	* tree-vect-loop.c: Include stor-layout.h.
      	* tree-vect-patterns.c: Include stor-layout.h.
      	* tree-vect-slp.c: Include stor-layout.h.
      	* tree-vect-stmts.c: Include stor-layout.h.
      	* tree-vectorizer.c: Include stor-layout.h.
      	* tree-vrp.c: Include stor-layout.h.
      	Include calls.h.
      	* tree.c: Include stor-layout.h.
      	Include calls.h.
      	Include attribs.h.
      	Include varasm.h.
      	* tsan.c: Include expr.h.
      	* ubsan.c: Include stor-layout.h.
      	Include stringpool.h.
      	* value-prof.c: Include tree-nested.h.
      	Include calls.h.
      	* var-tracking.c: Include varasm.h.
      	Include stor-layout.h.
      	* varasm.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include gcc-symtab.h.
      	Include varasm.h.
      	* varpool.c: Include varasm.h.
      	* vmsdbgout.c: Include varasm.h.
      	* xcoffout.c: Include varasm.h.
      
      ada/ChangeLog
      
      	* gcc-interface/decl.c: Include stringpool.h
      	Include stor-layout.h
      	* gcc-interface/misc.c: Include stor-layout.h
      	Include print-tree.h
      	* gcc-interface/trans.c: Include stringpool.h
      	Include stor-layout.h
      	Include stmt.h
      	Include varasm.h
      	* gcc-interface/utils.c: Include stringpool.h
      	Include stor-layout.h
      	Include attribs.h
      	Include varasm.h
      	* gcc-interface/utils2.c: Include stringpool.h
      	Include stor-layout.h
      	Include attribs.h
      	Include varasm.h
      
      c-family/ChangeLog
      
      	* c-common.c: Include fold-const.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include stringpool.h.
      	Include attribs.h.
      	Include varasm.h.
      	Include trans-mem.h.
      	* c-cppbuiltin.c: Include stor-layout.h.
      	Include stringpool.h.
      	* c-format.c: Include stringpool.h.
      	* c-lex.c: Include stringpool.h.
      	Include stor-layout.h.
      	* c-pragma.c: Include stringpool.h.
      	Include attribs.h.
      	Include varasm.h.
      	Include gcc-symtab.h.
      	* c-pretty-print.c: Include stor-layout.h.
      	Include attribs.h.
      	* cilk.c: Include stringpool.h.
      	Include calls.h.
      
      c/ChangeLog
      
      	* c-decl.c: Include print-tree.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include attribs.h.
      	Include stringpool.h.
      	* c-lang.c: Include fold-const.h.
      	* c-parser.c: Include stringpool.h.
      	Include attribs.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include trans-mem.h.
      	* c-typeck.c: Include stor-layout.h.
      	Include trans-mem.h.
      	Include varasm.h.
      	Include stmt.h.
      
      cp/ChangeLog
      
      	* call.c: Include stor-layout.h.
      	Include trans-mem.h.
      	Include stringpool.h.
      	* class.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include attribs.h.
      	* cp-gimplify.c: Include stor-layout.h.
      	* cvt.c: Include stor-layout.h.
      	* decl.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include attribs.h.
      	Include calls.h.
      	* decl2.c: Include stringpool.h.
      	Include varasm.h.
      	Include attribs.h.
      	Include stor-layout.h.
      	Include calls.h.
      	* error.c: Include stringpool.h.
      	* except.c: Include stringpool.h.
      	Include trans-mem.h.
      	Include attribs.h.
      	* init.c: Include stringpool.h.
      	Include varasm.h.
      	* lambda.c: Include stringpool.h.
      	* lex.c: Include stringpool.h.
      	* mangle.c: Include stor-layout.h.
      	Include stringpool.h.
      	* method.c: Include stringpool.h.
      	Include varasm.h.
      	* name-lookup.c: Include stringpool.h.
      	Include print-tree.h.
      	Include attribs.h.
      	* optimize.c: Include stringpool.h.
      	* parser.c: Include print-tree.h.
      	Include stringpool.h.
      	Include attribs.h.
      	Include trans-mem.h.
      	* pt.c: Include stringpool.h.
      	Include varasm.h.
      	Include attribs.h.
      	Include stor-layout.h.
      	* ptree.c: Include print-tree.h.
      	* repo.c: Include stringpool.h.
      	* rtti.c: Include stringpool.h.
      	Include stor-layout.h.
      	* semantics.c: Include stmt.h.
      	Include varasm.h.
      	Include stor-layout.h.
      	Include stringpool.h.
      	* tree.c: Include stor-layout.h.
      	Include print-tree.h.
      	Include tree-iterator.h.
      	* typeck.c: Include stor-layout.h.
      	Include varasm.h.
      	* typeck2.c: Include stor-layout.h.
      	Include varasm.h.
      	* vtable-class-hierarchy.c: Include stringpool.h.
      	Include stor-layout.h.
      
      fortran/ChangeLog
      
      	* decl.c: Include stringpool.h.
      	* iresolve.c: Include stringpool.h.
      	* match.c: Include stringpool.h.
      	* module.c: Include stringpool.h.
      	* target-memory.c: Include stor-layout.h.
      	* trans-common.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	* trans-const.c: Include stor-layout.h.
      	* trans-decl.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include attribs.h.
      	* trans-expr.c: Include stringpool.h.
      	* trans-intrinsic.c: Include stringpool.h.
      	Include tree-nested.h.
      	Include stor-layout.h.
      	* trans-io.c: Include stringpool.h.
      	Include stor-layout.h.
      	* trans-openmp.c: Include stringpool.h.
      	* trans-stmt.c: Include stringpool.h.
      	* trans-types.c: Include stor-layout.h.
      	Include stringpool.h.
      	* trans.c: Include stringpool.h.
      
      go/ChangeLog
      
      	* go-backend.c: Include stor-layout.h.
      	* go-gcc.cc: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	* go-lang.c: Include stor-layout.h.
      
      java/ChangeLog
      
      	* builtins.c: Include stor-layout.h.
      	Include stringpool.h.
      	* class.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	* constants.c: Include stringpool.h.
      	Include stor-layout.h.
      	* decl.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include varasm.h.
      	* except.c: Include stringpool.h.
      	Include stor-layout.h.
      	* expr.c: Include stringpool.h.
      	Include stor-layout.h.
      	* jcf-parse.c: Include stringpool.h.
      	* mangle.c: Include stringpool.h.
      	* resource.c: Include stringpool.h.
      	Include stor-layout.h.
      	* typeck.c: Include stor-layout.h.
      	Include stringpool.h.
      	* verify-glue.c: Include stringpool.h.
      
      lto/ChangeLog
      	* lto-lang.c: Include stringpool.h.
      	Include stor-layout.h.
      	* lto-partition.c: Include gcc-symtab.h.
      	* lto.c: Include stor-layout.h.
      
      objc/ChangeLog
      	* objc-act.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include attribs.h.
      	* objc-encoding.c: Include stringpool.h.
      	Include stor-layout.h.
      	* objc-gnu-runtime-abi-01.c: Include stringpool.h.
      	* objc-next-runtime-abi-01.c:
      	Include stringpool.h.
      	* objc-next-runtime-abi-02.c: Include stringpool.h.
      	* objc-runtime-shared-support.c: Include stringpool.h.
      
      testsuite/ChangeLog
      
      	* gcc.dg/plugin/selfassign.c: Include stringpool.h.
      	* gcc.dg/plugin/start_unit_plugin.c: Likewise.
      
      From-SVN: r205023
      Diego Novillo committed
  4. 10 Jan, 2013 1 commit
  5. 29 Jun, 2012 1 commit
    • configure.ac: Skip C if explicitly selected. · d4a10d0a
      toplevel/
      	* configure.ac: Skip C if explicitly selected.
      	* configure: Regenerate.
      
      gcc/
      	* configure.ac: Remove special gtfiles case for C.
      	* configure: Regenerate.
      	* Makefile.in: Remove C front-end hooks and build hooks that
      	will be picked up from c/Make-lang.in now.
      	Add tree-mudflap to C_COMMON_OBJS.
      	* gengtype.c (files_rules): Adjust gt-files for c/c-decl.c.
      	* config/vms/vms.c: Look for c-tree.h in c/.
      	* doc/gty.texi: Remove reference to c-config-lang.in.
      	* doc/sourcebuild.texi: Document the c/ subdirectory.
      
      c/
      	* Make-lang.in: New file, rules migrated from gcc/Makefile.in
      	and add language Makefile hooks.
      	* config-lang.in: New file.
      	* c-config-lang.in: Moved from gcc/config-lang.in to here, and
      	add the required "normal" config-lang.in rules.
      	* c-lang.h: Moved from gcc/ to here.
      	* c-tree.h: Likewise.
      	* c-objc-common.c: Likewise.
      	* c-objc-common.h: Likewise.
      	* c-typeck.c: Likewise.
      	* c-convert.c: Likewise.
      	* c-lang.c: Likewise.
      	* c-aux-info.c: Likewise.
      	* c-errors.c: Likewise.
      	* gccspec.c: Likewise.
      	* c-decl.c: Likewise.  Include gt-c-c-decl.h, not gt-c-decl.h.
      	* c-parser.c: Likewise.  Include gt-c-c-parser.h, not gt-c-parser.h.
      
      c-family/
      	* cppspec.c: Moved from gcc/ to here.
      
      objc/
      	* Make-ang.in: Adjust for move of C front-end files.
      	* config-lang.in: Likewise.
      	* objc-encoding.c: Look for cp-tree.h in cp/, and for c-tree.h
      	and c-lang.h in c/.
      	* objc-runtime-shared-support.c: Likewise.
      	* objc-next-runtime-abi-01.c: Likewise.
      	* objc-next-runtime-abi-02.c: Likewise.
      	* objc-gnu-runtime-abi-01.c: Likewise.
      	* objc-act.c: Likewise.
      	* objc-lang.c: Likewise.
      
      cp/
      	* Make-lang.in: Remove tree-mudflap.o from CXX_AND_OBJCXX_OBJS.
      
      From-SVN: r189080
      Steven Bosscher committed
  6. 13 Apr, 2011 1 commit
    • ada-tree.h (union lang_tree_node): Check for TS_COMMON before calling TREE_CHAIN. · 81f653d6
      gcc/ada/
      	* gcc-interface/ada-tree.h (union lang_tree_node): Check for
      	TS_COMMON before calling TREE_CHAIN.
      	* gcc-interface/misc.c (gnat_init_ts): New function.
      	(LANG_HOOKS_INIT_TS): Define.
      
      gcc/
      	* c-decl.c (union lang_tree_node): Check for TS_COMMON before
      	calling TREE_CHAIN.
      	* print-tree.c (print_node): Likewise.
      	* tree-inline.c (copy_tree_r): Likewise.
      	* c-lang.c (LANG_HOOKS_INIT_TS): Define.
      	* lto-streamer-in.c (lto_input_tree_pointers): Check for TS_TYPED
      	instead of TS_COMMON.
      	* lto-streamer-out.c (lto_output_tree_pointers): Likewise.
      	* tree.c (initialize_tree_contains_struct): Handle TS_TYPED.
      	(copy_node_stat): Zero TREE_CHAIN only if necessary.
      	(MARK_TS_BASE, MARK_TS_TYPED, MARK_TS_COMMON): Move these...
      	(MARK_TS_DECL_COMMON, MARK_TS_DECL_COMMON, MARK_TS_DECL_WRTL):
      	...and these...
      	(MARK_TS_DECL_WITH_VIS, MARK_TS_DECL_NON_COMMON): ...and these...
      	* tree.h: ...here.
      	(TREE_CHAIN): Check for a TS_COMMON structure.
      	(TREE_TYPE): Check for a TS_TYPED structure.
      
      gcc/c-family/
      	* c-common.h (c_common_init_ts): Declare.
      	* c-common.c (c_common_init_ts): Define.
      
      gcc/cp/
      	* cp-lang.c (cp_init_ts): Call cp_common_init_ts.  Move
      	tree_contains_struct initialization to...
      	* cp-objcp-common.c (cp_common_init_ts): ...here.  Use MARK_*
      	macros.
      	* cp-objcp-common.h (cp_common_init_ts): Declare.
      	* cp-tree.h (union lang_tree_node): Check for TS_COMMON before
      	calling TREE_CHAIN.
      
      gcc/fortran/
      	* f95-lang.c (union lang_tree_node): Check for TS_COMMON before
      	calling TREE_CHAIN.
      
      gcc/go/
      	* go-lang.c (union lang_tree_node): Check for TS_COMMON before
      	calling TREE_CHAIN.
      
      gcc/java/
      	* java-tree.h (union lang_tree_node): Check for TS_COMMON before
      	calling TREE_CHAIN.
      
      gcc/lto/
      	* lto-tree.h (union lang_tree_node): Check for TS_COMMON before
      	calling TREE_CHAIN.
      	* lto.c (lto_fixup_common): Likewise.
      
      gcc/objc/
      	* objc-lang.c (objc_init_ts): Move code for this function...
      	* objc-act.c (objc_common_init_ts): ...here. Define.
      	* objc-act.h (objc_common_init_ts): Declare.
      
      gcc/objcp/
      	* objcp-lang.c (objcxx_init_ts): Call objc_common_init_ts and
      	cp_common_init_ts.
      
      From-SVN: r172359
      Nathan Froyd committed
  7. 20 Oct, 2010 1 commit
    • In gcc/: 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com> · 977e30bc
      In gcc/:
      2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              * c-decl.c (c_write_global_declarations): Call
              objc_write_global_declarations when compiling Objective-C.
              * c-lang.c (finish_file): Removed.
      
      In gcc/c-family/:
      2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              * c-common.h (finish_file): Removed.
              (objc_write_global_declarations): New.
              * c-opts.c (c_common_parse_file): Do not call finish_file.
              * stub-objc.c (objc_write_global_declarations): New.
      
      In gcc/cp/:
      2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              * cp-lang.c (finish_file): Removed.
              * decl2.c (cp_write_global_declarations): Call
              objc_write_global_declarations when compiling Objective-C++.
      
      In gcc/objc/:
      2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              * objc-lang.c (finish_file): Removed.
              * objc-act.c (objc_finish_file): Renamed to
              objc_write_global_declarations.  Do not try to instantiate C++
              templates when compiling Objective-C++ as this is now
              automatically done before this function is called.  Do not check
              for syntax-only run or PCH generation as this is done by the
              callers.
              * objc-act.h (objc_finish_file): Removed.
      
      In gcc/objcp/:
      2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              * objcp-lang.c (finish_file): Removed.
      
      In gcc/testsuite/:
      2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              Merge from 'apple/trunk' branch on FSF servers.  Test adapted to
              not require Foundation and run with the GNU runtime as well.
      
              2006-03-13  Fariborz Jahanian <fjahanian@apple.com>
      
              Radar 4439126
              * obj-c++.dg/template-8.mm: New.
      
      From-SVN: r165714
      Nicola Pero committed
  8. 05 Jun, 2010 1 commit
    • c-common.c: Move to c-family/. · 39dabefd
      gcc/ChangeLog:
      	* c-common.c: Move to c-family/.
      	* c-common.def: Likewise.
      	* c-common.h: Likewise.
      	* c-cppbuiltin.c: Likewise.
      	* c-dump.c: Likewise.
      	* c-format.c: Likewise.
      	* c-format.h : Likewise.
      	* c-gimplify.c: Likewise.
      	* c-lex.c: Likewise.
      	* c-omp.c: Likewise.
      	* c.opt: Likewise.
      	* c-opts.c: Likewise.
      	* c-pch.c: Likewise.
      	* c-ppoutput.c: Likewise.
      	* c-pragma.c: Likewise.
      	* c-pragma.h: Likewise.
      	* c-pretty-print.c: Likewise.
      	* c-pretty-print.h: Likewise.
      	* c-semantics.c: Likewise.
      	* stub-objc.c: Likewise.
      
      	* gengtype.c (get_file_langdir): Special-case files in c-family/.
      	(get_output_file_with_visibility): Fix name for c-common.h.
      	* c-config-lang.in: Update paths in gtfiles for files in c-family/.
      
      	* c-tree.h: Update include path for moved files.
      	* c-lang.c: Likewise.
      	* c-lang.h: Likewise.
      	* c-parser.c: Likewise.
      	* c-convert.c: Likewise.
      	* c-decl.c: Likewise.
      	* c-objc-common.c: Likewise.
      	* configure.ac: Make sure c-family/ exists in the build directory.
      	* configure: Regenerate.
      	* Makefile.in: Update paths for moved files.  Regroup files per
      	location and update dependencies.  Move generated_files down after
      	ALL_GTFILES_H.
      
      	* config/spu/spu-c.c: Update paths for moved files.
      	* config/mep/mep-pragma.c: Likewise.
      	* config/darwin-c.c: Likewise.
      	* config/i386/msformat-c.c: Likewise.
      	* config/i386/i386-c.c: Likewise.
      	* config/avr/avr-c.c: Likewise.
      	* config/sol2-c.c: Likewise.
      	* config/ia64/ia64-c.c: Likewise.
      	* config/rs6000/rs6000-c.c: Likewise.
      	* config/arm/arm.c: Likewise.
      	* config/arm/arm-c.c: Likewise.
      	* config/h8300/h8300.c: Likewise.
      	* config/v850/v850-c.c: Likewise.
      
      	* config/t-darwin: Fix dependencies for moved files.
      	* config/t-sol2: Fix dependencies for moved files.
      	* config/mep/t-mep: Fix dependencies for moved files.
      	* config/ia64/t-ia64: Fix dependencies for moved files.
      	* config/rs6000/t-rs6000: Fix dependencies for moved files.
      	* config/v850/t-v850: Fix dependencies for moved files.
      	* config/v850/t-v850e: Fix dependencies for moved files.
      
      	* config/m32c/m32c-pragma.c
      
      	* po/exgettext: Look in c-family/ also.
      
      c-family/ChangeLog:
      	* c-common.c: Include gt-c-family-c-common.h.
      	* c-pragma.c: Include gt-c-family-c-pragma.h.
      
      objc/ChangeLog:
      	* objc-act.c: Update include path for moved files.
      	* objc-lang.c: Likewise.
      	* config-lang.in: Update paths in gtfiles for files in c-family/.
      
      objcp/ChangeLog:
      	* objcp-lang.c: Update include path for moved files.
      	* config-lang.in: Update paths in gtfiles for files in c-family/.
      
      cp/ChangeLog:
      	* typeck.c: Update include path for moved files.
      	* decl.c: Likewise.
      	* rtti.c: Likewise.
      	* cp-gimplify.c: Likewise.
      	* cp-lang.c: Likewise.
      	* pt.c: Likewise.
      	* semantics.c: Likewise.
      	* cxx-pretty-print.h: Likewise.
      	* decl2.c: Likewise.
      	* parser.c: Likewise.
      	* cp-objcp-common.c: Likewise.
      	* cp-tree.h: Likewise.
      	* name-lookup.c: Likewise.
      	* lex.c: Likewise.
      	* name-lookup.h: Likewise.
      	* config-lang.in: Update paths in gtfiles for files in c-family/.
      	* Make-lang.in: Likewise.
      
      From-SVN: r160330
      Steven Bosscher committed
  9. 27 May, 2010 1 commit
    • diagnostic-core.h: New. · 1da2ed5f
      	* diagnostic-core.h: New.  Contents moved from diagnostic.h and
      	toplev.h.
      	* diagnostic.c: Don't include toplev.h.
      	(progname): Define.  Moved from toplev.c.
      	(seen_error): New function.
      	* diagnostic.h: Include diagnostic-core.h.
      	(diagnostic_t, emit_diagnostic): Don't declare here.
      	* toplev.c (progname): Move to toplev.c.
      	(emit_debug_global_declarations, compile_file, finalize,
      	do_compile, toplev_main): Use seen_error.
      	* toplev.h: Include diagnostic-core.h.
      	(trim_filename, GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG,
      	internal_error, warning, warning_at, error, error_n, error_at,
      	fatal_error, pedwarn, permerror, sorry, inform, inform_n,
      	verbatim, fnotice, progname): Move to diagnostic-core.h.
      	* builtins.c: Include diagnostic-core.h instead of diagnostic.h.
      	(expand_builtin_expect): Use seen_error.
      	* c-decl.c: Include diagnostic-core.h instead of diagnostic.h.
      	(c_make_fname_decl, c_write_global_declarations): Use seen_error.
      	* c-format.c: Include diagnostic-core.h instead of diagnostic.h.
      	* c-gimplify.c: Include diagnostic-core.h instead of diagnostic.h.
      	* c-lang.c: Include diagnostic-core.h instead of diagnostic.h.
      	* c-lex.c (c_lex_with_flags, interpret_float): Don't increment
      	errorcount for errors.
      	* c-opts.c (c_common_finish): Use seen_error.
      	* cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
      	* cgraphunit.c (verify_cgraph_node, verify_cgraph,
      	cgraph_output_pending_asms, cgraph_optimize): Use seen_error.
      	* coverage.c: Include diagnostic-core.h instead of diagnostic.h.
      	(get_coverage_counts): Use seen_error.
      	* dwarf2out.c (dwarf2out_finish): Use seen_error.
      	* gimplify.c (gimplify_var_or_parm_decl, gimple_push_cleanup,
      	gimplify_body): Use seen_error.
      	* ipa-inline.c (cgraph_early_inlining): Use seen_error.
      	* ipa-pure-const.c (gate_pure_const): Use seen_error.
      	* ipa-reference.c (gate_reference): Use seen_error.
      	* jump.c: Include diagnostic-core.h instead of diagnostic.h.
      	* lambda-code.c: Include diagnostic-core.h instead of
      	diagnostic.h.
      	* lto-cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
      	* lto-compress.c: Include diagnostic-core.h instead of
      	diagnostic.h.
      	* lto-section-in.c: Include diagnostic-core.h instead of
      	diagnostic.h.
      	* lto-streamer-out.c: Include diagnostic-core.h instead of
      	diagnostic.h.
      	* lto-streamer.c: Include diagnostic-core.h instead of
      	diagnostic.h.
      	(gate_lto_out): Use seen_error.
      	* matrix-reorg.c: Include diagnostic-core.h instead of
      	diagnostic.h.
      	* omega.c: Include diagnostic-core.h instead of diagnostic.h.
      	* omp-low.c: Include diagnostic-core.h instead of diagnostic.h.
      	(gate_expand_omp, lower_omp_1): Use seen_error.
      	* passes.c: Include diagnostic-core.h instead of diagnostic.h.
      	(rest_of_decl_compilation, rest_of_type_compilation,
      	gate_rest_of_compilation, ipa_write_summaries): Use seen_error.
      	* tree-cfg.c (label_to_block_fn): Use seen_error.
      	* tree-inline.c (optimize_inline_calls): Use seen_error.
      	* tree-mudflap.c (mudflap_finish_file): Use
      	seen_error.
      	* tree-optimize.c (gate_all_optimizations,
      	gate_all_early_local_passes, gate_all_early_optimizations): Use
      	seen_error.
      	* tree-ssa-structalias.c (gate_ipa_pta): Use seen_error.
      	* varpool.c: Include diagnostic-core.h instead of diagnostic.h.
      	(varpool_remove_unreferenced_decls,
      	varpool_assemble_pending_decls): Use seen_error.
      	* Makefile.in (DIAGNOSTIC_CORE_H): Define.
      	(TOPLEV_H, DIAGNOSTIC_H): Update.
      	(c-decl.o, c-lang.o, c-format.o, lto-compress.o, lto-cgraph.o,
      	lto-streamer-out.o, lto-section-in.o, lto-streamer.o,
      	c-gimplify.o, omp-low.o, omega.o, diagnostic.o, passes.o,
      	builtins.o, jump.o, cgraph.o, varpool.o, matrix-reorg.o,
      	coverage.o, lambda-code.o): Update dependencies.
      
      cp:
      	* call.c: Include diagnostic-core.h instead of diagnostic.h.
      	* cp-lang.c: Don't include diagnostic.h
      	* name-lookup.c: Include diagnostic-core.h instead of
      	diagnostic.h.
      	(cp_emit_debug_info_for_using): Use seen_error.
      	* optimize.c: Include diagnostic-core.h instead of diagnostic.h.
      	* parser.c: Include diagnostic-core.h instead of diagnostic.h.
      	* pt.c (iterative_hash_template_arg): Use seen_error.
      	* repo.c: Include diagnostic-core.h instead of diagnostic.h.
      	* typeck2.c: Include diagnostic-core.h instead of diagnostic.h.
      	* Make-lang.in (cp/cp-lang.o, cp/typeck2.o, cp/call.o, cp/repo.o,
      	cp/optimize.o, cp/parser.o, cp/name-lookup.o): Update
      	dependencies.
      
      lto:
      	* lto.c: Include diagnostic-core.h instead of diagnostic.h.
      	(read_cgraph_and_symbols, lto_main): Use seen_error.
      	* Make-lang.in (lto/lto.o): Update dependencies.
      
      objc:
      	* objc-act.c: Include diagnostic-core.h instead of diagnostic.h.
      	* Make-lang.in (objc/objc-act.o): Update dependencies.
      
      From-SVN: r159947
      Joseph Myers committed
  10. 15 May, 2010 1 commit
    • vecir.h: New file with VEC primitives for tree, gimple, and rtl. · f4ce02c5
      gcc/ChangeLog
      	* vecir.h: New file with VEC primitives for tree, gimple, and rtl.
      	* Makefile.in: Add it.
      	Fix all other Makefile dependencies for changes below.
      	* tree.h: Include it instead of defining VEC primitives here.
      	* gimple.h: Likewise.
      	* rtl.h: Likewise.
      	* tree-inline.h: Inlclude vecir.h instead of gimple.h.
      	* except.h: Include vecir.h, break dependence on tree.h.
      
      	* gimplify.c (append_to_statement_list_1, append_to_statement_list):
      	Move from here...
      	* tree-iterator.c: ...to here.
      	* tree-iterator.h: Fix file introduction comment.  Add extern markers.
      
      	* c-lex.c: Include fixed-value.h instead of rtl.h.  Do not include
      	tm_p.h.
      	* c-cppbuiltin.c: Explain why debug.h and tm_p.h are included.
      	* c-objc-common.h: Do not include tm.h, rtl.h, insn-config.h,
      	integrate.h, function.h, toplev.h, tree-inline.h, ggc.h,
      	tree-mudflap.h, and target.h.
      	* c-semantics.c: Do not include except.h, ggc.h, rtl.h, timevar.h,
      	predict.h, tree-inline.h, gimple.h, and langhooks.h.
      	* c-decl.c: Do not include expr.h, ggc.h, libfuncs.h, except.h.
      	Add FIXME for why gimple.h is still included (should be unnecessary
      	since GCC 4.5 gimplification unit-at-a-time).
      	* c-typeck.c: Do not include rtl.h, tm_p.h, ggc.h, and gimple.h.
      	* c-pragma.c: Add FIXME for why function.h needs to be included just
      	for cfun, at front-end level.
      	Add note that REGISTER_TARGET_PRAGMAS should probably be a target hook.
      	Do not include ggc.h, but include vecprim.h for VEC(char).
      	* c-opts.c: Do not include tm.h, tree-inline.h, and tm_p.h.
      	Explain why target.h is included.
      	* c-omp.h: Do not include tm.h, function.h, and bitmap.h.
      	Explain why gimple.h is included.
      	* c-ppoutput.c: Do not include tm.h.
      	* c-common.c: Do not include gimple.h.  Explain why expr.h is included.
      	* c-parses.c: Explain why rtl.h is included, and that this (and only
      	this) is also why tm.h must be included.
      	Do not include except.h.
      	* c-lang.c: Do not include ggc.h.
      
      cp/ChangeLog
      	* decl.c: Include tree-iterator.h, as fixup for tree-inline.h changes.
      	* Make-lang.in: Fix dependencies accordingly.
      
      From-SVN: r159442
      Steven Bosscher committed
  11. 03 Sep, 2009 1 commit
    • [multiple changes] · 4537ec0c
      2009-09-01  Diego Novillo  <dnovillo@google.com>
      
      	* c-lang.c (lang_hooks): Remove const qualifier.
      
      java/ChangeLog
      
      	* lang.c (lang_hooks): Remove const qualifier.
      
      objc/ChangeLog
      
      	* objc-lang.c (lang_hooks): Remove const qualifier.
      
      objcp/ChangeLog
      
      	* objcp-lang.c (lang_hooks): Remove const qualifier.
      
      ada/ChangeLog
      
      	* gcc-interface/misc.c (lang_hooks): Remove const qualifier.
      
      fortran/ChangeLog
      
      	* f95-lang.c (lang_hooks): Remove const qualifier.
      
      cp/ChangeLog
      
      	* cp-lang.c (lang_hooks): Remove const qualifier.
      
      2009-09-01  Diego Novillo  <dnovillo@google.com>
      
      	* cgraph.c (cgraph_node_for_decl): New.
      	* cgraph.h (cgraph_node_for_decl): Declare.
      	* tree.c (host_integerp): Return 0 if T is NULL.
      
      
      2009-09-01  Diego Novillo  <dnovillo@google.com>
      
      	* tree.h (struct alias_pair): Move from varasm.c.
      	(alias_pairs): Likewise.
      	(TYPE_MAXVAL): Define.
      	(TYPE_MINVAL): Define.
      	(iterative_hash_host_wide_int): Declare.
      	(remove_unreachable_alias_pairs): Declare.
      	* tree-pass.h (pass_ipa_free_lang_data): Declare.
      	* diagnostic.c (default_diagnostic_starter): Make extern.
      	(default_diagnostic_finalizer): Make extern.
      	* diagnostic.h (default_diagnostic_starter): Declare.
      	(default_diagnostic_finalizer): Declare.
      	(default_tree_printer): Declare.
      	* toplev.c (default_tree_printer): Make extern.
      
      
      2009-09-01  Richard Guenther  <rguenther@suse.de>
      	    Diego Novillo  <dnovillo@google.com>
      
      	* cgraph.c (cgraph_add_new_function): Remove gimplification.
      	* cgraphunit.c (cgraph_expand_function): Do not emit
      	associated thunks from here.
      	(cgraph_emit_thunks): New.
      	(cgraph_optimize): Call it.
      	Return if any IPA pass finds an error.
      	* varasm.c (finish_aliases_1): Ignore errorneous aliases used
      	by thunks.
      
      
      2009-09-01  Simon Baldwin  <simonb@google.com>
      	    Rafael Espindola  <espindola@google.com>
      	    Richard Guenther  <rguenther@suse.de>
      	    Doug Kwan  <dougkwan@google.com>
      	    Diego Novillo  <dnovillo@google.com>
      
      	* tree.c: Include tree-pass.h, langhooks-def.h,
      	diagnostic.h, cgraph.h, timevar.h, except.h and debug.h.
      	(free_lang_data_in_type): New.
      	(need_assembler_name_p): New.
      	(free_lang_data_in_block): New.
      	(free_lang_data_in_decl): New.
      	(struct free_lang_data_d): New.
      	(add_tree_to_fld_list): New.
      	(find_decls_types_r): New.
      	(get_eh_types_for_runtime): New.
      	(find_decls_types_in_eh_region): New.
      	(find_decls_types_in_node): New.
      	(find_decls_types_in_var): New.
      	(free_lang_data_in_cgraph): New.
      	(free_lang_data): New.
      	(gate_free_lang_data): New.
      	(pass_ipa_free_lang_data): New.
      
      2009-09-01  Diego Novillo  <dnovillo@google.com>
      
      	* timevar.def (TV_IPA_FREE_LANG_DATA): Define.
      	* langhooks.h (struct lang_hooks): Add field free_lang_data.
      	(lang_hooks): Remove const qualifier.
      	* ipa.c (cgraph_remove_unreachable_nodes): Call
      	remove_unreachable_alias_pairs.
      	* except.c (add_type_for_runtime): Check if TYPE has
      	already been converted.
      	(lookup_type_for_runtime): Likewise.
      	(check_handled): Handle converted types.
      	* varasm.c (remove_unreachable_alias_pairs): New.
      	* gimple.c: Include demangle.h.
      	(gimple_decl_printable_name): New.
      	(gimple_fold_obj_type_ref): New.
      	* gimple.h (gimple_decl_printable_name): Declare.
      	(gimple_fold_obj_type_ref): Declare.
      	* passes.c (init_optimization_passes): Add pass
      	pass_ipa_free_lang_data.
      	* langhooks-def.h (LANG_HOOKS_FREE_LANG_DATA): Define.
      	(LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_FREE_LANG_DATA.
      
      testsuite/ChangeLog
      
      2009-09-01  Diego Novillo  <dnovillo@google.com>
      
      	* gcc.dg/gomp/combined-1.c: Adjust expected pattern.
      	* g++.dg/tree-prof/inline_mismatch_args.C: Likewise.
      	* g++.dg/warn/unit-1.C: Likewise.
      	* g++.dg/ipa/iinline-1.C: Likewise.
      	* g++.dg/template/cond2.C: Adjust expected line location for the
      	error.
      	* g++.dg/template/pr35240.C: Likewise.
      
      
      cp/ChangeLog
      
      2009-09-01  Doug Kwan  <dougkwan@google.com>
      
      	* tree.c (cp_fix_function_decl_p): New.
      	(cp_free_lang_data): New.
      
      2009-09-01  Diego Novillo  <dnovillo@google.com>
      
      	* Make-lang.in (decl2.o): Add dependency on $(POINTER_SET_H).
      	* decl2.c: Include pointer-set.h.
      	(collect_candidates_for_java_method_aliases): New.
      	(cp_write_global_declarations): Call it.
      	Add local variable CANDIDATES.  If set, call
      	build_java_method_aliases.
      	(build_java_method_aliases): Add argument CANDIDATES.
      	Use it to determine if FNDECL should get a hidden alias.
      	* cp-objcp-common.h (LANG_HOOKS_FREE_LANG_DATA): Define.
      	* cp-tree.h (cp_free_lang_data): Declare.
      
      2009-09-03  Richard Guenther  <rguenther@suse.de>
      
      	* method.c (use_thunk): Use cgraph_finalize_function to hand
      	off thunks to the cgraph.
      	* semantics.c (emit_associated_thunks): Do not emit thunks
      	for really extern functions.
      
      From-SVN: r151360
      Diego Novillo committed
  12. 20 Feb, 2009 1 commit
  13. 21 Jun, 2008 1 commit
    • tree.h (enum tree_code): Include all-tree.def, not tree.def. · c0ed0531
      	* tree.h (enum tree_code): Include all-tree.def, not tree.def.
      	Define END_OF_BASE_TREE_CODES around inclusion.
      	* tree.c (tree_code_type): New global array.
      	(tree_code_length, tree_code_name): Likewise.
      	* Makefile.in (TREE_H): Add all-tree.def, c-common.def, and
      	$(lang_tree_files).
      	(all-tree.def, s-alltree): New targets.
      	(gencheck.h, s-gencheck): Remove.
      	(tree.o): Depend upon all-tree.def.
      	(build/gencheck.o): Remove gencheck.h dependency.
      	(mostlyclean): Don't remove gencheck.h.
      	* c-common.h (enum c_tree_code): Remove.
      	* c-lang.c (tree_code_type): Remove.
      	(tree_code_length, tree_code_name): Remove.
      	* gencheck.c (tree_codes): Include all-tree.def, rather than
      	tree.def, c-common.def, and gencheck.h.  Undefined DEFTREECODE
      	after it is used.
      	* tree-browser.c (tb_tree_codes): Include all-tree.def, rather
      	than tree.def.
      	* cp/cp-tree.h (enum cplus_tree_code): Remove.
      	(operator_name_info): Size to MAX_TREE_CODES.
      	(assignment_operator_name_info): Likewise.
      	* cp/cp-lang.c (tree_code_type): Remove.
      	(tree_code_length, tree_code_name): Remove.
      	* cp/lex.c (operator_name_info): Size to MAX_TREE_CODES.
      	(assignment_operator_name_info): Likewise.
      	* cp/decl.c (grok_op_properties): Change LAST_CPLUS_TREE_CODE to
      	MAX_TREE_CODES.
      	* cp/mangle.c (write_expression): Likewise.
      	* cp/Make-lang.in (CXX_TREE_H): Remove cp/cp-tree.def.
      	* fortran/f95-lang.c (tree_code_type): Remove.
      	(tree_code_length, tree_code_name): Remove.
      	* java/java-tree.h (enum java_tree_code): Remove.
      	* java/lang.c (tree_code_type): Remove.
      	(tree_code_length, tree_code_name): Remove.
      	* java/Make-lang.in (JAVA_TREE_H): Remove java/java-tree.def.
      	* objc/objc-act.h (enum objc_tree_code): Remove.
      	* objc/objc-lang.c (tree_code_type): Remove.
      	(tree_code_length, tree_code_name): Remove.
      	* objcp/objcp-lang.c (tree_code_type): Remove.
      	(tree_code_length, tree_code_name): Remove.
      	* ada/ada-tree.h (enum gnat_tree_code): Remove.
      	* ada/Make-lang.in (ADA_TREE_H): Remove ada/ada-tre.def.
      	* ada/misc.c (tree_code_type): Remove.
      	(tree_code_length, tree_code_name): Remove.
      
      From-SVN: r137006
      Ian Lance Taylor committed
  14. 26 Jul, 2007 1 commit
  15. 30 Jun, 2005 1 commit
    • pretty-print.h (PP_NL_ARGMAX): New. · 39ce81c9
      gcc:
      	* pretty-print.h (PP_NL_ARGMAX): New.
      	(text_info): Add locus.
      	(struct chunk_info): New.
      	(output_buffer): Add formatted_obstack, chunk_obstack, and
      	cur_chunk_array. Change obstack to a pointer.
      	(pp_wrapping_mode_t, pp_wrapping_mode, pp_set_verbatim_wrapping): New.
      	(struct pretty_print_info): Replace ideal_maximum_length and
      	prefixing_rule with wrapping.
      	(pp_line_cutoff, pp_prefixing_rule): Update to match.
      	Update prototypes and wrapper macros throughout.
      	* pretty-print.c (pp_formatted_text_data, pp_append_r)
      	(pp_base_clear_output_area, pp_construct, pp_base_formatted_text)
      	(pp_base_last_position_in_text, pp_base_newline, pp_base_character):
      	Update for changes to pp structure.
      	(pp_base_prepare_to_format, pp_base_format_text): Delete.
      	(pp_base_format, pp_base_output_formatted_text): New functions.
      	(pp_base_format_verbatim): Use pp_set_verbatim_wrapping.
      	(pp_verbatim): Clear text.locus.
      	(pp_printf): Likewise.  Use pp_format and pp_output_formatted_text.
      	* c-objc-common.c (c_tree_printer): Update function signature.
      	* diagnostic.c (diagnostic_initialize): Update for changes to
      	pp structure.
      	(diagnostic_report_diagnostic): Call pp_format and then
      	pp_output_formatted_text.
      	(verbatim): Clear text.locus.
      	* diagnostic.h (diagnostic_prefixing_rule, diagnostic_line_cutoff):
      	Update for changes to pp structure.
      
      	* c-lang.c: No need to include c-pretty-print.h.
      	* Makefile.in: Remove bogus line containing only a tab.
      	(c-lang.o): Update dependencies.
      	* toplev.c (announce_function): Don't use verbatim.
      	(default_tree_printer): Update signature.
      
      	* objc/objc-lang.c: No need to include c-pretty-print.h.
      	* objc/Make-lang.in: Update dependencies.
      
      gcc/cp:
      	* cp-lang.c: No need to include cxx-pretty-print.h.
      	* error.c (cp_printer): Update signature.  No need to process
      	flags.
      	(print_instantiation_partial_context): Output last newline
      	with pp_base_newline.
      	* Make-lang.in: Update dependencies.
      
      gcc/objcp:
      	* objcp-lang.c: No need to include cxx-pretty-print.h.
      	* Make-lang.in: Update dependencies.
      
      Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
      
      From-SVN: r101481
      Zack Weinberg committed
  16. 25 Jun, 2005 1 commit
  17. 18 Jan, 2005 1 commit
    • basic-block.h, [...]: Update copyright. · ad616de1
      	* basic-block.h, c-common.c, c-cppbuiltin.c, c-lang.c,
      	c-tree.h, cfgbuild.c, cgraph.c, cgraph.h, collect2.c,
      	combine.c, config.gcc, coverage.h, cse.c, cselib.c,
      	defaults.h, df.c, dwarf2asm.c, dwarf2out.c, explow.c, expr.c,
      	flow.c, fold-const.c, gcse.c, ggc-page.c, gimple-low.c,
      	gimplify.c, ifcvt.c, langhooks-def.h, lcm.c, optabs.h,
      	output.h, postreload-gcse.c, postreload.c, recog.c,
      	resource.c, rtl.def, rtlanal.c, sched-deps.c, sched-rgn.c,
      	targhooks.h, toplev.c, tree-data-ref.c, tree-eh.c,
      	tree-flow.h, tree-loop-linear.c, tree-mudflap.h, tree-nrv.c,
      	tree-optimize.c, tree-outof-ssa.c, tree-pass.h,
      	tree-scalar-evolution.c, tree-ssa-copy.c, tree-ssa-dce.c,
      	tree-ssa-dse.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c,
      	tree-ssa-pre.c, tree-ssa.c, tree-vectorizer.c, tree.def,
      	unwind-dw2-fde-darwin.c, var-tracking.c: Update copyright.
      
      From-SVN: r93827
      Kazu Hirata committed
  18. 02 Jan, 2005 1 commit
    • re PR c/19031 (#pragma weak handling changes in 4.0.0) · bedb9fc0
              PR c/19031
              * c-decl.c (pop_file_scope): Call maybe_apply_pending_pragma_weaks.
              * c-lang.c (finish_file): Don't do it here.
              * objc/objc-act.c (objc_finish_file): Likewise.
      
              * cgraph.c (decl_assembler_name_equal): New.
              (cgraph_node_for_asm, cgraph_varpool_node_for_asm): New.
              (cgraph_varpool_node): Actually link up cgraph_varpool_nodes.
              * cgraph.h (struct cgraph_varpool_node): Add next.
              (cgraph_node_for_asm, cgraph_varpool_node_for_asm): Declare.
              * varasm.c (assemble_alias): Mark the target as needed.
      
      From-SVN: r92803
      Richard Henderson committed
  19. 29 Nov, 2004 1 commit
    • [multiple changes] · 86f029aa
      2004-11-29  Daniel Jacobowitz  <dan@codesourcery.com>
      
      	PR c/7544
      	* Makefile.in (c-lang.o): Update dependencies.
      	* c-lang.c: Include "c-pragma.h".
      	(finish_file): Call maybe_apply_pending_pragma_weaks.
      	* c-pragma.c (maybe_apply_pending_pragma_weaks): New function.
      	* c-pragma.h (maybe_apply_pending_pragma_weaks): New prototype.
      
      cp:
      2004-11-29  Daniel Jacobowitz  <dan@codesourcery.com>
      
      	* Make-lang.in (cp/decl2.o): Update dependencies.
      	* decl2.c (finish_file): Call maybe_apply_pending_pragma_weaks.
      
      objc:
      2004-11-29  Joseph Myers  <joseph@codesourcery.com>
      
      	* Make-lang.in (objc/objc-act.o): Update dependencies.
      	* objc-act.c (objc_finish_file): Call
      	maybe_apply_pending_pragma_weaks if not OBJCPLUS.
      
      testsuite:
      2004-11-29  Joseph Myers  <joseph@codesourcery.com>
      
      	* g++.dg/ext/weak1.C, gcc.dg/weak/weak-10.c, objc.dg/weak-1.m: New
      	tests.
      
      From-SVN: r91479
      Joseph Myers committed
  20. 02 Nov, 2004 1 commit
    • c-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove. · 65958285
      [gcc/ChangeLog]
      2004-11-02  Ziemowit Laski  <zlaski@apple.com>
      
      	* c-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.
      	(c_types_compatible_p): Move function definition...
      	* c-objc-common.c (c_types_compatible_p): ...here.
      	* c-objc-common.h (LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from
      	c-lang.c.
      
      [gcc/cp/ChangeLog]
      2004-11-02  Ziemowit Laski  <zlaski@apple.com>
      
      	* cp-lang.c (cxx_types_compatible_p): Remove prototype and definition.
      	(LANG_HOOKS_TYPES_COMPATIBLE_P): Move to cp-objcp-common.h.
      	* cp-objcp-common.c (cxx_types_compatible_p): Moved definition here
      	from cp-lang.c.
      	* cp-objcp-common.h (cxx_types_compatible_p): Moved prototype here
      	from cp-lang.c.
      	(LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from cp-lang.c.
      
      From-SVN: r89997
      Ziemowit Laski committed
  21. 17 Sep, 2004 1 commit
    • alias.c (find_base_decl): Remove unreachable case '3' block. · 6615c446
      2004-09-17  Jeffrey D. Oldham  <oldham@codesourcery.com>
      	    Zack Weinberg  <zack@codesourcery.com>
      
      	* alias.c (find_base_decl): Remove unreachable case '3' block.
      	* expr.c (safe_from_p): Abort if passed a type.
      	* tree-gimple.c (recalculate_side_effects): Abort if passed
      	anything other than an expression.
      	* tree-ssa-pre.c (phi_translate): Return expr immediately if
      	is_gimple_min_invariant is true for it.  Reorder cases for clarity.
      	Abort on un-handled tree classes.
      	(valid_in_set): Likewise.
      	* tree.c (tree_code_class_strings): New static data.
      
      	* tree.h (enum tree_code_class): New.
      	(tree_code_class_strings): Declare.
      	(TREE_CODE_CLASS_STRING, EXCEPTIONAL_CLASS_P, CONSTANT_CLASS_P)
      	(REFERENCE_CLASS_P, COMPARISON_CLASS_P, UNARY_CLASS_P, BINARY_CLASS_P)
      	(STATEMENT_CLASS_P, EXPRESSION_CLASS_P, IS_TYPE_OR_DECL_P): New macros.
      	(TYPE_P, DECL_P, IS_NON_TYPE_CODE_CLASS, IS_EXPR_CODE_CLASS)
      	(checking macros, EXPR_LOCATION, SET_EXPR_LOCATION, EXPR_LOCUS): Update.
      
      	* tree.def, c-common.def, objc/objc-tree.def: Use
      	tree_code_class enumeration constants instead of code letters.
      
      	* alias.c, builtins.c, c-common.c, c-format.c, c-lang.c, c-pragma.c
      	* c-typeck.c, cgraphunit.c, convert.c, dbxout.c, dwarf2out.c
      	* emit-rtl.c expr.c, fold-const.c, gimplify.c, lambda-code.c
      	* langhooks.c, langhooks.h, predict.c, print-tree.c, reload1.c, stmt.c
      	* tree-browser.c, tree-cfg.c, tree-chrec.c, tree-complex.c, tree-dfa.c
      	* tree-dump.c, tree-eh.c, tree-gimple.c, tree-inline.c, tree-nested.c
      	* tree-outof-ssa.c, tree-pretty-print.c, tree-sra.c, tree-ssa-ccp.c
      	* tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-forwprop.c, tree-ssa-live.c
      	* tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c
      	* tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-propagate.c
      	* tree-ssa.c, tree-ssanames.c, tree-tailcall.c, tree.c, varasm.c
      	* config/sol2-c.c, config/arm/arm.c, config/i386/winnt.c
      	* config/pa/pa.c, config/pa/pa.h, config/sh/sh.c, objc/objc-lang.c
      	Update to match.
      
      	* LANGUAGES: Add note about change.
      
      ada:
      	* ada-tree.def: Use tree_code_class enumeration constants
      	instead of code letters.
      	* ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
      	Update for new tree-class enumeration constants.
      
      cp:
      	* cp-tree.def: Use tree_code_class enumeration constants
      	instead of code letters.
      	* call.c, class.c, cp-gimplify.c, cp-lang.c, cxx-pretty-print.c
      	* mangle.c, pt.c, semantics.c, tree.c, typeck.c:
      	Update for new tree-class enumeration constants.
      
      fortran:
      	* f95-lang.c, trans-expr.c, trans.c: Update for new tree-class
      	enumeration constants.
      
      java:
      	* java-tree.def: Use tree_code_class enumeration constants
      	instead of code letters.
      	* java-gimplify.c, jcf-write.c, lang.c, parse.y: Update for
      	new tree-class enumeration constants.
      
      treelang:
      	* treetree.c: Update for new tree-class enumeration constants.
      
      From-SVN: r87675
      Jeffrey D. Oldham committed
  22. 15 Aug, 2004 1 commit
    • Makefile.in (C_PRETTY_PRINT_H): Add c-pretty-print.h. · 9a4d6480
      [gcc/ChangeLog]
      2004-08-15  Ziemowit Laski  <zlaski@apple.com>
      
             * Makefile.in (C_PRETTY_PRINT_H): Add c-pretty-print.h.
             (c-lang.o): Depend on c-objc-common.h.
             (c-objc-common.o): Depend on $(C_PRETTY_PRINT_H) and
             c-objc-common.h; remove duplicate $(C_TREE_H) dependency.
             * c-lang.c: Include c-objc-common.h.
             (LANG_HOOKS_FINISH, LANG_HOOKS_INIT_OPTIONS,
             LANG_HOOKS_INITIALIZE_DIAGNOSTICS, LANG_HOOKS_HANDLE_OPTION,
             LANG_HOOKS_MISSING_ARGUMENT, LANG_HOOKS_POST_OPTIONS,
             LANG_HOOKS_GET_ALIAS_SET, LANG_HOOKS_SAFE_FROM_P,
             LANG_HOOKS_EXPAND_EXPR, LANG_HOOKS_MARK_ADDRESSABLE,
             LANG_HOOKS_PARSE_FILE, LANG_HOOKS_TRUTHVALUE_CONVERSION,
             LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL,
             LANG_HOOKS_STATICP, LANG_HOOKS_SET_DECL_ASSEMBLER_NAME,
             LANG_HOOKS_NO_BODY_BLOCKS, LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL,
             LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_FUNCTION_ENTER_NESTED,
             LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_DUP_LANG_SPECIFIC_DECL,
             LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT,
             LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
             LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
             LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
             LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P,
             LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING,
             LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS,
             LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN,
             LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION, LANG_HOOKS_TYPE_FOR_MODE,
             LANG_HOOKS_TYPE_FOR_SIZE, LANG_HOOKS_SIGNED_TYPE,
             LANG_HOOKS_UNSIGNED_TYPE, LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE,
             LANG_HOOKS_INCOMPLETE_TYPE_ERROR, LANG_HOOKS_TYPE_PROMOTES_TO,
             LANG_HOOKS_REGISTER_BUILTIN_TYPE, LANG_HOOKS_WRITE_GLOBALS):
             Move to c-objc-common.h.
             * c-objc-common.c: Include c-objc-common.h.
             * c-objc-common.h: New file.
      
      [gcc/objc/ChangeLog]
      2004-08-15  Ziemowit Laski  <zlaski@apple.com>
      
             * Make-lang.in (objc/objc-lang.o): Depend on $(C_PRETTY_PRINT_H),
             $(DIAGNOSTIC_H), c-objc-common.h and gtype-objc.h, but not on toplev.h.
             (objc/objc-parse.o): Do not depend on gtype-objc.h.
             * objc-act.c: Do not include gtype-objc.h.
             (finish_file): Rename to objc_finish_file().
             * objc-act.h (finish_file): Update copyright notice; remove prototype.
             * objc-lang.c: Update copyright notice; include diagnostic.h,
             c-objc-common.h, c-pretty-print.h and gtype-objc.h; do not include
             toplev.h.
             (finish_file): New hook routine.
             (LANG_HOOKS_FINISH, LANG_HOOKS_INIT_OPTIONS,
             LANG_HOOKS_INITIALIZE_DIAGNOSTICS, LANG_HOOKS_HANDLE_OPTION,
             LANG_HOOKS_MISSING_ARGUMENT, LANG_HOOKS_POST_OPTIONS,
             LANG_HOOKS_GET_ALIAS_SET, LANG_HOOKS_SAFE_FROM_P,
             LANG_HOOKS_EXPAND_EXPR, LANG_HOOKS_MARK_ADDRESSABLE,
             LANG_HOOKS_PARSE_FILE, LANG_HOOKS_TRUTHVALUE_CONVERSION,
             LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL,
             LANG_HOOKS_STATICP, LANG_HOOKS_SET_DECL_ASSEMBLER_NAME,
             LANG_HOOKS_NO_BODY_BLOCKS, LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL,
             LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_FUNCTION_ENTER_NESTED,
             LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_DUP_LANG_SPECIFIC_DECL,
             LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT,
             LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
             LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
             LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
             LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P,
             LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING,
             LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS,
             LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN,
             LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION, LANG_HOOKS_TYPE_FOR_MODE,
             LANG_HOOKS_TYPE_FOR_SIZE, LANG_HOOKS_SIGNED_TYPE,
             LANG_HOOKS_UNSIGNED_TYPE, LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE,
             LANG_HOOKS_INCOMPLETE_TYPE_ERROR, LANG_HOOKS_TYPE_PROMOTES_TO,
             LANG_HOOKS_REGISTER_BUILTIN_TYPE, LANG_HOOKS_WRITE_GLOBALS):
             Move to c-objc-common.h.
      
      From-SVN: r86037
      Ziemowit Laski committed
  23. 28 Jul, 2004 1 commit
    • c-common.c (c_common_unsafe_for_reeval): Delete. · 9f63daea
      2004-07-28  Eric Christopher  <echristo@redhat.com>
      
      	* c-common.c (c_common_unsafe_for_reeval): Delete.
      	* c-lang.c (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete use.
      	* c-pretty-print.c (pp_c_expression): Delete UNSAVE_EXPR case.
      	* calls.c (fix_unsafe_tree): Delete.
      	(expand_call): Delete code which used above.
      	* dojump.c (do_jump): Delete UNSAVE_EXPR case.
      	* expr.c (expand_expr_real_1): Ditto.
      	* fold-const.c (non_lvalue): Ditto.
      	* langhooks-def.h (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete.
      	(lhd_unsafe_for_reeval): Ditto.
      	* langhooks.c (lhd_unsafe_for_reeval): Ditto.
      	* langhooks.h (unsafe_for_reeval): Ditto.
      	(unsave_expr_now): Adjust comment.
      	* tree-inline.c (copy_body_r): Delete UNSAVE_EXPR bits.
      	(estimate_num_insns_1): Ditto.
      	* tree-pretty-print.c (dump_generic_node): Ditto.
      	* tree.c (expr_align): Ditto.
      	(unsave_expr): Delete.
      	(unsafe_for_reeval): Ditto.
      	* tree.h (unsafe_for_reeval, unsave_expr): Ditto.
      	* tree.def (UNSAVE_EXPR): Delete.
      	* objc/objc-lang.c (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete.
      
      2004-07-28  Eric Christopher  <echristo@redhat.com>
      
      	* cp-lang.c (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete.
      
      2004-07-28  Eric Christopher  <echristo@redhat.com>
      
      	* lang.c (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete.
      	(java_unsafe_for_reeval): Ditto.
      
      From-SVN: r85276
      Eric Christopher committed
  24. 11 Jul, 2004 1 commit
    • langhooks.h (estimate_num_insns, [...]): Remove hooks. · 9dcf6e73
      	* langhooks.h (estimate_num_insns, pushlevel, poplevel, set_block,
      	maybe_build_cleanup, update_decl_after_saving): Remove hooks.
      	* langhooks.c (lhd_clear_binding_stack): Remove.
      	* langhooks-def.h (lhd_clear_binding_stack,
      	LANG_HOOKS_MAYBE_BUILD_CLEANUP,
      	LANG_HOOKS_UPDATE_DECL_AFTER_SAVING,
      	LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS, LANG_HOOKS_PUSHLEVEL,
      	LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
      	(LANG_HOOKS_CLEAR_BINDING_STACK): Define to lhd_do_nothing.
      	* system.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS,
      	LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_SET_BLOCK,
      	LANG_HOOKS_MAYBE_BUILD_CLEANUP,
      	LANG_HOOKS_UPDATE_DECL_AFTER_SAVING, LANG_HOOKS_POPLEVEL): Poison.
      	* tree.h (poplevel): Don't declare.
      	* c-lang.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
      	LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
      	* objc/objc-lang.c (LANG_HOOKS_CLEAR_BINDING_STACK,
      	LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
      	Remove.
      
      ada:
      	* misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
      	LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
      
      cp:
      	* cp-lang.c (LANG_HOOKS_MAYBE_BUILD_CLEANUP, LANG_HOOKS_PUSHLEVEL,
      	LANG_HOOKS_POPLEVEL, LANG_HOOKS_UPDATE_DECL_AFTER_SAVING): Remove.
      	* cp-tree.h (poplevel): Declare.
      	(set_block): Remove.
      	* decl.c (set_block): Remove.
      
      fortran:
      	* f95-lang.c (set_block): Remove.
      	(gfc_clear_binding_stack): New.
      	(LANG_HOOKS_CLEAR_BINDING_STACK): Define.
      	(struct binding_level): Remove block_created_by_back_end.
      	(clear_binding_level): Likewise.
      	(poplevel): Don't handle block_created_by_back_end.
      
      java:
      	* java-tree.h (set_block): Remove.
      	* lang.c (java_clear_binding_stack): New.
      	(LANG_HOOKS_CLEAR_BINDING_STACK): Define.
      	* decl.c (struct binding_level): Remove this_block.
      	(clear_binding_level): Likewise.
      	(poplevel): Don't handle this_block.
      	(set_block): Remove.
      
      treelang:
      	* treetree.c (set_block): Remove.
      	(struct binding_level): Remove block_created_by_back_end.
      	(clear_binding_level): Likewise.
      	(tree_code_create_function_initial,
      	tree_code_create_function_wrapup): Call pushlevel and poplevel
      	directly rather than through hooks.
      	(poplevel): Don't handle block_created_by_back_end.
      
      From-SVN: r84499
      Joseph Myers committed
  25. 08 Jul, 2004 2 commits
    • c-decl.c (static_ctors, [...]): Make static. · 36c1b0de
      	* c-decl.c (static_ctors, static_dtors): Make static.
      	(pop_file_scope): Call c_common_write_pch and
      	cgraph_finalize_compilation_unit here.
      	(build_cdtor): Moved here from c-objc-common.c; simplify.
      	(c_write_global_declarations_1): Clarify comment.
      	(c_write_global_declarations): Close the external scope before
      	doing anything else.  Call build_cdtor, cgraph_optimize, and
      	mudflap_finish_file here.
      	* c-lang.c (finish_file): Don't call c_objc_common_finish_file.
      	Clarify comment.
      	* c-objc-common.c: No need to include cgraph.h.
      	(build_cdtor): Moved to c-decl.c.
      	(c_objc_common_finish_file): Delete.
      	* c-tree.h: Update to match.
      	* objc/objc-act.c (finish_file): Don't call c_objc_common_finish_file.
      	(generate_static_references): Set TREE_USED before calling finish_decl.
      	Eliminate unnecessary dummy declaration.  Call rest_of_decl_compilation
      	on the static_instances_decl.
      
      From-SVN: r84307
      Zack Weinberg committed
    • re PR c/2511 (-pedantic not warning about bitfield overflow) · bc15d0ef
      2004-07-08  Joseph S. Myers  <jsm@polyomino.org.uk>
                  Neil Booth  <neil@daikokuya.co.uk>
      
      	PR c/2511
      	PR c/3325
      	* c-decl.c (finish_struct): Ensure bit-fields are given the
      	correct type.
      	* c-common.c (c_common_signed_or_unsigned_type): For C, require
      	the precision to match as well as the mode.
      	* expr.c (reduce_to_bit_field_precision): New function.
      	(expand_expr_real_1): Reduce expressions of bit-field type to
      	proper precision.
      	* langhooks.h (reduce_bit_field_operations): New hook.
      	* langhooks-def.h (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS):
      	Define.
      	* c-lang.c, objc/objc-lang.c
      	(LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Define.
      	* objc/objc-act.c (check_ivars): Convert types to bit-field types
      	before checking.
      	* tree.c (build_nonstandard_integer_type): New function.
      	* tree.h (build_nonstandard_integer_type): New prototype.
      	* tree-ssa.c (tree_ssa_useless_type_conversion_1): Don't treat
      	conversions between integer and boolean types as useless.
      
      testsuite:
      	* gcc.c-torture/execute/bitfld-1.x: Remove.
      	* gcc.c-torture/execute/bitfld-3.c: New test.
      	* gcc.dg/bitfld-2.c: Remove XFAILs.
      
      Co-Authored-By: Neil Booth <neil@daikokuya.co.uk>
      
      From-SVN: r84279
      Joseph Myers committed
  26. 05 Jul, 2004 1 commit
    • langhooks.c: Don't include gt-langhooks.h. · 6de66680
      	* langhooks.c: Don't include gt-langhooks.h.
      	(var_labelno): Delete.
      	(lhd_set_decl_assembler_name): Do not append a distinguishing
      	number to file-scope internal-linkage declarations for the first
      	input file, even if they have DECL_CONTEXT set.  Use DECL_UID of
      	the declaration itself (if at block scope), or its containing
      	TRANSLATION_UNIT_DECL (if at file scope) for the distinguishing
      	number.
      
      	* opts.c (cur_in_fname): New global.
      	* opts.h: Declare it.
      	* tree.c: Include opts.h.
      	(make_node_stat): If creating a TRANSLATION_UNIT_DECL, give it
      	DECL_UID equal to cur_in_fname.
      	(copy_node_stat): Do not change DECL_UID when copying a
      	TRANSLATION_UNIT_DECL.
      	(build_common_tree_nodes): Adjust next_decl_uid to reserve the
      	range 0 .. num_in_fnames-1 for TRANSLATION_UNIT_DECLs.
      
      	* c-decl.c (c_static_assembler_name): Delete.
      	* c-tree.h (c_static_assembler_name): Delete prototype.
      	* c-lang.c, objc/objc-lang.c: Don't override
      	LANG_HOOKS_SET_DECL_ASSEMBLER_NAME.
      
      	* Makefile.in (tree.o): Update dependencies.
      	(GTFILES): Remove langhooks.c.
      
      cp:
      	* decl.c (cxx_init_decl_processing): Call
      	build_common_tree_nodes before creating the global NAMESPACE_DECL.
      
      From-SVN: r84123
      Zack Weinberg committed
  27. 01 Jul, 2004 1 commit
    • re PR c/1027 (slightly misleading printf format warning) · ede1a387
      	PR c/1027
      	* c-lang.c (c_initialize_diagnostics): Move from here ...
      	* c-objc-common.c: ... to here.  Include "c-pretty-print.h".
      	(c_tree_printer): Use pretty-printer to format %T.
      	* c-pretty-print.c (pp_c_specifier_qualifier_list): Include space
      	before '*' if not C++.
      	(pp_c_direct_abstract_declarator): Don't try to print array upper
      	bound for flexible array members.
      	* c-tree.h: Include "diagnostic.h".
      	(c_initialize_diagnostics): Declare.
      	* objc/objc-lang.c (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Define.
      	* c-format.c (format_type_warning): New function.  Improve
      	diagnostics for incorrect format argument types.
      	(check_format_types): Use it.  Add two parameters.  Use the
      	TYPE_MAIN_VARIANT of wanted_type.
      	(check_format_info_main): Pass new parameters to
      	check_format_types.
      	(struct format_wanted_type): Update comment.
      
      testsuite:
      	* gcc.dg/Wswitch-enum.c, gcc.dg/Wswitch.c,
      	gcc.dg/format/branch-1.c, gcc.dg/format/diag-1.c,
      	gcc.dg/format/multattr-3.c, gcc.dg/format/xopen-1.c: Update
      	expected warning text.
      	* gcc.dg/format/diag-2.c: New test.
      
      From-SVN: r83965
      Joseph Myers committed
  28. 26 Jun, 2004 1 commit
    • c-common.c (c_safe_from_p, [...]): Deleted. · 350fae66
      2004-06-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
      
              * c-common.c (c_safe_from_p, c_walk_subtrees): Deleted.
              * c-common.def (DECL_STMT): Remove.
              * c-common.h (DECL_STMT_DECL): Deleted.
              (COMPOUNT_LITERAL_EXPR_DECL): Use DECL_EXPR_DECL.
              (c_safe_from_p, c_walk_subtrees): Deleted.
              * c-decl.c, c-parse.in, c-pretty-print.c: DECL_STMT now DECL_EXPR.
              * c-dump.c (c_dump_tree, case DECL_STMT): Deleted.
              * c-gimplify.c (gimplify_decl_stmt): Deleted.
              (gimplify_compound_literal_expr): Use DECL_EXPR_DECL
              and gimplify_and_add.
              (c_gimplify_expr, case DECL_EXPR): New case.
              (c_gimplify_expr, case DECL_STMT): Deleted.
              * c-lang.c (LANG_HOOKS_SAFE_FROM_P): Likewise.
              (LANG_HOOKS_TREE_INLINING_WALK_SUBTREES): Likewise.
              * expr.c (safe_from_p, case 's'): New case.
              * gimplify.c (gimplify_decl_expr): New function.
              (gimplify_expr, case DECL_EXPR): New case.
              * tree-inline.c (walk_tree): Walk into all fields of a type and
              decl only if they are in a DECL_EXPR.
              (mark_local_for_remap_r): Minor code cleanup.
              * tree-outof-ssa.c (discover_nonconstant_array_refs_r): Add else.
              * tree.c (has_cleanups, case DECL_EXPR): New case.
              * tree.def (DECL_EXPR): New code.
              * tree.h (DECL_EXPR_DECL): New macro.
      
              * objc/objc-lang.c (LANG_HOOKS_SAFE_FROM_P): Deleted.
      
      From-SVN: r83721
      Richard Kenner committed
  29. 16 Jun, 2004 1 commit
    • c-common.c (lang_gimplify_stmt): Remove next_p argument. · 325c3691
      	* c-common.c (lang_gimplify_stmt): Remove next_p argument.
      	(if_elt, if_stack, if_stack_space, c_expand_start_cond, c_finish_then,
      	c_expand_end_cond, c_expand_start_else, c_finish_else, c_begin_if_stmt,
      	c_begin_while_stmt, c_finish_while_stmt_cond): Move to c-typeck.c.
      	(finish_fname_decls, fname_decl): Use statement_lists.
      	(c_expand_expr_stmt): Don't set last_expr_type.
      	(c_type_hash): Fix indentation.
      	(c_safe_from_p): Don't follow TREE_CHAIN.
      	(c_tree_chain_matters_p): Remove.
      	* c-common.def (SCOPE_STMT): Remove.
      	(CLEANUP_STMT): Redefine to contain its own body.
      	* c-common.h (struct stmt_tree_s): Remove x_last_stmt,
      	x_last_expr_type, x_last_expr_filename, x_scope_stmt_stack.
      	Add x_cur_stmt_list.
      	(last_tree, last_expr_type, last_expr_filename, RECHAIN_STMTS): Remove.
      	(cur_stmt_list): New.
      	(STATEMENT_LIST_STMT_EXPR): New.
      	(SCOPE_BEGIN_P, SCOPE_END_P, SCOPE_STMT_BLOCK, SCOPE_NULLIFIED_P,
      	SCOPE_NO_CLEANUPS_P, SCOPE_PARTIAL_P, NEW_FOR_SCOPE_P): Remove.
      	(CLEANUP_BODY): New.
      	(CLEANUP_DECL): Move to operand 2.
      	(c_common_stmt_codes): Remove SCOPE_STMT.
      	(COMPOUND_STMT_NO_SCOPE, COMPOUND_STMT_BODY_BLOCK): Remove.
      	* c-decl.c (c_scope_stmt_stack, current_scope_stmt_stack): Remove.
      	(c_push_function_context, c_pop_function_context): Don't save it.
      	(finish_decl): Set TREE_USED on the decl for a cleanup.
      	Use push_cleanup.
      	(store_parm_decls): Use statement lists.
      	(finish_function): Remove compstmt rule workaround.  Use statement
      	lists.  Call finish_fname_decls after finalizing the body.
      	(c_begin_compound_stmt): Move to c-typeck.c.
      	* c-dump.c (c_dump_tree): Remove SCOPE_STMT.
      	* c-gimplify.c (gimplify_cleanup_stmt, gimplify_cleanup_stmts): New.
      	(c_genericize): Invoke them.
      	(c_gimplify_stmt): Don't look through TREE_CHAIN.  Kill SCOPE_STMT.
      	(c_build_bind_expr): Export.
      	(gimplify_block, gimplify_cleanup): Remove.
      	(gimplify_condition): Use gimplify_stmt.
      	(gimplify_for_stmt): Remove FOR_INIT_STMT chaining hack.
      	(gimplify_if_stmt): Remove recursion hack.
      	(c_gimplify_expr): Remove STMT_EXPR handling.
      	(stmt_expr_last_stmt, gimplify_stmt_expr): Remove.
      	(is_last_stmt_of_scope): Remove.
      	* c-lang.c (LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P): Remove.
      	* c-mudflap.c (mflang_flush_calls): Use c_begin_compound_stmt,
      	c_end_compound_stmt.
      	* c-objc-common.c (build_cdtor): Likewise.
      	* c-parse.in (primary): Use c_finish_stmt_expr.
      	(push_scope, pop_scope): Remove.
      	(c99_block_start, compstmt_start): Use c_begin_compound_stmt.
      	(c99_block_end, compstmt): Use c_end_compound_stmt.
      	(c99_block_lineno_labeled_stmt): Likewise.
      	(compstmt_primary_start): Use c_begin_stmt_expr.
      	(simple_if, select_or_iter_stmt): Update calls to stmt builders.
      	(do_stmt_start): Fill in body directly.
      	(lineno_stmt): Avoid setting lineno on constants.
      	* c-pretty-print.c (pp_c_statement): Handle STATEMENT_LIST.
      	Remove SCOPE_STMT.
      	* c-semantics.c (begin_stmt_tree): Remove.
      	(push_stmt_list, re_push_stmt_list, pop_stmt_list): New.
      	(add_stmt): Use statement lists.
      	(add_scope_stmt, finish_stmt_tree): Remove.
      	(push_cleanup): New.
      	* c-tree.h: Move some decls from c-common.h.
      	* c-typeck.c (c_tree_expr_nonnegative_p): Simplify for statement lists.
      	(do_case, c_finish_case): Likewise.
      	(c_finish_then): Take body for then as argument.
      	(c_finish_else): Similarly.
      	(c_begin_for_stmt, c_finish_for_stmt_init, c_finish_for_stmt_cond,
      	c_finish_for_stmt_incr, c_finish_for_stmt): New.
      	(c_begin_stmt_expr, c_finish_stmt_expr): New.
      	(c_begin_compound_stmt): Do scope management.
      	(c_end_compound_stmt): New.
      	* fold-const.c (tree_expr_nonnegative_p): Fix BIND_EXPR.
      	* gimplify.c (voidify_wrapper_expr): Accept temporary argument.
      	Look through exception handling constructs.
      	(gimplify_bind_expr): Accept temporary argument.
      	(gimplify_target_expr): Special case BIND_EXPR bodies.
      	(gimplify_expr): Handle fallback == fb_none like a statement.
      	* langhooks-def.h (LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P): Kill.
      	* langhooks.c (lhd_tree_inlining_tree_chain_matters_p): Remove.
      	* langhooks.h (tree_chain_matters_p): Remove.
      	* stub-objc.c (objc_clear_super_receiver): New.
      	* tree-gimple.h (voidify_wrapper_expr): Update decl.
      	(append_to_statement_list, append_to_statement_list_force): Move
      	to tree-iterator.h.
      	* tree-inline.c (expand_call_inline): Update call.
      	(clone_body): Use statement lists.
      	(walk_tree): Don't check tree_chain_matters_p.
      	(copy_tree_r): Likewise.
      	* tree-iterator.c (alloc_stmt_list): Clear lang bits.
      	(tsi_link_before, tsi_link_after): Set TREE_SIDE_EFFECTS properly.
      	* tree-iterator.h (append_to_statement_list,
      	append_to_statement_list_force): Moved from tree-gimple.h.
      	* tree-pretty-print.c (dump_generic_node): Clean up TARGET_EXPR dump.
      	* objc/objc-act.c (build_module_descriptor): Use c_begin_compound_stmt.
      	(objc_enter_block): Likewise.
      	(objc_exit_block): Use c_end_compound_stmt.
      	(objc_build_try_enter_fragment): Add #error and comment for
      	rewriting for OBJCPLUS.
      	(objc_build_extract_fragment, objc_build_try_epilogue,
      	objc_build_catch_stmt, objc_build_finally_prologue,
      	objc_build_finally_epilogue): Update for C statement builders.
      	* objc/objc-lang.c (LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P):
      	Remove.
      cp/
      	* call.c (initialize_reference): Don't build CLEANUP_STMT here.
      	* cp-gimplify.c (cp_gimplify_stmt): Remove next_p argument.
      	(genericize_try_block): Use gimplify_stmt.
      	(genericize_catch_block, genericize_eh_spec_block): Likewise.
      	(cp_gimplify_init_expr): Remove STMT_EXPR special case.
      	(gimplify_must_not_throw_expr): Update voidify_wrapper_expr call.
      	* cp-lang.c (LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P): Remove.
      	(cp_tree_chain_matters_p): Remove.
      	* cp-tree.h (COMPOUND_STMT_TRY_BLOCK): New.
      	(COMPOUND_STMT_BODY_BLOCK): New.
      	(STATEMENT_LIST_NO_SCOPE, STATEMENT_LIST_TRY_BLOCK): New.
      	(EXPR_STMT_STMT_EXPR_RESULT): New.
      	(building_stmt_tree): Check cur_stmt_list.
      	(tf_stmt_expr_cmpd, tf_stmt_expr_body): Remove.
      	(BCS_NO_SCOPE, BCS_TRY_BLOCK, BCS_FN_BODY): New.
      	* decl.c (poplevel): Use pop_stmt_list for minding cleanups.
      	(cp_finish_decl): Use push_cleanup.
      	(start_function, finish_function): Use statement lists.
      	(finish_stmt): Do nothing.
      	* except.c (begin_eh_spec_block): Use statement lists.
      	(check_handlers_1, check_handlers): Likewise.
      	* init.c (construct_virtual_base): Don't add extra compound stmts.
      	(build_vec_init): Likewise.
      	* name-lookup.c (maybe_push_cleanup_level): Use statement lists.
      	* name-lookup.h (struct cp_binding_level): Add statement_list.
      	* parser.c (cp_parser_statement): Take the STMT_EXPR node, not a bool.
      	(cp_parser_labeled_statement, cp_parser_expression_statement,
      	cp_parser_statement_seq_opt): Likewise.
      	(cp_parser_compound_statement): Likewise.  Take bool for try block.
      	(cp_parser_selection_statement): Tidy if processing.
      	(cp_parser_already_scoped_statement): Rewrite to do what it says.
      	* pt.c (tsubst_copy): Move STMT_EXPR to tsubst_expr.
      	(tsubst_expr): Rewrite STMT_EXPR processing.  Handle STATEMENT_LIST.
      	Mind COMPOUND_STMT_TRY_BLOCK, EXPR_STMT_STMT_EXPR_RESULT.
      	* semantics.c (do_poplevel, do_pushlevel): Use statement lists.
      	(finish_cond): New, rewritten from FINISH_COND.
      	(simplify_loop_decl_cond): New.
      	(finish_expr_stmt): Avoid nested EXPR_STMTs.
      	(begin_if_stmt, finish_if_stmt_cond, finish_then_clause,
      	begin_else_clause, finish_else_clause, finish_if_stmt,
      	begin_while_stmt, finish_while_stmt_cond, finish_while_stmt,
      	begin_do_stmt, finish_do_body, begin_for_stmt, finish_for_init_stmt,
      	finish_for_cond, finish_for_stmt, begin_switch_stmt,
      	finish_switch_cond, finish_switch_stmt, begin_try_block,
      	finish_try_block, finish_cleanup_try_block, finish_function_try_block,
      	finish_handler_sequence, finish_function_handler_sequence,
      	begin_handler, finish_handler_parms, finish_handler,
      	begin_stmt_expr, finish_stmt_expr_expr, finish_stmt_expr): Rewrite
      	using statement lists.
      	(begin_compound_stmt): Replace has_no_scope argument with flags.
      	Update all callers.  Use statement lists.
      	(finish_compound_stmt): Likewise.
      	(finish_decl_cleanup, finish_eh_cleanup): Use push_cleanup.
      	(current_scope_stmt_stack): Remove.
      	(simplify_aggr_init_expr): Don't muck with TREE_CHAIN.
      	* typeck2.c (split_nonconstant_init_1, split_nonconstant_init):
      	Rewrite with statement lists.
      testsuite/
      	* g++.dg/ext/stmtexpr1.C: XFAIL.
      	* gcc.dg/20030612-1.c: XFAIL.
      
      From-SVN: r83221
      Richard Henderson committed
  30. 13 Jun, 2004 1 commit
  31. 13 May, 2004 1 commit
  32. 28 Mar, 2004 1 commit
    • re PR c/14734 (Error recovery problem with undeclared array bounds) · 18d5f982
      	* c-decl.c: Verify that C_SIZEOF_STRUCT_LANG_IDENTIFIER is correct.
      	(struct c_binding, struct c_scope): Add chain_next
      	attributes to GTY markers.
      	(struct lang_identifier, struct lang_tree_node): Define
      	here...
      	* c-tree.h: ... not here.  No longer need to declare struct
      	c_binding either.  Do define C_SIZEOF_STRUCT_LANG_IDENTIFIER.
      	* c-lang.c, objc/objc-lang.c: Set LANG_HOOKS_IDENTIFIER_SIZE
      	to C_SIZEOF_STRUCT_LANG_IDENTIFIER.
      
      	PR 14734, 11944
      	* c-decl.c (get_parm_info): If error_mark_node is encountered
      	in the bindings chain, unbind and discard it; don't abort.
      	* testsuite/gcc.dg/noncompile/undeclared-2.c: New test.
      
      From-SVN: r80042
      Zack Weinberg committed
  33. 23 Mar, 2004 1 commit
    • PR 12267, 12391, 12560, 13129, 14114, 14113 · f75fbaf7
      	* c-tree.h: Forward declare struct c_binding.  Declare
      	c_override_bindings_to_false.  Update prototypes.
      	(struct lang_identifier): Update comments.  Change fields to be
      	struct c_binding *.
      	(IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE)
      	(IDENTIFIER_LABEL_VALUE, C_DECL_INVISIBLE)
      	(KEEP_NO, KEEP_YES, KEEP_MAYBE): Delete.
      	(C_DECL_IN_EXTERNAL_SCOPE, C_DECL_DECLARED_BUILTIN): New.
      	* c-common.h: Update prototypes.
      	* c-decl.c (struct c_scope): Update commentary.  Remove names,
      	names_last, parms, parms_last, tags, and shadowed fields.  Add
      	bindings and depth fields.
      	(scope_freelist): Move to more appropriate location.
      	(c_print_identifier): Update for changes to struct lang_identifier.
      	(objc_mark_locals_volatile): Update for new bindings structures.
      	(global_bindings_p): Honor c_override_global_bindings_to_false.
      	(pushlevel): Rename to push_scope; take no arguments; use the
      	scope_freelist; initialize scope->depth and check for overflow.
      	(poplevel): Rename to pop_scope; totally rewritten for new bindings
      	structures.
      	(diagnose_mismatched_decls): Use C_DECL_DECLARED_BUILTIN, not
      	C_DECL_INVISIBLE, for certain decisions.  Adjust some diagnostics.
      	Improve some commentary.  Adjust handling of forward parm decls.
      	(merge_decls): Set C_DECL_DECLARED_BUILTIN when appropriate.
      	Preserve C_DECL_IN_EXTERNAL_SCOPE.
      	(warn_if_shadowing): Correct indentation.  Improve diagnostics.
      	(pushdecl): Remove unnecessary assertion.  Short-circuit anonymous
      	decls.  Rewrite for new bindings structures.  Improve commentary.
      	Eliminate the copy_node call.
      	(implicit_decl_warning): Use the "diag" idiom (as seen in
      	locate_old_decl) to reduce code duplication; call locate_old_decl
      	if appropriate.  Relocate to remove need for forward declaration.
      	(implicitly_declare): Adjust for new bindings structures.  Kludge
      	around Objective-C not-really-builtin functions.
      	(undeclared_variable): Improve diagnostics.  If current_function_decl
      	is nonnull but current_function_scope is null, use current_scope.
      	Use bind.
      	(lookup_tag): Adjust for new bindings structures.  Kludge around
      	Objective-C's tag declarations that wind up in the external scope.
      	(lookup_name): Adjust for new bindings structures.  Kludge around
      	c-common.c's pseudo-typedefs that wind up in the external scope.
      	(lookup_name_current_level): Rename lookup_name_in_scope; take a
      	second argument indicating the scope to examine; rewrite for
      	new bindings structures.
      	(c_init_decl_processing): Adjust for renamed functions.  Do not
      	initialize current_file_decl, first_builtin_decl, last_builtin_decl.
      	First scope pushed is the external scope, not the global scope.
      	(builtin_function): Use bind, not pushdecl.  Adjust other bits
      	for new data structures.  Keep track of builtins that should be
      	made visible automatically.
      	(start_decl): Adjust diagnostics.  Remove unnecessary call to
      	expand_decl.
      	(grokparms): Return 0 if arg_types is error_mark_node.
      	(get_parm_info): Rename "void_at_end" argument to "ellipsis", with
      	reversed sense.  Rewrite for new bindings structures.  Do not
      	leave any decls in the scope, to prevent pop_scope from doing
      	contradictory things with them.
      	(finish_struct, finish_enum): Remove redundant diagnostics.
      	(build_enumerator): Don't cascade diagnostics for error_mark_node.
      	Mark location where -pedantic changes the meaning of the program.
      	(store_parm_decls_newstyle, store_parm_decls_oldstyle): Load the
      	parameter decls into the function's scope structure using bind.
      	Warn here about function definitions in the wrong style.
      	Adjust diagnostics.
      	(store_parm_decls): Correct the determination of whether a
      	function was defined with a prototype.
      	(c_write_global_declarations): Operate on all file decls and on
      	the external scope.  Split body of the loop to...
      	(c_write_global_declarations_1): ... this new function, to avoid
      	code duplication.
      	(truly_local_externals, first_builtin_decl, last_builtin_decl)
      	(make_scope, pop_scope, in_parm_level_p, set_block)
      	(any_external_decl, record_external_decl, bind_label, getdecls)
      	(link_hash_hash, link_hash_eq, merge_translation_unit_decls)
      	(c_reset_state): Delete.
      	(visible_builtins, c_override_global_bindings_to_false)
      	(c_binding, I_SYMBOL_BINDING, I_SYMBOL_DECL, I_TAG_BINDING)
      	(I_TAG_DECL, I_LABEL_BINDING, I_LABEL_DECL, file_scope)
      	(external_scope, binding_freelist, bind, free_binding_and_advance)
      	(push_file_scope, pop_file_scope): New.
      	(pushtag, pushdecl_top_level, lookup_label, declare_label)
      	(define_label, c_make_fname_decl, finish_decl)
      	(mark_forward_parm_decls, build_compound_literal)
      	(grokdeclarator, start_function, check_for_loop_decls)
      	(identifier_global_value, record_builtin_type): Minor adjustments
      	for new bindings structures.  Improve diagnostics and commentary.
      	* c-objc-common.c (start_cdtor, finish_cdtor): Adjust calls to
      	pushlevel/poplevel respectively.
      	(c_objc_common_finish_file): Don't call merge_translation_unit_decls.
      	* c-opts.c (c_common_parse_file): Remove spurious ATTRIBUTE_UNUSED.
      	Warn about YYDEBUG not being defined only if -dy.  Remove no-longer-
      	correct loop over multiple translation units; call fatal_error if
      	requested to compile more than one file at once.  (This disables
      	IMA temporarily - an up-front error being preferable to a crash.)
      	* c-parse.in (pushlevel, poplevel rules): Rename push_scope, pop_scope.
      	(all actions): Adjust calls to pushlevel/poplevel.
      	(parsing_iso_function_signature): Delete.
      	(extdef_1): Fold into extdef.
      	(old_style_parm_decls_1): Fold into old_style_parm_decls.  Don't
      	warn here about function definitions in the wrong style.
      	(after_tyle_declarator, parm_declarator_starttypename)
      	(parm_declarator_nostarttypename, notype_declarator): Remove
      	commented-out productions.
      	(parmlist_1, parmlist_2): Use make_node, not tree_cons, to create
      	an empty TREE_LIST node.  Adjust calls to get_parm_info.
      	(parmlist_2 : ELLIPSIS): Tag the arg-info block with error_mark_node
      	to suppress -Wold-style-definition after this error.
      	(c_parse_file): Don't clear the binding stack or call
      	finish_fname_decls here.  Correct comment.
      	* c-typeck.c (same_translation_unit_p): Export.
      	(common_type): Use c_override_global_bindings_to_false, not
      	pushlevel/poplevel/declare_parm_level.
      	* c-lang.c: Override LANG_HOOKS_CLEAR_BINDING_STACK,
      	LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK,
      	and LANG_HOOKS_GETDECLS with do-nothing stubs.
      	* objc/objc-lang.c: Likewise.
      	* objc/objc-act.c: Adjust all calls to pushlevel, poplevel,
      	get_parm_info.
      	(OBJC_VOID_AT_END): Delete; replace all uses
      	with void_list_node.
      	(generate_forward_declaration_to_string_table): Delete.
      	* objc/objc-act.h (OCTI_STRG_DECL, UOBJC_STRINGS_decl): Delete.
      
      	* coverage.c (create_coverage): Don't pushdecl anything.
      	* langhooks.c (lhd_clear_binding_stack): Call
      	lang_hooks.decls.poplevel, not poplevel.
      	* tree.c (list_length): If ENABLE_TREE_CHECKING, abort on a
      	circular list rather than going into an infinite loop.
      
      cp:
      	* cp-lang.c (c_reset_state): Delete.
      	(push_file_scope, pop_file_scope): New stubs.
      	* parser.c (c_parse_file): Call sorry() here if called more than once.
      
      testsuite:
      	* gcc.dg/Wold-style-definition-1.c, gcc.dg/builtins-30.c
      	* gcc.dg/unused-4.c, gcc.dg/noncompile/label-1.c
      	* gcc.dg/noncompile/label-lineno-1.c, objc.dg/naming-1.m:
      	Adjust error regexps.
      	* gcc.dg/Wshadow-2.c, gcc.dg/noncompile/incomplete-3.c
      	* gcc.dg/noncompile/undeclared-1.c: New test cases.
      	* gcc.dg/decl-5.c, gcc.dg/redecl-1.c: Remove XFAIL.
      	* gcc.dg/local1.c: Add explanatory comment.
      
      From-SVN: r79883
      Zack Weinberg committed
  34. 04 Feb, 2004 1 commit
    • alloc-pool.h, [...]: Update copyright. · e146f815
      	gcc/
      	* alloc-pool.h, c-convert.c, c-lang.c, c-tree.h,
      	caller-save.c, df.h, genconfig.c, global.c, lcm.c,
      	ra-rewrite.c, ra.c, regclass.c, regs.h, resource.c,
      	sched-rgn.c, config/arm/aof.h, config/arm/cirrus.md,
      	config/arm/fpa.md, config/arm/iwmmxt.md,
      	config/arm/netbsd-elf.h, config/arm/netbsd.h,
      	config/m68hc11/m68hc11.md, config/mips/iris5.h,
      	config/mn10300/mn10300.md, config/rs6000/altivec.md,
      	config/sparc/netbsd-elf.h: Update copyright.
      
      	cp/
      	* error.c, search.c: Update copyright.
      
      	java/
      	* typeck.c: Update copyright.
      
      From-SVN: r77265
      Kazu Hirata committed
  35. 03 Feb, 2004 1 commit
    • re PR c/11658 (Wrong error message) · e57e265b
      2004-02-03  Paolo Bonzini  <bonzini@gnu.org>
      
      	PR c/11658
      	PR c/13994
      	* Makefile.in (c-parse.o, c-convert.o, c-typeck.o): Depend
      	on langhooks.h.
      	* objc/Make-lang.in (objc-parse.o): Depend on langhooks.h.
      	* c-parse.in, c-convert.c, c-typeck.c, objc/objc-act.c:
      	Include langhooks.h.  Replace c_common_truthvalue_conversion
      	with the truthvalue_conversion language hook throughout.
      	(expr_no_commas): Call default_conversion before save_expr
      	for the first term of the production 'x ? : y'.
      	* c-common.c (c_common_truthvalue_conversion): Remove
      	obsolete block.  Invoke recursively the hook instead
      	of this function.
      	* c-convert.c (convert): handle ERROR_MARK_NODE.
      	* c-typeck.c (build_binary_op): handle ERROR_MARK_NODE
      	returned by the truthvalue_conversion language hook.
      	* c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Use
      	c_objc_common_truthvalue_conversion.
      	* c-objc-common.c (c_objc_common_truthvalue_conversion):
      	New function.
      	* c-tree.h (c_objc_common_truthvalue_conversion): Declare it.
      	* objc/objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Use
      	c_objc_common_truthvalue_conversion.
      
      From-SVN: r77168
      Paolo Bonzini committed
  36. 25 Sep, 2003 1 commit
  37. 09 Sep, 2003 1 commit
    • langhooks-def.h (lhd_register_builtin_type): New function. · 9649812a
      	* langhooks-def.h (lhd_register_builtin_type): New function.
      	(LANG_HOOKS_REGISTER_BUILTIN_TYPE): New macro.
      	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
      	* langhooks.h (lang_hooks_for_types): Add register_builtin_type.
      	* langhooks.c (lhd_register_builtin_type): New function.
      	* c-common.h (c_register_builtin_type): Declare.
      	* c-common.c (c_register_builtin_type): New function.
      	* c-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
      	c_register_builtin_type.
      	* config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Remove __fpreg,
      	__float80, and __float128 macros.
      	* config/ia64/ia64.c (ia64_init_builtins): Create __fpreg,
      	__float80, and __float128 types.
      
      	* cp-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
      	c_register_builtin_type.
      
      	* gcc.dg/ia64-types1.c: New test.
      	* gcc.dg/ia64-types2.c: Likewise.
      
      From-SVN: r71227
      Mark Mitchell committed
  38. 29 Aug, 2003 1 commit
    • tree-optimize.c: New file. · 4985cde3
      gcc/
              * tree-optimize.c: New file.
              * Makefile.in (OBJS-archive): Add tree-optimize.o.
              (tree-optimize.o): New.
              * c-decl.c (store_parm_decls): Use allocate_struct_function.
              (finish_function): Don't free_after_parsing or free_after_compilation.
              (set_save_expr_context): Move to tree-optimize.c.
              (c_expand_body_1): Use tree_rest_of_compilation.
              * c-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
              * objc/objc-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
              * c-objc-common.c (expand_deferred_fns): Don't emit unused inlines;
              iterate until closure.
              * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_START,
              LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END): New.
              (LANG_HOOKS_RTL_EXPAND_INITIALIZER): New.
              * langhooks.h (struct lang_hooks_for_rtl_expansion): New.
              * toplev.h (tree_rest_of_compilation): Declare it.
      
      gcc/cp/
              * cp-lang.c (LANG_HOOKS_RTL_EXPAND_START): New.
              (LANG_HOOKS_RTL_EXPAND_STMT): New.
              * cp-tree.h (cxx_expand_function_start): Declare.
              * decl.c (start_function): Use allocate_struct_function.
              Move stmts_are_full_exprs_p assertion from expand_body.
              Do not free_after_parsing or free_after_compilation.
              (cxx_push_function_context): Move code to set struct function
              data from genrtl_start_function.
              * optimize.c (optimize_function): Don't inc/dec function_depth.
              * semantics.c (expand_body): Use tree_rest_of_compilation.
              (cxx_expand_function_start): Rename from genrtl_start_function,
              omit bits done by tree_rest_of_compilation.
              (genrtl_finish_function): Remove.
              (clear_decl_rtl): Move to ../tree-optimize.c.
      
      Co-Authored-By: Jason Merrill <jason@redhat.com>
      
      From-SVN: r70933
      Richard Henderson committed
  39. 25 Aug, 2003 1 commit
    • pretty-print.h (pp_maybe_newline_and_indent): New macro. · 12ea3302
      	* pretty-print.h (pp_maybe_newline_and_indent): New macro.
      	* c-pretty-print.h (c_pretty_printer): Now typedef to the
      	structure.  Be consistent with pretty-print.h abd cxx-pretty-print.h
      	(struct c_pretty_print_info): Document.  Add new fields.
      	(pp_type_specifier_seq): Rename from pp_c_type_specifier.
      	(pp_direct_abstract_declarator): New macro.
      	(pp_ptr_operator): Likewise.
      	(pp_simple_type_specifier): Likewise.
      	(pp_expression): Likewise.
      	(pp_parameter_list): Rename from pp_parameter_declaration.
      	* c-pretty-print.c (pp_c_whitespace): Now a function.
      	(pp_c_left_paren): Likewise.
      	(pp_c_right_paren): Likewise.
      	(pp_c_dot): Likewise.
      	(pp_c_ampersand): Likewise.
      	(pp_c_arrow): Likewise.
      	(pp_c_semicolon): Likewise.
      	(pp_c_type_cast): New function.
      	(pp_c_space_for_pointer_operator): Likewise.
      	(pp_c_call_argument_list): Likewise.
      	(pp_c_cv_qualifier): Adjust prototype.
      	(pp_c_type_qualifier_list): Likewise.
      	(pp_c_pointer): Likewise.  Handle REFERENCE_TYPE here.
      	(pp_c_type_specifier): Rename from pp_c_simple_type_specifier.
      	Adjust to follow standard grammar.
      	(pp_c_specifier_qualifier_list): Adjusr prototype.  Handle
      	REFERENCE_TYPE.  Tidy.
      	(pp_c_parameter_type_list): Adjust prototype.  Tidy.
      	(pp_c_parameter_declaration): Remove.
      	(pp_c_abstract_declarator): Adjust prototype.
      	(pp_c_direct_abstract_declarator): Likewise.
      	(pp_c_type_id): Likewise.
      	(pp_c_storage_class_specifier): Likewise.
      	(pp_c_function_specifier): Likewise.
      	(pp_c_declaration_specifiers): Likewise.
      	(pp_c_direct_declarator): Likewise.
      	(pp_c_declarator): Likewise.
      	(pp_c_declarator): Likewise.
      	(pp_c_declaration): Likewise.
      	(pp_c_attributes): Likewise.  Tidy.
      	(pp_c_function_definition): Adjust prototype.
      	(pp_c_char): Likewise.
      	(pp_c_string_literal): Likewise.
      	(pp_c_integer_constant): Likewise.
      	(pp_c_character_constant): Likewise.
      	(pp_c_bool_constant): Likewise.
      	(pp_c_enumeration_constant): Likewise.
      	(pp_c_floating_constant): Likewise.
      	(pp_c_constant): Likewise.
      	(pp_c_identifier): Likewise.
      	(pp_c_primary_expression): Likewise.  Remove TARGET_EXPR case.  Tidy.
      	(pp_c_initializer): Adjust prototype.
      	(pp_c_init_declarator): Likewise.
      	(pp_c_initializer_list): Likewise.
      	(pp_c_id_expression): Likewise.
      	(pp_c_postfix_expression): Likewise.
      	(pp_c_expression_list): Likewise.
      	(pp_c_unary_expression): Likewise.
      	(pp_c_cast_expression): Likewise.
      	(pp_c_multiplicative_expression): Likewise.
      	(pp_c_additive_expression): Likewise.
      	(pp_c_shift_expression): Likewise.
      	(pp_c_relational_expression): Likewise.
      	(pp_c_equality_expression): Likewise.
      	(pp_c_and_expression): Likewise.
      	(pp_c_exclusive_or_expression): Likewise.
      	(pp_c_inclusive_or_expression): Likewise.
      	(pp_c_logical_and_expression): Likewise.
      	(pp_c_logical_or_expression): Likewise.
      	(pp_c_conditional_expression): Likewise.
      	(pp_c_assignment_expression): Likewise.
      	(pp_c_expression): Likewise.  Tidy.
      	(pp_c_statement): Likewise.  Document.
      	(pp_c_pretty_printer_init): Adjust prototype. Tidy.
      
      	* c-lang.c (c_initialize_diagnostics): Update.
      	* c-common.h (strip_pointer_operator): Declare.
      	* c-common.c (strip_pointer_operator): Define.
      
      cp/
      	* cxx-pretty-print.h (pp_cxx_flag_default_argument): New flag.
      	(cxx_pretty_printer): Adjust base type.
      	(pp_cxx_function_specifier): Declare.
      	* cxx-pretty-print.c (pp_cxx_whitespace): New macro.
      	(pp_cxx_left_paren): Likewise.
      	(pp_cxx_right_paren): Likewise.
      	(pp_cxx_dot): Likewise.
      	(pp_cxx_arrow): Likewise.
      	(pp_cxx_semicolon): Likewise.
      	(pp_cxx_identifier): Likewise.
      	(pp_cxx_cv_qualifier_seq): Likewise.
      	(pp_cxx_storage_class_specifier): Likewise.
      	(pp_cxx_expression_list): Likewise.
      	(pp_cxx_space_for_pointer_operator): Likewise.
      	(pp_cxx_init_declarator): Likewise.
      	(pp_cxx_call_argument_list): Likewise.
      	(pp_cxx_nonconsecutive_character): Tidy.
      	(pp_cxx_conversion_function_id): New function.
      	(pp_cxx_template_id): Likewise.
      	(pp_cxx_class_name): Likewise.
      	(pp_cxx_template_keyword_if_needed): Likewise.
      	(pp_cxx_nested_name_specifier): Likewise.
      	(pp_cxx_unqualified_id): Tidy
      	(pp_cxx_qualified_id): Handle more nodes.
      	(pp_cxx_primary_expression): Tidy.
      	(pp_cxx_postfix_expression): Likewise.
      	(pp_cxx_new_expression): Tidy.
      	(pp_cxx_delete_expression): Likewise.
      	(pp_cxx_cast_expression): New function.
      	(pp_cxx_pm_expression): Tidy.
      	(pp_cxx_conditional_expression): Likewise.
      	(pp_cxx_assignment_operator): New function.
      	(pp_cxx_assignment_expression): Tidy.
      	(pp_cxx_expression): New function.
      	(pp_cxx_function_specifier): Likewise.
      	(pp_cxx_decl_specifier_seq): Likewise.
      	(pp_cxx_simple_type_specifier): Tidy.
      	(pp_cxx_type_specifier_seq): Likewise.
      	(pp_cxx_ptr_operator): New function.
      	(pp_cxx_implicit_parameter_type): Likewise.
      	(pp_cxx_parameter_declaration): Tidy.
      	(pp_cxx_parameter_declaration_clause): New function.
      	(pp_cxx_exception_specification): Likewise.
      	(pp_cxx_direct_declarator): Tidy.
      	(pp_cxx_declarator): Likewise.
      	(pp_cxx_ctor_initializer): New function.
      	(pp_cxx_function_definition): Likewise.
      	(pp_cxx_abstract_declarator): Tidy.
      	(pp_cxx_direct_abstract_declarator): Likewise.
      	(pp_cxx_type_id): Likewise.
      	(pp_cxx_exception_declaration): New function.
      	(pp_cxx_statement): Likewise.
      	(pp_cxx_simple_declaration): Likewise.
      	(pp_cxx_template_parameter_list): Likewise.
      	(pp_cxx_template_parameter): Likewise.
      	(pp_cxx_template_declaration): Likewise.
      	(pp_cxx_explicit_specialization): Likewise.
      	(pp_cxx_explicit_instantiation): Likewise.
      	(pp_cxx_declaration): Tidy.
      	(pp_cxx_pretty_printer_init): Initialize more fields.
      
      From-SVN: r70777
      Gabriel Dos Reis committed