Commit Graph

143180 Commits

Author SHA1 Message Date
Jan Hubicka 2994ab20f1 ipa-cp.c (ipa_get_indirect_edge_target_1): Use can_refer; do not speculate to impossible targets.
* ipa-cp.c (ipa_get_indirect_edge_target_1): Use can_refer; do not
	speculate to impossible targets.
	* ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.

From-SVN: r231705
2015-12-16 17:26:20 +00:00
David Malcolm 8062bca66d C FE: use correct location range for static assertions
gcc/c/ChangeLog:
	* c-parser.c (c_parser_static_assert_declaration_no_semi): Use the
	expression location, falling back on the first token location,
	rather than always using the latter.

gcc/testsuite/ChangeLog:
	* gcc.dg/diagnostic-range-static-assert.c: New test case.

From-SVN: r231704
2015-12-16 17:25:45 +00:00
Aditya Kumar 040b0c97c4 add more dumps on data dependence graph
Co-Authored-By: Sebastian Pop <s.pop@samsung.com>

From-SVN: r231703
2015-12-16 17:24:25 +00:00
Marek Polacek d06f8b75bd re PR c/64637 (Incorrect location for -Wunused-value warnings in for-loop)
PR c/64637
	* c-typeck.c (c_process_expr_stmt): Use location of the expression if
	available.

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

From-SVN: r231700
2015-12-16 16:50:07 +00:00
Nathan Sidwell bc32563724 * gcc.dg/sibcall-9.c: Xfail for nvptx.
From-SVN: r231699
2015-12-16 16:47:05 +00:00
Kyrylo Tkachov 283b6c8543 [AArch64] Properly cost zero_extend+ashift forms of ubfi[xz]
* config/aarch64/aarch64.c (aarch64_extend_bitfield_pattern_p):
	New function.
	(aarch64_rtx_costs, ZERO_EXTEND, SIGN_EXTEND cases): Use the above
	to handle extend+shift rtxes.

From-SVN: r231698
2015-12-16 15:49:42 +00:00
Bernd Edlinger 077067a5f3 unwind-generic.h (_Unwind_GetTextRelBase): Call __builtin_abort instead of abort to avoid dependency on stdlib.h.
2015-12-16  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * unwind-generic.h (_Unwind_GetTextRelBase): Call __builtin_abort
        instead of abort to avoid dependency on stdlib.h.

From-SVN: r231697
2015-12-16 15:24:52 +00:00
Kyrylo Tkachov 3297949ea9 [AArch64] PR target/68696 FAIL: gcc.target/aarch64/vbslq_u64_1.c scan-assembler-times bif\tv 1
PR target/68696
        * config/aarch64/aarch64-simd.md (*aarch64_simd_bsl<mode>_alt):
        New pattern.
        (aarch64_simd_bsl<mode>_internal): Update comment to reflect
        the above.

From-SVN: r231696
2015-12-16 15:03:44 +00:00
Richard Biener 7b5ab0cdc1 re PR middle-end/68870 (ICE on valid code at -O1, -O2 and -O3 on x86_64-linux-gnu)
2015-12-16  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/68870
	* tree-cfgcleanup.c (cleanup_control_expr_graph): Add first_p
	parameter, if set only perform trivial constant folding.
	Queue other blocks with conditions for later processing.
	(cleanup_control_flow_bb): Add first_p parameter and pass it through.
	(cleanup_tree_cfg_1): Pass true for the first iteration
	cleanup_control_expr_graph.

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

From-SVN: r231695
2015-12-16 14:56:10 +00:00
Nathan Sidwell 44c068aecb nvptx-protos.h (nvptx_hard_regno_mode_ok): Delete.
* config/nvptx/nvptx-protos.h (nvptx_hard_regno_mode_ok): Delete.
	* config/nvptx/nvptx.h (struct machine_function):
	Reimplement. Adjust all users.
	* config/nvptx/nvptx.c (nvptx_declare_function_name): Move stack
	and frame array generation earlier.
	(nvptx_call_args): Reimplement.
	(nvptx_expand_call): Adjust.
	(nvptx_hard_reno_mode_ok): Delete.
	(nvptx_reorg): Revert scan of hard regs.

