Commit Graph

131831 Commits

Author SHA1 Message Date
GCC Administrator 7a9f1eed30 Daily bump.
From-SVN: r213785
2014-08-10 00:16:59 +00:00
Thomas Koenig 4d05134010 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
2014-08-09 22:38:46 +00:00
Jan Hubicka 726540aa29 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
2014-08-09 22:07:55 +00:00
Ulrich Drepper 83a4216dd2 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
2014-08-09 17:56:57 +00:00
Paolo Carlini 42ee80b920 2014-08-09 Paolo Carlini <paolo.carlini@oracle.com>
* Adjust date.

From-SVN: r213777
2014-08-09 09:00:34 +00:00
Paolo Carlini 6a6bdc3d09 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
2014-08-09 08:58:33 +00:00
François Dumont 013078982d 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
2014-08-09 08:00:59 +00:00
Roman Gareev b5bdf598f9 [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
2014-08-09 05:57:47 +00:00
GCC Administrator 361f3f5f12 Daily bump.
From-SVN: r213772
2014-08-09 00:16:46 +00:00
Guozhi Wei b435752c2e rs6000.md (*movdi_internal64): Add a new constraint.
* config/rs6000/rs6000.md (*movdi_internal64): Add a new constraint.

From-SVN: r213767
2014-08-08 23:00:28 +00:00
Cary Coutant 4dd7c3b285 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
2014-08-08 13:33:26 -07:00
Jason Merrill a6b0c7bc45 * pt.c (lookup_template_class_1): Copy abi_tag.
From-SVN: r213762
2014-08-08 14:17:21 -04:00
Ian Lance Taylor ff09769fac 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
2014-08-08 17:40:51 +00:00
Yi Yang 7ca26091fc 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
2014-08-08 12:06:51 -05:00
Richard Biener 207c68cd61 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
2014-08-08 12:55:31 +00:00
Alexander Ivchenko 07165dd72c 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
2014-08-08 11:31:34 +00:00
Bin Cheng 7c581d613c 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
2014-08-08 10:21:12 +00:00
Richard Biener fef5a0d95e 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
2014-08-08 09:18:40 +00:00
Kai Tietz 322d490e02 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
2014-08-08 09:59:38 +02:00
Kugan Vivekanandarajah 8c9a36b7ca 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
2014-08-08 05:31:44 +00:00
Kugan Vivekanandarajah 362d42dcc9 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
2014-08-08 05:24:12 +00:00
Bin Cheng 07ad7382cf pr61772.c: Skip lto running.
* gcc.dg/torture/pr61772.c: Skip lto running.

From-SVN: r213748
2014-08-08 02:45:13 +00:00
GCC Administrator 1f24d2a24d Daily bump.
From-SVN: r213747
2014-08-08 00:16:52 +00:00
Jonathan Wakely db0b7db338 future (__location_invariant): Move specializations after preprocessor condition.
* include/std/future (__location_invariant): Move specializations
	after preprocessor condition.

From-SVN: r213744
2014-08-07 23:54:53 +01:00
John David Anglin ab498225ee 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
2014-08-07 21:44:55 +00:00
Jan Hubicka 7d0aa05b9e 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
2014-08-07 20:58:17 +00:00
Trevor Saunders 9f25a338f9 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
2014-08-07 20:52:50 +00:00
Jonathan Wakely 4e48c10968 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
2014-08-07 21:13:52 +01:00
Paolo Carlini 2d45625fa7 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
2014-08-07 19:51:28 +00:00
Jason Merrill 4a53d90b5f 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
2014-08-07 15:48:36 -04:00
Jason Merrill 2e8e74c0ad 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
2014-08-07 15:48:30 -04:00
John David Anglin 34c1359ee1 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
2014-08-07 19:21:50 +00:00
John David Anglin 3bce9ea72d stdatomic-flag.c: Add xfail comment.
* gcc.dg/atomic/stdatomic-flag.c: Add xfail comment.

From-SVN: r213727
2014-08-07 18:56:59 +00:00
John David Anglin 42d9533c8f 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
2014-08-07 18:46:13 +00:00
John David Anglin 249a8c6c1f 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
2014-08-07 18:22:47 +00:00
Nathan Sidwell 4303c58196 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
2014-08-07 18:02:06 +00:00
John David Anglin 8bd8ef50e4 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
2014-08-07 17:49:08 +00:00
Jonathan Wakely d0ef19a0b2 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
2014-08-07 18:25:13 +01:00
Kyrylo Tkachov 16918afd48 [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
2014-08-07 14:30:01 +00:00
Kyrylo Tkachov a636bb4062 [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
2014-08-07 14:27:59 +00:00
Ian Bolton c747993a62 [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
2014-08-07 13:42:22 +00:00
Marat Zakirov 4da2eb985b 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
2014-08-07 13:29:07 +00:00
Maxim Kuvyrkov 4bd12f3d25 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
2014-08-07 11:16:29 +00:00
Maxim Kuvyrkov 88366b18d6 Fix INSN_TICK heuristic for SCHED_PRESSURE
* haifa-sched.c (rank_for_schedule): Fix INSN_TICK-based heuristics.

From-SVN: r213708
2014-08-07 11:16:16 +00:00
Petr Murzin 81051ff669 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
2014-08-07 10:57:39 +00:00
Ilya Tocar 9d04ba2937 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
2014-08-07 10:52:13 +00:00
Trevor Saunders 39c8aaa4bf 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
2014-08-07 10:44:14 +00:00
Kirill Yukhin 66b5e890ec gcc/testsuite
* Add forgotten file.

From-SVN: r213702
2014-08-07 09:59:34 +00:00
Kyrylo Tkachov 60c2020d0d Remove arm-specific -march in test.
* gcc.dg/pr61756.c: Remove arm-specific dg-options.

From-SVN: r213701
2014-08-07 08:31:07 +00:00
Marek Polacek 044331a86c 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
2014-08-07 08:12:04 +00:00