platform/upstream/gcc.git
9 years agoDaily bump.
GCC Administrator [Sun, 30 Nov 2014 00:16:34 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r218187

9 years agolocale_init.cc (locale::_Impl::_Impl(size_t)): Use new-initializer instead of loop.
Jonathan Wakely [Sat, 29 Nov 2014 22:58:38 +0000 (22:58 +0000)]
locale_init.cc (locale::_Impl::_Impl(size_t)): Use new-initializer instead of loop.

* src/c++98/locale_init.cc (locale::_Impl::_Impl(size_t)): Use
new-initializer instead of loop.
* src/c++98/localename.cc (locale::_Impl::_Impl(const char*, size_t)):
Likewise.

From-SVN: r218184

9 years agononio.h (__timepunct): Remove unused typedef.
Jonathan Wakely [Sat, 29 Nov 2014 22:58:33 +0000 (22:58 +0000)]
nonio.h (__timepunct): Remove unused typedef.

* include/bits/locale_facets/nonio.h (__timepunct): Remove unused
typedef.
(time_get): Likewise. Fix comments.

From-SVN: r218183

9 years agoAdd a testcase for PR target/64114
H.J. Lu [Sat, 29 Nov 2014 15:57:32 +0000 (15:57 +0000)]
Add a testcase for PR target/64114

PR target/64114
* gcc.target/i386/pr64114.c: New test.

From-SVN: r218182

9 years agogimple-expr.h (create_tmp_var_raw, [...]): Add default NULL value to last argument.
Jakub Jelinek [Sat, 29 Nov 2014 11:35:30 +0000 (12:35 +0100)]
gimple-expr.h (create_tmp_var_raw, [...]): Add default NULL value to last argument.

* gimple-expr.h (create_tmp_var_raw, create_tmp_var,
create_tmp_reg): Add default NULL value to last argument.
* tree-ssanames.h (make_ssa_name, copy_ssa_name): Likewise.
* gimple-low.c (lower_builtin_posix_memalign): Remove NULL
last argument from create_tmp_var_raw, create_tmp_var,
create_tmp_reg, make_ssa_name and copy_ssa_name calls.
* tree-ssa-strlen.c (get_string_length): Likewise.
* tree-emutls.c (gen_emutls_addr, lower_emutls_1): Likewise.
* tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
* tree-vect-slp.c (vect_get_constant_vectors): Likewise.
* ipa-prop.c (ipa_modify_call_arguments): Likewise.
* tree-ssa-forwprop.c (simplify_rotate): Likewise.
* tree-ssa-ccp.c (fold_builtin_alloca_with_align): Likewise.
* asan.c (build_shadow_mem_access, maybe_create_ssa_name,
maybe_cast_to_ptrmode, asan_expand_check_ifn): Likewise.
* tsan.c (instrument_expr, instrument_builtin_call,
instrument_func_entry): Likewise.
* varpool.c (add_new_static_var): Likewise.
* tree-loop-distribution.c (generate_memset_builtin): Likewise.
* gimplify.c (internal_get_tmp_var, gimplify_return_expr,
gimplify_modify_expr_to_memcpy, gimplify_modify_expr_to_memset,
gimplify_init_ctor_eval_range, gimplify_init_constructor,
gimplify_omp_atomic, gimplify_expr): Likewise.
* gimple-builder.c (build_assign, build_type_cast): Likewise.
* tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1,
slpeel_update_phi_nodes_for_guard2, slpeel_tree_peel_loop_to_edge,
vect_loop_versioning): Likewise.
* tree-if-conv.c (version_loop_for_if_conversion): Likewise.
* gimple-match-head.c (maybe_push_res_to_seq): Likewise.
* tree-vect-patterns.c (vect_handle_widen_op_by_const,
vect_recog_widen_mult_pattern, vect_operation_fits_smaller_type,
vect_recog_over_widening_pattern): Likewise.
* tree-sra.c (build_ref_for_offset, create_access_replacement):
Likewise.
* tree-cfg.c (make_blocks): Likewise.
* tree-eh.c (lower_eh_constructs_2, lower_resx, lower_eh_dispatch):
Likewise.
* tree-ssa-propagate.c (update_call_from_tree): Likewise.
* tree-complex.c (get_component_ssa_name, expand_complex_div_wide):
Likewise.
* tree-ssa-math-opts.c (build_and_insert_cast): Likewise.
* tree-tailcall.c (update_accumulator_with_ops): Likewise.
* tree-predcom.c (initialize_root_vars, initialize_root_vars_lm,
execute_load_motion, reassociate_to_the_same_stmt): Likewise.
* tree-ssa-reassoc.c (build_and_add_sum,
optimize_range_tests_to_bit_test, update_ops,
maybe_optimize_range_tests, rewrite_expr_tree, linearize_expr,
negate_value, repropagate_negates): Likewise.
* tree-vect-loop.c (vect_is_simple_reduction_1,
vect_create_epilog_for_reduction): Likewise.
* ipa-split.c (split_function): Likewise.
* tree-inline.c (remap_ssa_name, setup_one_parameter,
declare_return_variable, tree_function_versioning): Likewise.
* tree-cfgcleanup.c (fixup_noreturn_call): Likewise.
* cfgexpand.c (update_alias_info_with_stack_vars, expand_used_vars):
Likewise.
* tree-ssa-phiopt.c (conditional_replacement, abs_replacement,
neg_replacement): Likewise.
* gimplify-me.c (force_gimple_operand_1, gimple_regimplify_operands):
Likewise.
* tree-vrp.c (simplify_truth_ops_using_ranges,
simplify_float_conversion_using_ranges,
simplify_internal_call_using_ranges): Likewise.
* tree-switch-conversion.c (emit_case_bit_tests,
build_one_array, build_arrays, gen_def_assigns): Likewise.
* gimple-fold.c (gimple_fold_builtin_memory_op,
gimple_fold_builtin_strcat, gimple_fold_call, gimple_build): Likewise.
* tree-vect-generic.c (expand_vector_divmod,
optimize_vector_constructor): Likewise.
* ubsan.c (ubsan_encode_value, ubsan_expand_null_ifn,
ubsan_expand_objsize_ifn, instrument_si_overflow,
instrument_bool_enum_load, instrument_nonnull_arg): Likewise.
* tree-outof-ssa.c (insert_backedge_copies): Likewise.
* tree-ssa-loop-manip.c (create_iv,
tree_transform_and_unroll_loop): Likewise.
* omp-low.c (scan_omp_parallel, lower_rec_simd_input_clauses,
lower_rec_input_clauses, lower_lastprivate_clauses,
expand_parallel_call, expand_omp_for_static_chunk,
expand_omp_atomic_pipeline, expand_omp_target,
maybe_add_implicit_barrier_cancel, lower_omp_single_simple,
lower_omp_critical, lower_omp_for, task_copyfn_copy_decl,
lower_depend_clauses, lower_omp_target, lower_omp_1,
ipa_simd_modify_stmt_ops, simd_clone_adjust): Likewise.
* tree-parloops.c (take_address_of, create_phi_for_local_result,
create_call_for_reduction_1, separate_decls_in_region,
create_parallel_loop): Likewise.
* graphite-sese-to-poly.c (rewrite_cross_bb_scalar_dependence,
handle_scalar_deps_crossing_scop_limits): Likewise.
* trans-mem.c (lower_transaction, build_tm_load, build_tm_store,
expand_assign_tm, expand_call_tm, expand_transaction,
ipa_tm_insert_gettmclone_call): Likewise.
* tree-vect-data-refs.c (bump_vector_ptr, vect_setup_realignment):
Likewise.
* tree-vect-stmts.c (vect_init_vector, vectorizable_mask_load_store,
vectorizable_call, vectorizable_simd_clone_call,
vectorizable_conversion, vectorizable_store, permute_vec_elements,
vectorizable_load): Likewise.
c/
* c-typeck.c (convert_lvalue_to_rvalue, build_atomic_assign,
c_finish_stmt_expr): Remove NULL last argument from
create_tmp_var_raw and create_tmp_var calls.
* c-array-notation.c (fix_builtin_array_notation_fn,
build_array_notation_expr, fix_conditional_array_notations_1,
fix_array_notation_expr, fix_array_notation_call_expr): Likewise.
cp/
* cp-gimplify.c (cxx_omp_clause_apply_fn): Remove NULL last argument
from create_tmp_var calls.
c-family/
* c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
last argument from create_tmp_var_raw and create_tmp_var calls.
* cilk.c (gimplify_cilk_spawn): Likewise.
* c-omp.c (c_finish_omp_atomic): Likewise.
fortran/
* trans-openmp.c (gfc_omp_finish_clause,
gfc_trans_omp_array_reduction_or_udr, gfc_trans_omp_atomic): Remove
NULL last argument from create_tmp_var_raw and create_tmp_var calls.