From-SVN: r231691
2015-12-16 13:51:36 +00:00
Tom de Vries 597a8ab9c6 Add pass_oacc_ipa
2015-12-16  Tom de Vries  <tom@codesourcery.com>

	* opts.c (default_options_optimization): Set fipa-pta on by default for
	fopenacc.
	* passes.def: Move kernels pass group to pass_ipa_oacc.
	* tree-pass.h (make_pass_oacc_kernels2): Remove.
	(make_pass_ipa_oacc, make_pass_ipa_oacc_kernels): Declare.
	* tree-ssa-loop.c (pass_oacc_kernels2, make_pass_oacc_kernels2): Remove.
	(pass_ipa_oacc, pass_ipa_oacc_kernels): New pass.
	(make_pass_ipa_oacc, make_pass_ipa_oacc_kernels): New function.
	* tree-ssa-structalias.c (pass_ipa_pta::clone): New function.

	* g++.dg/ipa/devirt-37.C: Update for new fre2 pass.
	* g++.dg/ipa/devirt-40.C: Same.
	* g++.dg/tree-ssa/pr61034.C: Same.
	* gcc.dg/ipa/ipa-pta-1.c: Update for new pta1 pass.
	* gcc.dg/ipa/ipa-pta-10.c: Same.
	* gcc.dg/ipa/ipa-pta-11.c: Same.
	* gcc.dg/ipa/ipa-pta-14.c: Same.
	* gcc.dg/ipa/ipa-pta-16.c: Same.
	* gcc.dg/ipa/ipa-pta-2.c: Same.
	* gcc.dg/ipa/ipa-pta-5.c: Same.
	* gcc.dg/ipa/ipa-pta-6.c: Same.
	* gcc.dg/torture/ipa-pta-1.c: Same.
	* gcc.dg/ipa/ipa-pta-13.c: Update for new fre2 and pta1 pass.
	* gcc.dg/ipa/ipa-pta-3.c: Same.
	* gcc.dg/ipa/ipa-pta-4.c: Same.

From-SVN: r231690
2015-12-16 13:49:07 +00:00
Richard Biener f47cda2457 re PR tree-optimization/68861 (FAIL: libgomp.fortran/vla8.f90 -O3 -g execution test)
2015-12-16  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/68861
	* tree-vect-slp.c (vect_build_slp_tree): Properly handle
	duplicate stmts when applying swapping to stmts.

From-SVN: r231689
2015-12-16 13:45:40 +00:00
Kirill Yukhin 36e24655dd i386-c.c (ix86_target_macros_internal): Remove duplicate check (__CLZERO__).
gcc/
	* config/i386/i386-c.c (ix86_target_macros_internal): Remove
	duplicate check (__CLZERO__).

From-SVN: r231688
2015-12-16 13:43:56 +00:00
Richard Biener c11a5508fb re PR tree-optimization/68915 (gcc.dg/vect/pr46032.c FAILs)
2015-12-16  Richard Biener  <rguenther@suse.de>

	PR testsuite/68915
	* gcc.dg/vect/pr46032.c: Use dg-additional-options.

From-SVN: r231687
2015-12-16 12:37:02 +00:00
Matthew Wahab f392980c83 [ARM] Add ACLE intrinsics vqrdmlah_lane and vqrdmlsh_lane
* config/arm/arm_neon.h (vqrdmlahq_lane_s16): New.
	(vqrdmlahq_lane_s32): New.
	(vqrdmlah_lane_s16): New.
	(vqrdmlah_lane_s32): New.
	(vqrdmlshq_lane_s16): New.
	(vqrdmlshq_lane_s32): New.
	(vqrdmlsh_lane_s16): New.
	(vqrdmlsh_lane_s32): New.
	* config/arm/arm_neon_builtins.def: Add "vqrdmlah_lane" and
	"vqrdmlsh_lane".

From-SVN: r231686
2015-12-16 12:21:47 +00:00
Matthew Wahab 7fcaba1a9a [ARM] Add ACLE intrinsics vqrdmlah and vqrdmlsh
* config/arm/arm_neon.h (vqrdmlah_s16, vqrdmlah_s32): New.
	(vqrdmlahq_s16, vqrdmlahq_s32): New.
	(vqrdmlsh_s16, vqrdmlsh_s32): New.
	(vqrdmlahq_s16, vqrdmlshq_s32): New.
	* config/arm/arm_neon_builtins.def: Add "vqrdmlah" and "vqrdmlsh".

