platform/upstream/linaro-gcc.git
11 years agogcc:
wschmidt [Fri, 10 Aug 2012 12:16:04 +0000 (12:16 +0000)]
gcc:

2012-08-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR middle-end/54211
* gimple-ssa-strength-reduction.c (analyze_candidates_and_replace):
Use cand_type to determine whether pointer arithmetic will be generated.

gcc/testsuite:

2012-08-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR middle-end/54211
* gcc.dg/tree-ssa/pr54211.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190294 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc:
wschmidt [Fri, 10 Aug 2012 12:11:29 +0000 (12:11 +0000)]
gcc:

2012-08-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* doc/sourcebuild.texi: Document long_neq_int effective target.

testsuite:

2012-08-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* lib/target-supports.exp (check_effective_target_long_neq_int): New.
* gcc.dg/tree-ssa/slsr-30.c: Check for long_neq_int effective target.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190293 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-10 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 10 Aug 2012 12:00:05 +0000 (12:00 +0000)]
2012-08-10  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/54109
* tree-ssa-forwprop.c
(forward_propagate_addr_into_variable_array_index): Remove.
(forward_propagate_addr_expr_1): Adjust.

* gcc.dg/torture/pr54109.c: New testcase.
* gcc.dg/tree-ssa/forwprop-1.c: Adjust.
* gcc.dg/tree-ssa/forwprop-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190291 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-10 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 10 Aug 2012 11:54:55 +0000 (11:54 +0000)]
2012-08-10  Richard Guenther  <rguenther@suse.de>

* tree-cfg.c (dump_function_to_file): Make sure to dump
anonymous SSA names when there are no local decls.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190290 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * tree-ssa-pre.c (alloc_expression_id): Fix use of VEC_reserve.
steven [Fri, 10 Aug 2012 09:27:31 +0000 (09:27 +0000)]
* tree-ssa-pre.c (alloc_expression_id): Fix use of VEC_reserve.
* tree-into-ssa.c (get_ssa_name_ann): Likewise.
(mark_phi_for_rewrite): Likewise.
(compute_global_livein): Use VEC_reserve outside the innermost
loop and VEC_quick_push instead of VEC_safe_push in that loop.
(update_ssa): Re-organize to avoid unnecessary sbitmap_zero'ing
of new_ssa_names and old_ssa_names.  Allocate phis_to_rewrite to
the correct initial size.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190289 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-10 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 10 Aug 2012 09:20:29 +0000 (09:20 +0000)]
2012-08-10  Richard Guenther  <rguenther@suse.de>

* tree-ssa-pre.c (pretemp, storetemp, prephitemp): Remove.
(need_creation): Remove.
(get_representative_for): Use anonymous named SSA names.
(create_expression_by_pieces): Likewise.
(insert_into_preds_of_block): Likewise.
(init_pre): Do not init removed vars.
(fini_pre): Do not free need_creation.
* tree-ssa-forwprop.c (simplify_bitwise_binary): Use anonymous
SSA names.
* tree-ssa-loop-manip.c (create_iv): Likewise.
* value-prof.c (gimple_divmod_fixed_value): Likewise.
(gimple_mod_pow2): Likewise.
(gimple_mod_subtract): Likewise.
(gimple_ic): Likewise.
(gimple_stringop_fixed_value): Likewise.
* tree-ssa-phiopt.c (condstoretemp): Remove.
(tree_ssa_phiopt_worker): Use anonymous named SSA names.
(conditional_replacement): Likewise.
(abs_replacement): Likewise.
(cond_store_replacement): Likewise.
(cond_if_else_store_replacement_1): Likewise.
* tree-ssa-loop-im.c (rewrite_reciprocal): Likewise.
(rewrite_bittest): Likewise.
* tree-ssa-reassoc.c (build_and_add_sum): Get type from callers
and build anonymous SSA names.
(undistribute_ops_list): Adjust.
(eliminate_redundant_comparison): Use anonymous SSA names.
(rewrite_expr_tree_parallel): Likewise.
(get_reassoc_pow_ssa_name): Remove.
(attempt_builtin_powi): Adjust.
(reassociate_bb): Likewise.
* tree-ssa-strlen.c (get_string_length): Use anonymous SSA names.
* tree-switch-conversion.c (emit_case_bit_tests): Likewise.
(build_arrays): Likewise.
* tree-tailcall.c (adjust_return_value_with_ops): Likewise.
(create_tailcall_accumulator): Likewise.
* tree-vect-generic.c (expand_vector_divmod): Likewise.
* tree-profile.c (gcov_type_tmp_var): Remove.
(gimple_init_edge_profiler): Do not initialize it and use anonymous
SSA names.
(gimple_gen_ic_profiler): Likewise.
(tree_profiling): Adjust.
* tree-sra.c (build_ref_for_offset): Use anonymous SSA names.
* tree-ssa-math-opts.c (execute_cse_sincos_1): Likewise.
(powi_as_mults_1): Likewise.
(powi_as_mults): Likewise.
(build_and_insert_call): Adjust.
(build_and_insert_binop): Likewise.
(build_and_insert_ref): Likewise.
(build_and_insert_cast): Likewise.
(gimple_expand_builtin_pow): Likewise.
(gimple_expand_builtin_cabs): Likewise.
(execute_optimize_bswap): Use anonymous SSA names.
(convert_mult_to_widen): Likewise.
(convert_plusminus_to_widen): Likewise.
* tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
* tree-ssa-propagate.c (update_call_from_tree): Likewise.
* tree-if-conv.c (ifc_temp_var): Likewise.
* tree-loop-distribution.c (generate_memset_builtin): Likewise.
* tree-parloops.c (take_address_of): Likewise.
* tree-vect-data-refs.c (vect_permute_store_chain): Likewise.
(vect_permute_load_chain): Likewise.
* tree-vect-loop-manip.c (vect_create_cond_for_align_checks): Likewise.
* tree-vect-patterns.c (vect_recog_temp_ssa_var): Likewise.
(vect_handle_widen_op_by_const): Likewise.
(vect_operation_fits_smaller_type): Likewise.
(vect_recog_over_widening_pattern): Likewise.
* tree-vect-stmts.c (vect_init_vector): Likewise.
* tree-vrp.c (simplify_truth_ops_using_ranges): Likewise.
(simplify_float_conversion_using_ranges): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190288 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/i386/i386.c (ix86_init_mmx_sse_builtins): Fix builtin
kyukhin [Fri, 10 Aug 2012 08:39:47 +0000 (08:39 +0000)]
* config/i386/i386.c (ix86_init_mmx_sse_builtins): Fix builtin
target mask of __builtin_ia32_rdseed_di_step.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190287 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-10 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 10 Aug 2012 08:33:57 +0000 (08:33 +0000)]
2012-08-10  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/54027
* tree-vrp.c (extract_range_from_binary_expr_1): Merge RSHIFT_EXPR
and LSHIFT_EXPR handling, force -fwrapv for the multiplication used
to handle LSHIFT_EXPR with a constant.

* gcc.dg/torture/pr54027.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190286 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-10 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 10 Aug 2012 08:29:29 +0000 (08:29 +0000)]
2012-08-10  Richard Guenther  <rguenther@suse.de>

* tree.h (SSA_NAME_VAR): Return NULL_TREE if an IDENTIFIER_NODE
is recorded as var.
(SSA_NAME_IDENTIFIER): Return the IDENTIFIER_NODE of the SSA_NAME
or its SSA_NAME_VAR.
(SET_SSA_NAME_VAR_OR_IDENTIFIER): New setter.
* tree-ssanames.c (make_ssa_name_fn): Handle creating anonymous
SSA names by passing a type instead of a variable decl.
(release_ssa_name): Use SET_SSA_NAME_VAR_OR_IDENTIFIER.
(copy_ssa_name_fn): Handle anonymous SSA names.
(replace_ssa_name_symbol): Use SET_SSA_NAME_VAR_OR_IDENTIFIER.
* tree-flow-inline.h (make_temp_ssa_name): New inline function.
* tree-pretty-print.c (dump_generic_node): Use SSA_NAME_IDENTIFIER,
dump SSA names without a name as <anon>.
* cfgexpand.c (expand_used_vars): Assing anonymous SSA names we are
going to expand a decl.
(gimple_expand_cfg): Assign all SSA names of a partition the
decl we created for its leader.
* tree-ssa.c (target_for_debug_bind): Handle SSA_NAMEs.
(verify_ssa_name): Handle anonymous SSA names.
(verify_def): Likewise.
* tree-predcom.c (eliminate_temp_copies): Likewise.
* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
* tree-ssa-live.c (var_map_base_init): Compute conflicts for
anonymous SSA names with the same type.
(mark_all_vars_used_1): Handle anonymous SSA names.
(verify_live_on_entry): Likewise.
* tree-ssa-coalesce.c (abnormal_corrupt): Remove.
(create_outofssa_var_map): Adjust with respect to conflicts we
compute for anonymous SSA names.  Do not restrict abnormal
coalescing.
(coalesce_partitions): Do not restrict abnormal coalescing.
Assert we only ever coalesce variables we computed conflicts for.
* tree-ssa-ter.c (process_replaceable): Do not restrict TER
of anonymous names.
* expr.c (expand_expr_real_1): Handle anonymous SSA names
expanded from IVOPTs by creating a raw REG here.
* tree-cfg.c (replace_ssa_name): Handle anonymous SSA names.
(dump_function_to_file): Dump anonymous SSA names alongside
with their types in the variable list.
(verify_gimple_return): Guard use of SSA_NAME_VAR.
* tree-into-ssa.c (mark_for_renaming): Handle a NULL symbol.
(rewrite_into_ssa): Make SSA names anonymous.
* tree-ssa-structalias.c (alias_get_name): Rewrite.
* tree-ssa-uninit.c (ssa_undefined_value_p): Handle anonymous
SSA names.
(warn_uninitialized_phi): Likewise.
* tree-ssa-loop-ivopts.c (prepare_decl_rtl): Defer expanding
anonymous SSA names to the expander.
(determine_iv_cost): Anonymous SSA names are artificial.
* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop):
Handle anonymous SSA names.
* lto-streamer-out.c (output_ssa_names): Stream SSA_NAME_VAR
or if NULL, the type of the SSA name.
* tree-inline.c (remap_ssa_name): Handle anonymous SSA names,
remap names as anonymous where appropriate.
(insert_init_stmt): Pass SSA names down to insert_init_debug_bind.
* tree-ssa-uncprop.c (uncprop_into_successor_phis): Adjust
according to what we create conflicts for in out-of-SSA
coalescing.
* tree-parloops.c (separate_decls_in_region_name): Handle
anonymous SSA names.
(add_field_for_name): Likewise.
* tree.c (get_name): Handle SSA names.
* tree-ssa-loop-im.c (gen_lsm_tmp_name): Defer to get_name for
SSA_NAMEs.
* tree-vect-loop-manip.c (adjust_debug_stmts): Use
virtual_operand_p.
* tree-sra.c (create_access_replacement): Give up generating
a DECL_DEBUG_EXPR for SSA names in the memory reference.
(replace_removed_params_ssa_names): Guard use of SSA_NAME_VAR.
* tree-complex.c (get_component_ssa_name): Handle anonymous
SSA names.
(set_component_ssa_name): Likewise.
* tree-ssa-sccvn.c (visit_reference_op_load): Likewise.
* tree-object-size.c (collect_object_sizes_for): Handle
uninitialized SSA names properly.
* ipa-inline-analysis.c (eliminated_by_inlining_prob): Guard use of
SSA_NAME_VAR.
* ipa-split.c (test_nonssa_use): Likewise.
(consider_split): Likewise.
(mark_nonssa_use): Likewise.