From-SVN: r218181

9 years agoscanner.c (skip_free_comments, [...]): Use gfc_warning_now instead of ..._now_1.
Tobias Burnus [Sat, 29 Nov 2014 10:56:04 +0000 (11:56 +0100)]
scanner.c (skip_free_comments, [...]): Use gfc_warning_now instead of ..._now_1.

2014-11-29  Tobias Burnus  <burnus@net-b.de>

        * scanner.c (skip_free_comments, gfc_gobble_whitespace): Use
        gfc_warning_now instead of ..._now_1.

From-SVN: r218180

9 years agoFix off-by-one bug in utf16 conversion (PR preprocessor/41698).
Joseph Myers [Sat, 29 Nov 2014 01:56:06 +0000 (01:56 +0000)]
Fix off-by-one bug in utf16 conversion (PR preprocessor/41698).

libcpp:
2014-11-29  John Schmerge  <jbschmerge@gmail.com>

PR preprocessor/41698
* charset.c (one_utf8_to_utf16): Do not produce surrogate pairs
for 0xffff.

gcc/testsuite:
2014-11-29  Joseph Myers  <joseph@codesourcery.com>

PR preprocessor/41698
* gcc/testsuite/g++.dg/cpp/utf16-pr41698-1.C: New test.

From-SVN: r218179