From-SVN: r231685
2015-12-16 12:16:13 +00:00
Richard Biener 4c2e0828c1 re PR tree-optimization/68916 (gcc.dg/vect/slp-perm-4.c FAILs)
2015-12-16  Richard Biener  <rguenther@suse.de>

	PR testsuite/68916
	PR testsuite/68914
	* gcc.dg/vect/pr45752.c: Require vect_perm and adjust expected
	dump.
	* gcc.dg/vect/slp-perm-4.c: Likewise.

From-SVN: r231684
2015-12-16 12:13:05 +00:00
Matthew Wahab 07b140c2a2 [Testsuite] Support ARMv8.1 ARM tests.
testsuite/
	* lib/target-supports.exp (add_options_for_arm_v8_1a_neon): Update
	comment.  Use check_effective_target_arm_v8_1a_neon_ok to select
	the command line options.
	(check_effective_target_arm_v8_1a_neon_ok_nocache): Update initial
	test to allow ARM targets.  Select and record a working set of
	command line options.
	(check_effective_target_arm_v8_1a_neon_hw): Add tests for ARM
	targets.

	gcc/
	* doc/sourcebuild.texi (ARM-specific attributes): Add
	"arm_v8_1a_neon_ok" and "arm_v8_1a_neon_hw".

From-SVN: r231683
2015-12-16 12:10:59 +00:00
Matthew Wahab c48083824a [ARM] Add ACLE feature macro for ARMv8.1 instructions.
* config/arm/arm-c.c (arm_cpu_builtins): Define
	__ARM_FEATURE_QRDMX.  Clean up some trailing whitespace.

From-SVN: r231682
2015-12-16 12:02:15 +00:00
Matthew Wahab 5f2ca3b2fd [ARM] Add patterns for new instructions
* config/arm/iterators.md (VQRDMLH_AS): New.
	(neon_rdma_as): New.
	* config/arm/neon.md
	(neon_vqrdml<VQRDMLH_AS:neon_rdma_as>h<mode>): New.
	(neon_vqrdml<VQRDMLH_AS:neon_rdma_as>h_lane<mode>): New.
	* config/arm/unspecs.md (UNSPEC_VQRDMLAH): New.
	(UNSPEC_VQRDMLSH): New.

From-SVN: r231681
2015-12-16 11:56:21 +00:00
Matthew Wahab df174ca360 [ARM] Multilib support for ARMv8.1.
* config/arm/t-aprofile: Make "armv8.1-a" and "armv8.1-a+crc"
	matches for "armv8-a".

From-SVN: r231680
2015-12-16 11:50:43 +00:00
Matthew Wahab 252e03b519 [ARM] Add support for ARMv8.1.
* config/arm/arm-arches.def: Add "armv8.1-a" and "armv8.1-a+crc".
	* config/arm/arm-protos.h (FL2_ARCH8_1): New.
	(FL2_FOR_ARCH8_1A): New.
	* config/arm/arm-tables.opt: Regenerate.
	* config/arm/arm.c (arm_arch8_1): New.
	(arm_option_override): Set arm_arch8_1.
	* config/arm/arm.h (TARGET_NEON_RDMA): New.
	(arm_arch8_1): Declare.
	* doc/invoke.texi (ARM Options, -march): Add "armv8.1-a" and
	"armv8.1-a+crc".
	(ARM Options, -mfpu): Fix a typo.

From-SVN: r231678
2015-12-16 11:45:25 +00:00
Jonathan Wakely 55089c2b5c libstdc++/68921 add timeout argument to futex(2)
PR libstdc++/68921
	* src/c++11/futex.cc
	(__atomic_futex_unsigned_base::_M_futex_wait_until): Use null pointer
	as timeout argument.

From-SVN: r231676
2015-12-16 10:40:04 +00:00
Kyrylo Tkachov 1408479363 [ARM] PR target/68648: Fold NOT of CONST_INT in andsi_iorsi3_notsi splitter
PR target/68648
	* config/arm/arm.md (*andsi_iorsi3_notsi): Try to simplify
	the complement of operands[3] during splitting.

	* gcc.c-torture/execute/pr68648.c: New test.