c-family/
* c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.

cp/
* error.c (dump_expr): Likewise.

* g++.dg/plugin/selfassign.c: Adjust.
* gcc.dg/plugin/selfassign.c: Likewise.
* gcc.dg/strlenopt-11.c: Likewise.
* gcc.dg/strlenopt-13.c: Likewise.
* gcc.dg/no-strict-overflow-4.c: Likewise.
* gcc.dg/strict-overflow-4.c: Likewise.
* gcc.dg/tree-ssa/alias-11.c: Likewise.
* gcc.dg/tree-ssa/alias-6.c: Likewise.
* gcc.dg/tree-ssa/asm-3.c: Likewise.
* gcc.dg/tree-ssa/pr18908.c: Likewise.
* gcc.dg/tree-ssa/pr19431.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-21.c: Likewise.
* gcc.dg/tree-ssa/phi-opt-10.c: Likewise.
* gcc.dg/tree-ssa/phi-opt-7.c: Likewise.
* gcc.dg/tree-ssa/slsr-27.c: Likewise.
* gcc.dg/tree-ssa/slsr-28.c: Likewise.
* gcc.dg/tree-ssa/slsr-29.c: Likewise.
* gcc.dg/pr46309.c: Likewise.
* gcc.dg/tree-ssa/loop-5.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190284 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR middle-end/54146
hubicka [Fri, 10 Aug 2012 07:52:23 +0000 (07:52 +0000)]
PR middle-end/54146
* ipa-inline-transform.c (inline_call): Add UPDATE_OVERALL_SUMMARY
parameter; honnor it.
* ipa-inline.c (recursive_inlining): Update call
of inline_call.
(inline_small_functions): Likewise.
(ipa_inline): Likewise.
(inline_always_inline_functions): Likewise.
(early_inline_small_functions): Likewise.
(flatten_function): Do separate update of summary info.
* ipa-inline.h (inline_update_overall_summary): Declare.
(inline_call): Update.
* ipa-inline-analysis.c (inline_merge_summary): Break out
updating code to ...
(inline_update_overall_summary): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190283 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoruntime: use sched_getaffinity for runtime.NumCPU() on Linux
ian [Fri, 10 Aug 2012 06:08:11 +0000 (06:08 +0000)]
runtime: use sched_getaffinity for runtime.NumCPU() on Linux
        Fixes Go issue 3921 for gccgo.

From Shenghou Ma.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190282 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agos390: Use VOIDmode with gen_rtx_SET
rth [Fri, 10 Aug 2012 02:39:50 +0000 (02:39 +0000)]
s390: Use VOIDmode with gen_rtx_SET

* config/s390/s390.c (s390_expand_insv): Use VOIDmode in gen_rtx_SET.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190281 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agos390: Rearrange temporary moves for use of CRJ
rth [Fri, 10 Aug 2012 02:12:56 +0000 (02:12 +0000)]
s390: Rearrange temporary moves for use of CRJ

* config/s390/s390.c (s390_expand_cs_hqi): Copy val to a temp before
performing the compare for the restart loop.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190280 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago* config/rl78/rl78.c (rl78_alloc_physical_registers): Check for
dj [Fri, 10 Aug 2012 00:45:29 +0000 (00:45 +0000)]
* config/rl78/rl78.c (rl78_alloc_physical_registers): Check for
SET before extracting SET_SRC.
(rl78_remove_unused_sets): Check for REG before extractnig REGNO.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190278 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Fri, 10 Aug 2012 00:17:48 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190277 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/54089
olegendo [Thu, 9 Aug 2012 23:27:51 +0000 (23:27 +0000)]
PR target/54089
* config/sh/sh-protos (shift_insns_rtx): Delete.
(sh_ashlsi_clobbers_t_reg_p): Add.
* config/sh/sh.c (shift_insns, shift_amounts, ext_shift_insns,
ext_shift_amounts): Merge arrays of ints to array of structs.
Adapt usage of arrays throughout the file.
(shift_insns_rtx): Delete unused function.
(sh_ashlsi_clobbers_t_reg_p): New function.
* config/sh/sh.md (ashlsi3): Emit ashlsi3_n_clobbers_t insn if the
final shift sequence will clobber T_REG.
(ashlsi3_n): Split only if the final shift sequence will not
clobber T_REG.
(ashlsi3_n_clobbers_t): New insn_and_split.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190273 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * acinclude.m4: Update references to final C++11 standard.
redi [Thu, 9 Aug 2012 22:45:20 +0000 (22:45 +0000)]
* acinclude.m4: Update references to final C++11 standard.
* include/bits/shared_ptr.h: Likewise.
* include/bits/shared_ptr_base.h: Likewise.
* include/bits/unique_ptr.h: Likewise.
* include/std/chrono: Likewise.
* include/std/thread: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190271 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * calls.c (mem_overlaps_already_clobbered_arg_p): Use SBITMAP_SIZE
steven [Thu, 9 Aug 2012 21:59:32 +0000 (21:59 +0000)]
* calls.c (mem_overlaps_already_clobbered_arg_p): Use SBITMAP_SIZE
instead of looking at sbitmap n_bits member directly.
* gcse.c (hoist_code): Likewise.
* sched-rgn.c (split_edges): Likewise.
* tree-into-ssa.c (is_old_name, is_new_name, add_new_name_mapping,
update_ssa): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190268 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/i386/i386.h (LIMIT_RELOAD_CLASS): Return preferred
uros [Thu, 9 Aug 2012 18:30:13 +0000 (18:30 +0000)]
* config/i386/i386.h (LIMIT_RELOAD_CLASS): Return preferred
single unit register class for classes that contain registers form
multiple units.
(REG_CLASS_CONTENTS): Add missing "frame" register to FLOAT_INT_REGS,
INT_SSE_REGS and FLOAT_INT_SSE_REGS register classes.

testsuite/ChangeLog:

* gcc.c-torture/compile/20120727-1.c (dg-options): Add -mfpmath=387
for x86 targets.
* gcc.c-torture/compile/20120727-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190261 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-09 Martin Jambor <mjambor@suse.cz>
jamborm [Thu, 9 Aug 2012 16:05:46 +0000 (16:05 +0000)]
2012-08-09  Martin Jambor  <mjambor@suse.cz>

