gcc.git
10 years agoDaily bump.
GCC Administrator [Sun, 10 Aug 2014 00:16:59 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r213785

10 years agore PR fortran/61999 (`gfc_simplify_dot_product` causes ICE for constant arguments)
Thomas Koenig [Sat, 9 Aug 2014 22:38:46 +0000 (22:38 +0000)]
re PR fortran/61999 (`gfc_simplify_dot_product` causes ICE for constant arguments)

2014-08-10  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/61999
* simplify.c (gfc_simplify_dot_product): Convert types of
vectors before calculating the result.

2014-08-10  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/61999
* gfortran.dg/dot_product_3.f90:  New test case.

From-SVN: r213782

10 years agodevirt-35.C: Fix template.
Jan Hubicka [Sat, 9 Aug 2014 22:07:55 +0000 (00:07 +0200)]
devirt-35.C: Fix template.

* g++.dg/ipa/devirt-35.C: Fix template.
* g++.dg/ipa/devirt-36.C: Likewise.
* g++.dg/ipa/devirt-37.C: New testcase.
* ipa-devirt.c (get_dynamic_type): Handle case when instance is in
DECL correctly; do not give up on types in static storage.

From-SVN: r213781

10 years agorandom.tcc (uniform_on_sphere_helper): Define.
Ulrich Drepper [Sat, 9 Aug 2014 17:56:57 +0000 (17:56 +0000)]
random.tcc (uniform_on_sphere_helper): Define.

        * include/ext/random.tcc (uniform_on_sphere_helper): Define.
        (uniform_on_sphere_distribution::operator()): Use the new helper
        class for the implementation.

        * testsuite/ext/random/uniform_on_sphere_distribution/operators/
        equal.cc: Remove bogus part of comment.
        * testsuite/ext/random/uniform_on_sphere_distribution/operators/
        inequal.cc: Likewise.
        * testsuite/ext/random/uniform_on_sphere_distribution/operators/
        serialize.cc: Add check to verify result of serialzation and
        deserialization.
        * testsuite/ext/random/uniform_on_sphere_distribution/operators/
        generate.cc: New file.

From-SVN: r213779

10 years ago2014-08-09 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [Sat, 9 Aug 2014 09:00:34 +0000 (09:00 +0000)]
2014-08-09  Paolo Carlini  <paolo.carlini@oracle.com>

* Adjust date.

From-SVN: r213777

10 years agoinvoke.texi ([Wnarrowing]): Update for non-constants in C++11.
Paolo Carlini [Sat, 9 Aug 2014 08:58:33 +0000 (08:58 +0000)]
invoke.texi ([Wnarrowing]): Update for non-constants in C++11.

2014-08-09  Paolo Carlini  <paolo.carlini@oracle.com>

* doc/invoke.texi ([Wnarrowing]): Update for non-constants in C++11.

gcc/cp
2014-08-09  Paolo Carlini  <paolo.carlini@oracle.com>

* typeck2.c (check_narrowing): Add tsubst_flags_t parameter, change
return type to bool; in C++11 for constants give errors, not pedwarns.
* cp-tree.h (check_narrowing): Adjust declaration.
* call.c (convert_like_real): Update calls.
* semantics.c (finish_compound_literal): Likewise.

gcc/testsuite
2014-08-09  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp0x/Wnarrowing1.C: Adjust for errors.
* g++.dg/cpp0x/enum29.C: Adjust.

/libstdc++-v3
2014-08-09  Paolo Carlini  <paolo.carlini@oracle.com>

* include/ext/pod_char_traits.h (char_traits<__gnu_cxx::
character<_Value, _Int, _St> >::eof): Fix vs narrowing conversion.

From-SVN: r213776

10 years agore PR libstdc++/61667 (setting max_load_factor of unordered_map cause buckets shrink)
François Dumont [Sat, 9 Aug 2014 08:00:59 +0000 (08:00 +0000)]
re PR libstdc++/61667 (setting max_load_factor of unordered_map cause buckets shrink)

2014-08-09  François Dumont  <fdumont@gcc.gnu.org>

PR libstdc++/61667
* include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Use
_M_need_rehash to initialize the rehash policy and check if a rehash is
needed.
* testsuite/23_containers/unordered_map/modifiers/61667.cc: New.

From-SVN: r213775

10 years ago[gcc/]
Roman Gareev [Sat, 9 Aug 2014 05:57:47 +0000 (05:57 +0000)]
[gcc/]

* graphite-isl-ast-to-gimple.c:
(translate_isl_ast_node_user): Use nb_loops instead of loop->num + 1.

[gcc/testsuite]

* gcc.dg/graphite/isl-ast-gen-user-1.c: New testcase.

From-SVN: r213774

10 years agoDaily bump.
GCC Administrator [Sat, 9 Aug 2014 00:16:46 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r213772

10 years agors6000.md (*movdi_internal64): Add a new constraint.
Guozhi Wei [Fri, 8 Aug 2014 23:00:28 +0000 (23:00 +0000)]
rs6000.md (*movdi_internal64): Add a new constraint.

* config/rs6000/rs6000.md (*movdi_internal64): Add a new constraint.

From-SVN: r213767

10 years agoRemove skeleton type units that were being produced with -gsplit-dwarf.
Cary Coutant [Fri, 8 Aug 2014 20:33:26 +0000 (20:33 +0000)]
Remove skeleton type units that were being produced with -gsplit-dwarf.

These sections were originally intended as targets for .gdb_index
entries that needed to point to type units.  Because of the limitations
of the .debug_gnu_pubnames/pubtypes sections with split DWARF, we were
not able to pass along enough information to the gold linker to generate
those index entries properly, and they had to point to the CU instead.
GDB had to deal with that, and was updated a while ago to no longer
depend on the skeleton TU sections at all. This allows us to reduce
object file sizes with split DWARF by about 30%.

gcc/
* dwarf2out.c (get_skeleton_type_unit): Remove.
(output_skeleton_debug_sections): Remove skeleton type units.
(output_comdat_type_unit): Likewise.
(dwarf2out_finish): Likewise.

From-SVN: r213765

10 years ago* pt.c (lookup_template_class_1): Copy abi_tag.
Jason Merrill [Fri, 8 Aug 2014 18:17:21 +0000 (14:17 -0400)]
* pt.c (lookup_template_class_1): Copy abi_tag.

From-SVN: r213762

10 years agogo-gcc.cc (Gcc_backend::compound_statement): Don't return NULL_TREE.
Ian Lance Taylor [Fri, 8 Aug 2014 17:40:51 +0000 (17:40 +0000)]
go-gcc.cc (Gcc_backend::compound_statement): Don't return NULL_TREE.

* go-gcc.cc (Gcc_backend::compound_statement): Don't return
NULL_TREE.

From-SVN: r213761

10 years agoRemove a redundant assignment "*predictor = PRED_BUILTIN_EXPECT;", since six
Yi Yang [Fri, 8 Aug 2014 17:06:51 +0000 (12:06 -0500)]
Remove a redundant assignment "*predictor = PRED_BUILTIN_EXPECT;", since six
lines later *predictor is assigned again.

--

2014-08-08  Yi Yang  <ahyangyi@google.com>

gcc:
    * predict.c (expr_expected_value_1): Remove the redundant assignment.

From-SVN: r213760

10 years agolto-streamer.h (struct lto_input_block): Make it a class with a constructor.
Richard Biener [Fri, 8 Aug 2014 12:55:31 +0000 (12:55 +0000)]
lto-streamer.h (struct lto_input_block): Make it a class with a constructor.

2014-08-08  Richard Biener  <rguenther@suse.de>

* lto-streamer.h (struct lto_input_block): Make it a class
with a constructor.
(LTO_INIT_INPUT_BLOCK, LTO_INIT_INPUT_BLOCK_PTR): Remove.
(struct lto_function_header, struct lto_simple_header,
struct lto_simple_header_with_strings,
struct lto_decl_header, struct lto_function_header): Make
a simple inheritance hieararchy.  Remove unused fields.
(struct lto_asm_header): Remove.
* lto-streamer-out.c (produce_asm): Adjust.
(lto_output_toplevel_asms): Likewise.
(produce_asm_for_decls): Likewise.
* lto-section-out.c (lto_destroy_simple_output_block): Likewise.
* data-streamer-in.c (string_for_index): Likewise.
* ipa-inline-analysis.c (inline_read_section): Likewise.
* ipa-prop.c (ipa_prop_read_section): Likewise.
(read_replacements_section): Likewise.
* lto-cgraph.c (input_cgraph_opt_section): Likewise.
* lto-section-in.c (lto_create_simple_input_block): Likewise.
(lto_destroy_simple_input_block): Likewise.
* lto-streamer-in.c (lto_read_body_or_constructor): Likewise.
(lto_input_toplevel_asms): Likewise.

lto/
* lto.c (lto_read_decls): Adjust for lto_input_block changes.

From-SVN: r213759

10 years agogcc/
Alexander Ivchenko [Fri, 8 Aug 2014 11:31:34 +0000 (11:31 +0000)]
gcc/
        * common/config/i386/i386-common.c
(OPTION_MASK_ISA_AVX512DQ_SET): Define.
(OPTION_MASK_ISA_AVX512DQ_UNSET): Ditto.
(ix86_handle_option): Handle OPT_mavx512dq.
* config/i386/cpuid.h (bit_AVX512DQ): Define.
* config/i386/driver-i386.c (host_detect_local_cpu): Detect avx512dq,
set -mavx512dq accordingly.
* config/i386/i386-c.c (ix86_target_macros_internal): Handle
OPTION_MASK_ISA_AVX512DQ.
* config/i386/i386.c (ix86_target_string): Handle -mavx512dq.
(ix86_option_override_internal): Define PTA_AVX512DQ, handle
PTA_AVX512DQ and OPTION_MASK_ISA_AVX512DQ.
(ix86_valid_target_attribute_inner_p): Handle OPT_mavx512dq.
* config/i386/i386.h (TARGET_AVX512DQ): Define.
(TARGET_AVX512DQ_P(x)): Ditto.
* config/i386/i386.opt: Add mavx512dq.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r213757

10 years agore PR lto/62032 (FAIL: vsnprintf-chk.c execution, -O2 -flto -fno-use-linker-plugin...
Bin Cheng [Fri, 8 Aug 2014 10:21:12 +0000 (10:21 +0000)]
re PR lto/62032 (FAIL: vsnprintf-chk.c execution,  -O2 -flto -fno-use-linker-plugin -flto-partition=none)

PR lto/62032
* lto/lto-lang.c (lto_init): Switch mis-matched arguments.

From-SVN: r213755

10 years agobuiltins.c (c_getstr, [...]): Export.
Richard Biener [Fri, 8 Aug 2014 09:18:40 +0000 (09:18 +0000)]
builtins.c (c_getstr, [...]): Export.

2014-08-08  Richard Biener  <rguenther@suse.de>

* builtins.c (c_getstr, readonly_data_expr, init_target_chars,
target_percent, target_percent_s): Export.
(var_decl_component_p, fold_builtin_memory_op, fold_builtin_memset,
fold_builtin_bzero, fold_builtin_strcpy, fold_builtin_strncpy,
fold_builtin_strcat, fold_builtin_fputs, fold_builtin_memory_chk,
fold_builtin_stxcpy_chk, fold_builtin_stxncpy_chk,
fold_builtin_sprintf_chk_1, fold_builtin_snprintf_chk_1):
Move to gimple-fold.c.
(fold_builtin_2): Remove handling of bzero, fputs, fputs_unlocked,
strcat and strcpy.
(fold_builtin_3): Remove handling of memset, bcopy, memcpy,
mempcpy, memmove, strncpy, strcpy_chk and stpcpy_chk.
(fold_builtin_4): Remove handling of memcpy_chk, mempcpy_chk,
memmove_chk, memset_chk, strncpy_chk and stpncpy_chk.
(rewrite_call_expr_array): Remove.
(fold_builtin_sprintf_chk): Likewise.
(fold_builtin_snprintf_chk): Likewise.
(fold_builtin_varargs): Remove handling of sprintf_chk,
vsprintf_chk, snprintf_chk and vsnprintf_chk.
(gimple_fold_builtin_sprintf_chk): Remove.
(gimple_fold_builtin_snprintf_chk): Likewise.
(gimple_fold_builtin_varargs): Likewise.
(fold_call_stmt): Do not call gimple_fold_builtin_varargs.
* predict.c (optimize_bb_for_size_p): Handle NULL bb.
* gimple.c (gimple_seq_add_seq_without_update): New function.
* gimple.h (gimple_seq_add_seq_without_update): Declare.
* gimple-fold.c: Include output.h.
(gsi_replace_with_seq_vops): New function, split out from ...
(gimplify_and_update_call_from_tree): ... here.
(replace_call_with_value): New function.
(replace_call_with_call_and_fold): Likewise.
(var_decl_component_p): Moved from builtins.c.
(gimple_fold_builtin_memory_op): Moved from builtins.c
fold_builtin_memory_op and rewritten to GIMPLE.
(gimple_fold_builtin_memset): Likewise.
(gimple_fold_builtin_strcpy): Likewise.
(gimple_fold_builtin_strncpy): Likewise.
(gimple_fold_builtin_strcat): Likewise.
(gimple_fold_builtin_fputs): Likewise.
(gimple_fold_builtin_memory_chk): Likewise.
(gimple_fold_builtin_stxcpy_chk): Likewise.
(gimple_fold_builtin_stxncpy_chk): Likewise.
(gimple_fold_builtin_snprintf_chk): Likewise.
(gimple_fold_builtin_sprintf_chk): Likewise.
(gimple_fold_builtin_strlen): New function.
(gimple_fold_builtin_with_strlen): New function split out from
gimple_fold_builtin.
(gimple_fold_builtin): Change signature and handle
bzero, memset, bcopy, memcpy, mempcpy and memmove folding
here.  Call gimple_fold_builtin_with_strlen.
(gimple_fold_call): Adjust.

* gcc.dg/strlenopt-8.c: Remove XFAIL.
* gcc.dg/tree-prof/stringop-2.c: Adjust.
* gfortran.dg/array_memcpy_4.f90: Likewise.
* gfortran.dg/trim_optimize_1.f90: Likewise.
* gfortran.dg/trim_optimize_2.f90: Likewise.

From-SVN: r213753

10 years agosemantics.c (expand_or_defer_fn_1): Check for keep-inline-dllexport that we operate...
Kai Tietz [Fri, 8 Aug 2014 07:59:38 +0000 (09:59 +0200)]
semantics.c (expand_or_defer_fn_1): Check for keep-inline-dllexport that we operate on a true inline.

* semantics.c (expand_or_defer_fn_1): Check for keep-inline-dllexport
that we operate on a true inline.

From-SVN: r213751

10 years agocalls.c (precompute_arguments): Check promoted_for_signed_and_unsigned_p and set...
Kugan Vivekanandarajah [Fri, 8 Aug 2014 05:31:44 +0000 (05:31 +0000)]
calls.c (precompute_arguments): Check promoted_for_signed_and_unsigned_p and set the promoted mode.

gcc
2014-08-08  Kugan Vivekanandarajah  <kuganv@linaro.org>

* calls.c (precompute_arguments): Check
 promoted_for_signed_and_unsigned_p and set the promoted mode.
(promoted_for_signed_and_unsigned_p): New function.
(expand_expr_real_1): Check promoted_for_signed_and_unsigned_p
and set the promoted mode.
* expr.h (promoted_for_signed_and_unsigned_p): New function definition.
* cfgexpand.c (expand_gimple_stmt_1): Call emit_move_insn if
SUBREG is promoted with SRP_SIGNED_AND_UNSIGNED.

gcc/testsuite
2014-08-08  Kugan Vivekanandarajah  <kuganv@linaro.org>

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

From-SVN: r213750

10 years agocalls.c (precompute_arguments): Use new SUBREG_PROMOTED_SET instead of SUBREG_PROMOTE...
Kugan Vivekanandarajah [Fri, 8 Aug 2014 05:24:12 +0000 (05:24 +0000)]
calls.c (precompute_arguments): Use new SUBREG_PROMOTED_SET instead of SUBREG_PROMOTED_UNSIGNED_SET.

gcc/
2014-08-08  Kugan Vivekanandarajah  <kuganv@linaro.org>

* calls.c (precompute_arguments): Use new SUBREG_PROMOTED_SET
instead of SUBREG_PROMOTED_UNSIGNED_SET.
(expand_call): Likewise.
* cfgexpand.c (expand_gimple_stmt_1): Use SUBREG_PROMOTED_SIGN
to get promoted mode.
* combine.c (record_promoted_value): Skip > 0 comparison with
SUBREG_PROMOTED_UNSIGNED_P as it now returns only 0 or 1.
* expr.c (convert_move): Use SUBREG_CHECK_PROMOTED_SIGN instead
of SUBREG_PROMOTED_UNSIGNED_P.
(convert_modes): Likewise.
(store_expr): Use SUBREG_PROMOTED_SIGN to get promoted mode.
Use SUBREG_CHECK_PROMOTED_SIGN instead of SUBREG_PROMOTED_UNSIGNED_P.
(expand_expr_real_1): Use new SUBREG_PROMOTED_SET instead of
SUBREG_PROMOTED_UNSIGNED_SET.
* function.c (assign_parm_setup_reg): Use new SUBREG_PROMOTED_SET
instead of SUBREG_PROMOTED_UNSIGNED_SET.
* ifcvt.c (noce_emit_cmove): Updated to use SUBREG_PROMOTED_GET and
SUBREG_PROMOTED_SET.
* internal-fn.c (ubsan_expand_si_overflow_mul_check): Use
SUBREG_PROMOTED_SET instead of SUBREG_PROMOTED_UNSIGNED_SET.
* optabs.c (widen_operand): Use SUBREG_CHECK_PROMOTED_SIGN instead
of SUBREG_PROMOTED_UNSIGNED_P.
* rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): Remove.
(SUBREG_PROMOTED_SET): New define.
(SUBREG_PROMOTED_GET): Likewise.
(SUBREG_PROMOTED_SIGN): Likewise.
(SUBREG_PROMOTED_SIGNED_P): Likewise.
(SUBREG_CHECK_PROMOTED_SIGN): Likewise.
(SUBREG_PROMOTED_UNSIGNED_P): Updated.
* rtlanal.c (unsigned_reg_p): Use new SUBREG_PROMOTED_GET
instead of SUBREG_PROMOTED_UNSIGNED_GET.
(nonzero_bits1): Skip > 0 comparison with the results as
SUBREG_PROMOTED_UNSIGNED_P now returns only 0 or 1.
(num_sign_bit_copies1): Use SUBREG_PROMOTED_SIGNED_P instead
of !SUBREG_PROMOTED_UNSIGNED_P.
* simplify-rtx.c (simplify_unary_operation_1): Use new
SUBREG_PROMOTED_SIGNED_P instead of !SUBREG_PROMOTED_UNSIGNED_P.
(simplify_subreg): Use new SUBREG_PROMOTED_SIGNED_P,
SUBREG_PROMOTED_UNSIGNED_P and SUBREG_PROMOTED_SET instead of
SUBREG_PROMOTED_UNSIGNED_P and SUBREG_PROMOTED_UNSIGNED_SET.

From-SVN: r213749

10 years agopr61772.c: Skip lto running.
Bin Cheng [Fri, 8 Aug 2014 02:45:13 +0000 (02:45 +0000)]
pr61772.c: Skip lto running.

* gcc.dg/torture/pr61772.c: Skip lto running.

From-SVN: r213748

10 years agoDaily bump.
GCC Administrator [Fri, 8 Aug 2014 00:16:52 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r213747

10 years agofuture (__location_invariant): Move specializations after preprocessor condition.
Jonathan Wakely [Thu, 7 Aug 2014 22:54:53 +0000 (23:54 +0100)]
future (__location_invariant): Move specializations after preprocessor condition.

* include/std/future (__location_invariant): Move specializations
after preprocessor condition.

From-SVN: r213744

10 years agore PR tree-optimization/60707 (FAIL: gfortran.dg/pr45636.f90 -O scan-tree-dump...
John David Anglin [Thu, 7 Aug 2014 21:44:55 +0000 (21:44 +0000)]
re PR tree-optimization/60707 (FAIL: gfortran.dg/pr45636.f90  -O   scan-tree-dump-times forwprop2 "memset" 0)

PR tree-optimization/60707
* gfortran.dg/pr45636.f90: xfail on 32-bit hppa*-*-*.

From-SVN: r213740

10 years agoipa-devirt.c: Include gimple-pretty-print.h
Jan Hubicka [Thu, 7 Aug 2014 20:58:17 +0000 (22:58 +0200)]
ipa-devirt.c: Include gimple-pretty-print.h

* ipa-devirt.c: Include gimple-pretty-print.h
(referenced_from_vtable_p): Exclude DECL_EXTERNAL from
further tests.
(decl_maybe_in_construction_p): Fix conditional on cdtor check
(get_polymorphic_call_info): Fix return value
(type_change_info): New sturcture based on ipa-prop
variant.
(noncall_stmt_may_be_vtbl_ptr_store): New predicate
based on ipa-prop variant.
(extr_type_from_vtbl_ptr_store): New function
based on ipa-prop variant.
(record_known_type): New function.
(check_stmt_for_type_change): New function.
(get_dynamic_type): New function.
* ipa-prop.c (ipa_analyze_call_uses): Use get_dynamic_type.
* tree-ssa-pre.c: ipa-utils.h
(eliminate_dom_walker::before_dom_children): Use ipa-devirt
machinery; sanity check with ipa-prop devirtualization.
* trans-mem.c (ipa_tm_insert_gettmclone_call): Clear
polymorphic flag.

* g++.dg/ipa/devirt-35.C: New testcase.
* g++.dg/ipa/devirt-36.C: New testcase.

From-SVN: r213739

10 years agoremove pointer-set.[ch]
Trevor Saunders [Thu, 7 Aug 2014 20:52:50 +0000 (20:52 +0000)]
remove pointer-set.[ch]

gcc/

* Makefile.in: Remove references to pointer-set.c and pointer-set.h.
* alias.c, cfgexpand.c, cgraphbuild.c,
config/aarch64/aarch64-builtins.c, config/aarch64/aarch64.c,
config/alpha/alpha.c, config/darwin.c, config/i386/i386.c,
config/i386/winnt.c, config/ia64/ia64.c, config/m32c/m32c.c,
config/mep/mep.c, config/mips/mips.c, config/rs6000/rs6000.c,
config/s390/s390.c, config/sh/sh.c, config/sparc/sparc.c,
config/spu/spu.c, config/stormy16/stormy16.c, config/tilegx/tilegx.c,
config/tilepro/tilepro.c, config/xtensa/xtensa.c, dominance.c,
dse.c, except.c, gengtype.c, gimple-expr.c,
gimple-ssa-strength-reduction.c, gimplify.c, ifcvt.c,
ipa-visibility.c, lto-streamer.h, omp-low.c, predict.c, stmt.c,
tree-affine.c, tree-cfg.c, tree-eh.c, tree-inline.c, tree-nested.c,
tree-scalar-evolution.c, tree-ssa-loop-im.c, tree-ssa-loop-niter.c,
tree-ssa-phiopt.c, tree-ssa-structalias.c, tree-ssa-uninit.c,
tree-ssa.c, tree.c, var-tracking.c, varpool.c: Remove includes of
pointer-set.h.
* pointer-set.c: Remove file.
* pointer-set.h: Remove file.

gcc/c-family/

* c-gimplify.c, cilk.c: Remove includes of pointer-set.h.

gcc/c/

* c-typeck.c: Remove include of pointer-set.h.

gcc/cp/

* class.c, cp-gimplify.c, decl.c, decl2.c, error.c, method.c,
optimize.c, pt.c, semantics.c: Remove includes of pointer-set.h.

From-SVN: r213738

10 years agofuture (_State_baseV2::_M_set_result): Pass pointers to _M_do_set.
Jonathan Wakely [Thu, 7 Aug 2014 20:13:52 +0000 (21:13 +0100)]
future (_State_baseV2::_M_set_result): Pass pointers to _M_do_set.

* include/std/future (_State_baseV2::_M_set_result): Pass pointers to
_M_do_set.
(_State_baseV2::_M_do_set): Change parameters to pointers.
(_State_baseV2::_Setter): Change _M_arg from reference to pointer.
(_State_baseV2::__setter): Initialize _Setter with pointers.
(_State_baseV2::__setter(promise<void>*)): Remove overload.
(promise::set_value, promise::set_exception): Pass setter directly
to _M_set_result.
(_State_baseV2::_Task_setter): Add template parameter for callable
type and replace std::function member with pointer to that type.
Change _M_result member from reference to pointer.
(_State_baseV2::_S_task_setter): Change parameter to lvalue reference
and initialize _Task_setter with pointers.
(__location_invariant): Specialize for _Setter and _Task_setter.

From-SVN: r213737

10 years agore PR c++/51312 ([C++0x] Wrong interpretation of converted constant expressions ...
Paolo Carlini [Thu, 7 Aug 2014 19:51:28 +0000 (19:51 +0000)]
re PR c++/51312 ([C++0x] Wrong interpretation of converted constant expressions (for enumerator initializers))

/cp
2014-08-07  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51312
* decl.c (build_enumerator): Handle class types with conversion
operators via perform_implicit_conversion_flags and
build_expr_type_conversion.

* cvt.c (build_expr_type_conversion): Replace pair of errors
with error + inform.

/testsuite
2014-08-07  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51312
* g++.dg/cpp0x/enum29.C: New.

From-SVN: r213736

10 years agore PR c++/62043 (GCC hangs / aborts / double free or corruption (!prev) on invalid...
Jason Merrill [Thu, 7 Aug 2014 19:48:36 +0000 (15:48 -0400)]
re PR c++/62043 (GCC hangs / aborts / double free or corruption (!prev) on invalid input)

PR c++/62043
* parser.c (c_parse_file): Change sorry to fatal_error.

From-SVN: r213732

10 years agore PR c++/61959 (ICE: in tree_to_uhwi, at tree.h:3657 when building Mozilla code)
Jason Merrill [Thu, 7 Aug 2014 19:48:30 +0000 (15:48 -0400)]
re PR c++/61959 (ICE: in tree_to_uhwi, at tree.h:3657 when building Mozilla code)

PR c++/61959
* semantics.c (cxx_eval_bare_aggregate): Handle POINTER_PLUS_EXPR.

From-SVN: r213731

10 years agoc11-atomic-exec-4.c: Undefine _POSIX_C_SOURCE before defining in dg-options.
John David Anglin [Thu, 7 Aug 2014 19:21:50 +0000 (19:21 +0000)]
c11-atomic-exec-4.c: Undefine _POSIX_C_SOURCE before defining in dg-options.

* gcc.dg/atomic/c11-atomic-exec-4.c: Undefine _POSIX_C_SOURCE before
defining in dg-options.
* gcc.dg/atomic/c11-atomic-exec-5.c: Likewise.

From-SVN: r213729

10 years agostdatomic-flag.c: Add xfail comment.
John David Anglin [Thu, 7 Aug 2014 18:56:59 +0000 (18:56 +0000)]
stdatomic-flag.c: Add xfail comment.

* gcc.dg/atomic/stdatomic-flag.c: Add xfail comment.

From-SVN: r213727

10 years agomemcpy-5.c: Add -fno-common option on hppa*-*-hpux*.
John David Anglin [Thu, 7 Aug 2014 18:46:13 +0000 (18:46 +0000)]
memcpy-5.c: Add -fno-common option on hppa*-*-hpux*.

* gcc.dg/memcpy-5.c: Add -fno-common option on hppa*-*-hpux*.

From-SVN: r213723

10 years agopr60655-1.c: Don't add -fdata-sections option on 32-bit hppa-hpux.
John David Anglin [Thu, 7 Aug 2014 18:22:47 +0000 (18:22 +0000)]
pr60655-1.c: Don't add -fdata-sections option on 32-bit hppa-hpux.

* gcc.c-torture/compile/pr60655-1.c: Don't add -fdata-sections option
on 32-bit hppa-hpux.

From-SVN: r213720

10 years agoMakefile.in (LIBGCOV_INTERFACE): Move _gcov_dump ...
Nathan Sidwell [Thu, 7 Aug 2014 18:02:06 +0000 (18:02 +0000)]
Makefile.in (LIBGCOV_INTERFACE): Move _gcov_dump ...

* Makefile.in (LIBGCOV_INTERFACE): Move _gcov_dump ...
(LIBGCOV_DRIVER): ... to here.
* libgcov.h (gcov_do_dump): New #define.
(struct gcov_root): New.
(__gcov_root): New declaration.
(__gcov_dump_one): Declare.
* libgcov-driver.c (gcov_list, gcov_dump_complete,
run_accounted): Delete.
(gcov_compute_histogram): Add LIST argument, adjust.
(compute_summary): Adjust gcov_compute_histogram call.
(gcov_do_dump): Not hidden, static in libgcov.
(gcov_clear): Move  to interface.c.
(__gcov_dump_one): New, broken out of ...
(gcov_exit): ... here.  Make static.
(__gcov_root): New.
(__gcov_init): Adjust.
* libgcov-interface.c (gcov_clear, gcov_exit): Remove
declarations.
(__gcov_flush): Use __gcov_dump_one and __gcov_reset.
(gcov_clear): Moved from driver.c.   Add LIST argument.
(__gcov_reset): Adjust for changed interfaces.
(__gcov_fork): Remove local declaration of __gcov_flush_mx.

From-SVN: r213719

10 years agopr57233.c: Add -fno-common option on hppa*-*-hpux*.
John David Anglin [Thu, 7 Aug 2014 17:49:08 +0000 (17:49 +0000)]
pr57233.c: Add -fno-common option on hppa*-*-hpux*.

* gcc.dg/pr57233.c: Add -fno-common option on hppa*-*-hpux*.
* c-c++-common/pr50459.c: Likewise.

From-SVN: r213717

10 years agostl_list.h (_List_base::_List_base(_List_base&&)): Optimize.
Jonathan Wakely [Thu, 7 Aug 2014 17:25:13 +0000 (18:25 +0100)]
stl_list.h (_List_base::_List_base(_List_base&&)): Optimize.

* include/bits/stl_list.h (_List_base::_List_base(_List_base&&)):
Optimize.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
Likewise.

From-SVN: r213716

10 years ago[ARM] Delete f_sels, f_seld types, use fcsel instead.
Kyrylo Tkachov [Thu, 7 Aug 2014 14:30:01 +0000 (14:30 +0000)]
[ARM] Delete f_sels, f_seld types, use fcsel instead.

* config/arm/arm.md (*cmov<mode>): Set type attribute to fcsel.
* config/arm/types.md (f_sels, f_seld): Delete.

From-SVN: r213713

10 years ago[AArch64] Restrict usage of FP/SIMD registers for TImode reload and absdi2 patterns...
Kyrylo Tkachov [Thu, 7 Aug 2014 14:27:59 +0000 (14:27 +0000)]
[AArch64] Restrict usage of FP/SIMD registers for TImode reload and absdi2 patterns for non-float/simd targets.

* config/aarch64/aarch64.md (absdi2): Set simd attribute.
(aarch64_reload_mov<mode>): Predicate on TARGET_FLOAT.
(aarch64_movdi_<mode>high): Likewise.
(aarch64_mov<mode>high_di): Likewise.
(aarch64_movdi_<mode>low): Likewise.
(aarch64_mov<mode>low_di): Likewise.
(aarch64_movtilow_tilow): Likewise.
Add comment explaining usage of fp,simd attributes and of
TARGET_FLOAT and TARGET_SIMD.

From-SVN: r213712

10 years ago[AArch64] Use MOVN to generate 64-bit negative immediates where sensible
Ian Bolton [Thu, 7 Aug 2014 13:42:22 +0000 (13:42 +0000)]
[AArch64] Use MOVN to generate 64-bit negative immediates where sensible

* config/aarch64/aarch64.c (aarch64_expand_mov_immediate):
Use MOVN when one of the half-words is 0xffff.

Co-Authored-By: Kyrylo Tkachov <kyrylo.tkachov@arm.com>
From-SVN: r213711

10 years agothumb1.md (*thumb1_movqi_insn): Copy of thumb1_movhi_insn.
Marat Zakirov [Thu, 7 Aug 2014 13:29:07 +0000 (13:29 +0000)]
thumb1.md (*thumb1_movqi_insn): Copy of thumb1_movhi_insn.

2014-08-07  Marat Zakirov  <m.zakirov@samsung.com>

* config/arm/thumb1.md (*thumb1_movqi_insn): Copy of thumb1_movhi_insn.

From-SVN: r213710

10 years agoAdd statistical printout of rank_for_schedule decisions
Maxim Kuvyrkov [Thu, 7 Aug 2014 11:16:29 +0000 (11:16 +0000)]
Add statistical printout of rank_for_schedule decisions

* haifa-sched.c (SCHED_SORT): Delete.  Macro used exactly once.
(enum rfs_decition:RFS_*): New constants wrapped in an enum.
(rfs_str): String corresponding to RFS_* constants.
(rank_for_schedule_stats_t): New typedef.
(rank_for_schedule_stats): New static variable.
(rfs_result): New static function.
(rank_for_schedule): Track statistics for deciding heuristics.
(rank_for_schedule_stats_diff, print_rank_for_schedule_stats): New
static functions.
(ready_sort): Use them for debug printouts.
(schedule_block): Init statistics state.  Print statistics on
rank_for_schedule decisions.

From-SVN: r213709

10 years agoFix INSN_TICK heuristic for SCHED_PRESSURE
Maxim Kuvyrkov [Thu, 7 Aug 2014 11:16:16 +0000 (11:16 +0000)]
Fix INSN_TICK heuristic for SCHED_PRESSURE

* haifa-sched.c (rank_for_schedule): Fix INSN_TICK-based heuristics.

From-SVN: r213708

10 years agoavx512f-vfixupimmpd-2.c: Include float.h instead of values.h, change MAXDOUBLE for...
Petr Murzin [Thu, 7 Aug 2014 10:57:39 +0000 (10:57 +0000)]
avx512f-vfixupimmpd-2.c: Include float.h instead of values.h, change MAXDOUBLE for DBL_MAX.

gcc/testsuite
* gcc.target/i386/avx512f-vfixupimmpd-2.c: Include float.h instead of
values.h, change MAXDOUBLE for DBL_MAX.
* gcc.target/i386/avx512f-vfixupimmsd-2.c: Ditto.
* gcc.target/i386/avx512f-vfixupimmps-2.c: Include float.h instead of
values.h, change MAXFLOAT for FLT_MAX.
* gcc.target/i386/avx512f-vfixupimmss-2.c: Ditto.
* gcc.target/i386/avx512f-vpermi2d-2.c: Do not include values.h.
* gcc.target/i386/avx512f-vpermi2pd-2.c: Ditto.
* gcc.target/i386/avx512f-vpermi2ps-2.c: Ditto.
* gcc.target/i386/avx512f-vpermi2q-2.c: Ditto.
* gcc.target/i386/avx512f-vpermt2d-2.c: Ditto.
* gcc.target/i386/avx512f-vpermt2pd-2.c: Ditto.
* gcc.target/i386/avx512f-vpermt2ps-2.c: Ditto.
* gcc.target/i386/avx512f-vpermt2q-2.c: Ditto.

From-SVN: r213706

10 years agosse.md (vec_extract_lo_<mode><mask_name>): Fix constraint.
Ilya Tocar [Thu, 7 Aug 2014 10:52:13 +0000 (10:52 +0000)]
sse.md (vec_extract_lo_<mode><mask_name>): Fix constraint.

gcc/
* config/i386/sse.md (vec_extract_lo_<mode><mask_name>): Fix
constraint.

From-SVN: r213704

10 years agoconvert the rest of the users of pointer_map to hash_map
Trevor Saunders [Thu, 7 Aug 2014 10:44:14 +0000 (10:44 +0000)]
convert the rest of the users of pointer_map to hash_map

gcc/

* hash-map.h (default_hashmap_traits): Adjust overloads of hash
function to not conflict.
* alias.c, cfgexpand.c, dse.c, except.h, gimple-expr.c,
gimple-ssa-strength-reduction.c, gimple-ssa.h, ifcvt.c,
lto-streamer-out.c, lto-streamer.h, tree-affine.c, tree-affine.h,
tree-predcom.c, tree-scalar-evolution.c, tree-ssa-loop-im.c,
tree-ssa-loop-niter.c, tree-ssa.c, value-prof.c: Use hash_map instead
of pointer_map.

gcc/cp/

* cp-tree.h, pt.c: Use hash_map instead of pointer_map.

gcc/lto/

* lto-partition.c, lto.c: Use hash_map instead of pointer_map.

From-SVN: r213703

10 years agogcc/testsuite
Kirill Yukhin [Thu, 7 Aug 2014 09:59:34 +0000 (09:59 +0000)]
gcc/testsuite
* Add forgotten file.

From-SVN: r213702

10 years agoRemove arm-specific -march in test.
Kyrylo Tkachov [Thu, 7 Aug 2014 08:31:07 +0000 (08:31 +0000)]
Remove arm-specific -march in test.

* gcc.dg/pr61756.c: Remove arm-specific dg-options.

From-SVN: r213701

10 years agofold-const.c (fold_binary_loc): Add folding of (PTR0 - (PTR1 p+ A) -> (PTR0 - PTR1...
Marek Polacek [Thu, 7 Aug 2014 08:12:04 +0000 (08:12 +0000)]
fold-const.c (fold_binary_loc): Add folding of (PTR0 - (PTR1 p+ A) -> (PTR0 - PTR1) - A.

* fold-const.c (fold_binary_loc): Add folding of
(PTR0 - (PTR1 p+ A) -> (PTR0 - PTR1) - A.
c/
* c-typeck.c (pointer_diff): Remove P - (P + CST) optimization.
testsuite/
* gcc.dg/fold-reassoc-3.c: New test.

From-SVN: r213700

10 years agoelfos.h (ASM_DECLARE_OBJECT_NAME): Use decl size instead of type size.
Ilya Enkovich [Thu, 7 Aug 2014 08:04:55 +0000 (08:04 +0000)]
elfos.h (ASM_DECLARE_OBJECT_NAME): Use decl size instead of type size.

gcc/
* config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use decl size
instead of type size.
(ASM_FINISH_DECLARE_OBJECT): Likewise.

gcc/testsuite/
* gcc.target/i386/struct-size.c: New.

From-SVN: r213699

10 years agoRemove duplicate ChangeLog entries
Tom de Vries [Thu, 7 Aug 2014 07:41:33 +0000 (07:41 +0000)]
Remove duplicate ChangeLog entries

From-SVN: r213697

10 years agothumb1.md (*thumb1_movhi_insn): Handle stack pointer.
Marat Zakirov [Thu, 7 Aug 2014 07:34:33 +0000 (07:34 +0000)]
thumb1.md (*thumb1_movhi_insn): Handle stack pointer.

2014-08-07  Marat Zakirov  <m.zakirov@samsung.com>

* config/arm/thumb1.md (*thumb1_movhi_insn): Handle stack pointer.
(*thumb1_movqi_insn): Likewise.
* config/arm/thumb2.md (*thumb2_movhi_insn): Likewise.

From-SVN: r213695

10 years agoRemove cproj-fails-with-broken-glibc.c
Tom de Vries [Thu, 7 Aug 2014 07:22:35 +0000 (07:22 +0000)]
Remove cproj-fails-with-broken-glibc.c

2014-08-07  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/cproj-fails-with-broken-glibc.c: Remove test.
* lib/target-supports.exp (check_effective_target_glibc)
(check_effective_target_glibc_2_12_or_later)
(check_effective_target_glibc_2_11_or_earlier): Remove proc.

* doc/sourcebuild.texi (glibc, glibc_2_12_or_later)
(glibc_2_11_or_earlier): Remove effective-target keywords.

From-SVN: r213694

10 years agoFor cproj test-case, use glibc version xfail
Tom de Vries [Thu, 7 Aug 2014 07:22:24 +0000 (07:22 +0000)]
For cproj test-case, use glibc version xfail

2014-08-04  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/cproj-fails-with-broken-glibc.c: Use xfail for broken glibc
version instead of required-target.
* lib/target-supports.exp
(check_effective_target_not_glibc_2_11_or_earlier): Replace by ...
(check_effective_target_glibc_2_11_or_earlier): ... this.

* doc/sourcebuild.texi (glibc, glibc_2_12_or_later)
(glibc_2_11_or_earlier): Document effective-target keywords.

From-SVN: r213693

10 years agoarm.c (bdesc_2arg): Fix typo.
Kugan Vivekanandarajah [Thu, 7 Aug 2014 06:22:05 +0000 (06:22 +0000)]
arm.c (bdesc_2arg): Fix typo.

gcc/
2014-08-07  Kugan Vivekanandarajah  <kuganv@linaro.org>

* config/arm/arm.c (bdesc_2arg): Fix typo.
(arm_atomic_assign_expand_fenv): Remove The default implementation.

From-SVN: r213692

10 years agotree-ssa-loop-ivopts.c (get_address_cost): Try aligned offset.
Zhenqiang Chen [Thu, 7 Aug 2014 04:54:06 +0000 (04:54 +0000)]
tree-ssa-loop-ivopts.c (get_address_cost): Try aligned offset.

ChangeLog
2014-08-07  Zhenqiang Chen  <zhenqiang.chen@arm.com>

* tree-ssa-loop-ivopts.c (get_address_cost): Try aligned offset.

testsuite/ChangeLog
2014-08-07  Zhenqiang Chen  <zhenqiang.chen@arm.com>

* gcc.target/arm/get_address_cost_aligned_max_offset.c: New test.

From-SVN: r213691

10 years agoinit.c (build_vec_init): Fix constant initialization of trailing elements.
Jason Merrill [Thu, 7 Aug 2014 01:44:40 +0000 (21:44 -0400)]
init.c (build_vec_init): Fix constant initialization of trailing elements.

* init.c (build_vec_init): Fix constant initialization of
trailing elements.
(build_value_init_noctor): Call maybe_constant_init.
* semantics.c (maybe_constant_init): See through EXPR_STMT and
conversion to void.

From-SVN: r213690

10 years agore PR c++/60417 ([DR 1518] Bogus error on C++03 aggregate initialization)
Jason Merrill [Thu, 7 Aug 2014 01:44:11 +0000 (21:44 -0400)]
re PR c++/60417 ([DR 1518] Bogus error on C++03 aggregate initialization)

PR c++/60417
* init.c (build_vec_init): Reorganize earlier change a bit.

From-SVN: r213689

10 years agore PR c++/61994 (constexpr vector array ICE)
Jason Merrill [Thu, 7 Aug 2014 01:44:06 +0000 (21:44 -0400)]
re PR c++/61994 (constexpr vector array ICE)

PR c++/61994
* init.c (build_vec_init): Leave atype an ARRAY_TYPE
if we're just returning an INIT_EXPR.

From-SVN: r213688

10 years agopt.c (check_explicit_specialization): Don't test DECL_DECLARED_INLINE_P for a variabl...
Jason Merrill [Thu, 7 Aug 2014 01:43:58 +0000 (21:43 -0400)]
pt.c (check_explicit_specialization): Don't test DECL_DECLARED_INLINE_P for a variable template.

* pt.c (check_explicit_specialization): Don't test
DECL_DECLARED_INLINE_P for a variable template.

Co-Authored-By: Braden Obrzut <admin@maniacsvault.net>
From-SVN: r213687

10 years agoDaily bump.
GCC Administrator [Thu, 7 Aug 2014 00:16:29 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r213686

10 years agore PR c++/43906 (missing warnings the comparison between an address with a null point...
Paolo Carlini [Wed, 6 Aug 2014 19:09:08 +0000 (19:09 +0000)]
re PR c++/43906 (missing warnings the comparison between an address with a null pointer constant)

/cp
2014-08-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/43906
* typeck.c (cp_build_binary_op): Extend to more cases the
-Waddress warning.

/testsuite
2014-08-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/43906
* g++.dg/warn/Waddress-1.C: New.

From-SVN: r213682

10 years ago* gcc.dg/pr44194-1.c: Remove an extraneous brace.
Maciej W. Rozycki [Wed, 6 Aug 2014 16:11:21 +0000 (16:11 +0000)]
* gcc.dg/pr44194-1.c: Remove an extraneous brace.

From-SVN: r213677

10 years agore PR debug/61923 (-fcompare-debug errors while building Linux kernel.)
Vladimir Makarov [Wed, 6 Aug 2014 15:40:26 +0000 (15:40 +0000)]
re PR debug/61923 (-fcompare-debug errors while building Linux kernel.)

2014-08-06  Vladimir Makarov  <vmakarov@redhat.com>

PR debug/61923
* haifa-sched.c (advance_one_cycle): Fix dump.
(schedule_block): Don't advance cycle if we are already at the
beginning of the cycle.

2014-08-06  Vladimir Makarov  <vmakarov@redhat.com>

PR debug/61923
* gcc.target/i386/pr61923.c: New test.

From-SVN: r213675

10 years agore PR ipa/61393 ([trans-mem] O3 optimization level constant propagation problem)
Martin Jambor [Wed, 6 Aug 2014 13:59:18 +0000 (15:59 +0200)]
re PR ipa/61393 ([trans-mem] O3 optimization level constant propagation problem)

2014-08-06  Martin Jambor  <mjambor@suse.cz>

PR ipa/61393
* cgraphclones.c (cgraph_node::create_clone): Also copy tm_clone.

From-SVN: r213666

10 years agore PR lto/62034 (ICE for big statically initialized arrays compiled with LTO)
Richard Biener [Wed, 6 Aug 2014 13:53:09 +0000 (13:53 +0000)]
re PR lto/62034 (ICE for big statically initialized arrays compiled with LTO)

2014-08-06  Richard Biener  <rguenther@suse.de>

PR lto/62034
* lto-streamer-in.c (lto_input_tree_1): Assert we do not read
SCCs here.
(lto_input_tree): Pop SCCs here.

From-SVN: r213664

10 years agore PR bootstrap/61320 (ICE in jcf-parse.c:1622 (parse_class_file)
Richard Biener [Wed, 6 Aug 2014 11:41:13 +0000 (11:41 +0000)]
re PR bootstrap/61320 (ICE in jcf-parse.c:1622 (parse_class_file)

2014-08-06  Richard Biener  <rguenther@suse.de>

PR tree-optimization/61320
* tree-ssa-loop-ivopts.c (may_be_unaligned_p): Properly
handle misaligned loads.

From-SVN: r213661

10 years ago[PATCH AArch64] Prefer dup to zip for vec_perm_const; enable dup for bigendian; add...
Alan Lawrence [Wed, 6 Aug 2014 10:17:05 +0000 (10:17 +0000)]
[PATCH AArch64] Prefer dup to zip for vec_perm_const; enable dup for bigendian; add testcase.

gcc/:
* config/aarch64/aarch64.c (aarch64_evpc_dup): Enable for bigendian.
(aarch64_expand_vec_perm_const): Check for dup before zip.

gcc/testsuite:

* gcc.target/aarch64/vdup_n_2.c: New test.

From-SVN: r213659

10 years agopr44194-1.c: Also exclude powerpc*-*-linux*, except if powerpc_elfv2.
Maciej W. Rozycki [Wed, 6 Aug 2014 10:02:37 +0000 (10:02 +0000)]
pr44194-1.c: Also exclude powerpc*-*-linux*, except if powerpc_elfv2.

* gcc.dg/pr44194-1.c: Also exclude powerpc*-*-linux*, except if
powerpc_elfv2.

From-SVN: r213657

10 years agore PR rtl-optimization/61801 (sched2 miscompiles syscall sequence with -g)
Jakub Jelinek [Wed, 6 Aug 2014 08:40:19 +0000 (10:40 +0200)]
re PR rtl-optimization/61801 (sched2 miscompiles syscall sequence with -g)

PR rtl-optimization/61801
* gcc.target/i386/pr61801.c: Rewritten.

From-SVN: r213652

10 years ago[AArch64] Use REG_P and CONST_INT_P instead of GET_CODE + comparison.
Kyrylo Tkachov [Wed, 6 Aug 2014 08:32:07 +0000 (08:32 +0000)]
[AArch64] Use REG_P and CONST_INT_P instead of GET_CODE + comparison.

* config/aarch64/aarch64.c (aarch64_classify_address): Use REG_P and
CONST_INT_P instead of GET_CODE and compare.
(aarch64_select_cc_mode): Likewise.
(aarch64_print_operand): Likewise.
(aarch64_rtx_costs): Likewise.
(aarch64_simd_valid_immediate): Likewise.
(aarch64_simd_check_vect_par_cnst_half): Likewise.
(aarch64_simd_emit_pair_result_insn): Likewise.

From-SVN: r213651

10 years agoDaily bump.
GCC Administrator [Wed, 6 Aug 2014 00:16:32 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r213649

10 years agogdbhooks.py: add "break-on-pass" command
David Malcolm [Tue, 5 Aug 2014 21:01:47 +0000 (21:01 +0000)]
gdbhooks.py: add "break-on-pass" command

gcc/
2014-08-05  David Malcolm  <dmalcolm@redhat.com>

        * gdbhooks.py (find_gcc_source_dir): New helper function.
        (class PassNames): New class, locating and parsing passes.def.
        (class BreakOnPass): New command "break-on-pass".

From-SVN: r213646

10 years agofix pr62009 use after free in redirect_edge_var_map_dup
Trevor Saunders [Tue, 5 Aug 2014 19:52:08 +0000 (19:52 +0000)]
fix pr62009 use after free in redirect_edge_var_map_dup

The change to get the entry for the old edge before inserting the new
one was incorrect because if inserting the new one resized the table
then the pointer to the entry for the old one would become invalid.

gcc/

* tree-ssa.c (redirect_edge_var_map_dup): insert newe before
getting olde.

From-SVN: r213644

10 years agoFix more typos.
Eric Botcazou [Tue, 5 Aug 2014 18:35:50 +0000 (18:35 +0000)]
Fix more typos.

From-SVN: r213643

10 years agoFix typos.
Eric Botcazou [Tue, 5 Aug 2014 18:29:21 +0000 (18:29 +0000)]
Fix typos.

From-SVN: r213642

10 years agoImplement constexpr variable templates
Braden Obrzut [Tue, 5 Aug 2014 18:24:06 +0000 (18:24 +0000)]
Implement constexpr variable templates

Implement constexpr variable templates
* decl.c (grokvardecl): Handle specializations of variable templates.
(grokdeclarator): Handle variable template id expressions and NULL_TREE
return from grokvardecl.
* decl2.c (check_member_template): Allow declaration of template member
variables.
* parser.c (cp_parser_template_id): Build a TEMPLATE_ID_EXPR for
variable templates.
* pt.c (check_template_variable): Accept variable temploids at
non-class scope.
(push_template_decl_real): The current instantiation of a template
can be a VAR_DECL.
(determine_specialization): Accept variable templates.
(check_explicit_specialization): Handle and check for malformed
variable template specializations.
(lookup_template_variable): New.
(tsubst_decl): Handle variable template specializations.
(do_decl_instantiation): Handle template variables.
(instantiate_decl): Handle template variables.
* semantics.c (finish_template_variable): New.
(finish_id_expression): Instantiate variable templates.
* cp-tree.h (variable_template_p): New.

From-SVN: r213641

10 years agoFixed text formatting
Edmar Wienskoski [Tue, 5 Aug 2014 14:44:36 +0000 (14:44 +0000)]
Fixed text formatting

From-SVN: r213640

10 years agore PR rtl-optimization/61672 (Less redundant instructions deleted by pre_delete after...
Richard Biener [Tue, 5 Aug 2014 13:05:06 +0000 (13:05 +0000)]
re PR rtl-optimization/61672 (Less redundant instructions deleted by pre_delete after r208113.)

2014-08-05  Richard Biener  <rguenther@suse.de>

PR rtl-optimization/61672
* emit-rtl.h (mem_attrs_eq_p): Declare.
* emit-rtl.c (mem_attrs_eq_p): Export.  Handle NULL mem-attrs.
* cse.c (exp_equiv_p): Use mem_attrs_eq_p.
* cfgcleanup.c (merge_memattrs): Likewise.
Include emit-rtl.h.

From-SVN: r213638

10 years ago[AArch64] Fix types for vqdmlals_lane_s32 and vqdmlsls_lane_s32 intrinsics.
Kyrylo Tkachov [Tue, 5 Aug 2014 10:46:31 +0000 (10:46 +0000)]
[AArch64] Fix types for vqdmlals_lane_s32 and vqdmlsls_lane_s32 intrinsics.

* config/aarch64/arm_neon.h (vqdmlals_lane_s32): Use scalar types
rather than singleton vectors.
(vqdmlsls_lane_s32): Likewise.

* gcc.target/aarch64/scalar_intrinsics.c (test_vqdmlals_lane_s32):
Fix types.
(test_vqdmlsls_lane_s32): Likewise.
* gcc.target/aarch64/simd/vqdmlals_lane_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmlsls_lane_s32.c: Likewise.

From-SVN: r213636

10 years ago[AArch64] Implement some saturating math NEON intrinsics.
Kyrylo Tkachov [Tue, 5 Aug 2014 10:43:41 +0000 (10:43 +0000)]
[AArch64] Implement some saturating math NEON intrinsics.

* config/aarch64/aarch64-simd.md (aarch64_sqdmulh_laneq<mode>):
Use VSDQ_HSI mode iterator.
(aarch64_sqrdmulh_laneq<mode>): Likewise.
(aarch64_sq<r>dmulh_laneq<mode>_internal): New define_insn.
* config/aarch64/aarch64-simd-builtins.def (sqdmulh_laneq):
Use BUILTIN_VDQHS macro.
(sqrdmulh_laneq): Likewise.
* config/aarch64/arm_neon.h (vqdmlalh_laneq_s16): New intrinsic.
(vqdmlals_laneq_s32): Likewise.
(vqdmlslh_laneq_s16): Likewise.
(vqdmlsls_laneq_s32): Likewise.
(vqdmulhh_laneq_s16): Likewise.
(vqdmulhs_laneq_s32): Likewise.
(vqrdmulhh_laneq_s16): Likewise.
(vqrdmulhs_laneq_s32): Likewise.

* gcc.target/aarch64/simd/vqdmlalh_laneq_s16_1.c: New test.
* gcc.target/aarch64/simd/vqdmlals_laneq_s32_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmlslh_laneq_s16_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmlsls_laneq_s32_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmulhh_laneq_s16_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmulhs_laneq_s32_1.c: Likewise.
* gcc.target/aarch64/simd/vqrdmulhh_laneq_s16_1.c: Likewise.
* gcc.target/aarch64/simd/vqrdmulhs_laneq_s32_1.c: Likewise.

From-SVN: r213635

10 years ago[AArch64] Implement some vmul*_lane*_f* intrinsics in arm_neon.h.
Kyrylo Tkachov [Tue, 5 Aug 2014 10:39:31 +0000 (10:39 +0000)]
[AArch64] Implement some vmul*_lane*_f* intrinsics in arm_neon.h.

* config/aarch64/arm_neon.h (vmul_f64): New intrinsic.
(vmuld_laneq_f64): Likewise.
(vmuls_laneq_f32): Likewise.
(vmul_n_f64): Likewise.
(vmuld_lane_f64): Reimplement in C.
(vmuls_lane_f32): Likewise.

* gcc.target/aarch64/simd/vmul_f64_1.c: New test.
* gcc.target/aarch64/simd/vmul_n_f64_1.c: Likewise.
* gcc.target/aarch64/simd/vmuld_lane_f64_1.c: Likewise.
* gcc.target/aarch64/simd/vmuld_laneq_f64_1.c: Likewise.
* gcc.target/aarch64/simd/vmuls_lane_f32_1.c: Likewise.
* gcc.target/aarch64/simd/vmuls_laneq_f32_1.c: Likewise.

From-SVN: r213634

10 years ago[ARM/AArch64] Add CRC32 scheduling information to Cortex-A53 and Cortex-A57.
Kyrylo Tkachov [Tue, 5 Aug 2014 10:27:07 +0000 (10:27 +0000)]
[ARM/AArch64] Add CRC32 scheduling information to Cortex-A53 and Cortex-A57.

* config/arm/cortex-a15.md (cortex_a15_alu_shift): Add crc type
to reservation.
* config/arm/cortex-a53.md (cortex_a53_alu_shift): Likewise.

From-SVN: r213632

10 years ago[ARM] Adjust clz, rbit and rev patterns for -mrestrict-it.
Kyrylo Tkachov [Tue, 5 Aug 2014 09:56:31 +0000 (09:56 +0000)]
[ARM] Adjust clz, rbit and rev patterns for -mrestrict-it.

* config/arm/arm.md (clzsi2): Set predicable_short_it attr to no.
(rbitsi2): Likewise.
(*arm_rev): Set predicable and predicable_short_it attributes.

From-SVN: r213630

10 years agoCorrect usage of dg-require-fork in gcc.dg/torture/ftrapv-1.c
Kyrylo Tkachov [Tue, 5 Aug 2014 09:54:14 +0000 (09:54 +0000)]
Correct usage of dg-require-fork in gcc.dg/torture/ftrapv-1.c

* gcc.dg/torture/ftrapv-1.c: Correct usage of dg-require-fork.

From-SVN: r213629

10 years ago[convert.c] PR 61876: Guard transformation to lrint by -fno-math-errno.
Kyrylo Tkachov [Tue, 5 Aug 2014 09:52:21 +0000 (09:52 +0000)]
[convert.c] PR 61876: Guard transformation to lrint by -fno-math-errno.

* convert.c (convert_to_integer): Guard transformation to lrint by
-fno-math-errno.

From-SVN: r213628

10 years ago[AArch64] Some aarch64-builtins.c cleanup.
James Greenhalgh [Tue, 5 Aug 2014 09:49:05 +0000 (09:49 +0000)]
[AArch64] Some aarch64-builtins.c cleanup.

gcc/

* config/aarch64/aarch64-builtins.c
(aarch64_simd_builtin_type_mode): Delete.
(v8qi_UP): Remap to V8QImode.
(v4hi_UP): Remap to V4HImode.
(v2si_UP): Remap to V2SImode.
(v2sf_UP): Remap to V2SFmode.
(v1df_UP): Remap to V1DFmode.
(di_UP): Remap to DImode.
(df_UP): Remap to DFmode.
(v16qi_UP):V16QImode.
(v8hi_UP): Remap to V8HImode.
(v4si_UP): Remap to V4SImode.
(v4sf_UP): Remap to V4SFmode.
(v2di_UP): Remap to V2DImode.
(v2df_UP): Remap to V2DFmode.
(ti_UP): Remap to TImode.
(ei_UP): Remap to EImode.
(oi_UP): Remap to OImode.
(ci_UP): Map to CImode.
(xi_UP): Remap to XImode.
(si_UP): Remap to SImode.
(sf_UP): Remap to SFmode.
(hi_UP): Remap to HImode.
(qi_UP): Remap to QImode.
(aarch64_simd_builtin_datum): Make mode a machine_mode.
(VAR1): Build builtin name.
(aarch64_init_simd_builtins): Remove dead code.

From-SVN: r213627

10 years ago[gcc/]
Roman Gareev [Tue, 5 Aug 2014 08:42:09 +0000 (08:42 +0000)]
[gcc/]

* graphite-isl-ast-to-gimple.c:
(set_options): New function.
(scop_to_isl_ast): Add calling of set_options.

From-SVN: r213623

10 years agoloop-unroll.c (struct iv_to_split): Remove n_loc and loc fields.
Jakub Jelinek [Tue, 5 Aug 2014 08:09:00 +0000 (10:09 +0200)]
loop-unroll.c (struct iv_to_split): Remove n_loc and loc fields.

* loop-unroll.c (struct iv_to_split): Remove n_loc and loc fields.
(analyze_iv_to_split_insn): Don't initialize them.
(get_ivts_expr): Removed.
(allocate_basic_variable, insert_base_initialization): Use
SET_SRC instead of *get_ivts_expr.
(split_iv): Use &SET_SRC instead of get_ivts_expr.

From-SVN: r213621

10 years agographite-isl-ast-to-gimple.c: Add a new struct ast_build_info.
Roman Gareev [Tue, 5 Aug 2014 03:41:29 +0000 (03:41 +0000)]
graphite-isl-ast-to-gimple.c: Add a new struct ast_build_info.

[gcc/]

* graphite-isl-ast-to-gimple.c: Add a new struct ast_build_info.
(translate_isl_ast_for_loop): Add checking of the
flag_loop_parallelize_all.
(ast_build_before_for): New function.
(scop_to_isl_ast): Add checking of the
flag_loop_parallelize_all.
* graphite-dependences.c: Move the defenition of the
scop_get_dependences from graphite-optimize-isl.c to this file.
(apply_schedule_on_deps): Add checking of the ux's emptiness.
(carries_deps): Add checking of the x's value.
* graphite-optimize-isl.c: Move the defenition of the
scop_get_dependences to graphite-dependences.c.
* graphite-poly.h: Add declarations of scop_get_dependences
and carries_deps.

From-SVN: r213619

10 years agore PR go/61308 (gccgo: ICE in Expression::check_bounds [GoSmith])
Ian Lance Taylor [Tue, 5 Aug 2014 03:11:17 +0000 (03:11 +0000)]
re PR go/61308 (gccgo: ICE in Expression::check_bounds [GoSmith])

PR go/61308

compiler: Handle enclosing vars for function type in function lit.

This fixes a dumb bug in which the enclosing vars were
incorrectly cleared when a function literal contains a
reference to a function type.  The test for this will go into
the master repository in the change at
http://codereview.appspot.com/121200043 .

From-SVN: r213618

10 years agore PR go/61308 (gccgo: ICE in Expression::check_bounds [GoSmith])
Ian Lance Taylor [Tue, 5 Aug 2014 02:58:15 +0000 (02:58 +0000)]
re PR go/61308 (gccgo: ICE in Expression::check_bounds [GoSmith])

PR go/61308
PR go/61866

compiler: Don't cast index expr to int before bounds check.

This fixes http://gcc.gnu.org/PR61866 : on a 32-bit system,
casting an int64 index to int drops the upper 32 bits of the
value, and thus can cause an out-of-range index to appear to
be in range.

This undoes part of change 1318:fa6e0c716dba
(https://codereview.appspot.com/104610044) and therefore
breaks http://gcc.gnu.org/PR61308 again.  I have a separate
patch for that (http://codereview.appspot.com/122020043).  In
addition to undoing part of that change, this patch adds code
to avoid a compiler crash.  This changes PR61308 from a
compiler crash to an incorrect error message.

From-SVN: r213616

10 years agoDaily bump.
GCC Administrator [Tue, 5 Aug 2014 00:16:51 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r213615

10 years agoruntime: Add casts to mincore call to compile on Solaris.
Ian Lance Taylor [Mon, 4 Aug 2014 17:54:09 +0000 (17:54 +0000)]
runtime: Add casts to mincore call to compile on Solaris.

Based on patch from Rainer Orth.

From-SVN: r213599

10 years agore PR middle-end/60102 (powerpc fp-bit ices at dwf_regno)
Rohit Arul Raj [Mon, 4 Aug 2014 16:55:07 +0000 (16:55 +0000)]
re PR middle-end/60102 (powerpc fp-bit ices at dwf_regno)

[gcc/testsuite]
2014-08-04  Rohit  <rohitarulraj@freescale.com>

PR target/60102
* gcc.target/powerpc/pr60102.c: New testcase.

From-SVN: r213598

10 years agore PR middle-end/60102 (powerpc fp-bit ices at dwf_regno)
Rohit Arul Raj [Mon, 4 Aug 2014 16:34:34 +0000 (16:34 +0000)]
re PR middle-end/60102 (powerpc fp-bit ices at dwf_regno)

PR target/60102

[libgcc]
2014-07-31  Rohit  <rohitarulraj@freescale.com>
* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Update
  based on change in SPE high register numbers and 3 HTM registers.

[gcc]
2014-07-31  Rohit  <rohitarulraj@freescale.com>
* config/rs6000/rs6000.c
  (rs6000_reg_names) : Add SPE high register names.
  (alt_reg_names) : Likewise.
  (rs6000_dwarf_register_span) : For SPE high registers, replace
  dwarf register numbers with GCC hard register numbers.
  (rs6000_init_dwarf_reg_sizes_extra) : Likewise.
  (rs6000_dbx_register_number): For SPE high registers, return dwarf
  register number for the corresponding GCC hard register number.

* config/rs6000/rs6000.h
  (FIRST_PSEUDO_REGISTER) : Update based on 32 newly added GCC hard
  register numbers for SPE high registers.
  (DWARF_FRAME_REGISTERS) :  Likewise.
  (DWARF_REG_TO_UNWIND_COLUMN) : Likewise.
  (DWARF_FRAME_REGNUM) : Likewise.
  (FIXED_REGISTERS) : Likewise.
  (CALL_USED_REGISTERS) : Likewise.
  (CALL_REALLY_USED_REGISTERS) : Likewise.
  (REG_ALLOC_ORDER) : Likewise.
  (enum reg_class) : Likewise.
  (REG_CLASS_NAMES) : Likewise.
  (REG_CLASS_CONTENTS) : Likewise.
  (SPE_HIGH_REGNO_P) : New macro to identify SPE high registers.

* gcc.target/powerpc/pr60102.c: New testcase.

From-SVN: r213596

10 years ago* runtime/memory.c (xmallocarray): Avoid division for the common case.
Jakub Jelinek [Mon, 4 Aug 2014 15:46:33 +0000 (17:46 +0200)]
* runtime/memory.c (xmallocarray): Avoid division for the common case.

From-SVN: r213593

10 years agotask.c (GOMP_taskgroup_end): If taskgroup->num_children is not zero...
Jakub Jelinek [Mon, 4 Aug 2014 15:45:50 +0000 (17:45 +0200)]
task.c (GOMP_taskgroup_end): If taskgroup->num_children is not zero...

* task.c (GOMP_taskgroup_end): If taskgroup->num_children
is not zero, but taskgroup->children is NULL and there are
any task->children, schedule those instead of waiting.
* testsuite/libgomp.c/depend-6.c: New test.
* testsuite/libgomp.c/depend-7.c: New test.
* testsuite/libgomp.c/depend-8.c: New test.
* testsuite/libgomp.c/depend-9.c: New test.
* testsuite/libgomp.c/depend-10.c: New test.

From-SVN: r213592

10 years agoRemove trailing blanks.
Arnaud Charlet [Mon, 4 Aug 2014 13:39:17 +0000 (15:39 +0200)]
Remove trailing blanks.

From-SVN: r213591