9 years agoDaily bump.
GCC Administrator [Sat, 29 Nov 2014 00:16:26 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r218178

9 years agoopt-functions.awk (lang_enabled_by): Support || for enabled-by.
Tobias Burnus [Sat, 29 Nov 2014 00:04:48 +0000 (01:04 +0100)]
opt-functions.awk (lang_enabled_by): Support || for enabled-by.

2014-11-29  Tobias Burnus  <burnus@net-b.de>
            Manuel López-Ibáñez  <manu@gcc.gnu.org>

gcc/
        * opt-functions.awk (lang_enabled_by): Support || for
        enabled-by.
        * optc-gen.awk: Ditto.
        * doc/options.texi (LangEnabledBy, EnabledBy): Document the
        || syntax.

gcc/fortran/
        * lang.opt (Wtabs): Combine duplicated item into a single
        one using || for LangEnabledBy.

Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
From-SVN: r218175

9 years agobitmap.c (bitmap_ior, bitmap_ior_and_compl): Zap current as it could be deleted.
Mike Stump [Fri, 28 Nov 2014 22:23:59 +0000 (22:23 +0000)]
bitmap.c (bitmap_ior, bitmap_ior_and_compl): Zap current as it could be deleted.

From-SVN: r218173

9 years agore PR target/64061 (ICE: in gen_rtx_SUBREG, at emit-rtl.c:894 with -O2 -g -fno-dce...
Vladimir Makarov [Fri, 28 Nov 2014 19:33:35 +0000 (19:33 +0000)]
re PR target/64061 (ICE: in gen_rtx_SUBREG, at emit-rtl.c:894 with -O2 -g -fno-dce -fno-tree-dce)

2014-11-28  Vladimir Makarov  <vmakarov@redhat.com>

PR target/64061
* lra.c (lra_substitute_pseudo): Ignore constant with int mode for
subreg.

2014-11-28  Vladimir Makarov  <vmakarov@redhat.com>

PR target/64061
* gcc.target/i386/pr64061.c: New.

From-SVN: r218171

9 years agoAdd support for a minimal version of libgfortran for accelerator targets.
Bernd Schmidt [Fri, 28 Nov 2014 17:39:15 +0000 (17:39 +0000)]
Add support for a minimal version of libgfortran for accelerator targets.

* Makefile.am (AM_CFLAGS): Add -DLIBGFOR_MINIMAL if LIBGFOR_MINIMAL.
        (gfor_io_src, gfor_heper_src, gfor_src): Split into minimal and
        always included sources.
        * Makefile.in: Regenerate.
        * configure.ac (LIBGFOR_MINIMAL): New AM_CONDITIONAL.
        * configure: Regenerate.
        * caf/single.c (caf_runtime_error): Don't print messages if
        LIBGFOR_MINIMAL.
        * runtime/compile_options.c (fatal_error_in_progress,
        show_signal, backtrace_handler, maybe_find_addr2line): Guard with
        !defined LIBGFOR_MINIMAL.
        (set_options): Likewise for the backtrace code.
        * runtime/minimal.c: New file.

From-SVN: r218170

9 years agore PR target/64093 (ICE error: unrecognizable insn with -mcpu=cell)
Segher Boessenkool [Fri, 28 Nov 2014 16:25:33 +0000 (17:25 +0100)]
re PR target/64093 (ICE error: unrecognizable insn with -mcpu=cell)

PR target/64093
* config/rs6000/rs6000.md (and<mode>3): Don't generate
and<mode>3_imm unless rs6000_gen_cell_microcode is true.

From-SVN: r218164

9 years agoc-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR instead of unsigned_...
Marek Polacek [Fri, 28 Nov 2014 15:54:52 +0000 (15:54 +0000)]
c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR instead of unsigned_type_node.

* c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
instead of unsigned_type_node.

* c-c++-common/ubsan/shift-8.c: New test.

From-SVN: r218163

9 years agore PR rtl-optimization/64087 (ICE on valid code at -O3 on x86_64-linux-gnu in in...
Vladimir Makarov [Fri, 28 Nov 2014 15:39:52 +0000 (15:39 +0000)]
re PR rtl-optimization/64087 (ICE on valid code at -O3 on x86_64-linux-gnu in in lra_create_live_ranges, at lra-lives.c:1330)

2014-11-28  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/64087
* lra-lives.c (process_bb_lives): Add debug output.
(lra_create_live_ranges): Don't remove dead insn on the second
call of lra_create_live_ranges_1.

2014-11-28  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/64087
*  gcc.dg/pr64087.c: New.

From-SVN: r218162

9 years agoPass unpromoted argument to promote_function_mode
H.J. Lu [Fri, 28 Nov 2014 15:27:55 +0000 (15:27 +0000)]
Pass unpromoted argument to promote_function_mode

This patch updates setup_incoming_promotions in combine.c to match what
is actually passed in assign_parm_setup_reg in function.c.

gcc/

PR rtl-optimization/64037
* combine.c (setup_incoming_promotions): Pass the argument
before any promotions happen to promote_function_mode.

gcc/testsuite/

PR rtl-optimization/64037
* g++.dg/pr64037.C: New test.

From-SVN: r218161

9 years agotree-vect-data-refs.c (vect_transform_grouped_load): Limit shift permutations to...
Evgeny Stupachenko [Fri, 28 Nov 2014 14:45:26 +0000 (14:45 +0000)]
tree-vect-data-refs.c (vect_transform_grouped_load): Limit shift permutations to loads group of size 3.

gcc/
* tree-vect-data-refs.c (vect_transform_grouped_load): Limit shift
permutations to loads group of size 3.

gcc/testsuite/

* gcc.target/i386/pr52252-atom-1.c: Delete.

From-SVN: r218160

9 years ago[ARM] Optimize copysign/copysignf for soft-float using BFI
Jiong Wang [Fri, 28 Nov 2014 14:07:04 +0000 (14:07 +0000)]
[ARM] Optimize copysign/copysignf for soft-float using BFI

  gcc/
    * config/arm/arm.md (copysignsf3): New pattern.
    (copysigndf3): Likewise.

  gcc/testsuite/
    * gcc.target/arm/copysign_softfloat_1.c: New copysign/copysignf
    testcase for soft-float.

From-SVN: r218159

9 years agoomp-low.c (lower_omp_critical): Mark critical sections inside target functions as...
Andrey Turetskiy [Fri, 28 Nov 2014 13:59:49 +0000 (13:59 +0000)]
omp-low.c (lower_omp_critical): Mark critical sections inside target functions as offloadable.

gcc/
* omp-low.c (lower_omp_critical): Mark critical sections
inside target functions as offloadable.
libgomp/
* testsuite/libgomp.c/target-critical-1.c: New test.

Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
From-SVN: r218158

9 years agoUpdate gcc.target/i386/pr63661.c
H.J. Lu [Fri, 28 Nov 2014 13:54:17 +0000 (13:54 +0000)]
Update gcc.target/i386/pr63661.c

* gcc.target/i386/pr63661.c: Replace -mtune=native with
-mtune=nehalem.
(foo): Replace "!=" with delta.
(main): Remove __builtin_printf.

From-SVN: r218157

9 years agolto-wrapper.c (run_gcc): Set have_lto and have_offload if at least one file contains...
Ilya Verbin [Fri, 28 Nov 2014 13:46:28 +0000 (13:46 +0000)]
lto-wrapper.c (run_gcc): Set have_lto and have_offload if at least one file contains sections with LTO...

gcc/
* lto-wrapper.c (run_gcc): Set have_lto and have_offload if at least one
file contains sections with LTO and offload IR, respectively.

From-SVN: r218156

9 years agoUpdate comments.
Arnaud Charlet [Fri, 28 Nov 2014 13:22:29 +0000 (14:22 +0100)]
Update comments.

From-SVN: r218149

9 years agoUpdate copyright notice.
Arnaud Charlet [Fri, 28 Nov 2014 13:22:06 +0000 (14:22 +0100)]
Update copyright notice.

From-SVN: r218148

9 years agocgraphunit.c (ipa_passes): Handle flag_generate_offload.
Ilya Verbin [Fri, 28 Nov 2014 12:23:55 +0000 (12:23 +0000)]
cgraphunit.c (ipa_passes): Handle flag_generate_offload.

gcc/
* cgraphunit.c (ipa_passes): Handle flag_generate_offload.
(symbol_table::compile): Set flag_generate_offload if there is something
to offload.
* common.opt (flag_generate_offload): New Variable declaration.
* dwarf2out.c (dwarf2out_finish): Handle flag_generate_offload.
* ipa-inline-analysis.c (inline_generate_summary): Do not skip if
flag_generate_offload is set.
* lto-streamer.c (gate_lto_out): Handle flag_generate_offload.
* passes.c (ipa_write_summaries): Do not skip if flag_generate_offload
is set.
* toplev.c (compile_file): Emit LTO marker if offload info has been
previously emitted.  Do not emit lto_slim marker if
flag_generate_offload is without flag_generate_lto.
* tree.c (free_lang_data): Do not skip if flag_generate_offload is set.

From-SVN: r218147

9 years ago[ARM] Add -mcpu=cortex-a17.cortex-a7
Kyrylo Tkachov [Fri, 28 Nov 2014 12:17:40 +0000 (12:17 +0000)]
[ARM] Add -mcpu=cortex-a17.cortex-a7

* config/arm/arm-cores.def (cortex-a17.cortex-a7): New entry.
* config/arm/arm-tables.opt: Regenerate.
* config/arm/arm-tune.md: Regenerate.
* config/arm/bpabi.h (BE8_LINK_SPEC): Add mcpu=cortex-a17.cortex-a7.
* config/arm/t-aprofile: Add cortex-a17.cortex-a7 entry to
MULTILIB_MATCHES.

From-SVN: r218146

9 years ago[ARM] Add Cortex-A17 support
Kyrylo Tkachov [Fri, 28 Nov 2014 11:59:34 +0000 (11:59 +0000)]
[ARM] Add Cortex-A17 support

* config/arm/arm.md (generic_sched): Specify cortexa17 in 'no' list.
Include cortex-a17.md.
* config/arm/arm.c (arm_issue_rate): Specify 2 for cortexa17.
* config/arm/arm-cores.def (cortex-a17): New entry.
* config/arm/arm-tables.opt: Regenerate.
* config/arm/arm-tune.md: Regenerate.
* config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=cortex-a17.
* config/arm/cortex-a17.md: New file.
* config/arm/cortex-a17-neon.md: New file.
* config/arm/driver-arm.c (arm_cpu_table): Add entry for cortex-a17.
* config/arm/t-aprofile: Add cortex-a17 entries to MULTILIB_MATCHES.

From-SVN: r218145

9 years agoUse native tune. nehalem is not able to triggle the issue in trunk any more.
Renlin Li [Fri, 28 Nov 2014 11:18:47 +0000 (11:18 +0000)]
Use native tune. nehalem is not able to triggle the issue in trunk any more.

2014-11-28  Renlin Li  <renlin.li@arm.com>

PR  target/63661
* gcc.target/i386/pr63661.c: Use native tune.

From-SVN: r218144

9 years agoAdd testcase for PR63661.
Renlin Li [Fri, 28 Nov 2014 11:01:27 +0000 (11:01 +0000)]
Add testcase for PR63661.

2014-11-28  Renlin Li  <renlin.li@arm.com>

PR target/63661
* gcc.target/i386/pr63661.c: New test.

From-SVN: r218143

9 years agore PR c/63862 (C frontend converts shift-count to int while standard wants integer...
Marek Polacek [Fri, 28 Nov 2014 09:06:48 +0000 (09:06 +0000)]
re PR c/63862 (C frontend converts shift-count to int while standard wants integer promotions)

PR c/63862
c-family/
* c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
to op1_utype.
* c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
expression to unsigned_type_node.
c/
* c-typeck.c (build_binary_op) <RSHIFT_EXPR, LSHIFT_EXPR>: Don't
convert the right operand to integer type.
cp/
* typeck.c (cp_build_binary_op) <RSHIFT_EXPR, LSHIFT_EXPR>: Don't
convert the right operand to integer type.
testsuite/
* gcc.c-torture/execute/shiftopt-1.c: Don't XFAIL anymore.
* c-c++-common/ubsan/shift-7.c: New test.

From-SVN: r218142

9 years agore PR tree-optimization/64084 (match-and-simplify prefers complex matches)
Richard Biener [Fri, 28 Nov 2014 08:57:43 +0000 (08:57 +0000)]
re PR tree-optimization/64084 (match-and-simplify prefers complex matches)

2014-11-28  Richard Biener  <rguenther@suse.de>

PR middle-end/64084
* genmatch.c (dt_node::gen_kids_1): New function, split out
from dt_node::gen_kids.
(decision_tree::cmp_node): DT_TRUE are generally not equal.
(decision_tree::find_node): Treat DT_TRUE as barrier for
node CSE on the same level.
(dt_node::append_node): Do not keep DT_TRUE last.
(dt_node::gen_kids): Emit code after each DT_TRUE node seen.

* gcc.dg/tree-ssa/ssa-ccp-34.c: New testcase.
* gcc.dg/tree-ssa/forwprop-31.c: Likewise.

From-SVN: r218141

9 years agoFix t-aprofile for march=armv8-a+crc
Ramana Radhakrishnan [Fri, 28 Nov 2014 08:21:10 +0000 (08:21 +0000)]
Fix t-aprofile for march=armv8-a+crc

2014-11-28  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

        * config/arm/t-aprofile (MULTILIB_MATCHES): New entry for
        -march=armv8-a+crc.

From-SVN: r218139

9 years agoDaily bump.
GCC Administrator [Fri, 28 Nov 2014 00:16:26 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r218137

9 years agoi386.md (preferred_for_size): New attribute
Uros Bizjak [Thu, 27 Nov 2014 21:46:32 +0000 (22:46 +0100)]
i386.md (preferred_for_size): New attribute

* config/i386/i386.md (preferred_for_size): New attribute
(*pushxf): Split Yx*r constraints to r,*r.  Use preferred_for_size
attribute to conditionally disable alternative 1.
(*pushdf): Split Yd*r constraints to r,*r.  Use preferred_for_size
and prefered_for_speed attributes to conditionally disable
alternative 1.
(*movxf_internal): Split Yx*r constraints to r,*r.  Use
preferred_for_size attribute to conditionally disable
alternatives 3 and 4.
(*movdf_internal): Split Yd*r constraints to r,*r.  Use
preferred_for_size and prefered_for_speed attributes to conditionally
disable alternatives 3 and 4.
* config/i386/constraints.md (Yd, Yx): Remove register constraints.

From-SVN: r218134

9 years ago* dwarf2out.c (set_block_origin_self): Skip nested functions.
Eric Botcazou [Thu, 27 Nov 2014 21:15:16 +0000 (21:15 +0000)]
* dwarf2out.c (set_block_origin_self): Skip nested functions.

From-SVN: r218133

9 years agoUse R15_REG for REAL_PIC_OFFSET_TABLE_REGNUM
H.J. Lu [Thu, 27 Nov 2014 21:03:32 +0000 (21:03 +0000)]
Use R15_REG for REAL_PIC_OFFSET_TABLE_REGNUM

 PR target/63833
 * config/i386/i386.h (REAL_PIC_OFFSET_TABLE_REGNUM): Use
 R15_REG for 64-bit.
 * config/i386/rdos64.h (REAL_PIC_OFFSET_TABLE_REGNUM): Removed.

From-SVN: r218132

9 years agoAdd self as nvptx port maintainer.
Bernd Schmidt [Thu, 27 Nov 2014 20:58:53 +0000 (20:58 +0000)]
Add self as nvptx port maintainer.

* MAINTAINERS (nvptx port): New entry.

From-SVN: r218131

9 years agoDisable pedantic warning for this testcase.
Kai Tietz [Thu, 27 Nov 2014 20:49:44 +0000 (21:49 +0100)]
Disable pedantic warning for this testcase.

Committed as obvious patch

From-SVN: r218130

9 years agoIPA ICF: fix memory leak.
Martin Liska [Thu, 27 Nov 2014 15:36:10 +0000 (16:36 +0100)]
IPA ICF: fix memory leak.

* ipa-icf.c (sem_function::equals_private): int* is replaced with
auto_vec.
(sem_function::bb_dict_test): Likewise.
* ipa-icf.h: Likewise.

Co-Authored-By: David Malcolm <dmalcolm@redhat.com>
From-SVN: r218129

9 years agore PR middle-end/64088 (ICE: in fold_abs_const, at fold-const.c:15550)
Richard Biener [Thu, 27 Nov 2014 14:22:29 +0000 (14:22 +0000)]
re PR middle-end/64088 (ICE: in fold_abs_const, at fold-const.c:15550)

2014-11-27  Richard Biener  <rguenther@suse.de>

PR middle-end/64088
* fold-const.c (const_unop): Re-instantiate missing condition
before calling fold_abs_const.

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

PR tree-optimization/64088
* tree-ssa-tail-merge.c (update_debug_stmt): After resetting
the stmt break from the loop over use operands.

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

From-SVN: r218128

9 years agoSupport avx512f in __builtin_cpu_supports.
Ilya Tocar [Thu, 27 Nov 2014 13:51:10 +0000 (13:51 +0000)]
Support avx512f in __builtin_cpu_supports.

gcc/

        * config/i386/cpuid.h (bit_MPX, bit_BNDREGS, bit_BNDCSR):
        Define.
        * config/i386/i386.c (get_builtin_code_for_version): Add avx512f.
        (fold_builtin_cpu): Ditto.
        * doc/extend.texi: Documment it.

gcc/testsuite/

        * g++.dg/ext/mv2.C: Add test for target ("avx512f").
        * gcc.target/i386/builtin_target.c: Ditto.

libgcc/

        * config/i386/cpuinfo.c (processor_features): Add FEATURE_AVX512F.
        * config/i386/cpuinfo.c (get_available_features): Detect it.

From-SVN: r218125

9 years agolib1funcs.S (FUNC_START): Add conditional section redefine for macro L_arm_muldivsf3...
Tony Wang [Thu, 27 Nov 2014 13:38:51 +0000 (13:38 +0000)]
lib1funcs.S (FUNC_START): Add conditional section redefine for macro L_arm_muldivsf3 and L_arm_muldivdf3.

2014-11-27  Tony Wang  <tony.wang@arm.com>

    libgcc/
    * config/arm/lib1funcs.S (FUNC_START): Add conditional section
    redefine for macro L_arm_muldivsf3 and L_arm_muldivdf3.
    (SYM_END, ARM_SYM_START): Add macros used to expose function Symbols.

From-SVN: r218124

9 years agore PR c++/63904 (ICE when accessing array member of constexpr struct)
Kai Tietz [Thu, 27 Nov 2014 13:02:45 +0000 (14:02 +0100)]
re PR c++/63904 (ICE when accessing array member of constexpr struct)

2014-11-27  Kai Tietz  <ktietz@redhat.com>

PR c++/63904
* constexpr.c (cxx_eval_vec_init_1): Avoid
type-overflow issue.

From-SVN: r218123

9 years agore PR c++/63904 (ICE when accessing array member of constexpr struct)
Kai Tietz [Thu, 27 Nov 2014 12:56:58 +0000 (13:56 +0100)]
re PR c++/63904 (ICE when accessing array member of constexpr struct)

PR c++/63904
* g++.dg/cpp0x/pr63904.C: New.

From-SVN: r218122

9 years agore PR middle-end/64067 (ICE in expand_expr_real_1, at expr.c:10540, involving compoun...
Jakub Jelinek [Thu, 27 Nov 2014 11:04:16 +0000 (12:04 +0100)]
re PR middle-end/64067 (ICE in expand_expr_real_1, at expr.c:10540, involving compound literal shenanigans)

PR middle-end/64067
* expr.c (expand_expr_addr_expr_1) <case COMPOUND_LITERAL_EXPR>:
Handle it by returning address of COMPOUND_LITERAL_EXPR_DECL
not only if modifier is EXPAND_INITIALIZER, but whenever
COMPOUND_LITERAL_EXPR_DECL is non-NULL and TREE_STATIC.

* gcc.c-torture/compile/pr64067.c: New test.

From-SVN: r218121

9 years agore PR tree-optimization/64024 (gcc.dg/vect/vect-simd-clone-6.c ICEs)
Jakub Jelinek [Thu, 27 Nov 2014 11:03:12 +0000 (12:03 +0100)]
re PR tree-optimization/64024 (gcc.dg/vect/vect-simd-clone-6.c ICEs)

PR tree-optimization/64024
* tree-vectorizer.h (struct _stmt_vec_info): Remove simd_clone_fndecl
field.  Add simd_clone_info field.
(STMT_VINFO_SIMD_CLONE_FNDECL): Remove.
(STMT_VINFO_SIMD_CLONE_INFO): Define.
* tree-vect-stmts.c (vectorizable_simd_clone_call): Adjust for
STMT_VINFO_SIMD_CLONE_FNDECL becoming first element of
STMT_VINFO_SIMD_CLONE_INFO vector.  For linear arguments, remember
base and linear_step from analysis phase and use it during transform
phase, biased by the difference between LOOP_VINFO_NITERS{_UNCHANGED,}
multiplied by linear_step.
(free_stmt_vec_info): Release STMT_VINFO_SIMD_CLONE_INFO.

* gcc.dg/vect/vect-simd-clone-13.c: New test.
* gcc.dg/vect/vect-simd-clone-14.c: New test.

From-SVN: r218120

9 years agore PR lto/64025 (Several testsuite execution failures with -O2 -flto -fuse-linker...
Jakub Jelinek [Thu, 27 Nov 2014 11:02:02 +0000 (12:02 +0100)]
re PR lto/64025 (Several testsuite execution failures with -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects)

PR lto/64025
* alias.c (find_base_term): Use std::swap.  Prefer tmp2
if it is CONSTANT_P other than CONST_INT.

From-SVN: r218119

9 years agore PR target/59593 ([arm big-endian] using "ldrh" access a immediate which stored...
Thomas Preud'homme [Thu, 27 Nov 2014 11:00:15 +0000 (11:00 +0000)]
re PR target/59593 ([arm big-endian] using "ldrh" access a  immediate  which stored in a memory by word)

2014-11-27  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR target/59593
    * config/arm/arm.c (dump_minipool): dispatch to consttable pattern
    based on mode size.
    * config/arm/arm.md (consttable_1): Move from config/arm/thumb1.md and
    make it TARGET_EITHER.
    (consttable_2): Move from config/arm/thumb1.md, make it TARGET_EITHER
    and move HFmode handling from consttable_4 to it.
    (consttable_4): Move HFmode handling to consttable_2 pattern.
    * config/arm/thumb1.md (consttable_1): Move to config/arm/arm.md.
    (consttable_2): Ditto.

    gcc/testsuite/
    PR target/59593
    * gcc.target/arm/constant-pool.c: New test.

From-SVN: r218118

9 years ago[AArch64][test] Mark variable as volatile in vsqrt_f64 test
Kyrylo Tkachov [Thu, 27 Nov 2014 10:02:19 +0000 (10:02 +0000)]
[AArch64][test] Mark variable as volatile in vsqrt_f64 test

* gcc.target/aarch64/simd/vsqrt_f64_1.c: Mark variable volatile.

From-SVN: r218117

9 years agotree-ssa-sccvn.c (try_to_simplify): Allow gimple_fold_stmt_to_constant_1 to follow...
Richard Biener [Thu, 27 Nov 2014 10:00:15 +0000 (10:00 +0000)]
tree-ssa-sccvn.c (try_to_simplify): Allow gimple_fold_stmt_to_constant_1 to follow SSA edges.

2014-11-27  Richard Biener  <rguenther@suse.de>

* tree-ssa-sccvn.c (try_to_simplify): Allow
gimple_fold_stmt_to_constant_1 to follow SSA edges.

From-SVN: r218116

9 years agore PR middle-end/64083 (ICE: in fix_loop_structure, at loop-init.c:252 compiling...
Richard Biener [Thu, 27 Nov 2014 09:57:13 +0000 (09:57 +0000)]
re PR middle-end/64083 (ICE: in fix_loop_structure, at loop-init.c:252 compiling Linux Kernel)

2014-11-27  Richard Biener  <rguenther@suse.de>

PR tree-optimization/64083
* tree-ssa-threadupdate.c (thread_through_all_blocks): Do not
forcibly mark loop for removal the wrong way.

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

From-SVN: r218115

9 years agore PR lto/63704 (-flto internal compiler error: in mems_in_disjoint_alias_sets_p...
Richard Biener [Thu, 27 Nov 2014 09:51:32 +0000 (09:51 +0000)]
re PR lto/63704 (-flto internal compiler error: in mems_in_disjoint_alias_sets_p, at alias.c:398)

2014-11-27  Richard Biener  <rguenther@suse.de>

PR middle-end/63704
* alias.c (mems_in_disjoint_alias_sets_p): Remove assert
and instead return false when !fstrict-aliasing.

From-SVN: r218114

9 years agore PR tree-optimization/61634 (ICE in in vect_get_vec_def_for_operand, at tree-vect...
Richard Biener [Thu, 27 Nov 2014 09:33:32 +0000 (09:33 +0000)]
re PR tree-optimization/61634 (ICE in in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1423)

2014-11-27  Richard Biener  <rguenther@suse.de>

PR tree-optimization/61634
* tree-vect-slp.c: Include gimple-walk.h.
(vect_detect_hybrid_slp_stmts): Rewrite to propagate hybrid
down the SLP tree for one scalar statement.
(vect_detect_hybrid_slp_1): New walker function.
(vect_detect_hybrid_slp_2): Likewise.
(vect_detect_hybrid_slp): Properly handle pattern statements
in a pre-scan over all loop stmts.

* gcc.dg/vect/pr61634.c: New testcase.

From-SVN: r218113

9 years agorevert: aarch64.c (aarch64_code_to_ccmode, [...]): New functions.
Zhenqiang Chen [Thu, 27 Nov 2014 07:34:26 +0000 (07:34 +0000)]
revert: aarch64.c (aarch64_code_to_ccmode, [...]): New functions.

Revert:
2014-11-17  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
* config/aarch64/aarch64.c (aarch64_code_to_ccmode,
aarch64_convert_mode, aarch64_gen_ccmp_first,
aarch64_gen_ccmp_next): New functions.
(TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Define.

From-SVN: r218111

9 years ago* g++.dg/ext/alignof2.C: xfail-run-if on AIX.
David Edelsohn [Thu, 27 Nov 2014 00:56:34 +0000 (00:56 +0000)]
* g++.dg/ext/alignof2.C: xfail-run-if on AIX.

From-SVN: r218109

9 years agoDaily bump.
GCC Administrator [Thu, 27 Nov 2014 00:16:32 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r218108

9 years agoAllow partial specialization of variable templates.
Jason Merrill [Wed, 26 Nov 2014 21:58:38 +0000 (16:58 -0500)]
Allow partial specialization of variable templates.

* cp-tree.h (TINFO_USED_TEMPLATE_ID): New.
* decl.c (duplicate_decls): Copy it.
* error.c (dump_decl) [TEMPLATE_ID_EXPR]: Handle variables.
* parser.c (cp_parser_decltype_expr): Do call finish_id_expression
on template-ids.
* pt.c (register_specialization): Remember variable template insts.
(instantiate_template_1): Find the matching partial specialization.
(check_explicit_specialization): Allow variable partial specialization.
(process_partial_specialization): Likewise.
(push_template_decl_real): Likewise.
(more_specialized_partial_spec): Rename from more_specialized_class.
(most_specialized_partial_spec): Rename from most_specialized_class.
(get_partial_spec_bindings): Rename from get_class_bindings.

From-SVN: r218104

9 years agoRegenerate ./configure
Jan-Benedict Glaw [Wed, 26 Nov 2014 21:53:54 +0000 (21:53 +0000)]
Regenerate ./configure

2014-11-26  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

* configure: Regenerate.

From-SVN: r218103

9 years agoMerge the ./config directory between GCC and Binutils
Jan-Benedict Glaw [Wed, 26 Nov 2014 21:53:35 +0000 (21:53 +0000)]
Merge the ./config directory between GCC and Binutils

This pulls in the missing Binutils pieces into the ./config
directory. Contains these missing Binutils changes:

2014-08-14  Alan Modra  <amodra@gmail.com>

* plugins.m4: Test for dlfcn.h or windows.h here to set default
for --enable-plugins.  Report error if someone tries to enable
plugins on a host we don't support.

2014-08-19  Alan Modra  <amodra@gmail.com>

* plugins.m4 (AC_PLUGINS): If plugins are enabled, add -ldl to
LIBS via AC_SEARCH_LIBS.

For this commit:

2014-11-26  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

* config/plugins.m4: Merge from Binutils.

From-SVN: r218102

9 years agoMerge ./config/ChangeLog with missing entries from Binutils
Jan-Benedict Glaw [Wed, 26 Nov 2014 21:53:23 +0000 (21:53 +0000)]
Merge ./config/ChangeLog with missing entries from Binutils

2014-11-26  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

* config/ChangeLog: Merge entries from Binutils

From-SVN: r218101

9 years agoMerge toplevel configure.ac bits from Binutils
Jan-Benedict Glaw [Wed, 26 Nov 2014 21:53:04 +0000 (21:53 +0000)]
Merge toplevel configure.ac bits from Binutils

GCC and Binutils had a common ./configure.ac after this commit:

commit 08d081652f50df83f7e9768f8dbb7a99b0df50a2
Author: sandra <sandra@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Wed May 14 23:20:59 2014 +0000

2014-05-14  Sandra Loosemore  <sandra@codesourcery.com>

* configure.ac (target_makefile_frag): Set for nios2-*-elf*.
* configure: Regenerated.

config/
* mt-nios2-elf: New file.

Based on that file version, all GCC and Binutils commits to this file were
applied. This pulls in the following missing Binutils changes to configure.ac:

2014-07-21  Joel Sherrill  <joel.sherrill@oarcorp.com>

Disable gdb for or1k*-*-* until supported
* configure.ac (or1k*-*-*): Disable gdb.
* configure: Regenerated.

2014-07-27  Joel Sherrill <joel.sherrill@oarcorp.com>

GDB not supported for or1k*-*-rtems*
* configure.ac (or1k*-*-rtems*): gdb not supported.  The ordering
of the stanzas results in this not being caught by or1k*-*-* later.
* configure. Regenerated.

2014-09-06  Kuan-Lin Chen  <kuanlinchentw@gmail.com>

* configure: Disable gdb for nds32*-*-* until supported.
* configure.ac: Disable gdb for nds32*-*-* until supported.

2014-09-12  Andrew Bennett  <andrew.bennett@imgtec.com>

* configure.ac: Add mips*-img-elf* target triple.
* configure: Regenerate.

For this patch:

2014-11-26  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

* configure.ac: Merge with Binutils.

From-SVN: r218100

9 years agore PR c++/63757 (nullptr conversion sequence fails to compile)
Paolo Carlini [Wed, 26 Nov 2014 20:11:16 +0000 (20:11 +0000)]
re PR c++/63757 (nullptr conversion sequence fails to compile)

/cp
2014-11-26  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/63757
* call.c (standard_conversion): Do not require expr to be non-null
when NULLPTR_TYPE_P (from) is true.

/testsuite
2014-11-26  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/63757
* g++.dg/cpp0x/nullptr33.C: New.

From-SVN: r218098

9 years agogcc.c (SANITIZER_SPEC): Don't error on -fsanitize=thread without -pie or -shared...
Jakub Jelinek [Wed, 26 Nov 2014 19:54:49 +0000 (20:54 +0100)]
gcc.c (SANITIZER_SPEC): Don't error on -fsanitize=thread without -pie or -shared...

* gcc.c (SANITIZER_SPEC): Don't error on -fsanitize=thread
without -pie or -shared, error on -fsanitize=thread -static instead.

* lib/tsan-dg.exp (check_effective_target_fsanitize_thread,
tsan_init): Don't use -fPIE or -pie.

From-SVN: r218097

9 years agoMakefile.def: Make more dependent on mpfr, mpc and isl.
Tobias Burnus [Wed, 26 Nov 2014 19:48:24 +0000 (20:48 +0100)]
Makefile.def: Make more dependent on mpfr, mpc and isl.

2014-11-26  Tobias Burnus  <burnus@net-b.de>

        * Makefile.def: Make more dependent on mpfr, mpc and isl.
        * Makefile.in: Regenerate.

From-SVN: r218096

9 years agoe.53.4.c: Add -DITESTITERS=20 to dg-options unless expensive testing is on.
Jakub Jelinek [Wed, 26 Nov 2014 19:36:36 +0000 (20:36 +0100)]
e.53.4.c: Add -DITESTITERS=20 to dg-options unless expensive testing is on.

* testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
to dg-options unless expensive testing is on.
(TESTITERS): Define to N if not defined.
(main): Use TESTITERS instead of N.
* testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
dg-additional-options depending on whether expensive testing is on.
* testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
Decrease N to 100000 and CHUNKSZ to 10000.

From-SVN: r218095

9 years agocomment fixes
Jason Merrill [Wed, 26 Nov 2014 18:20:25 +0000 (13:20 -0500)]
comment fixes

From-SVN: r218094

9 years agoconstexpr.c (cxx_eval_constant_expression): Avoid multiple evaluation.
Jason Merrill [Wed, 26 Nov 2014 18:20:18 +0000 (13:20 -0500)]
constexpr.c (cxx_eval_constant_expression): Avoid multiple evaluation.

* constexpr.c (cxx_eval_constant_expression) [SAVE_EXPR]: Avoid
multiple evaluation.

From-SVN: r218093

9 years agoconstexpr.c (cxx_eval_call_expression): Don't talk about flowing off the end if we...
Jason Merrill [Wed, 26 Nov 2014 18:20:12 +0000 (13:20 -0500)]
constexpr.c (cxx_eval_call_expression): Don't talk about flowing off the end if we're already non-constant.

* constexpr.c (cxx_eval_call_expression): Don't talk about
flowing off the end if we're already non-constant.

From-SVN: r218092

9 years agore PR ipa/61190 (g++.old-deja/g++.mike/p4736b.C FAILs at -O2/-Os/-O3)
Bernd Edlinger [Wed, 26 Nov 2014 18:10:29 +0000 (18:10 +0000)]
re PR ipa/61190 (g++.old-deja/g++.mike/p4736b.C FAILs at -O2/-Os/-O3)

2014-11-26  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR ipa/61190
        * cgraph.h (symtab_node::call_for_symbol_and_aliases): Fix comment.
        (cgraph_node::function_or_virtual_thunk_symbol): New function.
        (cgraph_node::call_for_symbol_and_aliases): Fix comment.
        (cgraph_node::call_for_symbol_thunks_and_aliases): Adjust comment.
        Add new optional parameter exclude_virtual_thunks.
        * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases): Add new
        optional parameter exclude_virtual_thunks.
        (cgraph_node::set_const_flag): Don't propagate to virtual thunks.
        (cgraph_node::set_pure_flag): Likewise.
        (cgraph_node::function_symbol): Simplified.
        (cgraph_node::function_or_virtual_thunk_symbol): New function.
        * ipa-pure-const.c (analyze_function): For virtual thunks set
        pure_const_state to IPA_NEITHER.
        (propagate_pure_const): Use function_or_virtual_thunk_symbol.

testsuite/ChangeLog:
2014-11-26  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR ipa/61190
        * g++.old-deja/g++.mike/p4736b.C: Use -O2.

From-SVN: r218091

9 years agore PR c++/59114 ([c++1y] ICE using auto in conversion operator)
Paolo Carlini [Wed, 26 Nov 2014 16:06:53 +0000 (16:06 +0000)]
re PR c++/59114 ([c++1y] ICE using auto in conversion operator)

2014-11-26  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/59114
* g++.dg/cpp0x/auto43.C: New.

From-SVN: r218090

9 years agore PR tree-optimization/63738 (ssa corruption when compiled with -O3)
Richard Biener [Wed, 26 Nov 2014 15:16:24 +0000 (15:16 +0000)]
re PR tree-optimization/63738 (ssa corruption when compiled with -O3)

2014-11-26  Richard Biener  <rguenther@suse.de>

PR middle-end/63738
* tree-data-ref.c (split_constant_offset_1): Do not follow
SSA edges for SSA names with SSA_NAME_OCCURS_IN_ABNORMAL_PHI.

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

From-SVN: r218088

9 years agoDiagnose string constant conversion to char* in c++11 and above as forbidden, not...
Ville Voutilainen [Wed, 26 Nov 2014 15:16:07 +0000 (17:16 +0200)]
Diagnose string constant conversion to char* in c++11 and above as forbidden, not deprecated.

Diagnose string constant conversion to char* in c++11 and above
as forbidden, not deprecated.
* typeck.c (string_conv_p): Do a pedwarn in c++11 and above,
change the diagnostic for the Wwrite-strings case for c++11 and above.

From-SVN: r218087

9 years agofold-const.h (const_unop): Declare.
Richard Biener [Wed, 26 Nov 2014 14:39:43 +0000 (14:39 +0000)]
fold-const.h (const_unop): Declare.

2014-11-26  Richard Biener  <rguenther@suse.de>

* fold-const.h (const_unop): Declare.
(const_binop): Likewise.
* fold-const.c (const_binop): Export overload that expects
a type parameter and dispatches to fold_relational_const as well.
Check both operand kinds for guarding the transforms.
(const_unop): New function, with constant folding from fold_unary_loc.
(fold_unary_loc): Dispatch to const_unop for tcc_constant operand.
Remove constant folding done there from the simplifications.
(fold_binary_loc): Check for constants using CONSTANT_CLASS_P.
(fold_negate_expr): Remove dead code from the REAL_CST case.
Avoid building garbage in the COMPLEX_CST case.
* gimple-match-head.c (gimple_resimplify1): Dispatch to
const_unop.
(gimple_resimplify2): Dispatch to const_binop.
(gimple_simplify): Likewise.

From-SVN: r218086

9 years agore PR bootstrap/63995 (Bootstrap error with -mmpx -fcheck-pointer-bounds)
Ilya Enkovich [Wed, 26 Nov 2014 14:37:07 +0000 (14:37 +0000)]
re PR bootstrap/63995 (Bootstrap error with -mmpx -fcheck-pointer-bounds)

gcc/

PR bootstrap/63995
* tree-chkp-opt.c (chkp_reduce_bounds_lifetime): Ignore
debug statement when searching for a new position for
bounds load/creation statement.

gcc/testsuite/

PR bootstrap/63995
* gcc.target/i386/pr63995-2.c: New.

From-SVN: r218085

9 years agore PR sanitizer/63788 (ICE: SIGSEGV in contains_struct_check with -O -fsanitize=undef...
Marek Polacek [Wed, 26 Nov 2014 14:05:21 +0000 (14:05 +0000)]
re PR sanitizer/63788 (ICE: SIGSEGV in contains_struct_check with -O -fsanitize=undefined on almost any fortran code)

PR sanitizer/63788
* asan.c (initialize_sanitizer_builtins): Add BT_FN_SIZE_CONST_PTR_INT
var.  Conditionally build BUILT_IN_OBJECT_SIZE decl.
(ATTR_PURE_NOTHROW_LEAF_LIST): Define.

From-SVN: r218084

9 years agore PR lto/64075 (ICE: in bp_pack_value, at data-streamer.h:106)
Ilya Enkovich [Wed, 26 Nov 2014 13:53:38 +0000 (13:53 +0000)]
re PR lto/64075 (ICE: in bp_pack_value, at data-streamer.h:106)

gcc/

PR lto/64075
* tree-streamer-in.c (unpack_ts_function_decl_value_fields): Use
proper size for function_code bitfield.
(pack_ts_function_decl_value_fields): Likewise.

gcc/testsuite/

PR lto/64075
* gcc.dg/pr64075.c: New.

From-SVN: r218083

9 years agoChangeLog for last commit.
Rainer Orth [Wed, 26 Nov 2014 13:25:46 +0000 (13:25 +0000)]
ChangeLog for last commit.

From-SVN: r218082

9 years agoXFAIL 27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc on Solaris (PR libstd...
Jonathan Wakely [Wed, 26 Nov 2014 13:22:27 +0000 (13:22 +0000)]
XFAIL 27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc on Solaris (PR libstd++/64054)

PR libstdc++/64054
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
XFAIL execution on *-*-solaris*.

Co-Authored-By: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
From-SVN: r218081

9 years agoSkip gcc.target/i386/mcount_pic.c on Solaris
Rainer Orth [Wed, 26 Nov 2014 13:22:16 +0000 (13:22 +0000)]
Skip gcc.target/i386/mcount_pic.c on Solaris

From-SVN: r218080

9 years agoPR debug/38757 continued. Handle C11, C++11 and C++14.
Mark Wielaard [Wed, 26 Nov 2014 11:05:20 +0000 (11:05 +0000)]
PR debug/38757 continued. Handle C11, C++11 and C++14.

Add experimental (minimal) DWARFv5 support.

This change depends on the new DWARFv5 constants mentioned in the
following draft: http://dwarfstd.org/doc/dwarf5.20141029.pdf

gcc/ChangeLog

* doc/invoke.texi (-gdwarf-@{version}): Mention experimental DWARFv5.
* opts.c (common_handle_option): Accept -gdwarf-5.
* dwarf2out.c (is_cxx): Add DW_LANG_C_plus_plus_11 and
DW_LANG_C_plus_plus_14.
(lower_bound_default): Likewise. Plus DW_LANG_C11.
(gen_compile_unit_die): Output DW_LANG_C_plus_plus_11,
DW_LANG_C_plus_plus_14 or DW_LANG_C11.
(output_compilation_unit_header): Output at most a DWARFv4 header.
(output_skeleton_debug_sections): Likewise.
(output_line_info): Likewise.
(output_aranges): Document header version number.

gcc/testsuite/ChangeLog

* gcc.dg/debug/dwarf2/lang-c11.c: New test.
* gcc.dg/debug/dwarf2/lang-c11-d4-strict.c: Likewise.
* g++.dg/debug/dwarf2/lang-cpp11.C: Likewise.
* g++.dg/debug/dwarf2/lang-cpp14.C: Likewise.
* g++.dg/debug/dwarf2/lang-cpp98.C: Likewise.

include/ChangeLog

* dwarf2.h: Add DW_LANG_C_plus_plus_11, DW_LANG_C11 and
DW_LANG_C_plus_plus_14.

From-SVN: r218077

9 years agogimple-fold.c (get_symbol_constant_value): Allow all GIMPLE register type zero-constants.
Richard Biener [Wed, 26 Nov 2014 10:15:25 +0000 (10:15 +0000)]
gimple-fold.c (get_symbol_constant_value): Allow all GIMPLE register type zero-constants.

2014-11-26  Richard Biener  <rguenther@suse.de>

* gimple-fold.c (get_symbol_constant_value): Allow all
GIMPLE register type zero-constants.

From-SVN: r218076

9 years agoDWARF add DW_AT_noreturn on noreturn function subprogram.
Mark Wielaard [Wed, 26 Nov 2014 10:10:27 +0000 (10:10 +0000)]
DWARF add DW_AT_noreturn on noreturn function subprogram.

This implements the DWARFv5 noreturn proposal:
http://dwarfstd.org/ShowIssue.php?issue=140331.1

TREE_THIS_VOLATILE on a FUNCTION_DECL node means the function does not
return normally. This catches the traditional noreturn GNU attribute,
the C11 _Noreturn keyword and the C++11 [[noreturn]] attribute.

This relies on the DW_AT_noreturn constant defined in the DWARFv5 DRAFT:
http://www.dwarfstd.org/doc/dwarf5.20141029.pdf

gcc/ChangeLog

* dwarf2out.c (gen_subprogram_die): Add DW_AT_noreturn when the
function decl has TREE_THIS_VOLATILE.

gcc/testsuite/ChangeLog

* g++.dg/debug/dwarf2/noreturn-function.C: New test.
* gcc.dg/debug/dwarf2/noreturn-function-attribute.c: Likewise.
* gcc.dg/debug/dwarf2/noreturn-function-keyword.c: Likewise.

include/ChangeLog

* dwarf2.def (DW_AT_noreturn): New DWARF5 attribute.

From-SVN: r218075

9 years agore PR tree-optimization/62238 (ICE with LTO on valid code on x86_64-linux-gnu in...
Richard Biener [Wed, 26 Nov 2014 09:43:39 +0000 (09:43 +0000)]
re PR tree-optimization/62238 (ICE with LTO on valid code on x86_64-linux-gnu in verify_ssa (in 64-bit mode))

2014-11-26  Richard Biener  <rguenther@suse.de>

PR tree-optimization/62238
* tree-predcom.c (ref_at_iteration): Unshare the expression
before gimplifying it.
(prepare_initializers_chain): Discard unused seq.

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

From-SVN: r218074

9 years ago20141125-1.c: New testcase.
Andrew Pinski [Wed, 26 Nov 2014 08:42:18 +0000 (08:42 +0000)]
20141125-1.c: New testcase.

2014-11-25  Andrew Pinski <apinski@cavium.com>

        * gcc.c-torture/execute/20141125-1.c: New testcase.

From-SVN: r218073

9 years agomips.c (mips_rtx_cost_data): Fix memory_latency cost for p5600.
Prachi Godbole [Wed, 26 Nov 2014 03:52:23 +0000 (03:52 +0000)]
mips.c (mips_rtx_cost_data): Fix memory_latency cost for p5600.

* config/mips/mips.c (mips_rtx_cost_data): Fix memory_latency cost
for p5600.

From-SVN: r218072

9 years agoDaily bump.
GCC Administrator [Wed, 26 Nov 2014 00:16:29 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r218071

9 years agoerror.c (gfc_internal_error): Convert to common diagnostics.
Tobias Burnus [Tue, 25 Nov 2014 22:37:54 +0000 (23:37 +0100)]
error.c (gfc_internal_error): Convert to common diagnostics.

2014-11-25  Tobias Burnus  <burnus@net-b.de>

        * error.c (gfc_internal_error): Convert to common diagnostics.
        * interface.c (gfc_find_sym_in_symtree): Use %qs.
        * intrinsic.c (make_generic, gfc_check_intrinsic_standard,
        gfc_convert_type_warn): Ditto.
        * module.c (write_symbol): Ditto.
        * symbol.c (gfc_get_default_type): Ditto; use fatal instead
        of internal error.
        * trans-array.c (gfc_walk_subexpr): Replace internal_error by
        gfc_internal_error.
        * trans-decl.c (gfc_get_symbol_decl,
        (gfc_create_module_variable): Ditto. Use %qs.
        * trans-intrinsic.c (gfc_conv_intrinsic_lib_function): Ditto.
        * trans-io.c (transfer_expr): Ditto.
        * trans-openmp.c (gfc_trans_omp_workshare): Ditto.
        * trans.c (trans_code): Ditto.

From-SVN: r218068

9 years agogfortran.h (gfc_option_t): Remove flags moved as Var to .opt.
Tobias Burnus [Tue, 25 Nov 2014 22:33:32 +0000 (23:33 +0100)]
gfortran.h (gfc_option_t): Remove flags moved as Var to .opt.

2014-11-25  Tobias Burnus  <burnus@net-b.de>

gcc/fortran/
        * gfortran.h (gfc_option_t): Remove flags moved as Var to .opt.
        (gfc_error_now_1): Renamed from gfc_error_now.
        (gfc_error_now): Renamed from gfc_error_now_2.
        (gfc_warning_now_1): Renamed from gfc_warning_now.
        (gfc_warning_now): Renamed from gfc_warning_now_2.
        * error.c (gfc_error_now_1): Renamed from gfc_error_now.
        (gfc_error_now): Renamed from gfc_error_now_2.
        (gfc_warning_now_1): Renamed from gfc_warning_now.
        (gfc_warning_now): Renamed from gfc_warning_now_2.
        (gfc_get_errors): Include common diagnostic in count.
        * lang.opt (Wc-binding-type, Wconversion, Wconversion-extra,
        Wintrinsics-std): Create a Var for those warnings.
        * check.c (gfc_check_cmplx): Pass warning flag to
        diagnostic function.
        * decl.c (get_proc_name, gfc_verify_c_interop_param, build_sym
        gfc_set_constant_character_len, verify_bind_c_sym): Ditto; use
        _1 for old diagnostic, remove _2 for new diagnostic.
        * expr.c (gfc_check_assign, gfc_check_vardef_context): Ditto.
        * frontend-passes.c (doloop_code, do_function): Ditto.
        * intrinsic.c (gfc_is_intrinsic, gfc_convert_type_warn): Ditto.
        * match.c (gfc_match_common): Ditto.
        * module.c (use_iso_fortran_env_module, gfc_use_module): Ditto.
        * parse.c (decode_statement, decode_gcc_attribute, next_free,
        next_fixed, gfc_check_do_variable): Ditto.
        * resolve.c (resolve_common_vars, resolve_ordinary_assign):
        Ditto.
        * scanner.c (add_path_to_list, skip_free_comments,
        gfc_next_char_literal, gfc_gobble_whitespace, load_line,
        preprocessor_line, load_file): Ditto.
        * symbol.c (gfc_set_default_type, verify_bind_c_derived_type):
        Ditto.
        * options.c (gfc_post_options): Ditto.
        (gfc_init_options, set_Wall, gfc_handle_option): Ditto; remove
        flags which now have a Var.
        * invoke.texi (Wconversion-extra): Make clear that the flag
        does not imply -Wconversion.

gcc/testsuite/
        * gfortran.dg/empty_label.f: Change test to continue testing
        for -fmax-errors=1.
        * gfortran.dg/empty_label.f90: Ditto.
        * gfortran.dg/warnings_are_errors_1.f90: Update dg-*.

From-SVN: r218067

9 years agoenum6.C: Use arm_eabi for dg-options.
Andreas Tobler [Tue, 25 Nov 2014 22:30:58 +0000 (23:30 +0100)]
enum6.C: Use arm_eabi for dg-options.

2014-11-26  Andreas Tobler  <andreast@gcc.gnu.org>

        * g++.old-deja/g++.jason/enum6.C: Use arm_eabi for dg-options.
Update comment.
* g++.old-deja/g++.law/enum9.C: Likewise.
* g++.old-deja/g++.other/enum4.C: Likewise.

From-SVN: r218065

9 years agoira-lives.c (process_bb_node_lives): Make code with conditional REAL_PIC_OFFSET_TABLE...
Vladimir Makarov [Tue, 25 Nov 2014 21:27:17 +0000 (21:27 +0000)]
ira-lives.c (process_bb_node_lives): Make code with conditional REAL_PIC_OFFSET_TABLE_REGNUM.

2014-11-25  Vladimir Makarov  <vmakarov@redhat.com>

* ira-lives.c (process_bb_node_lives): Make code with conditional
REAL_PIC_OFFSET_TABLE_REGNUM.

From-SVN: r218063

9 years agoAdd a testcase for PR target/63534
H.J. Lu [Tue, 25 Nov 2014 21:07:43 +0000 (21:07 +0000)]
Add a testcase for PR target/63534

PR target/63534
* gcc.target/i386/pr63534.c: New test.

From-SVN: r218062

9 years agoAdd a test for PR target/63527
H.J. Lu [Tue, 25 Nov 2014 20:54:16 +0000 (20:54 +0000)]
Add a test for PR target/63527

PR target/63527
* gcc.target/i386/pr63527.c: New test.

From-SVN: r218061

9 years agoEnsure single 'UNSUPPORTED: prettyprinters.exp' message
Tom de Vries [Tue, 25 Nov 2014 20:30:20 +0000 (20:30 +0000)]
Ensure single 'UNSUPPORTED: prettyprinters.exp' message

2014-11-25  Tom de Vries  <tom@codesourcery.com>

* testsuite/libstdc++-prettyprinters/prettyprinters.exp: Add missing
dg-finish.  Only print unsupported message once.

From-SVN: r218060

9 years agore PR target/63527 (-fPIC uses 2 registers for GOT)
Vladimir Makarov [Tue, 25 Nov 2014 20:20:10 +0000 (20:20 +0000)]
re PR target/63527 (-fPIC uses 2 registers for GOT)

2014-11-25  Vladimir Makarov  <vmakarov@redhat.com>

PR target/63527
* ira-lives.c (process_bb_node_lives): Check and remove conflict
of pic pseudo with pic hard reg.

From-SVN: r218059

9 years agore PR bootstrap/63703 (Bootstrap broken on powerpc-apple-darwin, cc1: internal compil...
Rohit Arul Raj [Tue, 25 Nov 2014 19:01:08 +0000 (19:01 +0000)]
re PR bootstrap/63703 (Bootstrap broken on powerpc-apple-darwin, cc1: internal compiler error: in init_reg_sets)

PR bootstrap/63703
* config/rs6000/darwin.h (REGISTER_NAMES): Update based on 32 newly
added GCC hard register numbers for SPE high registers.

From-SVN: r218058

9 years agoenv.c (getenv): Remove unused variable res_len.
Uros Bizjak [Tue, 25 Nov 2014 18:29:42 +0000 (19:29 +0100)]
env.c (getenv): Remove unused variable res_len.

* intrinsics/env.c (getenv): Remove unused variable res_len.

From-SVN: r218057

9 years agobt-load.c (migrate_btr_defs): Get the key of a heap entry before removing it, not...
Segher Boessenkool [Tue, 25 Nov 2014 17:52:21 +0000 (18:52 +0100)]
bt-load.c (migrate_btr_defs): Get the key of a heap entry before removing it, not after.

* bt-load.c (migrate_btr_defs): Get the key of a heap entry
before removing it, not after.

From-SVN: r218056

9 years agocrtstuff.c (__do_glbal_ctors_1): Add missing semicolon.
Segher Boessenkool [Tue, 25 Nov 2014 17:50:29 +0000 (18:50 +0100)]
crtstuff.c (__do_glbal_ctors_1): Add missing semicolon.

libgcc/
* crtstuff.c (__do_glbal_ctors_1): Add missing semicolon.

From-SVN: r218055

9 years agomn10300.c (mn10300_insert_setlb_lcc): Remove PATTERN call.
Segher Boessenkool [Tue, 25 Nov 2014 17:47:35 +0000 (18:47 +0100)]
mn10300.c (mn10300_insert_setlb_lcc): Remove PATTERN call.

* config/mn10300/mn10300.c (mn10300_insert_setlb_lcc): Remove
PATTERN call.

From-SVN: r218054

9 years agosysv4.h (ASM_OUTPUT_REG_POP): Use addi instead of addic.
Segher Boessenkool [Tue, 25 Nov 2014 17:43:18 +0000 (18:43 +0100)]
sysv4.h (ASM_OUTPUT_REG_POP): Use addi instead of addic.

* config/rs6000/sysv4.h (ASM_OUTPUT_REG_POP): Use addi instead
of addic.

From-SVN: r218053

9 years agors6000.md (iorxor, IORXOR): Delete code_attrs.
Segher Boessenkool [Tue, 25 Nov 2014 17:41:10 +0000 (18:41 +0100)]
rs6000.md (iorxor, IORXOR): Delete code_attrs.

* config/rs6000/rs6000.md (iorxor, IORXOR): Delete code_attrs.
(rest of file): Replace those with code resp. CODE.

From-SVN: r218052