* cgraph.h (cgraph_indirect_call_info): Field anc_offse renamd to
offset, updated all users.  New field agg_contents.
* ipa-prop.h (jump_func_type): Removed IPA_JF_CONST_MEMBER_PTR.
(ipa_pass_through_data): New field agg_preserved.
(ipa_ancestor_jf_data): Likewise.
(ipa_member_ptr_cst): Removed.
(ipa_agg_jf_item): New type.
(ipa_agg_jump_function): Likewise.
(ipa_jump_func): New field agg.  Removed field member_cst.
(ipa_get_jf_pass_through_agg_preserved): New function.
(ipa_get_jf_ancestor_agg_preserved): Likewise.
(ipa_get_jf_member_ptr_pfn): Removed.
(ipa_find_agg_cst_for_param): Declare.
(ipa_load_from_parm_agg): Likewise.
* ipa-prop.c (param_analysis_info): Fields modified and
visited_statements rename to parm_modified and parm_visited_statements
respectively, added fields ref_modified, ref_visited_statements,
pt_modified and pt_visited_statements.
(ipa_print_node_jump_functions_for_edge): Do not dump const member
functions.  Dump agg_preserved flags and aggregate jump functions.
(ipa_set_jf_simple_pass_through): Set also agg_preserved.
(ipa_set_ancestor_jf): Likewise.
(ipa_set_jf_arith_pass_through): Clear agg_preserved.
(ipa_set_jf_member_ptr_cst): Removed.
(is_parm_modified_before_stmt): Logic reversed, renamed to
parm_preserved_before_stmt_p.  Cache visited bitmap only for
naked DECL parameters.  All callers updated.
(load_from_unmodified_param): Allow NULL parms_ainfo.
(parm_ref_data_preserved_p): New function.
(parm_ref_data_pass_through_p): Likewise.
(ipa_load_from_parm_agg_1): Likewise.
(ipa_load_from_parm_agg): Likewise.
(compute_complex_assign_jump_func): Check if aggregate contents are
preserved.
(compute_complex_ancestor_jump_func): Likewise.
(compute_scalar_jump_functions): Removed.
(type_like_member_ptr_p): Also check field position are known and
sane.
(compute_pass_through_member_ptrs): Removed.
(determine_cst_member_ptr): Likewise.
(ipa_known_agg_contents_list): New type.
(determine_known_aggregate_parts): New function.
(compute_cst_member_ptr_arguments): Removed.
(ipa_compute_jump_functions_for_edge): Compute all kinds of jump
functions (scalar, aggregate and member pointer).
(ipa_get_member_ptr_load_param): Incorporate into
ipa_get_stmt_member_ptr_load_param, also pass back an offset.
(ipa_note_param_call): Clear agg_contents.
(ipa_analyze_indirect_call_uses): Also look for simple pointers loaded
from aggregates.  In such cases, store offset of the called field.
(ipa_analyze_node): Initialize new fields of param_analysis_info.
(update_jump_functions_after_inlining): Handle aggregate contents.
(ipa_find_agg_cst_for_param): New function.
(try_make_edge_direct_simple_call): Handle called aggregate values.
(update_indirect_edges_after_inlining): Make sure aggregate preserving
jump functions comply with type compatibility requirements.
(ipa_edge_duplication_hook): Copy also aggregate jump functions.
(ipa_write_jump_function): Stream agg_preserved flags and aggregate
jump functions.  Do not stream member pointer constant jump functions.
(ipa_read_jump_function): Likewise.
(ipa_write_indirect_edge_info): Stream new cgraph_indirect_call_info
fields.
(ipa_read_indirect_edge_info): Likewise.

* testsuite/gcc.dg/ipa/iinline-4.c: New test.
* testsuite/gcc.dg/ipa/iinline-5.c: Likewise.
* testsuite/gcc.dg/ipa/iinline-6.c: Likewise.
* testsuite/gcc.dg/ipa/iinline-7.c: Likewise.
* testsuite/gcc.dg/lto/20120723_0.c: Likewise.
* testsuite/gcc.dg/lto/20120723_1.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190260 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/39423
olegendo [Thu, 9 Aug 2012 15:58:04 +0000 (15:58 +0000)]
PR target/39423
* config/sh/predicates.md (mem_index_disp_operand): New predicate.
* config/sh/sh.md (*movsi_index_disp): Rewrite insns to use the new
mem_index_disp_operand predicate.

PR target/39423
* gcc.target/sh/pr39423-1.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190259 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/51244
olegendo [Thu, 9 Aug 2012 15:55:18 +0000 (15:55 +0000)]
PR target/51244
* config/sh/sh.md: Add negc extu sequence peephole.
(movrt, movnegt, movrt_negc, nott): Use t_reg_operand predicate.
(*movrt_negc): New insn.
* config/sh/sync.md (atomic_test_and_set): Pass gen_t_reg_rtx to
gen_movnegt.
* config/sh/sh.c (expand_cbranchsi4, sh_emit_scc_to_t,
sh_emit_compare_and_branch, sh_emit_compare_and_set): Use get_t_reg_rtx.
(sh_expand_t_scc): Pass gen_t_reg_rtx to gen_movnegt.

PR target/51244
* gcc.target/sh/pr51244-5: New.
* gcc.target/sh/pr51244-6: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190258 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/50751
olegendo [Thu, 9 Aug 2012 15:51:20 +0000 (15:51 +0000)]
PR target/50751
* config/sh/sh.md (*extendqisi2_compact_reg, *extendhisi2_compact_reg):
Use arith_reg_operand predicate instead of register_operand.
* config/sh/predicates.md (movsrc_no_disp_mem_operand): Accept
only mem, simplify.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190257 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/alpha/alpha.c (alpha_pad_noreturn): Rename to ...
uros [Thu, 9 Aug 2012 15:02:36 +0000 (15:02 +0000)]
    * config/alpha/alpha.c (alpha_pad_noreturn): Rename to ...
        (alpha_pad_function_end): ... this.  Also insert NOP between
        sibling call and GP load.
        (alpha_reorg): Update call to alpha_pad_function_end.  Expand comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190255 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoChangelog
kyukhin [Thu, 9 Aug 2012 14:35:02 +0000 (14:35 +0000)]
Changelog
        * config/i386/adxintrin.h: Remove guarding __ADX__ check.
        * config/i386/x86intrin.h: Likewise.
        * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove
        OPTION_MASK_ISA_ADX from needed options for
        __builtin_ia32_addcarryx_u32 and __builtin_ia32_addcarryx_u64.
        (ix86_expand_builtin): Use add<mode>3_carry in expanding of
        IX86_BUILTIN_ADDCARRYX32 and IX86_BUILTIN_ADDCARRYX64.

testsuite/Changelog
        * gcc.target/i386/adx-addxcarry32-3.c: New.
        * gcc.target/i386/adx-addxcarry64-3.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190254 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR rtl-optimization/53701
abel [Thu, 9 Aug 2012 14:08:31 +0000 (14:08 +0000)]
PR rtl-optimization/53701
    * sel-sched.c (vinsn_vec_has_expr_p): Clarify function comment.
    Process not only expr's vinsns but all old vinsns from expr's
    history of changes.
    (update_and_record_unavailable_insns): Clarify comment.

    * gcc.dg/pr53701.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190253 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * reload.c (find_valid_class_1): New static function.
bernds [Thu, 9 Aug 2012 13:18:05 +0000 (13:18 +0000)]
* reload.c (find_valid_class_1): New static function.
(push_reload): Use it when reloading a SYMBOL_REG as the inner
of a subreg.  Keep better track of needed classes for the
secondary memory case.
* config/i386/i386.h (LIMIT_RELOAD_CLASS): Limit INT_SSE_REGS to
GENERAL_REGS.
* reload1.c (replaced_subreg): New static function.
(gen_reload): Use it when deciding whether to use secondary
memory.

* gcc.c-torture/compile/20120727-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190252 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-09 Tobias Burnus <burnus@net-b.de>
burnus [Thu, 9 Aug 2012 12:06:31 +0000 (12:06 +0000)]
2012-08-09  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54199
        * intrinsic.c (gfc_warn_intrinsic_shadow): Better warning
        for internal procedures.

2012-08-09  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54199
        * gfortran.dg/intrinsic_shadow_4.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190251 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-09 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 9 Aug 2012 11:00:11 +0000 (11:00 +0000)]
2012-08-09  Richard Guenther  <rguenther@suse.de>

* tree.h (SSA_VAR_P): Simplify.
* tree-ssanames.c (make_ssa_name_fn): Strengthen assert.
* fold-const.c (fold_comparison): Check for default def first
before checking for PARM_DECL.
* tree-complex.c (get_component_ssa_name): Likewise.
* tree-inline.c (remap_ssa_name): Likewise.
* tree-ssa-loop-ivopts.c (parm_decl_cost): Likewise.
* tree-ssa-structalias.c (get_fi_for_callee): Likewise.
(find_what_p_points_to): Likewise.
* tree-ssa-operands.c (add_stmt_operand): Simplify.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190250 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoUse accessor functions to manipulate xmlOutputBuffer
dodji [Thu, 9 Aug 2012 10:33:48 +0000 (10:33 +0000)]
Use accessor functions to manipulate xmlOutputBuffer

This is a fix to prepare the xmlj_io.c file of gnu classpath to a coming
API change in libxml2.

Basically, we were previously accessing fields inside the
xmlOutputBuffer struct of libxml2.  In a coming version of libxml2,
that won't be possible anymore.  Client code will have to use accessor
functions instead.  For the gory details, there is an interestin note
of Daniel Veillard (author of libxml2) at
https://mail.gnome.org/archives/desktop-devel-list/2012-August/msg00007.html.

This patch defines too accessor macros that, depending on the version
of libxml2 we are using will either access the fields of
xmlOutputBuffer directly, or use the new accessor function.

Tested on x86_64-unknown-linux-gnu against trunk.

libjava/classpath/

* native/jni/xmlj/xmlj_io.c (GET_XML_OUTPUT_BUFFER_CONTENT)
(GET_XML_OUTPUT_BUFFER_SIZE): New macros.
(xmljOutputWriteCallback): Use them.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190249 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Thu, 9 Aug 2012 00:18:12 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190246 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoRequire non-ilp32 for gcc.dg/tree-ssa/slsr-30.c
hjl [Wed, 8 Aug 2012 22:47:07 +0000 (22:47 +0000)]
Require non-ilp32 for gcc.dg/tree-ssa/slsr-30.c