From-SVN: r231675
2015-12-16 10:01:48 +00:00
Richard Biener 8155f4d8cf re PR tree-optimization/68892 (Excessive dead loads produced by BB vectorization)
2015-12-16  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/68892
	* tree-vect-slp.c (vect_analyze_slp_cost_1): Properly compute
	cost for permuted loads.

	* gcc.dg/vect/bb-slp-pr68892.c: New testcase.

From-SVN: r231674
2015-12-16 09:21:04 +00:00
Jakub Jelinek 8ec0963c81 re PR rtl-optimization/65980 (-fcompare-debug failure building Linux kernel)
PR rtl-optimization/65980
	* jump.c (rtx_renumbered_equal_p) <case LABEL_REF>: Use
	next_nonnote_nondebug_insn instead of next_real_insn and
	skip over CODE_LABELs too.

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

From-SVN: r231672
2015-12-16 09:04:31 +01:00
Jan Hubicka 3fddb2efc2 re PR middle-end/68878 (471.omnetpp in SPEC CPU 2006 is miscompiled with LTO)
PR lto/68878
	* lto-symtab.c (lto_symtab_prevailing_virtual_decl): New function.
	* lto-symtab.h (lto_symtab_prevailing_virtual_decl): Declare.
	(lto_symtab_prevailing_decl): Use it.

From-SVN: r231671
2015-12-16 04:58:13 +00:00
Jan Hubicka f36932a2c7 symtab.c (symtab_node::fixup_same_cpp_alias_visibility): Do not copy DECL_VIRTUAL_P.
* symtab.c (symtab_node::fixup_same_cpp_alias_visibility):
	Do not copy DECL_VIRTUAL_P.

From-SVN: r231670
2015-12-16 04:56:34 +00:00
GCC Administrator 2e9208da3b Daily bump.
From-SVN: r231668
2015-12-16 00:16:13 +00:00
Martin Sebor 7e9a3ad300 struct-layout-1_generate.c: Avoid generating further fields after the first flexible array member.
gcc/testsuite/ChangeLog:
2015-12-15  Martin Sebor  <msebor@redhat.com>

	c++/42121
	c++/68478
	c++/68613
	c++/68689
	c++/68710
	* g++.dg/compat/struct-layout-1_generate.c: Avoid generating
	further fields after the first flexible array member.
	* g++.dg/ext/flexary2.C: Expect a sole flexible array member
	to be rejected.  Add a test case exercising zero-length array.
	* g++.dg/ext/flexary3.C: Expect a sole flexible array member
	to be rejected.
	* g++.dg/ext/flexary.h: New file.
	* g++.dg/ext/flexary4.C: New file.
	* g++.dg/ext/flexary5.C: New file.
	* g++.dg/ext/flexary6.C: New file.
	* g++.dg/ext/flexary7.C: New file.
	* g++.dg/ext/flexary8.C: New file.
	* g++.dg/other/dump-ada-spec-2.C: Adjust to reflect flexible
	array members.
	* g++.dg/parse/pr43765.C: Add a member to make a struct with
	a flexible array member valid.  Adjust expected error message.
	* g++.dg/torture/pr64280.C: Expect a sole flexible array member
	to be rejected.
	* g++.dg/torture/pr64312.C: Add a member to make a struct with
	a flexible array member valid.
	* g++.dg/ubsan/object-size-1.C: Adjust expected diagnostic.

gcc/cp/ChangeLog:
2015-12-15  Martin Sebor  <msebor@redhat.com>

	c++/42121
	c++/68478
	c++/68613
	c++/68689
	c++/68710
	* class.c (walk_subobject_offsets): Avoid assuming type domain
	is non-null or has an upper bound.
	(layout_class_type): Include type size in error message.
	(flexmems_t): New type.
	(field_nonempty_p, find_flexarrays, diagnose_flexarrays)
	(check_flexarrays): New	functions.
	(finish_struct_1): Call check_flexarrays.
	* decl.c (compute_array_index_type): Distinguish flexible array
	members from zero-length arrays.
	(grokdeclarator): Reject flexible array members in unions.  Avoid
	rejecting members of incomplete types that are flexible array members.
	* error.c (dump_type_suffix): Handle flexible array members with null
	upper bound.
	* init.c (perform_member_init): Same.
	* pt.c (instantiate_class_template_1): Allow flexible array members.
	(tsubst): Handle flexible array members with null upper bound.
	* typeck2.c (digest_init_r): Warn for initialization of flexible
	array members.
	(process_init_constructor_record): Handle flexible array members.

