Age | Commit message (Collapse) | Author | Files | Lines |
|
2007-08-28 Richard Guenther <rguenther@suse.de>
* tree.h (DECL_DISREGARD_INLINE_LIMITS): New.
(struct tree_function_decl): Make function_code a bitfield.
Add disregard_inline_limits flag.
* cgraphunit.c (cgraph_process_new_functions): Check
DECL_DISREGARD_INLINE_LIMITS instead of disregard_inline_limits_p.
(cgraph_preserve_function_body_p): Likewise.
* ipa-inline.c (compute_inline_parameters): Likewise.
* c-decl.c (finish_function): Set DECL_DISREGARD_INLINE_LIMITS
for GNU C extern inline functions.
(merge_decls): Merge DECL_DISREGARD_INLINE_LIMITS.
* tree-inline.c (disregard_inline_limits_p): Remove.
* tree-inline.h (disregard_inline_limits_p): Likewise.
* c-common.c (handle_always_inline_attribute): Set
DECL_DISREGARD_INLINE_LIMITS.
* langhooks.c (add_builtin_function): Verify the function code
fits in the bitfield.
cp/
* decl.c (duplicate_decls): Merge DECL_DISREGARD_INLINE_LIMITS.
From-SVN: r127851
|
|
* c-common.c (vector_types_convertible_p,
decl_with_nonnull_addr_p, c_promoting_integer_type_p,
self_promoting_args_p): Constify.
* c-common.h (has_c_linkage, decl_with_nonnull_addr_p,
c_promoting_integer_type_p, self_promoting_args_p,
anon_aggr_type_p, vector_types_convertible_p): Likewise.
* c-decl.c (anon_aggr_type_p): Likewise.
* * c-dump.c (dump_stmt): Likewise.
* c-objc-common.c (has_c_linkage): Likewise.
* c-tree.h (same_translation_unit_p): Likewise.
* c-typeck.c (null_pointer_constant_p,
tagged_types_tu_compatible_p, function_types_compatible_p,
type_lists_compatible_p, lvalue_or_else, lvalue_p,
comptypes_internal, struct tagged_tu_seen_cache,
same_translation_unit_p, alloc_tagged_tu_seen_cache,
c_size_in_bytes): Likewise.
* ggc-common.c (compare_ptr_data, hash_descriptor, eq_descriptor,
hash_ptr, eq_ptr): Likewise.
* langhooks-def.h (lhd_decl_ok_for_sibcall,
LANG_HOOKS_OMP_PRIVATIZE_BY_REFERENCE): Likewise.
* langhooks.c (lhd_decl_ok_for_sibcall): Likewise.
* langhooks.h (ok_for_sibcall, omp_privatize_by_reference):
Likewise.
* optabs.c (optab_for_tree_code): Likewise.
* optabs.h (optab_for_tree_code): Likewise.
* rtl.h (simplify_rtx): Likewise.
* simplify-rtx.c (simplify_rtx): Likewise.
* tree-dump.c (queue, queue_and_dump_index, queue_and_dump_type,
dump_flag, dump_node): Likewise.
* tree-dump.h (struct dump_info, dump_stmt, queue_and_dump_index,
queue_and_dump_type, dump_flag): Likewise.
* tree-flow.h (vect_can_force_dr_alignment_p): Likewise.
* tree-pass.h (dump_node): Likewise.
* tree-vectorizer.c (vect_can_force_dr_alignment_p,
supportable_narrowing_operation): Likewise.
* tree-vectorizer.h (vect_can_force_dr_alignment_p,
supportable_narrowing_operation): Likewise.
* tree-vrp.c (needs_overflow_infinity, supports_overflow_infinity,
is_negative_overflow_infinity, is_positive_overflow_infinity,
is_overflow_infinity, vrp_val_is_max, vrp_val_is_min,
nonnull_arg_p, get_value_range, vrp_operand_equal_p,
update_value_range, add_equivalence, ssa_name_nonnegative_p,
ssa_name_nonzero_p, fp_predicate): Likewise.
* tree.c (auto_var_in_fn_p, empty_body_p): Likewise.
* tree.h (empty_body_p, auto_var_in_fn_p, ssa_name_nonzero_p,
ssa_name_nonnegative_p): Likewise.
cp:
* call.c (sufficient_parms_p): Constify.
* class.c (same_signature_p): Likewise.
* cp-gimplify.c (is_invisiref_parm,
cxx_omp_privatize_by_reference): Likewise.
* cp-objcp-common.c (has_c_linkage): Likewise.
* cp-tree.h (NON_THUNK_FUNCTION_CHECK, THUNK_FUNCTION_CHECK,
sufficient_parms_p, same_signature_p, copy_fn_p, move_fn_p,
grok_ctor_properties, nothrow_libfn_p, skip_artificial_parms_for,
num_artificial_parms_for, comp_template_parms,
template_parameter_pack_p, any_dependent_template_arguments_p,
any_type_dependent_arguments_p, any_value_dependent_elements_p,
repo_export_class_p, cxx_omp_privatize_by_reference, pod_type_p,
zero_init_p, member_p, cp_lvalue_kind,
builtin_valid_in_constant_expr_p, decl_anon_ns_mem_p,
varargs_function_p, is_dummy_object, special_function_kind,
string_conv_p, type_unknown_p, comp_except_specs, compparms,
comp_cv_qualification, is_bitfield_expr_with_lowered_type,
unlowered_expr_type, ptr_reasonably_similar, cp_type_readonly,
cp_has_mutable_p, at_least_as_qualified_p,
invalid_nonstatic_memfn_p, lvalue_or_else, lvalue_p): Likewise.
* decl.c (copy_fn_p, move_fn_p, grok_ctor_properties): Likewise.
* except.c (nothrow_libfn_p): Likewise.
* method.c (skip_artificial_parms_for, num_artificial_parms_for):
Likewise.
* pt.c (comp_template_parms, template_parameter_pack_p,
any_type_dependent_arguments_p, any_value_dependent_elements_p,
any_dependent_template_arguments_p): Likewise.
* repo.c (repo_export_class_p): Likewise.
* semantics.c (anon_aggr_type_p): Likewise.
* tree.c (lvalue_p_1, real_lvalue_p, lvalue_p,
builtin_valid_in_constant_expr_p, decl_anon_ns_mem_p,
varargs_function_p, member_p, is_dummy_object, pod_type_p,
zero_init_p, special_function_p): Likewise.
* typeck.c (comp_array_types, type_unknown_p, comp_except_specs,
comp_array_types, at_least_as_qualified_p, comp_cv_qualification,
compparms, invalid_nonstatic_memfn_p,
is_bitfield_expr_with_lowered_type, unlowered_expr_type,
string_conv_p, ptr_reasonably_similar, cp_type_readonly,
cp_has_mutable_p, lvalue_or_else): Likewise.
fortran:
* trans-openmp.c (gfc_omp_privatize_by_reference): Constify.
* trans.h (gfc_omp_privatize_by_reference): Likewise.
java:
* lang.c (java_decl_ok_for_sibcall): Likewise.
From-SVN: r127799
|
|
2007-08-24 Richard Guenther <rguenther@suse.de>
* Makefile.in (tree-inline.o): Add $(TARGET_H) and $(INTEGRATE_H)
dependencies.
* c-objc-common.c (c_cannot_inline_tree_fn): Remove.
* langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Likewise.
* tree-inline.c (inlinable_function_p): Fold in common parts of
the cannot_inline_tree_fn langhook.
* langhooks-def.h (lhd_tree_inlining_cannot_inline_tree_fn): Remove.
(LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN): Likewise.
(LANG_HOOKS_TREE_INLINING_INITIALIZER): Remove initializer for
cannot_inline_tree_fn langhook.
* langhooks.h (struct lang_hooks_for_tree_inlining): Remove
cannot_inline_tree_fn member.
cp/
* tree.c (cp_cannot_inline_tree_fn): Remove.
* cp-tree.h (cp_cannot_inline_tree_fn): Likewise.
* cp-objcp-common.h (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN):
Remove define.
From-SVN: r127763
|
|
2007-08-20 Richard Guenther <rguenther@suse.de>
* c-objc-common.c (c_disregard_inline_limits): Remove.
* c-objc-common.h (c_disregard_inline_limits): Likewise.
* cgraphunit.c (cgraph_process_new_functions): Call
disregard_inline_limits_p.
(cgraph_preserve_function_body_p): Likewise.
* ipa-inline.c (compute_inline_parameters): Likewise.
* langhooks-def.h (lhd_tree_inlining_disregard_inline_limits):
Remove.
(LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS): Remove.
(LANG_HOOKS_TREE_INLINING_INITIALIZER): Remove initializer for
disregard_inline_limits langhook.
* langhooks.c (lhd_tree_inlining_disregard_inline_limits):
Remove.
* langhooks.h (lang_hooks_for_tree_inlining): Remove
disregard_inline_limits langhook.
* tree-inline.c (disregard_inline_limits_p): New function.
* tree-inline.h (disregard_inline_limits_p): Declare.
From-SVN: r127644
|
|
2007-08-20 Richard Guenther <rguenther@suse.de>
* langhooks-def.h (lhd_tree_inlining_auto_var_in_fn_p): Remove.
(LANG_HOOKS_TREE_INLINING_AUTO_VAR_IN_FN_P): Likewise.
(LANG_HOOKS_TREE_INLINING_INITIALIZER): Remove initializer for
auto_var_in_fn_p langhook.
* langhooks.c (lhd_tree_inlining_auto_var_in_fn_p): Rename and
move ...
* tree.c (auto_var_in_fn_p): ... here.
(find_var_from_fn): Call auto_var_in_fn_p directly.
* langhooks.h (lang_hooks_for_tree_inlining): Remove
auto_var_in_fn_p langhook.
* tree-inline.c (remap_decls): Call auto_var_in_fn_p directly.
(copy_body_r): Likewise.
(self_inlining_addr_expr): Likewise.
* tree.h (auto_var_in_fn_p): Declare.
cp/
* cp-objcp-common.h (LANG_HOOKS_TREE_INLINING_AUTO_VAR_IN_FN_P):
Remove.
* cp-tree.h (cp_auto_var_in_fn_p): Remove.
(nonstatic_local_decl_p): Likewise.
* tree.c (cp_auto_var_in_fn_p): Remove.
* decl.c (nonstatic_local_decl_p): Remove.
From-SVN: r127643
|
|
2007-08-20 Richard Guenther <rguenther@suse.de>
* tree.c (WALK_SUBTREE): Call walk_tree_1.
(walk_type_fields): Take lh parameter.
(walk_tree): Rename to ...
(walk_tree_1): ... this. Do not call the walk_subtrees
langhook but the now passed callback. Pass lh on recursion.
(walk_tree_without_duplicates): Rename to ...
(walk_tree_without_duplicates_1): ... this. Take lh parameter
and call walk_tree_1.
* tree.h (walk_tree_lh): New typedef.
(walk_tree_1): Declare.
(walk_tree_without_duplicates_1): Likewise.
(walk_tree): New define to walk_tree_1 with NULL lh parameter.
(walk_tree_without_duplicates): New define to
walk_tree_without_duplicates_1 with NULL lh parameter.
* langhooks.c (lhd_tree_inlining_walk_subtrees): Remove.
* langhooks.h (lang_hooks_for_tree_inlining): Remove walk_subtrees
langhook.
* langhooks-def.h (lhd_tree_inlining_walk_subtrees): Remove.
(LANG_HOOKS_TREE_INLINING_WALK_SUBTREES): Likewise.
(LANG_HOOKS_TREE_INLINING_INITIALIZER): Remove walk_subtrees
initializer.
java/
* lang.c (java_tree_inlining_walk_subtrees): Remove.
(LANG_HOOKS_TREE_INLINING_WALK_SUBTREES): Remove.
cp/
* cp-objcp-common.h (LANG_HOOKS_TREE_INLINING_WALK_SUBTREES):
Remove define.
* tree.h (cp_walk_tree): New define to walk_tree_1 with
cp_walk_subtrees lh parameter.
(cp_walk_tree_without_duplicates): New define to
walk_tree_without_duplicates_1 with cp_walk_subtrees lh parameter.
* tree.c (count_trees): Call
cp_walk_tree_without_duplicates.
(verify_stmt_tree): Call cp_walk_tree.
(break_out_target_exprs): Likewise.
(WALK_SUBTREE): Likewise.
* cp-gimplify.c (cp_genericize): Likewise.
* cp-pt.c (find_parameter_packs_r): Likewise.
(uses_parameter_packs): Likewise.
(make_pack_expansion): Likewise.
(check_for_bare_parameter_packs): Likewise.
(for_each_template_parm): Likewise.
* decl.c (check_default_argument): Call
cp_walk_tree_without_duplicates.
* except.c (build_throw): Likewise.
* decl2.c (type_visibility): Likewise.
* semantics.c (expand_or_defer_fn): Likewise.
(finalize_nrv): Call cp_walk_tree.
From-SVN: r127642
|
|
* c-common.c (const_strip_array_types): New.
* c-common.h (lang_missing_noreturn_ok_p): Delete.
(const_strip_array_types): New.
* c-objc-common.c (c_disregard_inline_limits,
c_warn_unused_global_decl): Constify.
* c-tree.h (c_disregard_inline_limits, c_warn_unused_global_decl,
c_vla_type_p, c_incomplete_type_error): Likewise.
* c-typeck.c (c_incomplete_type_error, c_vla_type_p): Likewise.
* hooks.c (hook_bool_const_tree_false): New.
* hooks.h (hook_bool_const_tree_false): Likewise.
* langhooks-def.h (lhd_warn_unused_global_decl,
lhd_incomplete_type_error, lhd_expr_size,
lhd_tree_inlining_disregard_inline_limits,
lhd_tree_inlining_auto_var_in_fn_p, lhd_tree_dump_type_quals,
LANG_HOOKS_GENERIC_TYPE_P, LANG_HOOKS_TYPE_MAX_SIZE): Constify.
* langhooks.c (lhd_warn_unused_global_decl,
lhd_incomplete_type_error,
lhd_tree_inlining_disregard_inline_limits,
lhd_tree_inlining_auto_var_in_fn_p, lhd_tree_dump_type_quals,
lhd_expr_size): Likewise.
* langhooks.h (lang_hooks_for_tree_inlining,
lang_hooks_for_tree_dump, lang_hooks_for_types,
lang_hooks_for_decls, lang_hooks): Likewise.
* pointer-set.c (pointer_set_t, pointer_set_create,
pointer_set_contains, insert_aux, pointer_set_insert,
pointer_set_traverse, pointer_map_t, pointer_map_create,
pointer_map_contains, pointer_map_insert, pointer_map_traverse):
Likewise.
* pointer-set.h (pointer_set_contains, pointer_set_insert,
pointer_set_traverse, pointer_map_contains, pointer_map_insert,
pointer_map_traverse): Likewise.
* predict.c (assert_is_empty): Likewise.
* tree-affine.c (free_name_expansion): Likewise.
* tree-cfg.c (edge_to_cases_cleanup): Likewise.
* tree.c (size_in_bytes, max_int_size_in_bytes): Likewise.
* tree.h (size_in_bytes, max_int_size_in_bytes): Likewise.
ada:
* misc.c (gnat_type_max_size): Constify.
cp:
* cp-objcp-common.c (cxx_warn_unused_global_decl, cp_expr_size):
Constify.
* cp-tree.h (local_variable_p, nonstatic_local_decl_p,
class_tmpl_impl_spec_p, cp_auto_var_in_fn_p, cp_type_quals,
cxx_incomplete_type_diagnostic, cxx_incomplete_type_error,
cxx_warn_unused_global_decl, cp_expr_size): Likewise.
* decl.c (local_variable_p, nonstatic_local_decl_p): Likewise.
* tree.c (class_tmpl_impl_spec_p, cp_auto_var_in_fn_p): Likewise.
* typeck.c (cp_type_quals): Likewise.
* typeck2.c (cxx_incomplete_type_diagnostic,
cxx_incomplete_type_error): Likewise.
From-SVN: r127560
|
|
./: * alias.h (alias_set_type): Define new type.
(ALIAS_SET_MEMORY_BARRIER): Use it.
* rtl.h: Include alias.h.
(struct mem_attrs): Use alias_set_type.
* tree.h: Include alias.h
(struct tree_type): Use alias_set_type.
(struct tree_struct_field_tag): Likewise.
(struct tree_decl_common): Likewise.
* alias.c (struct alias_set_entry): Use alias_set_type.
(get_alias_set_entry, alias_set_subset_of): Likewise.
(alias_sets_conflict_p): Likewise.
(alias_sets_must_conflict_p): Likewise.
(objects_must_conflict_p): Likewise.
(get_alias_set, new_alias_set): Likewise.
(record_alias_subset, record_component_aliases): Likewise.
(varargs_set, frame_set): Change to alias_set_type.
(get_varargs_alias_set): Use alias_set_type.
(get_frame_alias_set): Likewise.
* builtins.c (setjmp_alias_set): Change to alias_set_type.
* dse.c (struct store_info): Use alias_set_type.
(struct read_info, struct clear_alias_mode_holder): Likewise.
(clear_alias_set_lookup, canon_address): Likewise.
(record_store, check_mem_read_rtx): Likewise.
(dse_record_singleton_alias_set): Likewise.
(dse_invalidate_singleton_alias_set): Likewise.
* emit-rtl.c (get_mem_attrs): Likewise.
(set_mem_attributes_minus_bitpos): Likewise.
(set_mem_alias_set): Likewise.
* expr.c (store_constructor_field, store_field): Likewise.
* gimplify.c (struct gimplify_init_ctor_preeval_data): Likewise.
* langhooks.c (lhd_get_alias_set): Likewise.
* langhooks-def.h (lhd_get_alias_set): Likewise.
* reload1.c (alter_reg): Likewise.
* tree-flow.h (struct fieldoff): Likewise.
* tree-ssa-alias.c (struct alias_map_d): Likewise.
(may_alias_p, get_smt_for, create_sft): Likewise.
* tree-ssa-alias-warnings.c (nonstandard_alias_types_p): Likewise.
* tree-ssa-structalias.c (set_uids_in_ptset): Likewise.
(merge_smts_into): Likewise.
* varasm.c (const_alias_set): Likewise.
* c-common.c (strict_aliasing_warning): Likewise.
(c_common_get_alias_set): Likewise.
* dse.h (dse_record_singleton_alias_set): Update declaration.
(dse_invalidate_singleton_alias_set): Likewise.
* emit-rtl.h (set_mem_alias_set): Likewise.
* c-common.h (c_common_get_alias_set): Likewise.
* print-rtl.c (print_rtx): Cast MEM_ALIAS_SET when printing it.
* print-tree.c (print_node): Likewise.
* config/alpha/alpha.c (alpha_sr_alias_set): Change to
alias_set_type.
(alpha_setup_incoming_varargs): Use alias_set_type.
* config/i386/i386.c (setup_incoming_varargs_64): Use
alias_set_type.
(setup_incoming_varargs_ms_64): Likewise.
(ix86_GOT_alias_set): Likewise.
* config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
* config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
(set): Change to alias_set_type.
(get_TOC_alias_set): Use alias_set_type.
* config/rs6000/rs6000-protos.h (get_TOC_alias_set): Update
declaration.
* config/sh/sh.c (sh_builtin_saveregs): Use alias_set_type.
* config/sparc/sparc.c (sparc_sr_alias_set): Change to
alias_set_type.
(struct_value_alias_set): Likewise.
* Makefile.in (GTFILES): Add $(srcdir)/alias.h.
ada/:
* misc.c (gnat_get_alias_set): Change return type to
alias_set_type.
cp/:
* cp-objcp-common.c (cxx_get_alias_set): Change return type to
alias_set_type.
* cp/cp-tree.h (cxx_get_alias_set): Update declaration.
fortran:/
* f95-lang.c (gfc_get_alias_set): Change return type to
alias_set_type.
From-SVN: r127362
|
|
* attribs.c (hash_attr, eq_attr, init_attributes): Constify.
* builtins.c (validate_arg, builtin_mathfn_code,
validate_arglist): Likewise.
* calls.c (call_expr_flags): Likewise.
* combine.c (reg_nonzero_bits_for_combine,
reg_num_sign_bit_copies_for_combine, get_last_value,
reg_truncated_to_mode): Likewise.
* emit-rtl.c (subreg_lowpart_p): Likewise.
* expr.c (highest_pow2_factor_for_target,
categorize_ctor_elements_1, categorize_ctor_elements,
count_type_elements, contains_packed_reference,
highest_pow2_factor, highest_pow2_factor_for_target): Likewise.
* fold-const.c (may_negate_without_overflow_p, int_const_binop,
fold_convertible_p, operand_equal_p, tree_swap_operands_p,
native_encode_int, native_encode_real, native_encode_complex,
native_encode_vector, native_encode_expr, native_interpret_int,
native_interpret_real, native_interpret_complex,
native_interpret_vector, native_interpret_expr): Likewise.
* function.c (use_register_for_decl): Likewise.
* gimplify.c (get_name): Likewise.
* langhooks-def.h (lhd_return_null_const_tree): New.
(LANG_HOOKS_GET_CALLEE_FNDECL): Use it.
* langhooks.c (lhd_return_null_const_tree): New.
* langhooks.h (lang_get_callee_fndecl): Constify.
* output.h (constructor_static_from_elts_p): Likewise.
* rtl-factoring.c (gen_symbol_ref_rtx_for_label): Likewise.
* rtl.h (nonzero_bits, num_sign_bit_copies, truncated_to_mode,
subreg_lowpart_p, noop_move_p, struct rtl_hooks): Likewise.
* rtlanal.c (cached_nonzero_bits, nonzero_bits1,
cached_num_sign_bit_copies, num_sign_bit_copies1, noop_move_p,
nonzero_bits, num_sign_bit_copies, truncated_to_mode): Likewise.
* rtlhooks-def.h (reg_nonzero_bits_general,
reg_num_sign_bit_copies_general, reg_truncated_to_mode_general):
Likewise.
* rtlhooks.c (reg_num_sign_bit_copies_general,
reg_nonzero_bits_general, reg_truncated_to_mode_general):
Likewise.
* stmt.c (warn_if_unused_value, is_body_block): Likewise.
* stor-layout.c (mode_for_size_tree): Likewise.
* tree-ssa-loop-im.c (memref_eq): Likewise.
* tree-ssa-loop-ivopts.c (tree_int_cst_sign_bit): Likewise.
* tree.c (contains_placeholder_p, type_list_equal,
simple_cst_equal, get_callee_fndecl, operand_equal_for_phi_arg_p):
Likewise.
* tree.h (tree_int_cst_sign_bit, may_negate_without_overflow_p,
mode_for_size_tree, categorize_ctor_elements, count_type_elements,
contains_placeholder_p, contains_packed_reference,
get_callee_fndecl, operand_equal_for_phi_arg_p,
warn_if_unused_value, is_body_block, native_encode_expr,
native_interpret_expr, fold_convertible_p, operand_equal_p,
int_const_binop, tree_swap_operands_p, builtin_mathfn_code,
validate_arglist, simple_cst_equal, type_list_equal,
use_register_for_decl, call_expr_flags, get_name,
highest_pow2_factor): Likewise.
(const_call_expr_arg_iterator_d,
init_const_call_expr_arg_iterator, next_const_call_expr_arg,
first_const_call_expr_arg, more_const_call_expr_args_p,
FOR_EACH_CONST_CALL_EXPR_ARG): New.
* varasm.c (constructor_static_from_elts_p): Constify.
cp:
* parser.c (eof_token): Un-constify.
(cp_lexer_new_main, cp_lexer_new_from_tokens, VEC_alloc,
cp_lexer_consume_token, cp_lexer_purge_token): Remove spurious
casts.
java:
* lang.c (java_get_callee_fndecl): Constify.
objc:
* objc-act.c (objc_get_callee_fndecl): Constify.
* objc-act.h (objc_get_callee_fndecl): Likewise.
From-SVN: r127036
|
|
License and to point readers at the COPYING3 file and the FSF's license web page.
From-SVN: r126948
|
|
2007-06-23 Richard Guenther <rguenther@suse.de>
PR tree-optimization/16876
PR middle-end/29478
* tree.h (CALL_CANNOT_INLINE_P): New macro to access static_flag
for CALL_EXPRs.
* tree-inline.c (initialize_inlined_parameters): Do not call
lang_hooks.tree_inlining.convert_parm_for_inlining.
* cgraphbuild.c (initialize_inline_failed): Set inline failed
reason for mismatched types.
* gimplify.c (gimplify_call_expr): Verify the call expression
arguments match the called function type signature. Otherwise
mark the call expression to be not considered for inlining
using CALL_CANNOT_INLINE_P flag.
* ipa-inline.c (cgraph_mark_inline): Honor CALL_CANNOT_INLINE_P on the
edges call expression.
(cgraph_decide_inlining_of_small_function): Likewise.
(cgraph_decide_inlining): Likewise.
* c-objc-common.h (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
Remove define.
* c-tree.h (c_convert_parm_for_inlining): Remove declaration.
* c-typeck.c (c_convert_parm_for_inlining): Remove.
* langhooks-def.h (lhd_tree_inlining_convert_parm_for_inlining):
Remove declaration.
(LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING): Remove define.
* langhooks.c (lhd_tree_inlining_convert_parm_for_inlining):
Remove.
* langhooks.h (struct lang_hooks_for_tree_inlining): Remove
convert_parm_for_inlining member.
* gcc.dg/pr29254.c: The warning is bogus.
* gcc.dg/warn-1.c: Likewise.
* gcc.dg/assign-warn-3.c: Likewise.
* gcc.dg/noncompile/pr16876.c: The testcase is bogus, remove.
From-SVN: r125974
|
|
From-SVN: r125621
|
|
* langhooks-def.h: Remove the prototype for
hook_get_alias_set_0.
* langhooks.c (hook_get_alias_set_0): Remove.
From-SVN: r125145
|
|
stdcall attribute is applied to virtual functions.)
ChangeLog
PR target/27067
* doc/tm.texi (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Document.
* targhooks.h (default_mangle_decl_assembler_name): Declare
default hook.
* targhooks.c (default_mangle_decl_assembler_name): Define
default hook.
* target-def.h (TARGET_MANGLE_DECL_ASSEMBLER_NAME) New. Set to
default hook.
* target.h (struct gcc_target): Add mangle_decl_assembler_name field.
* langhooks.c (lhd_set_decl_assembler_name): Call
targetm.mangle_decl_assembler_name for names with global scope.
* config/i386/cygming.h (TARGET_MANGLE_DECL_ASSEMBLER_NAME) Override
default.
(ASM_OUTPUT_DEF_FROM_DECLS): Simplify to use DECL_ASSEMBLER_NAME.
* config/i386/i386-protos.h (i386_pe_mangle_decl_assembler_name):
Declare.
* config/i386/winnt.c (i386_pe_maybe_mangle_decl_assembler_name):
New. Factored out of i386_pe_encode_section_info.
(gen_stdcall_or_fastcall_suffix): Get name identifier as argument.
Move check for prior decoration of stdcall
symbols to i386_pe_encode_section_info.
(i386_pe_encode_section_info): Adjust call to
gen_stdcall_or_fastcall_suffix. Use
i386_pe_maybe_mangle_decl_assembler_name, if needed.
(i386_pe_mangle_decl_assembler_name): New. Wrap
i386_pe_maybe_mangle_decl_assembler_name.
cp/ChangeLog
* mangle.c (mangle_decl): Call targetm.mangle_decl_assembler_name.
From-SVN: r125020
|
|
INTEGRAL_TYPE_P and TYPE_UNSIGNED.
* c-common.c (c_common_signed_or_unsigned_type): Delay the check for
INTEGRAL_TYPE_P and TYPE_UNSIGNED.
* langhooks.c (get_signed_or_unsigned_type): Don't check for
INTEGRAL_TYPE_P or TYPE_UNSIGNED.
(lhd_signed_or_unsigned_type): Check for INTEGRAL_TYPE_P and
TYPE_UNSIGNED.
From-SVN: r125012
|
|
* langhooks.c (lhd_tree_inlining_add_pending_fn_decls,
lhd_tree_inlining_anon_aggr_type_p, lhd_tree_inlining_start_inlining,
lhd_tree_inlining_end_inlining): Remove.
* langhooks.h (struct lang_hooks_for_tree_inlining): Remove then
add_pending_fn_decls, anon_aggr_type_p, start_inlining, and
end_inlining hooks.
* langhooks-def.h (lhd_tree_inlining_add_pending_fn_decls,
lhd_tree_inlining_anon_aggr_type_p, lhd_tree_inlining_start_inlining,
lhd_tree_inlining_end_inlining): Remove prototypes.
(LANG_HOOKS_TREE_INLINING_ADD_PENDING_FN_DECLS,
LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P,
LANG_HOOKS_TREE_INLINING_START_INLINING,
LANG_HOOKS_TREE_INLINING_END_INLINING): Remove.
* c-objc-common.h (LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Do
not set it.
cp/
* cp-objcp-common.h (LANG_HOOKS_TREE_INLINING_ADD_PENDING_FN_DECLS):
Do not set it.
(LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Do not set it.
* tree.c (cp_add_pending_fn_decls): Remove.
* cp-tree.h (cp_add_pending_fn_decls): Remove prototype.
From-SVN: r123658
|
|
Revert change removing staticp.
From-SVN: r123650
|
|
in /
2007-04-06 Daniel Berlin <dberlin@dberlin.org>
* tree.c (staticp): No longer use staticp langhook.
* langhooks.c (lhd_staticp): Removed.
* langhooks.h (struct lang_hooks): Remove staticp.
* c-common.c (c_staticp): Remove.
* c-common.h (c_staticp): Ditto.
* langhooks-defs.h (lhd_staticp): Ditto.
(LHD_HOOKS_STATICP): Ditto
* tree.h (gcc_assert_lowered): New macro.
in cp/
2007-04-06 Daniel Berlin <dberlin@dberlin.org>
* cp-objcp-common.c (cxx_staticp): Remove.
* cp-objcp-common.h (LANG_HOOKS_STATICP): Remove.
* cp-tree.h (cxx_staticp):
From-SVN: r123636
|
|
2007-04-06 Daniel Berlin <dberlin@dberlin.org>
* langhooks-def.h (LANG_HOOKS_INITIALIZER): Remove
LANG_HOOKS_SAFE_FROM_P.
* expr.c (safe_from_p): Remove langhook call.
* langhooks.h (lang_hooks): Remove safe_from_p.
(lhd_safe_from_p): Remove prototype.
* langhooks.c (lhd_safe_from_p): Remove.
From-SVN: r123624
|
|
gcc/java/ChangeLog:
* typeck.c (java_signed_or_unsigned_type): Remove.
(java_signed_type): use get_signed_or_unsigned_type instead of
java_signed_or_unsigned_type.
(java_unsigned_type): Ditto.
* lang.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove.
* java-tree.h (java_signed_or_unsigned_type): Remove
gcc/Changelog:
* tree.h(get_signed_or_unsigned_type): New
* fold-const.c (operand_equal_for_comparison_p): Use
get_signed_or_unsigned_type instead of
lang_hooks.types.signed_or_unsigned_type.
* expr.c (store_expr): Ditto.
* langhooks.c (get_signed_or_unsigned_type): New.
(lhd_signed_or_unsigned_type): New
* langhooks.h (lhd_signed_or_unsigned_type): New.
* langhooks-def.h (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Define.
gcc/treelang/ChangeLog:
* treetree.c (tree_lang_signed_or_unsigned_type): Remove.
(LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE) Remove.
gcc/ada/ChangeLog:
* trans.c (Attribute_to_gnu): Use get_signed_or_unsigned_type
instead of gnat_signed_or_unsigned_type.
* utils.c (gnat_signed_or_unsigned_type): Remove.
* misc.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove
* gigi.h (gnat_signed_or_unsigned_type): Remove
gcc/forrtan/trans-types.c:
* trans-types.c (gfc_signed_or_unsigned_type): Remove.
(gfc_unsigned_type): Use get_signed_or_unsigned_type instead of
gfc_signed_or_unsigned_type.
(gfc_signed_type): Ditto.
* trans-types.h (gfc_signed_or_unsigned_type): Remove.
* f95-lang.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove.
From-SVN: r123373
|
|
calling build2 with a GIMPLE_MODIFY_STMT.
* function.c (gimplify_parameters): Call build_gimple_modify_stmt
instead of calling build2 with a GIMPLE_MODIFY_STMT.
* gimple-low.c (lower_function_body, lower_builtin_setjmp):
Likewise.
* gimplify.c (build_stack_save_restore, gimplify_return_expr,
gimplify_decl_expr, gimplify_self_mod_expr, gimplify_cond_expr,
gimplify_init_ctor_eval_range, gimple_push_cleanup,
gimplify_omp_for, gimplify_omp_atomic_pipeline,
gimplify_omp_atomic_mutex, gimplify_expr, gimplify_one_sizepos,
force_gimple_operand): Likewise.
* ipa-cp.c (constant_val_insert): Likewise.
* lambda-code.c (lbv_to_gcc_expression, lle_to_gcc_expression,
lambda_loopnest_to_gcc_loopnest, replace_uses_equiv_to_x_with_y,
perfect_nestify): Likewise.
* langhooks.c (lhd_omp_assignment): Likewise.
* omp-low.c (lower_rec_input_clauses, lower_reduction_clauses,
lower_copyprivate_clauses, lower_send_clauses,
lower_send_shared_vars, expand_parallel_call,
expand_omp_for_generic, expand_omp_for_static_nochunk,
expand_omp_for_static_chunk, expand_omp_sections,
lower_omp_single_copy, lower_omp_for_lastprivate,
lower_omp_parallel, init_tmp_var, save_tmp_var): Likewise.
* value-prof.c (tree_divmod_fixed_value, tree_mod_pow2,
tree_mod_subtract, tree_ic, tree_stringop_fixed_value):
Likewise.
From-SVN: r122120
|
|
gcc
* fold-const.c (fold_truthop): Don't check can_use_bit_fields_p.
(fold_binary): Likewise.
* langhooks.c (lhd_can_use_bit_fields_p): Removed.
* langhooks-def.h (lhd_can_use_bit_fields_p): Removed.
(LANG_HOOKS_CAN_USE_BIT_FIELDS_P): Removed.
(LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_CAN_USE_BIT_FIELDS_P.
* langhooks.h (struct lang_hooks): Removed field
'can_use_bit_fields_p'.
gcc/java
* lang.c (java_can_use_bit_fields_p): Removed.
(LANG_HOOKS_CAN_USE_BIT_FIELDS_P): Removed.
From-SVN: r120647
|
|
From-SVN: r119546
|
|
* builtins.c (expand_builtin_mathfn_3): Correct coding style.
* ddg.c (print_ddg_edge): Likewise.
* dwarf2out.c (prune_unused_types_walk): Likewise.
* ifcvt.c (noce_try_cmove_arith): Likewise.
* langhooks.c (add_builtin_function): Likewise.
* reg-stack.c (subst_stack_regs_pat): Likewise.
* tree.c (expanded_location): Likewise.
* tree-dump.c (dequeue_and_dump): Likewise.
From-SVN: r118187
|
|
* gcc/java/decl.c: Include langhooks.h.
(builtin_function): Remove.
(java_init_decl_processing): Replace calls to builtin_function
with add_builtin_function.
* gcc/java/Make-lang.in (jc1$(exeext)): Depend on and link with
attribs.o.
(java/decl.o): Depend on langhooks.h.
* gcc/java/java-tree.h (builtin_function): Remove.
* gcc/tree.c (local_define_builtin): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
* gcc/objc/objc-act.c (synth_module_prologue): Replace calls to
builtin_function with add_builtin_function.
(build_next_objc_exception_stuff): Replace calls to
builtin_function with add_builtin_function.
(build_objc_exception_stuff): Replace calls to
builtin_function with add_builtin_function.
* gcc/objcp/objcp-decl.h (objcp_builtin_function): Remove.
* gcc/cp/decl.c (builtin_function_1): Move common code to
add_builtin_function.
(builtin_function): Rename to cxx_builtin_function.
Change the signature.
* gcc/cp/call.c: Include langhooks.h.
(build_java_interface_fn_ref): Replace calls to
builtin_function with add_builtin_function.
* gcc/cp/Make-lang.in (cp/call.o): Depend on langhooks.h.
* gcc/cp/cp-objcp-common.h (LANG_HOOKS_BUILTIN_FUNCTION): Define as
cxx_builtin_function.
* gcc/cp/cp-tree.h (builtin_function): Rename to cxx_builtin_function.
Change the signature.
* gcc/c-objc-common.h (LANG_HOOKS_BUILTIN_FUNCTION): Define as
c_builtin_function.
* gcc/c-tree.h (builtin_function): Rename to c_builtin_function. Change
the signature.
* gcc/ada/utils.c (builtin_function): Rename to gnat_builtin_function.
Move common code to add_builtin_function.
* gcc/ada/misc.c (LANG_HOOKS_BUILTIN_FUNCTION): Define as
gnat_builtin_function.
* gcc/ada/gigi.h (builtin_function): Rename to gnat_builtin_function.
Change the signature.
* gcc/c-decl.c (builtin_function): Rename to c_builtin_function. Move
common code to add_builtin_function.
* gcc/fortran/Make-lang.in (f951$(exeext)): Depend on and link with
attribs.o.
* gcc/fortran/trans.h (builtin_function): Rename to
gfc_builtin_function. Change the signature.
* gcc/fortran/f95-lang.c (LANG_HOOKS_BUILTIN_FUNCTION): Define as
gfc_builtin_function.
(builtin_function): Rename to gfc_builtin_function. Move common
code to builtin_function.
(gfc_define_builtin): Replace calls to builtin_function with
gfc_define_builtin.
* gcc/langhooks.c (add_builtin_function): New function.
(lhd_builtin_function): New function.
* gcc/langhooks.h (struct lang_hooks): Change the signature of
builtin_function.
(add_builtin_function): New function.
* gcc/treelang/treetree.c (builtin_function): Remove.
* gcc/tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Replace
calls to lang_hooks.builtin_function with add_builtin_function.
* gcc/c-common.c (decl_builtin_1): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
* gcc/config/alpha/alpha.c (alpha_init_builtins): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
* gcc/config/frv/frv.c (def_builtin): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
* gcc/config/s390/s390.c (s390_init_builtins): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
* gcc/config/sparc/sparc.c (def_builtin): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
* gcc/config/i386/i386.c (def_builtin): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
(def_builtin): Replace calls to lang_hooks.builtin_function with
add_builtin_function.
* gcc/config/sh/sh.c (sh_media_init_builtins): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
* gcc/config/c4x/c4x.c (c4x_init_builtins): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
* gcc/config/stormy16/stormy16.c (xstormy16_init_builtins):
Replace calls to lang_hooks.builtin_function with
add_builtin_function.
* gcc/config/iq2000/iq2000.c (def_builtin):
Replace calls to lang_hooks.builtin_function with
add_builtin_function.
* gcc/config/ia64/ia64.c (def_builtin): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
* gcc/config/rs6000/rs6000.c (def_builtin): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
(altivec_init_builtins): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
* gcc/config/arm/arm.c (def_mbuiltin): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
(arm_init_tls_builtins): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
* gcc/config/mips/mips.c (mips_init_builtins): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
* gcc/config/bfin/bfin.c (def_builtin): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
* gcc/langhooks-def.h (lhd_builtin_function): New function.
(LANG_HOOKS_BUILTIN_FUNCTION): Define as lhd_builtin_function.
From-SVN: r117981
|
|
* langhooks.h (struct lang_hooks): Add dwarf_name language hook.
* langhooks.c (lhd_dwarf_name): New function.
* langhooks-def.h (lhd_dwarf_name): Declare.
(LANG_HOOKS_DWARF_NAME): New macro, defaults to lhd_dwarf_name.
* dwarf2out.c (dwarf2_name): Use the dwarf_name language hook.
* ada/misc.c (gnat_dwarf_name): New function.
(LANG_HOOKS_DWARF_NAME): Define to gnat_dwarf_name.
From-SVN: r113905
|
|
2006-01-31 Marcin Dalecki <martin@dalecki.de>
* tree-vrp.c: Use XNEW/XCNEW allocation wrappers.
* regrename.c: Ditto.
* tree-ssa-loop-im.c: Ditto.
* tree-dump.c: Ditto.
* tree-complex.c: Ditto.
* genrecog.c: Ditto.
* tree-ssa-threadupdate.c: Ditto.
* tracer.c: Ditto.
* java/class.c: Ditto.
* java/jcf-parse.c: Ditto.
* java/resource.c: Ditto.
* java/except.c: Ditto.
* java/jvspec.c: Ditto.
* java/jcf-write.c: Ditto.
* java/jcf-path.c: Ditto.
* java/gjavah.c: Ditto.
* java/zextract.c: Ditto.
* java/jcf-io.c: Ditto.
* java/jcf.h: Ditto.
* java/buffer.c: Ditto.
* java/lang.c: Ditto.
* java/parse-scan.y: Ditto.
* java/lex.c: Ditto.
* java/lex.h: Ditto.
* cfgloopmanip.c: Ditto.
* postreload-gcse.c: Ditto.
* tree-ssa-loop-manip.c: Ditto.
* postreload.c: Ditto.
* tree-ssa-loop-ch.c: Ditto.
* loop.c: Ditto.
* ipa-cp.c: Ditto.
* cppspec.c: Ditto.
* diagnostic.c: Ditto.
* final.c: Ditto.
* genoutput.c: Ditto.
* gcc.c: Ditto.
* cfghooks.c: Ditto.
* cfgloopanal.c: Ditto.
* objc/objc-act.c: Ditto.
* gcov.c: Ditto.
* genextract.c: Ditto.
* genautomata.c: Ditto.
* pretty-print.c: Ditto.
* genemit.c: Ditto.
* cgraphunit.c: Ditto.
* flow.c: Ditto.
* df-scan.c: Ditto.
* haifa-sched.c: Ditto.
* dominance.c: Ditto.
* dbxout.c: Ditto.
* tree-ssa-loop-ivopts.c: Ditto.
* df-core.c: Ditto.
* mode-switching.c: Ditto.
* modulo-sched.c: Ditto.
* graph.c: Ditto.
* ipa-pure-const.c: Ditto.
* cse.c: Ditto.
* fix-header.c: Ditto.
* web.c: Ditto.
* tree-stdarg.c: Ditto.
* ipa-utils.c: Ditto.
* loop-init.c: Ditto.
* ipa-inline.c: Ditto.
* cfganal.c: Ditto.
* global.c: Ditto.
* alloc-pool.c: Ditto.
* dwarf2out.c: Ditto.
* opts.c: Ditto.
* genattrtab.c: Ditto.
* tree-ssa-loop-ivcanon.c: Ditto.
* predict.c: Ditto.
* timevar.c: Ditto.
* lcm.c: Ditto.
* fortran/gfortranspec.c: Ditto.
* regmove.c: Ditto.
* local-alloc.c: Ditto.
* langhooks.c: Ditto.
* function.c: Ditto.
* tree-vectorizer.c: Ditto.
* gcse.c: Ditto.
* ipa-type-escape.c: Ditto.
* alias.c: Ditto.
* tree-if-conv.c: Ditto.
* profile.c: Ditto.
* ipa.c: Ditto.
* tree-data-ref.c: Ditto.
* loop-unroll.c: Ditto.
* treelang/treetree.c: Ditto.
* calls.c: Ditto.
* bt-load.c: Ditto.
* ggc-common.c: Ditto.
* except.c: Ditto.
* coverage.c: Ditto.
* cselib.c: Ditto.
* tree-cfgcleanup.c: Ditto.
* tree-ssa-pre.c: Ditto.
* cfgcleanup.c: Ditto.
* loop-invariant.c: Ditto.
* loop-iv.c: Ditto.
* ipa-prop.c: Ditto.
* print-tree.c: Ditto.
* conflict.c: Ditto.
* ggc-page.c: Ditto.
* sched-deps.c: Ditto.
* regclass.c: Ditto.
* tree-object-size.c: Ditto.
* combine.c: Ditto.
* bb-reorder.c: Ditto.
* resource.c: Ditto.
* var-tracking.c: Ditto.
* cfgloop.c: Ditto.
* df-problems.c: Ditto.
* reg-stack.c: Ditto.
* tlink.c: Ditto.
* gccspec.c: Ditto.
* sched-rgn.c: Ditto.
* tree-ssa-structalias.c: Ditto.
* tree-ssa-reassoc.c: Ditto.
* config/darwin-c.c: Ditto.
* config/darwin.c: Ditto.
* config/arm/arm.c: Ditto.
* cfgrtl.c: Ditto.
* collect2.c: Ditto.
* reload1.c: Ditto.
From-SVN: r110446
|
|
2006-01-18 Richard Henderson <rth@redhat.com>
Jakub Jelinek <jakub@redhat.com>
Diego Novillo <dnovillo@redhat.com>
* libgomp: New directory.
* Makefile.def: Add target_module libgomp.
* Makefile.in: Regenerate.
* configure.in (target_libraries): Add target-libgomp.
* configure: Regenerate.
contrib/
2006-01-18 Richard Henderson <rth@redhat.com>
Diego Novillo <dnovillo@redhat.com>
* gcc_update (files_and_dependencies): Add libgomp files.
gcc/
2006-01-18 Richard Henderson <rth@redhat.com>
Aldy Hernandez <aldyh@redhat.com>
Jakub Jelinek <jakub@redhat.com>
Diego Novillo <dnovillo@redhat.com>
* omp-low.c: New file.
* c-omp.c: New file.
2006-01-18 Richard Henderson <rth@redhat.com>
Jakub Jelinek <jakub@redhat.com>
Diego Novillo <dnovillo@redhat.com>
* doc/invoke.texi: Document -fopenmp.
* tree-dump.h (debug_function): Declare.
* hooks.c (hook_bool_tree_bool_false): New function.
(hook_tree_tree_null): Remove.
(hook_tree_tree_tree_null): New.
* hooks.h: Update to match.
* tree-pretty-print.c (debug_tree_chain): New.
(print_generic_expr): Handle TDF_CHAIN.
(dump_generic_node): Handle BLOCK.
Do not abort with incomplete SWITCH_EXPRs.
Do not dump body of an OpenMP directive if TDF_SLIM is given.
<case OMP_PARALLEL, OMP_FOR, OMP_SECTIONS>: Don't
print space after directive name.
<OMP_FOR>: Handle printing OMP_FOR_PRE_BODY.
Handle OMP_MASTER and OMP_ORDERED.
Handle printing of OMP_BODY just in one place, goto
dump_omp_body in the rest of OMP_* nodes that have
OMP_BODY.
Don't handle clause nodes here. Update omp statements to
use dump_omp_clauses.
Handle OMP_SINGLE, OMP_SECTIONS, OMP_SECTION,
OMP_CLAUSE_ORDERED, OMP_CLAUSE_SCHEDULE, OMP_ATOMIC,
OMP_CRITICAL, OMP_CLAUSE_NOWAIT, GOMP_CLAUSE_IF,
GOMP_CLAUSE_NUM_THREADS, GOMP_FOR, GOMP_CLAUSE_SHARED,
GOMP_CLAUSE_FIRSTPRIVATE, GOMP_CLAUSE_LASTPRIVATE,
GOMP_CLAUSE_COPYIN and GOMP_CLAUSE_COPYPRIVATE.
Adjust output for GOMP_PARALLEL.
(dump_omp_clauses): New.
(print_declaration): Dump DECL_VALUE_EXPR.
(op_symbol_1): Split out of op_symbol.
(dumping_stmts): Remove. Update all users.
* cgraph.c (cgraph_analyze_queue): New.
(cgraph_add_new_function): New.
* cgraph.h (cgraph_analyze_queue): Declare.
(cgraph_add_new_function): Declare.
(cgraph_lower_function): Remove.
* tree.c (walk_tree): Walk OMP_CLAUSE_CHAIN of OMP_CLAUSE_*
nodes. Use switch for all nodes, handle most of IS_EXPR_CODE_CLASS
and TYPE_P nodes in its default clause.
(empty_body_p): New.
(tree_range_check_failed): New.
(build5_stat): New.
* tree.h (OMP_CLAUSE_REDUCTION_INIT,
OMP_CLAUSE_REDUCTION_MERGE,
OMP_CLAUSE_REDUCTION_PLACEHOLDER,
OMP_CLAUSE_PRIVATE_DEBUG,
OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE, OMP_FOR_PRE_BODY,
OMP_MASTER_BODY, OMP_ORDERED_BODY OMP_BODY,
OMP_CLAUSES, OMP_CLAUSE_DECL, OMP_CLAUSE_DEFAULT_KIND,
OMP_CLAUSE_CHAIN, OMP_CLAUSE_OUTER_DECL,
OMP_CLAUSE_INNER_DECL, OMP_CLAUSE_NUM_THREADS_EXPR,
OMP_CLAUSE_IF_EXPR, OMP_CLAUSE_SCHEDULE_CHUNK_EXPR,
OMP_CLAUSE_SCHEDULE_CHUNK_SIZE. OMP_PARALLEL_VAR_INIT,
OMP_PARALLEL_VAR_REDUC, OMP_FOR_VAR_INIT,
OMP_FOR_VAR_LAST, OMP_FOR_VAR_REDUC,
OMP_SECTIONS_VAR_INIT, OMP_SECTIONS_VAR_LAST,
OMP_SECTIONS_VAR_REDUC, OMP_CLAUSE_REDUCTION_CODE
OMP_SINGLE_CLAUSES, OMP_SINGLE_BODY,
OMP_CLAUSE_SCHEDULE_CHUNK_SIZE, OMP_SECTION_BODY,
OMP_CRITICAL_NAME, OMP_CRITICAL_BODY): New.
(TREE_RANGE_CHECK): New.
(empty_body_p): Declare.
(enum omp_clause_default_kind): New.
(build_string_literal): Declare.
(enum omp_clause_schedule_kind, OMP_CLAUSE_SCHEDULE_KIND): New.
(build5_stat, build5): Declare.
* tree-pass.h (TDF_CHAIN): Define.
* tree-pass.h (PROP_gimple_lomp): Define.
(pass_lower_omp): Declare.
* diagnostic.h (debug_tree_chain): Declare.
* builtins.c (get_builtin_sync_mode): Use 0 as last argument to
mode_for_size.
(expand_builtin): Handle sync BUILT_IN_*_16 builtins.
* builtins.c (build_string_literal): Make extern.
* gcc.c (include_spec_function): New.
(static_spec_functions): Add it.
(main): Move load of libgomp.spec ...
(LINK_COMMAND_SPEC): ... here.
(link_gomp_spec): New.
(static_specs): Include it.
(LINK_COMMAND_SPEC): Add link_gomp.
(GOMP_SELF_SPECS): New.
(driver_self_specs): Include it.
(switch_matches): Don't mark inline.
(main): Load libgomp.spec.
* tree-gimple.c (is_gimple_stmt): True for OMP_MASTER,
OMP_ORDERED, OMP_CRITICAL, OMP_SECTIONS, OMP_SECTION,
and OMP_SINGLE, OMP_FOR and OMP_PARALLEL.
* tree-gimple.h (enum omp_parallel): Declare.
(determine_parallel_type): Declare.
(omp_firstprivatize_variable): Declare.
(omp_reduction_init): Declare.
(diagnose_omp_structured_block_errors): Declare.
(struct walk_stmt_info): Add want_return_expr.
(struct walk_stmt_info): Add want_bind_expr, want_locations.
(find_omp_clause): Declare.
(insert_field_into_struct): Declare.
(struct walk_stmt_info): Move from tree-nested.c
(walk_stmts): Declare.
* c-cppbuiltin.c (c_cpp_builtins): If -fopenmp, #define _OPENMP
to 200505.
* cgraphunit.c (cgraph_lower_function): Make static.
(cgraph_finalize_pending_functions): New.
(cgraph_finalize_function): Call it.
(cgraph_finalize_compilation_unit): Likewise.
* builtin-types.def (BT_I16, BT_FN_I16_VPTR_I16,
BT_FN_BOOL_VPTR_I16_I16, BT_FN_I16_VPTR_I16_I16): Add.
(BT_FN_UINT_UINT): New.
(DEF_FUNCTION_TYPE_6, DEF_FUNCTION_TYPE_7,
DEF_FUNCTION_TYPE_VAR_4): Document.
(BT_PTR_LONG, BT_PTR_PTR, BT_FN_BOOL, BT_FN_INT,
BT_FN_VOID_PTRPTR, BT_PTR_FN_VOID_PTR,
BT_FN_BOOL_LONGPTR_LONGPTR, BT_FN_VOID_OMPFN_PTR_UINT,
BT_FN_VOID_OMPFN_PTR_UINT_UINT,
BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR,
BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG,
BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG): New.
* builtins.def: Update DEF_BUILTIN comment to include COND argument.
Move all DEF_SYNC_BUILTIN () and DEF_GOMP_BUILTIN () builtins
into separate files.
(DEF_GOMP_BUILTIN): New.
(BUILT_IN_OMP_GET_THREAD_NUM, BUILT_IN_GOMP_BARRIER,
BUILT_IN_GOMP_CRITICAL_START, BUILT_IN_GOMP_CRITICAL_END,
BUILT_IN_GOMP_CRITICAL_NAME_START, BUILT_IN_GOMP_CRITICAL_NAME_END,
BUILT_IN_GOMP_LOOP_STATIC_START, BUILT_IN_GOMP_LOOP_DYNAMIC_START,
BUILT_IN_GOMP_LOOP_GUIDED_START, BUILT_IN_GOMP_LOOP_RUNTIME_START,
BUILT_IN_GOMP_LOOP_ORDERED_STATIC_START,
BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_START,
BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_START,
BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_START,
BUILT_IN_GOMP_LOOP_STATIC_NEXT, BUILT_IN_GOMP_LOOP_DYNAMIC_NEXT,
BUILT_IN_GOMP_LOOP_GUIDED_NEXT, BUILT_IN_GOMP_LOOP_RUNTIME_NEXT,
BUILT_IN_GOMP_LOOP_ORDERED_STATIC_NEXT,
BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_NEXT,
BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_NEXT,
BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_NEXT,
BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START,
BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC_START,
BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED_START,
BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME_START,
BUILT_IN_GOMP_LOOP_END, BUILT_IN_GOMP_LOOP_END_NOWAIT,
BUILT_IN_GOMP_ORDERED_START, BUILT_IN_GOMP_ORDERED_END,
BUILT_IN_GOMP_PARALLEL_START, BUILT_IN_GOMP_PARALLEL_END,
BUILT_IN_GOMP_SECTIONS_START, BUILT_IN_GOMP_SECTIONS_NEXT,
BUILT_IN_GOMP_PARALLEL_SECTIONS_START, BUILT_IN_GOMP_SECTIONS_END,
BUILT_IN_GOMP_SECTIONS_END_NOWAIT, BUILT_IN_GOMP_SINGLE_START,
BUILT_IN_GOMP_SINGLE_COPY_START, BUILT_IN_GOMP_SINGLE_COPY_END): New.
* sync-builtins.def: New file, moved from builtins.def.
* omp-builtins.def: New file, moved from builtins.def.
* c-objc-common.h (LANG_HOOKS_OMP_PREDETERMINED_SHARING): Redefine.
* gimple-low.c (lower_function_body): Clear data.
(lower_stmt): Do not handle COMPOUND_EXPR.
Remove call to print_node_brief.
* c-tree.h (c_finish_omp_clauses): New prototype.
(C_DECL_THREADPRIVATE_P): Define.
(lookup_name_no_remap, c_omp_remap_private): Remove
(c_begin_omp_parallel, c_finish_omp_parallel): Update.
(check_for_loop_decls): Update decl.
(lookup_name_no_remap, c_omp_remap_private): Declare.
(build_indirect_ref, build_modify_expr, pushdecl,
pushdecl_top_level): Move to c-common.h.
* dwarf2out.c (loc_descriptor_from_tree_1): Don't set unsignedp
before the switch, but just in the 2 places that need it.
* c-decl.c (diagnose_mismatched_decls): Do not check for
mismatched thread-local attributes when OLDDECL is marked
threadprivate and NEWDECL has no thread-local attributes.
(merge_decls): Merge C_DECL_THREADPRIVATE_P.
(c_gimple_diagnostics_recursively): Rename from
c_warn_unused_result_recursively. Invoke
diagnose_omp_structured_block_errors.
(check_for_loop_decls): Return a singular decl found.
* langhooks.c (lhd_omp_predetermined_sharing): Return
OMP_CLAUSE_DEFAULT_SHARED for DECL_ARTIFICIAL decls.
(lhd_omp_firstprivatize_type_sizes): New.
(lhd_omp_assignment): New.
(lhd_omp_predetermined_sharing): New.
* langhooks.h (struct gimplify_omp_ctx): Forward declare.
(struct lang_hooks_for_types): Add
omp_firstprivatize_type_sizes, omp_privatize_by_reference,
omp_predetermined_sharing, omp_disregard_value_expr,
omp_private_debug_clause, omp_clause_default_ctor,
omp_clause_copy_ctor, omp_clause_assign_op, omp_clause_dtor.
(c_finish_omp_clauses): New.
(c_finish_bc_stmt): Diagnose break within omp for.
(c_begin_omp_parallel, c_finish_omp_parallel): New.
(build_unary_op): Return error_mark after reporting
a readonly_error.
(build_modify_expr): Likewise.
* gimplify.c: Include optabs.h and pointer-set.h.
(enum gimplify_omp_var_data): Declare.
(struct gimplify_omp_ctx): Declare.
(struct gimplify_ctx): Add fields prev_context, combined_pre_p
and combined_ctxp.
(gimplify_ctxp, gimplify_omp_ctxp): New local variables.
(push_gimplify_context, pop_gimplify_context): Allow nesting.
(splay_tree_compare_decl_uid): New.
(new_omp_context): New.
(delete_omp_context): New.
(gimple_add_tmp_var): Call omp_add_variable.
(gimplify_bind_expr): Likewise.
(gimplify_var_or_parm_decl): If omp_notice_variable returned
true, disregard DECL_VALUE_EXPR on the decl if any.
(gimplify_expr_in_ctx): New.
(omp_firstprivatize_variable, omp_firstprivatize_type_sizes
omp_add_variable, omp_notice_variable, omp_is_private
gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses_1
gimplify_adjust_omp_clauses, gimplify_omp_parallel
gimplify_omp_for, gimplify_omp_workshare, goa_lhs_expr_p
gimplify_omp_atomic_fetch_op, goa_stabilize_expr
gimplify_omp_atomic_pipeline, gimplify_omp_atomic_mutex
gimplify_omp_atomic): New.
(gimplify_expr): Handle OMP_PARALLEL, OMP_FOR, OMP_SECTIONS,
OMP_SINGLE, OMP_SECTION, OMP_MASTER, OMP_ORDERED,
OMP_CRITICAL and OMP_ATOMIC.
(gimplify_body): Verify gimplify_ctxp is empty after gimplification.
* c-pragma.h (enum pragma_kind): Add
PRAGMA_OMP_ATOMIC, PRAGMA_OMP_BARRIER,
PRAGMA_OMP_CRITICAL, PRAGMA_OMP_FLUSH, PRAGMA_OMP_FOR,
PRAGMA_OMP_MASTER, PRAGMA_OMP_ORDERED,
PRAGMA_OMP_PARALLEL, PRAGMA_OMP_PARALLEL_FOR,
PRAGMA_OMP_PARALLEL_SECTIONS, PRAGMA_OMP_SECTION,
PRAGMA_OMP_SECTIONS, PRAGMA_OMP_SINGLE,
PRAGMA_OMP_THREADPRIVATE.
* tree.def (OMP_PARALLEL, OMP_FOR, OMP_SECTIONS,
OMP_SINGLE, OMP_SECTION, OMP_MASTER, OMP_ORDERED,
OMP_CRITICAL, OMP_ATOMIC, OMP_CLAUSE_PRIVATE,
OMP_CLAUSE_SHARED, OMP_CLAUSE_FIRSTPRIVATE,
OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_REDUCTION,
OMP_CLAUSE_COPYIN, OMP_CLAUSE_COPYPRIVATE,
OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS,
OMP_CLAUSE_SCHEDULE, OMP_CLAUSE_NOWAIT,
OMP_CLAUSE_ORDERED, OMP_CLAUSE_DEFAULT): Define.
* print-tree.c (print_node): Dump DECL_VALUE_EXPR.
* tree-ssa-dce.c (find_control_dependence): Do not assume that
ENTRY_BLOCK_PTR->next_bb == single_succ (ENTRY_BLOCK_PTR).
* tree-nested.c (convert_call_expr): Call walk_body on OMP_BODY for
OpenMP directives.
(struct nesting_info): Add field_map,
suppress_expansion, debug_var_chain.
(create_nesting_tree): Initialize them.
(lookup_field_for_decl): Use field_map.
(get_nonlocal_debug_decl, get_local_debug_decl): New.
(convert_local_omp_clauses): New.
(finalize_nesting_tree_1): Add debug_var_chain to toplevel block.
(walk_body): Split out of walk_function.
(convert_nonlocal_omp_clauses, convert_local_omp_clauses): New.
(convert_nonlocal_reference): Handle omp statements.
(convert_local_reference): Likewise.
(unnest_nesting_tree_1): Split out of finalize_nesting_tree_1.
(unnest_nesting_tree): New.
(lower_nested_functions): Call it.
(insert_field_into_struct): Make extern.
(struct walk_stmt_info): Move to tree-gimple.h.
(walk_stmts): Make extern.
* omp-builtins.def: New file.
* tree-iterator.c (expr_only): Clarify comment.
* c-common.h (pushdecl_top_level, pushdecl,
build_modify_expr, build_indirect_ref,
c_finish_omp_master, c_finish_omp_critical,
c_finish_omp_ordered, c_finish_omp_barrier,
c_finish_omp_atomic, c_finish_omp_flush,
c_finish_omp_for, c_split_parallel_clauses,
omp_clause_default_kind, c_omp_sharing_predetermined,
c_omp_remap_decl): Declare.
* Makefile.in (BUILTINS_DEF): Add omp-builtins.def.
(OBJS-common): Add omp-low.o.
(c-omp.o, omp-low.o): Add.
(gimplify.o): Add dependency on $(OPTABS_H).
(GTFILES): Add omp-low.c.
(gt-stringpool.h): Add.
* tree-cfg.c (set_bb_for_stmt): Do not update the
block-to-labels map if we are currently expanding to RTL.
(tree_node_can_be_shared): Remove unnecessary CONSTANT_CLASS_P
checks.
Handle IDENTIFIER_NODE.
(tree_verify_flow_info): Do not ICE when emitting error
messages about invalid labels.
(dump_function_to_file): Reset CFUN before emitting the body
of the function.
(debug_function): New.
* passes.c (init_optimization_passes): Schedule
pass_lower_omp.
* langhooks-def.h (lhd_omp_predetermined_sharing,
lhd_omp_assignment, lhd_omp_firstprivatize_type_sizes):
Declare.
(LANG_HOOKS_OMP_FIRSTPRIVATIZE_TYPE_SIZES): Define.
(LANG_HOOKS_FOR_TYPES_INITIALIZER): Use it.
(LANG_HOOKS_OMP_PRIVATIZE_BY_REFERENCE,
LANG_HOOKS_OMP_PREDETERMINED_SHARING,
LANG_HOOKS_OMP_DISREGARD_VALUE_EXPR,
LANG_HOOKS_OMP_PRIVATE_DEBUG_CLAUSE,
LANG_HOOKS_OMP_CLAUSE_DEFAULT_CTOR,
LANG_HOOKS_OMP_CLAUSE_COPY_CTOR,
LANG_HOOKS_OMP_CLAUSE_ASSIGN_OP,
LANG_HOOKS_OMP_CLAUSE_DTOR): Define.
(LANG_HOOK_DECLS): Use them.
2006-01-18 Dmitry Kurochkin <dmitry.kurochkin@gmail.com>
Richard Henderson <rth@redhat.com>
Jakub Jelinek <jakub@redhat.com>
Diego Novillo <dnovillo@redhat.com>
* c-parser.c (pragma_omp_clause): Define.
(c_parser_declaration_or_fndef): Document OpenMP syntax.
(c_parser_compound_statement): Likewise.
(c_parser_statement): Likewise.
(c_parser_pragma): Handle omp pragmas.
(OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
OMP_PARALLEL_CLAUSE_MASK, OMP_SINGLE_CLAUSE_MASK): Define.
(c_parser_omp_clause_name, check_no_duplicate_clause,
c_parser_omp_variable_list,
c_parser_omp_var_list_parens, c_parser_omp_clause_copyin,
c_parser_omp_clause_copyprivate,
c_parser_omp_clause_default,
c_parser_omp_clause_firstprivate, c_parser_omp_clause_if,
c_parser_omp_clause_lastprivate,
c_parser_omp_clause_nowait,
c_parser_omp_clause_num_threads,
c_parser_omp_clause_ordered, c_parser_omp_clause_private,
c_parser_omp_clause_reduction,
c_parser_omp_clause_schedule, c_parser_omp_clause_shared,
c_parser_omp_all_clauses, c_parser_omp_structured_block,
c_parser_omp_atomic, c_parser_omp_barrier,
c_parser_omp_critical, c_parser_omp_flush,
c_parser_omp_for_loop, c_parser_omp_for,
c_parser_omp_master, c_parser_omp_ordered,
c_parser_omp_sections_scope, c_parser_omp_sections,
c_parser_omp_parallel, c_parser_omp_single,
c_parser_omp_construct, c_parser_omp_threadprivate): New.
* c-pragma.c (init_pragma): Do omp pragma registration here.
* c.opt (fopenmp): New flag.
2006-01-18 Eric Christopher <echristo@apple.com>
* gcc.c (GOMP_SELF_SPECS): Bracket in #ifndef/#endif.
* config/darwin.h (GOMP_SELF_SPECS): Define.
testsuite/
2006-01-18 Richard Henderson <rth@redhat.com>
Aldy Hernandez <aldyh@redhat.com>
Jakub Jelinek <jakub@redhat.com>
Diego Novillo <dnovillo@redhat.com>
Uros Bizjak <uros@kss-loka.si>
* testsuite/gcc.dg/gomp: New directory.
From-SVN: r109902
|
|
PR debug/23190
* toplev.c (wrapup_global_declaration_1): Split out ...
(wrapup_global_declaration_2): ... from ...
(wrapup_global_declarations): ... here. Return bool.
(check_global_declaration_1): Split out ...
(check_global_declarations): from here.
(emit_debug_global_declarations): New.
* toplev.h (wrapup_global_declaration_1, wrapup_global_declaration_2,
check_global_declaration_1, emit_debug_global_declarations): Declare.
* c-decl.c (c_write_global_declarations_1): Don't create a vector
of decls. Call wrapup_global_declaration_1,
wrapup_global_declaration_2, check_global_declaration_1 directly.
(c_write_global_declarations_2): New.
(ext_block): New.
(c_write_global_declarations): Call c_write_global_declarations_2.
* langhooks.c (write_global_declarations): Call
emit_debug_global_declarations.
* cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Don't
remove decls that have DECL_RTL_SET_P.
* passes.c (rest_of_decl_compilation): Invoke
cgraph_varpool_finalize_decl for all but functions.
cp/
* decl.c (wrapup_globals_for_namespace): Call
emit_debug_global_declarations.
* decl2.c (cp_finish_file): Likewise.
From-SVN: r104065
|
|
PR c/22013
PR c/22098
* langhooks.h (struct lang_hooks): Add expr_to_decl.
* langhooks.c (lhd_expr_to_decl): New.
* langhooks-def.h (lhd_expr_to_decl, LANG_HOOKS_EXPR_TO_DECL):
New.
(LANG_HOOKS_INITIALIZER): Update.
* tree.c (recompute_tree_invarant_for_addr_expr): Call
expr_to_decl langhook.
* c-tree.h (c_expr_to_decl): Declare.
* c-typeck.c (c_expr_to_decl): New.
(build_unary_op): Do not handle ADDR_EXPR of COMPOUND_LITERAL_EXPR
specially.
* c-objc-common.h (LANG_HOOKS_EXPR_TO_DECL): Define.
testsuite:
* gcc.c-torture/compile/pr22013-1.c,
gcc.c-torture/execute/pr22098-1.c,
gcc.c-torture/execute/pr22098-2.c,
gcc.c-torture/execute/pr22098-3.c: New tests.
From-SVN: r101630
|
|
From-SVN: r101317
|
|
* alias.c (true_dependence): Remove 'abort' from comments. Use
gcc_assert and gcc_unreachable as appropriate.
(canon_true_dependence): Likewise.
* bb-reorder.c (connect_traces): Likewise.
* c-common.c (c_add_case_label): Likewise.
* c-decl.c (finish_function): Likewise.
* caller-save.c (insert_restore, insert_save): Likewise.
* cfg.c (update_bb_profile_for_threading): Likewise.
* cfganal.c (flow_active_insn_p): Likewise.
* cfgexpand.c (add_reg_br_prob_note): Likewise.
* cfgrtl.c (rtl_redirect_edge_and_branch_force, rtl_split_edge,
cfg_layout_merge_blocks): Likewise.
* ifcvt.c (cond_exec_process_insns, merge_if_block,
find_if_block): Likewise.
* integrate.c (allocate_initial_values): Likewise.
* jump.c (reverse_condition, reverse_condition_maybe_unordered,
swap_condition, unsigned_condition, signed_condition,
mark_jump_label, invert_jump_1, rtx_renumbered_equal_p,
reg_or_subregno): Likewise.
* lambda-code.c (lambda_compute_auxillary_space,
lambda_transform_legal_p): Likewise.
* lambda-mat.c (lambda_matrix_inverse_hard): Likewise.
* langhooks.c (lhd_set_decl_assembler_name, lhd_type_promotes_to,
lhd_incomplete_type_error, lhd_expand_expr,
lhd_types_compatible_p, lhd_tree_size): Likewise.
* lcm.c (create_pre_exit, optimize_mode_switching): Likewise.
* local-alloc.c (update_equiv_regs): Likewise.
* loop-unroll.c (peel_loop_completely
unroll_loop_constant_iterations, unroll_loop_runtime_iterations,
peel_loop_simple, unroll_loop_stupid,
analyze_iv_to_split_insn): Likewise.
* loop.c (gen_prefetch, find_and_verify_loops,
basic_induction_var): Likewise.
* modulo-sched.c (normalize_sched_times, check_nodes_order): Likewise.
* value-prof.c (tree_find_values_to_profile): Likewise.
* varasm.c (named_section, default_assemble_integer,
decode_addr_const): Likewise.
From-SVN: r98508
|
|
* c-objc-common.h, c-pretty-print.c, cgraphunit.c, except.c,
genautomata.c, langhooks.c, langhooks.h, system.h,
config/arm/lib1funcs.asm: Update copyright.
From-SVN: r95331
|
|
sets)
PR 18785
libcpp:
* charset.c (LAST_POSSIBLY_BASIC_SOURCE_CHAR): New helper macro.
(cpp_host_to_exec_charset): New function.
* include/cpplib.h: Declare cpp_host_to_exec_charset.
gcc:
* langhooks.h (struct lang_hooks): Add to_target_charset.
* langhooks.c (lhd_to_target_charset): New function.
* langhooks-def.h: Declare lhd_to_target_charset.
(LANG_HOOKS_TO_TARGET_CHARSET): New macro.
(LANG_HOOKS_INITIALIZER): Update.
* c-common.c (c_common_to_target_charset): New function.
* c-common.h: Declare it.
* c-objc-common.h (LANG_HOOKS_TO_TARGET_CHARSET): Set to
c_common_to_target_charset.
* defaults.c (TARGET_BELL, TARGET_BS, TARGET_CR, TARGET_DIGIT0)
(TARGET_ESC, TARGET_FF, TARGET_NEWLINE, TARGET_TAB, TARGET_VT):
Delete definitions.
* system.h: Poison them.
* doc/tm.texi: Don't discuss them.
* builtins.c (fold_builtin_isdigit): Use lang_hooks.to_target_charset.
* c-pretty-print.c (pp_c_integer_constant): Don't use pp_c_char.
(pp_c_char): Do not attempt to generate letter escapes for
newline, tab, etc.
* config/arm/arm.c (output_ascii_pseudo_op): Likewise.
* config/mips/mips.c (mips_output_ascii): Likewise.
gcc/cp:
* cp-objcp-common.h (LANG_HOOKS_TO_TARGET_CHARSET): Set to
c_common_to_target_charset. Delete bogus comment.
gcc/testsuite:
* gcc.dg/charset/builtin1.c: New test.
From-SVN: r95304
|
|
* pointer-set.c: New file, special-purpose hash table.
* pointer-set.h: New file.
* tree.h (struct pointer_set_t): Declare as opaque type.
(tree_walk): Last argument is pointer_set_t* now.
* tree-inline.c (WALK_SUBTREE): Convert from htab to pset.
(walk_type_fields):
(walk_tree): Convert from htab_t to pointer_set_t for keeping
track of which nodes have already been visited.
(walk_tree_without_duplicates): Convert from htab_t to pointer_set_t.
* cgraphunit.c (cgraph_create_edges): Likewise.
(cgraph_characterize_statics_local): Likewise.
* tree-dfa.c (collect_dfa_stats): Likewise.
* langhooks-def.h (lhd_tree_inlining_walk_subtrees): Last arg is
pointer_set_t* now.
* langhooks.c (lhd_tree_inlining_walk_subtrees): Likewise.
* langhooks.h (struct lang_hooks_for_tree_inlining): Last arg type
of walk_subtrees is pointer_set_t* now.
* Makefile.in (OBJS-common): add pointer-set.o
(tree-inline.o): Depends on pointer-set.h
(tree-dfa.o): Likewise
(cgraphunit.o): Likewise
* cp/Make-lang.in (pt.o): depends on pointer-set.h
* cp/cp-tree.h (cp_walk_subtrees): Last argument is pointer_set_t* now.
* cp/pt.c (struct pair_fn_data): Use pointer_set_t, not htab_t
(for_each_template_parm): Convert from htab_t to pointer_set_t.
* cp/tree.c (cp_walk_subtrees): Last argument is pointer_set_t* now.
* java/lang.c (java_tree_inlining_walk_subtrees): Last arg is struct
pointer_set_t* now.
From-SVN: r89062
|
|
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
|
|
pretty-print.c.
gcc:
* attribs.c, builtins.c, c-format.c, c-pch.c, coverage.c,
except.c, fold-const.c, function.c, langhooks.c, params.c,
reload.c, reload1.c, stmt.c, stor-layout.c, toplev.c, tree-cfg.c,
tree-dump.c, tree-mudflap.c, tree.c, varasm.c: Use %<, %> and %q
for quoting in diagnostics going through pretty-print.c. Use ''
for quoting in other diagnostic text.
* langhooks.c: Include intl.h. Mark text locating diagnostics for
translation.
* Makefile.in (langhooks.o): Update dependencies.
* pretty-print.h (pp_printf): Mark as accepting GCC diagnostic
formats.
gcc/testsuite:
* g++.dg/ext/member-attr.C, g++.dg/warn/deprecated.C,
gcc.dg/deprecated.c, gcc.dg/noreturn-1.c, gcc.dg/noreturn-4.c:
Update expected messages.
libmudflap:
* testsuite/libmudflap.c/pass35-frag.c: Update expected message.
From-SVN: r87563
|
|
* configure.ac: Check for COMDAT support. Robustify check for
SHF_MERGE support.
* configure: Regenerated.
* config.in: Likewise.
* langhooks-def.h (lhd_comdat_group): New function.
(LANG_HOOKS_COMDAT_GROUP): New macro.
(LANG_HOOKS_DECLS): Use it.
* langhooks.c (lhd_comdat_group): Define.
* langhooks.h (lang_hooks_for_decls): Add comdat_group.
* output.h (named_section_flags): Make it a macro.
(named_section_real): New function.
(default_no_named_section): Add decl parameter.
(default_elf_asm_named_section): Likewise.
(default_coff_asm_named_section): Likewise.
(default_pe_asm_named_section): Likewise.
* target.h (gcc_target): Adjust type of named_section.
* varasm.c (named_section_flags): Rename to named_section_real.
Add decl parameter.
(default_no_named_section): Add decl parameter.
(default_elf_asm_named_section): Use COMDAT, if available. Deal
with the case that ASM_COMMENT_START is "@".
(default_coff_asm_named_section): Add decl parameter.
(default_pe_asm_named_section): Likewise.
* config/alpha/alpha.c (vms_asm_named_section): Add decl
parameter.
(unicosmk_asm_named_section): Likewise.
* config/arm/arm.c (arm_elf_asm_named_section): Remove.
* config/arm/elf.h (TARGET_ASM_NAMED_SECTION): Likewise.
* config/c4x/c4x.c (c4x_asm_named_section): Add decl parameter.
* config/cris/cris-protos.h (cris_target_asm_named_section):
Likewise.
* config/cris/cris.c (cris_target_asm_named_section):
Likewise.
* config/h8300/h8300.c (h8300_asm_named_section): Likewise.
* config/i386/i386-protos.h (i386_pe_asm_named_section):
Likewise.
* config/i386/winnt.c (i386_pe_asm_named_section): Likewise.
* config/m68k/m68k.c (m68k_coff_asm_named_section): Likewise.
* config/mcore/mcore.c (mcore_asm_named_section): Likewise.
* config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section):
Likewise.
* config/sparc/sparc.c (sparce_elf_asm_named_section): Likewise.
* cp-objcp-common.h (LANG_HOOKS_COMDAT_GROUP): Define.
* cp-tree.h (cxx_comdat_group): Declare.
* decl.c (cxx_comdat_group): New function.
From-SVN: r87557
|
|
PR c++/17412
* fold-const.c (fold): Do not try to fold the operand of a
CLEANUP_POINT_EXPR if that operand does itself not have any
operands.
testsuite/
* g++.dg/parse/break-in-for.C: New test.
PR middle-end/17417
* langhooks.c (lhd_decl_printable_name): Make sure that this
function is called with is a decl node that has an identifier.
* tree-pretty-print.c (dump_function_name): New function to
wrap PRINT_FUNCTION_NAME and dump_decl_name.
(print_call_name): Use it.
From-SVN: r87363
|
|
* lambda-mat.c (lambda_matrix_inverse_hard): Use gcc_assert
and gcc_unreachable instead of abort.
* lambda.h (lambda_vector_min_nz): Likewise.
* langhooks.c lhd_set_decl_assembler_name, lhd_can_use_bit_fields_p,
lhd_incomplete_type_error, lhd_expand_expr, lhd_types_compatible_p,
lhd_gimplify_expr): Likewise.
* lcm.c (optimize_mode_switching): Likewise.
* local-alloc.c (update_equiv_regs, block_alloc, find_free_reg):
Likewise.
* loop-doloop.c (doloop_modify): Likewise.
* loop-invariant.c (record_use): Likewise.
* loop-iv.c (get_biv_step_1, get_biv_step, iv_analyze, get_iv_value,
canon_condition, simplify_using_condition,
simplify_using_initial_values, shorten_into_mode,
canonicalize_iv_subregs, iv_number_of_iterations): Likewise.
* loop-unroll.c (unroll_and_peel_loops, peel_loop_completely,
unroll_loop_constant_iterations, unroll_loop_runtime_iterations,
peel_loop_simple, unroll_loop_stupid): Likewise.
* loop-unswitch.c (compare_and_jump_seq, unswitch_single_loop,
unswitch_loop): Likewise.
* loop.c (gen_prefetch, loop_optimize, rtx_equal_for_loop_p,
move_movables, replace_call_address, find_and_verify_loops,
rtx_equal_for_prefetch_p, record_giv, general_induction_var,
simplify_giv_expr, check_ext_dependent_givs, try_copy_prop,
loop_giv_dump): Likewise.
* loop.h (INSN_LUID): Likewise.
* modulo-sched.c (normalize_sched_times, generate_prolog_epilog,
sms_schedule, check_nodes_order): Likewise.
* optabs.c (gen_conditional, add_equal_note, expand_simple_binop,
expand_twoval_unop, expand_twoval_binop, expand_twoval_binop_libfunc,
expand_simple_unop, emit_no_conflict_block, prepare_cmp_insn,
emit_cmp_and_jump_insn_1, emit_cmp_and_jump_insns,
prepare_float_lib_cmp, gen_add2_insn, have_add2_insn, gen_sub2_insn,
have_sub2_insn, expand_float, expand_fix, debug_optab_libfuncs):
Likewise.
* opts.c (common_handle_option): Likewise.
* params.c (set_param_value): Likewise.
* passes.c (open_dump_file, rest_of_handle_final): Likewise.
* postreload-gcse.c (expr_equiv_p, oprs_unchanged_p,hash_scan_set,
reg_set_between_after_reload_p, reg_used_between_after_reload_p,
get_avail_load_store_reg, eliminate_partially_redundant_load):
Likewise.
* postreload.c (reload_cse_simplify_set, reload_combine_note_use):
Likewise.
* predict.c (tree_predicted_by_p, expected_value_to_br_prob,
propagate_freq, expensive_function_p): Likewise.
* pretty-print.c (pp_base_format_text)
* profile.c (instrument_edges, instrument_values,
compute_branch_probabilities, branch_prob, union_groups,
end_branch_prob, tree_register_profile_hooks): Likewise.
From-SVN: r87290
|
|
gcc_unreachable instead of abort.
* lambda-mat.c (lambda_matrix_inverse_hard): Use gcc_assert
and gcc_unreachable instead of abort.
* lambda.h (lambda_vector_min_nz): Likewise.
* langhooks.c lhd_set_decl_assembler_name, lhd_can_use_bit_fields_p,
lhd_incomplete_type_error, lhd_expand_expr, lhd_types_compatible_p,
lhd_gimplify_expr): Likewise.
* lcm.c (optimize_mode_switching): Likewise.
* local-alloc.c (update_equiv_regs, block_alloc, find_free_reg):
Likewise.
* loop-doloop.c (doloop_modify): Likewise.
* loop-invariant.c (record_use): Likewise.
* loop-iv.c (get_biv_step_1, get_biv_step, iv_analyze, get_iv_value,
canon_condition, simplify_using_condition,
simplify_using_initial_values, shorten_into_mode,
canonicalize_iv_subregs, iv_number_of_iterations): Likewise.
* loop-unroll.c (unroll_and_peel_loops, peel_loop_completely,
unroll_loop_constant_iterations, unroll_loop_runtime_iterations,
peel_loop_simple, unroll_loop_stupid): Likewise.
* loop-unswitch.c (compare_and_jump_seq, unswitch_single_loop,
unswitch_loop): Likewise.
* loop.c (gen_prefetch, loop_optimize, rtx_equal_for_loop_p,
move_movables, replace_call_address, find_and_verify_loops,
rtx_equal_for_prefetch_p, record_giv, general_induction_var,
simplify_giv_expr, check_ext_dependent_givs, try_copy_prop,
loop_giv_dump): Likewise.
* loop.h (INSN_LUID): Likewise.
* modulo-sched.c (normalize_sched_times, generate_prolog_epilog,
sms_schedule, check_nodes_order): Likewise.
* optabs.c (gen_conditional, add_equal_note, expand_simple_binop,
expand_twoval_unop, expand_twoval_binop, expand_twoval_binop_libfunc,
expand_simple_unop, emit_no_conflict_block, prepare_cmp_insn,
emit_cmp_and_jump_insn_1, emit_cmp_and_jump_insns,
prepare_float_lib_cmp, gen_add2_insn, have_add2_insn, gen_sub2_insn,
have_sub2_insn, expand_float, expand_fix, debug_optab_libfuncs):
Likewise.
* opts.c (common_handle_option): Likewise.
* params.c (set_param_value): Likewise.
* passes.c (open_dump_file, rest_of_handle_final): Likewise.
* postreload-gcse.c (expr_equiv_p, oprs_unchanged_p,hash_scan_set,
reg_set_between_after_reload_p, reg_used_between_after_reload_p,
get_avail_load_store_reg, eliminate_partially_redundant_load):
Likewise.
* postreload.c (reload_cse_simplify_set, reload_combine_note_use):
Likewise.
* predict.c (tree_predicted_by_p, expected_value_to_br_prob,
propagate_freq, expensive_function_p): Likewise.
* pretty-print.c (pp_base_format_text)
* profile.c (instrument_edges, instrument_values,
compute_branch_probabilities, branch_prob, union_groups,
end_branch_prob, tree_register_profile_hooks): Likewise.
From-SVN: r87285
|
|
* tree.c (staticp): Return the static object.
* tree.h (staticp): Update decl.
* langhooks.h (struct lang_hooks): Change staticp return type to tree.
* langhooks.c (lhd_staticp): Return NULL_TREE.
* langhooks-def.h (lhd_staticp): Update decl.
* c-common.c (c_staticp): Return the static object.
* c-common.h (c_staticp): Update decl.
From-SVN: r86650
|
|
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
|
|
* c-common.c: Convert ATTRIBUTE_UNUSED to ARG_UNUSED in parameter
lists.
* c-decl.c: Likewise.
* c-format.c: Likewise.
* c-lex.c: Likewise.
* c-opts.c: Likewise.
* c-pragma.c: Likewise.
* c-typeck.c: Likewise.
* gencheck.c: Likewise.
* genconditions.c: Likewise.
* genconfig.c: Likewise.
* genflags.c: Likewise.
* gengtype.c: Likewise.
* gensupport.c: Likewise.
* ggc-none.c: Likewise.
* langhooks.c: Likewise.
* statistics.h: Likewise.
* stub-objc.c: Likewise.
* java/decl.c: Likewise.
From-SVN: r85128
|
|
[...]): Remove.
* langhooks-def.h (LANG_HOOKS_TREE_INLINING_COPY_RES_DECL_FOR_INLINING,
lhd_tree_inlining_copy_res_decl_for_inlining): Remove.
* langhooks.c (lhd_tree_inlining_copy_res_decl_for_inlining): Remove.
* langhooks.h (struct lang_hooks_for_tree_inlining): Remove
copy_res_decl_for_inlining.
* tree-inline.c (declare_return_variable): New modify_dest argument.
Use it as the return value, when possible or manditory. Handle
TREE_ADDRESSABLE types.
(expand_call_inline): Extract MODIFY_EXPR lhs for call. Simplify
replacement of CALL_EXPR.
cp/
* cp-lang.c (LANG_HOOKS_TREE_INLINING_COPY_RES_DECL_FOR_INLINING): Die.
* cp-tree.h (cp_copy_res_decl_for_inlining): Remove.
* tree.c (cp_copy_res_decl_for_inlining): Remove.
From-SVN: r84831
|
|
* 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
|
|
* c-decl.c (pop_scope): Do not set DECL_CONTEXT on file-scope
decls when there is only one input translation unit.
* langhooks.c (lhd_set_decl_assembler_name): Partially revert
change of 2004-07-05; do not treat declarations with
DECL_CONTEXT a TRANSLATION_UNIT_DECL specially.
* opts.c (cur_in_fname): Delete.
* opts.h: Likewise.
* tree.c: Revert changes of 2004-07-05; no special treatment
for TRANSLATION_UNIT_DECLs.
* Makefile.in (tree.o): Update dependencies.
From-SVN: r84306
|
|
* 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
|
|
From-SVN: r83615
|
|
* 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
|