* gcc.dg/tree-ssa/slsr-30.c: Require non-ilp32.  Remove
dg-skip-if.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190242 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * simplify-rtx.c (simplify_binary_operation_1): Do not simplify
jsm28 [Wed, 8 Aug 2012 19:42:58 +0000 (19:42 +0000)]
* simplify-rtx.c (simplify_binary_operation_1): Do not simplify
IOR to a constant if one operand has side effects.

testsuite:
* gcc.c-torture/execute/20120808-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190237 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * builtins.c (expand_builtin_atomic_compare_exchange): Pass old
uweigand [Wed, 8 Aug 2012 18:03:37 +0000 (18:03 +0000)]
* builtins.c (expand_builtin_atomic_compare_exchange): Pass old
value operand as MEM to expand_atomic_compare_and_swap.

* config/s390/s390.md ("atomic_compare_and_swap<mode>"): Accept
nonimmediate_operand for old value; generate load and store if
needed.
* config/s390/s390.c (s390_expand_cs_hqi): Accept any operand
as vtarget.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190236 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR middle-end/54146
steven [Wed, 8 Aug 2012 17:39:46 +0000 (17:39 +0000)]
PR middle-end/54146
* gimpify.c (gimplify_body): Only verify_gimple_in_seq with
checking enabled.
* tree-ssa-loop-manip.c (add_exit_phis_var): Assert that var is
a gimple_reg if checking is enabled.
(find_uses_to_rename_stmt): Only look at non-virtual USE operands.
* tree-into-ssa (compute_global_livein): Change the worklist
type from an array to a VEC.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190235 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-08 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 8 Aug 2012 14:51:26 +0000 (14:51 +0000)]
2012-08-08  Richard Guenther  <rguenther@suse.de>

* tree-ssa-operands.h (virtual_operand_p): Declare.
* tree-ssa-operands.c (virtual_operand_p): New predicate.
* gimple.c (is_gimple_reg): Use virtual_operand_p.
* tree-into-ssa.c (prepare_block_for_update): Likewise.
* tree-vect-loop-manip.c (adjust_debug_stmts): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190231 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * src/s390/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
uros [Wed, 8 Aug 2012 14:48:43 +0000 (14:48 +0000)]
* src/s390/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
just return FFI_BAD_ABI when things are wrong.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190230 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-08 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 8 Aug 2012 14:40:30 +0000 (14:40 +0000)]
2012-08-08  Richard Guenther  <rguenther@suse.de>

* tree-call-cdce.c (check_pow): Simplify.
(gen_conditions_for_pow_int_base): Likewise.
* tree-ssa-dom.c (propagate_rhs_into_lhs): Do not handle
virtual operands here.
* tree-ssa-operands.c (get_name_decl): Remove unused function.
* gimplify.c (gimple_regimplify_operands): Remove dead code.
* tree-vrp.c (get_value_range): Move SSA_NAME_VAR access.
* tree-parloops.c (create_phi_for_local_result): Use copy_ssa_name.
* value-prof.c (gimple_ic): Use duplicate_ssa_name.
(gimple_stringop_fixed_value): Likewise.
* tree.c (needs_to_live_in_memory): Remove SSA name handling.
* tree-stdarg.c (find_va_list_reference): Store SSA_NAME_VERSIONs
in the bitmap alongside shifted DECL_UIDs.
(va_list_counter_struct_op): Likewise.
(va_list_ptr_read): Likewise.
(va_list_ptr_write): Likewise.
(check_va_list_escapes): Likewise.
(check_all_va_list_escapes): Likewise.
(execute_optimize_stdarg): Likewise.
* tree-outof-ssa.c (insert_backedge_copies): Use copy_ssa_name.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190229 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDon't return identity for CONST or symbolic reference
hjl [Wed, 8 Aug 2012 13:39:33 +0000 (13:39 +0000)]
Don't return identity for CONST or symbolic reference

gcc/

PR rtl-optimization/54157
* combine.c (gen_lowpart_for_combine): Don't return identity
for CONST or symbolic reference.

gcc/testsuite/

PR rtl-optimization/54157
* gcc.target/i386/pr54157.c: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190228 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoChangeLog:
kyukhin [Wed, 8 Aug 2012 13:25:58 +0000 (13:25 +0000)]
ChangeLog:
2012-08-08 Michael Zolotukhin <michael.v.zolotukhin@intel.com>

        * common/config/i386/i386-common.c (OPTION_MASK_ISA_ADX_SET): New.
        (OPTION_MASK_ISA_ADX_UNSET): Likewise.
        (ix86_handle_option): Handle madx option.
        * config.gcc (i[34567]86-*-*): Add adxintrin.h.
        (x86_64-*-*): Likewise.
        * config/i386/adxintrin.h: New header.
        * config/i386/driver-i386.c (host_detect_local_cpu): Detect ADCX/ADOX
        support.
        * config/i386/i386-builtin-types.def
        (UCHAR_FTYPE_UCHAR_UINT_UINT_PUNSIGNED): New function type.
        (UCHAR_FTYPE_UCHAR_ULONGLONG_ULONGLONG_PULONGLONG): Likewise.
        * config/i386/i386-c.c: Define __ADX__ if needed.
        * config/i386/i386.c (ix86_target_string): Define -madx option.
        (PTA_ADX): New.
        (ix86_option_override_internal): Handle new option.
        (ix86_valid_target_attribute_inner_p): Add OPT_madx.
        (ix86_builtins): Add IX86_BUILTIN_ADDCARRYX32,
        IX86_BUILTIN_ADDCARRYX64.
        (ix86_init_mmx_sse_builtins): Define corresponding built-ins.
        (ix86_expand_builtin): Handle these built-ins.
        (ix86_expand_args_builtin): Handle new function types.
        * config/i386/i386.h (TARGET_ADX): New.
        * config/i386/i386.md (adcx<mode>3): New define_insn.
        * config/i386/i386.opt (madx): New.
        * config/i386/x86intrin.h: Include adxintrin.h.

testsuite/ChangeLog:
        * gcc.target/i386/adx-addcarryx32-1.c: New.
        * gcc.target/i386/adx-addcarryx32-2.c: New.
        * gcc.target/i386/adx-addcarryx64-1.c: New.
        * gcc.target/i386/adx-addcarryx64-2.c: New.
        * gcc.target/i386/adx-check.h: New.
        * gcc.target/i386/i386.exp (check_effective_target_adx): New.
        * gcc.target/i386/sse-12.c: Add -madx.
        * gcc.target/i386/sse-13.c: Ditto.
        * gcc.target/i386/sse-14.c: Ditto.
        * gcc.target/i386/sse-22.c: Ditto.
        * gcc.target/i386/sse-23.c: Ditto.
        * g++.dg/other/i386-2.C: Ditto.
        * g++.dg/other/i386-3.C: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190227 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agooops - accidentally omitted from previous delta.
nickc [Wed, 8 Aug 2012 09:03:05 +0000 (09:03 +0000)]
oops - accidentally omitted from previous delta.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190225 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/rl78/rl78.c: Include tree-pass.h.
nickc [Wed, 8 Aug 2012 08:34:25 +0000 (08:34 +0000)]
* config/rl78/rl78.c: Include tree-pass.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190224 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR middle-end/54146
steven [Wed, 8 Aug 2012 06:29:12 +0000 (06:29 +0000)]
PR middle-end/54146
* ira.c (init_live_subregs): Take live_subregs_used as a bitmap.
(build_insn_chain): Make live_subregs_used a bitmap.
Use SBITMAP_SIZE to ignore the paradoxical bytes of subregs.
Use sbitmap_free to free the live_subreg sbitmaps.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190223 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR middle-end/54146
steven [Wed, 8 Aug 2012 06:28:10 +0000 (06:28 +0000)]
PR middle-end/54146
* ifcvt.c: Include pointer-set.h.
(cond_move_process_if_block): Change type of then_regs and
else_regs from alloca'd array to pointer_sets.
(check_cond_move_block): Update for this change.
(cond_move_convert_if_block): Likewise.
* Makefile.in: Fix dependencies for ifcvt.o.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190222 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc:
wschmidt [Wed, 8 Aug 2012 01:35:22 +0000 (01:35 +0000)]
gcc:

2012-08-07  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gimple-ssa-strength-reduction.c (struct incr_info_d): New struct.
(incr_vec): New static var.
(incr_vec_len): Likewise.
(address_arithmetic_p): Likewise.
(stmt_cost): Remove dead assignment.
(dump_incr_vec): New function.
(cand_abs_increment): Likewise.
(lazy_create_slsr_reg): Likewise.
(incr_vec_index): Likewise.
(count_candidates): Likewise.
(record_increment): Likewise.
(record_increments): Likewise.
(unreplaced_cand_in_tree): Likewise.
(optimize_cands_for_speed_p): Likewise.
(lowest_cost_path): Likewise.
(total_savings): Likewise.
(analyze_increments): Likewise.
(ncd_for_two_cands): Likewise.
(nearest_common_dominator_for_cands): Likewise.
(profitable_increment_p): Likewise.
(insert_initializers): Likewise.
(introduce_cast_before_cand): Likewise.
(replace_rhs_if_not_dup): Likewise.
(replace_one_candidate): Likewise.
(replace_profitable_candidates): Likewise.
(analyze_candidates_and_replace): Handle candidates with SSA-name
strides.

gcc/testsuite:

2012-08-07  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.dg/tree-ssa/slsr-5.c: New.
* gcc.dg/tree-ssa/slsr-6.c: New.
* gcc.dg/tree-ssa/slsr-7.c: New.
* gcc.dg/tree-ssa/slsr-8.c: New.
* gcc.dg/tree-ssa/slsr-9.c: New.
* gcc.dg/tree-ssa/slsr-10.c: New.
* gcc.dg/tree-ssa/slsr-11.c: New.
* gcc.dg/tree-ssa/slsr-12.c: New.
* gcc.dg/tree-ssa/slsr-13.c: New.
* gcc.dg/tree-ssa/slsr-14.c: New.
* gcc.dg/tree-ssa/slsr-15.c: New.
* gcc.dg/tree-ssa/slsr-16.c: New.
* gcc.dg/tree-ssa/slsr-17.c: New.
* gcc.dg/tree-ssa/slsr-18.c: New.
* gcc.dg/tree-ssa/slsr-19.c: New.
* gcc.dg/tree-ssa/slsr-20.c: New.
* gcc.dg/tree-ssa/slsr-21.c: New.
* gcc.dg/tree-ssa/slsr-22.c: New.
* gcc.dg/tree-ssa/slsr-23.c: New.
* gcc.dg/tree-ssa/slsr-24.c: New.
* gcc.dg/tree-ssa/slsr-25.c: New.
* gcc.dg/tree-ssa/slsr-26.c: New.
* gcc.dg/tree-ssa/slsr-30.c: New.
* gcc.dg/tree-ssa/slsr-31.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190220 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Wed, 8 Aug 2012 00:17:43 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190219 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-07 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Tue, 7 Aug 2012 23:03:55 +0000 (23:03 +0000)]
2012-08-07  Benjamin Kosnik  <bkoz@redhat.com>

PR libstdc++/54005
* include/std/atomic: Use __atomic_always_lock_free.
* include/bits/atomic_base.h: Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190216 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
steven [Tue, 7 Aug 2012 22:14:29 +0000 (22:14 +0000)]
gcc/
* cfg.c (debug_bb): Do not set TDF_BLOCKS.
* cfghooks.c (dump_bb): Honor ~TDF_BLOCKS.
* pretty-print.c (pp_base_flush): Do not add a newline, and do not
clear pp_needs_newline.
* pretty-print.h (pp_newline_and_flush): New macro with the behavior
of pp_base_flush before the above change.
* langhooks.c (lhd_print_error_function): Use pp_newline_and_flush
instead of pp_flush.
* diagnostic.c (diagnostic_finish): Likewise.
(diagnostic_report_diagnostic): Likewise.
(verbatim): Likewise.
(error_recursion): Likewise.
* tree-pretty-print.c (print_generic_stmt): Likewise.
(print_generic_stmt_indented): LIkewise.
* gimple-pretty-print.c (print_gimple_stmt): Likewise.
(print_gimple_seq): Likewise.
(gimple_dump_bb_buff): Likewise.

c-family/
* c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
instead of separate pp_newline and pp_flush.
(print_c_tree): Likewise.

cp/
* error.c (print_instantiation_context): Pretty-print a newline before
diagnostic_flush_buffer.
* cxx-pretty-print.c (pp_cxx_function_definition): Use
pp_newline_and_flush instead of separate pp_newline and pp_flush.

testsuite/
* gcc.dg/tree-prof/update-loopch.c: Ask for dump with blocks info.
* gcc.dg/tree-ssa/attr-hotcold-2.c: Likewise.
* gcc.dg/tree-ssa/pr18133-1.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190215 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * ChangeLog: Add PR number.
uros [Tue, 7 Aug 2012 21:01:52 +0000 (21:01 +0000)]
* ChangeLog: Add PR number.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190213 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * var-tracking.c (var_lowpart): Exit early for matched modes.
uros [Tue, 7 Aug 2012 20:57:56 +0000 (20:57 +0000)]
* var-tracking.c (var_lowpart): Exit early for matched modes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190212 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agos390: Convert from sync to atomic optabs
rth [Tue, 7 Aug 2012 17:32:19 +0000 (17:32 +0000)]
s390: Convert from sync to atomic optabs

        * config/s390/s390.c (s390_emit_compare_and_swap): Update for
        atomic_compare_and_swapsi_internal name change.
        (s390_expand_insv): Try RISBG last, not requiring operands in
        registers but forcing them there.  Try a limited form of ICM.
        (s390_two_part_insv): New.
        (s390_expand_cs_hqi): Use it.  Update for atomic optabs.
        * config/s390/s390.md (UNSPEC_MOVA): New.
        (TDSI): Remove mode iterator.
        (DGPR, DINT, TDI): New mode iterators.
        (td): New mode attribute.
        (mem_signal_fence): New.
        (mem_thread_fence): Rename from memory_barrier; update for model arg.
        (mem_thread_fence_1): Rename from *memory_barrier.
        (atomic_load<DINT>, atomic_store<DINT>): New expanders.
        (atomic_loaddi_1, atomic_loadti_1): New.
        (atomic_storedi_1, atomic_storeti_1): New.
        (sync_compare_and_swap<TDSI>, sync_compare_and_swap<HQI>): Remove.
        (atomic_compare_and_swap<DGPR>, atomic_compare_and_swap<HQI>): New.
        (atomic_compare_and_swap<DGPR>_internal): New.
        (*sync_compare_and_swap<DW>, *sync_compare_and_swap<GPR>): Remove.
        (*atomic_compare_and_swap<TDI>_1): New.
        (*atomic_compare_and_swapdi_2, *atomic_compare_and_swapsi_3): New.
        (sync_<ATOMIC_Z196><GPR>, sync_old_<ATOMIC_Z196><GPR>): Remove.
        (atomic_fetch_<ATOMIC_Z196><GPR>): New.
        (atomic_fetch_<ATOMC_Z196><GPR>_iaf): New.
        (sync_<ATOMIC><HQI>, sync_old_<ATOMIC><HQI>): Remove.
        (sync_new_<ATOMIC><HQI>): Remove.
        (atomic_<ATOMIC><HQI>, atomic_fetch_<ATOMIC><HQI>): New.
        (atomic_<ATOMIC>_fetch<HQI>): New.
        (sync_lock_test_and_set<HQI>): Remove.
        (atomic_exchange<HQI>): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190209 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-07 Paul Brook <paul@codesourcery.com>
sandra [Tue, 7 Aug 2012 16:08:49 +0000 (16:08 +0000)]
2012-08-07  Paul Brook  <paul@codesourcery.com>
    Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* except.c (switch_to_exception_section): Place tables for
DECL_ONE_ONLY functions in comdat groups.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190206 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-07 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 7 Aug 2012 14:17:44 +0000 (14:17 +0000)]
2012-08-07  Richard Guenther  <rguenther@suse.de>

* tree-flow.h (copy_ssa_name_fn): New function.
(duplicate_ssa_name_fn): Likewise.
* tree-flow-inline.h (copy_ssa_name): New function.
(duplicate_ssa_name): Likewise.
* tree-ssanames.c (copy_ssa_name_fn): New function.
(duplicate_ssa_name): Rename to ...
(duplicate_ssa_name_fn): ... this and adjust.
* tree-tailcall.c (update_accumulator_with_ops): Use copy_ssa_name.
* tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Likewise.
(slpeel_update_phi_nodes_for_guard2): Likewise.
(slpeel_tree_peel_loop_to_edge): Likewise.
(vect_loop_versioning): Likewise.
* tree-parloops.c (transform_to_exit_first_loop): Likewise.
(create_parallel_loop): Likewise.
* ipa-split.c (split_function): Likewise.
* tree-vect-loop.c (vect_is_simple_reduction_1): Likewise.
(vect_create_epilog_for_reduction): Likewise.
* tree-vect-data-refs.c (bump_vector_ptr): Likewise.
(vect_setup_realignment): Likewise.
* tree-vect-stmts.c (vectorizable_load): Likewise.
* tree-switch-conversion.c (build_one_array): Likewise.
(gen_def_assigns): Likewise.
* tree-cfg.c (gimple_make_forwarder_block): Likewise.
* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Call
create_zero_dim_array with the SSA name.
(rewrite_phi_out_of_ssa): Likewise.
(rewrite_cross_bb_scalar_dependence): Likewise.  Use copy_ssa_name.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190202 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-07 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 7 Aug 2012 14:16:11 +0000 (14:16 +0000)]
2012-08-07  Richard Guenther  <rguenther@suse.de>

* tree-dfa.c (set_ssa_default_def): Clear the SSA_NAME_DEFAULT_DEF
bit of the old name when we clear the slot.
* tree-ssa-live.c (remove_unused_locals): Release any default
def associated with an unused var.
* tree-ssa-copy.c (may_propagate_copy_into_asm): Always return true.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190201 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-07 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 7 Aug 2012 12:11:43 +0000 (12:11 +0000)]
2012-08-07  Richard Guenther  <rguenther@suse.de>

* tree-into-ssa.c (rewrite_stmt): Remove clobbers for variables
we rewrite into SSA form.
(rewrite_enter_block): Adjust.
* gimple-iterator.c (gsi_replace): Also allow replacement with
a stmt without a lhs.
* tree-ssa-live.c (remove_unused_locals): Remove code handling
clobbers of SSA names.
* tree-nested.c (convert_local_reference_stmt): Remove clobbers
for variables we access through the local chain.
* tree-cfg.c (verify_gimple_assign_single): Verify clobbers
clobber full decls only.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190200 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-07 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 7 Aug 2012 10:36:01 +0000 (10:36 +0000)]
2012-08-07  Richard Guenther  <rguenther@suse.de>