gcc/ChangeLog:
2015-12-15  Martin Sebor  <msebor@redhat.com>

	c++/42121
	* tree-chkp.c (chkp_find_bound_slots_1): Handle flexible array
	members.
	* tree.c (type_contains_placeholder_1): Avoid assuming type has
	a non-null domain or an upper bound to handle flexible array
	members.
	* varasm.c (output_constructor_regular_field):  Same.
	(output_constructor): Set min_index to integer_zero_node rather
	than null when a type has no domain to avoid crashing later.

From-SVN: r231665
2015-12-15 14:04:08 -07:00
Nathan Sidwell 1f0659546b nvptx.c (write_one_arg): Rename to ...
* config/nvptx/nvptx.c (write_one_arg): Rename to ...
	(write_arg_mode): ... here.  Update callers.
	(write_arg): Rename to ...
	(write__arg_type): ... here.  Update callers.
	(write_return_mode): New fn, broken out of ...
	(write_return): ... here.  Rename to ...
	(write_return_type): ... here.  Call it. Update callers.
	(write_fn_proto_from_insn): Use write_arg_mode and
	write_return_mode.
	(init_frame): New fn.
	(nvptx_declare_function_name): Call it for frame and varargs. Only
	emit outgoing static chain, if it's live.
	(nvptx_output_return): Use reg_names for return reg name.
	(nvptx_output_call_insn): Likewise.
	(nvptx_reorg): Mark unused hard regs too.

From-SVN: r231663
2015-12-15 20:46:37 +00:00
Jonathan Wakely b110e777bd Restore accidentally-removed volatile qualifier
* include/std/functional (_Mu<_Arg, false, false>::operator()): Restore
	accidentally-removed volatile qualifier.

