Commit Graph

135621 Commits

Author SHA1 Message Date
H.J. Lu 541c580691 Correct target selector in -mfentry tests
-fprofile -mfentry works with PIE if gcrt1.o is compiled with -fPIC.  A
glibc has been filed, PR 17836, and a glibc patch has been submitted.

	* gcc.target/i386/fentry-override.c: Properly place {} in target
	selector.  Remove nonpic.
	* gcc.target/i386/fentry.c: Likewise.

From-SVN: r219616
2015-01-14 13:51:09 -08:00
Andrew MacLeod 77df532784 builtins.c (expand_builtin_atomic_exchange): Remove error when memory model is CONSUME.
2015-01-14  Andrew MacLeod  <amacleod@redhat.com>

	* builtins.c (expand_builtin_atomic_exchange): Remove error when
	memory model is CONSUME.
	(expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load,
	expand_builtin_atomic_store): Change invalid memory model errors to
	warnings.
	(expand_builtin_atomic_clear): Change invalid model errors to warnings
	and issue warning for CONSUME.
	* testsuite/gcc.dg/atomic-invalid.c: Check for invalid memory model
	warnings instead of errors.



M    gcc/ChangeLog
M    gcc/builtins.c
M    gcc/testsuite/ChangeLog
M    gcc/testsuite/gcc.dg/atomic-invalid.c

From-SVN: r219615
2015-01-14 21:30:39 +00:00
Aldy Hernandez 2ead7928a2 + * lto-cgraph: Update function comments for
+       lto_symtab_encoder_encode_*.

From-SVN: r219607
2015-01-14 16:37:15 +00:00
Ilya Verbin 3b6e42f965 Makefile.in (site.exp): Do not set ENABLE_LTO.
gcc/
	* Makefile.in (site.exp): Do not set ENABLE_LTO.

gcc/testsuite/
	* lib/target-supports.exp (check_effective_target_lto): Check for -flto
	option support instead of ENABLE_LTO from Makefile.

From-SVN: r219606
2015-01-14 15:51:37 +00:00
Ilya Verbin 837bac8cb6 cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
gcc/
	* cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
	* lto-cgraph.c (select_what_to_stream): Remove argument, use
	lto_stream_offload_p instead.
	* lto-streamer.h (select_what_to_stream): Remove argument.
	* passes.c (ipa_write_summaries): Likewise.
	* tree-pass.h (ipa_write_summaries): Likewise.
gcc/lto/
	* lto-partition.c (lto_promote_cross_file_statics): Remove argument
	from select_what_to_stream.

From-SVN: r219605
2015-01-14 15:15:21 +00:00
Ilya Tocar 2f6c116d28 Fix year in ChangeLog.
From-SVN: r219604
2015-01-14 17:23:47 +03:00
Richard Biener 7ef95f9cf0 re PR tree-optimization/59354 (Element swizzling produces invalid result with -O3)
2015-01-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59354
	* tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from
	groups larger than the slp group size as having gaps.

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

From-SVN: r219603
2015-01-14 14:06:07 +00:00
Andrew Stubbs 7d11e4d632 Fix neon test fails on non-neon configs.
gcc/testsuite/
	* lib/target-supports.exp
	(check_effective_target_arm_neon_ok_nocache): Don't try to test Neon
	on ARM architures before v7.