* gimple.h (gimple_phi_set_result): Adjust SSA_NAME_DEF_STMT.
* tree-phinodes.c (make_phi_node): Allow a NULL var.
* tree-into-ssa.c (insert_phi_nodes_for): Simplify.
* tree-complex.c (update_phi_components): Likewise.
* tree-ssa-loop-manip.c (create_iv): Likewise.
(add_exit_phis_edge): Likewise.
(split_loop_exit_edge): Likewise.
(tree_transform_and_unroll_loop): Likewise.
* value-prof.c (gimple_ic): Likewise.
(gimple_stringop_fixed_value): Likewise.
* tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
* omp-low.c (expand_parallel_call): Likewise.
(expand_omp_for_static_chunk): Likewise.
(expand_omp_atomic_pipeline): Likewise.
* tree-parloops.c (create_phi_for_local_result): Likewise.
(transform_to_exit_first_loop): Likewise.
* tree-vect-data-refs.c (vect_setup_realignment): Likewise.
* graphite-scop-detection.c (canonicalize_loop_closed_ssa): Likewise.
* tree-predcom.c (initialize_root_vars): Likewise.
(initialize_root_vars_lm): Likewise.
* sese.c (sese_add_exit_phis_edge): Likewise.
* gimple-streamer-in.c (input_phi): Likewise.
* tree-inline.c (copy_phis_for_bb): Likewise.
* tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
* tree-cfg.c (gimple_make_forwarder_block): Likewise.
(gimple_duplicate_bb): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190199 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/mn10300/mn10300.c (mn10300_expand_prologue): Report
nickc [Tue, 7 Aug 2012 10:27:37 +0000 (10:27 +0000)]
* config/mn10300/mn10300.c (mn10300_expand_prologue): Report
stack usage if requested.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190198 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoruntime: support NumCPU() on more platforms
ian [Tue, 7 Aug 2012 04:42:49 +0000 (04:42 +0000)]
runtime: support NumCPU() on more platforms
        Added support for Solaris, Irix, *BSD (including Darwin).
        Still missing support for RTEMS.
        Fixes issue 3698 in Go issue tracker.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190197 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Tue, 7 Aug 2012 00:17:32 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190194 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-06 Cary Coutant <ccoutant@google.com>
ccoutant [Mon, 6 Aug 2012 22:49:05 +0000 (22:49 +0000)]
2012-08-06  Cary Coutant  <ccoutant@google.com>

gcc/
* cgraphunit.c (assemble_thunk): Add source line info.
* final.c (final): Check for non-null cfg pointer.

gcc/testsuite/
* g++.dg/debug/dwarf2/non-virtual-thunk.C: New test case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190190 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-06 Sandra Loosemore <sandra@codesourcery.com>
sandra [Mon, 6 Aug 2012 21:28:34 +0000 (21:28 +0000)]
2012-08-06  Sandra Loosemore  <sandra@codesourcery.com>
    Maxim Kuvyrkov  <maxim@codesourcery.com>
    Julian Brown  <julian@codesourcery.com>

gcc/
* config/mips/24k.md (r24k_unknown_store): Delete special handling
for cprestore.
(r24k_int_load, r24k_int_arith, r24k_int_mul3, r24k_int_mfhilo)
(r24k_int_cop, r24k_int_multi)
(r24kf2_1_fcvt_f2i, r24kf2_1_fxfer)
(r24kf1_1_fcvt_f2i, r24kf1_1_fxfer): Use mips_store_data_bypass_p
instead of store_data_bypass_p.
* config/mips/74k.md (r74k_int_store): Delete special handling for
cprestore.
(r74k_int_load, r74k_int_logical, r74k_int_arith, r74k_int_cmove):
Use mips_store_data_bypass_p instead of store_data_bypass_p.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190189 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-06 Janus Weil <janus@gcc.gnu.org>
janus [Mon, 6 Aug 2012 20:36:16 +0000 (20:36 +0000)]
2012-08-06  Janus Weil  <janus@gcc.gnu.org>

PR fortran/35831
* interface.c (check_result_characteristics): New function, which checks
the characteristics of function results.
(gfc_compare_interfaces,gfc_check_typebound_override): Call it.

2012-08-06  Janus Weil  <janus@gcc.gnu.org>

PR fortran/35831
* gfortran.dg/dummy_procedure_5.f90: Modified.
* gfortran.dg/dummy_procedure_8.f90: New.
* gfortran.dg/interface_26.f90: Modified.
* gfortran.dg/proc_ptr_11.f90: Modified.
* gfortran.dg/proc_ptr_15.f90: Modified.
* gfortran.dg/proc_ptr_result_5.f90: Modified.
* gfortran.dg/typebound_override_1.f90: Modified.
* gfortran.dg/typebound_proc_6.f03: Modified.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190187 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-06 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 6 Aug 2012 18:06:42 +0000 (18:06 +0000)]
2012-08-06  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/decimal/mixed-mode-cmp_neg.cc: Add test variable; minor
tweaks.
* testsuite/decimal/unary-arith.cc: Likewise.
* testsuite/decimal/ctor.cc: Likewise.
* testsuite/decimal/conversion-to-integral.cc: Likewise.
* testsuite/decimal/make-decimal.cc: Likewise.
* testsuite/decimal/comparison.cc: Likewise.
* testsuite/decimal/incdec-memfunc.cc: Likewise.
* testsuite/decimal/conversion-to-generic-float.cc: Likewise.
* testsuite/decimal/compound-assignment-memfunc.cc: Likewise.
* testsuite/decimal/cast_neg.cc: Likewise.
* testsuite/decimal/incdec.cc: Likewise.
* testsuite/decimal/mixed-mode-arith_neg.cc: Likewise.
* testsuite/decimal/binary-arith.cc: Likewise.
* testsuite/decimal/conversion-from-float.cc: Likewise.
* testsuite/decimal/conversion-from-integral.cc: Likewise.
* testsuite/decimal/compound-assignment.cc: Likewise.

2012-08-06  Peter Bergner  <bergner@vnet.ibm.com>

PR libstdc++/54036
* include/decimal/decimal.h (_DEFINE_DECIMAL_UNARY_OP): Use _Op as
a unary operator.
* testsuite/decimal/pr54036-1.cc: New test.
* testsuite/decimal/pr54036-2.cc: Likewise.
* testsuite/decimal/pr54036-3.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190186 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-06 Marc Glisse <marc.glisse@inria.fr>
glisse [Mon, 6 Aug 2012 16:38:48 +0000 (16:38 +0000)]
2012-08-06 Marc Glisse <marc.glisse@inria.fr>

gcc/
PR tree-optimization/51938
PR tree-optimization/52005
* tree-ssa-ifcombine.c (ifcombine_ifandif): New parameters for
inverted conditions.
(ifcombine_iforif): Remove, merge code into ifcombine_ifandif.
(tree_ssa_ifcombine_bb): Update calls to the above. Detect !a&&b
and !a||b patterns.

gcc/testsuite/
PR tree-optimization/51938
PR tree-optimization/52005
* gcc.dg/tree-ssa/ssa-ifcombine-8.c: New testcase.
* gcc.dg/tree-ssa/ssa-ifcombine-9.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-10.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-11.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190184 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoAvoid crashing on erroneous static_assert usage
dodji [Mon, 6 Aug 2012 16:19:09 +0000 (16:19 +0000)]
Avoid crashing on erroneous static_assert usage

When working on something else, I noticed that failing to provide the
second argument to the static_assert operator would lead to an ICE.

Fixed thus, and tested against trunk on x86_64-unknown-linux-gnu.

gcc/cp/

* semantics.c (finish_static_assert): Don't crash on erroneous
message or condition.

gcc/testsuite/

* g++.dg/cpp0x/static_assert8.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190182 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * tree-emutls.c (new_emutls_decl): When a var_section is requested by
hainque [Mon, 6 Aug 2012 15:15:37 +0000 (15:15 +0000)]
    * tree-emutls.c (new_emutls_decl): When a var_section is requested by
        the target, attach the new decl to that, not to the template section.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190179 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-06 Jason Merrill <jason@redhat.com>
paolo [Mon, 6 Aug 2012 10:25:22 +0000 (10:25 +0000)]
2012-08-06  Jason Merrill  <jason@redhat.com>

* g++.dg/cpp0x/sfinae38.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190176 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago/cp
paolo [Mon, 6 Aug 2012 09:49:39 +0000 (09:49 +0000)]
/cp
2012-08-06  Marc Glisse  <marc.glisse@inria.fr>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54165
* typeck.c (build_static_cast_1): Move the conversion to void case
before the perform_direct_initialization_if_possible call.

/testsuite
2012-08-06  Marc Glisse  <marc.glisse@inria.fr>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54165
* g++.dg/conversion/void2.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190175 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-06 Jose Ruiz <ruiz@adacore.com>
charlet [Mon, 6 Aug 2012 08:49:45 +0000 (08:49 +0000)]
2012-08-06  Jose Ruiz  <ruiz@adacore.com>

* gcc-interface/Makefile.in: Add support for 32-bit VxWorks for SPARC
in kernel mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190173 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-06 Arnaud Charlet <charlet@adacore.com>
charlet [Mon, 6 Aug 2012 08:48:19 +0000 (08:48 +0000)]
2012-08-06  Arnaud Charlet  <charlet@adacore.com>

* prj-attr.adb (Register_New_Package): Add missing blank.

2012-08-06  Ed Schonberg  <schonberg@adacore.com>

* exp_aggr.adb (Is_Two_Dim_Packed_Array): New predicate,
used when computing maximum size allowable to construct static
aggregate.

2012-08-06  Vincent Pucci  <pucci@adacore.com>