From-SVN: r231660
2015-12-15 17:06:25 +00:00
Nathan Sidwell bd5d4b6538 nvptx.md (nvptx_register_operand): Don't accept and then reject subregs.
* config/nvptx/nvptx.md (nvptx_register_operand): Don't accept and
	then reject subregs.
	(nvptx_reg_or_mem_operand): Likewise.
	(nvptx_nonmemory_operand): Likewise.
	(call_insn_operand): A regular predicate, check	SYMBOL_REF_FUNCTION_P.
	(call_insn, call_value_insn): Address is not SImode.
	* config/nvptx/nvptx.h (FIXED_REGISTERS): Make return reg fixed.
	(enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove
	RETURN_REG class.
	(REGNO_REG_CLASS): Alwaus ALL_REGS.
	(PROMOTE_MODE): QI and HI are the only smaller than SI int modes.
	(HARD_FRAME_POINTER_REGNUM): Delete.
	(REGISTER_NAMES): Move earlier.
	(struct nvptx_args): Remove 'off'.
	(INIT_CUMULATIVE_ARGS): Don't initialize 'off'.
	(ELIMINABLE_REGS): Remove HARD_FRAME_POINTER_REGNUM.
	* config/nvptx/nvptx.c (arg_promotion): Delete.
	(nvptx_expand_call): Remove check for funtype being an fntype.

From-SVN: r231659
2015-12-15 17:05:01 +00:00
Jason Merrill 951c9e90e3 * hash-map.h, hash-table.h: Make copy constructors explicit.
From-SVN: r231658
2015-12-15 11:21:50 -05:00
Alessandro Fanfarillo 57e8ab2468 Add space between name and email in Changelog
From-SVN: r231657
2015-12-15 09:12:41 -07:00
Marek Polacek 2994fb91b7 re PR c/68907 (bogus warning: right-hand operand of comma expression has no effect on an atomic_int preincrement)
PR c/68907
	* c-typeck.c (build_atomic_assign): Set TREE_NO_WARNING on an
	artificial decl.

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

From-SVN: r231656
2015-12-15 15:13:49 +00:00
Ilya Verbin 4a38b02b4e c-common.c (c_common_attribute_table): Handle "omp declare target link" attribute.
gcc/c-family/
	* c-common.c (c_common_attribute_table): Handle "omp declare target
	link" attribute.
gcc/
	* cgraphunit.c (output_in_order): Do not assemble "omp declare target
	link" variables in ACCEL_COMPILER.
	* gimplify.c (gimplify_adjust_omp_clauses): Do not remove mapping of
	"omp declare target link" variables.
	* omp-low.c (scan_sharing_clauses): Do not remove mapping of "omp
	declare target link" variables.
	(add_decls_addresses_to_decl_constructor): For "omp declare target link"
	variables output address of the artificial pointer instead of address of
	the variable.  Set most significant bit of the size to mark them.
	(pass_data_omp_target_link): New pass_data.
	(pass_omp_target_link): New class.
	(find_link_var_op): New static function.
	(make_pass_omp_target_link): New function.
	* passes.def: Add pass_omp_target_link.
	* tree-pass.h (make_pass_omp_target_link): Declare.
	* varpool.c (symbol_table::output_variables): Do not assemble "omp
	declare target link" variables in ACCEL_COMPILER.
gcc/lto/
	* lto.c: Include stringpool.h and fold-const.h.
	(offload_handle_link_vars): New static function.
	(lto_main): Call offload_handle_link_vars.
libgomp/
	* libgomp.h (REFCOUNT_LINK): Define.
	(struct splay_tree_key_s): Add link_key.
	* target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
	Replace target address of the pointer with target address of newly
	mapped object in the splay tree.  Set link pointer on target to the
	device address of the mapped object.
	(gomp_unmap_vars): Restore target address of the pointer in the splay
	tree for REFCOUNT_LINK objects after unmapping.
	(gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
	declare target link" objects.
	(gomp_unload_image_from_device): Replace j with i.  Force unmap of all
	"omp declare target link" objects, which were mapped for the image.
	(gomp_exit_data): Restore target address of the pointer in the splay
	tree for REFCOUNT_LINK objects after unmapping.
	* testsuite/libgomp.c/target-link-1.c: New file.

From-SVN: r231655
2015-12-15 14:56:50 +00:00
Bernd Schmidt b7e2dd6fb4 re PR middle-end/21273 (gensupport.c:collect_insn_data doesn't consider the constraints of match_scratch)
Fix PR21273

	PR middle-end/21273
	* gensupport.c (collect_insn_data): Look for number of alternatives
	in MATCH_SCRATCH.

From-SVN: r231654
2015-12-15 14:34:01 +00:00
Jonathan Wakely 72030b28a1 Remove vestigial traces of std::tr1::bind
* include/std/functional (is_placeholder, is_bind_expression): Update
	comments.
	(_Safe_tuple_element): Replace with _Safe_tuple_element_t alias
	template.
	(_Mu): Remove vestigial TR1 return types and update coments.

From-SVN: r231653
2015-12-15 14:17:27 +00:00
Jonathan Wakely 6666731254 Fix cv-qualifiers in std::bind invocation
PR libstdc++/68912
	* include/std/functional (_Bind::operator()): Use lvalue functor to
	deduce return type.
	* testsuite/20_util/bind/68912.cc: New.

From-SVN: r231652
2015-12-15 14:17:17 +00:00
Nathan Sidwell 5c036f3f0a nvptx.h (HARD_REGNO_NREGS): Reformat.
* config/nvptx/nvptx.h (HARD_REGNO_NREGS): Reformat.
	(CANNOT_CHANGE_MODE_CLASS): Always return true.
	(HARD_REGNO_MODE_OK): Reformat.
	* config/nvptx/nvptx.md (define_expand mov<mode>): No
	RETURN_REGNUM handling here.
	* config/nvptx/nvptx.c (nvptx_function_value): Set ret_reg_mode
	here.
	(write_one_arg): No QI or HI mode args.
	(write_fn_proto_from_insn): No argument promotion here.
	(nvptx_output_return_insn): No return promotion here.
	(nvptx_output_mov_insn): No RETURN_REGNUM handling needed.
	(nvptx_output_call_insn): No return promotion here.

From-SVN: r231651
2015-12-15 13:32:48 +00:00
Alessandro Fanfarillo 1fceb21584 Fix ICE for coarray Critical inside module procedure
From-SVN: r231649
2015-12-15 06:19:21 -07:00
Martin Jambor 4a414de84a [PR 68851] Do not collect thunks in collect_callers
2015-12-15  Martin Jambor  <mjambor@suse.cz>

	PR ipa/68851
	* cgraph.c (collect_callers_of_node_1): Do not collect thunks.
	* cgraph.h (cgraph_node): Change comment of collect_callers.

testsuite/
	* g++.dg/ipa/pr68851.C: New test.

From-SVN: r231648
2015-12-15 14:07:15 +01:00
Alessandro Fanfarillo b15f027346 Add myself to MAINTAINERS
From-SVN: r231647
2015-12-15 06:01:06 -07:00
Paolo Carlini 293b1f44fa re PR c++/63506 (GCC deduces wrong return type of operator*() inside template functions)
2015-12-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/63506
	* g++.dg/cpp0x/pr63506-1.C: New.
	* g++.dg/cpp0x/pr63506-2.C: Likewise.

From-SVN: r231646
2015-12-15 10:18:13 +00:00
Olivier Hainque 2764999bbd Skip block move tests for mcpu=gr5 on Visium
testsuite/
        * gcc.target/visium/block_move.c: Skip for -mcpu=gr5.

From-SVN: r231645
2015-12-15 09:36:37 +00:00
Jakub Jelinek 3be33b6eac re PR debug/66688 (compare debug failure building Linux kernel on ppc64le)
PR tree-optimization/66688
	* tree-cfgcleanup.c (cleanup_control_flow_bb): Handle
	noreturn call followed only by debug stmts by removing
	the debug stmts and handling it the same as if the noreturn
	call is the last stmt.

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

From-SVN: r231644
2015-12-15 08:46:23 +01:00
Tim Shen 3ce38f68f9 re PR libstdc++/68863 (Regular expressions: Backreferences don't work in negative lookahead)
PR libstdc++/68863
	* include/bits/regex_executor.tcc (_Executor::_M_lookahead):
	Copy the captured content for lookahead, so that the backreferences
	inside can refer to them.
	* testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc:
	New testcase.

From-SVN: r231641
2015-12-15 04:50:29 +00:00
Patrick Palka fcb9363eb9 Fix PR c++/21802 (two-stage name lookup fails for operators)
gcc/cp/ChangeLog:

	PR c++/21802
	PR c++/53223
	* cp-tree.h (cp_tree_code_length): Declare.
	(build_min_non_dep_op_overload): Declare.
	* tree.c (cp_tree_code_length): Define.
	(build_min_non_dep_op_overload): Define.
	(build_win_non_dep_call_vec): Copy the KOENIG_LOOKUP_P flag.
	* typeck.c (build_x_indirect_ref): Use
	build_min_non_dep_op_overload when the given expression
	has been resolved to an operator overload.
	(build_x_binary_op): Likewise.
	(build_x_array_ref): Likewise.
	(build_x_unary_op): Likewise.
	(build_x_compound_expr): Likewise.
	(build_x_modify_expr): Likewise.
	* decl2.c (grok_array_decl): Likewise.
	* call.c (build_new_op_1): If during template processing we
	chose an operator overload that is a hidden friend function, set
	the call's KOENIG_LOOKUP_P flag to 1.

gcc/testsuite/ChangeLog:

	PR c++/21802
	PR c++/53223
	* g++.dg/cpp0x/pr53223.C: New test.
	* g++.dg/lookup/pr21802.C: New test.
	* g++.dg/lookup/two-stage4.C: Remove XFAIL.

From-SVN: r231640
2015-12-15 03:33:53 +00:00
Jerry DeLisle 8d3586e4e2 PR libfortran/pr68867
2015-12-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/pr68867
	* io/write.c (set_fnode_default): For kind=16, set the decimal precision
	depending on the platform binary precision, 106 or 113.

From-SVN: r231639
2015-12-15 03:16:26 +00:00