From-SVN: r219602
2015-01-14 14:03:10 +00:00
Andrew MacLeod 8673b6713e re PR middle-end/59448 (Code generation doesn't respect C11 address-dependency)
2015-01-14  Andrew MacLeod  <amacleod@redhat.com>

	PR middle-end/59448
	* builtins.c (get_memmodel): Promote consume to acquire always.
	* testsuite/gcc.dg/atomic-invalid.c: Remove obselete test for illegal
	consume in an atomic_exchange.

From-SVN: r219601
2015-01-14 13:58:35 +00:00
Ilya Tocar 4b54ab976e re PR target/64386 (ICE: in extract_insn, at recog.c:2327 (unrecognizable insn) with -mavx512bw)
PR target/64386

gcc/
	PR target/64386
	* config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode,
	V32HImode.

testsuite/ 
	* gcc.target/i386/pr64386.c: New test.

From-SVN: r219600
2015-01-14 16:55:06 +03:00
Ilya Tocar c67917b65d re PR target/64393 (ICE: in extract_insn, at recog.c:2327 (unrecognizable insn) with -mavx512vbmi)
PR target/64393

gcc/
	* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET):
	Enable AVX512BW.
	(OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI.
	* config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check
	AVX512VBMI, as it implies AVX512BW.

testsuite/

	* gcc.target/i386/pr64393.c: New test.

From-SVN: r219599
2015-01-14 16:49:58 +03:00
Ilya Tocar 110b788648 re PR target/64387 (ICE: in extract_insn, at recog.c:2327 (unrecognizable insn) with -ffloat-store -mavx512er)
PR target/64387

gcc/
	* config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
	(vec_unpacks_hi_v16sf): Ditto.

testsuite/
	* gcc.target/i386/pr64387.c: New test.

From-SVN: r219598
2015-01-14 16:45:49 +03:00
Christophe Lyon 5c52d24936 store-pair-1.c: Fix typo.
2015-01-14  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/store-pair-1.c: Fix typo.

From-SVN: r219595
2015-01-14 13:07:43 +01:00
Kyrylo Tkachov 2a62514fca [AArch64] Error out of arm_neon.h if nofp/nosimd
* config/aarch64/arm_neon.h: Error out if AdvancedSIMD
	is not available.

	* gcc.target/aarch64/arm_neon-nosimd-error.c: New test.

From-SVN: r219594
2015-01-14 12:03:22 +00:00
Kyrylo Tkachov 3bbbd3ee8e [doc][ARM] Deprecate -mapcs and -mapcs-frame.
* doc/invoke.texi (mapcs): Mention deprecation.
	(mapcs-frame): Likewise.

From-SVN: r219593
2015-01-14 11:58:06 +00:00
Thomas Preud'homme 6f0a6218e3 re PR target/64453 (Live high register not saved in function prolog on ARM with -Os)
2015-01-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR target/64453
    * config/arm/arm.c (callee_saved_reg_p): Define.
    (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if
    register is callee saved instead of !call_used_regs[reg].
    (thumb1_compute_save_reg_mask): Likewise.

    gcc/testsuite/
    PR target/64453
    * gcc.target/arm/pr64453.c: New.

From-SVN: r219592
2015-01-14 11:51:40 +00:00
Hale Wang 6af2585d5c arm.c: Tune the max_cond_insns/branch_cost for Cortex-M7.
2015-01-14  Hale Wang  <hale.wang@arm.com>

	* config/arm/arm.c: Tune the max_cond_insns/branch_cost for
		Cortex-M7.

From-SVN: r219589
2015-01-14 11:15:30 +00:00
Richard Biener 683750ce09 re PR middle-end/64415 (ICE: verify_ssa failed / segmentation fault with LTO)
2015-01-14  Richard Biener  <rguenther@suse.de>

	PR lto/64415
	* tree-inline.c (insert_debug_decl_map): Check destination
	function MAY_HAVE_DEBUG_STMTS.
	(insert_init_debug_bind): Likewise.
	(insert_init_stmt): Remove redundant check.
	(remap_gimple_stmt): Drop debug stmts if the destination
	function has var-tracking assignments disabled.

	* gcc.dg/lto/pr64415_0.c: New testcase.
	* gcc.dg/lto/pr64415_1.c: Likewise.

From-SVN: r219588
2015-01-14 11:06:18 +00:00
Martin Liska 217c08c571 IPA ICF: handle IMAGPART_EXPR and REALPART_EXPR.
* gcc.dg/ipa/pr64307.c: New test.
	* ipa-icf-gimple.c (func_checker::compare_operand): Add support for
	IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison.

From-SVN: r219586
2015-01-14 10:35:13 +00:00
Tejas Belagod f29e90f541 vect-movi.c: Check for vectorization for 64-bit and 128-bit.
2015-01-14  Tejas Belagod  <tejas.belagod@arm.com>

        * gcc.target/aarch64/vect-movi.c: Check for vectorization for 
        64-bit and 128-bit.

From-SVN: r219585
2015-01-14 10:29:09 +00:00
Kyrylo Tkachov ca39a43acc [ARM] Fix PR target/64460: Set 'shift' attr properly on some patterns.
PR target/64460
	* config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2.
	(*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3.

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

From-SVN: r219583
2015-01-14 10:14:23 +00:00
Matthew Fortune fcd7669cb6 Fix Linux multilib configurations with default architectures
gcc/

	* config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA
	level from an ARCH; do not inject the default.
	(MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from
	MIPS_ISA_LEVEL_SPEC.
	(MIPS_ISA_NAN2008_SPEC): Update comment.
	(BASE_DRIVER_SELF_SPECS): Likewise.
	* config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add
	MIPS_DEFAULT_ISA_LEVEL_SPEC.
	* config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise.
	* config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise.
	* config/mips/sde.h (DRIVER_SELF_SPECS): Likewise.

From-SVN: r219580
2015-01-14 08:35:52 +00:00
Richard Biener 46b622cc24 re PR tree-optimization/64493 (ICE at -O3 on x86_64-linux-gnu)
2015-01-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/64493
	PR tree-optimization/64495
	* tree-vect-loop.c (vect_finalize_reduction): For double-reductions
	assign the proper vectorized PHI to the inner loop exit PHIs.

	* gcc.dg/vect/pr64493.c: New testcase.
	* gcc.dg/vect/pr64495.c: Likewise.

From-SVN: r219579
2015-01-14 08:32:18 +00:00
Joey Ye f7d2b51386 arm.c (arm_compute_save_reg_mask): Do not save lr in case of tail call.
2015-01-14  Joey Ye  <joey.ye@arm.com>

        * config/arm/arm.c (arm_compute_save_reg_mask):
        Do not save lr in case of tail call.
        * config/arm/thumb2.md (*thumb2_pop_single): New pattern.

From-SVN: r219578
2015-01-14 08:17:15 +00:00
Martin Uecker de1b5c17fd tree-vrp.c (check_array_ref): Emit more warnings for warn_array_bounds >= 2.
* tree-vrp.c (check_array_ref): Emit more warnings
	for warn_array_bounds >= 2.
	* common.opt: New option -Warray-bounds=.
	* doc/invoke.texi: Document -Warray-bounds=.

	* c.opt: New option -Warray-bounds=.

	* gcc.dg/Warray-bounds-11.c: New test-case.

From-SVN: r219577
2015-01-13 23:50:19 -07:00
Chung-Ju Wu 2ca1ca6581 [NDS32] Remove some features and options that are not available yet in nds32 port of GNU binutils package.
gcc/
	* config/nds32/nds32.opt (mforce-fp-as-gp): Remove.
	(mforbid-fp-as-gp): Remove.
	(mex9): Remove.
	* config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove.
	(nds32_symbol_load_store_p): Remove.
	(nds32_fp_as_gp_check_available): Clean up implementation.
	* config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9
	cases.
	* config/nds32/nds32.c (nds32_asm_file_start): No need to consider
	fp-as-gp and ex9 cases.

From-SVN: r219576
2015-01-14 06:08:35 +00:00
Naveen H.S be77e6092b octeon3-pipe-1.c: New test.
* gcc.target/mips/octeon3-pipe-1.c: New test.

From-SVN: r219575
2015-01-14 06:08:24 +00:00
Jan Hubicka c02ae3ae3d tree-profile.c (init_ic_make_global_vars): Drop workaround for bintuils bug 14342.
* tree-profile.c (init_ic_make_global_vars): Drop workaround
	for bintuils bug 14342.
	(init_ic_make_global_vars): Likewise.
	(gimple_init_edge_profiler): Likewise.
	(gimple_gen_ic_func_profiler): Likewise.

From-SVN: r219574
2015-01-14 05:28:50 +00:00
Naveen H.S 9e145afd37 ipa-inline.c (inline_small_functions): Swap the operands in enum.
2015-01-15  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

	* ipa-inline.c (inline_small_functions): Swap the operands in
	enum.

From-SVN: r219573
2015-01-14 05:10:44 +00:00
Jan Hubicka 0d92b55538 re PR ipa/64481 (r219076 breaks bootstrap (x86_64-unknown-linux-gnu))
PR ipa/64481
	* ipa-inline-analysis.c (node_growth_cache): Remove.
	(initialize_growth_caches): Do not initialize it.
	(free_growth_caches): Do not free it.
	(do_estimate_growth): Rename to ...
	(estimate_growth): ... this one; drop growth cache code.
	(growth_likely_positive): Always go the heuristics way.
	* ipa-inline.c (can_inline_edge_p): Walk through aliases.
	(reset_edge_caches): Do not reset node growth.
	(heap_edge_removal_hook): Do not maintain cache.
	(inline_small_functions): Likewise; strenghten sanity check.
	(ipa_inline): Do not maintain caches.
	* ipa-inline.h (node_growth_cache): Remove.
	(do_estimate_growth): Remove to ...
	(estimate_growth): this one; remove inline version.
	(reset_node_growth_cache): Remove.

From-SVN: r219572
2015-01-14 03:47:17 +00:00
GCC Administrator dc396715ae Daily bump.
From-SVN: r219569
2015-01-14 00:16:58 +00:00
Kaz Kojima b1479ae31e configure.host: Remove extra brackets for sh.
* libffi/configure.host: Remove extra brackets for sh.

From-SVN: r219565
2015-01-13 23:30:33 +00:00
David Malcolm 86d0ac8876 jit: New API entrypoint: gcc_jit_context_dump_reproducer_to_file
gcc/jit/ChangeLog:
	* docs/cp/topics/contexts.rst (Debugging): Add
	gccjit::context::dump_reproducer_to_file.
	* docs/internals/index.rst (Design notes): New section,
	discussing input validation and
	gcc_jit_context_dump_reproducer_to_file.
	* docs/topics/contexts.rst (Debugging): Add
	gcc_jit_context_dump_reproducer_to_file.
	* docs/_build/texinfo/libgccjit.texi: Regenerate.
	* jit-common.h (gcc::jit::dump::get_context): New accessor.
	* jit-recording.c: Include "hash-map.h".
	Within namespace ::gcc::jit...
	(dump::write): Flush each line.
	(dump::make_location): Pass false for new param "created_by_user".
	(class allocator): New class.
	(allocator::~allocator): New function.
	(allocator::xstrdup_printf): New function.
	(allocator::xstrdup_printf_va): New function.
	(class reproducer): New subclass of dump.
	(reproducer::reproducer): New function.
	(reproducer::write_params): New function.
	(reproducer::write_args): New function.
	(reproducer::make_identifier): New function.
	(reproducer::make_tmp_identifier): New function.
	(reproducer::get_identifier): New pair of functions.
	(reproducer::get_identifier_as_rvalue): New function.
	(reproducer::get_identifier_as_lvalue): New function.
	(reproducer::get_identifier_as_type): New function.
	(reproducer::xstrdup_printf): New function.
	(recording::context::context): Initialize m_toplevel_ctxt.
	(recording::context::new_location): Add param created_by_user.
	(str_option_reproducer_strings): New table of strings.
	(int_option_reproducer_strings): Likewise.
	(bool_option_reproducer_strings): Likewise.
	(get_type_enum_strings): Likewise.
	(names_of_function_kinds): Likewise.
	(global_kind_reproducer_strings): Likewise.
	(unary_op_reproducer_strings): Likewise.
	(binary_op_reproducer_strings): Likewise.
	(comparison_reproducer_strings): Likewise.
	Within namespace ::gcc::jit::recording::...
	(context::dump_reproducer_to_file): New function.
	(string::write_reproducer): Likewise.
	(location::write_reproducer): Likewise.
	(type::access_as_type): Likewise.
	(memento_of_get_type::write_reproducer): Likewise.
	(memento_of_get_pointer::write_reproducer): Likewise.
	(memento_of_get_const::write_reproducer): Likewise.
	(memento_of_get_volatile::write_reproducer): Likewise.
	(array_type::write_reproducer): Likewise.
	(function_type::write_reproducer): Likewise.
	(function_type::write_deferred_reproducer): Likewise.
	(field::write_reproducer): Likewise.
	(struct_::access_as_type): Likewise.
	(struct_::write_reproducer): Likewise.
	(union_::write_reproducer): Likewise.
	(fields::write_reproducer): Likewise.
	(rvalue::access_as_rvalue): Likewise.
	(lvalue::access_as_rvalue): Likewise.
	(lvalue::access_as_lvalue): Likewise.
	(param::access_as_rvalue): Likewise.
	(param::access_as_lvalue): Likewise.
	(param::write_reproducer): Likewise.
	(function::write_reproducer): Likewise.
	(block::write_reproducer): Likewise.
	(global::write_reproducer): Likewise.
	(memento_of_new_rvalue_from_const <int>::write_reproducer):
	Likewise.
	(memento_of_new_rvalue_from_const <long>::write_reproducer):
	Likewise.
	(memento_of_new_rvalue_from_const <double>::write_reproducer):
	Likewise.
	(memento_of_new_rvalue_from_const <void *>::write_reproducer):
	Likewise.
	(memento_of_new_string_literal::write_reproducer): Likewise.
	(unary_op::write_reproducer): Likewise.
	(binary_op::write_reproducer): Likewise.
	(comparison::write_reproducer): Likewise.
	(cast::write_reproducer): Likewise.
	(call::write_reproducer): Likewise.
	(call_through_ptr::write_reproducer): Likewise.
	(array_access::write_reproducer): Likewise.
	(access_field_of_lvalue::write_reproducer): Likewise.
	(access_field_rvalue::write_reproducer): Likewise.
	(dereference_field_rvalue::write_reproducer): Likewise.
	(dereference_rvalue::write_reproducer): Likewise.
	(get_address_of_lvalue::write_reproducer): Likewise.
	(local::write_reproducer): Likewise.
	(eval::write_reproducer): Likewise.
	(assignment::write_reproducer): Likewise.
	(assignment_op::write_reproducer): Likewise.
	(comment::write_reproducer): Likewise.
	(conditional::write_reproducer): Likewise.
	(jump::write_reproducer): Likewise.
	(return_::write_reproducer): Likewise.
	* jit-recording.h (gcc::jit::reproducer): New forward declararion.
	Within namespace ::gcc::jit::recording::...
	(context::new_location): Add "created_by_user" param.
	(context::dump_reproducer_to_file): New method.
	(context::m_toplevel_ctxt): New field.
	(memento::write_reproducer): New pure virtual function.
	(memento::dyn_cast_location): New virtual function.
	(string::write_reproducer):
	(location::location): Add "created_by_user" param.
	(location::dyn_cast_location): New function.
	(location::created_by_user): New accessor.
	(location::write_reproducer): New function.
	(location::m_created_by_user): New field.
	(type::access_as_type): New virtual function.
	(location::write_reproducer): Likewise.
	(type::access_as_type): Likewise.
	(memento_of_get_type::write_reproducer): Likewise.
	(memento_of_get_pointer::write_reproducer): Likewise.
	(memento_of_get_const::write_reproducer): Likewise.
	(memento_of_get_volatile::write_reproducer): Likewise.
	(array_type::write_reproducer): Likewise.
	(function_type::write_reproducer): Likewise.
	(function_type::write_deferred_reproducer): Likewise.
	(field::write_reproducer): Likewise.
	(struct_::access_as_type): Likewise.
	(struct_::write_reproducer): Likewise.
	(union_::write_reproducer): Likewise.
	(union_::m_fields): Remove stray unused field.
	(fields::length): New accessor.
	(fields::get_field): New accessor.
	(fields::write_reproducer): New function.
	(rvalue::access_as_rvalue): Likewise.
	(lvalue::access_as_rvalue): Likewise.
	(lvalue::access_as_lvalue): Likewise.
	(param::access_as_rvalue): Likewise.
	(param::access_as_lvalue): Likewise.
	(param::write_reproducer): Likewise.
	(function::write_reproducer): Likewise.
	(block::write_reproducer): Likewise.
	(global::write_reproducer): Likewise.
	(memento_of_new_rvalue_from_const <HOST_TYPE>::write_reproducer):
	Likewise.
	(memento_of_new_string_literal::write_reproducer): Likewise.
	(unary_op::write_reproducer): Likewise.
	(binary_op::write_reproducer): Likewise.
	(comparison::write_reproducer): Likewise.
	(cast::write_reproducer): Likewise.
	(call::write_reproducer): Likewise.
	(call_through_ptr::write_reproducer): Likewise.
	(array_access::write_reproducer): Likewise.
	(access_field_of_lvalue::write_reproducer): Likewise.
	(access_field_rvalue::write_reproducer): Likewise.
	(dereference_field_rvalue::write_reproducer): Likewise.
	(dereference_rvalue::write_reproducer): Likewise.
	(get_address_of_lvalue::write_reproducer): Likewise.
	(local::write_reproducer): Likewise.
	(eval::write_reproducer): Likewise.
	(assignment::write_reproducer): Likewise.
	(assignment_op::write_reproducer): Likewise.
	(comment::write_reproducer): Likewise.
	(conditional::write_reproducer): Likewise.
	(jump::write_reproducer): Likewise.
	(return_::write_reproducer): Likewise.
	* libgccjit++.h (gccjit::context::dump_reproducer_to_file): New.
	* libgccjit.c (gcc_jit_context_new_location): Pass "true" as
	param "created_by_user".
	(gcc_jit_context_dump_reproducer_to_file): New API entrypoint.
	* libgccjit.h (gcc_jit_context_dump_reproducer_to_file): New API
	entrypoint.
	* libgccjit.map (gcc_jit_context_dump_reproducer_to_file): New API
	entrypoint.

gcc/testsuite/ChangeLog:
	* jit.dg/harness.h (set_up_logging): Move string concatenation
	into...
	(concat_strings): New function.
	(dump_reproducer): New function.
	(test_jit): Call dump_reproducer.
	* jit.dg/jit.exp (is_testcase_meant_to_generate_a_reproducer): New
	function.
	(jit-dg-test): Delete any generated reproducer from previous runs.
	Verify that a generated reproducer was created, and verify that it
	compiles.
	* jit.dg/test-nested-contexts.c (main): Call
	gcc_jit_context_dump_reproducer_to_file.

From-SVN: r219564
2015-01-13 22:14:46 +00:00
H.J. Lu 9c80f9197e Add dg-require-profiling to gcc.dg/aru-2.c
* gcc.dg/aru-2.c: Add dg-require-profiling.

From-SVN: r219561
2015-01-13 13:24:16 -08:00
H.J. Lu f263fe40d7 Check if -pg links in check_profiling_available
* lib/target-supports.exp (check_profiling_available): Check if
	-pg links.

From-SVN: r219560
2015-01-13 13:13:36 -08:00
Jason Merrill caee690e91 re PR c++/64356 (Some constexpr expressions not recognized as constexpr)
PR c++/64356
	PR libstdc++/58777
	* constexpr.c (cxx_eval_binary_expression): Don't VERIFY_CONSTANT
	pointer expressions.
	(cxx_eval_increment_expression): Likewise.

From-SVN: r219559
2015-01-13 16:04:43 -05:00
Jason Merrill 7c368fb23c re PR c++/64514 (Error in template instantiation in GCC 4.9, works fine in GCC 4.8)
PR c++/64514
	* pt.c (coerce_template_parameter_pack): Return NULL for a
	zero-length fixed parameter pack with a pack expansion arg.

From-SVN: r219558
2015-01-13 16:04:35 -05:00
Jason Merrill 8f413ae21e re PR c++/64520 (ICE with std::initializer_list)
PR c++/64520
	* pt.c (unify): Don't try to deduce to std::initializer_list<T...>.

From-SVN: r219557
2015-01-13 16:04:28 -05:00
Jan Hubicka 2001028ad3 re PR ipa/64565 (ICE: in inline_small_functions, at ipa-inline.c:1664)
PR ipa/64565
	* g++.dg/torture/pr64565.C: New testcase.
	* ipa-inline.c (inline_small_functions): Update callee keys after
	resolving speculation
	(inline_small_functions): Always check monotonicity of the queue.

From-SVN: r219556
2015-01-13 20:59:37 +00:00
Marek Polacek 59b8926c6f re PR middle-end/64391 (ICE: SIGSEGV in get_attrs_for (trans-mem.c:179) with -fgnu-tm and #pragma GCC ivdep)
PR middle-end/64391
	* trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.

	* gcc.dg/tm/pr64391.c: New test.

From-SVN: r219555
2015-01-13 20:22:32 +00:00
H.J. Lu ee57ebbf2b Support PIE in gcc.dg/tree-ssa/ssa-store-ccp-3.c
target nonpic is always false for -fPIE since it defines both __PIC__
and __PIE__.  This patch changes gcc.dg/tree-ssa/ssa-store-ccp-3.c to
make it to pass with -fPIE by excluding PIE when nonpic is true.

	* gcc.dg/tree-ssa/ssa-store-ccp-3.c: Exclude pie when nonpic is
	true.

From-SVN: r219554
2015-01-13 12:07:33 -08:00
H.J. Lu ed4f78fae8 Add check_effective_target_pie
* gcc.target/i386/pie.c: New test.

	* lib/target-supports.exp (check_effective_target_pie): New.

From-SVN: r219553
2015-01-13 12:05:41 -08:00
Jakub Jelinek 860dadcbea re PR rtl-optimization/64286 (Redundant extend removal ignores vector element type)
PR rtl-optimization/64286
	* ree.c (combine_reaching_defs): Move part of comment earlier,
	remove !SCALAR_INT_MODE_P check.
	(add_removable_extension): Don't add vector mode
	extensions if all uses of the source register aren't the same
	vector extensions.

	* gcc.target/i386/avx2-pr64286.c: New test.

From-SVN: r219550
2015-01-13 20:12:47 +01:00
Paolo Carlini 6e5a37dae7 re PR c++/57626 ([C++11] ICE with template alias and member function pointer)
2015-01-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/57626
	* g++.dg/cpp0x/vt-57626.C: New.

From-SVN: r219546
2015-01-13 17:19:32 +00:00
Jakub Jelinek b6a8baccac sanitizer_deadlock_detector.h: Cherry pick upstream r224518 and r224519.
* sanitizer_common/sanitizer_deadlock_detector.h: Cherry pick
	upstream r224518 and r224519.
	* tsan/tsan_rtl_thread.cc: Cherry pick upstream r224702 and
	r224834.

From-SVN: r219545
2015-01-13 18:01:30 +01:00
Renlin Li 41197ad499 [ARM]Make CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO return 2.
gcc/

	* config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
	(CTZ_DEFINED_VALUE_AT_ZERO): Ditto.

From-SVN: r219544
2015-01-13 16:47:30 +00:00
Jakub Jelinek 31ec353514 re PR fortran/64528 (ICE: in process_constraint, at tree-ssa-structalias.c:3002 with -O -fno-tree-ccp -fno-tree-dce)
PR fortran/64528
	* trans-decl.c (create_function_arglist): Don't set TREE_READONLY
	on dummy args with VALUE attribute.

	* gfortran.dg/pr64528.f90: New test.

From-SVN: r219543
2015-01-13 17:42:22 +01:00
Martin Liska eaabbb005f Option diff dump is added for target and optimization
* ipa-icf.c (sem_function::equals_private): Call new functions
	cl_target_option_print_diff and cl_optimization_print_diff.
	* optc-save-gen.awk (cl_target_option_print_diff): New function.
	(cl_optimization_print_diff): Likewise.
	* opth-gen.awk: Likewise.

M    gcc/ChangeLog
M    gcc/ipa-icf.c
M    gcc/optc-save-gen.awk
M    gcc/opth-gen.awk

From-SVN: r219542
2015-01-13 16:30:23 +00:00
H.J. Lu ff8ebda16a Set TARGET to X86_64 if __x86_64__ is defined
PR bootstrap/64575
	* configure.host (TARGET): Set to X86_64 if __x86_64__ is defined.

From-SVN: r219539
2015-01-13 07:57:27 -08:00
Richard Henderson be723d1e73 re PR libffi/64572 (r219477 breaks bootstrap on x86_64 darwin)
PR libffi/64572

 * src/x86/ffitarget.h (FFI_GO_CLOSURES): Do not define for darwin.
 (FFI_TARGET_HAS_COMPLEX_TYPE): Likewise.

From-SVN: r219538
2015-01-13 07:29:47 -08:00