* freeze.adb (Freeze_Entity): Inherit_Aspects_At_Freeze_Point
calls added for derived types and subtypes.
* sem_aux.adb, sem_aux.ads (Get_Rep_Item, Get_Rep_Pragma,
Has_Rep_Pragma): New routines.
* sem_ch13.ads (Inherit_Aspects_At_Freeze_Point): New routine.
* sem_ch13.adb (Analyze_Aspect_Specifications): Error message
for aspect Lock_Free fixed.
(Inherits_Aspects_At_Freeze_Point): New routine.
* sem_ch3.adb: Several flag settings removed since inheritance
of aspects must be performed at freeze point.

2012-08-06  Thomas Quinot  <quinot@adacore.com>

* s-oscons-tmplt.c: Fix s-oscons.ads formatting on VxWorks.

2012-08-06  Vincent Pucci  <pucci@adacore.com>

* sem_dim.adb (Analyze_Dimension_Binary_Op): Issue an error message
for unknown exponent at compile-time.

2012-08-06  Gary Dismukes  <dismukes@adacore.com>

* sem_eval.ads (Compile_Time_Known_Value_Or_Aggr): Enhance
comment to make it clear that the aggregate's evaluation might
still involve run-time checks even though the aggregate is
considered known at compile time.
* sinfo.ads (Compile_Time_Known_Aggregate): Correct comment to
refer to Exp_Aggr instead of Sem_Aggr.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190172 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-06 Robert Dewar <dewar@adacore.com>
charlet [Mon, 6 Aug 2012 08:41:41 +0000 (08:41 +0000)]
2012-08-06  Robert Dewar  <dewar@adacore.com>

* xoscons.adb: Minor code reorganization (remove unused variable
E at line 331).
* g-sercom.ads, exp_attr.adb: Minor reformatting.
* sinfo.adb, sinfo.ads: Minor cleanup, remove unused flag
Static_Processing_OK.

2012-08-06  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Build_Derived_Concurrent_Type): Copy discriminant
constraint when building a constrained subtype, to prevent
undesirable tree sharing betweeb geberated subtype and derived
type definition.

2012-08-06  Thomas Quinot  <quinot@adacore.com>

* g-sercom-mingw.adb, s-oscons-tmplt.c: Add missing constants
on Windows.

2012-08-06  Sergey Rybin  <rybin@adacore.com frybin>

* tree_io.ads: Update ASIS_Version_Number because of the tree fix
for discriminant constraints for concurrent types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190171 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-06 Thomas Quinot <quinot@adacore.com>
charlet [Mon, 6 Aug 2012 08:35:47 +0000 (08:35 +0000)]
2012-08-06  Thomas Quinot  <quinot@adacore.com>

* sem_ch4.adb: Minor reformatting.

2012-08-06  Thomas Quinot  <quinot@adacore.com>

* s-oscons-tmplt.c, xoscons.adb: Per the Single UNIX Specification,
types cc_t, speed_t, and tcflag_t defined in <termios.h> all are
unsigned types. Add required special handling to have their correct
unsigned values in s-oscons.ads.

2012-08-06  Thomas Quinot  <quinot@adacore.com>

* par-ch13.adb: Minor reformatting.

2012-08-06  Thomas Quinot  <quinot@adacore.com>

* g-sercom.adb, g-sercom.ads, g-sercom-mingw.adb, g-sercom-linux.adb
(Set): Add Local and Flow_Control settings.

2012-08-06  Ed Schonberg  <schonberg@adacore.com>

* exp_attr.adb: Suppress saving of 'Old if assertions are not
enabled.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190170 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-06 Tom de Vries <tom@codesourcery.com>
vries [Mon, 6 Aug 2012 08:32:27 +0000 (08:32 +0000)]
2012-08-06  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/tree-ssa/vrp78.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190169 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-06 Tom de Vries <tom@codesourcery.com>
vries [Mon, 6 Aug 2012 08:32:20 +0000 (08:32 +0000)]
2012-08-06  Tom de Vries  <tom@codesourcery.com>

* tree-switch-conversion.c (emit_case_bit_tests): Generate MINUS_EXPR in
unsigned type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190168 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-06 Yannick Moy <moy@adacore.com>
charlet [Mon, 6 Aug 2012 08:32:05 +0000 (08:32 +0000)]
2012-08-06  Yannick Moy  <moy@adacore.com>

* sem_ch4.adb (Analyze_Selected_Component): Issue an error in
Alfa mode for component not present.

2012-08-06  Thomas Quinot  <quinot@adacore.com>

* exp_ch7.adb (Insert_Actions_In_Scope_Around): Do not
use a renaming of Scope_Stack.Table (Scope_Stack.Last), as
Process_Transient_Object may introduce new scopes and cause
Scope_Stack.Table to be reallocated.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190167 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-06 Robert Dewar <dewar@adacore.com>
charlet [Mon, 6 Aug 2012 08:26:27 +0000 (08:26 +0000)]
2012-08-06  Robert Dewar  <dewar@adacore.com>

* exp_util.adb, switch-c.adb, inline.ads, sem_ch10.adb, types.ads,
checks.adb, sem_prag.adb, sem.adb, sem.ads, sem_res.adb, sem_attr.adb,
gnat1drv.adb, exp_ch4.adb, exp_ch6.adb, opt.ads, osint.adb: Implement
extended overflow checks (step 1).
(Overflow_Check_Type, Suppress_Record, Suppress_All): New types.
(Suppress_Array): Extended to include switches to control extended
overflow checking (and renamed to Suppress_Record).
Update all uses of Suppress_Array.

2012-08-06  Thomas Quinot  <quinot@adacore.com>

* makeutl.ads: Minor documentation fix.

2012-08-06  Thomas Quinot  <quinot@adacore.com>

* exp_ch7.adb: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190166 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-06 Geert Bosch <bosch@adacore.com>
charlet [Mon, 6 Aug 2012 08:17:25 +0000 (08:17 +0000)]
2012-08-06  Geert Bosch  <bosch@adacore.com>

* a-ngelfu.adb: Change obsolete comment that this is a non-strict
implementation.

2012-08-06  Steve Baird  <baird@adacore.com>

* exp_ch7.adb (Build_Finalizer.Process_Object_Declaration): If
CodePeer_Mode = True then omit exception handlers for finalization calls

2012-08-06  Robert Dewar  <dewar@adacore.com>

* exp_aggr.adb: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190165 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-06 Robert Dewar <dewar@adacore.com>
charlet [Mon, 6 Aug 2012 08:12:36 +0000 (08:12 +0000)]
2012-08-06  Robert Dewar  <dewar@adacore.com>

* sem_ch6.adb: Remove useless flag Body_Deleted.

2012-08-06  Thomas Quinot  <quinot@adacore.com>

* sinfo.ads (End_Span): Change default from No_Uint to Uint_0,
as this is what all usage occurrences of this attribute are
expecting.
* uintp.adb (UI_To_Int): Add assertion to guard against calling
with No_Uint.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190164 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-06 Vincent Pucci <pucci@adacore.com>
charlet [Mon, 6 Aug 2012 08:12:10 +0000 (08:12 +0000)]
2012-08-06  Vincent Pucci  <pucci@adacore.com>

PR ada/54125
* exp_attr.adb (Expand_N_Attribute_Reference): Expand new
Atomic_Always_Lock_Free attribute.
* sem_attr.adb (Analyze_Attribute): Analyze new
Atomic_Always_Lock_Free attribute.
(Eval_Attribute): Nothing to do with new Atomic_Always_Lock_Free
attribute.
* sem_ch9.adb (Allows_Lock_Free_Implementation):
Support_Atomic_Primitives check replaces previous erroneous
size check.
* sem_util.adb, sem_util.ads (Support_Atomic_Primitives):
New routine.
* snames.ads-tmpl: New name Name_Atomic_Always_Lock_Free and
new attribute Attribute_Atomic_Always_Lock_Free defined.
* s-atopri.adb: Support_Atomic_Primitives checks replaced by
Atomic_Always_Lock_Free queries.
* system-aix64.ads, system-aix.ads, system-darwin-ppc.ads,
system-hpux.ads, system-linux-alpha.ads, system-linux-hppa.ads,
system-linux-ppc.ads, system-linux-s390.ads,
system-linux-s390x.ads, system-linux-sh4.ads,
system-linux-sparc.ads, system-lynxos178-ppc.ads,
system-lynxos-ppc.ads, system-mingw.ads,
system-vxworks-arm.ads, system-solaris-sparc.ads,
system-solaris-sparcv9.ads, system-vms_64.ads,
system-vxworks-m68k.ads, system-vxworks-mips.ads,
system-vxworks-ppc.ads, system-vxworks-sparcv9.ads: Flag
Support_Atomic_Primitives removed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190163 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-06 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 6 Aug 2012 08:02:35 +0000 (08:02 +0000)]
2012-08-06  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_mech.adb (Set_Mechanisms): OUT and IN OUT parameters are
now unconditionally passed by reference. IN parameters subject
to convention C_Pass_By_Copy are passed by copy, otherwise they
are passed by reference.

2012-08-06  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Analyze_Object_Declaration): According to
AI95-0303, protected objects with interrupt handlers can be
declared in nested scopes. This is a binding interpretation,
and thus applies to all versions of the compiler.

2012-08-06  Robert Dewar  <dewar@adacore.com>

* frontend.adb, exp_aggr.adb: Minor reformatting.

2012-08-06  Thomas Quinot  <quinot@adacore.com>

* par-endh.adb: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190162 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-06 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 6 Aug 2012 07:58:49 +0000 (07:58 +0000)]
2012-08-06  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch7.adb (Process_Transient_Objects): Remove obsolete loop
processing related to array initialization. The expansion of
loops already contains a mechanism to detect controlled objects
generated by expansion and introduce a block around the loop
statements for finalization purposes.

2012-08-06  Vincent Pucci  <pucci@adacore.com>

* sem_ch13.adb: Current scope must be within
or same as the scope of the entity while analysing aspect
specifications at freeze point.

2012-08-06  Thomas Quinot  <quinot@adacore.com>

* par_sco.adb: Add note about dubious SCO for TERMINATE
alternative.
* sem_ch8.adb, exp_ch11.adb: Minor reformatting.

2012-08-06  Ed Schonberg  <schonberg@adacore.com>

* exp_aggr.adb (Two_Dim_Packed_Array_Handled): New procedure to
transform an aggregate for a packed two-dimensional array into
a one-dimensional array of constant values, in order to avoid
the generation of component-by-component assignments.

2012-08-06  Thomas Quinot  <quinot@adacore.com>

* frontend.adb: Do not attempt to process deferred configuration
pragmas if the main unit failed to load, to avoid cascaded
inconsistencies that can lead to a compiler crash.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190161 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-06 Vincent Pucci <pucci@adacore.com>
charlet [Mon, 6 Aug 2012 07:54:34 +0000 (07:54 +0000)]
2012-08-06  Vincent Pucci  <pucci@adacore.com>

* s-atopri.adb: Minor reformatting.

2012-08-06  Arnaud Charlet  <charlet@adacore.com>

* gnat-style.texi: Clarify that all subprograms should be
documented. Minor rewording.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190160 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-06 Robert Dewar <dewar@adacore.com>
charlet [Mon, 6 Aug 2012 07:51:56 +0000 (07:51 +0000)]
2012-08-06  Robert Dewar  <dewar@adacore.com>

* aspects.ads: Define Aspect_Id_Exclude_No_Aspect.
* par-ch13.adb, restrict.adb: Use Aspect_Id_Exclude_No_Aspect to
simplify code.

2012-08-06  Yannick Moy  <moy@adacore.com>

* gnat-style.texi: Update style guide for declarations.

2012-08-06  Yannick Moy  <moy@adacore.com>

* sem_attr.adb (Analyze_Attribute): In the case for 'Old,
skip a special expansion which is not needed in Alfa mode.

2012-08-06  Yannick Moy  <moy@adacore.com>

* sem_ch5.adb (Analyze_Iterator_Specification): Do not perform
an expansion of the iterator in Alfa mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190159 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-06 Robert Dewar <dewar@adacore.com>
charlet [Mon, 6 Aug 2012 07:46:43 +0000 (07:46 +0000)]
2012-08-06  Robert Dewar  <dewar@adacore.com>

* s-oscons-tmplt.c, sem_ch9.adb, osint.adb: Minor reformatting.

2012-08-06  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch5.adb (Analyze_Loop_Parameter_Specification): Remove obsolete
Alfa-specific guard. The code is a leftover from an early
implementation of iterators which is no longer in use.

2012-08-06  Vincent Celier  <celier@adacore.com>

* par-ch13.adb (Get_Aspect_Specifications): Do not consider
No_Aspect when checking for a mispelled aspect.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190158 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-06 Robert Dewar <dewar@adacore.com>
charlet [Mon, 6 Aug 2012 07:43:45 +0000 (07:43 +0000)]
2012-08-06  Robert Dewar  <dewar@adacore.com>

* s-htable.adb: Minor reformatting.

2012-08-06  Thomas Quinot  <quinot@adacore.com>

* s-oscons-tmplt.c, g-socket.adb (System.OS_Constants.Target_OS):
Suppress warnings so that we don't have to do it at each usage.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190157 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-06 Vincent Pucci <pucci@adacore.com>
charlet [Mon, 6 Aug 2012 07:33:43 +0000 (07:33 +0000)]
2012-08-06  Vincent Pucci  <pucci@adacore.com>

* exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body):
Use of Known_Static_Esize instead of  Known_Esize and
Known_Static_RM_Size instead of Known_RM_Size in order to
properly call UI_To_Int. Don't check the size of the component
type in case of generic.
* sem_ch9.adb (Allows_Lock_Free_Implementation):
Use of Known_Static_Esize instead of Known_Esize and
Known_Static_RM_Size instead of Known_RM_Size in order to properly
call UI_To_Int. Don't check the size of the component type in
case of generic.

2012-08-06  Hristian Kirtchev  <kirtchev@adacore.com>

* checks.adb (Discrete_Range_Cond): Do not try to optimize on
the assumption that the type of an expression can always fit in
the target type of a conversion.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190156 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Mon, 6 Aug 2012 00:17:34 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190154 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDocument AMD btver2
vekumar [Sun, 5 Aug 2012 12:29:52 +0000 (12:29 +0000)]
Document AMD btver2

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190151 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-04 Sandra Loosemore <sandra@codesourcery.com>
sandra [Sun, 5 Aug 2012 00:35:05 +0000 (00:35 +0000)]
2012-08-04  Sandra Loosemore  <sandra@codesourcery.com>
    Richard Sandiford  <rdsandiford@googlemail.com>

gcc/
* config/mips/mips.c (mips_option_override): Check -fpic
for compatibility with -mabicalls and ABI.

gcc/testsuite/
* g++.dg/opt/enum2.C: Require fpic target.
* g++.dg/lto/20090303_0.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190150 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Sun, 5 Aug 2012 00:18:19 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190149 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-04 Catherine Moore <clm@codesourcery.com>
sandra [Sat, 4 Aug 2012 22:16:57 +0000 (22:16 +0000)]
2012-08-04  Catherine Moore  <clm@codesourcery.com>
    Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* config/mips/xlr.md (ir_xlr_alu_clz): New insn_reservation.
(ir_xlr_alu): Remove clz.
* config/mips/mips-cpus.def (xlr): Set PTF_AVOID_BRANCHLIKELY.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190146 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-04 Sandra Loosemore <sandra@codesourcery.com>
sandra [Sat, 4 Aug 2012 22:05:55 +0000 (22:05 +0000)]
2012-08-04  Sandra Loosemore  <sandra@codesourcery.com>
    Catherine Moore  <clm@codesourcery.com>

gcc/testsuite/
* gcc.target/mips/clear-cache-1.c: Test for alternate cache
flush function names too.
* gcc.target/mips/clear-cache-1.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190145 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoFix PR 54033, problems with -I, with test cases
hjl [Sat, 4 Aug 2012 18:26:56 +0000 (18:26 +0000)]
Fix PR 54033, problems with -I, with test cases

 PR fortran/54033
 * scanner.c (add_path_to_list):  New argument warn.  Don't
 warn if it is true.
 (gfc_add_include_path):  Warn if directory is missing.
 (gfc_add_intrinsic_modules_path):  Do not warn if directory
 is missing.
 * optinons.c (gfc_handle_option):  Do not add directory
 for intrinsic modules to normal include path.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190144 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * arm.c (arm_gen_constant): Use SImode when preparing operands for
rearnsha [Sat, 4 Aug 2012 14:02:56 +0000 (14:02 +0000)]
* arm.c (arm_gen_constant): Use SImode when preparing operands for
gen_extzv_t2.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190143 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-04 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Sat, 4 Aug 2012 11:44:28 +0000 (11:44 +0000)]
2012-08-04  Paolo Carlini  <paolo.carlini@oracle.com>

Revert:
2012-08-03  Ollie Wild  <aaw@google.com>
    Richard Smith  <richardsmith@google.com>

* include/bits/stl_map.h (operator[](key_type&&)): Replace
std::make_pair with value_type.
* testsuite/23_containers/map/operators/2.cc: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190142 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/i386/i386.h (QI_REGNO_P): New define.
uros [Sat, 4 Aug 2012 08:37:50 +0000 (08:37 +0000)]
* config/i386/i386.h (QI_REGNO_P): New define.
(ANY_QI_REGNO_P): Ditto.
(GENERAL_REGNO_P): Use IN_RANGE macro.
(QI_REG_P): Use QI_REGNO_P.
(ANY_QI_REG_P): Use GENERAL_REGNO_P and QI_REGNO_P.
(HARD_REGNO_CALLER_SAVE_MODE): Use QI_REGNO_P.
* config/i386/i386.c (ix86_hard_regno_mode_ok): Ditto.
(x86_extended_QIreg_mentioned_p): Ditto.  Also check if
register is a general register.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190141 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoReplace top_srcdir with srcdir
hjl [Sat, 4 Aug 2012 05:33:27 +0000 (05:33 +0000)]
Replace top_srcdir with srcdir

PR driver/54171
* Makefile.in (version): Replace top_srcdir with srcdir.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190140 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Sat, 4 Aug 2012 00:18:21 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190139 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * Makefile.in (version): set to BASE-VER file from gcc directory.
ian [Fri, 3 Aug 2012 23:42:20 +0000 (23:42 +0000)]
* Makefile.in (version): set to BASE-VER file from gcc directory.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190136 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-03 François Dumont <fdumont@gcc.gnu.org>
fdumont [Fri, 3 Aug 2012 19:34:49 +0000 (19:34 +0000)]
2012-08-03  François Dumont  <fdumont@gcc.gnu.org>

* include/debug/functions.h (__check_partition_lower_aux): Remove
redundant comparison with pivot value.
(__check_partition_upper_aux): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190134 138bc75d-0d04-0410-961f-82ee72b054a4